]> cloud.milkyroute.net Git - dolphin.git/commitdiff
There is no need to burden DolphinMainWindow with internals of the context-menu.
authorPeter Penz <peter.penz19@gmail.com>
Fri, 17 Sep 2010 21:16:56 +0000 (21:16 +0000)
committerPeter Penz <peter.penz19@gmail.com>
Fri, 17 Sep 2010 21:16:56 +0000 (21:16 +0000)
CCMAIL: markg85@gmail.com

svn path=/trunk/KDE/kdebase/apps/; revision=1176513

src/dolphincontextmenu.cpp
src/dolphincontextmenu.h
src/dolphinmainwindow.cpp
src/dolphinmainwindow.h

index 7d195df6694d6130763de2bcb250e479ff6c9e21..8fbcbf3f58d6e3317fb0e6c84625a95d8623e4c2 100644 (file)
@@ -65,7 +65,8 @@ DolphinContextMenu::DolphinContextMenu(DolphinMainWindow* parent,
     m_customActions(),
     m_popup(new KMenu(m_mainWindow)),
     m_showDeleteCommand(false),
-    m_shiftIsPressed(false)
+    m_shiftPressed(false),
+    m_keyInfo()
 {
     // The context menu either accesses the URLs of the selected items
     // or the items itself. To increase the performance both lists are cached.
@@ -74,6 +75,12 @@ DolphinContextMenu::DolphinContextMenu(DolphinMainWindow* parent,
     m_selectedItems = view->selectedItems();
 
     m_showDeleteCommand = KGlobal::config()->group("KDE").readEntry("ShowDeleteCommand", false);
+
+    if (m_keyInfo.isKeyPressed(Qt::Key_Shift) || m_keyInfo.isKeyLatched(Qt::Key_Shift)) {
+        m_shiftPressed = true;
+    }
+
+    connect(&m_keyInfo, SIGNAL(keyPressed(Qt::Key, bool)), this, SLOT(deleteOrTrashMenuEntry(Qt::Key, bool)));
 }
 
 DolphinContextMenu::~DolphinContextMenu()
@@ -336,8 +343,8 @@ void DolphinContextMenu::insertDefaultItemActions()
         collection->action("delete")->setVisible(true);
     }
 
-    if(m_shiftIsPressed) {
-        deleteOrTrashMenuEntry(Qt::Key_Shift, m_shiftIsPressed);
+    if(m_shiftPressed) {
+        deleteOrTrashMenuEntry(Qt::Key_Shift, m_shiftPressed);
     }
 
 }
@@ -432,11 +439,6 @@ void DolphinContextMenu::addCustomActions()
     }
 }
 
-void DolphinContextMenu::setShiftIsPressed(bool pressed)
-{
-    m_shiftIsPressed = pressed;
-}
-
 void DolphinContextMenu::deleteOrTrashMenuEntry(Qt::Key key, bool pressed)
 {
     if(m_mainWindow->activeViewContainer()->url().isLocalFile() && !m_showDeleteCommand && key == Qt::Key_Shift) {
index 052149ba382b12c55346387355bb9557a41fbb84..e5620203debc0da44fbfa7062465da488fe9d883 100644 (file)
@@ -73,12 +73,11 @@ public:
     virtual ~DolphinContextMenu();
 
     void setCustomActions(const QList<QAction*>& actions);
-    void setShiftIsPressed(bool pressed);
 
     /** Opens the context menu model. */
     void open();
 
-public slots:
+private slots:
     void deleteOrTrashMenuEntry(Qt::Key key, bool pressed);
 
 private:
@@ -104,7 +103,6 @@ private:
 
     QAction* createPasteAction();
 
-private:
     KFileItemListProperties& capabilities();
     void addServiceActions(KFileItemActions& fileItemActions);
     void addVersionControlActions();
@@ -139,7 +137,9 @@ private:
     QList<QAction*> m_customActions;
     QScopedPointer<KMenu> m_popup;
     bool m_showDeleteCommand;
-    bool m_shiftIsPressed;
+    bool m_shiftPressed;
+
+    KModifierKeyInfo m_keyInfo;
 };
 
 #endif
index 6f407a84a5e54f154779d9ebed51776bae2b89d2..722a90f9383a4b5883cafb7c28ba40a952f16e4c 100644 (file)
@@ -114,8 +114,7 @@ DolphinMainWindow::DolphinMainWindow(int id) :
     m_actionHandler(0),
     m_remoteEncoding(0),
     m_settingsDialog(0),
-    m_lastHandleUrlStatJob(0),
-    m_keyInfo(new KModifierKeyInfo)
+    m_lastHandleUrlStatJob(0)
 {
     setObjectName("Dolphin#");
 
@@ -1168,12 +1167,6 @@ void DolphinMainWindow::openContextMenu(const KFileItem& item,
                                         const QList<QAction*>& customActions)
 {
     DolphinContextMenu contextMenu(this, item, url);
-
-    if(m_keyInfo.isKeyPressed(Qt::Key_Shift) || m_keyInfo.isKeyLatched(Qt::Key_Shift)) {
-        contextMenu.setShiftIsPressed(true);
-    }
-
-    connect(&m_keyInfo, SIGNAL(keyPressed(Qt::Key, bool)), &contextMenu, SLOT(deleteOrTrashMenuEntry(Qt::Key, bool)));
     contextMenu.setCustomActions(customActions);
     contextMenu.open();
 }
index cb0be1431c0765f2a22a9958d72dfe320de7d67d..d76cf0d5c04b3b8f5ed8b8c562dba660d67e8ef4 100644 (file)
 #include <ksortablelist.h>
 #include <kxmlguiwindow.h>
 #include <kactionmenu.h>
-#include <kmodifierkeyinfo.h>
 
 #include "views/dolphinview.h"
 
-#include "dolphincontextmenu.h"
-
 #include <QList>
 
 typedef KIO::FileUndoManager::CommandType CommandType;
@@ -543,8 +540,6 @@ private:
     QPointer<DolphinSettingsDialog> m_settingsDialog;
 
     KJob* m_lastHandleUrlStatJob;
-
-    KModifierKeyInfo m_keyInfo;
 };
 
 inline DolphinViewContainer* DolphinMainWindow::activeViewContainer() const