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