diff options
| author | Peter Penz <[email protected]> | 2010-09-17 21:16:56 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2010-09-17 21:16:56 +0000 |
| commit | 9a55b0d704c1301f5aef569392ca2695d8fc3204 (patch) | |
| tree | 3277e5f51172acb20e699c5cd79581ea9051bf2f /src/dolphincontextmenu.cpp | |
| parent | 304e9524b6c1f3e1582a07c34cdf42ea1c3167bb (diff) | |
There is no need to burden DolphinMainWindow with internals of the context-menu.
CCMAIL: [email protected]
svn path=/trunk/KDE/kdebase/apps/; revision=1176513
Diffstat (limited to 'src/dolphincontextmenu.cpp')
| -rw-r--r-- | src/dolphincontextmenu.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/dolphincontextmenu.cpp b/src/dolphincontextmenu.cpp index 7d195df66..8fbcbf3f5 100644 --- a/src/dolphincontextmenu.cpp +++ b/src/dolphincontextmenu.cpp @@ -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) { |
