From 5e4bc7e3556cb5afcd82731277bdef60ae2cbe33 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Fri, 23 Nov 2012 10:04:00 +0100 Subject: [PATCH] Detect QMainWindow-separator as passive interactor in Qt Designer. Ensure that dock widgets in Qt Creator can be resized. Task-number: QTCREATORBUG-8284 Change-Id: If6aa55b2dde8fce53e1527db678f518b3912907b Reviewed-by: Jarek Kobus --- src/designer/src/lib/shared/widgetfactory.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/designer/src/lib/shared/widgetfactory.cpp b/src/designer/src/lib/shared/widgetfactory.cpp index d8bf16a..dd03e2a 100644 --- a/src/designer/src/lib/shared/widgetfactory.cpp +++ b/src/designer/src/lib/shared/widgetfactory.cpp @@ -802,6 +802,7 @@ static bool isTabBarInteractor(const QTabBar *tabBar) bool WidgetFactory::isPassiveInteractor(QWidget *widget) { static const QString qtPassive = QStringLiteral("__qt__passive_"); + static const QString qtMainWindowSplitter = QStringLiteral("qt_qmainwindow_extended_splitter"); if (m_lastPassiveInteractor != 0 && (QWidget*)(*m_lastPassiveInteractor) == widget) return m_lastWasAPassiveInteractor; @@ -842,8 +843,11 @@ bool WidgetFactory::isPassiveInteractor(QWidget *widget) return (m_lastWasAPassiveInteractor = true); else if (qstrcmp(widget->metaObject()->className(), "QWorkspaceTitleBar") == 0) return (m_lastWasAPassiveInteractor = true); - else if (widget->objectName().startsWith(qtPassive)) - return (m_lastWasAPassiveInteractor = true); + const QString name = widget->objectName(); + if (name.startsWith(qtPassive) || name == qtMainWindowSplitter) { + m_lastWasAPassiveInteractor = true; + return m_lastWasAPassiveInteractor; + } return m_lastWasAPassiveInteractor; } -- 2.7.4