#include "dolphinviewactionhandler.h"
+#include <config-nepomuk.h>
+
#include "settings/viewpropertiesdialog.h"
#include "views/dolphinview.h"
#include "views/zoomlevelinfo.h"
#include <KNewFileMenu>
#include <KSelectAction>
#include <KToggleAction>
-#include <KRun>
#include <KPropertiesDialog>
+#include <KIcon>
+
+#ifdef HAVE_NEPOMUK
+ #include <Nepomuk2/ResourceManager>
+#endif
#include <KDebug>
// Well, it's the File menu in dolphinmainwindow and the Edit menu in dolphinpart... :)
propertiesAction->setText( i18nc("@action:inmenu File", "Properties") );
propertiesAction->setIcon(KIcon("document-properties"));
- propertiesAction->setShortcut(Qt::ALT | Qt::Key_Return);
+ propertiesAction->setShortcuts(QList<QKeySequence>() << Qt::ALT + Qt::Key_Return << Qt::ALT + Qt::Key_Enter);
connect(propertiesAction, SIGNAL(triggered()), SLOT(slotProperties()));
// View menu
KActionMenu* groupMenu = 0;
QActionGroup* groupMenuGroup = 0;
+ 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", true);
+ }
+#endif
+
const QList<KFileItemModel::RoleInfo> rolesInfo = KFileItemModel::rolesInformation();
foreach (const KFileItemModel::RoleInfo& info, rolesInfo) {
- if (!isSortGroup && info.role == "name") {
- // It should not be possible to hide the "name" role
+ if (!isSortGroup && info.role == "text") {
+ // It should not be possible to hide the "text" role
continue;
}
action->setText(info.translation);
action->setData(info.role);
+ const bool enable = (!info.requiresNepomuk && !info.requiresIndexer) ||
+ (info.requiresNepomuk && nepomukRunning) ||
+ (info.requiresIndexer && indexingEnabled);
+ action->setEnabled(enable);
+
if (isSortGroup) {
m_sortByActions.insert(info.role, action);
} else {
void DolphinViewActionHandler::slotTrashActivated(Qt::MouseButtons, Qt::KeyboardModifiers modifiers)
{
emit actionBeingHandled();
- // Note: kde3's konq_mainwindow.cpp used to check
- // reason == KAction::PopupMenuActivation && ...
- // but this isn't supported anymore
- if (modifiers & Qt::ShiftModifier) {
- m_currentView->deleteSelectedItems();
- } else {
- m_currentView->trashSelectedItems();
- }
+ m_currentView->trashSelectedItems();
}
void DolphinViewActionHandler::slotDeleteItems()
if (action) {
action->setChecked(true);
- QAction* sortByMenu = m_actionCollection->action("sort");
- sortByMenu->setIcon(KIcon(action->icon()));
+ if (!action->icon().isNull()) {
+ QAction* sortByMenu = m_actionCollection->action("sort");
+ sortByMenu->setIcon(KIcon(action->icon()));
+ }
}
}