]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/panels/information/filemetadataconfigurationdialog.cpp
Don't block unmounting when terminal panel's cwd is the mountpoint
[dolphin.git] / src / panels / information / filemetadataconfigurationdialog.cpp
index efbe784a4cc7ca4da45e34880423713214c059f6..5671d34efa94f1beb4aa064445d8720df389cc2f 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2010 by Peter Penz <peter.penz@gmx.at>                  *
+ *   Copyright (C) 2010 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 "filemetadataconfigurationdialog.h"
 
+#ifndef HAVE_BALOO
 #include <kfilemetadataconfigurationwidget.h>
-#include <KLocale>
+#else
+#include <Baloo/FileMetaDataConfigWidget>
+#endif
+#include <KSharedConfig>
+#include <KLocalizedString>
 #include <QLabel>
 #include <QVBoxLayout>
+#include <KConfigGroup>
+#include <KWindowConfig>
+#include <QDialogButtonBox>
+#include <QPushButton>
 
 FileMetaDataConfigurationDialog::FileMetaDataConfigurationDialog(QWidget* parent) :
-    KDialog(parent),
+    QDialog(parent),
     m_descriptionLabel(0),
     m_configWidget(0)
 
 {
-    setCaption(i18nc("@title:window", "Configure Shown Data"));
-    setButtons(KDialog::Ok | KDialog::Cancel);
-    setDefaultButton(KDialog::Ok);
-
+    setWindowTitle(i18nc("@title:window", "Configure Shown Data"));
+    QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok|QDialogButtonBox::Cancel);
+    QVBoxLayout *mainLayout = new QVBoxLayout;
+    setLayout(mainLayout);
+    QPushButton *okButton = buttonBox->button(QDialogButtonBox::Ok);
+    okButton->setDefault(true);
+    okButton->setShortcut(Qt::CTRL | Qt::Key_Return);
+    connect(buttonBox, &QDialogButtonBox::accepted, this, &FileMetaDataConfigurationDialog::slotAccepted);
+    connect(buttonBox, &QDialogButtonBox::rejected, this, &FileMetaDataConfigurationDialog::reject);
+    buttonBox->button(QDialogButtonBox::Ok)->setDefault(true);
 
     m_descriptionLabel = new QLabel(i18nc("@label::textbox",
                                           "Select which data should "
                                           "be shown:"), this);
     m_descriptionLabel->setWordWrap(true);
 
+#ifndef HAVE_BALOO
     m_configWidget = new KFileMetaDataConfigurationWidget(this);
+#else
+    m_configWidget = new Baloo::FileMetaDataConfigWidget(this);
+#endif
+
 
     QWidget* mainWidget = new QWidget(this);
     QVBoxLayout* topLayout = new QVBoxLayout(mainWidget);
     topLayout->addWidget(m_descriptionLabel);
     topLayout->addWidget(m_configWidget);
-    setMainWidget(mainWidget);
+    mainLayout->addWidget(mainWidget);
+    mainLayout->addWidget(buttonBox);
+
 
-    const KConfigGroup dialogConfig(KSharedConfig::openConfig("dolphinrc"),
+    const KConfigGroup dialogConfig(KSharedConfig::openConfig(QStringLiteral("dolphinrc")),
                                     "FileMetaDataConfigurationDialog");
-    restoreDialogSize(dialogConfig);
+    KWindowConfig::restoreWindowSize(windowHandle(), dialogConfig);
 }
 
 FileMetaDataConfigurationDialog::~FileMetaDataConfigurationDialog()
 {
-    KConfigGroup dialogConfig(KSharedConfig::openConfig("dolphinrc"),
+    KConfigGroup dialogConfig(KSharedConfig::openConfig(QStringLiteral("dolphinrc")),
                               "FileMetaDataConfigurationDialog");
-    saveDialogSize(dialogConfig, KConfigBase::Persistent);
+    KWindowConfig::saveWindowSize(windowHandle(), dialogConfig);
 }
 
 void FileMetaDataConfigurationDialog::setItems(const KFileItemList& items)
@@ -70,14 +92,10 @@ KFileItemList FileMetaDataConfigurationDialog::items() const
     return m_configWidget->items();
 }
 
-void FileMetaDataConfigurationDialog::slotButtonClicked(int button)
+void FileMetaDataConfigurationDialog::slotAccepted()
 {
-    if (button == KDialog::Ok) {
-        m_configWidget->save();
-        accept();
-    } else {
-        KDialog::slotButtonClicked(button);
-    }
+    m_configWidget->save();
+    accept();
 }
 
 void FileMetaDataConfigurationDialog::setDescription(const QString& description)
@@ -90,4 +108,3 @@ QString FileMetaDataConfigurationDialog::description() const
     return m_descriptionLabel->text();
 }
 
-#include "filemetadataconfigurationdialog.moc"