From 4334c2e361a4610602bb504d2747c19fdaa69db7 Mon Sep 17 00:00:00 2001 From: hjk <qtc-committer@nokia.com> Date: Fri, 16 Mar 2012 12:52:35 +0100 Subject: [PATCH] debugger: trigger column resizing by clicks on header or background Change-Id: I702f9fc32310b01021bf3389c9c8cb88d9a1738a Reviewed-by: hjk <qthjk@ovi.com> --- src/plugins/debugger/basewindow.cpp | 15 +++++++++++++++ src/plugins/debugger/basewindow.h | 2 ++ 2 files changed, 17 insertions(+) diff --git a/src/plugins/debugger/basewindow.cpp b/src/plugins/debugger/basewindow.cpp index 2db19710203..133dc86be0e 100644 --- a/src/plugins/debugger/basewindow.cpp +++ b/src/plugins/debugger/basewindow.cpp @@ -59,11 +59,14 @@ BaseWindow::BaseWindow(QWidget *parent) setUniformRowHeights(true); header()->setDefaultAlignment(Qt::AlignLeft); + header()->setClickable(true); connect(act, SIGNAL(toggled(bool)), SLOT(setAlternatingRowColorsHelper(bool))); connect(this, SIGNAL(activated(QModelIndex)), SLOT(rowActivatedHelper(QModelIndex))); + connect(header(), SIGNAL(sectionClicked(int)), + SLOT(headerSectionClicked(int))); m_adjustColumnsAction = new QAction(tr("Adjust Column Widths to Contents"), 0); m_alwaysAdjustColumnsAction = 0; @@ -110,6 +113,13 @@ void BaseWindow::setModel(QAbstractItemModel *model) setAlwaysResizeColumnsToContents(m_alwaysAdjustColumnsAction->isChecked()); } +void BaseWindow::mousePressEvent(QMouseEvent *ev) +{ + QTreeView::mousePressEvent(ev); + if (!indexAt(ev->pos()).isValid()) + resizeColumnsToContents(); +} + void BaseWindow::resizeColumnsToContents() { const int columnCount = model()->columnCount(); @@ -124,6 +134,11 @@ void BaseWindow::setAlwaysResizeColumnsToContents(bool on) header()->setResizeMode(0, mode); } +void BaseWindow::headerSectionClicked(int logicalIndex) +{ + resizeColumnToContents(logicalIndex); +} + void BaseWindow::reset() { QTreeView::reset(); diff --git a/src/plugins/debugger/basewindow.h b/src/plugins/debugger/basewindow.h index 5b42fad78cd..1592df42020 100644 --- a/src/plugins/debugger/basewindow.h +++ b/src/plugins/debugger/basewindow.h @@ -51,6 +51,7 @@ public: void setModel(QAbstractItemModel *model); virtual void rowActivated(const QModelIndex &) {} + void mousePressEvent(QMouseEvent *ev); public slots: void resizeColumnsToContents(); @@ -59,6 +60,7 @@ public slots: private slots: void setAlternatingRowColorsHelper(bool on) { setAlternatingRowColors(on); } void rowActivatedHelper(const QModelIndex &index) { rowActivated(index); } + void headerSectionClicked(int logicalIndex); void reset(); private: -- GitLab