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] = ...@@ -137,6 +137,21 @@ QColor QGCPalette::_colorBlue[QGCPalette::_cThemes][QGCPalette::_cColorGroups] =
{ QColor("#536dff"), QColor("#536dff") }, { 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) : QGCPalette::QGCPalette(QObject* parent) :
QObject(parent), QObject(parent),
_colorGroupEnabled(true) _colorGroupEnabled(true)
......
...@@ -66,6 +66,10 @@ class QGCPalette : public QObject ...@@ -66,6 +66,10 @@ class QGCPalette : public QObject
Q_PROPERTY(QColor colorGrey READ colorGrey WRITE setColorGrey NOTIFY paletteChanged) Q_PROPERTY(QColor colorGrey READ colorGrey WRITE setColorGrey NOTIFY paletteChanged)
Q_PROPERTY(QColor colorBlue READ colorBlue WRITE setColorBlue 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: public:
enum ColorGroup { enum ColorGroup {
Disabled = 0, Disabled = 0,
...@@ -148,6 +152,11 @@ public: ...@@ -148,6 +152,11 @@ public:
QColor colorGrey () const { return _colorGrey[_theme][_colorGroupEnabled ? 1 : 0]; } QColor colorGrey () const { return _colorGrey[_theme][_colorGroupEnabled ? 1 : 0]; }
QColor colorBlue () const { return _colorBlue[_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 setWindow(QColor& color) { _window[_theme][_colorGroupEnabled ? 1 : 0] = color; _signalPaletteChangeToAll(); }
void setWindowShade(QColor& color) { _windowShade[_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(); } void setWindowShadeDark(QColor& color) { _windowShadeDark[_theme][_colorGroupEnabled ? 1 : 0] = color; _signalPaletteChangeToAll(); }
...@@ -172,6 +181,10 @@ public: ...@@ -172,6 +181,10 @@ public:
void setColorGrey (QColor& color) { _colorGrey[_theme][_colorGroupEnabled ? 1 : 0] = color; _signalPaletteChangeToAll(); } void setColorGrey (QColor& color) { _colorGrey[_theme][_colorGroupEnabled ? 1 : 0] = color; _signalPaletteChangeToAll(); }
void setColorBlue (QColor& color) { _colorBlue[_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 Theme globalTheme(void) { return _theme; }
static void setGlobalTheme(Theme newTheme); static void setGlobalTheme(Theme newTheme);
...@@ -222,6 +235,10 @@ private: ...@@ -222,6 +235,10 @@ private:
static QColor _colorGrey[_cThemes][_cColorGroups]; static QColor _colorGrey[_cThemes][_cColorGroups];
static QColor _colorBlue[_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); void _themeChanged(void);
static QList<QGCPalette*> _paletteObjects; ///< List of all active QGCPalette objects static QList<QGCPalette*> _paletteObjects; ///< List of all active QGCPalette objects
......
...@@ -745,213 +745,327 @@ Rectangle { ...@@ -745,213 +745,327 @@ Rectangle {
text: palette.colorBlue text: palette.colorBlue
} }
} // alertBackground
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
Loader { Loader {
sourceComponent: ctlRowHeader sourceComponent: rowHeader
property var text: "" 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 { Text {
width: 100 width: 80
height: 20 height: 20
color: "black" color: "black"
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
text: qsTr("Enabled") property var palette: QGCPalette { colorGroupEnabled: false }
text: palette.alertBackground
} }
Text { Text {
width: 100 width: 80
height: 20 height: 20
color: "black" color: "black"
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
text: qsTr("Disabled") property var palette: QGCPalette { colorGroupEnabled: true }
text: palette.alertBackground
} }
// QGCLabel // alertBorder
Loader { Loader {
sourceComponent: ctlRowHeader sourceComponent: rowHeader
property var text: "QGCLabel" property var text: "alertBorder"
}
QGCLabel {
width: 100
height: 20
text: qsTr("Label")
} }
QGCLabel { ClickableColor {
width: 100 property var palette: QGCPalette { colorGroupEnabled: false }
height: 20 color: palette.alertBorder
text: qsTr("Label") onColorSelected: palette.alertBorder = color
enabled: false
} }
ClickableColor {
// QGCButton property var palette: QGCPalette { colorGroupEnabled: true }
Loader { color: palette.alertBorder
sourceComponent: ctlRowHeader onColorSelected: palette.alertBorder = color
property var text: "QGCButton"
} }
QGCButton { Text {
width: 100 width: 80
height: 20 height: 20
text: qsTr("Button") color: "black"
horizontalAlignment: Text.AlignHCenter
property var palette: QGCPalette { colorGroupEnabled: false }
text: palette.alertBorder
} }
QGCButton { Text {
width: 100 width: 80
height: 20 height: 20
text: qsTr("Button") color: "black"
enabled: false horizontalAlignment: Text.AlignHCenter
property var palette: QGCPalette { colorGroupEnabled: true }
text: palette.alertBorder
} }
// QGCButton - primary // alertText
Loader { Loader {
sourceComponent: ctlRowHeader sourceComponent: rowHeader
property var text: "QGCButton(primary)" property var text: "alertText"
} }
QGCButton { ClickableColor {
width: 100 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 height: 20
primary: true color: "black"
text: qsTr("Button") horizontalAlignment: Text.AlignHCenter
property var palette: QGCPalette { colorGroupEnabled: false }
text: palette.alertText
} }
QGCButton { Text {
width: 100 width: 80
height: 20 height: 20
text: qsTr("Button") color: "black"
primary: true horizontalAlignment: Text.AlignHCenter
enabled: false property var palette: QGCPalette { colorGroupEnabled: true }
text: palette.alertText
} }
// QGCButton - menu }
Loader {
sourceComponent: ctlRowHeader Column {
property var text: "QGCButton(menu)" spacing: 10
} width: leftGrid.width
Menu { Grid {
id: buttonMenu id: leftGrid
MenuItem { columns: 3
text: qsTr("Item 1") 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 {
text: qsTr("Item 3") 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 // QGCLabel
Loader { Loader {
sourceComponent: ctlRowHeader sourceComponent: ctlRowHeader
property var text: "QGCRadioButton" property var text: "QGCLabel"
} }
QGCRadioButton { QGCLabel {
width: 100 width: 100
height: 20 height: 20
text: qsTr("Radio") text: qsTr("Label")
} }
QGCRadioButton { QGCLabel {
width: 100 width: 100
height: 20 height: 20
text: qsTr("Radio") text: qsTr("Label")
enabled: false enabled: false
} }
// QGCCheckBox // QGCButton
Loader { Loader {
sourceComponent: ctlRowHeader sourceComponent: ctlRowHeader
property var text: "QGCCheckBox" property var text: "QGCButton"
} }
QGCCheckBox { QGCButton {
width: 100 width: 100
height: 20 height: 20
text: qsTr("Check Box") text: qsTr("Button")
} }
QGCCheckBox { QGCButton {
width: 100 width: 100
height: 20 height: 20
text: qsTr("Check Box") text: qsTr("Button")
enabled: false enabled: false
} }
// QGCTextField // QGCButton - primary
Loader { Loader {
sourceComponent: ctlRowHeader sourceComponent: ctlRowHeader
property var text: "QGCTextField" property var text: "QGCButton(primary)"
} }
QGCTextField { QGCButton {
width: 100 width: 100
height: 20 height: 20
text: "QGCTextField" primary: true
} text: qsTr("Button")
QGCTextField { }
width: 100 QGCButton {
height: 20 width: 100
text: "QGCTextField" height: 20
enabled: false text: qsTr("Button")
} primary: true
enabled: false
}
// QGCComboBox // QGCButton - menu
Loader { Loader {
sourceComponent: ctlRowHeader sourceComponent: ctlRowHeader
property var text: "QGCComboBox" property var text: "QGCButton(menu)"
} }
QGCComboBox { Menu {
width: 100 id: buttonMenu
height: 20 MenuItem {
model: [ qsTr("Item 1"), qsTr("Item 2"), qsTr("Item 3") ] text: qsTr("Item 1")
} }
QGCComboBox { MenuItem {
width: 100 text: qsTr("Item 2")
height: 20 }
model: [ qsTr("Item 1"), qsTr("Item 2"), qsTr("Item 3") ] MenuItem {
enabled: false 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 // QGCRadioButton
Loader { Loader {
sourceComponent: ctlRowHeader sourceComponent: ctlRowHeader
property var text: "SubMenuButton" property var text: "QGCRadioButton"
} }
SubMenuButton { QGCRadioButton {
width: 100 width: 100
height: 100 height: 20
text: qsTr("SUB MENU") text: qsTr("Radio")
} }
SubMenuButton { QGCRadioButton {
width: 100 width: 100
height: 100 height: 20
text: qsTr("SUB MENU") text: qsTr("Radio")
enabled: false 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 { ...@@ -429,13 +429,13 @@ Item {
id: criticalMmessageArea id: criticalMmessageArea
width: mainWindow.width * 0.55 width: mainWindow.width * 0.55
height: Math.min(criticalMessageText.height + _textMargins * 2, ScreenTools.defaultFontPixelHeight * 6) height: Math.min(criticalMessageText.height + _textMargins * 2, ScreenTools.defaultFontPixelHeight * 6)
color: "#eecc44" color: qgcPal.alertBackground
visible: false visible: false
radius: ScreenTools.defaultFontPixelHeight * 0.5 radius: ScreenTools.defaultFontPixelHeight * 0.5
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
anchors.top: parent.top anchors.top: parent.top
anchors.topMargin: toolBar.height + ScreenTools.defaultFontPixelHeight / 2 anchors.topMargin: toolBar.height + ScreenTools.defaultFontPixelHeight / 2
border.color: "#808080" border.color: qgcPal.alertBorder
border.width: 2 border.width: 2
readonly property real _textMargins: ScreenTools.defaultFontPixelHeight readonly property real _textMargins: ScreenTools.defaultFontPixelHeight
...@@ -484,7 +484,7 @@ Item { ...@@ -484,7 +484,7 @@ Item {
font.pointSize: ScreenTools.defaultFontPointSize font.pointSize: ScreenTools.defaultFontPointSize
font.family: ScreenTools.demiboldFontFamily font.family: ScreenTools.demiboldFontFamily
wrapMode: TextEdit.WordWrap wrapMode: TextEdit.WordWrap
color: "black" color: qgcPal.alertText
} }
} }
...@@ -499,7 +499,7 @@ Item { ...@@ -499,7 +499,7 @@ Item {
sourceSize.height: width sourceSize.height: width
source: "/res/XDelete.svg" source: "/res/XDelete.svg"
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
color: "black" color: qgcPal.alertText
MouseArea { MouseArea {
anchors.fill: parent anchors.fill: parent
anchors.margins: ScreenTools.isMobile ? -ScreenTools.defaultFontPixelHeight : 0 anchors.margins: ScreenTools.isMobile ? -ScreenTools.defaultFontPixelHeight : 0
...@@ -520,7 +520,7 @@ Item { ...@@ -520,7 +520,7 @@ Item {
source: "/res/ArrowDown.svg" source: "/res/ArrowDown.svg"
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
visible: criticalMessageText.lineCount > 5 visible: criticalMessageText.lineCount > 5
color: "black" color: qgcPal.alertText
MouseArea { MouseArea {
anchors.fill: parent anchors.fill: parent
onClicked: { 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