Commit de4f9cac authored by Don Gagne's avatar Don Gagne

Toolbar/Instruments respect palette

Map control use different border color based on map type
parent fd9e128e
...@@ -11,8 +11,6 @@ QGCCheckBox { ...@@ -11,8 +11,6 @@ QGCCheckBox {
property variant checkedValue: 1 property variant checkedValue: 1
property variant uncheckedValue: 0 property variant uncheckedValue: 0
property var __qgcpal: QGCPalette { colorGroupEnabled: true }
partiallyCheckedEnabled: fact.value != checkedValue && fact.value != uncheckedValue partiallyCheckedEnabled: fact.value != checkedValue && fact.value != uncheckedValue
checkedState: fact.value == checkedValue ? Qt.Checked : (fact.value == uncheckedValue ? Qt.Unchecked : Qt.PartiallyChecked) checkedState: fact.value == checkedValue ? Qt.Checked : (fact.value == uncheckedValue ? Qt.Unchecked : Qt.PartiallyChecked)
......
...@@ -40,12 +40,14 @@ Item { ...@@ -40,12 +40,14 @@ Item {
property alias guidedModeBar: _guidedModeBar property alias guidedModeBar: _guidedModeBar
property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle
property bool _isSatellite: _mainIsMap ? _flightMap ? _flightMap.isSatelliteMap : true : true property bool _isSatellite: _mainIsMap ? (_flightMap ? _flightMap.isSatelliteMap : true) : true
property bool _lightWidgetBorders: _mainIsMap ? (_flightMap ? _flightMap.isSatelliteMap : true) : true
readonly property real _margins: ScreenTools.defaultFontPixelHeight / 2 readonly property real _margins: ScreenTools.defaultFontPixelHeight / 2
QGCMapPalette { id: mapPal; lightColors: !isBackgroundDark } QGCMapPalette { id: mapPal; lightColors: !isBackgroundDark }
QGCPalette { id: qgcPal }
function getGadgetWidth() { function getGadgetWidth() {
if(ScreenTools.isMobile) { if(ScreenTools.isMobile) {
...@@ -111,7 +113,7 @@ Item { ...@@ -111,7 +113,7 @@ Item {
pitchAngle: _pitch pitchAngle: _pitch
groundSpeedFact: _groundSpeedFact groundSpeedFact: _groundSpeedFact
airSpeedFact: _airSpeedFact airSpeedFact: _airSpeedFact
isSatellite: _isSatellite lightBorders: _lightWidgetBorders
z: QGroundControl.zOrderWidgets z: QGroundControl.zOrderWidgets
qgcView: parent.parent.qgcView qgcView: parent.parent.qgcView
maxHeight: parent.height - (anchors.margins * 2) maxHeight: parent.height - (anchors.margins * 2)
...@@ -156,12 +158,13 @@ Item { ...@@ -156,12 +158,13 @@ Item {
//-- Map Center Control //-- Map Center Control
DropButton { DropButton {
id: centerMapDropButton id: centerMapDropButton
dropDirection: dropRight dropDirection: dropRight
buttonImage: "/qmlimages/MapCenter.svg" buttonImage: "/qmlimages/MapCenter.svg"
viewportMargins: ScreenTools.defaultFontPixelWidth / 2 viewportMargins: ScreenTools.defaultFontPixelWidth / 2
exclusiveGroup: _dropButtonsExclusiveGroup exclusiveGroup: _dropButtonsExclusiveGroup
z: QGroundControl.zOrderWidgets z: QGroundControl.zOrderWidgets
lightBorders: _lightWidgetBorders
dropDownComponent: Component { dropDownComponent: Component {
Row { Row {
...@@ -197,12 +200,13 @@ Item { ...@@ -197,12 +200,13 @@ Item {
//-- Map Type Control //-- Map Type Control
DropButton { DropButton {
id: mapTypeButton id: mapTypeButton
dropDirection: dropRight dropDirection: dropRight
buttonImage: "/qmlimages/MapType.svg" buttonImage: "/qmlimages/MapType.svg"
viewportMargins: ScreenTools.defaultFontPixelWidth / 2 viewportMargins: ScreenTools.defaultFontPixelWidth / 2
exclusiveGroup: _dropButtonsExclusiveGroup exclusiveGroup: _dropButtonsExclusiveGroup
z: QGroundControl.zOrderWidgets z: QGroundControl.zOrderWidgets
lightBorders: _lightWidgetBorders
dropDownComponent: Component { dropDownComponent: Component {
Column { Column {
...@@ -247,6 +251,8 @@ Item { ...@@ -247,6 +251,8 @@ Item {
buttonImage: "/qmlimages/ZoomPlus.svg" buttonImage: "/qmlimages/ZoomPlus.svg"
exclusiveGroup: _dropButtonsExclusiveGroup exclusiveGroup: _dropButtonsExclusiveGroup
z: QGroundControl.zOrderWidgets z: QGroundControl.zOrderWidgets
lightBorders: _lightWidgetBorders
onClicked: { onClicked: {
if(_flightMap) if(_flightMap)
_flightMap.zoomLevel += 0.5 _flightMap.zoomLevel += 0.5
...@@ -261,6 +267,8 @@ Item { ...@@ -261,6 +267,8 @@ Item {
buttonImage: "/qmlimages/ZoomMinus.svg" buttonImage: "/qmlimages/ZoomMinus.svg"
exclusiveGroup: _dropButtonsExclusiveGroup exclusiveGroup: _dropButtonsExclusiveGroup
z: QGroundControl.zOrderWidgets z: QGroundControl.zOrderWidgets
lightBorders: _lightWidgetBorders
onClicked: { onClicked: {
if(_flightMap) if(_flightMap)
_flightMap.zoomLevel -= 0.5 _flightMap.zoomLevel -= 0.5
...@@ -278,7 +286,7 @@ Item { ...@@ -278,7 +286,7 @@ Item {
width: guidedModeColumn.width + (_margins * 2) width: guidedModeColumn.width + (_margins * 2)
height: guidedModeColumn.height + (_margins * 2) height: guidedModeColumn.height + (_margins * 2)
radius: _margins radius: _margins
color: qgcPal.window color: _lightWidgetBorders ? qgcPal.mapWidgetBorderLight : qgcPal.mapWidgetBorderDark
visible: _activeVehicle visible: _activeVehicle
opacity: 0.9 opacity: 0.9
z: QGroundControl.zOrderWidgets z: QGroundControl.zOrderWidgets
......
...@@ -34,6 +34,7 @@ import QGroundControl.Controls 1.0 ...@@ -34,6 +34,7 @@ import QGroundControl.Controls 1.0
import QGroundControl.ScreenTools 1.0 import QGroundControl.ScreenTools 1.0
import QGroundControl.FactSystem 1.0 import QGroundControl.FactSystem 1.0
import QGroundControl.FlightMap 1.0 import QGroundControl.FlightMap 1.0
import QGroundControl.Palette 1.0
Item { Item {
id: instrumentPanel id: instrumentPanel
...@@ -44,7 +45,7 @@ Item { ...@@ -44,7 +45,7 @@ Item {
property alias rollAngle: attitudeWidget.rollAngle property alias rollAngle: attitudeWidget.rollAngle
property alias pitchAngle: attitudeWidget.pitchAngle property alias pitchAngle: attitudeWidget.pitchAngle
property real size: _defaultSize property real size: _defaultSize
property bool isSatellite: false property bool lightBorders: true
property bool active: false property bool active: false
property var qgcView property var qgcView
property real maxHeight property real maxHeight
...@@ -55,7 +56,7 @@ Item { ...@@ -55,7 +56,7 @@ Item {
property real _defaultSize: ScreenTools.defaultFontPixelSize * (9) property real _defaultSize: ScreenTools.defaultFontPixelSize * (9)
property color _backgroundColor: isSatellite ? Qt.rgba(1,1,1,0.75) : Qt.rgba(0,0,0,0.75) property color _backgroundColor: qgcPal.window
property real _spacing: ScreenTools.defaultFontPixelSize * 0.33 property real _spacing: ScreenTools.defaultFontPixelSize * 0.33
property real _topBottomMargin: (size * 0.05) / 2 property real _topBottomMargin: (size * 0.05) / 2
property real _availableValueHeight: maxHeight - (attitudeWidget.height + _spacer1.height + _spacer2.height + (_spacing * 4)) - (_showCompass ? compass.height : 0) property real _availableValueHeight: maxHeight - (attitudeWidget.height + _spacer1.height + _spacer2.height + (_spacing * 4)) - (_showCompass ? compass.height : 0)
...@@ -63,12 +64,16 @@ Item { ...@@ -63,12 +64,16 @@ Item {
readonly property bool _showCompass: !ScreenTools.isShortScreen readonly property bool _showCompass: !ScreenTools.isShortScreen
QGCPalette { id: qgcPal }
Rectangle { Rectangle {
anchors.left: parent.left anchors.left: parent.left
anchors.right: parent.right anchors.right: parent.right
height: (_showCompass ? instrumentColumn.height : attitudeWidget.height) + (_topBottomMargin * 2) height: (_showCompass ? instrumentColumn.height : attitudeWidget.height) + (_topBottomMargin * 2)
radius: size / 2 radius: size / 2
color: _backgroundColor color: _backgroundColor
border.width: 1
border.color: lightBorders ? qgcPal.mapWidgetBorderLight : qgcPal.mapWidgetBorderDark
} }
MouseArea { MouseArea {
...@@ -104,7 +109,6 @@ Item { ...@@ -104,7 +109,6 @@ Item {
opacity: 0.5 opacity: 0.5
width: attitudeWidget.width * 0.15 width: attitudeWidget.width * 0.15
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
visible: _activeVehicle
MouseArea { MouseArea {
anchors.fill: parent anchors.fill: parent
...@@ -120,7 +124,7 @@ Item { ...@@ -120,7 +124,7 @@ Item {
id: _spacer1 id: _spacer1
height: 1 height: 1
width: parent.width * 0.9 width: parent.width * 0.9
color: isSatellite ? Qt.rgba(0,0,0,0.25) : Qt.rgba(1,1,1,0.25) color: qgcPal.text
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
} }
...@@ -139,7 +143,7 @@ Item { ...@@ -139,7 +143,7 @@ Item {
id: _valuesWidget id: _valuesWidget
width: parent.width width: parent.width
qgcView: instrumentPanel.qgcView qgcView: instrumentPanel.qgcView
textColor: isSatellite ? "black" : "white" textColor: qgcPal.text
backgroundColor: _backgroundColor backgroundColor: _backgroundColor
maxHeight: _availableValueHeight maxHeight: _availableValueHeight
} }
...@@ -149,7 +153,7 @@ Item { ...@@ -149,7 +153,7 @@ Item {
id: _spacer2 id: _spacer2
height: 1 height: 1
width: parent.width * 0.9 width: parent.width * 0.9
color: isSatellite ? Qt.rgba(0,0,0,0.25) : Qt.rgba(1,1,1,0.25) color: qgcPal.text
visible: _showCompass visible: _showCompass
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
} }
......
...@@ -64,6 +64,7 @@ QGCView { ...@@ -64,6 +64,7 @@ QGCView {
property var _currentMissionItem property var _currentMissionItem
property bool _firstVehiclePosition: true property bool _firstVehiclePosition: true
property var activeVehiclePosition: _activeVehicle ? _activeVehicle.coordinate : QtPositioning.coordinate() property var activeVehiclePosition: _activeVehicle ? _activeVehicle.coordinate : QtPositioning.coordinate()
property bool _lightWidgetBorders: editorMap.isSatelliteMap
onActiveVehiclePositionChanged: updateMapToVehiclePosition() onActiveVehiclePositionChanged: updateMapToVehiclePosition()
...@@ -524,16 +525,18 @@ QGCView { ...@@ -524,16 +525,18 @@ QGCView {
spacing: ScreenTools.defaultFontPixelHeight spacing: ScreenTools.defaultFontPixelHeight
RoundButton { RoundButton {
id: addMissionItemsButton id: addMissionItemsButton
buttonImage: "/qmlimages/MapAddMission.svg" buttonImage: "/qmlimages/MapAddMission.svg"
z: QGroundControl.zOrderWidgets z: QGroundControl.zOrderWidgets
lightBorders: _lightWidgetBorders
} }
RoundButton { RoundButton {
id: addShapeButton id: addShapeButton
buttonImage: "/qmlimages/MapDrawShape.svg" buttonImage: "/qmlimages/MapDrawShape.svg"
z: QGroundControl.zOrderWidgets z: QGroundControl.zOrderWidgets
visible: QGroundControl.experimentalSurvey visible: QGroundControl.experimentalSurvey
lightBorders: _lightWidgetBorders
onClicked: { onClicked: {
var coordinate = editorMap.center var coordinate = editorMap.center
...@@ -557,6 +560,7 @@ QGCView { ...@@ -557,6 +560,7 @@ QGCView {
dropDownComponent: syncDropDownComponent dropDownComponent: syncDropDownComponent
enabled: !controller.syncInProgress enabled: !controller.syncInProgress
rotateImage: controller.syncInProgress rotateImage: controller.syncInProgress
lightBorders: _lightWidgetBorders
} }
DropButton { DropButton {
...@@ -566,6 +570,7 @@ QGCView { ...@@ -566,6 +570,7 @@ QGCView {
viewportMargins: ScreenTools.defaultFontPixelWidth / 2 viewportMargins: ScreenTools.defaultFontPixelWidth / 2
exclusiveGroup: _dropButtonsExclusiveGroup exclusiveGroup: _dropButtonsExclusiveGroup
z: QGroundControl.zOrderWidgets z: QGroundControl.zOrderWidgets
lightBorders: _lightWidgetBorders
dropDownComponent: Component { dropDownComponent: Component {
Column { Column {
...@@ -615,6 +620,7 @@ QGCView { ...@@ -615,6 +620,7 @@ QGCView {
viewportMargins: ScreenTools.defaultFontPixelWidth / 2 viewportMargins: ScreenTools.defaultFontPixelWidth / 2
exclusiveGroup: _dropButtonsExclusiveGroup exclusiveGroup: _dropButtonsExclusiveGroup
z: QGroundControl.zOrderWidgets z: QGroundControl.zOrderWidgets
lightBorders: _lightWidgetBorders
dropDownComponent: Component { dropDownComponent: Component {
Column { Column {
...@@ -646,10 +652,12 @@ QGCView { ...@@ -646,10 +652,12 @@ QGCView {
//-- Zoom Map In //-- Zoom Map In
RoundButton { RoundButton {
id: mapZoomPlus id: mapZoomPlus
visible: !ScreenTools.isTinyScreen && !ScreenTools.isShortScreen visible: !ScreenTools.isTinyScreen && !ScreenTools.isShortScreen
buttonImage: "/qmlimages/ZoomPlus.svg" buttonImage: "/qmlimages/ZoomPlus.svg"
z: QGroundControl.zOrderWidgets z: QGroundControl.zOrderWidgets
lightBorders: _lightWidgetBorders
onClicked: { onClicked: {
if(editorMap) if(editorMap)
editorMap.zoomLevel += 0.5 editorMap.zoomLevel += 0.5
...@@ -659,10 +667,12 @@ QGCView { ...@@ -659,10 +667,12 @@ QGCView {
//-- Zoom Map Out //-- Zoom Map Out
RoundButton { RoundButton {
id: mapZoomMinus id: mapZoomMinus
visible: !ScreenTools.isTinyScreen && !ScreenTools.isShortScreen visible: !ScreenTools.isTinyScreen && !ScreenTools.isShortScreen
buttonImage: "/qmlimages/ZoomMinus.svg" buttonImage: "/qmlimages/ZoomMinus.svg"
z: QGroundControl.zOrderWidgets z: QGroundControl.zOrderWidgets
lightBorders: _lightWidgetBorders
onClicked: { onClicked: {
if(editorMap) if(editorMap)
editorMap.zoomLevel -= 0.5 editorMap.zoomLevel -= 0.5
......
...@@ -656,13 +656,12 @@ void QGCApplication::_loadCurrentStyle(void) ...@@ -656,13 +656,12 @@ void QGCApplication::_loadCurrentStyle(void)
} }
if (success && !_styleIsDark) { if (success && !_styleIsDark) {
qDebug() << "LOADING LIGHT";
// Load the slave light stylesheet. // Load the slave light stylesheet.
QFile styleSheet(_lightStyleFile); QFile styleSheet(_lightStyleFile);
if (styleSheet.open(QIODevice::ReadOnly | QIODevice::Text)) { if (styleSheet.open(QIODevice::ReadOnly | QIODevice::Text)) {
styles += styleSheet.readAll(); styles += styleSheet.readAll();
} else { } else {
qDebug() << "Unable to load slave light sheet:"; qWarning() << "Unable to load slave light sheet:";
success = false; success = false;
} }
} }
......
...@@ -59,7 +59,7 @@ QColor QGCPalette::_warningText[QGCPalette::_cThemes][QGCPalette::_cColorGroups] ...@@ -59,7 +59,7 @@ QColor QGCPalette::_warningText[QGCPalette::_cThemes][QGCPalette::_cColorGroups]
}; };
QColor QGCPalette::_button[QGCPalette::_cThemes][QGCPalette::_cColorGroups] = { QColor QGCPalette::_button[QGCPalette::_cThemes][QGCPalette::_cColorGroups] = {
{ QColor("#ffffff"), QColor("#ffffff") }, { QColor("#ffffff"), QColor("#91d1e4") },
{ QColor(0x58, 0x58, 0x58), QColor(98, 98, 100) }, { QColor(0x58, 0x58, 0x58), QColor(98, 98, 100) },
}; };
...@@ -69,7 +69,7 @@ QColor QGCPalette::_buttonText[QGCPalette::_cThemes][QGCPalette::_cColorGroups] ...@@ -69,7 +69,7 @@ QColor QGCPalette::_buttonText[QGCPalette::_cThemes][QGCPalette::_cColorGroups]
}; };
QColor QGCPalette::_buttonHighlight[QGCPalette::_cThemes][QGCPalette::_cColorGroups] = { QColor QGCPalette::_buttonHighlight[QGCPalette::_cThemes][QGCPalette::_cColorGroups] = {
{ QColor("#e4e4e4"), QColor("#91d1e4") }, { QColor("#e4e4e4"), QColor("#33b5e5") },
{ QColor(0x58, 0x58, 0x58), QColor(237, 235, 51) }, { QColor(0x58, 0x58, 0x58), QColor(237, 235, 51) },
}; };
...@@ -108,6 +108,17 @@ QColor QGCPalette::_mapButtonHighlight[QGCPalette::_cThemes][QGCPalette::_cColor ...@@ -108,6 +108,17 @@ QColor QGCPalette::_mapButtonHighlight[QGCPalette::_cThemes][QGCPalette::_cColor
{ QColor(0x58, 0x58, 0x58), QColor(190, 120, 28) }, { QColor(0x58, 0x58, 0x58), QColor(190, 120, 28) },
}; };
// Map widget colors are not affecting by theming
QColor QGCPalette::_mapWidgetBorderLight[QGCPalette::_cThemes][QGCPalette::_cColorGroups] = {
{ QColor(255, 255, 255), QColor(255, 255, 255) },
{ QColor(255, 255, 255), QColor(255, 255, 255) },
};
QColor QGCPalette::_mapWidgetBorderDark[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)
......
...@@ -80,6 +80,8 @@ class QGCPalette : public QObject ...@@ -80,6 +80,8 @@ class QGCPalette : public QObject
Q_PROPERTY(QColor textFieldText READ textFieldText WRITE setTextFieldText NOTIFY paletteChanged) Q_PROPERTY(QColor textFieldText READ textFieldText WRITE setTextFieldText NOTIFY paletteChanged)
Q_PROPERTY(QColor mapButton READ mapButton WRITE setMapButton NOTIFY paletteChanged) Q_PROPERTY(QColor mapButton READ mapButton WRITE setMapButton NOTIFY paletteChanged)
Q_PROPERTY(QColor mapButtonHighlight READ mapButtonHighlight WRITE setMapButtonHighlight NOTIFY paletteChanged) Q_PROPERTY(QColor mapButtonHighlight READ mapButtonHighlight WRITE setMapButtonHighlight NOTIFY paletteChanged)
Q_PROPERTY(QColor mapWidgetBorderLight READ mapWidgetBorderLight WRITE setMapWidgetBorderLight NOTIFY paletteChanged)
Q_PROPERTY(QColor mapWidgetBorderDark READ mapWidgetBorderDark WRITE setMapWidgetBorderDark NOTIFY paletteChanged)
public: public:
enum ColorGroup { enum ColorGroup {
...@@ -113,6 +115,8 @@ public: ...@@ -113,6 +115,8 @@ public:
QColor textFieldText(void) const { return _textFieldText[_theme][_colorGroupEnabled ? 1 : 0]; } QColor textFieldText(void) const { return _textFieldText[_theme][_colorGroupEnabled ? 1 : 0]; }
QColor mapButton(void) const { return _mapButton[_theme][_colorGroupEnabled ? 1 : 0]; } QColor mapButton(void) const { return _mapButton[_theme][_colorGroupEnabled ? 1 : 0]; }
QColor mapButtonHighlight(void) const { return _mapButtonHighlight[_theme][_colorGroupEnabled ? 1 : 0]; } QColor mapButtonHighlight(void) const { return _mapButtonHighlight[_theme][_colorGroupEnabled ? 1 : 0]; }
QColor mapWidgetBorderLight(void) const { return _mapWidgetBorderLight[_theme][_colorGroupEnabled ? 1 : 0]; }
QColor mapWidgetBorderDark(void) const { return _mapWidgetBorderDark[_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(); }
...@@ -129,6 +133,8 @@ public: ...@@ -129,6 +133,8 @@ public:
void setTextFieldText(QColor& color) { _textFieldText[_theme][_colorGroupEnabled ? 1 : 0] = color; _signalPaletteChangeToAll(); } void setTextFieldText(QColor& color) { _textFieldText[_theme][_colorGroupEnabled ? 1 : 0] = color; _signalPaletteChangeToAll(); }
void setMapButton(QColor& color) { _mapButton[_theme][_colorGroupEnabled ? 1 : 0] = color; _signalPaletteChangeToAll(); } void setMapButton(QColor& color) { _mapButton[_theme][_colorGroupEnabled ? 1 : 0] = color; _signalPaletteChangeToAll(); }
void setMapButtonHighlight(QColor& color) { _mapButtonHighlight[_theme][_colorGroupEnabled ? 1 : 0] = color; _signalPaletteChangeToAll(); } void setMapButtonHighlight(QColor& color) { _mapButtonHighlight[_theme][_colorGroupEnabled ? 1 : 0] = color; _signalPaletteChangeToAll(); }
void setMapWidgetBorderLight(QColor& color) { _mapWidgetBorderLight[_theme][_colorGroupEnabled ? 1 : 0] = color; _signalPaletteChangeToAll(); }
void setMapWidgetBorderDark(QColor& color) { _mapWidgetBorderDark[_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);
...@@ -169,6 +175,9 @@ private: ...@@ -169,6 +175,9 @@ private:
static QColor _mapButton[_cThemes][_cColorGroups]; static QColor _mapButton[_cThemes][_cColorGroups];
static QColor _mapButtonHighlight[_cThemes][_cColorGroups]; static QColor _mapButtonHighlight[_cThemes][_cColorGroups];
static QColor _mapWidgetBorderLight[_cThemes][_cColorGroups];
static QColor _mapWidgetBorderDark[_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
......
...@@ -15,6 +15,7 @@ Item { ...@@ -15,6 +15,7 @@ Item {
property int dropDirection: dropDown property int dropDirection: dropDown
property alias dropDownComponent: dropDownLoader.sourceComponent property alias dropDownComponent: dropDownLoader.sourceComponent
property real viewportMargins: 0 property real viewportMargins: 0
property alias lightBorders: roundButton.lightBorders
width: radius * 2 width: radius * 2
height: radius * 2 height: radius * 2
......
import QtQuick 2.4 /*=====================================================================
QGroundControl Open Source Ground Control Station
(c) 2009, 2016 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
This file is part of the QGROUNDCONTROL project
QGROUNDCONTROL is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
QGROUNDCONTROL is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with QGROUNDCONTROL. If not, see <http://www.gnu.org/licenses/>.
======================================================================*/
import QtQuick 2.4
import QtQuick.Controls 1.2 import QtQuick.Controls 1.2
import QtGraphicalEffects 1.0
import QGroundControl.Controls 1.0
import QGroundControl.Palette 1.0
Item { Item {
id: _root id: _root
...@@ -12,28 +36,28 @@ Item { ...@@ -12,28 +36,28 @@ Item {
signal clicked() signal clicked()
QGCPalette { id: qgcPal }
onExclusiveGroupChanged: { onExclusiveGroupChanged: {
if (exclusiveGroup) { if (exclusiveGroup) {
exclusiveGroup.bindCheckable(_root) exclusiveGroup.bindCheckable(_root)
} }
} }
Image { Rectangle {
id: icon anchors.fill: parent
width: parent.height * 0.9 color: qgcPal.buttonHighlight
height: parent.height * 0.9 visible: checked
mipmap: true
fillMode: Image.PreserveAspectFit
visible: false
anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenter: parent.horizontalCenter
} }
ColorOverlay { QGCColoredImage {
id: iconOverlay id: icon
anchors.fill: icon width: parent.height * 0.9
source: icon height: parent.height * 0.9
color: (checked ? "#e4e428" : "#ffffff") fillMode: Image.PreserveAspectFit
color: checked ? qgcPal.buttonHighlightText : qgcPal.buttonText
anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenter: parent.horizontalCenter
} }
MouseArea { MouseArea {
...@@ -44,62 +68,3 @@ Item { ...@@ -44,62 +68,3 @@ Item {
} }
} }
} }
/*
QGCButton {
id: button
property bool repaintChevron: false
property var __qgcPal: QGCPalette { colorGroupEnabled: enabled }
property bool showHighlight: __showHighlight
style: ButtonStyle {
background: Item {
anchors.margins: height * 0.1 // 3
Canvas {
id: chevron
anchors.fill: parent
antialiasing: true
Connections {
target: button
onHoveredChanged: chevron.requestPaint()
onPressedChanged: chevron.requestPaint()
onCheckedChanged: chevron.requestPaint()
onShowHighlightChanged: chevron.requestPaint()
onRepaintChevronChanged: {
if(repaintChevron) {
chevron.requestPaint()
repaintChevron = false;
}
}
}
onPaint: {
var vMiddle = height / 2;
var context = getContext("2d");
var w12 = button.height * 0.4 // 12
var w3 = button.height * 0.1 // 3
var w15 = w12 + w3
context.reset();
context.beginPath();
context.lineWidth = button.height * 0.2; // 6
context.beginPath();
context.moveTo(0, 0);
context.lineTo(width - w15, 0);
context.lineTo(width - w3, vMiddle);
context.lineTo(width - w15, height);
context.lineTo(0, height);
context.closePath();
context.strokeStyle = __qgcPal.windowShade
context.fillStyle = showHighlight ? __qgcPal.buttonHighlight : (button.checked ? __qgcPal.buttonHighlight : __qgcPal.button);
context.stroke();
context.fill();
}
}
}
label: QGCLabel {
text: button.text
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
color: showHighlight ? __qgcPal.buttonHighlightText : (button.checked ? __qgcPal.primaryButtonText : __qgcPal.buttonText)
}
}
}
*/
...@@ -9,9 +9,10 @@ Item { ...@@ -9,9 +9,10 @@ Item {
id: _root id: _root
signal clicked() signal clicked()
property alias buttonImage: button.source property alias buttonImage: button.source
property real radius: ScreenTools.defaultFontPixelHeight * 1.5 property real radius: ScreenTools.defaultFontPixelHeight * 1.5
property bool rotateImage: false property bool rotateImage: false
property bool lightBorders: true
width: radius * 2 width: radius * 2
height: radius * 2 height: radius * 2
...@@ -40,15 +41,17 @@ Item { ...@@ -40,15 +41,17 @@ Item {
anchors.fill: parent anchors.fill: parent
radius: width / 2 radius: width / 2
border.width: ScreenTools.defaultFontPixelHeight * 0.0625 border.width: ScreenTools.defaultFontPixelHeight * 0.0625
border.color: "white" border.color: lightBorders ? qgcPal.mapWidgetBorderLight : qgcPal.mapWidgetBorderDark
color: checked ? qgcPal.mapButtonHighlight : qgcPal.mapButton color: checked ? qgcPal.buttonHighlight : qgcPal.button
Image { QGCColoredImage {
id: button id: button
anchors.fill: parent anchors.fill: parent
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
mipmap: true mipmap: true
smooth: true smooth: true
color: checked ? qgcPal.buttonHighlightText : qgcPal.buttonText
RotationAnimation on rotation { RotationAnimation on rotation {
id: imageRotation id: imageRotation
loops: Animation.Infinite loops: Animation.Infinite
......
...@@ -42,7 +42,7 @@ Item { ...@@ -42,7 +42,7 @@ Item {
readonly property string _planViewSource: "MissionEditor.qml" readonly property string _planViewSource: "MissionEditor.qml"
readonly property string _setupViewSource: "SetupView.qml" readonly property string _setupViewSource: "SetupView.qml"
QGCPalette { id: __qgcPal; colorGroupEnabled: true } QGCPalette { id: qgcPal; colorGroupEnabled: true }
property real tbHeight: ScreenTools.isMobile ? (ScreenTools.isTinyScreen ? (mainWindow.width * 0.0666) : (mainWindow.width * 0.05)) : ScreenTools.defaultFontPixelSize * 4 property real tbHeight: ScreenTools.isMobile ? (ScreenTools.isTinyScreen ? (mainWindow.width * 0.0666) : (mainWindow.width * 0.05)) : ScreenTools.defaultFontPixelSize * 4
property int tbCellHeight: tbHeight * 0.75 property int tbCellHeight: tbHeight * 0.75
...@@ -381,7 +381,7 @@ Item { ...@@ -381,7 +381,7 @@ Item {
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
//-- Critical Message Area //-- Critical Message Area
Rectangle { Rectangle {
id: criticalMmessageArea id: criticalMmessageArea
function close() { function close() {
//-- Are there messages in the waiting queue? //-- Are there messages in the waiting queue?
...@@ -401,7 +401,7 @@ Item { ...@@ -401,7 +401,7 @@ Item {
width: mainWindow.width * 0.55 width: mainWindow.width * 0.55
height: ScreenTools.defaultFontPixelHeight * ScreenTools.fontHRatio * 6 height: ScreenTools.defaultFontPixelHeight * ScreenTools.fontHRatio * 6
color: Qt.rgba(0,0,0,0.8) color: qgcPal.window
visible: false visible: false
radius: ScreenTools.defaultFontPixelHeight * 0.5 radius: ScreenTools.defaultFontPixelHeight * 0.5
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
...@@ -425,6 +425,7 @@ Item { ...@@ -425,6 +425,7 @@ Item {
boundsBehavior: Flickable.StopAtBounds boundsBehavior: Flickable.StopAtBounds
pixelAligned: true pixelAligned: true
clip: true clip: true
TextEdit { TextEdit {
id: criticalMessageText id: criticalMessageText
width: criticalMmessageArea.width - criticalClose.width - (ScreenTools.defaultFontPixelHeight * 2) width: criticalMmessageArea.width - criticalClose.width - (ScreenTools.defaultFontPixelHeight * 2)
...@@ -433,12 +434,12 @@ Item { ...@@ -433,12 +434,12 @@ Item {
textFormat: TextEdit.RichText textFormat: TextEdit.RichText
font.weight: Font.DemiBold font.weight: Font.DemiBold
wrapMode: TextEdit.WordWrap wrapMode: TextEdit.WordWrap
color: "#fdfd3b" color: qgcPal.warningText
} }
} }
//-- Dismiss Critical Message //-- Dismiss Critical Message
Image { QGCColoredImage {
id: criticalClose id: criticalClose
anchors.margins: ScreenTools.defaultFontPixelHeight anchors.margins: ScreenTools.defaultFontPixelHeight
anchors.top: parent.top anchors.top: parent.top
...@@ -447,8 +448,8 @@ Item { ...@@ -447,8 +448,8 @@ Item {
height: ScreenTools.defaultFontPixelHeight * 1.5 height: ScreenTools.defaultFontPixelHeight * 1.5
source: "/res/XDelete.svg" source: "/res/XDelete.svg"
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
mipmap: true color: qgcPal.warningText
smooth: true
MouseArea { MouseArea {
anchors.fill: parent anchors.fill: parent
onClicked: { onClicked: {
...@@ -458,7 +459,7 @@ Item { ...@@ -458,7 +459,7 @@ Item {
} }
//-- More text below indicator //-- More text below indicator
Image { QGCColoredImage {
anchors.margins: ScreenTools.defaultFontPixelHeight anchors.margins: ScreenTools.defaultFontPixelHeight
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
anchors.right: parent.right anchors.right: parent.right
...@@ -466,9 +467,9 @@ Item { ...@@ -466,9 +467,9 @@ Item {
height: ScreenTools.defaultFontPixelHeight * 1.5 height: ScreenTools.defaultFontPixelHeight * 1.5
source: "/res/ArrowDown.svg" source: "/res/ArrowDown.svg"
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
mipmap: true
smooth: true
visible: criticalMessageText.lineCount > 5 visible: criticalMessageText.lineCount > 5
color: qgcPal.warningText
MouseArea { MouseArea {
anchors.fill: parent anchors.fill: parent
onClicked: { onClicked: {
......
...@@ -44,6 +44,8 @@ Item { ...@@ -44,6 +44,8 @@ Item {
readonly property real __closeButtonSize: ScreenTools.defaultFontPixelHeight * 2 readonly property real __closeButtonSize: ScreenTools.defaultFontPixelHeight * 2
readonly property real _margins: ScreenTools.defaultFontPixelHeight / 2 readonly property real _margins: ScreenTools.defaultFontPixelHeight / 2
QGCPalette { id: qgcPal }
onVisibleChanged: { onVisibleChanged: {
//-- Unselect any selected button //-- Unselect any selected button
panelActionGroup.current = null panelActionGroup.current = null
...@@ -106,7 +108,7 @@ Item { ...@@ -106,7 +108,7 @@ Item {
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
anchors.left: parent.left anchors.left: parent.left
opacity: 0.0 opacity: 0.0
color: __qgcPal.window color: qgcPal.window
visible: __rightPanel.source == "" visible: __rightPanel.source == ""
// Dismiss if clicked outside menu area // Dismiss if clicked outside menu area
MouseArea { MouseArea {
...@@ -134,7 +136,7 @@ Item { ...@@ -134,7 +136,7 @@ Item {
anchors.left: parent.left anchors.left: parent.left
anchors.top: __topSeparator.bottom anchors.top: __topSeparator.bottom
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
color: __qgcPal.windowShadeDark color: qgcPal.windowShadeDark
QGCFlickable { QGCFlickable {
anchors.fill: parent anchors.fill: parent
...@@ -270,7 +272,7 @@ Item { ...@@ -270,7 +272,7 @@ Item {
height: parent.height - toolBar.height - __topSeparator.height height: parent.height - toolBar.height - __topSeparator.height
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
visible: __rightPanel.source != "" visible: __rightPanel.source != ""
color: __qgcPal.window color: qgcPal.window
//-- Panel Contents //-- Panel Contents
Loader { Loader {
id: __rightPanel id: __rightPanel
...@@ -288,7 +290,7 @@ Item { ...@@ -288,7 +290,7 @@ Item {
source: "/res/XDelete.svg" source: "/res/XDelete.svg"
mipmap: true mipmap: true
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
color: __qgcPal.text color: qgcPal.text
width: parent.width * 0.75 width: parent.width * 0.75
height: parent.height * 0.75 height: parent.height * 0.75
anchors.centerIn: parent anchors.centerIn: parent
......
...@@ -36,16 +36,13 @@ import QGroundControl.Palette 1.0 ...@@ -36,16 +36,13 @@ import QGroundControl.Palette 1.0
Rectangle { Rectangle {
id: _generalRoot id: _generalRoot
color: __qgcPal.window color: qgcPal.window
anchors.fill: parent anchors.fill: parent
anchors.margins: ScreenTools.defaultFontPixelWidth anchors.margins: ScreenTools.defaultFontPixelWidth
property Fact _percentRemainingAnnounce: QGroundControl.multiVehicleManager.disconnectedVehicle.battery.percentRemainingAnnounce property Fact _percentRemainingAnnounce: QGroundControl.multiVehicleManager.disconnectedVehicle.battery.percentRemainingAnnounce
QGCPalette { QGCPalette { id: qgcPal }
id: qgcPal
colorGroupEnabled: enabled
}
QGCFlickable { QGCFlickable {
clip: true clip: true
...@@ -115,7 +112,7 @@ Rectangle { ...@@ -115,7 +112,7 @@ Rectangle {
} }
QGCLabel { QGCLabel {
anchors.baseline: distanceUnitsCombo.baseline anchors.baseline: speedUnitsCombo.baseline
text: "(requires reboot to take affect)" text: "(requires reboot to take affect)"
} }
} }
...@@ -250,12 +247,11 @@ Rectangle { ...@@ -250,12 +247,11 @@ Rectangle {
QGCComboBox { QGCComboBox {
id: paletteCombo id: paletteCombo
width: ScreenTools.defaultFontPixelWidth * 16 width: ScreenTools.defaultFontPixelWidth * 16
model: [ "Dark", "Light" ] model: [ "Indoor", "Outdoor" ]
currentIndex: QGroundControl.isDarkStyle ? 0 : 1 currentIndex: QGroundControl.isDarkStyle ? 0 : 1
onActivated: { onActivated: {
if (index != -1) { if (index != -1) {
currentIndex = index currentIndex = index
console.log((index === 0) ? "Now it's Dark" : "Now it's Light")
QGroundControl.isDarkStyle = index === 0 ? true : false QGroundControl.isDarkStyle = index === 0 ? true : false
} }
} }
......
...@@ -35,13 +35,10 @@ import QGroundControl.Palette 1.0 ...@@ -35,13 +35,10 @@ import QGroundControl.Palette 1.0
Rectangle { Rectangle {
id: __mavlinkRoot id: __mavlinkRoot
color: __qgcPal.window color: qgcPal.window
anchors.fill: parent anchors.fill: parent
QGCPalette { QGCPalette { id: qgcPal }
id: qgcPal
colorGroupEnabled: enabled
}
QGCFlickable { QGCFlickable {
clip: true clip: true
......
This diff is collapsed.
This diff is collapsed.
...@@ -28,14 +28,20 @@ This file is part of the QGROUNDCONTROL project ...@@ -28,14 +28,20 @@ This file is part of the QGROUNDCONTROL project
*/ */
import QtQuick 2.4 import QtQuick 2.4
import QGroundControl.Controls 1.0
import QGroundControl.Controls 1.0
import QGroundControl.Palette 1.0
Item { Item {
id: signalRoot id: signalRoot
property real size: 50
property real percent: 0
width: size width: size
height: size height: size
property real size: 50
property real percent: 0
QGCPalette { id: qgcPal }
function getIcon() { function getIcon() {
if (percent < 20) if (percent < 20)
return "/qmlimages/Signal0.svg" return "/qmlimages/Signal0.svg"
...@@ -49,11 +55,11 @@ Item { ...@@ -49,11 +55,11 @@ Item {
return "/qmlimages/Signal80.svg" return "/qmlimages/Signal80.svg"
return "/qmlimages/Signal100.svg" return "/qmlimages/Signal100.svg"
} }
Image {
QGCColoredImage {
source: getIcon() source: getIcon()
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
mipmap: true
smooth: true
anchors.fill: parent anchors.fill: parent
color: qgcPal.buttonText
} }
} }
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