From a183bb8ea1464c2ea677f83c0512d3fa6feaa63c Mon Sep 17 00:00:00 2001
From: Daniel Teske <daniel.teske@digia.com>
Date: Wed, 20 Mar 2013 15:45:38 +0100
Subject: [PATCH] Utils::TreeWidgetColumStretcher: Generalize to support all
QHeaderViews
I need this for a QTableView.
Change-Id: I07f4c6561abc2c62ce19a21a2233c65210329ef6
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
---
...lumnstretcher.cpp => headerviewstretcher.cpp} | 16 ++++++++--------
...etcolumnstretcher.h => headerviewstretcher.h} | 12 ++++++------
src/libs/utils/utils-lib.pri | 4 ++--
src/libs/utils/utils.qbs | 4 ++--
.../coreplugin/actionmanager/commandmappings.cpp | 4 ++--
src/plugins/fakevim/fakevimplugin.cpp | 1 -
src/plugins/qtsupport/qtoptionspage.cpp | 1 -
7 files changed, 20 insertions(+), 22 deletions(-)
rename src/libs/utils/{treewidgetcolumnstretcher.cpp => headerviewstretcher.cpp} (84%)
rename src/libs/utils/{treewidgetcolumnstretcher.h => headerviewstretcher.h} (85%)
diff --git a/src/libs/utils/treewidgetcolumnstretcher.cpp b/src/libs/utils/headerviewstretcher.cpp
similarity index 84%
rename from src/libs/utils/treewidgetcolumnstretcher.cpp
rename to src/libs/utils/headerviewstretcher.cpp
index d2e02c780ea..cdd3c281084 100644
--- a/src/libs/utils/treewidgetcolumnstretcher.cpp
+++ b/src/libs/utils/headerviewstretcher.cpp
@@ -27,7 +27,7 @@
**
****************************************************************************/
-#include "treewidgetcolumnstretcher.h"
+#include "headerviewstretcher.h"
#include <QTreeWidget>
#include <QHideEvent>
#include <QHeaderView>
@@ -35,24 +35,24 @@
using namespace Utils;
/*!
- \class Utils::TreeWidgetColumnStretcher
+ \class Utils::HeaderViewStretcher
- \brief The class fixes QTreeWidget to resize all columns to contents, except one
+ \brief The class fixes QHeaderView to resize all columns to contents, except one
stretching column.
As opposed to standard QTreeWidget, all columns are
still interactively resizable.
*/
-TreeWidgetColumnStretcher::TreeWidgetColumnStretcher(QTreeWidget *treeWidget, int columnToStretch)
- : QObject(treeWidget->header()), m_columnToStretch(columnToStretch)
+HeaderViewStretcher::HeaderViewStretcher(QHeaderView *headerView, int columnToStretch)
+ : QObject(headerView), m_columnToStretch(columnToStretch)
{
- parent()->installEventFilter(this);
+ headerView->installEventFilter(this);
QHideEvent fake;
- TreeWidgetColumnStretcher::eventFilter(parent(), &fake);
+ HeaderViewStretcher::eventFilter(headerView, &fake);
}
-bool TreeWidgetColumnStretcher::eventFilter(QObject *obj, QEvent *ev)
+bool HeaderViewStretcher::eventFilter(QObject *obj, QEvent *ev)
{
if (obj == parent()) {
if (ev->type() == QEvent::Show) {
diff --git a/src/libs/utils/treewidgetcolumnstretcher.h b/src/libs/utils/headerviewstretcher.h
similarity index 85%
rename from src/libs/utils/treewidgetcolumnstretcher.h
rename to src/libs/utils/headerviewstretcher.h
index db658c3c2fd..0435c9f9850 100644
--- a/src/libs/utils/treewidgetcolumnstretcher.h
+++ b/src/libs/utils/headerviewstretcher.h
@@ -27,27 +27,27 @@
**
****************************************************************************/
-#ifndef TREEWIDGETCOLUMNSTRETCHER_H
-#define TREEWIDGETCOLUMNSTRETCHER_H
+#ifndef HEADERVIEWSTRETCHER_H
+#define HEADERVIEWSTRETCHER_H
#include "utils_global.h"
#include <QObject>
QT_BEGIN_NAMESPACE
-class QTreeWidget;
+class QHeaderView;
QT_END_NAMESPACE
namespace Utils {
-class QTCREATOR_UTILS_EXPORT TreeWidgetColumnStretcher : public QObject
+class QTCREATOR_UTILS_EXPORT HeaderViewStretcher : public QObject
{
const int m_columnToStretch;
public:
- explicit TreeWidgetColumnStretcher(QTreeWidget *treeWidget, int columnToStretch);
+ explicit HeaderViewStretcher(QHeaderView *headerView, int columnToStretch);
virtual bool eventFilter(QObject *obj, QEvent *ev);
};
} // namespace Utils
-#endif // TREEWIDGETCOLUMNSTRETCHER_H
+#endif // HEADERVIEWSTRETCHER_H
diff --git a/src/libs/utils/utils-lib.pri b/src/libs/utils/utils-lib.pri
index e1c41f54334..138c65bf45e 100644
--- a/src/libs/utils/utils-lib.pri
+++ b/src/libs/utils/utils-lib.pri
@@ -45,7 +45,7 @@ SOURCES += $$PWD/environment.cpp \
$$PWD/consoleprocess.cpp \
$$PWD/uncommentselection.cpp \
$$PWD/parameteraction.cpp \
- $$PWD/treewidgetcolumnstretcher.cpp \
+ $$PWD/headerviewstretcher.cpp \
$$PWD/checkablemessagebox.cpp \
$$PWD/styledbar.cpp \
$$PWD/stylehelper.cpp \
@@ -129,7 +129,7 @@ HEADERS += \
$$PWD/textfileformat.h \
$$PWD/uncommentselection.h \
$$PWD/parameteraction.h \
- $$PWD/treewidgetcolumnstretcher.h \
+ $$PWD/headerviewstretcher.h \
$$PWD/checkablemessagebox.h \
$$PWD/qtcassert.h \
$$PWD/styledbar.h \
diff --git a/src/libs/utils/utils.qbs b/src/libs/utils/utils.qbs
index 4c1a220c4cf..885a6caa2eb 100644
--- a/src/libs/utils/utils.qbs
+++ b/src/libs/utils/utils.qbs
@@ -161,8 +161,8 @@ QtcLibrary {
"tcpportsgatherer.h",
"textfileformat.cpp",
"textfileformat.h",
- "treewidgetcolumnstretcher.cpp",
- "treewidgetcolumnstretcher.h",
+ "headerviewstretcher.cpp",
+ "headerviewstretcher.h",
"uncommentselection.cpp",
"uncommentselection.h",
"unixutils.cpp",
diff --git a/src/plugins/coreplugin/actionmanager/commandmappings.cpp b/src/plugins/coreplugin/actionmanager/commandmappings.cpp
index 346f004711e..5f3a5724dbd 100644
--- a/src/plugins/coreplugin/actionmanager/commandmappings.cpp
+++ b/src/plugins/coreplugin/actionmanager/commandmappings.cpp
@@ -37,7 +37,7 @@
#include "id.h"
#include <utils/hostosinfo.h>
-#include <utils/treewidgetcolumnstretcher.h>
+#include <utils/headerviewstretcher.h>
#include <QKeyEvent>
#include <QShortcut>
@@ -90,7 +90,7 @@ QWidget *CommandMappings::createPage(QWidget *parent)
connect(m_page->targetEdit, SIGNAL(textChanged(QString)),
this, SLOT(targetIdentifierChanged()));
- new Utils::TreeWidgetColumnStretcher(m_page->commandList, 1);
+ new Utils::HeaderViewStretcher(m_page->commandList->header(), 1);
commandChanged(0);
diff --git a/src/plugins/fakevim/fakevimplugin.cpp b/src/plugins/fakevim/fakevimplugin.cpp
index dc9e2bf97be..eef79203a4b 100644
--- a/src/plugins/fakevim/fakevimplugin.cpp
+++ b/src/plugins/fakevim/fakevimplugin.cpp
@@ -75,7 +75,6 @@
#include <utils/hostosinfo.h>
#include <utils/qtcassert.h>
#include <utils/savedaction.h>
-#include <utils/treewidgetcolumnstretcher.h>
#include <utils/stylehelper.h>
#include <cpptools/cpptoolsconstants.h>
diff --git a/src/plugins/qtsupport/qtoptionspage.cpp b/src/plugins/qtsupport/qtoptionspage.cpp
index 9f0c76932cb..732faf8a4c7 100644
--- a/src/plugins/qtsupport/qtoptionspage.cpp
+++ b/src/plugins/qtsupport/qtoptionspage.cpp
@@ -41,7 +41,6 @@
#include <coreplugin/icore.h>
#include <coreplugin/progressmanager/progressmanager.h>
-#include <utils/treewidgetcolumnstretcher.h>
#include <utils/qtcassert.h>
#include <utils/buildablehelperlibrary.h>
#include <utils/pathchooser.h>
--
GitLab