]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/panels/information/filemetadataconfigurationdialog.cpp
Correctly position context menu of the information panel under wayland with a seconda...
[dolphin.git] / src / panels / information / filemetadataconfigurationdialog.cpp
index 04ff9a91b074dbc9c15eaeb870688d77fa5b8c6a..f3ca819b7d644736f0b8c7fbb88db28f328cbb8b 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"
 
-#include <kfilemetadataconfigurationwidget.h>
-#include <klocale.h>
+#include <Baloo/FileMetaDataConfigWidget>
+#include <KConfigGroup>
+#include <KLocalizedString>
+#include <KSharedConfig>
+#include <KWindowConfig>
+
+#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);
 
-    m_configWidget = new KFileMetaDataConfigurationWidget(this);
+    m_configWidget = new Baloo::FileMetaDataConfigWidget(this);
 
     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 +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)
@@ -90,4 +100,3 @@ QString FileMetaDataConfigurationDialog::description() const
     return m_descriptionLabel->text();
 }
 
-#include "filemetadataconfigurationdialog.moc"