#include "dolphinviewactionhandler.h"
-#include <config-nepomuk.h>
+#include <config-baloo.h>
#include "settings/viewpropertiesdialog.h"
#include "views/dolphinview.h"
#include <KNewFileMenu>
#include <KSelectAction>
#include <KToggleAction>
-#include <KRun>
#include <KPropertiesDialog>
-
-#ifdef HAVE_NEPOMUK
- #include <Nepomuk/ResourceManager>
-#endif
+#include <KIcon>
#include <KDebug>
+#ifdef HAVE_BALOO
+ #include <baloo/indexerconfig.h>
+#endif
+
DolphinViewActionHandler::DolphinViewActionHandler(KActionCollection* collection, QObject* parent) :
QObject(parent),
m_actionCollection(collection),
this, SLOT(slotSortRoleChanged(QByteArray)));
connect(view, SIGNAL(zoomLevelChanged(int,int)),
this, SLOT(slotZoomLevelChanged(int,int)));
+ connect(view, SIGNAL(writeStateChanged(bool)),
+ this, SLOT(slotWriteStateChanged(bool)));
}
DolphinView* DolphinViewActionHandler::currentView()
newDirAction->setText(i18nc("@action", "Create Folder..."));
newDirAction->setShortcut(Qt::Key_F10);
newDirAction->setIcon(KIcon("folder-new"));
+ newDirAction->setEnabled(false); // Will be enabled in slotWriteStateChanged(bool) if the current URL is writable
connect(newDirAction, SIGNAL(triggered()), this, SIGNAL(createDirectory()));
// File menu
// 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 = (Nepomuk::ResourceManager::instance()->init() == 0);
- if (nepomukRunning) {
- KConfig config("nepomukserverrc");
- indexingEnabled = config.group("Service-nepomukfileindexer").readEntry("autostart", false);
- }
+#ifdef HAVE_BALOO
+ Baloo::IndexerConfig config;
+ indexingEnabled = config.fileIndexingEnabled();
#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) ||
+ const bool enable = (!info.requiresBaloo && !info.requiresIndexer) ||
+ (info.requiresBaloo) ||
(info.requiresIndexer && indexingEnabled);
action->setEnabled(enable);
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()
showHiddenFilesAction->setChecked(shown);
}
+void DolphinViewActionHandler::slotWriteStateChanged(bool isFolderWritable)
+{
+ m_actionCollection->action("create_dir")->setEnabled(isFolderWritable);
+}
+
KToggleAction* DolphinViewActionHandler::iconsModeAction()
{
KToggleAction* iconsView = m_actionCollection->add<KToggleAction>("icons");
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()));
+ }
}
}