Browse Source

Fix inverted order of color definitions when exporting

Fix overall Palette Window UI
QGC4.4
Gus Grubba 6 years ago
parent
commit
3c8779249d
  1. 180
      src/QmlControls/QmlTest.qml

180
src/QmlControls/QmlTest.qml

@ -17,27 +17,6 @@ Rectangle {
property var enabledPalette: QGCPalette { colorGroupEnabled: true } property var enabledPalette: QGCPalette { colorGroupEnabled: true }
property var disabledPalette: QGCPalette { colorGroupEnabled: false } property var disabledPalette: QGCPalette { colorGroupEnabled: false }
QGCFlickable {
anchors.fill: parent
contentWidth: _rootCol.width
contentHeight: _rootCol.height
clip: true
Column {
id: _rootCol
Rectangle {
id: _header
width: parent.width
height: themeChoice.height * 2
color: palette.window
QGCLabel {
id: windowColorLabel
text: qsTr("Window Color")
anchors.left: parent.left
anchors.leftMargin: 20
}
function exportPaletteColors(pal) { function exportPaletteColors(pal) {
var objToExport = {} var objToExport = {}
for(var clrName in pal) { for(var clrName in pal) {
@ -82,7 +61,7 @@ Rectangle {
for(var i = 0; i < palette.colors.length; i++) { for(var i = 0; i < palette.colors.length; i++) {
var cs = palette.colors[i] var cs = palette.colors[i]
var csc = cs + 'Colors' var csc = cs + 'Colors'
palToExport += 'DECLARE_QGC_COLOR(' + cs + ', \"' + palette[csc][0] + '\", \"' + palette[csc][1] + '\", \"' + palette[csc][2] + '\", \"' + palette[csc][3] + '\")\n' palToExport += 'DECLARE_QGC_COLOR(' + cs + ', \"' + palette[csc][1] + '\", \"' + palette[csc][0] + '\", \"' + palette[csc][3] + '\", \"' + palette[csc][2] + '\")\n'
} }
themeImportExportEdit.text = palToExport themeImportExportEdit.text = palToExport
} }
@ -97,10 +76,10 @@ Rectangle {
} }
palToExport += palToExport +=
'if (colorName == QStringLiteral(\"' + cs + '\")) {\n' + 'if (colorName == QStringLiteral(\"' + cs + '\")) {\n' +
' colorInfo[QGCPalette::Dark][QGCPalette::ColorGroupEnabled] = QColor(\"' + palette[csc][0] + '\");\n' + ' colorInfo[QGCPalette::Dark][QGCPalette::ColorGroupEnabled] = QColor(\"' + palette[csc][2] + '\");\n' +
' colorInfo[QGCPalette::Dark][QGCPalette::ColorGroupDisabled] = QColor(\"' + palette[csc][1] + '\");\n' + ' colorInfo[QGCPalette::Dark][QGCPalette::ColorGroupDisabled] = QColor(\"' + palette[csc][3] + '\");\n' +
' colorInfo[QGCPalette::Light][QGCPalette::ColorGroupEnabled] = QColor(\"' + palette[csc][2] + '\");\n' + ' colorInfo[QGCPalette::Light][QGCPalette::ColorGroupEnabled] = QColor(\"' + palette[csc][0] + '\");\n' +
' colorInfo[QGCPalette::Light][QGCPalette::ColorGroupDisabled] = QColor(\"' + palette[csc][3] + '\");\n' + ' colorInfo[QGCPalette::Light][QGCPalette::ColorGroupDisabled] = QColor(\"' + palette[csc][1] + '\");\n' +
'}' '}'
} }
themeImportExportEdit.text = palToExport themeImportExportEdit.text = palToExport
@ -128,6 +107,8 @@ Rectangle {
paletteImportExportPopup.close() paletteImportExportPopup.close()
} }
//-------------------------------------------------------------------------
//-- Export/Import
Popup { Popup {
id: paletteImportExportPopup id: paletteImportExportPopup
width: impCol.width + (ScreenTools.defaultFontPixelWidth * 4) width: impCol.width + (ScreenTools.defaultFontPixelWidth * 4)
@ -140,7 +121,7 @@ Rectangle {
y: Math.round((mainWindow.height - height) * 0.5) y: Math.round((mainWindow.height - height) * 0.5)
onVisibleChanged: { onVisibleChanged: {
if(visible) { if(visible) {
_header.exportTheme() exportTheme()
_jsonButton.checked = true _jsonButton.checked = true
} }
} }
@ -162,15 +143,15 @@ Rectangle {
QGCRadioButton { QGCRadioButton {
id: _jsonButton id: _jsonButton
text: "Json" text: "Json"
onClicked: _header.exportTheme() onClicked: exportTheme()
} }
QGCRadioButton { QGCRadioButton {
text: "QGC" text: "QGC"
onClicked: _header.exportThemeCPP() onClicked: exportThemeCPP()
} }
QGCRadioButton { QGCRadioButton {
text: "Custom Plugin" text: "Custom Plugin"
onClicked: _header.exportThemePlugin() onClicked: exportThemePlugin()
} }
} }
Rectangle { Rectangle {
@ -218,7 +199,7 @@ Rectangle {
text: "Import (Json Only)" text: "Import (Json Only)"
enabled: themeImportExportEdit.text[0] === "{" && _jsonButton.checked enabled: themeImportExportEdit.text[0] === "{" && _jsonButton.checked
onClicked: { onClicked: {
_header.importTheme(themeImportExportEdit.text); importTheme(themeImportExportEdit.text);
} }
} }
QGCButton { QGCButton {
@ -231,41 +212,60 @@ Rectangle {
} }
} }
Button { //-------------------------------------------------------------------------
id: exportButton //-- Header
text: "Import/Export" Rectangle {
width: 200 id: _header
height: 30 width: parent.width
anchors.left: windowColorLabel.right height: themeChoice.height * 2
anchors.leftMargin: 20 color: palette.window
onPressed: paletteImportExportPopup.open() anchors.top: parent.top
}
Row { Row {
id: themeChoice id: themeChoice
spacing: 20
anchors.centerIn: parent anchors.centerIn: parent
anchors.margins: 20 QGCLabel {
text: qsTr("Window Color")
anchors.verticalCenter: parent.verticalCenter
}
QGCButton {
text: qsTr("Import/Export")
anchors.verticalCenter: parent.verticalCenter
onClicked: paletteImportExportPopup.open()
}
Row {
spacing: 20 spacing: 20
anchors.verticalCenter: parent.verticalCenter
ButtonGroup { id: themeGroup; exclusive: true }
QGCRadioButton { QGCRadioButton {
text: qsTr("Light") text: qsTr("Light")
checked: palette.globalTheme === QGCPalette.Light checked: _root.palette.globalTheme === QGCPalette.Light
ButtonGroup.group: themeGroup onClicked: {
onClicked: { palette.globalTheme = QGCPalette.Light } _root.palette.globalTheme = QGCPalette.Light
}
} }
QGCRadioButton { QGCRadioButton {
text: qsTr("Dark") text: qsTr("Dark")
checked: palette.globalTheme === QGCPalette.Dark checked: _root.palette.globalTheme === QGCPalette.Dark
ButtonGroup.group: themeGroup onClicked: {
onClicked: { palette.globalTheme = QGCPalette.Dark } _root.palette.globalTheme = QGCPalette.Dark
} }
} }
} }
}
}
//-------------------------------------------------------------------------
//-- Main Contents
QGCFlickable {
anchors.top: _header.bottom
anchors.bottom: parent.bottom
width: parent.width
contentWidth: _rootCol.width
contentHeight: _rootCol.height
clip: true
Column {
id: _rootCol
Row { Row {
spacing: 30 spacing: 30
// Edit theme GroupBox // Edit theme GroupBox
GroupBox { GroupBox {
title: "Preview and edit theme" title: "Preview and edit theme"
@ -377,24 +377,6 @@ Rectangle {
columns: 3 columns: 3
spacing: 10 spacing: 10
Component {
id: ctlRowHeader
Rectangle {
width: ctlPrevColumn._colWidth
height: ctlPrevColumn._height
color: "white"
Text {
anchors.fill: parent
horizontalAlignment: Text.AlignRight
verticalAlignment: Text.AlignVCenter
color: "black"
text: parent.parent.text
}
}
}
// Header row // Header row
Text { Text {
width: ctlPrevColumn._colWidth width: ctlPrevColumn._colWidth
@ -660,6 +642,43 @@ Rectangle {
width: 1; width: 1;
} }
Row {
spacing: 10
anchors.horizontalCenter: parent.horizontalCenter
Loader {
property color backgroundColor: qgcPal.window
sourceComponent: arbBox
}
Loader {
property color backgroundColor: qgcPal.windowShade
sourceComponent: arbBox
}
Loader {
property color backgroundColor: qgcPal.windowShadeDark
sourceComponent: arbBox
}
}
}
}
Component {
id: ctlRowHeader
Rectangle {
width: ctlPrevColumn._colWidth
height: ctlPrevColumn._height
color: "white"
Text {
color: "black"
text: parent.parent.text
anchors.fill: parent
horizontalAlignment: Text.AlignRight
verticalAlignment: Text.AlignVCenter
}
}
}
Component { Component {
id: arbBox id: arbBox
Rectangle { Rectangle {
@ -727,25 +746,4 @@ Rectangle {
} }
} }
} }
Row {
spacing: 10
anchors.horizontalCenter: parent.horizontalCenter
Loader {
property color backgroundColor: qgcPal.window
sourceComponent: arbBox
}
Loader {
property color backgroundColor: qgcPal.windowShade
sourceComponent: arbBox
}
Loader {
property color backgroundColor: qgcPal.windowShadeDark
sourceComponent: arbBox
}
}
}
}
} }

Loading…
Cancel
Save