diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2016-10-26 11:39:47 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2016-10-31 20:04:19 +0000 |
commit | e3c0afb5d19b0223f85d5b528b427e5f0c6c7392 (patch) | |
tree | b21b0a39ea0a3efc0c1377c73d1a5863b06f6262 | |
parent | e8bf10fb3aff47ed5dbf32431853194b1f311572 (diff) | |
download | qttools-e3c0afb5d19b0223f85d5b528b427e5f0c6c7392.tar.gz |
Qt Designer: Mark forms as dirty when changing the promoted classes
Call QDesignerFormWindow::setDirty() when promoted classes are changed.
Change-Id: I2310c73b8894658bf9fb8f2a76f0aa25364fae10
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
-rw-r--r-- | src/designer/src/lib/shared/qdesigner_promotion.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/designer/src/lib/shared/qdesigner_promotion.cpp b/src/designer/src/lib/shared/qdesigner_promotion.cpp index fabca5514..61c7675cf 100644 --- a/src/designer/src/lib/shared/qdesigner_promotion.cpp +++ b/src/designer/src/lib/shared/qdesigner_promotion.cpp @@ -116,6 +116,13 @@ namespace { } } +static void markFormsDirty(const QDesignerFormEditorInterface *core) +{ + const QDesignerFormWindowManagerInterface *fwm = core->formWindowManager(); + for (int f = 0, count = fwm->formWindowCount(); f < count; ++f) + fwm->formWindow(f)->setDirty(true); +} + namespace qdesigner_internal { QDesignerPromotion::QDesignerPromotion(QDesignerFormEditorInterface *core) : @@ -153,6 +160,7 @@ namespace qdesigner_internal { promotedItem->setExtends(baseClass); promotedItem->setIncludeFile(includeFile); widgetDataBase->append(promotedItem); + markFormsDirty(m_core); return true; } @@ -303,6 +311,7 @@ namespace qdesigner_internal { } } widgetDataBase->remove(index); + markFormsDirty(m_core); return true; } @@ -344,6 +353,7 @@ namespace qdesigner_internal { if (foundReferences) refreshObjectInspector(); + markFormsDirty(m_core); return true; } @@ -358,8 +368,10 @@ namespace qdesigner_internal { QDesignerWidgetDataBaseItemInterface *dbItem = promotedWidgetDataBaseItem(widgetDataBase, className, errorMessage); if (!dbItem) return false; - - dbItem->setIncludeFile(includeFile); + if (dbItem->includeFile() != includeFile) { + dbItem->setIncludeFile(includeFile); + markFormsDirty(m_core); + } return true; } |