[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/apps/dolphin/src
From: Peter Penz <peter.penz () gmx ! at>
Date: 2008-05-29 18:01:00
Message-ID: 1212084060.317907.20603.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 814234 by ppenz:
Only select an item if the current item has been changed by a key press (e. g. QTreeView sets the current \
item when the view loses the focus).
M +9 -1 dolphindetailsview.cpp
M +2 -0 dolphindetailsview.h
--- trunk/KDE/kdebase/apps/dolphin/src/dolphindetailsview.cpp #814233:814234
@@ -47,6 +47,7 @@
QTreeView(parent),
m_autoResize(true),
m_expandingTogglePressed(false),
+ m_keyPressed(false),
m_controller(controller),
m_selectionManager(0),
m_font(),
@@ -360,8 +361,15 @@
{
QTreeView::keyPressEvent(event);
m_controller->handleKeyPressEvent(event);
+ m_keyPressed = true;
}
+void DolphinDetailsView::keyReleaseEvent(QKeyEvent* event)
+{
+ QTreeView::keyReleaseEvent(event);
+ m_keyPressed = false;
+}
+
void DolphinDetailsView::resizeEvent(QResizeEvent* event)
{
if (m_autoResize) {
@@ -391,7 +399,7 @@
// Stay consistent with QListView: When changing the current index by key presses,
// also change the selection.
- if (QApplication::mouseButtons() == Qt::NoButton) {
+ if (m_keyPressed) {
selectionModel()->select(current, QItemSelectionModel::ClearAndSelect);
}
}
--- trunk/KDE/kdebase/apps/dolphin/src/dolphindetailsview.h #814233:814234
@@ -58,6 +58,7 @@
virtual void dropEvent(QDropEvent* event);
virtual void paintEvent(QPaintEvent* event);
virtual void keyPressEvent(QKeyEvent* event);
+ virtual void keyReleaseEvent(QKeyEvent* event);
virtual void resizeEvent(QResizeEvent* event);
virtual void wheelEvent(QWheelEvent* event);
virtual void currentChanged(const QModelIndex& current, const QModelIndex& previous);
@@ -158,6 +159,7 @@
private:
bool m_autoResize; // if true, the columns are resized automatically to the available width
bool m_expandingTogglePressed;
+ bool m_keyPressed; // true if a key is pressed currently; info used by currentChanged()
DolphinController* m_controller;
SelectionManager* m_selectionManager;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic