X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/f041099904d809b5370285185fbbb2303c40b953..119f7a3f:/src/settings/additionalinfodialog.cpp diff --git a/src/settings/additionalinfodialog.cpp b/src/settings/additionalinfodialog.cpp index 9e5f170da..4d1b69c83 100644 --- a/src/settings/additionalinfodialog.cpp +++ b/src/settings/additionalinfodialog.cpp @@ -19,12 +19,19 @@ #include "additionalinfodialog.h" -#include +#include + +#include +#include #include "kitemviews/kfileitemmodel.h" #include #include #include +#ifdef HAVE_BALOO + #include +#endif + AdditionalInfoDialog::AdditionalInfoDialog(QWidget* parent, const QList& visibleRoles) : KDialog(parent), @@ -44,25 +51,38 @@ AdditionalInfoDialog::AdditionalInfoDialog(QWidget* parent, header->setWordWrap(true); // Add checkboxes + bool indexingEnabled = false; +#ifdef HAVE_BALOO + Baloo::IndexerConfig config; + indexingEnabled = config.fileIndexingEnabled(); +#endif + m_listWidget = new QListWidget(mainWidget); 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.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); const KConfigGroup dialogConfig(KSharedConfig::openConfig("dolphinrc"), "AdditionalInfoDialog"); restoreDialogSize(dialogConfig); - connect(this, SIGNAL(okClicked()), this, SLOT(slotOk())); + connect(this, &AdditionalInfoDialog::okClicked, this, &AdditionalInfoDialog::slotOk); } AdditionalInfoDialog::~AdditionalInfoDialog() @@ -91,4 +111,3 @@ void AdditionalInfoDialog::slotOk() } } -#include "additionalinfodialog.moc"