┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/panels/information/informationpanelcontent.cpp1
-rw-r--r--src/panels/information/metadataconfigurationdialog.cpp125
-rw-r--r--src/panels/information/metadataconfigurationdialog.h (renamed from src/panels/information/metadataconfigurationdialog_p.h)10
-rw-r--r--src/panels/information/metadatawidget.cpp8
4 files changed, 82 insertions, 62 deletions
diff --git a/src/panels/information/informationpanelcontent.cpp b/src/panels/information/informationpanelcontent.cpp
index dfa88be17..41f9e2c5a 100644
--- a/src/panels/information/informationpanelcontent.cpp
+++ b/src/panels/information/informationpanelcontent.cpp
@@ -48,6 +48,7 @@
#include "dolphin_informationpanelsettings.h"
#include "settings/dolphinsettings.h"
#include "metadatawidget.h"
+#include "metadataconfigurationdialog.h"
#include "phononwidget.h"
#include "pixmapviewer.h"
diff --git a/src/panels/information/metadataconfigurationdialog.cpp b/src/panels/information/metadataconfigurationdialog.cpp
index aa9ae5d96..a725e976f 100644
--- a/src/panels/information/metadataconfigurationdialog.cpp
+++ b/src/panels/information/metadataconfigurationdialog.cpp
@@ -17,7 +17,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
-#include "metadataconfigurationdialog_p.h"
+#include "metadataconfigurationdialog.h"
#include "metadatawidget.h"
@@ -35,62 +35,31 @@
#include <QListWidget>
#include <QVBoxLayout>
-MetaDataConfigurationDialog::MetaDataConfigurationDialog(const KUrl& url,
- QWidget* parent,
- Qt::WFlags flags) :
- KDialog(parent, flags),
- m_url(url),
- m_metaDataList(0)
+class MetaDataConfigurationDialog::Private
{
- setCaption(i18nc("@title:window", "Configure Shown Data"));
- setButtons(KDialog::Ok | KDialog::Cancel);
- setDefaultButton(KDialog::Ok);
-
- QWidget* mainWidget = new QWidget(this);
- QVBoxLayout* topLayout = new QVBoxLayout(mainWidget);
-
- QLabel* label = new QLabel(i18nc("@label:textbox",
- "Configure which data should "
- "be shown."), this);
+public:
+ Private(MetaDataConfigurationDialog* parent);
+ ~Private();
- m_metaDataList = new QListWidget(this);
- m_metaDataList->setSelectionMode(QAbstractItemView::NoSelection);
+ void loadMetaData();
- topLayout->addWidget(label);
- topLayout->addWidget(m_metaDataList);
+ KUrl m_url;
+ QListWidget* m_metaDataList;
- setMainWidget(mainWidget);
+private:
+ MetaDataConfigurationDialog* const q;
+};
- loadMetaData();
-}
-
-MetaDataConfigurationDialog::~MetaDataConfigurationDialog()
+MetaDataConfigurationDialog::Private::Private(MetaDataConfigurationDialog* parent) :
+ q(parent)
{
}
-void MetaDataConfigurationDialog::slotButtonClicked(int button)
+MetaDataConfigurationDialog::Private::~Private()
{
- if (button == KDialog::Ok) {
- KConfig config("kmetainformationrc", KConfig::NoGlobals);
- KConfigGroup showGroup = config.group("Show");
-
- const int count = m_metaDataList->count();
- for (int i = 0; i < count; ++i) {
- QListWidgetItem* item = m_metaDataList->item(i);
- const bool show = (item->checkState() == Qt::Checked);
- const QString key = item->data(Qt::UserRole).toString();
- showGroup.writeEntry(key, show);
- }
-
- showGroup.sync();
-
- accept();
- } else {
- KDialog::slotButtonClicked(button);
- }
}
-void MetaDataConfigurationDialog::loadMetaData()
+void MetaDataConfigurationDialog::Private::loadMetaData()
{
KConfig config("kmetainformationrc", KConfig::NoGlobals);
KConfigGroup settings = config.group("Show");
@@ -152,4 +121,66 @@ void MetaDataConfigurationDialog::loadMetaData()
#endif
}
-#include "metadataconfigurationdialog_p.moc"
+MetaDataConfigurationDialog::MetaDataConfigurationDialog(const KUrl& url,
+ QWidget* parent,
+ Qt::WFlags flags) :
+ KDialog(parent, flags),
+ d(new Private(this))
+{
+ d->m_url = url;
+
+ setCaption(i18nc("@title:window", "Configure Shown Data"));
+ setButtons(KDialog::Ok | KDialog::Cancel);
+ setDefaultButton(KDialog::Ok);
+
+ QWidget* mainWidget = new QWidget(this);
+ QVBoxLayout* topLayout = new QVBoxLayout(mainWidget);
+
+ QLabel* label = new QLabel(i18nc("@label:textbox",
+ "Configure which data should "
+ "be shown."), this);
+
+ d->m_metaDataList = new QListWidget(this);
+ d->m_metaDataList->setSelectionMode(QAbstractItemView::NoSelection);
+
+ topLayout->addWidget(label);
+ topLayout->addWidget(d->m_metaDataList);
+
+ setMainWidget(mainWidget);
+
+ d->loadMetaData();
+
+ const KConfigGroup dialogConfig(KGlobal::config(), "Nepomuk MetaDataConfigurationDialog");
+ restoreDialogSize(dialogConfig);
+}
+
+MetaDataConfigurationDialog::~MetaDataConfigurationDialog()
+{
+ KConfigGroup dialogConfig(KGlobal::config(), "Nepomuk MetaDataConfigurationDialog");
+ saveDialogSize(dialogConfig, KConfigBase::Persistent);
+}
+
+void MetaDataConfigurationDialog::slotButtonClicked(int button)
+{
+ if (button == KDialog::Ok) {
+ KConfig config("kmetainformationrc", KConfig::NoGlobals);
+ KConfigGroup showGroup = config.group("Show");
+
+ const int count = d->m_metaDataList->count();
+ for (int i = 0; i < count; ++i) {
+ QListWidgetItem* item = d->m_metaDataList->item(i);
+ const bool show = (item->checkState() == Qt::Checked);
+ const QString key = item->data(Qt::UserRole).toString();
+ showGroup.writeEntry(key, show);
+ }
+
+ showGroup.sync();
+
+ accept();
+ } else {
+ KDialog::slotButtonClicked(button);
+ }
+}
+
+
+#include "metadataconfigurationdialog.moc"
diff --git a/src/panels/information/metadataconfigurationdialog_p.h b/src/panels/information/metadataconfigurationdialog.h
index b566bbde3..18f0ecde6 100644
--- a/src/panels/information/metadataconfigurationdialog_p.h
+++ b/src/panels/information/metadataconfigurationdialog.h
@@ -21,9 +21,6 @@
#define META_DATA_CONFIGURATION_DIALOG_H
#include <kdialog.h>
-#include <kurl.h>
-
-class QListWidget;
/**
* @brief Dialog which allows to configure which meta data should be shown.
@@ -42,11 +39,8 @@ protected slots:
virtual void slotButtonClicked(int button);
private:
- void loadMetaData();
-
-private:
- KUrl m_url;
- QListWidget* m_metaDataList;
+ class Private;
+ Private* d;
};
#endif
diff --git a/src/panels/information/metadatawidget.cpp b/src/panels/information/metadatawidget.cpp
index 090a23cb2..3ba964a26 100644
--- a/src/panels/information/metadatawidget.cpp
+++ b/src/panels/information/metadatawidget.cpp
@@ -20,7 +20,7 @@
#include "metadatawidget.h"
-#include "metadataconfigurationdialog_p.h"
+#include "metadataconfigurationdialog.h"
#include <kconfig.h>
#include <kconfiggroup.h>
@@ -604,21 +604,15 @@ void MetaDataWidget::setItems(const KFileItemList& items)
void MetaDataWidget::openConfigurationDialog()
{
- if (d->m_fileItems.count() > 1) {
- return;
- }
const KUrl url = d->m_fileItems[0].nepomukUri();
if (!url.isValid()) {
return;
}
MetaDataConfigurationDialog dialog(url, this, Qt::Dialog);
- KConfigGroup dialogConfig(KGlobal::config(), "Nepomuk MetaDataConfigurationDialog");
- dialog.restoreDialogSize(dialogConfig);
if (dialog.exec() == KDialog::Accepted) {
d->updateRowsVisibility();
}
- dialog.saveDialogSize(dialogConfig, KConfigBase::Persistent);
}
unsigned int MetaDataWidget::rating() const