X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/c1bc83dfdb27b61dbd558ef21e81659f563dae81..3515582495f9aa02369a342d73c11079fcdcd654:/src/settings/additionalinfodialog.cpp diff --git a/src/settings/additionalinfodialog.cpp b/src/settings/additionalinfodialog.cpp index dba1f92c7..783f5685e 100644 --- a/src/settings/additionalinfodialog.cpp +++ b/src/settings/additionalinfodialog.cpp @@ -19,80 +19,83 @@ #include "additionalinfodialog.h" -#include +#include -#include +#include +#include #include "kitemviews/kfileitemmodel.h" +#include +#include + #include #include #include +#include +#include -#ifdef HAVE_NEPOMUK - #include +#ifdef HAVE_BALOO + #include #endif 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 nepomukRunning = false; bool indexingEnabled = false; -#ifdef HAVE_NEPOMUK - nepomukRunning = (Nepomuk2::ResourceManager::instance()->initialized()); - if (nepomukRunning) { - KConfig config("nepomukserverrc"); - indexingEnabled = config.group("Service-nepomukfileindexer").readEntry("autostart", false); - } +#ifdef HAVE_BALOO + Baloo::IndexerConfig config; + 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) { QListWidgetItem* item = new QListWidgetItem(info.translation, m_listWidget); item->setCheckState(visibleRoles.contains(info.role) ? Qt::Checked : Qt::Unchecked); - const bool enable = (!info.requiresNepomuk && !info.requiresIndexer) || - (info.requiresNepomuk && nepomukRunning) || + const bool enable = (!info.requiresBaloo && !info.requiresIndexer) || + (info.requiresBaloo) || (info.requiresIndexer && indexingEnabled); if (!enable) { item->setFlags(item->flags() & ~Qt::ItemIsEnabled); } } - - QVBoxLayout* layout = new QVBoxLayout(mainWidget); - layout->addWidget(header); layout->addWidget(m_listWidget); - layout->addStretch(1); - 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, SIGNAL(okClicked()), this, SLOT(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 @@ -100,7 +103,7 @@ QList AdditionalInfoDialog::visibleRoles() const return m_visibleRoles; } -void AdditionalInfoDialog::slotOk() +void AdditionalInfoDialog::accept() { m_visibleRoles.clear(); @@ -113,6 +116,6 @@ void AdditionalInfoDialog::slotOk() } ++index; } -} -#include "additionalinfodialog.moc" + QDialog::accept(); +}