]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/panels/information/informationpanel.cpp
dolphin: convert panels/ and filterbar to qt signal/slot syntax
[dolphin.git] / src / panels / information / informationpanel.cpp
index 81afc1487532b9f4160ce0655dda31effbbb821c..4ad1276a52dbdf498d11230c85ee9847f8cfb167 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2006-2009 by Peter Penz <peter.penz@gmx.at>             *
+ *   Copyright (C) 2006-2009 by Peter Penz <peter.penz19@gmail.com>        *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
  *   it under the terms of the GNU General Public License as published by  *
 
 #include "informationpanelcontent.h"
 #include <KIO/Job>
-#include <kdirnotify.h>
+#include <KIO/JobUiDelegate>
+#include <KJobWidgets>
+#include <KDirNotify>
 #include <QApplication>
 #include <QShowEvent>
 #include <QVBoxLayout>
+#include <QTimer>
 
 InformationPanel::InformationPanel(QWidget* parent) :
     Panel(parent),
@@ -48,21 +51,13 @@ InformationPanel::~InformationPanel()
 
 void InformationPanel::setSelection(const KFileItemList& selection)
 {
-    if (!isVisible()) {
-        return;
-    }
+    m_selection = selection;
+    m_fileItem = KFileItem();
 
-    if ((selection.count() == 0) && (m_selection.count() == 0)) {
-        // The selection has not really changed, only the current index.
-        // QItemSelectionModel emits a signal in this case and it is less
-        // expensive doing the check this way instead of patching
-        // DolphinView::emitSelectionChanged().
+    if (!isVisible()) {
         return;
     }
 
-    m_selection = selection;
-    m_fileItem = KFileItem();
-
     const int count = selection.count();
     if (count == 0) {
         if (!isEqualToShownUrl(url())) {
@@ -190,8 +185,11 @@ void InformationPanel::showItemInfo()
             // No item is hovered and no selection has been done: provide
             // an item for the currently shown directory.
             m_folderStatJob = KIO::stat(url(), KIO::HideProgressInfo);
-            connect(m_folderStatJob, SIGNAL(result(KJob*)),
-                    this, SLOT(slotFolderStatFinished(KJob*)));
+            if (m_folderStatJob->ui()) {
+                KJobWidgets::setWindow(m_folderStatJob, this);
+            }
+            connect(m_folderStatJob, &KIO::Job::result,
+                    this, &InformationPanel::slotFolderStatFinished);
         } else {
             m_content->showItem(item);
         }
@@ -326,37 +324,38 @@ void InformationPanel::init()
     m_infoTimer = new QTimer(this);
     m_infoTimer->setInterval(300);
     m_infoTimer->setSingleShot(true);
-    connect(m_infoTimer, SIGNAL(timeout()),
-            this, SLOT(slotInfoTimeout()));
+    connect(m_infoTimer, &QTimer::timeout,
+            this, &InformationPanel::slotInfoTimeout);
 
     m_urlChangedTimer = new QTimer(this);
     m_urlChangedTimer->setInterval(200);
     m_urlChangedTimer->setSingleShot(true);
-    connect(m_urlChangedTimer, SIGNAL(timeout()),
-            this, SLOT(showItemInfo()));
+    connect(m_urlChangedTimer, &QTimer::timeout,
+            this, &InformationPanel::showItemInfo);
 
     m_resetUrlTimer = new QTimer(this);
     m_resetUrlTimer->setInterval(1000);
     m_resetUrlTimer->setSingleShot(true);
-    connect(m_resetUrlTimer, SIGNAL(timeout()),
-            this, SLOT(reset()));
+    connect(m_resetUrlTimer, &QTimer::timeout,
+            this, &InformationPanel::reset);
 
     Q_ASSERT(m_urlChangedTimer->interval() < m_infoTimer->interval());
     Q_ASSERT(m_urlChangedTimer->interval() < m_resetUrlTimer->interval());
 
     org::kde::KDirNotify* dirNotify = new org::kde::KDirNotify(QString(), QString(),
                                                                QDBusConnection::sessionBus(), this);
-    connect(dirNotify, SIGNAL(FileRenamed(QString, QString)), SLOT(slotFileRenamed(QString, QString)));
-    connect(dirNotify, SIGNAL(FilesAdded(QString)), SLOT(slotFilesAdded(QString)));
-    connect(dirNotify, SIGNAL(FilesChanged(QStringList)), SLOT(slotFilesChanged(QStringList)));
-    connect(dirNotify, SIGNAL(FilesRemoved(QStringList)), SLOT(slotFilesRemoved(QStringList)));
-    connect(dirNotify, SIGNAL(enteredDirectory(QString)), SLOT(slotEnteredDirectory(QString)));
-    connect(dirNotify, SIGNAL(leftDirectory(QString)), SLOT(slotLeftDirectory(QString)));
+    connect(dirNotify, &OrgKdeKDirNotifyInterface::FileRenamed, this, &InformationPanel::slotFileRenamed);
+    connect(dirNotify, &OrgKdeKDirNotifyInterface::FilesAdded, this, &InformationPanel::slotFilesAdded);
+    connect(dirNotify, &OrgKdeKDirNotifyInterface::FilesChanged, this, &InformationPanel::slotFilesChanged);
+    connect(dirNotify, &OrgKdeKDirNotifyInterface::FilesRemoved, this, &InformationPanel::slotFilesRemoved);
+    connect(dirNotify, &OrgKdeKDirNotifyInterface::enteredDirectory, this, &InformationPanel::slotEnteredDirectory);
+    connect(dirNotify, &OrgKdeKDirNotifyInterface::leftDirectory, this, &InformationPanel::slotLeftDirectory);
 
     m_content = new InformationPanelContent(this);
-    connect(m_content, SIGNAL(urlActivated(KUrl)), this, SIGNAL(urlActivated(KUrl)));
+    connect(m_content, &InformationPanelContent::urlActivated, this, &InformationPanel::urlActivated);
 
     QVBoxLayout* layout = new QVBoxLayout(this);
+    layout->setContentsMargins(0, 0, 0, 0);
     layout->addWidget(m_content);
 
     m_initialized = true;