]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Open the meta data configuration dialog modeless
authorPeter Penz <peter.penz19@gmail.com>
Thu, 25 Mar 2010 17:36:39 +0000 (17:36 +0000)
committerPeter Penz <peter.penz19@gmail.com>
Thu, 25 Mar 2010 17:36:39 +0000 (17:36 +0000)
svn path=/trunk/KDE/kdebase/apps/; revision=1107448

src/panels/information/informationpanelcontent.cpp
src/panels/information/informationpanelcontent.h

index 7b707db6f732ce6fb74108d9691cbc1720e250ba..b54f3cef64a03a2159bbdb806799ca5f12d16bc3 100644 (file)
@@ -293,17 +293,15 @@ void InformationPanelContent::configureSettings()
         m_preview->setVisible(isChecked);
         InformationPanelSettings::setShowPreview(isChecked);
     } else if (action == configureAction) {
-        QPointer<FileMetaDataConfigurationDialog> dialog =
-                new FileMetaDataConfigurationDialog(this);
+        FileMetaDataConfigurationDialog* dialog = new FileMetaDataConfigurationDialog();
         dialog->setDescription(i18nc("@label::textbox",
-                               "Configure which data should be shown in the Information Panel."));
+                                     "Configure which data should be shown in the tooltip."));
         dialog->setItems(m_metaDataWidget->items());
-        dialog->exec();
-        delete dialog;
-    }
-
-    if (!m_item.isNull() && m_item.nepomukUri().isValid()) {
-        showItem(m_item);
+        dialog->setAttribute(Qt::WA_DeleteOnClose);
+        dialog->show();
+        dialog->raise();
+        dialog->activateWindow();
+        connect(dialog, SIGNAL(destroyed()), this, SLOT(refreshMetaData()));
     }
 }
 
@@ -347,6 +345,13 @@ void InformationPanelContent::slotPlayingStopped()
     m_preview->setVisible(true);
 }
 
+void InformationPanelContent::refreshMetaData()
+{
+    if (!m_item.isNull() && m_item.nepomukUri().isValid()) {
+        showItem(m_item);
+    }
+}
+
 bool InformationPanelContent::applyPlace(const KUrl& url)
 {
     KFilePlacesModel* placesModel = DolphinSettings::instance().placesModel();
index 92a1c62d7bd849e816d6f4469e7a792694092d9c..dbd31a5429c96661b5fd8286f64e62df94beb03c 100644 (file)
@@ -96,6 +96,12 @@ private slots:
     void slotPlayingStarted();
     void slotPlayingStopped();
 
+    /**
+     * Is invoked after the file meta data configuration dialog has been
+     * closed and refreshs the visibility of the meta data.
+     */
+    void refreshMetaData();
+
 private:
     /**
      * Checks whether the an URL is repesented by a place. If yes,