#include "additionalinfodialog.h"
+#include <config-baloo.h>
+
#include <KLocale>
#include "kitemviews/kfileitemmodel.h"
#include <QCheckBox>
#include <QLabel>
#include <QVBoxLayout>
+#ifdef HAVE_BALOO
+ #include <baloo/indexerconfig.h>
+#endif
+
AdditionalInfoDialog::AdditionalInfoDialog(QWidget* parent,
const QList<QByteArray>& visibleRoles) :
KDialog(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<KFileItemModel::RoleInfo> 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()