QTreeView(parent),
m_autoResize(true),
m_expandingTogglePressed(false),
+ m_keyPressed(false),
m_controller(controller),
m_selectionManager(0),
m_font(),
{
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)
// 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);
}
}
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);
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;