aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Jenssen <tim.jenssen@qt.io>2022-09-22 10:32:40 +0200
committerTim Jenssen <tim.jenssen@qt.io>2022-09-22 10:32:40 +0200
commit80e2eddd957bbb35a2197e5a869871017592f7a9 (patch)
tree9818b7f7dad27fe3596cbb85b591e59b5114f8e4
parent645fce14e006387ba4e2a4befcdd25b1bc1e111c (diff)
parentfec59c21dfecc2922595e16255d9b18fd374df02 (diff)
Merge remote-tracking branch 'origin/8.0'
resolved conflicts: share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5rendernodeinstanceserver.cpp src/plugins/qmldesigner/components/formeditor/formeditorview.cpp src/plugins/qmldesigner/designercore/exceptions/exception.cpp Change-Id: I13a5248415fa1ae03e1c6d0972d9b3bb8c80a3b0
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5rendernodeinstanceserver.cpp8
-rw-r--r--share/qtcreator/qmldesigner/newstateseditor/StateMenu.qml4
-rw-r--r--share/qtcreator/qmldesigner/newstateseditor/StateThumbnail.qml10
-rw-r--r--share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/DynamicPropertiesSection.qml4
-rw-r--r--share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioTheme/InternalConstants.qml241
-rw-r--r--share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioTheme/icons.ttfbin23852 -> 24432 bytes
-rw-r--r--src/plugins/qmldesigner/components/assetslibrary/assetslibrarymodel.cpp4
-rw-r--r--src/plugins/qmldesigner/components/bindingeditor/actioneditor.cpp3
-rw-r--r--src/plugins/qmldesigner/components/componentcore/crumblebar.cpp4
-rw-r--r--src/plugins/qmldesigner/components/componentcore/theme.h3
-rw-r--r--src/plugins/qmldesigner/components/connectioneditor/connectionviewwidget.cpp2
-rw-r--r--src/plugins/qmldesigner/components/debugview/debugview.cpp4
-rw-r--r--src/plugins/qmldesigner/components/debugview/debugviewwidget.cpp2
-rw-r--r--src/plugins/qmldesigner/components/edit3d/edit3dview.cpp2
-rw-r--r--src/plugins/qmldesigner/components/edit3d/edit3dviewconfig.h4
-rw-r--r--src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp4
-rw-r--r--src/plugins/qmldesigner/components/formeditor/formeditorview.cpp5
-rw-r--r--src/plugins/qmldesigner/components/formeditor/formeditorwidget.cpp4
-rw-r--r--src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp2
-rw-r--r--src/plugins/qmldesigner/components/navigator/navigatorview.cpp14
-rw-r--r--src/plugins/qmldesigner/components/navigator/navigatorwidget.cpp4
-rw-r--r--src/plugins/qmldesigner/components/propertyeditor/colorpalettebackend.h5
-rw-r--r--src/plugins/qmldesigner/components/texteditor/texteditorview.cpp2
-rw-r--r--src/plugins/qmldesigner/designercore/instances/interactiveconnectionmanager.cpp7
-rw-r--r--src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp19
-rw-r--r--src/plugins/qmldesigner/designercore/instances/puppetcreator.h3
-rw-r--r--src/plugins/qmldesigner/designercore/model/model.cpp12
-rw-r--r--src/plugins/qmldesigner/designercore/model/model_p.h3
-rw-r--r--src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp4
-rw-r--r--src/plugins/qmldesigner/designercore/model/rewriterview.cpp15
-rw-r--r--src/plugins/qmldesigner/designersettings.cpp51
-rw-r--r--src/plugins/qmldesigner/designersettings.h17
-rw-r--r--src/plugins/qmldesigner/documentwarningwidget.cpp4
-rw-r--r--src/plugins/qmldesigner/openuiqmlfiledialog.cpp5
-rw-r--r--src/plugins/qmldesigner/qmldesignerplugin.cpp23
-rw-r--r--src/plugins/qmldesigner/qmldesignerplugin.h3
-rw-r--r--src/plugins/qmldesigner/qmldesignerplugin.qbs32
-rw-r--r--src/plugins/qmldesigner/settingspage.cpp16
-rw-r--r--src/plugins/studiowelcome/qml/splashscreen/Welcome_splash.qml50
-rw-r--r--src/plugins/studiowelcome/qml/splashscreen/main.qml8
-rw-r--r--src/plugins/studiowelcome/studiowelcomeplugin.cpp1
41 files changed, 300 insertions, 308 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5rendernodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5rendernodeinstanceserver.cpp
index b79cca8d3c..07212ec459 100644
--- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5rendernodeinstanceserver.cpp
+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5rendernodeinstanceserver.cpp
@@ -78,7 +78,13 @@ void Qt5RenderNodeInstanceServer::collectItemChangesAndSendChangeCommands()
m_dirtyInstanceSet.insert(instanceForObject(effectParent));
}
}
- } else if (QQuickDesignerSupport::isDirty(item, QQuickDesignerSupport::AllMask)) {
+ } else if (DesignerSupport::isDirty(
+ item,
+ DesignerSupport::DirtyType(
+ DesignerSupport::AllMask
+ | DesignerSupport::ZValue
+ | DesignerSupport::OpacityValue
+ | DesignerSupport::Visible))) {
ServerNodeInstance ancestorInstance = findNodeInstanceForItem(
item->parentItem());
if (ancestorInstance.isValid())
diff --git a/share/qtcreator/qmldesigner/newstateseditor/StateMenu.qml b/share/qtcreator/qmldesigner/newstateseditor/StateMenu.qml
index 8d0bb8810c..d26572ebde 100644
--- a/share/qtcreator/qmldesigner/newstateseditor/StateMenu.qml
+++ b/share/qtcreator/qmldesigner/newstateseditor/StateMenu.qml
@@ -87,9 +87,7 @@ StudioControls.Menu {
StudioControls.MenuItem {
enabled: !root.isBaseState && root.hasWhenCondition
text: qsTr("Reset when Condition")
- onTriggered: {
- statesEditorModel.resetWhenCondition(internalNodeId)
- }
+ onTriggered: root.resetWhenCondition()
}
StudioControls.MenuSeparator {}
diff --git a/share/qtcreator/qmldesigner/newstateseditor/StateThumbnail.qml b/share/qtcreator/qmldesigner/newstateseditor/StateThumbnail.qml
index 83de652edb..642ebd972d 100644
--- a/share/qtcreator/qmldesigner/newstateseditor/StateThumbnail.qml
+++ b/share/qtcreator/qmldesigner/newstateseditor/StateThumbnail.qml
@@ -270,7 +270,6 @@ Item {
x: scrollView.leftPadding
y: scrollView.height - height
width: scrollView.availableWidth
- active: scrollView.ScrollBar.vertical.active
orientation: Qt.Horizontal
onPressedChanged: root.focusSignal()
}
@@ -280,7 +279,6 @@ Item {
x: scrollView.mirrored ? 0 : scrollView.width - width
y: scrollView.topPadding
height: scrollView.availableHeight
- active: scrollView.ScrollBar.horizontal.active
orientation: Qt.Vertical
onPressedChanged: root.focusSignal()
}
@@ -656,7 +654,12 @@ Item {
return
whenCondition.previousCondition = whenCondition.text
- root.whenConditionFinished()
+
+ if (whenCondition.text !== "")
+ root.whenConditionFinished()
+ else
+ statesEditorModel.resetWhenCondition(root.internalNodeId)
+
}
Component.onCompleted: whenCondition.previousCondition = whenCondition.text
@@ -696,6 +699,7 @@ Item {
onExtend: root.extend()
onRemove: root.remove()
onToggle: root.propertyChangesVisible = !root.propertyChangesVisible
+ onResetWhenCondition: statesEditorModel.resetWhenCondition(root.internalNodeId)
onEditAnnotation: {
statesEditorModel.setAnnotation(root.internalNodeId)
stateMenu.hasAnnotation = root.checkAnnotation()
diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/DynamicPropertiesSection.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/DynamicPropertiesSection.qml
index 2a0580edf1..fedf76bdbb 100644
--- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/DynamicPropertiesSection.qml
+++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/DynamicPropertiesSection.qml
@@ -480,10 +480,6 @@ Section {
model: root.propertiesModel
property bool loadActive: true
- onCountChanged: {
- repeater.loadActive = false
- repeater.loadActive = true
- }
SectionLayout {
DynamicPropertyRow {
diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioTheme/InternalConstants.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioTheme/InternalConstants.qml
index 7a85e6a9b2..9339fda0da 100644
--- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioTheme/InternalConstants.qml
+++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioTheme/InternalConstants.qml
@@ -49,125 +49,128 @@ QtObject {
readonly property string centerHorizontal: "\u0042"
readonly property string centerVertical: "\u0043"
readonly property string closeCross: "\u0044"
- readonly property string colorPopupClose: "\u0045"
- readonly property string columnsAndRows: "\u0046"
- readonly property string copyStyle: "\u0047"
- readonly property string cornerA: "\u0048"
- readonly property string cornerB: "\u0049"
- readonly property string cornersAll: "\u004A"
- readonly property string curveDesigner: "\u004B"
- readonly property string curveEditor: "\u004C"
- readonly property string customMaterialEditor: "\u004D"
- readonly property string decisionNode: "\u004E"
- readonly property string deleteColumn: "\u004F"
- readonly property string deleteMaterial: "\u0050"
- readonly property string deleteRow: "\u0051"
- readonly property string deleteTable: "\u0052"
- readonly property string detach: "\u0053"
- readonly property string distributeBottom: "\u0054"
- readonly property string distributeCenterHorizontal: "\u0055"
- readonly property string distributeCenterVertical: "\u0056"
- readonly property string distributeLeft: "\u0057"
- readonly property string distributeOriginBottomRight: "\u0058"
- readonly property string distributeOriginCenter: "\u0059"
- readonly property string distributeOriginNone: "\u005A"
- readonly property string distributeOriginTopLeft: "\u005B"
- readonly property string distributeRight: "\u005C"
- readonly property string distributeSpacingHorizontal: "\u005D"
- readonly property string distributeSpacingVertical: "\u005E"
- readonly property string distributeTop: "\u005F"
- readonly property string download: "\u0060"
- readonly property string downloadUnavailable: "\u0061"
- readonly property string downloadUpdate: "\u0062"
- readonly property string downloaded: "\u0063"
- readonly property string edit: "\u0064"
- readonly property string eyeDropper: "\u0065"
- readonly property string favorite: "\u0066"
- readonly property string flowAction: "\u0067"
- readonly property string flowTransition: "\u0068"
- readonly property string fontStyleBold: "\u0069"
- readonly property string fontStyleItalic: "\u006A"
- readonly property string fontStyleStrikethrough: "\u006B"
- readonly property string fontStyleUnderline: "\u006C"
- readonly property string gradient: "\u006D"
- readonly property string gridView: "\u006E"
- readonly property string idAliasOff: "\u006F"
- readonly property string idAliasOn: "\u0070"
- readonly property string infinity: "\u0071"
- readonly property string keyframe: "\u0072"
- readonly property string linkTriangle: "\u0073"
- readonly property string linked: "\u0074"
- readonly property string listView: "\u0075"
- readonly property string lockOff: "\u0076"
- readonly property string lockOn: "\u0077"
- readonly property string materialPreviewEnvironment: "\u0078"
- readonly property string materialPreviewModel: "\u0079"
- readonly property string mergeCells: "\u007A"
- readonly property string minus: "\u007B"
- readonly property string mirror: "\u007C"
- readonly property string newMaterial: "\u007D"
- readonly property string openMaterialBrowser: "\u007E"
- readonly property string orientation: "\u007F"
- readonly property string paddingEdge: "\u0080"
- readonly property string paddingFrame: "\u0081"
- readonly property string pasteStyle: "\u0082"
- readonly property string pause: "\u0083"
- readonly property string pin: "\u0084"
- readonly property string play: "\u0085"
- readonly property string plus: "\u0086"
- readonly property string promote: "\u0087"
- readonly property string readOnly: "\u0088"
- readonly property string redo: "\u0089"
- readonly property string rotationFill: "\u008A"
- readonly property string rotationOutline: "\u008B"
- readonly property string search: "\u008C"
- readonly property string sectionToggle: "\u008D"
- readonly property string splitColumns: "\u008E"
- readonly property string splitRows: "\u008F"
- readonly property string startNode: "\u0090"
- readonly property string testIcon: "\u0091"
- readonly property string textAlignBottom: "\u0092"
- readonly property string textAlignCenter: "\u0093"
- readonly property string textAlignJustified: "\u0094"
- readonly property string textAlignLeft: "\u0095"
- readonly property string textAlignMiddle: "\u0096"
- readonly property string textAlignRight: "\u0097"
- readonly property string textAlignTop: "\u0098"
- readonly property string textBulletList: "\u0099"
- readonly property string textFullJustification: "\u009A"
- readonly property string textNumberedList: "\u009B"
- readonly property string tickIcon: "\u009D"
- readonly property string translationCreateFiles: "\u009E"
- readonly property string translationCreateReport: "\u009F"
- readonly property string translationExport: "\u00A0"
- readonly property string translationImport: "\u00A1"
- readonly property string translationSelectLanguages: "\u00A2"
- readonly property string translationTest: "\u00A3"
- readonly property string transparent: "\u00A4"
- readonly property string triState: "\u00A5"
- readonly property string triangleArcA: "\u00A6"
- readonly property string triangleArcB: "\u00A7"
- readonly property string triangleCornerA: "\u00A8"
- readonly property string triangleCornerB: "\u00A9"
- readonly property string unLinked: "\u00AA"
- readonly property string undo: "\u00AB"
- readonly property string unpin: "\u00AC"
- readonly property string upDownIcon: "\u00AE"
- readonly property string upDownSquare2: "\u00AF"
- readonly property string visibilityOff: "\u00B0"
- readonly property string visibilityOn: "\u00B1"
- readonly property string wildcard: "\u00B2"
- readonly property string wizardsAutomotive: "\u00B3"
- readonly property string wizardsDesktop: "\u00B4"
- readonly property string wizardsGeneric: "\u00B5"
- readonly property string wizardsMcuEmpty: "\u00B6"
- readonly property string wizardsMcuGraph: "\u00B7"
- readonly property string wizardsMobile: "\u00B8"
- readonly property string wizardsUnknown: "\u00B9"
- readonly property string zoomAll: "\u00BA"
- readonly property string zoomIn: "\u00BB"
- readonly property string zoomOut: "\u00BC"
- readonly property string zoomSelection: "\u00BD"
+ readonly property string closeLink: "\u0045"
+ readonly property string colorPopupClose: "\u0046"
+ readonly property string columnsAndRows: "\u0047"
+ readonly property string copyLink: "\u0048"
+ readonly property string copyStyle: "\u0049"
+ readonly property string cornerA: "\u004A"
+ readonly property string cornerB: "\u004B"
+ readonly property string cornersAll: "\u004C"
+ readonly property string curveDesigner: "\u004D"
+ readonly property string curveEditor: "\u004E"
+ readonly property string customMaterialEditor: "\u004F"
+ readonly property string decisionNode: "\u0050"
+ readonly property string deleteColumn: "\u0051"
+ readonly property string deleteMaterial: "\u0052"
+ readonly property string deleteRow: "\u0053"
+ readonly property string deleteTable: "\u0054"
+ readonly property string detach: "\u0055"
+ readonly property string distributeBottom: "\u0056"
+ readonly property string distributeCenterHorizontal: "\u0057"
+ readonly property string distributeCenterVertical: "\u0058"
+ readonly property string distributeLeft: "\u0059"
+ readonly property string distributeOriginBottomRight: "\u005A"
+ readonly property string distributeOriginCenter: "\u005B"
+ readonly property string distributeOriginNone: "\u005C"
+ readonly property string distributeOriginTopLeft: "\u005D"
+ readonly property string distributeRight: "\u005E"
+ readonly property string distributeSpacingHorizontal: "\u005F"
+ readonly property string distributeSpacingVertical: "\u0060"
+ readonly property string distributeTop: "\u0061"
+ readonly property string download: "\u0062"
+ readonly property string downloadUnavailable: "\u0063"
+ readonly property string downloadUpdate: "\u0064"
+ readonly property string downloaded: "\u0065"
+ readonly property string edit: "\u0066"
+ readonly property string eyeDropper: "\u0067"
+ readonly property string favorite: "\u0068"
+ readonly property string flowAction: "\u0069"
+ readonly property string flowTransition: "\u006A"
+ readonly property string fontStyleBold: "\u006B"
+ readonly property string fontStyleItalic: "\u006C"
+ readonly property string fontStyleStrikethrough: "\u006D"
+ readonly property string fontStyleUnderline: "\u006E"
+ readonly property string gradient: "\u006F"
+ readonly property string gridView: "\u0070"
+ readonly property string idAliasOff: "\u0071"
+ readonly property string idAliasOn: "\u0072"
+ readonly property string infinity: "\u0073"
+ readonly property string keyframe: "\u0074"
+ readonly property string linkTriangle: "\u0075"
+ readonly property string linked: "\u0076"
+ readonly property string listView: "\u0077"
+ readonly property string lockOff: "\u0078"
+ readonly property string lockOn: "\u0079"
+ readonly property string materialPreviewEnvironment: "\u007A"
+ readonly property string materialPreviewModel: "\u007B"
+ readonly property string mergeCells: "\u007C"
+ readonly property string minus: "\u007D"
+ readonly property string mirror: "\u007E"
+ readonly property string newMaterial: "\u007F"
+ readonly property string openLink: "\u0080"
+ readonly property string openMaterialBrowser: "\u0081"
+ readonly property string orientation: "\u0082"
+ readonly property string paddingEdge: "\u0083"
+ readonly property string paddingFrame: "\u0084"
+ readonly property string pasteStyle: "\u0085"
+ readonly property string pause: "\u0086"
+ readonly property string pin: "\u0087"
+ readonly property string play: "\u0088"
+ readonly property string plus: "\u0089"
+ readonly property string promote: "\u008A"
+ readonly property string readOnly: "\u008B"
+ readonly property string redo: "\u008C"
+ readonly property string rotationFill: "\u008D"
+ readonly property string rotationOutline: "\u008E"
+ readonly property string search: "\u008F"
+ readonly property string sectionToggle: "\u0090"
+ readonly property string splitColumns: "\u0091"
+ readonly property string splitRows: "\u0092"
+ readonly property string startNode: "\u0093"
+ readonly property string testIcon: "\u0094"
+ readonly property string textAlignBottom: "\u0095"
+ readonly property string textAlignCenter: "\u0096"
+ readonly property string textAlignJustified: "\u0097"
+ readonly property string textAlignLeft: "\u0098"
+ readonly property string textAlignMiddle: "\u0099"
+ readonly property string textAlignRight: "\u009A"
+ readonly property string textAlignTop: "\u009B"
+ readonly property string textBulletList: "\u009D"
+ readonly property string textFullJustification: "\u009E"
+ readonly property string textNumberedList: "\u009F"
+ readonly property string tickIcon: "\u00A0"
+ readonly property string translationCreateFiles: "\u00A1"
+ readonly property string translationCreateReport: "\u00A2"
+ readonly property string translationExport: "\u00A3"
+ readonly property string translationImport: "\u00A4"
+ readonly property string translationSelectLanguages: "\u00A5"
+ readonly property string translationTest: "\u00A6"
+ readonly property string transparent: "\u00A7"
+ readonly property string triState: "\u00A8"
+ readonly property string triangleArcA: "\u00A9"
+ readonly property string triangleArcB: "\u00AA"
+ readonly property string triangleCornerA: "\u00AB"
+ readonly property string triangleCornerB: "\u00AC"
+ readonly property string unLinked: "\u00AE"
+ readonly property string undo: "\u00AF"
+ readonly property string unpin: "\u00B0"
+ readonly property string upDownIcon: "\u00B1"
+ readonly property string upDownSquare2: "\u00B2"
+ readonly property string visibilityOff: "\u00B3"
+ readonly property string visibilityOn: "\u00B4"
+ readonly property string wildcard: "\u00B5"
+ readonly property string wizardsAutomotive: "\u00B6"
+ readonly property string wizardsDesktop: "\u00B7"
+ readonly property string wizardsGeneric: "\u00B8"
+ readonly property string wizardsMcuEmpty: "\u00B9"
+ readonly property string wizardsMcuGraph: "\u00BA"
+ readonly property string wizardsMobile: "\u00BB"
+ readonly property string wizardsUnknown: "\u00BC"
+ readonly property string zoomAll: "\u00BD"
+ readonly property string zoomIn: "\u00BE"
+ readonly property string zoomOut: "\u00BF"
+ readonly property string zoomSelection: "\u00C0"
readonly property font iconFont: Qt.font({
"family": controlIcons.name,
diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioTheme/icons.ttf b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioTheme/icons.ttf
index 39c600217b..acd8df6ce3 100644
--- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioTheme/icons.ttf
+++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioTheme/icons.ttf
Binary files differ
diff --git a/src/plugins/qmldesigner/components/assetslibrary/assetslibrarymodel.cpp b/src/plugins/qmldesigner/components/assetslibrary/assetslibrarymodel.cpp
index d210721e09..07205b5c73 100644
--- a/src/plugins/qmldesigner/components/assetslibrary/assetslibrarymodel.cpp
+++ b/src/plugins/qmldesigner/components/assetslibrary/assetslibrarymodel.cpp
@@ -87,7 +87,7 @@ void AssetsLibraryModel::toggleExpandAll(bool expand)
void AssetsLibraryModel::deleteFiles(const QStringList &filePaths)
{
- bool askBeforeDelete = DesignerSettings::getValue(
+ bool askBeforeDelete = QmlDesignerPlugin::settings().value(
DesignerSettingsKey::ASK_BEFORE_DELETING_ASSET).toBool();
bool assetDelete = true;
@@ -107,7 +107,7 @@ void AssetsLibraryModel::deleteFiles(const QStringList &filePaths)
assetDelete = false;
if (cb.isChecked())
- DesignerSettings::setValue(DesignerSettingsKey::ASK_BEFORE_DELETING_ASSET, false);
+ QmlDesignerPlugin::settings().insert(DesignerSettingsKey::ASK_BEFORE_DELETING_ASSET, false);
}
if (assetDelete) {
diff --git a/src/plugins/qmldesigner/components/bindingeditor/actioneditor.cpp b/src/plugins/qmldesigner/components/bindingeditor/actioneditor.cpp
index b75821869d..ba507e2458 100644
--- a/src/plugins/qmldesigner/components/bindingeditor/actioneditor.cpp
+++ b/src/plugins/qmldesigner/components/bindingeditor/actioneditor.cpp
@@ -232,6 +232,9 @@ void ActionEditor::prepareConnections()
QmlJS::ValueOwner *interp = context->valueOwner();
const QmlJS::Value *value = interp->convertToObject(scopeChain.evaluate(expression));
+ if (value->asNullValue() && !methodBlackList.contains(slotName))
+ connection.methods.append(QString::fromUtf8(slotName));
+
if (const QmlJS::FunctionValue *f = value->asFunctionValue()) {
// Only add slots with zero arguments
if (f->namedArgumentCount() == 0 && !methodBlackList.contains(slotName))
diff --git a/src/plugins/qmldesigner/components/componentcore/crumblebar.cpp b/src/plugins/qmldesigner/components/componentcore/crumblebar.cpp
index 20d041d879..c9dad6aa66 100644
--- a/src/plugins/qmldesigner/components/componentcore/crumblebar.cpp
+++ b/src/plugins/qmldesigner/components/componentcore/crumblebar.cpp
@@ -123,7 +123,7 @@ Utils::CrumblePath *CrumbleBar::crumblePath()
bool CrumbleBar::showSaveDialog()
{
bool canceled = false;
- bool alwaysSave = DesignerSettings::getValue(DesignerSettingsKey::ALWAYS_SAVE_IN_CRUMBLEBAR).toBool();
+ bool alwaysSave = QmlDesignerPlugin::settings().value(DesignerSettingsKey::ALWAYS_SAVE_IN_CRUMBLEBAR).toBool();
if (alwaysSave) {
Core::DocumentManager::saveModifiedDocumentSilently(currentDesignDocument()->editor()->document());
} else {
@@ -133,7 +133,7 @@ bool CrumbleBar::showSaveDialog()
tr("Always save when leaving subcomponent"),
&alwaysSave);
- DesignerSettings::setValue(DesignerSettingsKey::ALWAYS_SAVE_IN_CRUMBLEBAR, alwaysSave);
+ QmlDesignerPlugin::settings().insert(DesignerSettingsKey::ALWAYS_SAVE_IN_CRUMBLEBAR, alwaysSave);
}
return !canceled;
}
diff --git a/src/plugins/qmldesigner/components/componentcore/theme.h b/src/plugins/qmldesigner/components/componentcore/theme.h
index be1a52d6b5..e9b751e49d 100644
--- a/src/plugins/qmldesigner/components/componentcore/theme.h
+++ b/src/plugins/qmldesigner/components/componentcore/theme.h
@@ -57,8 +57,10 @@ public:
centerHorizontal,
centerVertical,
closeCross,
+ closeLink,
colorPopupClose,
columnsAndRows,
+ copyLink,
copyStyle,
cornerA,
cornerB,
@@ -114,6 +116,7 @@ public:
minus,
mirror,
newMaterial,
+ openLink,
openMaterialBrowser,
orientation,
paddingEdge,
diff --git a/src/plugins/qmldesigner/components/connectioneditor/connectionviewwidget.cpp b/src/plugins/qmldesigner/components/connectioneditor/connectionviewwidget.cpp
index 777f8e587f..0b1ec34a16 100644
--- a/src/plugins/qmldesigner/components/connectioneditor/connectionviewwidget.cpp
+++ b/src/plugins/qmldesigner/components/connectioneditor/connectionviewwidget.cpp
@@ -74,8 +74,6 @@ ConnectionViewWidget::ConnectionViewWidget(QWidget *parent) :
for (auto toolButton : buttons)
ui->toolBar->addWidget(toolButton);
- auto settings = QmlDesignerPlugin::instance()->settings();
-
if (!QmlProjectManager::QmlProject::isQtDesignStudio())
ui->tabBar->addTab(tr("Backends", "Title of dynamic properties view"));
diff --git a/src/plugins/qmldesigner/components/debugview/debugview.cpp b/src/plugins/qmldesigner/components/debugview/debugview.cpp
index ef76e62bb3..547c6f580b 100644
--- a/src/plugins/qmldesigner/components/debugview/debugview.cpp
+++ b/src/plugins/qmldesigner/components/debugview/debugview.cpp
@@ -23,13 +23,13 @@ const QString lineBreak = QStringLiteral("<br>");
bool isDebugViewEnabled()
{
- return QmlDesigner::DesignerSettings::getValue(
+ return QmlDesigner::QmlDesignerPlugin::settings().value(
QmlDesigner::DesignerSettingsKey::ENABLE_DEBUGVIEW).toBool();
}
bool isDebugViewShown()
{
- return QmlDesigner::DesignerSettings::getValue(
+ return QmlDesigner::QmlDesignerPlugin::settings().value(
QmlDesigner::DesignerSettingsKey::SHOW_DEBUGVIEW).toBool();
}
diff --git a/src/plugins/qmldesigner/components/debugview/debugviewwidget.cpp b/src/plugins/qmldesigner/components/debugview/debugviewwidget.cpp
index e75e1d640b..4010c82eb9 100644
--- a/src/plugins/qmldesigner/components/debugview/debugviewwidget.cpp
+++ b/src/plugins/qmldesigner/components/debugview/debugviewwidget.cpp
@@ -78,7 +78,7 @@ void DebugViewWidget::setDebugViewEnabled(bool b)
void DebugViewWidget::enabledCheckBoxToggled(bool b)
{
- DesignerSettings::setValue(DesignerSettingsKey::WARNING_FOR_FEATURES_IN_DESIGNER, b);
+ QmlDesignerPlugin::settings().insert(DesignerSettingsKey::WARNING_FOR_FEATURES_IN_DESIGNER, b);
}
} //namespace Internal
diff --git a/src/plugins/qmldesigner/components/edit3d/edit3dview.cpp b/src/plugins/qmldesigner/components/edit3d/edit3dview.cpp
index d9a0ad2824..47ace6a03c 100644
--- a/src/plugins/qmldesigner/components/edit3d/edit3dview.cpp
+++ b/src/plugins/qmldesigner/components/edit3d/edit3dview.cpp
@@ -630,7 +630,7 @@ void Edit3DView::createEdit3DActions()
m_particlesRestartAction->action()->setEnabled(particlemode);
if (m_seeker)
m_seeker->setEnabled(false);
- QmlDesigner::DesignerSettings::setValue("particleMode", particlemode);
+ QmlDesignerPlugin::settings().insert("particleMode", particlemode);
setCurrentStateNode(rootModelNode());
resetPuppet();
};
diff --git a/src/plugins/qmldesigner/components/edit3d/edit3dviewconfig.h b/src/plugins/qmldesigner/components/edit3d/edit3dviewconfig.h
index 0f2a670148..2bee2d2b3b 100644
--- a/src/plugins/qmldesigner/components/edit3d/edit3dviewconfig.h
+++ b/src/plugins/qmldesigner/components/edit3d/edit3dviewconfig.h
@@ -16,7 +16,7 @@ class Edit3DViewConfig
public:
static QList<QColor> load(const char key[])
{
- QVariant var = DesignerSettings::getValue(key);
+ QVariant var = QmlDesignerPlugin::settings().value(key);
if (!var.isValid())
return {};
@@ -65,7 +65,7 @@ private:
static void saveVariant(const QByteArray &key, const QVariant &colorConfig)
{
- DesignerSettings::setValue(key, colorConfig);
+ QmlDesignerPlugin::settings().insert(key, colorConfig);
}
};
diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp
index 27e88f8ca0..4c1b0ddef1 100644
--- a/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp
+++ b/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp
@@ -73,12 +73,12 @@ FormEditorItem* FormEditorScene::itemForQmlItemNode(const QmlItemNode &qmlItemNo
double FormEditorScene::canvasWidth() const
{
- return DesignerSettings::getValue(DesignerSettingsKey::CANVASWIDTH).toDouble();
+ return QmlDesignerPlugin::settings().value(DesignerSettingsKey::CANVASWIDTH).toDouble();
}
double FormEditorScene::canvasHeight() const
{
- return DesignerSettings::getValue(DesignerSettingsKey::CANVASHEIGHT).toDouble();
+ return QmlDesignerPlugin::settings().value(DesignerSettingsKey::CANVASHEIGHT).toDouble();
}
QList<FormEditorItem*> FormEditorScene::itemsForQmlItemNodes(const QList<QmlItemNode> &nodeList) const
diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp
index dac9ffd8c6..41b8aed4d2 100644
--- a/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp
+++ b/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp
@@ -15,6 +15,7 @@
#include "abstractcustomtool.h"
#include <auxiliarydataproperties.h>
+#include <qmldesignerplugin.h>
#include <bindingproperty.h>
#include <designersettings.h>
#include <designmodecontext.h>
@@ -689,8 +690,8 @@ constexpr AuxiliaryDataKeyView autoSizeProperty{AuxiliaryDataType::Temporary, "a
void FormEditorView::instanceInformationsChanged(const QMultiHash<ModelNode, InformationName> &informationChangedHash)
{
QList<FormEditorItem*> changedItems;
- const int rootElementInitWidth = DesignerSettings::getValue(DesignerSettingsKey::ROOT_ELEMENT_INIT_WIDTH).toInt();
- const int rootElementInitHeight = DesignerSettings::getValue(DesignerSettingsKey::ROOT_ELEMENT_INIT_HEIGHT).toInt();
+ const int rootElementInitWidth = QmlDesignerPlugin::settings().value(DesignerSettingsKey::ROOT_ELEMENT_INIT_WIDTH).toInt();
+ const int rootElementInitHeight = QmlDesignerPlugin::settings().value(DesignerSettingsKey::ROOT_ELEMENT_INIT_HEIGHT).toInt();
QList<ModelNode> informationChangedNodes = Utils::filtered(informationChangedHash.keys(), [](const ModelNode &node) {
return QmlItemNode::isValidQmlItemNode(node);
diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorwidget.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorwidget.cpp
index 9f05aa9325..34ad852320 100644
--- a/src/plugins/qmldesigner/components/formeditor/formeditorwidget.cpp
+++ b/src/plugins/qmldesigner/components/formeditor/formeditorwidget.cpp
@@ -469,12 +469,12 @@ ToolBox *FormEditorWidget::toolBox() const
double FormEditorWidget::spacing() const
{
- return DesignerSettings::getValue(DesignerSettingsKey::ITEMSPACING).toDouble();
+ return QmlDesignerPlugin::settings().value(DesignerSettingsKey::ITEMSPACING).toDouble();
}
double FormEditorWidget::containerPadding() const
{
- return DesignerSettings::getValue(DesignerSettingsKey::CONTAINERPADDING).toDouble();
+ return QmlDesignerPlugin::settings().value(DesignerSettingsKey::CONTAINERPADDING).toDouble();
}
void FormEditorWidget::contextHelp(const Core::IContext::HelpCallback &callback) const
diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp
index 1737b79ac7..5a359693f2 100644
--- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp
+++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp
@@ -263,7 +263,7 @@ void ItemLibraryWidget::goIntoComponent(const QString &source)
void ItemLibraryWidget::delayedUpdateModel()
{
- static bool disableTimer = DesignerSettings::getValue(DesignerSettingsKey::DISABLE_ITEM_LIBRARY_UPDATE_TIMER).toBool();
+ static bool disableTimer = QmlDesignerPlugin::settings().value(DesignerSettingsKey::DISABLE_ITEM_LIBRARY_UPDATE_TIMER).toBool();
if (disableTimer)
updateModel();
else
diff --git a/src/plugins/qmldesigner/components/navigator/navigatorview.cpp b/src/plugins/qmldesigner/components/navigator/navigatorview.cpp
index 3fa49a266b..dd789f7c6b 100644
--- a/src/plugins/qmldesigner/components/navigator/navigatorview.cpp
+++ b/src/plugins/qmldesigner/components/navigator/navigatorview.cpp
@@ -136,10 +136,10 @@ void NavigatorView::modelAttached(Model *model)
QTimer::singleShot(0, this, [this, treeView]() {
m_currentModelInterface->setFilter(
- DesignerSettings::getValue(DesignerSettingsKey::NAVIGATOR_SHOW_ONLY_VISIBLE_ITEMS).toBool());
+ QmlDesignerPlugin::settings().value(DesignerSettingsKey::NAVIGATOR_SHOW_ONLY_VISIBLE_ITEMS).toBool());
m_currentModelInterface->setOrder(
- DesignerSettings::getValue(DesignerSettingsKey::NAVIGATOR_REVERSE_ITEM_ORDER).toBool());
+ QmlDesignerPlugin::settings().value(DesignerSettingsKey::NAVIGATOR_REVERSE_ITEM_ORDER).toBool());
// Expand everything to begin with to ensure model node to index cache is populated
treeView->expandAll();
@@ -501,7 +501,7 @@ void NavigatorView::rightButtonClicked()
return; //Semantics are unclear for multi selection.
bool blocked = blockSelectionChangedSignal(true);
- bool reverse = DesignerSettings::getValue(DesignerSettingsKey::NAVIGATOR_REVERSE_ITEM_ORDER).toBool();
+ bool reverse = QmlDesignerPlugin::settings().value(DesignerSettingsKey::NAVIGATOR_REVERSE_ITEM_ORDER).toBool();
for (const ModelNode &node : selectedModelNodes()) {
if (!node.isRootNode() && node.parentProperty().isNodeListProperty() && node.parentProperty().count() > 1) {
@@ -541,7 +541,7 @@ void NavigatorView::rightButtonClicked()
void NavigatorView::upButtonClicked()
{
bool blocked = blockSelectionChangedSignal(true);
- bool reverse = DesignerSettings::getValue(DesignerSettingsKey::NAVIGATOR_REVERSE_ITEM_ORDER).toBool();
+ bool reverse = QmlDesignerPlugin::settings().value(DesignerSettingsKey::NAVIGATOR_REVERSE_ITEM_ORDER).toBool();
if (reverse)
moveNodesDown(selectedModelNodes());
@@ -555,7 +555,7 @@ void NavigatorView::upButtonClicked()
void NavigatorView::downButtonClicked()
{
bool blocked = blockSelectionChangedSignal(true);
- bool reverse = DesignerSettings::getValue(DesignerSettingsKey::NAVIGATOR_REVERSE_ITEM_ORDER).toBool();
+ bool reverse = QmlDesignerPlugin::settings().value(DesignerSettingsKey::NAVIGATOR_REVERSE_ITEM_ORDER).toBool();
if (reverse)
moveNodesUp(selectedModelNodes());
@@ -570,14 +570,14 @@ void NavigatorView::filterToggled(bool flag)
{
m_currentModelInterface->setFilter(flag);
treeWidget()->expandAll();
- DesignerSettings::setValue(DesignerSettingsKey::NAVIGATOR_SHOW_ONLY_VISIBLE_ITEMS, flag);
+ QmlDesignerPlugin::settings().insert(DesignerSettingsKey::NAVIGATOR_SHOW_ONLY_VISIBLE_ITEMS, flag);
}
void NavigatorView::reverseOrderToggled(bool flag)
{
m_currentModelInterface->setOrder(flag);
treeWidget()->expandAll();
- DesignerSettings::setValue(DesignerSettingsKey::NAVIGATOR_REVERSE_ITEM_ORDER, flag);
+ QmlDesignerPlugin::settings().insert(DesignerSettingsKey::NAVIGATOR_REVERSE_ITEM_ORDER, flag);
}
void NavigatorView::textFilterChanged(const QString &text)
diff --git a/src/plugins/qmldesigner/components/navigator/navigatorwidget.cpp b/src/plugins/qmldesigner/components/navigator/navigatorwidget.cpp
index aa91f22ae1..1630a6a4ce 100644
--- a/src/plugins/qmldesigner/components/navigator/navigatorwidget.cpp
+++ b/src/plugins/qmldesigner/components/navigator/navigatorwidget.cpp
@@ -116,7 +116,7 @@ QList<QToolButton *> NavigatorWidget::createToolBarWidgets()
auto filterAction = new QAction(tr("Show Only Visible Components"), nullptr);
filterAction->setCheckable(true);
- bool filterFlag = DesignerSettings::getValue(DesignerSettingsKey::NAVIGATOR_SHOW_ONLY_VISIBLE_ITEMS).toBool();
+ bool filterFlag = QmlDesignerPlugin::settings().value(DesignerSettingsKey::NAVIGATOR_SHOW_ONLY_VISIBLE_ITEMS).toBool();
filterAction->setChecked(filterFlag);
connect(filterAction, &QAction::toggled, this, &NavigatorWidget::filterToggled);
@@ -125,7 +125,7 @@ QList<QToolButton *> NavigatorWidget::createToolBarWidgets()
auto reverseAction = new QAction(tr("Reverse Component Order"), nullptr);
reverseAction->setCheckable(true);
- bool reverseFlag = DesignerSettings::getValue(DesignerSettingsKey::NAVIGATOR_REVERSE_ITEM_ORDER).toBool();
+ bool reverseFlag = QmlDesignerPlugin::settings().value(DesignerSettingsKey::NAVIGATOR_REVERSE_ITEM_ORDER).toBool();
reverseAction->setChecked(reverseFlag);
connect(reverseAction, &QAction::toggled, this, &NavigatorWidget::reverseOrderToggled);
diff --git a/src/plugins/qmldesigner/components/propertyeditor/colorpalettebackend.h b/src/plugins/qmldesigner/components/propertyeditor/colorpalettebackend.h
index 61050449d9..8cb14dbdaa 100644
--- a/src/plugins/qmldesigner/components/propertyeditor/colorpalettebackend.h
+++ b/src/plugins/qmldesigner/components/propertyeditor/colorpalettebackend.h
@@ -13,6 +13,7 @@
#include <QPixmap>
#include "designersettings.h"
+#include <qmldesignerplugin.h>
#include <coreplugin/icore.h>
namespace QmlDesigner {
@@ -37,7 +38,7 @@ struct Palette
bool read()
{
- QStringList data = QmlDesigner::DesignerSettings::getValue(m_settingsKey).toStringList();
+ QStringList data = QmlDesignerPlugin::settings().value(m_settingsKey).toStringList();
if (data.isEmpty())
return false;
@@ -49,7 +50,7 @@ struct Palette
void write() const
{
- QmlDesigner::DesignerSettings::setValue(m_settingsKey, m_colors);
+ QmlDesignerPlugin::settings().insert(m_settingsKey, m_colors);
}
QByteArray m_settingsKey;
diff --git a/src/plugins/qmldesigner/components/texteditor/texteditorview.cpp b/src/plugins/qmldesigner/components/texteditor/texteditorview.cpp
index 912263ea8d..54ed7d50d2 100644
--- a/src/plugins/qmldesigner/components/texteditor/texteditorview.cpp
+++ b/src/plugins/qmldesigner/components/texteditor/texteditorview.cpp
@@ -246,7 +246,7 @@ void TextEditorView::reformatFile()
// Reformat document if we have a .ui.qml file
if (document && document->filePath().toString().endsWith(".ui.qml")
- && DesignerSettings::getValue(DesignerSettingsKey::REFORMAT_UI_QML_FILES).toBool()) {
+ && QmlDesignerPlugin::settings().value(DesignerSettingsKey::REFORMAT_UI_QML_FILES).toBool()) {
QmlJS::Document::Ptr currentDocument(document->semanticInfo().document);
QmlJS::Snapshot snapshot = QmlJS::ModelManagerInterface::instance()->snapshot();
diff --git a/src/plugins/qmldesigner/designercore/instances/interactiveconnectionmanager.cpp b/src/plugins/qmldesigner/designercore/instances/interactiveconnectionmanager.cpp
index 7b2e4978ab..b410c2bd2f 100644
--- a/src/plugins/qmldesigner/designercore/instances/interactiveconnectionmanager.cpp
+++ b/src/plugins/qmldesigner/designercore/instances/interactiveconnectionmanager.cpp
@@ -28,15 +28,14 @@ void InteractiveConnectionManager::setUp(NodeInstanceServerInterface *nodeInstan
{
ConnectionManager::setUp(nodeInstanceServer, qrcMappingString, target, view);
- DesignerSettings settings = QmlDesignerPlugin::instance()->settings();
- int timeOutTime = settings.value(DesignerSettingsKey::PUPPET_KILL_TIMEOUT).toInt();
+ int timeOutTime = QmlDesignerPlugin::settings()
+ .value(DesignerSettingsKey::PUPPET_KILL_TIMEOUT).toInt();
for (Connection &connection : connections()) {
connection.timer.reset(new QTimer);
connection.timer->setInterval(timeOutTime);
}
- if (QmlDesignerPlugin::instance()
- ->settings()
+ if (QmlDesignerPlugin::settings()
.value(DesignerSettingsKey::DEBUG_PUPPET)
.toString()
.isEmpty()) {
diff --git a/src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp b/src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp
index 9e66f9e04a..cc4703b2f0 100644
--- a/src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp
+++ b/src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp
@@ -127,7 +127,7 @@ bool PuppetCreator::useOnlyFallbackPuppet() const
#ifndef QMLDESIGNER_TEST
if (!m_target || !m_target->kit()->isValid())
qWarning() << "Invalid kit for QML puppet";
- return m_designerSettings.value(DesignerSettingsKey::USE_DEFAULT_PUPPET).toBool()
+ return QmlDesignerPlugin::settings().value(DesignerSettingsKey::USE_DEFAULT_PUPPET).toBool()
|| m_target == nullptr || !m_target->kit()->isValid();
#else
return true;
@@ -166,9 +166,6 @@ PuppetCreator::PuppetCreator(ProjectExplorer::Target *target, const Model *model
: m_target(target)
, m_availablePuppetType(FallbackPuppet)
, m_model(model)
-#ifndef QMLDESIGNER_TEST
- , m_designerSettings(QmlDesignerPlugin::instance()->settings())
-#endif
{
}
@@ -210,7 +207,7 @@ QProcessUniquePointer PuppetCreator::puppetProcess(
processFinishCallback);
#ifndef QMLDESIGNER_TEST
- QString forwardOutput = m_designerSettings.value(DesignerSettingsKey::
+ QString forwardOutput = QmlDesignerPlugin::settings().value(DesignerSettingsKey::
FORWARD_PUPPET_OUTPUT).toString();
#else
QString forwardOutput("all");
@@ -243,7 +240,7 @@ QProcessUniquePointer PuppetCreator::puppetProcess(
}
#ifndef QMLDESIGNER_TEST
- QString debugPuppet = m_designerSettings.value(DesignerSettingsKey::
+ QString debugPuppet = QmlDesignerPlugin::settings().value(DesignerSettingsKey::
DEBUG_PUPPET).toString();
#else
QString debugPuppet("all");
@@ -393,7 +390,7 @@ QString PuppetCreator::defaultPuppetToplevelBuildDirectory()
QString PuppetCreator::qmlPuppetToplevelBuildDirectory() const
{
#ifndef QMLDESIGNER_TEST
- QString puppetToplevelBuildDirectory = m_designerSettings.value(
+ QString puppetToplevelBuildDirectory = QmlDesignerPlugin::settings().value(
DesignerSettingsKey::PUPPET_TOPLEVEL_BUILD_DIRECTORY).toString();
if (puppetToplevelBuildDirectory.isEmpty())
return defaultPuppetToplevelBuildDirectory();
@@ -413,7 +410,7 @@ QString PuppetCreator::qmlPuppetDirectory(PuppetType puppetType) const
if (puppetType == BinPathPuppet)
return pathForBinPuppet(m_target).toFileInfo().absoluteDir().canonicalPath();
- return qmlPuppetFallbackDirectory(m_designerSettings);
+ return qmlPuppetFallbackDirectory(QmlDesignerPlugin::settings());
#else
return QString();
#endif
@@ -475,10 +472,10 @@ QProcessEnvironment PuppetCreator::processEnvironment() const
environment.set("QT_AUTO_SCREEN_SCALE_FACTOR", "1");
#ifndef QMLDESIGNER_TEST
- const QString controlsStyle = m_designerSettings.value(DesignerSettingsKey::
+ const QString controlsStyle = QmlDesignerPlugin::settings().value(DesignerSettingsKey::
CONTROLS_STYLE).toString();
- const bool smoothRendering = m_designerSettings.value(DesignerSettingsKey::SMOOTH_RENDERING)
+ const bool smoothRendering = QmlDesignerPlugin::settings().value(DesignerSettingsKey::SMOOTH_RENDERING)
.toBool();
if (smoothRendering)
@@ -525,7 +522,7 @@ QProcessEnvironment PuppetCreator::processEnvironment() const
environment.set("QMLDESIGNER_FORCE_QAPPLICATION", "true");
}
- bool particlemode = QmlDesigner::DesignerSettings::getValue("particleMode").toBool();
+ bool particlemode = QmlDesigner::QmlDesignerPlugin::settings().value("particleMode").toBool();
if (!particlemode)
environment.set("QT_QUICK3D_DISABLE_PARTICLE_SYSTEMS", "1");
else
diff --git a/src/plugins/qmldesigner/designercore/instances/puppetcreator.h b/src/plugins/qmldesigner/designercore/instances/puppetcreator.h
index aec17c054d..d61005b95b 100644
--- a/src/plugins/qmldesigner/designercore/instances/puppetcreator.h
+++ b/src/plugins/qmldesigner/designercore/instances/puppetcreator.h
@@ -86,9 +86,6 @@ private:
PuppetType m_availablePuppetType;
static QHash<Utils::Id, PuppetType> m_qml2PuppetForKitPuppetHash;
const Model *m_model = nullptr;
-#ifndef QMLDESIGNER_TEST
- const DesignerSettings m_designerSettings;
-#endif
QString m_qrcMapping;
};
diff --git a/src/plugins/qmldesigner/designercore/model/model.cpp b/src/plugins/qmldesigner/designercore/model/model.cpp
index 95cab9b15a..110edcca50 100644
--- a/src/plugins/qmldesigner/designercore/model/model.cpp
+++ b/src/plugins/qmldesigner/designercore/model/model.cpp
@@ -1367,12 +1367,22 @@ WriteLocker::WriteLocker(Model *model)
WriteLocker::~WriteLocker()
{
if (!m_model->m_writeLock)
- qWarning() << "QmlDesigner: Misbehaving view calls back to model!!!";
+ qWarning() << "QmlDesigner: WriterLocker out of sync!!!";
// FIXME: Enable it again
Q_ASSERT(m_model->m_writeLock);
m_model->m_writeLock = false;
}
+void WriteLocker::unlock(Model *model)
+{
+ model->d->m_writeLock = false;
+}
+
+void WriteLocker::lock(Model *model)
+{
+ model->d->m_writeLock = true;
+}
+
} // namespace Internal
Model::Model(ProjectStorage<Sqlite::Database> &projectStorage,
diff --git a/src/plugins/qmldesigner/designercore/model/model_p.h b/src/plugins/qmldesigner/designercore/model/model_p.h
index 51b94cb0ec..fb7cd47972 100644
--- a/src/plugins/qmldesigner/designercore/model/model_p.h
+++ b/src/plugins/qmldesigner/designercore/model/model_p.h
@@ -57,6 +57,9 @@ public:
WriteLocker(ModelPrivate *model);
~WriteLocker();
+ static void unlock(Model *model);
+ static void lock(Model *model);
+
private:
QPointer<ModelPrivate> m_model;
};
diff --git a/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp b/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp
index 23a4b2b18f..3bb73e586e 100644
--- a/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp
+++ b/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp
@@ -662,10 +662,10 @@ QString QmlObjectNode::generateTranslatableText([[maybe_unused]] const QString &
{
#ifndef QMLDESIGNER_TEST
- if (QmlDesignerPlugin::instance()->settings().value(
+ if (QmlDesignerPlugin::settings().value(
DesignerSettingsKey::TYPE_OF_QSTR_FUNCTION).toInt())
- switch (QmlDesignerPlugin::instance()->settings().value(
+ switch (QmlDesignerPlugin::settings().value(
DesignerSettingsKey::TYPE_OF_QSTR_FUNCTION).toInt()) {
case 0: return QString(QStringLiteral("qsTr(\"%1\")")).arg(text);
case 1: return QString(QStringLiteral("qsTrId(\"%1\")")).arg(text);
diff --git a/src/plugins/qmldesigner/designercore/model/rewriterview.cpp b/src/plugins/qmldesigner/designercore/model/rewriterview.cpp
index c6a3ca8b2c..ae9aefae60 100644
--- a/src/plugins/qmldesigner/designercore/model/rewriterview.cpp
+++ b/src/plugins/qmldesigner/designercore/model/rewriterview.cpp
@@ -6,17 +6,18 @@
#include "texttomodelmerger.h"
#include "modeltotextmerger.h"
-#include <variantproperty.h>
#include <bindingproperty.h>
-#include <rewritingexception.h>
-#include <signalhandlerproperty.h>
+#include <customnotifications.h>
#include <filemanager/astobjecttextextractor.h>
-#include <filemanager/objectlengthcalculator.h>
#include <filemanager/firstdefinitionfinder.h>
-#include <customnotifications.h>
-#include <modelnodepositionstorage.h>
+#include <filemanager/objectlengthcalculator.h>
+#include <model_p.h>
#include <modelnode.h>
+#include <modelnodepositionstorage.h>
#include <nodeproperty.h>
+#include <rewritingexception.h>
+#include <signalhandlerproperty.h>
+#include <variantproperty.h>
#include <qmlobjectnode.h>
#include <qmltimelinekeyframegroup.h>
@@ -755,7 +756,9 @@ void RewriterView::resetToLastCorrectQml()
m_textModifier->textDocument()->undo();
m_textModifier->textDocument()->clearUndoRedoStacks(QTextDocument::RedoStack);
ModelAmender differenceHandler(m_textToModelMerger.data());
+ Internal::WriteLocker::unlock(model());
m_textToModelMerger->load(m_textModifier->text(), differenceHandler);
+ Internal::WriteLocker::lock(model());
leaveErrorState();
}
diff --git a/src/plugins/qmldesigner/designersettings.cpp b/src/plugins/qmldesigner/designersettings.cpp
index 4de691f655..874adf8e8f 100644
--- a/src/plugins/qmldesigner/designersettings.cpp
+++ b/src/plugins/qmldesigner/designersettings.cpp
@@ -3,8 +3,6 @@
#include "designersettings.h"
-#include <qmldesignerplugin.h>
-
#include <QSettings>
namespace QmlDesigner {
@@ -14,11 +12,35 @@ namespace DesignerSettingsGroupKey {
const char QML_DESIGNER_SETTINGS_GROUP[] = "Designer";
}
-DesignerSettings::DesignerSettings() = default;
+DesignerSettings::DesignerSettings(QSettings *settings) :
+ m_settings(settings)
+{
+ fromSettings(settings);
+}
+
+void DesignerSettings::insert(const QByteArray &key, const QVariant &value)
+{
+ QMutexLocker locker(&m_mutex);
+ m_cache.insert(key, value);
+ toSettings(m_settings);
+}
+
+void DesignerSettings::insert(const QHash<QByteArray, QVariant> &settingsHash)
+{
+ QMutexLocker locker(&m_mutex);
+ m_cache.insert(settingsHash);
+ toSettings(m_settings);
+}
+
+QVariant DesignerSettings::value(const QByteArray &key, const QVariant &defaultValue) const
+{
+ QMutexLocker locker(&m_mutex);
+ return m_cache.value(key);
+}
void DesignerSettings::restoreValue(QSettings *settings, const QByteArray &key, const QVariant &defaultValue)
{
- insert(key, settings->value(QString::fromLatin1(key), defaultValue));
+ m_cache.insert(key, settings->value(QString::fromLatin1(key), defaultValue));
}
void DesignerSettings::fromSettings(QSettings *settings)
@@ -58,8 +80,8 @@ void DesignerSettings::fromSettings(QSettings *settings)
restoreValue(settings, DesignerSettingsKey::ALWAYS_DESIGN_MODE, true);
restoreValue(settings, DesignerSettingsKey::DISABLE_ITEM_LIBRARY_UPDATE_TIMER, false);
restoreValue(settings, DesignerSettingsKey::ASK_BEFORE_DELETING_ASSET, true);
- const QStringList defaultValue = QStringList() << "#222222" << "#999999";
- restoreValue(settings, DesignerSettingsKey::EDIT3DVIEW_BACKGROUND_COLOR, defaultValue);
+ restoreValue(settings, DesignerSettingsKey::EDIT3DVIEW_BACKGROUND_COLOR,
+ QStringList{"#222222", "#999999"});
restoreValue(settings, DesignerSettingsKey::EDIT3DVIEW_GRID_COLOR, "#aaaaaa");
restoreValue(settings, DesignerSettingsKey::SMOOTH_RENDERING, false);
restoreValue(settings, DesignerSettingsKey::SHOW_DEBUG_SETTINGS, false);
@@ -81,8 +103,8 @@ void DesignerSettings::toSettings(QSettings *settings) const
settings->beginGroup(QLatin1String(DesignerSettingsGroupKey::QML_SETTINGS_GROUP));
settings->beginGroup(QLatin1String(DesignerSettingsGroupKey::QML_DESIGNER_SETTINGS_GROUP));
- QHash<QByteArray, QVariant>::const_iterator i = constBegin();
- while (i != constEnd()) {
+ QHash<QByteArray, QVariant>::const_iterator i = m_cache.constBegin();
+ while (i != m_cache.constEnd()) {
storeValue(settings, i.key(), i.value());
++i;
}
@@ -91,17 +113,4 @@ void DesignerSettings::toSettings(QSettings *settings) const
settings->endGroup();
}
-QVariant DesignerSettings::getValue(const QByteArray &key)
-{
- DesignerSettings settings = QmlDesignerPlugin::instance()->settings();
- return settings.value(key);
-}
-
-void DesignerSettings::setValue(const QByteArray &key, const QVariant &value)
-{
- DesignerSettings settings = QmlDesignerPlugin::instance()->settings();
- settings.insert(key, value);
- QmlDesignerPlugin::instance()->setSettings(settings);
-}
-
} // namespace QmlDesigner
diff --git a/src/plugins/qmldesigner/designersettings.h b/src/plugins/qmldesigner/designersettings.h
index 9922f6cd6e..4f2543536d 100644
--- a/src/plugins/qmldesigner/designersettings.h
+++ b/src/plugins/qmldesigner/designersettings.h
@@ -8,6 +8,7 @@
#include <QHash>
#include <QVariant>
#include <QByteArray>
+#include <QMutex>
QT_BEGIN_NAMESPACE
class QSettings;
@@ -55,19 +56,25 @@ const char SMOOTH_RENDERING[] = "SmoothRendering";
const char OLD_STATES_EDITOR[] = "OldStatesEditor";
}
-class QMLDESIGNERCORE_EXPORT DesignerSettings : public QHash<QByteArray, QVariant>
+class QMLDESIGNERCORE_EXPORT DesignerSettings
{
public:
- DesignerSettings();
+ DesignerSettings(QSettings *settings);
+ void insert(const QByteArray &key, const QVariant &value);
+ void insert(const QHash<QByteArray, QVariant> &settingsHash);
+ QVariant value(const QByteArray &key, const QVariant &defaultValue = {}) const;
+
+private:
void fromSettings(QSettings *);
void toSettings(QSettings *) const;
- static QVariant getValue(const QByteArray &key);
- static void setValue(const QByteArray &key, const QVariant &value);
-private:
void restoreValue(QSettings *settings, const QByteArray &key,
const QVariant &defaultValue = QVariant());
void storeValue(QSettings *settings, const QByteArray &key, const QVariant &value) const;
+
+ QSettings *m_settings;
+ QHash<QByteArray, QVariant> m_cache;
+ mutable QMutex m_mutex;
};
} // namespace QmlDesigner
diff --git a/src/plugins/qmldesigner/documentwarningwidget.cpp b/src/plugins/qmldesigner/documentwarningwidget.cpp
index 64526a1127..83fb8095f7 100644
--- a/src/plugins/qmldesigner/documentwarningwidget.cpp
+++ b/src/plugins/qmldesigner/documentwarningwidget.cpp
@@ -178,12 +178,12 @@ void DocumentWarningWidget::emitGotoCodeClicked(const DocumentMessage &message)
bool DocumentWarningWidget::warningsEnabled() const
{
- return DesignerSettings::getValue(DesignerSettingsKey::WARNING_FOR_FEATURES_IN_DESIGNER).toBool();
+ return QmlDesignerPlugin::settings().value(DesignerSettingsKey::WARNING_FOR_FEATURES_IN_DESIGNER).toBool();
}
void DocumentWarningWidget::ignoreCheckBoxToggled(bool b)
{
- DesignerSettings::setValue(DesignerSettingsKey::WARNING_FOR_FEATURES_IN_DESIGNER, !b);
+ QmlDesignerPlugin::settings().value(DesignerSettingsKey::WARNING_FOR_FEATURES_IN_DESIGNER, !b);
}
void DocumentWarningWidget::setErrors(const QList<DocumentMessage> &errors)
diff --git a/src/plugins/qmldesigner/openuiqmlfiledialog.cpp b/src/plugins/qmldesigner/openuiqmlfiledialog.cpp
index 6d42fd0560..536f813f73 100644
--- a/src/plugins/qmldesigner/openuiqmlfiledialog.cpp
+++ b/src/plugins/qmldesigner/openuiqmlfiledialog.cpp
@@ -33,9 +33,8 @@ OpenUiQmlFileDialog::OpenUiQmlFileDialog(QWidget *parent) :
close();
});
connect(ui->checkBox, &QCheckBox::toggled, this, [](bool b){
- DesignerSettings settings = QmlDesignerPlugin::instance()->settings();
- settings.insert(DesignerSettingsKey::WARNING_FOR_QML_FILES_INSTEAD_OF_UIQML_FILES, !b);
- QmlDesignerPlugin::instance()->setSettings(settings);
+ QmlDesignerPlugin::settings().insert(
+ DesignerSettingsKey::WARNING_FOR_QML_FILES_INSTEAD_OF_UIQML_FILES, !b);
});
}
diff --git a/src/plugins/qmldesigner/qmldesignerplugin.cpp b/src/plugins/qmldesigner/qmldesignerplugin.cpp
index f2ae163bdf..09ad17e0f6 100644
--- a/src/plugins/qmldesigner/qmldesignerplugin.cpp
+++ b/src/plugins/qmldesigner/qmldesignerplugin.cpp
@@ -102,7 +102,7 @@ QtQuickDesignerFactory::QtQuickDesignerFactory()
setDocumentCreator([this]() {
auto document = new QmlJSEditor::QmlJSEditorDocument(id());
document->setIsDesignModePreferred(
- QmlDesigner::DesignerSettings::getValue(
+ QmlDesigner::QmlDesignerPlugin::settings().value(
QmlDesigner::DesignerSettingsKey::ALWAYS_DESIGN_MODE).toBool());
return document;
});
@@ -113,13 +113,13 @@ QtQuickDesignerFactory::QtQuickDesignerFactory()
class QmlDesignerPluginPrivate
{
public:
+ DesignerSettings settings{Core::ICore::instance()->settings()};
QmlDesignerProjectManager projectManager;
ViewManager viewManager{projectManager.asynchronousImageCache()};
DocumentManager documentManager{projectManager};
ShortCutManager shortCutManager;
SettingsPage settingsPage;
DesignModeWidget mainWidget;
- DesignerSettings settings;
QtQuickDesignerFactory m_qtQuickDesignerFactory;
bool blockEditorChange = false;
};
@@ -174,7 +174,7 @@ static bool shouldAssertInException()
static bool warningsForQmlFilesInsteadOfUiQmlEnabled()
{
- return DesignerSettings::getValue(DesignerSettingsKey::WARNING_FOR_QML_FILES_INSTEAD_OF_UIQML_FILES).toBool();
+ return QmlDesignerPlugin::settings().value(DesignerSettingsKey::WARNING_FOR_QML_FILES_INSTEAD_OF_UIQML_FILES).toBool();
}
QmlDesignerPlugin::QmlDesignerPlugin()
@@ -281,8 +281,6 @@ bool QmlDesignerPlugin::delayedInitialize()
});
MetaInfo::setPluginPaths(pluginPaths);
- d->settings.fromSettings(Core::ICore::settings());
-
d->viewManager.registerView(std::make_unique<QmlDesigner::Internal::ConnectionView>());
auto timelineView = d->viewManager.registerView(std::make_unique<QmlDesigner::TimelineView>());
@@ -629,7 +627,7 @@ void QmlDesignerPlugin::emitCurrentTextEditorChanged(Core::IEditor *editor)
double QmlDesignerPlugin::formEditorDevicePixelRatio()
{
- if (DesignerSettings::getValue(DesignerSettingsKey::IGNORE_DEVICE_PIXEL_RATIO).toBool())
+ if (QmlDesignerPlugin::settings().value(DesignerSettingsKey::IGNORE_DEVICE_PIXEL_RATIO).toBool())
return 1;
const QList<QWindow *> topLevelWindows = QApplication::topLevelWindows();
@@ -737,18 +735,9 @@ const DesignerActionManager &QmlDesignerPlugin::designerActionManager() const
return d->viewManager.designerActionManager();
}
-DesignerSettings QmlDesignerPlugin::settings()
+DesignerSettings& QmlDesignerPlugin::settings()
{
- d->settings.fromSettings(Core::ICore::settings());
- return d->settings;
-}
-
-void QmlDesignerPlugin::setSettings(const DesignerSettings &s)
-{
- if (s != d->settings) {
- d->settings = s;
- d->settings.toSettings(Core::ICore::settings());
- }
+ return instance()->d->settings;
}
} // namespace QmlDesigner
diff --git a/src/plugins/qmldesigner/qmldesignerplugin.h b/src/plugins/qmldesigner/qmldesignerplugin.h
index 9be209ba40..817f886afb 100644
--- a/src/plugins/qmldesigner/qmldesignerplugin.h
+++ b/src/plugins/qmldesigner/qmldesignerplugin.h
@@ -53,8 +53,7 @@ public:
DesignerActionManager &designerActionManager();
const DesignerActionManager &designerActionManager() const;
- DesignerSettings settings();
- void setSettings(const DesignerSettings &s);
+ static DesignerSettings& settings();
DesignDocument *currentDesignDocument() const;
Internal::DesignModeWidget *mainWidget() const;
diff --git a/src/plugins/qmldesigner/qmldesignerplugin.qbs b/src/plugins/qmldesigner/qmldesignerplugin.qbs
index c6989823f6..a5e6af7e64 100644
--- a/src/plugins/qmldesigner/qmldesignerplugin.qbs
+++ b/src/plugins/qmldesigner/qmldesignerplugin.qbs
@@ -828,18 +828,26 @@ Project {
"stateseditor/stateseditorview.h",
"stateseditor/stateseditorwidget.cpp",
"stateseditor/stateseditorwidget.h",
- "stateseditornew/propertychangesmodel.cpp",
- "stateseditornew/propertychangesmodel.h",
- "stateseditornew/propertymodel.cpp",
- "stateseditornew/propertymodel.h",
- "stateseditornew/stateseditorimageprovider.cpp",
- "stateseditornew/stateseditorimageprovider.h",
- "stateseditornew/stateseditormodel.cpp",
- "stateseditornew/stateseditormodel.h",
- "stateseditornew/stateseditorview.cpp",
- "stateseditornew/stateseditorview.h",
- "stateseditornew/stateseditorwidget.cpp",
- "stateseditornew/stateseditorwidget.h",
+ ]
+ }
+
+ Group {
+ name: "new states editor"
+ prefix: "components/stateseditornew/"
+ Qt.core.generatedHeadersDir: product.buildDirectory + "/qt.headers/stateseditornew"
+ files: [
+ "propertychangesmodel.cpp",
+ "propertychangesmodel.h",
+ "propertymodel.cpp",
+ "propertymodel.h",
+ "stateseditorimageprovider.cpp",
+ "stateseditorimageprovider.h",
+ "stateseditormodel.cpp",
+ "stateseditormodel.h",
+ "stateseditorview.cpp",
+ "stateseditorview.h",
+ "stateseditorwidget.cpp",
+ "stateseditorwidget.h",
]
}
diff --git a/src/plugins/qmldesigner/settingspage.cpp b/src/plugins/qmldesigner/settingspage.cpp
index 48c0c6d354..060a562788 100644
--- a/src/plugins/qmldesigner/settingspage.cpp
+++ b/src/plugins/qmldesigner/settingspage.cpp
@@ -41,7 +41,7 @@ public:
void apply() final;
- DesignerSettings settings() const;
+ QHash<QByteArray, QVariant> newSettings() const;
void setSettings(const DesignerSettings &settings);
private:
@@ -86,9 +86,9 @@ SettingsPageWidget::SettingsPageWidget()
setSettings(QmlDesignerPlugin::instance()->settings());
}
-DesignerSettings SettingsPageWidget::settings() const
+QHash<QByteArray, QVariant> SettingsPageWidget::newSettings() const
{
- DesignerSettings settings = QmlDesignerPlugin::instance()->settings();
+ QHash<QByteArray, QVariant> settings;
settings.insert(DesignerSettingsKey::ITEMSPACING, m_ui.spinItemSpacing->value());
settings.insert(DesignerSettingsKey::CONTAINERPADDING, m_ui.spinSnapMargin->value());
settings.insert(DesignerSettingsKey::CANVASWIDTH, m_ui.spinCanvasWidth->value());
@@ -132,7 +132,8 @@ DesignerSettings SettingsPageWidget::settings() const
m_ui.fallbackPuppetPathLineEdit->lineEdit()->placeholderText());
if (newFallbackPuppetPath.isEmpty())
newFallbackPuppetPath = m_ui.fallbackPuppetPathLineEdit->lineEdit()->placeholderText();
- QString oldFallbackPuppetPath = PuppetCreator::qmlPuppetFallbackDirectory(settings);
+
+ QString oldFallbackPuppetPath = PuppetCreator::qmlPuppetFallbackDirectory(QmlDesignerPlugin::settings());
if (oldFallbackPuppetPath != newFallbackPuppetPath && QFileInfo::exists(newFallbackPuppetPath)) {
if (newFallbackPuppetPath == PuppetCreator::defaultPuppetFallbackDirectory())
@@ -248,8 +249,7 @@ void SettingsPageWidget::setSettings(const DesignerSettings &settings)
void SettingsPageWidget::apply()
{
- DesignerSettings currentSettings(QmlDesignerPlugin::instance()->settings());
- DesignerSettings newSettings = settings();
+ auto settings = newSettings();
const auto restartNecessaryKeys = {
DesignerSettingsKey::PUPPET_DEFAULT_DIRECTORY,
@@ -263,7 +263,7 @@ void SettingsPageWidget::apply()
};
for (const char * const key : restartNecessaryKeys) {
- if (currentSettings.value(key) != newSettings.value(key)) {
+ if (QmlDesignerPlugin::settings().value(key) != settings.value(key)) {
QMessageBox::information(Core::ICore::dialogParent(), tr("Restart Required"),
tr("The made changes will take effect after a "
"restart of the QML Emulation layer or %1.")
@@ -272,7 +272,7 @@ void SettingsPageWidget::apply()
}
}
- QmlDesignerPlugin::instance()->setSettings(newSettings);
+ QmlDesignerPlugin::settings().insert(settings);
}
SettingsPage::SettingsPage()
diff --git a/src/plugins/studiowelcome/qml/splashscreen/Welcome_splash.qml b/src/plugins/studiowelcome/qml/splashscreen/Welcome_splash.qml
index e6bedf2074..4809612d84 100644
--- a/src/plugins/studiowelcome/qml/splashscreen/Welcome_splash.qml
+++ b/src/plugins/studiowelcome/qml/splashscreen/Welcome_splash.qml
@@ -233,56 +233,6 @@ Rectangle {
}
Row {
- y: 690
- visible: false
- anchors.horizontalCenter: parent.horizontalCenter
- spacing: 20
- layoutDirection: Qt.LeftToRight
-
- CheckBox {
- visible: true
- id: usageStatisticCheckBox
- text: qsTr("Send Usage Statistics")
- checked: usageStatisticModel.usageStatisticEnabled
- padding: 0
- spacing: 12
-
- onCheckedChanged: usageStatisticModel.setTelemetryEnabled(
- usageStatisticCheckBox.checked)
-
- contentItem: Text {
- text: usageStatisticCheckBox.text
- color: "#ffffff"
- leftPadding: usageStatisticCheckBox.indicator.width + usageStatisticCheckBox.spacing
- font.pixelSize: 12
- }
- }
-
- CheckBox {
- visible: true
- id: crashReportCheckBox
- text: qsTr("Send Crash Reports")
- spacing: 12
- checked: usageStatisticModel.crashReporterEnabled
-
- onCheckedChanged: {
- usageStatisticModel.setCrashReporterEnabled(
- crashReportCheckBox.checked)
- welcome_splash.onPluginInitialized(true,
- crashReportCheckBox.checked)
- }
-
- contentItem: Text {
- color: "#ffffff"
- text: crashReportCheckBox.text
- leftPadding: crashReportCheckBox.indicator.width + crashReportCheckBox.spacing
- font.pixelSize: 12
- }
- padding: 0
- }
- }
-
- Row {
id: designStudioVersion
anchors.top: logo.bottom
anchors.topMargin: 5
diff --git a/src/plugins/studiowelcome/qml/splashscreen/main.qml b/src/plugins/studiowelcome/qml/splashscreen/main.qml
index 3d453fe85e..3428fea6da 100644
--- a/src/plugins/studiowelcome/qml/splashscreen/main.qml
+++ b/src/plugins/studiowelcome/qml/splashscreen/main.qml
@@ -5,6 +5,14 @@ import QtQuick 2.0
Item {
id: root
+
+ focus: true
+ Keys.onPressed: (event)=> {
+ if (event.key == Qt.Key_Escape)
+ root.doNotShowAgain = false
+ root.closeClicked()
+ }
+
width: 600 * root.mainScale
height: 720 * root.mainScale
diff --git a/src/plugins/studiowelcome/studiowelcomeplugin.cpp b/src/plugins/studiowelcome/studiowelcomeplugin.cpp
index 614da817df..faf17d5f62 100644
--- a/src/plugins/studiowelcome/studiowelcomeplugin.cpp
+++ b/src/plugins/studiowelcome/studiowelcomeplugin.cpp
@@ -557,6 +557,7 @@ void StudioWelcomePlugin::extensionsInitialized()
s_view->show();
s_view->raise();
+ s_view->setFocus();
});
}
}