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