#include <kaction.h>
#include <kactioncollection.h>
-#include <kdebug.h>
#include <klocale.h>
#include <ktoggleaction.h>
+#include <krun.h>
+#include <kpropertiesdialog.h>
DolphinViewActionHandler::DolphinViewActionHandler(KActionCollection* collection, QObject* parent)
: QObject(parent),
// can be used for deleting the file (#76016). It needs to be a separate action
// so that the Edit menu isn't affected.
KAction* deleteWithTrashShortcut = m_actionCollection->addAction("delete_shortcut");
- // TODO after message freeze, a more descriptive text, for the shortcuts editor.
- deleteWithTrashShortcut->setText(i18nc("@action:inmenu File", "Delete"));
+ // The descriptive text is just for the shortcuts editor.
+ deleteWithTrashShortcut->setText(i18nc("@action:inmenu File", "Delete (using shortcut for Trash)"));
deleteWithTrashShortcut->setShortcut(QKeySequence::Delete);
deleteWithTrashShortcut->setEnabled(false);
connect(deleteWithTrashShortcut, SIGNAL(triggered()), this, SLOT(slotDeleteItems()));
+ KAction *propertiesAction = m_actionCollection->addAction( "properties" );
+ // Well, it's the File menu in dolphinmainwindow and the Edit menu in dolphinpart... :)
+ propertiesAction->setText( i18nc("@action:inmenu File", "Properties") );
+ propertiesAction->setShortcut(Qt::ALT | Qt::Key_Return);
+ connect(propertiesAction, SIGNAL(triggered()), SLOT(slotProperties()));
+
// View menu
QActionGroup* viewModeActions = new QActionGroup(this);
KAction* adjustViewProps = m_actionCollection->addAction("view_properties");
adjustViewProps->setText(i18nc("@action:inmenu View", "Adjust View Properties..."));
connect(adjustViewProps, SIGNAL(triggered()), this, SLOT(slotAdjustViewProperties()));
+
+ // Tools menu
+
+ QAction* findFile = m_actionCollection->addAction("find_file");
+ findFile->setText(i18nc("@action:inmenu Tools", "Find File..."));
+ findFile->setShortcut(Qt::CTRL | Qt::Key_F);
+ findFile->setIcon(KIcon("edit-find"));
+ connect(findFile, SIGNAL(triggered()), this, SLOT(slotFindFile()));
}
QActionGroup* DolphinViewActionHandler::createAdditionalInformationActionGroup()
ViewPropertiesDialog dlg(m_currentView);
dlg.exec();
}
+
+void DolphinViewActionHandler::slotFindFile()
+{
+ KRun::run("kfind", m_currentView->url(), m_currentView->window());
+}
+
+void DolphinViewActionHandler::slotProperties()
+{
+ KPropertiesDialog* dialog = 0;
+ const KFileItemList list = m_currentView->selectedItems();
+ if (list.isEmpty()) {
+ const KUrl url = m_currentView->url();
+ dialog = new KPropertiesDialog(url, m_currentView);
+ } else {
+ dialog = new KPropertiesDialog(list, m_currentView);
+ }
+
+ dialog->setAttribute(Qt::WA_DeleteOnClose);
+ dialog->show();
+ dialog->raise();
+ dialog->activateWindow();
+}