]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/panels/information/filemetadataconfigurationdialog.cpp
Merge branch 'Applications/18.08'
[dolphin.git] / src / panels / information / filemetadataconfigurationdialog.cpp
index 4ad9066c4eb09097f132b296b97d5057531064e0..f3ca819b7d644736f0b8c7fbb88db28f328cbb8b 100644 (file)
 
 #include "filemetadataconfigurationdialog.h"
 
-#ifndef HAVE_BALOO
-#include <kfilemetadataconfigurationwidget.h>
-#else
-#include <baloo/filemetadataconfigwidget.h>
-#endif
+#include <Baloo/FileMetaDataConfigWidget>
+#include <KConfigGroup>
+#include <KLocalizedString>
+#include <KSharedConfig>
+#include <KWindowConfig>
 
-#include <KLocale>
+#include <QDialogButtonBox>
 #include <QLabel>
+#include <QPushButton>
 #include <QVBoxLayout>
 
 FileMetaDataConfigurationDialog::FileMetaDataConfigurationDialog(QWidget* parent) :
-    KDialog(parent),
-    m_descriptionLabel(0),
-    m_configWidget(0)
+    QDialog(parent),
+    m_descriptionLabel(nullptr),
+    m_configWidget(nullptr)
 
 {
-    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)
@@ -79,14 +84,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)
@@ -99,4 +100,3 @@ QString FileMetaDataConfigurationDialog::description() const
     return m_descriptionLabel->text();
 }
 
-#include "filemetadataconfigurationdialog.moc"