X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/e242d9548d11d92568a648efece5ff6c280b36cd..3515582495f9aa02369a342d73c11079fcdcd654:/src/settings/additionalinfodialog.cpp diff --git a/src/settings/additionalinfodialog.cpp b/src/settings/additionalinfodialog.cpp index 9cce603f5..783f5685e 100644 --- a/src/settings/additionalinfodialog.cpp +++ b/src/settings/additionalinfodialog.cpp @@ -21,11 +21,17 @@ #include -#include +#include +#include #include "kitemviews/kfileitemmodel.h" +#include +#include + #include #include #include +#include +#include #ifdef HAVE_BALOO #include @@ -33,21 +39,21 @@ AdditionalInfoDialog::AdditionalInfoDialog(QWidget* parent, const QList& visibleRoles) : - KDialog(parent), + QDialog(parent), m_visibleRoles(visibleRoles), m_listWidget(0) { - setCaption(i18nc("@title:window", "Additional Information")); - setButtons(Ok | Cancel); - setDefaultButton(Ok); + setWindowTitle(i18nc("@title:window", "Additional Information")); + setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Minimum); - QWidget* mainWidget = new QWidget(this); - mainWidget->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Minimum); + auto layout = new QVBoxLayout(this); + setLayout(layout); // Add header - QLabel* header = new QLabel(mainWidget); + auto header = new QLabel(this); header->setText(i18nc("@label", "Select which additional information should be shown:")); header->setWordWrap(true); + layout->addWidget(header); // Add checkboxes bool indexingEnabled = false; @@ -56,7 +62,7 @@ AdditionalInfoDialog::AdditionalInfoDialog(QWidget* parent, indexingEnabled = config.fileIndexingEnabled(); #endif - m_listWidget = new QListWidget(mainWidget); + m_listWidget = new QListWidget(this); m_listWidget->setSelectionMode(QAbstractItemView::NoSelection); const QList rolesInfo = KFileItemModel::rolesInformation(); foreach (const KFileItemModel::RoleInfo& info, rolesInfo) { @@ -71,23 +77,25 @@ AdditionalInfoDialog::AdditionalInfoDialog(QWidget* parent, item->setFlags(item->flags() & ~Qt::ItemIsEnabled); } } - - QVBoxLayout* layout = new QVBoxLayout(mainWidget); - layout->addWidget(header); layout->addWidget(m_listWidget); - setMainWidget(mainWidget); + auto buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this); + connect(buttonBox, &QDialogButtonBox::accepted, this, &AdditionalInfoDialog::accept); + connect(buttonBox, &QDialogButtonBox::rejected, this, &AdditionalInfoDialog::reject); + layout->addWidget(buttonBox); - const KConfigGroup dialogConfig(KSharedConfig::openConfig("dolphinrc"), "AdditionalInfoDialog"); - restoreDialogSize(dialogConfig); + auto okButton = buttonBox->button(QDialogButtonBox::Ok); + okButton->setShortcut(Qt::CTRL | Qt::Key_Return); + okButton->setDefault(true); - connect(this, &AdditionalInfoDialog::okClicked, this, &AdditionalInfoDialog::slotOk); + const KConfigGroup dialogConfig(KSharedConfig::openConfig("dolphinrc"), "AdditionalInfoDialog"); + KWindowConfig::restoreWindowSize(windowHandle(), dialogConfig); } AdditionalInfoDialog::~AdditionalInfoDialog() { KConfigGroup dialogConfig(KSharedConfig::openConfig("dolphinrc"), "AdditionalInfoDialog"); - saveDialogSize(dialogConfig, KConfigBase::Persistent); + KWindowConfig::saveWindowSize(windowHandle(), dialogConfig); } QList AdditionalInfoDialog::visibleRoles() const @@ -95,7 +103,7 @@ QList AdditionalInfoDialog::visibleRoles() const return m_visibleRoles; } -void AdditionalInfoDialog::slotOk() +void AdditionalInfoDialog::accept() { m_visibleRoles.clear(); @@ -108,5 +116,6 @@ void AdditionalInfoDialog::slotOk() } ++index; } -} + QDialog::accept(); +}