diff options
| author | Peter Penz <[email protected]> | 2008-11-23 12:28:10 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2008-11-23 12:28:10 +0000 |
| commit | dcbf1a11783d47e7e4fa30d488ac93a8bc547e71 (patch) | |
| tree | d993a7b29885dec9e6550ba0b9b5ce95eadaa3ed /src/dolphincontroller.cpp | |
| parent | d5c0a60505fd5f20a4069d8fe3bcf4ae0b0b3594 (diff) | |
Opening a tab with the middle mouse button should always be done with one click, even if double click has been activated.
BUG: 162986
svn path=/trunk/KDE/kdebase/apps/; revision=888007
Diffstat (limited to 'src/dolphincontroller.cpp')
| -rw-r--r-- | src/dolphincontroller.cpp | 39 |
1 files changed, 23 insertions, 16 deletions
diff --git a/src/dolphincontroller.cpp b/src/dolphincontroller.cpp index f6ee66634..fe8c426f3 100644 --- a/src/dolphincontroller.cpp +++ b/src/dolphincontroller.cpp @@ -170,26 +170,33 @@ KFileItem DolphinController::itemForIndex(const QModelIndex& index) const void DolphinController::triggerItem(const QModelIndex& index) { - if (m_mouseButtons & Qt::RightButton) { - // a context menu is opened - assure that no triggering is done - return; + if (m_mouseButtons & Qt::LeftButton) { + const KFileItem item = itemForIndex(index); + if (index.isValid() && (index.column() == KDirModel::Name)) { + emit itemTriggered(item); + } else { + m_itemView->clearSelection(); + emit itemEntered(KFileItem()); + } + m_mouseButtons = Qt::NoButton; + } else if (m_mouseButtons & Qt::RightButton) { + m_mouseButtons = Qt::NoButton; } - - const bool openTab = m_mouseButtons & Qt::MidButton; - m_mouseButtons = Qt::NoButton; +} - const KFileItem item = itemForIndex(index); - if (index.isValid() && (index.column() == KDirModel::Name)) { - if (openTab && (item.isDir() || m_dolphinView->isTabsForFilesEnabled())) { +void DolphinController::requestTab(const QModelIndex& index) +{ + if (m_mouseButtons & Qt::MidButton) { + const KFileItem item = itemForIndex(index); + const bool validRequest = index.isValid() && + (index.column() == KDirModel::Name) && + (item.isDir() || m_dolphinView->isTabsForFilesEnabled()); + if (validRequest) { emit tabRequested(item.url()); - } else { - emit itemTriggered(item); - } - } else { - m_itemView->clearSelection(); - if (!openTab) { - emit itemEntered(KFileItem()); } + m_mouseButtons = Qt::NoButton; + } else if (m_mouseButtons & Qt::RightButton) { + m_mouseButtons = Qt::NoButton; } } |
