X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/1d9d83b4342031c94a55cc4e6b73ade461b7c17d..48b58f830a585b773435c9af5ee2fe8f0c7c641d:/src/settings/additionalinfodialog.cpp diff --git a/src/settings/additionalinfodialog.cpp b/src/settings/additionalinfodialog.cpp index dba1f92c7..535aa944b 100644 --- a/src/settings/additionalinfodialog.cpp +++ b/src/settings/additionalinfodialog.cpp @@ -19,80 +19,83 @@ #include "additionalinfodialog.h" -#include - -#include #include "kitemviews/kfileitemmodel.h" + +#include +#include +#include +#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) + m_listWidget(nullptr) { - 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) || - (info.requiresIndexer && indexingEnabled); + const bool enable = ((!info.requiresBaloo && !info.requiresIndexer) || + (info.requiresBaloo) || + (info.requiresIndexer && indexingEnabled)) && info.role != "text"; 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(QStringLiteral("dolphinrc")), "AdditionalInfoDialog"); + KWindowConfig::restoreWindowSize(windowHandle(), dialogConfig); } AdditionalInfoDialog::~AdditionalInfoDialog() { - KConfigGroup dialogConfig(KSharedConfig::openConfig("dolphinrc"), "AdditionalInfoDialog"); - saveDialogSize(dialogConfig, KConfigBase::Persistent); + KConfigGroup dialogConfig(KSharedConfig::openConfig(QStringLiteral("dolphinrc")), "AdditionalInfoDialog"); + 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(); +}