]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/applyviewpropsjob.cpp
The opening/closing animation of subtrees flickers in combination with the sidebar...
[dolphin.git] / src / applyviewpropsjob.cpp
index 539c52ee1331108ab574edc1e35dacc994e74b55..9250226e9d5d993f9d2d244d6f4fd55298d0f37a 100644 (file)
  *   You should have received a copy of the GNU General Public License     *
  *   along with this program; if not, write to the                         *
  *   Free Software Foundation, Inc.,                                       *
- *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ *   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA            *
  ***************************************************************************/
 
 #include "applyviewpropsjob.h"
 #include "viewproperties.h"
 
-#include <kdebug.h>
-
 ApplyViewPropsJob::ApplyViewPropsJob(const KUrl& dir,
                                      const ViewProperties& viewProps) :
-    KIO::Job(false),
+    KIO::Job(),
     m_viewProps(0),
     m_progress(0),
     m_dir(dir)
 {
     m_viewProps = new ViewProperties(dir);
     m_viewProps->setViewMode(viewProps.viewMode());
-    m_viewProps->setShowHiddenFilesEnabled(viewProps.isShowHiddenFilesEnabled());
+    m_viewProps->setShowPreview(viewProps.showPreview());
+    m_viewProps->setShowHiddenFiles(viewProps.showHiddenFiles());
     m_viewProps->setSorting(viewProps.sorting());
     m_viewProps->setSortOrder(viewProps.sortOrder());
 
-    startNextJob(dir, viewProps);
+    KIO::ListJob* listJob = KIO::listRecursive(dir, KIO::HideProgressInfo);
+    connect(listJob, SIGNAL(entries(KIO::Job*, const KIO::UDSEntryList&)),
+            SLOT(slotEntries(KIO::Job*, const KIO::UDSEntryList&)));
+    addSubjob(listJob);
 }
 
 ApplyViewPropsJob::~ApplyViewPropsJob()
@@ -47,38 +49,22 @@ ApplyViewPropsJob::~ApplyViewPropsJob()
     m_viewProps = 0;
 }
 
-void ApplyViewPropsJob::processNextItem()
-{
-    emitResult();
-}
-
-void ApplyViewPropsJob::startNextJob(const KUrl& url,
-                                     const ViewProperties& viewProps)
-{
-    KIO::ListJob* listJob = KIO::listRecursive(url, false);
-    connect(listJob, SIGNAL(entries(KIO::Job*, const KIO::UDSEntryList&)),
-            SLOT(slotEntries(KIO::Job*, const KIO::UDSEntryList&)));
-    addSubjob(listJob);
-}
-
 void ApplyViewPropsJob::slotEntries(KIO::Job*, const KIO::UDSEntryList& list)
 {
     KIO::UDSEntryList::ConstIterator it = list.begin();
     const KIO::UDSEntryList::ConstIterator end = list.end();
-    for (; it != end; ++it) {
-        const KIO::UDSEntry& entry = *it;
-        const QString name = entry.stringValue(KIO::UDS_NAME);
-        if ((name != ".") && (name != ".." ) && entry.isDir()) {
+    foreach(const KIO::UDSEntry& entry, list) {
+        const QString name = entry.stringValue(KIO::UDSEntry::UDS_NAME);
+        if ((name != ".") && (name != "..") && entry.isDir()) {
             ++m_progress;
 
             KUrl url(m_dir);
             url.addPath(name);
 
+            Q_ASSERT(m_viewProps != 0);
+
             ViewProperties props(url);
-            props.setViewMode(m_viewProps->viewMode());
-            props.setShowHiddenFilesEnabled(m_viewProps->isShowHiddenFilesEnabled());
-            props.setSorting(m_viewProps->sorting());
-            props.setSortOrder(m_viewProps->sortOrder());
+            props.setDirProperties(*m_viewProps);
         }
     }
 }
@@ -86,8 +72,8 @@ void ApplyViewPropsJob::slotEntries(KIO::Job*, const KIO::UDSEntryList& list)
 void ApplyViewPropsJob::slotResult(KJob* job)
 {
     if (job->error()) {
-        setError( job->error() );
-        setErrorText( job->errorText() );
+        setError(job->error());
+        setErrorText(job->errorText());
     }
     emitResult();
 }