┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2010-03-25 17:36:39 +0000
committerPeter Penz <[email protected]>2010-03-25 17:36:39 +0000
commitdd743f9d98244ced35f80aeb6349630156f796be (patch)
treed224c3b9c2ed292da579e15181f38d6d22895abe /src
parenta3cc21210007c5f27a3e878645696335cb0f084b (diff)
Open the meta data configuration dialog modeless
svn path=/trunk/KDE/kdebase/apps/; revision=1107448
Diffstat (limited to 'src')
-rw-r--r--src/panels/information/informationpanelcontent.cpp23
-rw-r--r--src/panels/information/informationpanelcontent.h6
2 files changed, 20 insertions, 9 deletions
diff --git a/src/panels/information/informationpanelcontent.cpp b/src/panels/information/informationpanelcontent.cpp
index 7b707db6f..b54f3cef6 100644
--- a/src/panels/information/informationpanelcontent.cpp
+++ b/src/panels/information/informationpanelcontent.cpp
@@ -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();
diff --git a/src/panels/information/informationpanelcontent.h b/src/panels/information/informationpanelcontent.h
index 92a1c62d7..dbd31a542 100644
--- a/src/panels/information/informationpanelcontent.h
+++ b/src/panels/information/informationpanelcontent.h
@@ -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,