summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@digia.com>2014-09-19 15:37:40 +0200
committerFriedemann Kleint <Friedemann.Kleint@digia.com>2014-09-22 11:55:21 +0200
commitae26f834808c54265eadfc1cb1ec09f9c344a5a8 (patch)
tree8f8276a62e17cdcdce07f42d80e3e22749f0b711 /examples
parentd7e26cffac1c52f18be40acd354e9066aea68b9f (diff)
Qt Designer QDesignerContainerExtension example: Fix page title.
Tie the setting of the combo title to QQWidget::windowTitleChanged(). The call to retranslateUi() happens after adding the pages; so the titles are lost in uic-generated code. Change-Id: Ia88dd694a7ab5fe1bd62a849feeb7768a2ba6f16 Task-number: QTBUG-24916 Reviewed-by: Jarek Kobus <jaroslaw.kobus@digia.com>
Diffstat (limited to 'examples')
-rw-r--r--examples/designer/containerextension/multipagewidget.cpp10
-rw-r--r--examples/designer/containerextension/multipagewidget.h3
2 files changed, 12 insertions, 1 deletions
diff --git a/examples/designer/containerextension/multipagewidget.cpp b/examples/designer/containerextension/multipagewidget.cpp
index 8130bd2c2..2eed24740 100644
--- a/examples/designer/containerextension/multipagewidget.cpp
+++ b/examples/designer/containerextension/multipagewidget.cpp
@@ -99,6 +99,8 @@ void MultiPageWidget::insertPage(int index, QWidget *page)
title = tr("Page %1").arg(comboBox->count() + 1);
page->setWindowTitle(title);
}
+ connect(page, &QWidget::windowTitleChanged,
+ this, &MultiPageWidget::pageWindowTitleChanged);
comboBox->insertItem(index, title);
}
@@ -111,6 +113,13 @@ void MultiPageWidget::setCurrentIndex(int index)
}
}
+void MultiPageWidget::pageWindowTitleChanged()
+{
+ QWidget *page = qobject_cast<QWidget *>(sender());
+ const int index = stackWidget->indexOf(page);
+ comboBox->setItemText(index, page->windowTitle());
+}
+
QWidget* MultiPageWidget::widget(int index)
{
return stackWidget->widget(index);
@@ -125,7 +134,6 @@ QString MultiPageWidget::pageTitle() const
void MultiPageWidget::setPageTitle(QString const &newTitle)
{
- comboBox->setItemText(currentIndex(), newTitle);
if (QWidget *currentWidget = stackWidget->currentWidget())
currentWidget->setWindowTitle(newTitle);
emit pageTitleChanged(newTitle);
diff --git a/examples/designer/containerextension/multipagewidget.h b/examples/designer/containerextension/multipagewidget.h
index a05e3ba51..6903b6fea 100644
--- a/examples/designer/containerextension/multipagewidget.h
+++ b/examples/designer/containerextension/multipagewidget.h
@@ -73,6 +73,9 @@ public slots:
void setPageTitle(QString const &newTitle);
void setCurrentIndex(int index);
+private slots:
+ void pageWindowTitleChanged();
+
signals:
void currentIndexChanged(int index);
void pageTitleChanged(const QString &title);