[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdebase/kioslave/media/kdedmodule
From:       Kévin Ottens <ervin () ipsquad ! net>
Date:       2005-02-15 14:53:19
Message-ID: 20050215145319.482611CFD3 () office ! kde ! org
[Download RAW message or body]

CVS commit by ervin: 

When the medium state change, we emit a FilesRemoved signal to force flushing
the directory caches that may exist. The folder mimetype changed... but the
whole tree too, that's why it must be considered as a brand new folder.

BUGS:99296


  M +5 -5      medialist.cpp   1.3
  M +2 -1      medialist.h   1.4
  M +8 -3      mediamanager.cpp   1.13
  M +2 -1      mediamanager.h   1.8


--- kdebase/kioslave/media/kdedmodule/medialist.cpp  #1.2:1.3
@@ -150,5 +150,5 @@ bool MediaList::changeMediumState(const 
         }
 
-        emit mediumStateChanged(m->id(), m->name());
+        emit mediumStateChanged(m->id(), m->name(), !m->needMounting());
         return true;
 }
@@ -185,5 +185,5 @@ bool MediaList::changeMediumState(const 
         }
 
-        emit mediumStateChanged(id, medium->name());
+        emit mediumStateChanged(id, medium->name(), !medium->needMounting());
         return true;
 }
@@ -223,5 +223,5 @@ bool MediaList::changeMediumState(const 
         }
 
-        emit mediumStateChanged(id, medium->name());
+        emit mediumStateChanged(id, medium->name(), !medium->needMounting());
         return true;
 }
@@ -257,5 +257,5 @@ bool MediaList::changeMediumState(const 
         }
 
-        emit mediumStateChanged(id, medium->name());
+        emit mediumStateChanged(id, medium->name(), !medium->needMounting());
         return true;
 }
@@ -271,5 +271,5 @@ bool MediaList::setUserLabel(const QStri
         medium->setUserLabel(label);
 
-        emit mediumStateChanged(medium->id(), name);
+        emit mediumStateChanged(medium->id(), name, !medium->needMounting());
         return true;
 }

--- kdebase/kioslave/media/kdedmodule/medialist.h  #1.3:1.4
@@ -63,5 +63,6 @@ signals:
         void mediumAdded(const QString &id, const QString &name);
         void mediumRemoved(const QString &id, const QString &name);
-        void mediumStateChanged(const QString &id, const QString &name);
+        void mediumStateChanged(const QString &id, const QString &name,
+                                bool mounted);
 
 private:

--- kdebase/kioslave/media/kdedmodule/mediamanager.cpp  #1.12:1.13
@@ -47,6 +47,6 @@ MediaManager::MediaManager(const QCStrin
                  SLOT(slotMediumRemoved(const QString&, const QString&)) );
         connect( &m_mediaList,
-                 SIGNAL(mediumStateChanged(const QString&, const QString&)),
-                 SLOT(slotMediumChanged(const QString&, const QString&)) );
+                 SIGNAL(mediumStateChanged(const QString&, const QString&, bool)),
+                 SLOT(slotMediumChanged(const QString&, const QString&, bool)) );
 
         m_backends.setAutoDelete(true);
@@ -187,9 +187,14 @@ void MediaManager::slotMediumRemoved(con
 }
 
-void MediaManager::slotMediumChanged(const QString &/*id*/, const QString &name)
+void MediaManager::slotMediumChanged(const QString &/*id*/, const QString &name,
+                                     bool mounted)
 {
         kdDebug() << "MediaManager::slotMediumChanged: " << name << endl;
 
         KDirNotify_stub notifier("*", "*");
+        if (!mounted)
+        {
+                notifier.FilesRemoved( KURL("media:/"+name) );
+        }
         notifier.FilesChanged( KURL("media:/"+name) );
 

--- kdebase/kioslave/media/kdedmodule/mediamanager.h  #1.7:1.8
@@ -58,5 +58,6 @@ private slots:
         void slotMediumAdded(const QString &id, const QString &name);
         void slotMediumRemoved(const QString &id, const QString &name);
-        void slotMediumChanged(const QString &id, const QString &name);
+        void slotMediumChanged(const QString &id, const QString &name,
+                               bool mounted);
 
 private:


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic