summaryrefslogtreecommitdiffstats
path: root/tools/designer
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>2010-06-21 12:21:31 (GMT)
committerFriedemann Kleint <Friedemann.Kleint@nokia.com>2010-06-21 12:21:31 (GMT)
commitffe6fcdad9cdcd02e821b59270972a8f04b115a9 (patch)
tree63e60bb381c8c71b4fbe9ddeffa222d6da7b7547 /tools/designer
parente4d59c1bd1ac43b65ed8b14d41ab488b8e3782bf (diff)
downloadQt-ffe6fcdad9cdcd02e821b59270972a8f04b115a9.zip
Qt-ffe6fcdad9cdcd02e821b59270972a8f04b115a9.tar.gz
Qt-ffe6fcdad9cdcd02e821b59270972a8f04b115a9.tar.bz2
Designer: Prevent QButtonGroup from being added for Q3ButtonGroup.
The internal QButtonGroup used by Q3ButtonGroup interferes with saving mechanism for QButtonGroup (introduced in 4.5). Reviewed-by: Jarek Kobus <jkobus@trolltech.com> Task-number: QTBUG-11431
Diffstat (limited to 'tools/designer')
-rw-r--r--tools/designer/src/lib/uilib/abstractformbuilder.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/tools/designer/src/lib/uilib/abstractformbuilder.cpp b/tools/designer/src/lib/uilib/abstractformbuilder.cpp
index a0c9e83..6f009e3 100644
--- a/tools/designer/src/lib/uilib/abstractformbuilder.cpp
+++ b/tools/designer/src/lib/uilib/abstractformbuilder.cpp
@@ -2125,6 +2125,21 @@ void QAbstractFormBuilder::saveComboBoxExtraInfo(QComboBox *comboBox, DomWidget
ui_widget->setElementItem(ui_items);
}
+// Return the buttongroups assigned to a button except the internal one
+// (with empty object name) used by Q3ButtonGroup.
+static inline const QButtonGroup *formButtonGroup(const QAbstractButton *widget)
+{
+ const QButtonGroup *buttonGroup = widget->group();
+ if (!buttonGroup)
+ return 0;
+ if (buttonGroup->objectName().isEmpty()) {
+ if (const QWidget *parent = widget->parentWidget())
+ if (!qstrcmp(parent->metaObject()->className(), "Q3ButtonGroup"))
+ return 0;
+ }
+ return buttonGroup;
+}
+
/*!
\internal
\since 4.5
@@ -2133,7 +2148,7 @@ void QAbstractFormBuilder::saveComboBoxExtraInfo(QComboBox *comboBox, DomWidget
void QAbstractFormBuilder::saveButtonExtraInfo(const QAbstractButton *widget, DomWidget *ui_widget, DomWidget *)
{
typedef QList<DomProperty*> DomPropertyList;
- if (const QButtonGroup *buttonGroup = widget->group()) {
+ if (const QButtonGroup *buttonGroup = formButtonGroup(widget)) {
DomPropertyList attributes = ui_widget->elementAttribute();
DomString *domString = new DomString();
domString->setText(buttonGroup->objectName());