Commit b80a810a authored by Gus Grubba's avatar Gus Grubba

Adding alert message colors

parent d5e12680
......@@ -137,6 +137,21 @@ QColor QGCPalette::_colorBlue[QGCPalette::_cThemes][QGCPalette::_cColorGroups] =
{ QColor("#536dff"), QColor("#536dff") },
};
QColor QGCPalette::_alertBackground[QGCPalette::_cThemes][QGCPalette::_cColorGroups] = {
{ QColor("#eecc44"), QColor("#eecc44") },
{ QColor("#eecc44"), QColor("#eecc44") },
};
QColor QGCPalette::_alertBorder[QGCPalette::_cThemes][QGCPalette::_cColorGroups] = {
{ QColor("#808080"), QColor("#808080") },
{ QColor("#808080"), QColor("#808080") },
};
QColor QGCPalette::_alertText[QGCPalette::_cThemes][QGCPalette::_cColorGroups] = {
{ QColor(0,0,0), QColor(0,0,0) },
{ QColor(0,0,0), QColor(0,0,0) },
};
QGCPalette::QGCPalette(QObject* parent) :
QObject(parent),
_colorGroupEnabled(true)
......
......@@ -66,6 +66,10 @@ class QGCPalette : public QObject
Q_PROPERTY(QColor colorGrey READ colorGrey WRITE setColorGrey NOTIFY paletteChanged)
Q_PROPERTY(QColor colorBlue READ colorBlue WRITE setColorBlue NOTIFY paletteChanged)
Q_PROPERTY(QColor alertBackground READ alertBackground WRITE setAlertBackground NOTIFY paletteChanged)
Q_PROPERTY(QColor alertBorder READ alertBorder WRITE setAlertBorder NOTIFY paletteChanged)
Q_PROPERTY(QColor alertText READ alertText WRITE setAlertText NOTIFY paletteChanged)
public:
enum ColorGroup {
Disabled = 0,
......@@ -148,6 +152,11 @@ public:
QColor colorGrey () const { return _colorGrey[_theme][_colorGroupEnabled ? 1 : 0]; }
QColor colorBlue () const { return _colorBlue[_theme][_colorGroupEnabled ? 1 : 0]; }
/// Alert and important message dialogs
QColor alertBackground () const { return _alertBackground[_theme][_colorGroupEnabled ? 1 : 0]; }
QColor alertBorder () const { return _alertBorder[_theme][_colorGroupEnabled ? 1 : 0]; }
QColor alertText () const { return _alertText[_theme][_colorGroupEnabled ? 1 : 0]; }
void setWindow(QColor& color) { _window[_theme][_colorGroupEnabled ? 1 : 0] = color; _signalPaletteChangeToAll(); }
void setWindowShade(QColor& color) { _windowShade[_theme][_colorGroupEnabled ? 1 : 0] = color; _signalPaletteChangeToAll(); }
void setWindowShadeDark(QColor& color) { _windowShadeDark[_theme][_colorGroupEnabled ? 1 : 0] = color; _signalPaletteChangeToAll(); }
......@@ -172,6 +181,10 @@ public:
void setColorGrey (QColor& color) { _colorGrey[_theme][_colorGroupEnabled ? 1 : 0] = color; _signalPaletteChangeToAll(); }
void setColorBlue (QColor& color) { _colorBlue[_theme][_colorGroupEnabled ? 1 : 0] = color; _signalPaletteChangeToAll(); }
void setAlertBackground (QColor& color) { _alertBackground[_theme][_colorGroupEnabled ? 1 : 0] = color; _signalPaletteChangeToAll(); }
void setAlertBorder (QColor& color) { _alertBorder[_theme][_colorGroupEnabled ? 1 : 0] = color; _signalPaletteChangeToAll(); }
void setAlertText (QColor& color) { _alertText[_theme][_colorGroupEnabled ? 1 : 0] = color; _signalPaletteChangeToAll(); }
static Theme globalTheme(void) { return _theme; }
static void setGlobalTheme(Theme newTheme);
......@@ -222,6 +235,10 @@ private:
static QColor _colorGrey[_cThemes][_cColorGroups];
static QColor _colorBlue[_cThemes][_cColorGroups];
static QColor _alertBackground[_cThemes][_cColorGroups];
static QColor _alertBorder[_cThemes][_cColorGroups];
static QColor _alertText[_cThemes][_cColorGroups];
void _themeChanged(void);
static QList<QGCPalette*> _paletteObjects; ///< List of all active QGCPalette objects
......
......@@ -745,213 +745,327 @@ Rectangle {
text: palette.colorBlue
}
}
Grid {
columns: 3
spacing: 10
Component {
id: ctlRowHeader
Text {
width: 120
height: 20
horizontalAlignment: Text.AlignRight
verticalAlignment: Text.AlignVCenter
color: "black"
text: parent.text
}
}
// Header row
// alertBackground
Loader {
sourceComponent: ctlRowHeader
property var text: ""
sourceComponent: rowHeader
property var text: "alertBackground"
}
ClickableColor {
property var palette: QGCPalette { colorGroupEnabled: false }
color: palette.alertBackground
onColorSelected: palette.alertBackground = color
}
ClickableColor {
property var palette: QGCPalette { colorGroupEnabled: true }
color: palette.alertBackground
onColorSelected: palette.alertBackground = color
}
Text {
width: 100
width: 80
height: 20
color: "black"
horizontalAlignment: Text.AlignHCenter
text: qsTr("Enabled")
property var palette: QGCPalette { colorGroupEnabled: false }
text: palette.alertBackground
}
Text {
width: 100
width: 80
height: 20
color: "black"
horizontalAlignment: Text.AlignHCenter
text: qsTr("Disabled")
property var palette: QGCPalette { colorGroupEnabled: true }
text: palette.alertBackground
}
// QGCLabel
// alertBorder
Loader {
sourceComponent: ctlRowHeader
property var text: "QGCLabel"
}
QGCLabel {
width: 100
height: 20
text: qsTr("Label")
sourceComponent: rowHeader
property var text: "alertBorder"
}
QGCLabel {
width: 100
height: 20
text: qsTr("Label")
enabled: false
ClickableColor {
property var palette: QGCPalette { colorGroupEnabled: false }
color: palette.alertBorder
onColorSelected: palette.alertBorder = color
}
// QGCButton
Loader {
sourceComponent: ctlRowHeader
property var text: "QGCButton"
ClickableColor {
property var palette: QGCPalette { colorGroupEnabled: true }
color: palette.alertBorder
onColorSelected: palette.alertBorder = color
}
QGCButton {
width: 100
Text {
width: 80
height: 20
text: qsTr("Button")
color: "black"
horizontalAlignment: Text.AlignHCenter
property var palette: QGCPalette { colorGroupEnabled: false }
text: palette.alertBorder
}
QGCButton {
width: 100
Text {
width: 80
height: 20
text: qsTr("Button")
enabled: false
color: "black"
horizontalAlignment: Text.AlignHCenter
property var palette: QGCPalette { colorGroupEnabled: true }
text: palette.alertBorder
}
// QGCButton - primary
// alertText
Loader {
sourceComponent: ctlRowHeader
property var text: "QGCButton(primary)"
sourceComponent: rowHeader
property var text: "alertText"
}
QGCButton {
width: 100
ClickableColor {
property var palette: QGCPalette { colorGroupEnabled: false }
color: palette.alertText
onColorSelected: palette.alertText = color
}
ClickableColor {
property var palette: QGCPalette { colorGroupEnabled: true }
color: palette.alertText
onColorSelected: palette.alertText = color
}
Text {
width: 80
height: 20
primary: true
text: qsTr("Button")
color: "black"
horizontalAlignment: Text.AlignHCenter
property var palette: QGCPalette { colorGroupEnabled: false }
text: palette.alertText
}
QGCButton {
width: 100
Text {
width: 80
height: 20
text: qsTr("Button")
primary: true
enabled: false
color: "black"
horizontalAlignment: Text.AlignHCenter
property var palette: QGCPalette { colorGroupEnabled: true }
text: palette.alertText
}
// QGCButton - menu
Loader {
sourceComponent: ctlRowHeader
property var text: "QGCButton(menu)"
}
Menu {
id: buttonMenu
MenuItem {
text: qsTr("Item 1")
}
Column {
spacing: 10
width: leftGrid.width
Grid {
id: leftGrid
columns: 3
spacing: 10
Component {
id: ctlRowHeader
Text {
width: 120
height: 20
horizontalAlignment: Text.AlignRight
verticalAlignment: Text.AlignVCenter
color: "black"
text: parent.text
}
}
MenuItem {
text: qsTr("Item 2")
// Header row
Loader {
sourceComponent: ctlRowHeader
property var text: ""
}
MenuItem {
text: qsTr("Item 3")
Text {
width: 100
height: 20
color: "black"
horizontalAlignment: Text.AlignHCenter
text: qsTr("Enabled")
}
Text {
width: 100
height: 20
color: "black"
horizontalAlignment: Text.AlignHCenter
text: qsTr("Disabled")
}
}
QGCButton {
width: 100
height: 20
text: qsTr("Button")
menu: buttonMenu
}
QGCButton {
width: 100
height: 20
text: qsTr("Button")
enabled: false
menu: buttonMenu
}
// QGCRadioButton
Loader {
sourceComponent: ctlRowHeader
property var text: "QGCRadioButton"
}
QGCRadioButton {
width: 100
height: 20
text: qsTr("Radio")
}
QGCRadioButton {
width: 100
height: 20
text: qsTr("Radio")
enabled: false
}
// QGCLabel
Loader {
sourceComponent: ctlRowHeader
property var text: "QGCLabel"
}
QGCLabel {
width: 100
height: 20
text: qsTr("Label")
}
QGCLabel {
width: 100
height: 20
text: qsTr("Label")
enabled: false
}
// QGCCheckBox
Loader {
sourceComponent: ctlRowHeader
property var text: "QGCCheckBox"
}
QGCCheckBox {
width: 100
height: 20
text: qsTr("Check Box")
}
QGCCheckBox {
width: 100
height: 20
text: qsTr("Check Box")
enabled: false
}
// QGCButton
Loader {
sourceComponent: ctlRowHeader
property var text: "QGCButton"
}
QGCButton {
width: 100
height: 20
text: qsTr("Button")
}
QGCButton {
width: 100
height: 20
text: qsTr("Button")
enabled: false
}
// QGCTextField
Loader {
sourceComponent: ctlRowHeader
property var text: "QGCTextField"
}
QGCTextField {
width: 100
height: 20
text: "QGCTextField"
}
QGCTextField {
width: 100
height: 20
text: "QGCTextField"
enabled: false
}
// QGCButton - primary
Loader {
sourceComponent: ctlRowHeader
property var text: "QGCButton(primary)"
}
QGCButton {
width: 100
height: 20
primary: true
text: qsTr("Button")
}
QGCButton {
width: 100
height: 20
text: qsTr("Button")
primary: true
enabled: false
}
// QGCComboBox
Loader {
sourceComponent: ctlRowHeader
property var text: "QGCComboBox"
}
QGCComboBox {
width: 100
height: 20
model: [ qsTr("Item 1"), qsTr("Item 2"), qsTr("Item 3") ]
}
QGCComboBox {
width: 100
height: 20
model: [ qsTr("Item 1"), qsTr("Item 2"), qsTr("Item 3") ]
enabled: false
}
// QGCButton - menu
Loader {
sourceComponent: ctlRowHeader
property var text: "QGCButton(menu)"
}
Menu {
id: buttonMenu
MenuItem {
text: qsTr("Item 1")
}
MenuItem {
text: qsTr("Item 2")
}
MenuItem {
text: qsTr("Item 3")
}
}
QGCButton {
width: 100
height: 20
text: qsTr("Button")
menu: buttonMenu
}
QGCButton {
width: 100
height: 20
text: qsTr("Button")
enabled: false
menu: buttonMenu
}
// SubMenuButton
Loader {
sourceComponent: ctlRowHeader
property var text: "SubMenuButton"
}
SubMenuButton {
width: 100
height: 100
text: qsTr("SUB MENU")
}
SubMenuButton {
width: 100
height: 100
text: qsTr("SUB MENU")
enabled: false
// QGCRadioButton
Loader {
sourceComponent: ctlRowHeader
property var text: "QGCRadioButton"
}
QGCRadioButton {
width: 100
height: 20
text: qsTr("Radio")
}
QGCRadioButton {
width: 100
height: 20
text: qsTr("Radio")
enabled: false
}
// QGCCheckBox
Loader {
sourceComponent: ctlRowHeader
property var text: "QGCCheckBox"
}
QGCCheckBox {
width: 100
height: 20
text: qsTr("Check Box")
}
QGCCheckBox {
width: 100
height: 20
text: qsTr("Check Box")
enabled: false
}
// QGCTextField
Loader {
sourceComponent: ctlRowHeader
property var text: "QGCTextField"
}
QGCTextField {
width: 100
height: 20
text: "QGCTextField"
}
QGCTextField {
width: 100
height: 20
text: "QGCTextField"
enabled: false
}
// QGCComboBox
Loader {
sourceComponent: ctlRowHeader
property var text: "QGCComboBox"
}
QGCComboBox {
width: 100
height: 20
model: [ qsTr("Item 1"), qsTr("Item 2"), qsTr("Item 3") ]
}
QGCComboBox {
width: 100
height: 20
model: [ qsTr("Item 1"), qsTr("Item 2"), qsTr("Item 3") ]
enabled: false
}
// SubMenuButton
Loader {
sourceComponent: ctlRowHeader
property var text: "SubMenuButton"
}
SubMenuButton {
width: 100
height: 100
text: qsTr("SUB MENU")
}
SubMenuButton {
width: 100
height: 100
text: qsTr("SUB MENU")
enabled: false
}
}
Rectangle {
width: leftGrid.width
height: 60
radius: 3
color: palette.alertBackground
border.color: palette.alertBorder
anchors.horizontalCenter: parent.horizontalCenter
Label {
text: "Alert Message"
color: palette.alertText
anchors.centerIn: parent
}
}
}
}
......
......@@ -429,13 +429,13 @@ Item {
id: criticalMmessageArea
width: mainWindow.width * 0.55
height: Math.min(criticalMessageText.height + _textMargins * 2, ScreenTools.defaultFontPixelHeight * 6)
color: "#eecc44"
color: qgcPal.alertBackground
visible: false
radius: ScreenTools.defaultFontPixelHeight * 0.5
anchors.horizontalCenter: parent.horizontalCenter
anchors.top: parent.top
anchors.topMargin: toolBar.height + ScreenTools.defaultFontPixelHeight / 2
border.color: "#808080"
border.color: qgcPal.alertBorder
border.width: 2
readonly property real _textMargins: ScreenTools.defaultFontPixelHeight
......@@ -484,7 +484,7 @@ Item {
font.pointSize: ScreenTools.defaultFontPointSize
font.family: ScreenTools.demiboldFontFamily
wrapMode: TextEdit.WordWrap
color: "black"
color: qgcPal.alertText
}
}
......@@ -499,7 +499,7 @@ Item {
sourceSize.height: width
source: "/res/XDelete.svg"
fillMode: Image.PreserveAspectFit
color: "black"
color: qgcPal.alertText
MouseArea {
anchors.fill: parent
anchors.margins: ScreenTools.isMobile ? -ScreenTools.defaultFontPixelHeight : 0
......@@ -520,7 +520,7 @@ Item {
source: "/res/ArrowDown.svg"
fillMode: Image.PreserveAspectFit
visible: criticalMessageText.lineCount > 5
color: "black"
color: qgcPal.alertText
MouseArea {
anchors.fill: parent
onClicked: {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment