aboutsummaryrefslogtreecommitdiffstats
path: root/HomeScreen
diff options
context:
space:
mode:
Diffstat (limited to 'HomeScreen')
-rw-r--r--HomeScreen/HomeScreen.pro96
-rw-r--r--HomeScreen/README.md14
-rw-r--r--HomeScreen/resources/colorschemes/README3
-rw-r--r--HomeScreen/resources/colorschemes/default/0.ini31
-rw-r--r--HomeScreen/resources/colorschemes/default/1.ini31
-rw-r--r--HomeScreen/resources/colorschemes/demo1/0.ini31
-rw-r--r--HomeScreen/resources/colorschemes/demo1/1.ini31
-rw-r--r--HomeScreen/resources/colorschemes/demo2/0.ini31
-rw-r--r--HomeScreen/resources/colorschemes/demo2/1.ini31
-rw-r--r--HomeScreen/resources/controlbarwidget.ui3
-rw-r--r--HomeScreen/resources/settingswidget.ui97
-rw-r--r--HomeScreen/resources/statusbarwidget.ui88
-rw-r--r--HomeScreen/resources/translations/homescreen_de_DE.qmbin98 -> 173 bytes
-rw-r--r--HomeScreen/resources/translations/homescreen_de_DE.ts7
-rw-r--r--HomeScreen/resources/translations/homescreen_en_US.qmbin100 -> 179 bytes
-rw-r--r--HomeScreen/resources/translations/homescreen_en_US.ts7
-rw-r--r--HomeScreen/resources/translations/homescreen_ja_JP.qmbin127 -> 186 bytes
-rw-r--r--HomeScreen/resources/translations/homescreen_ja_JP.ts7
-rw-r--r--HomeScreen/src/controlbarwidget.cpp70
-rw-r--r--HomeScreen/src/controlbarwidget.h19
-rw-r--r--HomeScreen/src/main.cpp3
-rw-r--r--HomeScreen/src/mainwindow.cpp79
-rw-r--r--HomeScreen/src/mainwindow.h14
-rw-r--r--HomeScreen/src/popupwidget.cpp64
-rw-r--r--HomeScreen/src/popupwidget.h13
-rw-r--r--HomeScreen/src/settingswidget.cpp100
-rw-r--r--HomeScreen/src/settingswidget.h17
-rw-r--r--HomeScreen/src/statusbarwidget.cpp116
-rw-r--r--HomeScreen/src/statusbarwidget.h11
29 files changed, 565 insertions, 449 deletions
diff --git a/HomeScreen/HomeScreen.pro b/HomeScreen/HomeScreen.pro
index a3ebdba..bfe0491 100644
--- a/HomeScreen/HomeScreen.pro
+++ b/HomeScreen/HomeScreen.pro
@@ -12,8 +12,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-#TODO: compile switches for ARM/x86 architecture
-
QT += core gui dbus
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
@@ -29,13 +27,6 @@ SOURCES += \
src/popupwidget.cpp \
src/controlbarwidget.cpp \
src/statusbarwidget.cpp
-GENERATED_SOURCES += \
- $$OUT_PWD/daynightmode_adapter.cpp \ #generated dbus adapter
- $$OUT_PWD/daynightmode_proxy.cpp \ #generated dbus proxy
- $$OUT_PWD/popup_adapter.cpp \ #generated dbus adapter
- $$OUT_PWD/popup_proxy.cpp \ #generated dbus proxy
- $$OUT_PWD/statusbar_adapter.cpp \ #generated dbus adapter
- $$OUT_PWD/statusbar_proxy.cpp #generated dbus proxy
HEADERS += \
../interfaces/daynightmode.h \
@@ -45,12 +36,17 @@ HEADERS += \
src/popupwidget.h \
src/controlbarwidget.h \
src/statusbarwidget.h \
- $$OUT_PWD/daynightmode_adapter.h \ #generated dbus adapter
- $$OUT_PWD/daynightmode_proxy.h \ #generated dbus proxy
- $$OUT_PWD/popup_adapter.h \ #generated dbus adapter
- $$OUT_PWD/popup_proxy.h \ #generated dbus proxy
- $$OUT_PWD/statusbar_adapter.h \ #generated dbus adapter
- $$OUT_PWD/statusbar_proxy.h #generated dbus proxy
+ $$OUT_PWD/../interfaces/daynightmode_adapter.h \ #generated dbus adapter
+ $$OUT_PWD/../interfaces/daynightmode_proxy.h \ #generated dbus proxy
+ $$OUT_PWD/../interfaces/popup_adapter.h \ #generated dbus adapter
+ $$OUT_PWD/../interfaces/popup_proxy.h \ #generated dbus proxy
+ $$OUT_PWD/../interfaces/statusbar_adapter.h \ #generated dbus adapter
+ $$OUT_PWD/../interfaces/statusbar_proxy.h #generated dbus proxy
+
+INCLUDEPATH += $$OUT_PWD/../interfaces
+
+LIBS += -L$$OUT_PWD/../interfaces -linterfaces
+
FORMS += \
resources/mainwindow.ui \
@@ -65,74 +61,18 @@ TRANSLATIONS = \
resources/translations/homescreen_ja_JP.ts
OTHER_FILES += \
- ../interfaces/daynightmode.xml \
- ../interfaces/inputevent.xml \
- ../interfaces/popup.xml \
- ../interfaces/statusbar.xml \
README.md
RESOURCES += \
resources/homescreen.qrc
+copydata.commands = $(COPY_DIR) $$PWD/resources/colorschemes $$OUT_PWD
+HomeScreen.depends = $(HomeScreen) copydata
+export(HomeScreen.depends)
+export(copydata.commands)
+QMAKE_EXTRA_TARGETS += HomeScreen copydata
+
# remove generated files
QMAKE_CLEAN += -r \
$$OUT_PWD/HomeScreen \
- $$OUT_PWD/Makefile \
- $$OUT_PWD/daynightmode_adapter.h \
- $$OUT_PWD/daynightmode_adapter.cpp \
- $$OUT_PWD/daynightmode_adapter.moc \
- $$OUT_PWD/daynightmode_proxy.h \
- $$OUT_PWD/daynightmode_proxy.cpp \
- $$OUT_PWD/daynightmode_proxy.moc \
- $$OUT_PWD/popup_adapter.h \
- $$OUT_PWD/popup_adapter.cpp \
- $$OUT_PWD/popup_adapter.moc \
- $$OUT_PWD/popup_proxy.h \
- $$OUT_PWD/popup_proxy.cpp \
- $$OUT_PWD/popup_proxy.moc \
- $$OUT_PWD/statusbar_adapter.h \
- $$OUT_PWD/statusbar_adapter.cpp \
- $$OUT_PWD/statusbar_adapter.moc \
- $$OUT_PWD/statusbar_proxy.h \
- $$OUT_PWD/statusbar_proxy.cpp \
- $$OUT_PWD/statusbar_proxy.moc
-
-# Create custom targets for generating dbus proxy and adapter
-# OE_QMAKE_PATH_EXTERNAL_HOST_BINS is only defined in the yocto environment
-isEmpty(OE_QMAKE_PATH_EXTERNAL_HOST_BINS){
- OE_QMAKE_PATH_EXTERNAL_HOST_BINS = "/"
-}
-# for daynightmode
-daynightmodegenerateadapter.target = $$OUT_PWD/daynightmode_adapter.cpp
-unix:daynightmodegenerateadapter.commands = "$(OE_QMAKE_PATH_EXTERNAL_HOST_BINS)qdbusxml2cpp -m -a daynightmode_adapter $$_PRO_FILE_PWD_/../interfaces/daynightmode.xml; $(OE_QMAKE_PATH_EXTERNAL_HOST_BINS)moc $$OUT_PWD/daynightmode_adapter.h -o $$OUT_PWD/daynightmode_adapter.moc"
-daynightmodegenerateproxy.target = $$OUT_PWD/daynightmode_proxy.cpp
-unix:daynightmodegenerateproxy.commands = "$(OE_QMAKE_PATH_EXTERNAL_HOST_BINS)qdbusxml2cpp -m -p daynightmode_proxy $$_PRO_FILE_PWD_/../interfaces/daynightmode.xml; $(OE_QMAKE_PATH_EXTERNAL_HOST_BINS)moc $$OUT_PWD/daynightmode_proxy.h -o $$OUT_PWD/daynightmode_proxy.moc"
-PRE_TARGETDEPS += \
- $$OUT_PWD/daynightmode_adapter.cpp \
- $$OUT_PWD/daynightmode_proxy.cpp
-QMAKE_EXTRA_TARGETS += \
- daynightmodegenerateadapter \
- daynightmodegenerateproxy
-# for popup
-popupgenerateadapter.target = $$OUT_PWD/popup_adapter.cpp
-unix:popupgenerateadapter.commands = "$(OE_QMAKE_PATH_EXTERNAL_HOST_BINS)qdbusxml2cpp -m -a popup_adapter $$_PRO_FILE_PWD_/../interfaces/popup.xml; $(OE_QMAKE_PATH_EXTERNAL_HOST_BINS)moc $$OUT_PWD/popup_adapter.h -o $$OUT_PWD/popup_adapter.moc"
-popupgenerateproxy.target = $$OUT_PWD/popup_proxy.cpp
-unix:popupgenerateproxy.commands = "$(OE_QMAKE_PATH_EXTERNAL_HOST_BINS)qdbusxml2cpp -m -p popup_proxy $$_PRO_FILE_PWD_/../interfaces/popup.xml; $(OE_QMAKE_PATH_EXTERNAL_HOST_BINS)moc $$OUT_PWD/popup_proxy.h -o $$OUT_PWD/popup_proxy.moc"
-PRE_TARGETDEPS += \
- $$OUT_PWD/popup_adapter.cpp \
- $$OUT_PWD/popup_proxy.cpp
-QMAKE_EXTRA_TARGETS += \
- popupgenerateadapter \
- popupgenerateproxy
-# for statusbar
-statusbargenerateadapter.target = $$OUT_PWD/statusbar_adapter.cpp
-unix:statusbargenerateadapter.commands = "$(OE_QMAKE_PATH_EXTERNAL_HOST_BINS)qdbusxml2cpp -m -a statusbar_adapter $$_PRO_FILE_PWD_/../interfaces/statusbar.xml; $(OE_QMAKE_PATH_EXTERNAL_HOST_BINS)moc $$OUT_PWD/statusbar_adapter.h -o $$OUT_PWD/statusbar_adapter.moc"
-statusbargenerateproxy.target = $$OUT_PWD/statusbar_proxy.cpp
-unix:statusbargenerateproxy.commands = "$(OE_QMAKE_PATH_EXTERNAL_HOST_BINS)qdbusxml2cpp -m -p statusbar_proxy $$_PRO_FILE_PWD_/../interfaces/statusbar.xml; $(OE_QMAKE_PATH_EXTERNAL_HOST_BINS)moc $$OUT_PWD/statusbar_proxy.h -o $$OUT_PWD/statusbar_proxy.moc"
-PRE_TARGETDEPS += \
- $$OUT_PWD/statusbar_adapter.cpp \
- $$OUT_PWD/statusbar_proxy.cpp
-QMAKE_EXTRA_TARGETS += \
- statusbargenerateadapter \
- statusbargenerateproxy
-
+ $$OUT_PWD/Makefile
diff --git a/HomeScreen/README.md b/HomeScreen/README.md
index b896bfa..dca6057 100644
--- a/HomeScreen/README.md
+++ b/HomeScreen/README.md
@@ -1,9 +1,23 @@
AGL Home Screen reference implementation
+Build with QtCreator 3.0.1
+
AGL repo for source code:
https://gerrit.automotivelinux.org/gerrit/#/admin/projects/staging/HomeScreen
+AGL repo for bitbake recipe:
+https://gerrit.automotivelinux.org/gerrit/#/admin/projects/AGL/meta-agl-demo/recipes-demo-hmi/HomeScreen/HomeScreen_?.bb
+
+v0.1.1
+07/06/2016
+
+#changes
+- reworked D-Bus day/night mode handling
+
+#new features
+- color schemes implemented
+-- 3 color schemes as example added
v0.1.0
06/24/2016
diff --git a/HomeScreen/resources/colorschemes/README b/HomeScreen/resources/colorschemes/README
new file mode 100644
index 0000000..13984a8
--- /dev/null
+++ b/HomeScreen/resources/colorschemes/README
@@ -0,0 +1,3 @@
+0.ini for daymode settings
+1.ini for nightmode settings
+
diff --git a/HomeScreen/resources/colorschemes/default/0.ini b/HomeScreen/resources/colorschemes/default/0.ini
new file mode 100644
index 0000000..569aa74
--- /dev/null
+++ b/HomeScreen/resources/colorschemes/default/0.ini
@@ -0,0 +1,31 @@
+[ControlBarWidget]
+pushButton_Home=:/icons/home_day.png
+pushButton_Settings=:/icons/settings_day.png
+widget_Background=background-image: url(:/images/backgrounds/bg_green_day.png)
+
+[MainWindow]
+widget_Background="background-image: url(:/images/backgrounds/bg_blue_day.png);"
+widget_Home_Icon="border-image: url(:/icons/home_day.png) 0 0 0 0 stretch stretch;"
+
+[PopupWidget]
+label_Text="background-color: rgba(109, 109, 109, 0); background-image: url(:/images/transparency.png); border-image: url(:/images/transparency.png);"
+widget_Popup="QWidget { border: 1px solid #D3D3D3; border-radius: 8px; background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 rgba(242, 242, 249, 255), stop:1 rgba(255, 255, 255, 255)); color: #333; padding: 0px; } QWidget:on { background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #D5D5D5, stop: 1 #EEEEEE); }"
+
+[SettingsWidget]
+comboBoxLanguage="QComboBox { border: 1px solid #D3D3D3; border-radius: 8px; background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 rgba(242, 242, 249, 255), stop:1 rgba(255, 255, 255, 255)); color: #333; padding: 0px; } QComboBox:on { background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #D5D5D5, stop: 1 #EEEEEE); } QComboBox::drop-down { border: 0px solid; border-radius: 0px; } QComboBox::down-arrow:on { }"
+comboBoxColorScheme="QComboBox { border: 1px solid #D3D3D3; border-radius: 8px; background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 rgba(242, 242, 249, 255), stop:1 rgba(255, 255, 255, 255)); color: #333; padding: 0px; } QComboBox:on { background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #D5D5D5, stop: 1 #EEEEEE); } QComboBox::drop-down { border: 0px solid; border-radius: 0px; } QComboBox::down-arrow:on { }"
+widget_Background="background-image: url(:/images/backgrounds/bg_blue_day.png);"
+widget_Settings_Icon="border-image: url(:/icons/settings_day.png) 0 0 0 0 stretch stretch;"
+
+[StatusBarWidget]
+label_1="color: rgb(238, 238, 238); background-image: url(:/images/transparency.png);"
+label_1_icon="background-image: url(:/images/transparency.png);"
+label_2="color: rgb(238, 238, 238); background-image: url(:/images/transparency.png);"
+label_2_icon="background-image: url(:/images/transparency.png);"
+label_3="color: rgb(238, 238, 238); background-image: url(:/images/transparency.png);"
+label_3_icon="background-image: url(:/images/transparency.png);"
+label_4="color: rgb(238, 238, 238); background-image: url(:/images/transparency.png);"
+label_4_icon="background-image: url(:/images/transparency.png);"
+label_5="color: rgb(238, 238, 238); background-image: url(:/images/transparency.png);"
+label_5_icon="background-image: url(:/images/transparency.png);"
+widget=background-image: url(:/images/backgrounds/bg_stripes_day.png)
diff --git a/HomeScreen/resources/colorschemes/default/1.ini b/HomeScreen/resources/colorschemes/default/1.ini
new file mode 100644
index 0000000..ec6d421
--- /dev/null
+++ b/HomeScreen/resources/colorschemes/default/1.ini
@@ -0,0 +1,31 @@
+[ControlBarWidget]
+pushButton_Home=:/icons/home_night.png
+pushButton_Settings=:/icons/settings_night.png
+widget_Background=background-image: url(:/images/backgrounds/bg_green_night.png)
+
+[MainWindow]
+widget_Background="background-image: url(:/images/backgrounds/bg_blue_night.png);"
+widget_Home_Icon="border-image: url(:/icons/home_night.png) 0 0 0 0 stretch stretch;"
+
+[PopupWidget]
+label_Text="background-color: rgba(109, 109, 109, 0); background-image: url(:/images/transparency.png); border-image: url(:/images/transparency.png);"
+widget_Popup="QWidget { border: 1px solid #D3D3D3; border-radius: 8px; background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 rgba(147, 147, 151, 255), stop:1 rgba(255, 255, 255, 255)); color: #333; padding: 0px; } QWidget:on { background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #D5D5D5, stop: 1 #EEEEEE); }"
+
+[SettingsWidget]
+comboBoxLanguage="QComboBox { border: 1px solid #D3D3D3; border-radius: 8px; background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 rgba(147, 147, 151, 255), stop:1 rgba(255, 255, 255, 255)); color: #333; padding: 0px; } QComboBox:on { background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #D5D5D5, stop: 1 #EEEEEE); } QComboBox::drop-down { border: 0px solid; border-radius: 0px; } QComboBox::down-arrow:on { }"
+comboBoxColorScheme="QComboBox { border: 1px solid #D3D3D3; border-radius: 8px; background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 rgba(147, 147, 151, 255), stop:1 rgba(255, 255, 255, 255)); color: #333; padding: 0px; } QComboBox:on { background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #D5D5D5, stop: 1 #EEEEEE); } QComboBox::drop-down { border: 0px solid; border-radius: 0px; } QComboBox::down-arrow:on { }"
+widget_Background="background-image: url(:/images/backgrounds/bg_blue_night.png);"
+widget_Settings_Icon="border-image: url(:/icons/settings_night.png) 0 0 0 0 stretch stretch;"
+
+[StatusBarWidget]
+label_1="color: rgb(177, 177, 177); background-image: url(:/images/transparency.png);"
+label_1_icon="background-image: url(:/images/transparency.png);"
+label_2="color: rgb(177, 177, 177); background-image: url(:/images/transparency.png);"
+label_2_icon="background-image: url(:/images/transparency.png);"
+label_3="color: rgb(177, 177, 177); background-image: url(:/images/transparency.png);"
+label_3_icon="background-image: url(:/images/transparency.png);"
+label_4="color: rgb(177, 177, 177); background-image: url(:/images/transparency.png);"
+label_4_icon="background-image: url(:/images/transparency.png);"
+label_5="color: rgb(177, 177, 177); background-image: url(:/images/transparency.png);"
+label_5_icon="background-image: url(:/images/transparency.png);"
+widget=background-image: url(:/images/backgrounds/bg_stripes_night.png)
diff --git a/HomeScreen/resources/colorschemes/demo1/0.ini b/HomeScreen/resources/colorschemes/demo1/0.ini
new file mode 100644
index 0000000..6b7fa03
--- /dev/null
+++ b/HomeScreen/resources/colorschemes/demo1/0.ini
@@ -0,0 +1,31 @@
+[ControlBarWidget]
+pushButton_Home=:/icons/home_day.png
+pushButton_Settings=:/icons/settings_day.png
+widget_Background=background-image: url(:/images/backgrounds/bg_green_day.png)
+
+[MainWindow]
+widget_Background="background-image: url(:/images/backgrounds/bg_blue_day.png);"
+widget_Home_Icon="border-image: url(:/icons/home_day.png) 0 0 0 0 stretch stretch;"
+
+[PopupWidget]
+label_Text="background-color: rgba(255, 109, 109, 0); background-image: url(:/images/transparency.png); border-image: url(:/images/transparency.png);"
+widget_Popup="QWidget { border: 1px solid #D3D3D3; border-radius: 8px; background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 rgba(255, 242, 249, 255), stop:1 rgba(255, 255, 255, 255)); color: #333; padding: 0px; } QWidget:on { background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #D5D5D5, stop: 1 #EEEEEE); }"
+
+[SettingsWidget]
+comboBoxLanguage="QComboBox { border: 1px solid #D3D3D3; border-radius: 8px; background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 rgba(255, 242, 249, 255), stop:1 rgba(255, 255, 255, 255)); color: #333; padding: 0px; } QComboBox:on { background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #D5D5D5, stop: 1 #EEEEEE); } QComboBox::drop-down { border: 0px solid; border-radius: 0px; } QComboBox::down-arrow:on { }"
+comboBoxColorScheme="QComboBox { border: 1px solid #D3D3D3; border-radius: 8px; background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 rgba(255, 242, 249, 255), stop:1 rgba(255, 255, 255, 255)); color: #333; padding: 0px; } QComboBox:on { background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #D5D5D5, stop: 1 #EEEEEE); } QComboBox::drop-down { border: 0px solid; border-radius: 0px; } QComboBox::down-arrow:on { }"
+widget_Background="background-image: url(:/images/backgrounds/bg_blue_day.png);"
+widget_Settings_Icon="border-image: url(:/icons/settings_day.png) 0 0 0 0 stretch stretch;"
+
+[StatusBarWidget]
+label_1="color: rgb(255, 238, 238); background-image: url(:/images/transparency.png);"
+label_1_icon="background-image: url(:/images/transparency.png);"
+label_2="color: rgb(255, 238, 238); background-image: url(:/images/transparency.png);"
+label_2_icon="background-image: url(:/images/transparency.png);"
+label_3="color: rgb(255, 238, 238); background-image: url(:/images/transparency.png);"
+label_3_icon="background-image: url(:/images/transparency.png);"
+label_4="color: rgb(255, 238, 238); background-image: url(:/images/transparency.png);"
+label_4_icon="background-image: url(:/images/transparency.png);"
+label_5="color: rgb(255, 238, 238); background-image: url(:/images/transparency.png);"
+label_5_icon="background-image: url(:/images/transparency.png);"
+widget=background-image: url(:/images/backgrounds/bg_stripes_day.png)
diff --git a/HomeScreen/resources/colorschemes/demo1/1.ini b/HomeScreen/resources/colorschemes/demo1/1.ini
new file mode 100644
index 0000000..df2788f
--- /dev/null
+++ b/HomeScreen/resources/colorschemes/demo1/1.ini
@@ -0,0 +1,31 @@
+[ControlBarWidget]
+pushButton_Home=:/icons/home_night.png
+pushButton_Settings=:/icons/settings_night.png
+widget_Background=background-image: url(:/images/backgrounds/bg_green_night.png)
+
+[MainWindow]
+widget_Background="background-image: url(:/images/backgrounds/bg_blue_night.png);"
+widget_Home_Icon="border-image: url(:/icons/home_night.png) 0 0 0 0 stretch stretch;"
+
+[PopupWidget]
+label_Text="background-color: rgba(0, 109, 109, 0); background-image: url(:/images/transparency.png); border-image: url(:/images/transparency.png);"
+widget_Popup="QWidget { border: 1px solid #D3D3D3; border-radius: 8px; background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 rgba(147, 147, 151, 255), stop:1 rgba(255, 255, 255, 255)); color: #333; padding: 0px; } QWidget:on { background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #D5D5D5, stop: 1 #EEEEEE); }"
+
+[SettingsWidget]
+comboBoxLanguage="QComboBox { border: 1px solid #D3D3D3; border-radius: 8px; background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 rgba(0, 147, 151, 255), stop:1 rgba(255, 255, 255, 255)); color: #333; padding: 0px; } QComboBox:on { background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #D5D5D5, stop: 1 #EEEEEE); } QComboBox::drop-down { border: 0px solid; border-radius: 0px; } QComboBox::down-arrow:on { }"
+comboBoxColorScheme="QComboBox { border: 1px solid #D3D3D3; border-radius: 8px; background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 rgba(0, 147, 151, 255), stop:1 rgba(255, 255, 255, 255)); color: #333; padding: 0px; } QComboBox:on { background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #D5D5D5, stop: 1 #EEEEEE); } QComboBox::drop-down { border: 0px solid; border-radius: 0px; } QComboBox::down-arrow:on { }"
+widget_Background="background-image: url(:/images/backgrounds/bg_blue_night.png);"
+widget_Settings_Icon="border-image: url(:/icons/settings_night.png) 0 0 0 0 stretch stretch;"
+
+[StatusBarWidget]
+label_1="color: rgb(0, 177, 177); background-image: url(:/images/transparency.png);"
+label_1_icon="background-image: url(:/images/transparency.png);"
+label_2="color: rgb(0, 177, 177); background-image: url(:/images/transparency.png);"
+label_2_icon="background-image: url(:/images/transparency.png);"
+label_3="color: rgb(0, 177, 177); background-image: url(:/images/transparency.png);"
+label_3_icon="background-image: url(:/images/transparency.png);"
+label_4="color: rgb(0, 177, 177); background-image: url(:/images/transparency.png);"
+label_4_icon="background-image: url(:/images/transparency.png);"
+label_5="color: rgb(0, 177, 177); background-image: url(:/images/transparency.png);"
+label_5_icon="background-image: url(:/images/transparency.png);"
+widget=background-image: url(:/images/backgrounds/bg_stripes_night.png)
diff --git a/HomeScreen/resources/colorschemes/demo2/0.ini b/HomeScreen/resources/colorschemes/demo2/0.ini
new file mode 100644
index 0000000..4796703
--- /dev/null
+++ b/HomeScreen/resources/colorschemes/demo2/0.ini
@@ -0,0 +1,31 @@
+[ControlBarWidget]
+pushButton_Home=:/icons/home_day.png
+pushButton_Settings=:/icons/settings_day.png
+widget_Background=background-image: url(:/images/backgrounds/bg_green_day.png)
+
+[MainWindow]
+widget_Background="background-image: url(:/images/backgrounds/bg_blue_day.png);"
+widget_Home_Icon="border-image: url(:/icons/home_day.png) 0 0 0 0 stretch stretch;"
+
+[PopupWidget]
+label_Text="background-color: rgba(109, 255, 0, 0); background-image: url(:/images/transparency.png); border-image: url(:/images/transparency.png);"
+widget_Popup=""
+
+[SettingsWidget]
+comboBoxLanguage=""
+comboBoxColorScheme=""
+widget_Background="background-image: url(:/images/backgrounds/bg_blue_day.png);"
+widget_Settings_Icon="border-image: url(:/icons/settings_day.png) 0 0 0 0 stretch stretch;"
+
+[StatusBarWidget]
+label_1="color: rgb(238, 255, 0); background-image: url(:/images/transparency.png);"
+label_1_icon="background-image: url(:/images/transparency.png);"
+label_2="color: rgb(238, 255, 0); background-image: url(:/images/transparency.png);"
+label_2_icon="background-image: url(:/images/transparency.png);"
+label_3="color: rgb(238, 255, 0); background-image: url(:/images/transparency.png);"
+label_3_icon="background-image: url(:/images/transparency.png);"
+label_4="color: rgb(238, 255, 0); background-image: url(:/images/transparency.png);"
+label_4_icon="background-image: url(:/images/transparency.png);"
+label_5="color: rgb(238, 255, 0); background-image: url(:/images/transparency.png);"
+label_5_icon="background-image: url(:/images/transparency.png);"
+widget=background-image: url(:/images/backgrounds/bg_stripes_day.png)
diff --git a/HomeScreen/resources/colorschemes/demo2/1.ini b/HomeScreen/resources/colorschemes/demo2/1.ini
new file mode 100644
index 0000000..3415c55
--- /dev/null
+++ b/HomeScreen/resources/colorschemes/demo2/1.ini
@@ -0,0 +1,31 @@
+[ControlBarWidget]
+pushButton_Home=:/icons/home_night.png
+pushButton_Settings=:/icons/settings_night.png
+widget_Background=background-image: url(:/images/backgrounds/bg_green_night.png)
+
+[MainWindow]
+widget_Background="background-image: url(:/images/backgrounds/bg_blue_night.png);"
+widget_Home_Icon="border-image: url(:/icons/home_night.png) 0 0 0 0 stretch stretch;"
+
+[PopupWidget]
+label_Text="background-color: rgba(0, 109, 255, 0); background-image: url(:/images/transparency.png); border-image: url(:/images/transparency.png);"
+widget_Popup=""
+
+[SettingsWidget]
+comboBoxLanguage=""
+comboBoxColorScheme=""
+widget_Background="background-image: url(:/images/backgrounds/bg_blue_night.png);"
+widget_Settings_Icon="border-image: url(:/icons/settings_night.png) 0 0 0 0 stretch stretch;"
+
+[StatusBarWidget]
+label_1="color: rgb(177, 177, 255); background-image: url(:/images/transparency.png);"
+label_1_icon="background-image: url(:/images/transparency.png);"
+label_2="color: rgb(177, 177, 255); background-image: url(:/images/transparency.png);"
+label_2_icon="background-image: url(:/images/transparency.png);"
+label_3="color: rgb(177, 177, 255); background-image: url(:/images/transparency.png);"
+label_3_icon="background-image: url(:/images/transparency.png);"
+label_4="color: rgb(177, 177, 255); background-image: url(:/images/transparency.png);"
+label_4_icon="background-image: url(:/images/transparency.png);"
+label_5="color: rgb(177, 177, 255); background-image: url(:/images/transparency.png);"
+label_5_icon="background-image: url(:/images/transparency.png);"
+widget=background-image: url(:/images/backgrounds/bg_stripes_night.png)
diff --git a/HomeScreen/resources/controlbarwidget.ui b/HomeScreen/resources/controlbarwidget.ui
index 9696a49..a20f0b6 100644
--- a/HomeScreen/resources/controlbarwidget.ui
+++ b/HomeScreen/resources/controlbarwidget.ui
@@ -22,9 +22,6 @@
<height>60</height>
</rect>
</property>
- <property name="styleSheet">
- <string notr="true">background-image: url(:/images/backgrounds/bg_green_day.png);</string>
- </property>
<widget class="QPushButton" name="pushButton_Home">
<property name="geometry">
<rect>
diff --git a/HomeScreen/resources/settingswidget.ui b/HomeScreen/resources/settingswidget.ui
index 2ec5076..7b899f0 100644
--- a/HomeScreen/resources/settingswidget.ui
+++ b/HomeScreen/resources/settingswidget.ui
@@ -77,24 +77,85 @@ QComboBox::down-arrow:on {
</string>
</property>
</widget>
- </widget>
- <widget class="QLabel" name="labelLanguage">
- <property name="geometry">
- <rect>
- <x>20</x>
- <y>20</y>
- <width>300</width>
- <height>60</height>
- </rect>
- </property>
- <property name="font">
- <font>
- <pointsize>22</pointsize>
- </font>
- </property>
- <property name="text">
- <string>Language</string>
- </property>
+ <widget class="QLabel" name="labelColorScheme">
+ <property name="geometry">
+ <rect>
+ <x>20</x>
+ <y>120</y>
+ <width>300</width>
+ <height>60</height>
+ </rect>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>22</pointsize>
+ </font>
+ </property>
+ <property name="text">
+ <string>Color Scheme</string>
+ </property>
+ </widget>
+ <widget class="QLabel" name="labelLanguage">
+ <property name="geometry">
+ <rect>
+ <x>20</x>
+ <y>20</y>
+ <width>300</width>
+ <height>60</height>
+ </rect>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>22</pointsize>
+ </font>
+ </property>
+ <property name="text">
+ <string>Language</string>
+ </property>
+ </widget>
+ <widget class="QComboBox" name="comboBoxColorScheme">
+ <property name="geometry">
+ <rect>
+ <x>660</x>
+ <y>120</y>
+ <width>400</width>
+ <height>60</height>
+ </rect>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>22</pointsize>
+ </font>
+ </property>
+ <property name="focusPolicy">
+ <enum>Qt::NoFocus</enum>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">QComboBox {
+border: 1px solid #D3D3D3;
+border-radius: 8px;
+background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 rgba(242, 242, 249, 255), stop:1 rgba(255, 255, 255, 255));
+color: #333;
+padding: 0px;
+}
+QComboBox:on {
+background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #D5D5D5, stop: 1 #EEEEEE);
+}
+QComboBox::drop-down {
+border: 0px solid;
+border-radius: 0px;
+}
+QComboBox::down-arrow:on {
+}
+</string>
+ </property>
+ </widget>
+ <zorder>comboBoxLanguage</zorder>
+ <zorder>widget_Settings_Icon</zorder>
+ <zorder>labelLanguage</zorder>
+ <zorder>labelColorScheme</zorder>
+ <zorder>labelLanguage</zorder>
+ <zorder>comboBoxColorScheme</zorder>
</widget>
</widget>
<resources/>
diff --git a/HomeScreen/resources/statusbarwidget.ui b/HomeScreen/resources/statusbarwidget.ui
index d0747ab..2fcd9c0 100644
--- a/HomeScreen/resources/statusbarwidget.ui
+++ b/HomeScreen/resources/statusbarwidget.ui
@@ -22,9 +22,6 @@
<height>60</height>
</rect>
</property>
- <property name="styleSheet">
- <string notr="true">background-image: url(:/images/backgrounds/bg_stripes_day.png);</string>
- </property>
<widget class="QLabel" name="label_1">
<property name="geometry">
<rect>
@@ -41,10 +38,6 @@
<bold>true</bold>
</font>
</property>
- <property name="styleSheet">
- <string notr="true">color: rgb(238, 238, 238);
-background-image: url(:/images/transparency.png);</string>
- </property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
@@ -65,10 +58,6 @@ background-image: url(:/images/transparency.png);</string>
<bold>true</bold>
</font>
</property>
- <property name="styleSheet">
- <string notr="true">color: rgb(238, 238, 238);
-background-image: url(:/images/transparency.png);</string>
- </property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
@@ -89,10 +78,6 @@ background-image: url(:/images/transparency.png);</string>
<bold>true</bold>
</font>
</property>
- <property name="styleSheet">
- <string notr="true">color: rgb(238, 238, 238);
-background-image: url(:/images/transparency.png);</string>
- </property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
@@ -113,10 +98,6 @@ background-image: url(:/images/transparency.png);</string>
<bold>true</bold>
</font>
</property>
- <property name="styleSheet">
- <string notr="true">color: rgb(238, 238, 238);
-background-image: url(:/images/transparency.png);</string>
- </property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
@@ -137,14 +118,75 @@ background-image: url(:/images/transparency.png);</string>
<bold>true</bold>
</font>
</property>
- <property name="styleSheet">
- <string notr="true">color: rgb(238, 238, 238);
-background-image: url(:/images/transparency.png);</string>
- </property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
+ <widget class="QLabel" name="label_1_icon">
+ <property name="geometry">
+ <rect>
+ <x>20</x>
+ <y>10</y>
+ <width>40</width>
+ <height>40</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ <widget class="QLabel" name="label_2_icon">
+ <property name="geometry">
+ <rect>
+ <x>230</x>
+ <y>10</y>
+ <width>40</width>
+ <height>40</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ <widget class="QLabel" name="label_3_icon">
+ <property name="geometry">
+ <rect>
+ <x>440</x>
+ <y>10</y>
+ <width>40</width>
+ <height>40</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ <widget class="QLabel" name="label_4_icon">
+ <property name="geometry">
+ <rect>
+ <x>650</x>
+ <y>10</y>
+ <width>40</width>
+ <height>40</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ <widget class="QLabel" name="label_5_icon">
+ <property name="geometry">
+ <rect>
+ <x>860</x>
+ <y>10</y>
+ <width>40</width>
+ <height>40</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
</widget>
</widget>
<resources/>
diff --git a/HomeScreen/resources/translations/homescreen_de_DE.qm b/HomeScreen/resources/translations/homescreen_de_DE.qm
index bf2aa8c..856fc20 100644
--- a/HomeScreen/resources/translations/homescreen_de_DE.qm
+++ b/HomeScreen/resources/translations/homescreen_de_DE.qm
Binary files differ
diff --git a/HomeScreen/resources/translations/homescreen_de_DE.ts b/HomeScreen/resources/translations/homescreen_de_DE.ts
index d512aaf..4c43d67 100644
--- a/HomeScreen/resources/translations/homescreen_de_DE.ts
+++ b/HomeScreen/resources/translations/homescreen_de_DE.ts
@@ -37,7 +37,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../settingswidget.ui" line="96"/>
+ <location filename="../settingswidget.ui" line="95"/>
+ <source>Color Scheme</source>
+ <translation type="unfinished">Farbschema</translation>
+ </message>
+ <message>
+ <location filename="../settingswidget.ui" line="113"/>
<source>Language</source>
<translation type="unfinished">Sprache</translation>
</message>
diff --git a/HomeScreen/resources/translations/homescreen_en_US.qm b/HomeScreen/resources/translations/homescreen_en_US.qm
index ce75d11..2556083 100644
--- a/HomeScreen/resources/translations/homescreen_en_US.qm
+++ b/HomeScreen/resources/translations/homescreen_en_US.qm
Binary files differ
diff --git a/HomeScreen/resources/translations/homescreen_en_US.ts b/HomeScreen/resources/translations/homescreen_en_US.ts
index 07199a4..a7cb09e 100644
--- a/HomeScreen/resources/translations/homescreen_en_US.ts
+++ b/HomeScreen/resources/translations/homescreen_en_US.ts
@@ -37,7 +37,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../settingswidget.ui" line="96"/>
+ <location filename="../settingswidget.ui" line="95"/>
+ <source>Color Scheme</source>
+ <translation type="unfinished">Color Scheme</translation>
+ </message>
+ <message>
+ <location filename="../settingswidget.ui" line="113"/>
<source>Language</source>
<translation>Language</translation>
</message>
diff --git a/HomeScreen/resources/translations/homescreen_ja_JP.qm b/HomeScreen/resources/translations/homescreen_ja_JP.qm
index 8e662d8..497951a 100644
--- a/HomeScreen/resources/translations/homescreen_ja_JP.qm
+++ b/HomeScreen/resources/translations/homescreen_ja_JP.qm
Binary files differ
diff --git a/HomeScreen/resources/translations/homescreen_ja_JP.ts b/HomeScreen/resources/translations/homescreen_ja_JP.ts
index cb943e4..3dd76b1 100644
--- a/HomeScreen/resources/translations/homescreen_ja_JP.ts
+++ b/HomeScreen/resources/translations/homescreen_ja_JP.ts
@@ -57,7 +57,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../settingswidget.ui" line="96"/>
+ <location filename="../settingswidget.ui" line="95"/>
+ <source>Color Scheme</source>
+ <translation type="unfinished">配色</translation>
+ </message>
+ <message>
+ <location filename="../settingswidget.ui" line="113"/>
<source>Language</source>
<translation>言語</translation>
</message>
diff --git a/HomeScreen/src/controlbarwidget.cpp b/HomeScreen/src/controlbarwidget.cpp
index e01fe26..dee0207 100644
--- a/HomeScreen/src/controlbarwidget.cpp
+++ b/HomeScreen/src/controlbarwidget.cpp
@@ -16,77 +16,47 @@
#include "controlbarwidget.h"
#include "ui_controlbarwidget.h"
+#include "../interfaces/daynightmode.h"
+#include <QSettings>
ControlBarWidget::ControlBarWidget(QWidget *parent) :
QWidget(parent),
- mp_ui(new Ui::ControlBarWidget),
- mp_settingsWidget(0),
- m_dayNightMode(SystemDayNight::DAYNIGHTMODE_DAY), // TODO: read from system
- mp_dayNightModeProxy(0)
+ mp_ui(new Ui::ControlBarWidget)
{
- // this has to be adopted to the system setup
- mp_dayNightModeProxy = new org::agl::daynightmode("org.agl.homescreen.simulator", //"org.agl.systeminfoprovider"
- "/",
- QDBusConnection::sessionBus(),
- 0);
- QObject::connect(mp_dayNightModeProxy, SIGNAL(dayNightMode(int)), this, SLOT(dayNightModeSlot(int)));
-
mp_ui->setupUi(this);
}
ControlBarWidget::~ControlBarWidget()
{
- delete mp_dayNightModeProxy;
- if (0 != mp_settingsWidget)
- {
- delete mp_settingsWidget;
- }
delete mp_ui;
}
-void ControlBarWidget::dayNightModeSlot(int mode)
+void ControlBarWidget::updateColorScheme()
{
- QIcon icon;
- switch (mode)
- {
- case SystemDayNight::DAYNIGHTMODE_DAY:
- m_dayNightMode = SystemDayNight::DAYNIGHTMODE_DAY;
- mp_ui->widget_Background->setStyleSheet(QString("background-image: url(:/images/backgrounds/bg_green_day.png)"));
+ QSettings settings;
+ QSettings settings_cs(QApplication::applicationDirPath() +
+ "/colorschemes/" +
+ settings.value("systemsettings/colorscheme", "default").toString() +
+ "/" +
+ QString::number(settings.value("systemsettings/daynightmode", SystemDayNight::DAYNIGHTMODE_DAY).toInt()) +
+ ".ini",
+ QSettings::IniFormat);
- icon.addFile(QStringLiteral(":/icons/home_day.png"), QSize(), QIcon::Normal, QIcon::Off);
- mp_ui->pushButton_Home->setIcon(icon);
- icon.addFile(QStringLiteral(":/icons/settings_day.png"), QSize(), QIcon::Normal, QIcon::Off);
- mp_ui->pushButton_Settings->setIcon(icon);
- break;
- case SystemDayNight::DAYNIGHTMODE_NIGHT:
- m_dayNightMode = SystemDayNight::DAYNIGHTMODE_NIGHT;
- mp_ui->widget_Background->setStyleSheet(QString("background-image: url(:/images/backgrounds/bg_green_night.png)"));
+ QIcon icon;
+ mp_ui->widget_Background->setStyleSheet(settings_cs.value(QString("ControlBarWidget/widget_Background")).toString());
- icon.addFile(QStringLiteral(":/icons/home_night.png"), QSize(), QIcon::Normal, QIcon::Off);
- mp_ui->pushButton_Home->setIcon(icon);
- icon.addFile(QStringLiteral(":/icons/settings_night.png"), QSize(), QIcon::Normal, QIcon::Off);
- mp_ui->pushButton_Settings->setIcon(icon);
- break;
- default:
- m_dayNightMode = SystemDayNight::DAYNIGHTMODE_UNDEFINED;
- }
+ icon.addFile(settings_cs.value(QString("ControlBarWidget/pushButton_Home")).toString(), QSize(), QIcon::Normal, QIcon::Off);
+ mp_ui->pushButton_Home->setIcon(icon);
+ icon.addFile(settings_cs.value(QString("ControlBarWidget/pushButton_Settings")).toString(), QSize(), QIcon::Normal, QIcon::Off);
+ mp_ui->pushButton_Settings->setIcon(icon);
}
void ControlBarWidget::on_pushButton_Settings_clicked()
{
- if (0 == mp_settingsWidget)
- {
- mp_settingsWidget = new SettingsWidget((QWidget*)parent());
- }
-
- mp_settingsWidget->move(0, 60);
- mp_settingsWidget->show();
+ emit settingsButtonPressed();
}
void ControlBarWidget::on_pushButton_Home_clicked()
{
- if (0 != mp_settingsWidget)
- {
- mp_settingsWidget->hide();
- }
+ emit homeButtonPressed();
}
diff --git a/HomeScreen/src/controlbarwidget.h b/HomeScreen/src/controlbarwidget.h
index 618fa35..0ab382b 100644
--- a/HomeScreen/src/controlbarwidget.h
+++ b/HomeScreen/src/controlbarwidget.h
@@ -18,9 +18,6 @@
#define CONTROLBARWIDGET_H
#include <QWidget>
-#include "../interfaces/daynightmode.h"
-#include "daynightmode_proxy.h"
-#include "settingswidget.h"
namespace Ui {
class ControlBarWidget;
@@ -33,24 +30,18 @@ class ControlBarWidget : public QWidget
public:
explicit ControlBarWidget(QWidget *parent = 0);
~ControlBarWidget();
-
-// day/night mode
-public Q_SLOTS:
- void dayNightModeSlot(int mode);
+public slots:
+ void updateColorScheme();
+signals:
+ void settingsButtonPressed();
+ void homeButtonPressed();
private slots:
void on_pushButton_Settings_clicked();
-
void on_pushButton_Home_clicked();
private:
Ui::ControlBarWidget *mp_ui;
- SettingsWidget *mp_settingsWidget;
- org::agl::daynightmode *mp_dBusDayNightMode_SettingsWidget;
-
- // D-Bus day/night
- SystemDayNight::eDayNightMode m_dayNightMode;
- org::agl::daynightmode *mp_dayNightModeProxy;
};
#endif // CONTROLBARWIDGET_H
diff --git a/HomeScreen/src/main.cpp b/HomeScreen/src/main.cpp
index 9108c35..be8b534 100644
--- a/HomeScreen/src/main.cpp
+++ b/HomeScreen/src/main.cpp
@@ -36,8 +36,9 @@ int main(int argc, char *argv[])
QCoreApplication::setOrganizationDomain("LinuxFoundation");
QCoreApplication::setOrganizationName("AutomotiveGradeLinux");
QCoreApplication::setApplicationName("HomeScreen");
- QCoreApplication::setApplicationVersion("0.1.0");
+ QCoreApplication::setApplicationVersion("0.1.1");
+ // maybe trigger the wayland compositor to position the surface correctly
MainWindow w;
w.move(0, 0);
w.show();
diff --git a/HomeScreen/src/mainwindow.cpp b/HomeScreen/src/mainwindow.cpp
index e2b55a9..bf7735c 100644
--- a/HomeScreen/src/mainwindow.cpp
+++ b/HomeScreen/src/mainwindow.cpp
@@ -16,15 +16,16 @@
#include "mainwindow.h"
#include "ui_mainwindow.h"
+#include "../interfaces/daynightmode.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
mp_ui(new Ui::MainWindow),
mp_statusBarWidget(0),
mp_controlBarWidget(0),
- m_dayNightMode(SystemDayNight::DAYNIGHTMODE_DAY), // TODO: read from system
- mp_dayNightModeProxy(0),
- mp_popupWidget(0)
+ mp_settingsWidget(0),
+ mp_popupWidget(0),
+ mp_dayNightModeProxy(0)
{
// this has to be adopted to the system setup
mp_dayNightModeProxy = new org::agl::daynightmode("org.agl.homescreen.simulator", //"org.agl.systeminfoprovider"
@@ -53,43 +54,74 @@ MainWindow::MainWindow(QWidget *parent) :
// apply layout
mp_controlBarWidget->move(0, 1920-60);
+ mp_settingsWidget = new SettingsWidget(this);
+ mp_settingsWidget->raise();
+ // apply layout
+ mp_settingsWidget->move(0, 60);
+ mp_settingsWidget->hide();
+
mp_popupWidget = new PopupWidget(this);
mp_controlBarWidget->raise();
// apply layout
mp_popupWidget->move(0, 0);
+ QObject::connect(mp_settingsWidget, SIGNAL(colorSchemeChanged()), this, SLOT(updateColorScheme()));
+ QObject::connect(mp_settingsWidget, SIGNAL(colorSchemeChanged()), mp_statusBarWidget, SLOT(updateColorScheme()));
+ QObject::connect(mp_settingsWidget, SIGNAL(colorSchemeChanged()), mp_controlBarWidget, SLOT(updateColorScheme()));
+ QObject::connect(mp_settingsWidget, SIGNAL(colorSchemeChanged()), mp_settingsWidget, SLOT(updateColorScheme()));
+ QObject::connect(mp_settingsWidget, SIGNAL(colorSchemeChanged()), mp_popupWidget, SLOT(updateColorScheme()));
+
+ QObject::connect(mp_controlBarWidget, SIGNAL(settingsButtonPressed()), mp_settingsWidget, SLOT(show()));
+ QObject::connect(mp_controlBarWidget, SIGNAL(homeButtonPressed()), mp_settingsWidget, SLOT(hide()));
+
+ // apply color scheme
+ updateColorScheme();
+ mp_statusBarWidget->updateColorScheme();
+ mp_controlBarWidget->updateColorScheme();
+ mp_settingsWidget->updateColorScheme();
+ mp_popupWidget->updateColorScheme();
+
setWindowIcon(QIcon(":/icons/home_day.png"));
}
MainWindow::~MainWindow()
{
- delete mp_popupWidget;
delete mp_dayNightModeProxy;
+ delete mp_popupWidget;
+ delete mp_settingsWidget;
+ delete mp_controlBarWidget;
delete mp_statusBarWidget;
delete mp_ui;
}
void MainWindow::dayNightModeSlot(int mode)
{
- switch (mode)
- {
- case SystemDayNight::DAYNIGHTMODE_DAY:
- m_dayNightMode = SystemDayNight::DAYNIGHTMODE_DAY;
- mp_ui->widget_Background->setStyleSheet(QString("background-image: url(:/images/backgrounds/bg_blue_day.png)"));
- // home icon
- mp_ui->widget_Home_Icon->setStyleSheet(QString("border-image: url(:/icons/home_day.png) 0 0 0 0 stretch stretch;"));
-
- break;
- case SystemDayNight::DAYNIGHTMODE_NIGHT:
- m_dayNightMode = SystemDayNight::DAYNIGHTMODE_NIGHT;
- mp_ui->widget_Background->setStyleSheet(QString("background-image: url(:/images/backgrounds/bg_blue_night.png)"));
- // home icon
- mp_ui->widget_Home_Icon->setStyleSheet(QString("border-image: url(:/icons/home_night.png) 0 0 0 0 stretch stretch;"));
-
- break;
- default:
- m_dayNightMode = SystemDayNight::DAYNIGHTMODE_UNDEFINED;
- }
+ QSettings settings;
+ settings.setValue("systemsettings/daynightmode", mode);
+ // make sure that everything is written to the settings file before continuing
+ settings.sync();
+
+ updateColorScheme();
+
+ mp_statusBarWidget->updateColorScheme();
+ mp_controlBarWidget->updateColorScheme();
+ mp_settingsWidget->updateColorScheme();
+ mp_popupWidget->updateColorScheme();
+}
+
+void MainWindow::updateColorScheme()
+{
+ QSettings settings;
+ QSettings settings_cs(QApplication::applicationDirPath() +
+ "/colorschemes/" +
+ settings.value("systemsettings/colorscheme", "default").toString() +
+ "/" +
+ QString::number(settings.value("systemsettings/daynightmode", SystemDayNight::DAYNIGHTMODE_DAY).toInt()) +
+ ".ini",
+ QSettings::IniFormat);
+
+ mp_ui->widget_Background->setStyleSheet(settings_cs.value("MainWindow/widget_Background").toString());
+ mp_ui->widget_Home_Icon->setStyleSheet(settings_cs.value("MainWindow/widget_Home_Icon").toString());
}
void MainWindow::changeEvent(QEvent* event)
@@ -101,4 +133,3 @@ void MainWindow::changeEvent(QEvent* event)
QMainWindow::changeEvent(event);
}
-
diff --git a/HomeScreen/src/mainwindow.h b/HomeScreen/src/mainwindow.h
index af725fd..d984c3e 100644
--- a/HomeScreen/src/mainwindow.h
+++ b/HomeScreen/src/mainwindow.h
@@ -18,13 +18,13 @@
#define MAINWINDOW_H
#include <QMainWindow>
-#include "../interfaces/daynightmode.h"
#include "daynightmode_proxy.h"
-#include "popupwidget.h"
-
#include "statusbarwidget.h"
#include "controlbarwidget.h"
+#include "settingswidget.h"
+#include "popupwidget.h"
+
namespace Ui {
class MainWindow;
@@ -42,6 +42,9 @@ public:
public Q_SLOTS:
void dayNightModeSlot(int mode);
+public slots:
+ void updateColorScheme();
+
protected:
// called when the translator loaded a new language set
void changeEvent(QEvent* event);
@@ -53,11 +56,10 @@ private:
org::agl::daynightmode *mp_dBusDayNightMode_StatusBarWidget;
ControlBarWidget *mp_controlBarWidget;
org::agl::daynightmode *mp_dBusDayNightMode_ControlBarWidget;
+ SettingsWidget *mp_settingsWidget;
+ PopupWidget *mp_popupWidget;
- SystemDayNight::eDayNightMode m_dayNightMode;
org::agl::daynightmode *mp_dayNightModeProxy;
-
- PopupWidget *mp_popupWidget;
};
#endif // MAINWINDOW_H
diff --git a/HomeScreen/src/popupwidget.cpp b/HomeScreen/src/popupwidget.cpp
index 81ffdf7..4a89771 100644
--- a/HomeScreen/src/popupwidget.cpp
+++ b/HomeScreen/src/popupwidget.cpp
@@ -16,21 +16,13 @@
#include "popupwidget.h"
#include "ui_popupwidget.h"
+#include "../interfaces/daynightmode.h"
PopupWidget::PopupWidget(QWidget *parent) :
QWidget(parent),
mp_ui(new Ui::PopupWidget),
- m_dayNightMode(SystemDayNight::DAYNIGHTMODE_DAY), // TODO: read from system
- mp_dayNightModeProxy(0),
mp_popupAdaptor(0)
{
- // this has to be adopted to the system setup
- mp_dayNightModeProxy = new org::agl::daynightmode("org.agl.homescreen.simulator", //"org.agl.systeminfoprovider"
- "/",
- QDBusConnection::sessionBus(),
- 0);
- QObject::connect(mp_dayNightModeProxy, SIGNAL(dayNightMode(int)), this, SLOT(dayNightModeSlot(int)));
-
// publish dbus popup interface
mp_popupAdaptor = new PopupAdaptor((QObject*)this);
QDBusConnection dbus = QDBusConnection::sessionBus();
@@ -43,57 +35,29 @@ PopupWidget::PopupWidget(QWidget *parent) :
PopupWidget::~PopupWidget()
{
- delete mp_dayNightModeProxy;
delete mp_popupAdaptor;
delete mp_ui;
}
-void PopupWidget::dayNightModeSlot(int mode)
+void PopupWidget::updateColorScheme()
{
- switch (mode)
- {
- case SystemDayNight::DAYNIGHTMODE_DAY:
- m_dayNightMode = SystemDayNight::DAYNIGHTMODE_DAY;
- mp_ui->widget_Popup->setStyleSheet(QString("QWidget { \
- border: 1px solid #D3D3D3; \
- border-radius: 8px; \
- background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 rgba(242, 242, 249, 255), stop:1 rgba(255, 255, 255, 255)); \
- color: #333; \
- padding: 0px; \
- } \
- QWidget:on { \
- background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #D5D5D5, stop: 1 #EEEEEE); \
- }"));
- mp_ui->label_Text->setStyleSheet(QString("background-color: rgba(109, 109, 109, 0); \
- background-image: url(:/images/transparency.png); \
- border-image: url(:/images/transparency.png);"));
- break;
- case SystemDayNight::DAYNIGHTMODE_NIGHT:
- m_dayNightMode = SystemDayNight::DAYNIGHTMODE_NIGHT;
- mp_ui->widget_Popup->setStyleSheet(QString("QWidget { \
- border: 1px solid #D3D3D3; \
- border-radius: 8px; \
- background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 rgba(147, 147, 151, 255), stop:1 rgba(255, 255, 255, 255)); \
- color: #333; \
- padding: 0px; \
- } \
- QWidget:on { \
- background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #D5D5D5, stop: 1 #EEEEEE); \
- }"));
- mp_ui->label_Text->setStyleSheet(QString("background-color: rgba(109, 109, 109, 0); \
- background-image: url(:/images/transparency.png); \
- border-image: url(:/images/transparency.png);"));
- break;
- default:
- m_dayNightMode = SystemDayNight::DAYNIGHTMODE_UNDEFINED;
- }
+ QSettings settings;
+ QSettings settings_cs(QApplication::applicationDirPath() +
+ "/colorschemes/" +
+ settings.value("systemsettings/colorscheme", "default").toString() +
+ "/" +
+ QString::number(settings.value("systemsettings/daynightmode", SystemDayNight::DAYNIGHTMODE_DAY).toInt()) +
+ ".ini",
+ QSettings::IniFormat);
+
+ mp_ui->widget_Popup->setStyleSheet(settings_cs.value(QString("PopupWidget/widget_Popup")).toString());
+ mp_ui->label_Text->setStyleSheet(settings_cs.value(QString("PopupWidget/label_Text")).toString());
}
-void PopupWidget::showPopup(int type, const QString &text)
+void PopupWidget::showPopup(int /*type*/, const QString &text)
{
this->show();
this->raise();
- qDebug("PopupWidget::showPopup: type %d, text %s", type, text.toStdString().c_str());
mp_ui->label_Text->setText(text);
}
diff --git a/HomeScreen/src/popupwidget.h b/HomeScreen/src/popupwidget.h
index a876576..a54a602 100644
--- a/HomeScreen/src/popupwidget.h
+++ b/HomeScreen/src/popupwidget.h
@@ -20,9 +20,6 @@
#include <QWidget>
#include "../interfaces/popup.h"
#include "popup_adapter.h"
-#include "../interfaces/daynightmode.h"
-#include "daynightmode_proxy.h"
-
namespace Ui {
class PopupWidget;
@@ -35,14 +32,12 @@ class PopupWidget : public QWidget
public:
explicit PopupWidget(QWidget *parent = 0);
~PopupWidget();
-
-// day/night mode
-public Q_SLOTS:
- void dayNightModeSlot(int mode);
+public slots:
+ void updateColorScheme();
// from popup_adapter.h
public Q_SLOTS: // METHODS
- void showPopup(int type, const QString &text);
+ void showPopup(int /*type*/, const QString &text);
private slots:
void on_pushButton_OK_clicked();
@@ -50,8 +45,6 @@ private slots:
private:
Ui::PopupWidget *mp_ui;
- SystemDayNight::eDayNightMode m_dayNightMode;
- org::agl::daynightmode *mp_dayNightModeProxy;
PopupAdaptor *mp_popupAdaptor;
};
diff --git a/HomeScreen/src/settingswidget.cpp b/HomeScreen/src/settingswidget.cpp
index 039b99f..9c6f190 100644
--- a/HomeScreen/src/settingswidget.cpp
+++ b/HomeScreen/src/settingswidget.cpp
@@ -17,20 +17,15 @@
#include "settingswidget.h"
#include "ui_settingswidget.h"
#include <QSettings>
+#include "../interfaces/daynightmode.h"
SettingsWidget::SettingsWidget(QWidget *parent) :
QWidget(parent),
mp_ui(new Ui::SettingsWidget),
- m_dayNightMode(SystemDayNight::DAYNIGHTMODE_DAY), // TODO: read from system
- mp_dayNightModeProxy(0),
mp_translator(0)
{
- // this has to be adopted to the system setup
- mp_dayNightModeProxy = new org::agl::daynightmode("org.agl.homescreen.simulator", //"org.agl.systeminfoprovider"
- "/",
- QDBusConnection::sessionBus(),
- 0);
- QObject::connect(mp_dayNightModeProxy, SIGNAL(dayNightMode(int)), this, SLOT(dayNightModeSlot(int)));
+ // no window decoration
+ setWindowFlags(Qt::FramelessWindowHint);
// multi-language support
mp_translator = new QTranslator();
@@ -39,75 +34,40 @@ SettingsWidget::SettingsWidget(QWidget *parent) :
mp_ui->setupUi(this);
- mp_ui->comboBoxLanguage->addItem(QString("English"), QVariant("homescreen_en_US.qm")); // TODO: make this configurable?
+ mp_ui->comboBoxLanguage->addItem(QString("English"), QVariant("homescreen_en_US.qm")); // TODO: make this configurable
mp_ui->comboBoxLanguage->addItem(QString("Deutsch"), QVariant("homescreen_de_DE.qm"));
mp_ui->comboBoxLanguage->addItem(QString("日本語"), QVariant("homescreen_ja_JP.qm"));
+ mp_ui->comboBoxColorScheme->addItem(QString("Default"), QVariant("default")); // TODO: make this configurable
+ mp_ui->comboBoxColorScheme->addItem(QString("Demo 1"), QVariant("demo1"));
+ mp_ui->comboBoxColorScheme->addItem(QString("Demo 2"), QVariant("demo2"));
+
QSettings settings;
mp_ui->comboBoxLanguage->setCurrentIndex(settings.value("systemsettings/language", 0).toInt());
+ mp_ui->comboBoxColorScheme->setCurrentIndex(settings.value("systemsettings/colorschemeindex", 0).toInt());
}
SettingsWidget::~SettingsWidget()
{
delete mp_translator;
- delete mp_dayNightModeProxy;
-
- QSettings settings;
- settings.setValue("systemsettings/language", mp_ui->comboBoxLanguage->currentIndex());
delete mp_ui;
}
-void SettingsWidget::dayNightModeSlot(int mode)
+void SettingsWidget::updateColorScheme()
{
- switch (mode)
- {
- case SystemDayNight::DAYNIGHTMODE_DAY:
- m_dayNightMode = SystemDayNight::DAYNIGHTMODE_DAY;
- mp_ui->widget_Background->setStyleSheet(QString("background-image: url(:/images/backgrounds/bg_blue_day.png);"));
- mp_ui->comboBoxLanguage->setStyleSheet(QString("QComboBox { \
- border: 1px solid #D3D3D3; \
- border-radius: 8px; \
- background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 rgba(242, 242, 249, 255), stop:1 rgba(255, 255, 255, 255)); \
- color: #333; \
- padding: 0px; \
- } \
- QComboBox:on { \
- background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #D5D5D5, stop: 1 #EEEEEE); \
- } \
- QComboBox::drop-down { \
- border: 0px solid; \
- border-radius: 0px; \
- } \
- QComboBox::down-arrow:on { \
- }"));
- // settings icon
- mp_ui->widget_Settings_Icon->setStyleSheet(QString("border-image: url(:/icons/settings_day.png) 0 0 0 0 stretch stretch;"));
- break;
- case SystemDayNight::DAYNIGHTMODE_NIGHT:
- m_dayNightMode = SystemDayNight::DAYNIGHTMODE_NIGHT;
- mp_ui->widget_Background->setStyleSheet(QString("background-image: url(:/images/backgrounds/bg_blue_night.png);"));
- mp_ui->comboBoxLanguage->setStyleSheet(QString("QComboBox { \
- border: 1px solid #D3D3D3; \
- border-radius: 8px; \
- background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 rgba(147, 147, 151, 255), stop:1 rgba(255, 255, 255, 255)); \
- color: #333; \
- padding: 0px; \
- } \
- QComboBox:on { \
- background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #D5D5D5, stop: 1 #EEEEEE); \
- } \
- QComboBox::drop-down { \
- border: 0px solid; \
- border-radius: 0px; \
- } \
- QComboBox::down-arrow:on { \
- }"));
- // settings icon
- mp_ui->widget_Settings_Icon->setStyleSheet(QString("border-image: url(:/icons/settings_night.png) 0 0 0 0 stretch stretch;"));
- break;
- default:
- m_dayNightMode = SystemDayNight::DAYNIGHTMODE_UNDEFINED;
- }
+ QSettings settings;
+ QSettings settings_cs(QApplication::applicationDirPath() +
+ "/colorschemes/" +
+ settings.value("systemsettings/colorscheme", "default").toString() +
+ "/" +
+ QString::number(settings.value("systemsettings/daynightmode", SystemDayNight::DAYNIGHTMODE_DAY).toInt()) +
+ ".ini",
+ QSettings::IniFormat);
+
+ mp_ui->widget_Background->setStyleSheet(settings_cs.value("SettingsWidget/widget_Background").toString());
+ mp_ui->comboBoxLanguage->setStyleSheet(settings_cs.value("SettingsWidget/comboBoxLanguage").toString());
+ mp_ui->comboBoxColorScheme->setStyleSheet(settings_cs.value("SettingsWidget/comboBoxColorScheme").toString());
+ mp_ui->widget_Settings_Icon->setStyleSheet(settings_cs.value("SettingsWidget/widget_Settings_Icon").toString());
}
void SettingsWidget::changeEvent(QEvent* event)
@@ -124,4 +84,18 @@ void SettingsWidget::on_comboBoxLanguage_currentIndexChanged(const QString &)
{
if (0 != mp_translator)
mp_translator->load(mp_ui->comboBoxLanguage->currentData().toString(), ":/translations");
+
+ QSettings settings;
+ settings.setValue("systemsettings/language", mp_ui->comboBoxLanguage->currentIndex());
+}
+
+void SettingsWidget::on_comboBoxColorScheme_currentIndexChanged(const QString &)
+{
+ QSettings settings;
+ settings.setValue("systemsettings/colorscheme", mp_ui->comboBoxColorScheme->currentData().toString());
+ settings.setValue("systemsettings/colorschemeindex", mp_ui->comboBoxColorScheme->currentIndex());
+ // make sure that everything is written to the settings file before continuing
+ settings.sync();
+
+ emit colorSchemeChanged();
}
diff --git a/HomeScreen/src/settingswidget.h b/HomeScreen/src/settingswidget.h
index 15b24bd..e0b3fef 100644
--- a/HomeScreen/src/settingswidget.h
+++ b/HomeScreen/src/settingswidget.h
@@ -19,9 +19,6 @@
#include <QWidget>
#include <QTranslator>
-#include "../interfaces/daynightmode.h"
-#include "daynightmode_proxy.h"
-
namespace Ui {
class SettingsWidget;
@@ -34,10 +31,8 @@ class SettingsWidget : public QWidget
public:
explicit SettingsWidget(QWidget *parent = 0);
~SettingsWidget();
-
-// day/night mode
-public Q_SLOTS:
- void dayNightModeSlot(int mode);
+public slots:
+ void updateColorScheme();
protected:
// called when the translator loaded a new language set
@@ -45,13 +40,13 @@ protected:
private slots:
void on_comboBoxLanguage_currentIndexChanged(const QString &);
+ void on_comboBoxColorScheme_currentIndexChanged(const QString &);
+
+signals:
+ void colorSchemeChanged(void);
private:
Ui::SettingsWidget *mp_ui;
-
- SystemDayNight::eDayNightMode m_dayNightMode;
- org::agl::daynightmode *mp_dayNightModeProxy;
-
QTranslator *mp_translator;
};
diff --git a/HomeScreen/src/statusbarwidget.cpp b/HomeScreen/src/statusbarwidget.cpp
index af144c5..442c3e7 100644
--- a/HomeScreen/src/statusbarwidget.cpp
+++ b/HomeScreen/src/statusbarwidget.cpp
@@ -16,26 +16,18 @@
#include "statusbarwidget.h"
#include "ui_statusbarwidget.h"
+#include "../interfaces/daynightmode.h"
StatusBarWidget::StatusBarWidget(QWidget *parent) :
QWidget(parent),
mp_ui(new Ui::StatusBarWidget),
- m_dayNightMode(SystemDayNight::DAYNIGHTMODE_DAY), // TODO: read from system
- mp_dayNightModeProxy(0),
mp_statusbarAdaptor(0),
mp_statusbarIconURIs(new QMap<int, QString>)
{
- // this has to be adopted to the system setup
- mp_dayNightModeProxy = new org::agl::daynightmode("org.agl.homescreen.simulator", //"org.agl.systeminfoprovider"
- "/",
- QDBusConnection::sessionBus(),
- 0);
- QObject::connect(mp_dayNightModeProxy, SIGNAL(dayNightMode(int)), this, SLOT(dayNightModeSlot(int)));
-
// publish statusbar interface
mp_statusbarAdaptor = new StatusbarAdaptor((QObject*)this);
- QDBusConnection dbus = QDBusConnection::sessionBus();
+ QDBusConnection dbus = QDBusConnection::sessionBus();
dbus.registerObject("/StatusBar", this);
dbus.registerService("org.agl.homescreen");
@@ -45,35 +37,37 @@ StatusBarWidget::StatusBarWidget(QWidget *parent) :
StatusBarWidget::~StatusBarWidget()
{
delete mp_statusbarAdaptor;
- delete mp_dayNightModeProxy;
delete mp_ui;
}
-void StatusBarWidget::dayNightModeSlot(int mode)
+void StatusBarWidget::updateColorScheme()
{
- switch (mode)
- {
- case SystemDayNight::DAYNIGHTMODE_DAY:
- m_dayNightMode = SystemDayNight::DAYNIGHTMODE_DAY;
- mp_ui->widget->setStyleSheet(QString("background-image: url(:/images/backgrounds/bg_stripes_day.png)"));
- mp_ui->label_1->setStyleSheet(QString("color: rgb(238, 238, 238); background-image: url(") + mp_statusbarIconURIs->value(1) + QString("); background-repeat: no-repeat;"));
- mp_ui->label_2->setStyleSheet(QString("color: rgb(238, 238, 238); background-image: url(") + mp_statusbarIconURIs->value(2) + QString("); background-repeat: no-repeat;"));
- mp_ui->label_3->setStyleSheet(QString("color: rgb(238, 238, 238); background-image: url(") + mp_statusbarIconURIs->value(3) + QString("); background-repeat: no-repeat;"));
- mp_ui->label_4->setStyleSheet(QString("color: rgb(238, 238, 238); background-image: url(") + mp_statusbarIconURIs->value(4) + QString("); background-repeat: no-repeat;"));
- mp_ui->label_5->setStyleSheet(QString("color: rgb(238, 238, 238); background-image: url(") + mp_statusbarIconURIs->value(5) + QString("); background-repeat: no-repeat;"));
- break;
- case SystemDayNight::DAYNIGHTMODE_NIGHT:
- m_dayNightMode = SystemDayNight::DAYNIGHTMODE_NIGHT;
- mp_ui->widget->setStyleSheet(QString("background-image: url(:/images/backgrounds/bg_stripes_night.png)"));
- mp_ui->label_1->setStyleSheet(QString("color: rgb(177, 177, 177); background-image: url(") + mp_statusbarIconURIs->value(1) + QString("); background-repeat: no-repeat;"));
- mp_ui->label_2->setStyleSheet(QString("color: rgb(177, 177, 177); background-image: url(") + mp_statusbarIconURIs->value(2) + QString("); background-repeat: no-repeat;"));
- mp_ui->label_3->setStyleSheet(QString("color: rgb(177, 177, 177); background-image: url(") + mp_statusbarIconURIs->value(3) + QString("); background-repeat: no-repeat;"));
- mp_ui->label_4->setStyleSheet(QString("color: rgb(177, 177, 177); background-image: url(") + mp_statusbarIconURIs->value(4) + QString("); background-repeat: no-repeat;"));
- mp_ui->label_5->setStyleSheet(QString("color: rgb(177, 177, 177); background-image: url(") + mp_statusbarIconURIs->value(5) + QString("); background-repeat: no-repeat;"));
- break;
- default:
- m_dayNightMode = SystemDayNight::DAYNIGHTMODE_UNDEFINED;
- }
+ QSettings settings;
+ QSettings settings_cs(QApplication::applicationDirPath() +
+ "/colorschemes/" +
+ settings.value("systemsettings/colorscheme", "default").toString() +
+ "/" +
+ QString::number(settings.value("systemsettings/daynightmode", SystemDayNight::DAYNIGHTMODE_DAY).toInt()) +
+ ".ini",
+ QSettings::IniFormat);
+
+ mp_ui->widget->setStyleSheet(settings_cs.value(QString("StatusBarWidget/widget")).toString());
+ mp_ui->label_1->setStyleSheet(settings_cs.value(QString("StatusBarWidget/label_1")).toString());
+ mp_ui->label_2->setStyleSheet(settings_cs.value(QString("StatusBarWidget/label_2")).toString());
+ mp_ui->label_3->setStyleSheet(settings_cs.value(QString("StatusBarWidget/label_3")).toString());
+ mp_ui->label_4->setStyleSheet(settings_cs.value(QString("StatusBarWidget/label_4")).toString());
+ mp_ui->label_5->setStyleSheet(settings_cs.value(QString("StatusBarWidget/label_5")).toString());
+
+ mp_ui->label_1_icon->setStyleSheet(settings_cs.value(QString("StatusBarWidget/label_1_icon")).toString()
+ + QString(" border-image: url(") + mp_statusbarIconURIs->value(1) + QString(") 0 0 0 0 stretch stretch;"));
+ mp_ui->label_2_icon->setStyleSheet(settings_cs.value(QString("StatusBarWidget/label_2_icon")).toString()
+ + QString(" border-image: url(") + mp_statusbarIconURIs->value(2) + QString(") 0 0 0 0 stretch stretch;"));
+ mp_ui->label_3_icon->setStyleSheet(settings_cs.value(QString("StatusBarWidget/label_3_icon")).toString()
+ + QString(" border-image: url(") + mp_statusbarIconURIs->value(3) + QString(") 0 0 0 0 stretch stretch;"));
+ mp_ui->label_4_icon->setStyleSheet(settings_cs.value(QString("StatusBarWidget/label_4_icon")).toString()
+ + QString(" border-image: url(") + mp_statusbarIconURIs->value(4) + QString(") 0 0 0 0 stretch stretch;"));
+ mp_ui->label_5_icon->setStyleSheet(settings_cs.value(QString("StatusBarWidget/label_5_icon")).toString()
+ + QString(" border-image: url(") + mp_statusbarIconURIs->value(5) + QString(") 0 0 0 0 stretch stretch;"));
}
QList<int> StatusBarWidget::getAvailablePlaceholders()
@@ -127,55 +121,7 @@ void StatusBarWidget::setStatusIcon(int placeholderIndex, const QString &iconURI
{
mp_statusbarIconURIs->insert(placeholderIndex, iconURI);
- switch (m_dayNightMode)
- {
- case SystemDayNight::DAYNIGHTMODE_DAY:
- switch (placeholderIndex)
- {
- case 1:
- mp_ui->label_1->setStyleSheet(QString("color: rgb(238, 238, 238); background-image: url(") + mp_statusbarIconURIs->value(placeholderIndex) + QString("); background-repeat: no-repeat;"));
- break;
- case 2:
- mp_ui->label_2->setStyleSheet(QString("color: rgb(238, 238, 238); background-image: url(") + mp_statusbarIconURIs->value(placeholderIndex) + QString("); background-repeat: no-repeat;"));
- break;
- case 3:
- mp_ui->label_3->setStyleSheet(QString("color: rgb(238, 238, 238); background-image: url(") + mp_statusbarIconURIs->value(placeholderIndex) + QString("); background-repeat: no-repeat;"));
- break;
- case 4:
- mp_ui->label_4->setStyleSheet(QString("color: rgb(238, 238, 238); background-image: url(") + mp_statusbarIconURIs->value(placeholderIndex) + QString("); background-repeat: no-repeat;"));
- break;
- case 5:
- mp_ui->label_5->setStyleSheet(QString("color: rgb(238, 238, 238); background-image: url(") + mp_statusbarIconURIs->value(placeholderIndex) + QString("); background-repeat: no-repeat;"));
- break;
- default:
- break;
- }
- break;
- case SystemDayNight::DAYNIGHTMODE_NIGHT:
- switch (placeholderIndex)
- {
- case 1:
- mp_ui->label_1->setStyleSheet(QString("color: rgb(177, 177, 177); background-image: url(") + mp_statusbarIconURIs->value(placeholderIndex) + QString("); background-repeat: no-repeat;"));
- break;
- case 2:
- mp_ui->label_2->setStyleSheet(QString("color: rgb(177, 177, 177); background-image: url(") + mp_statusbarIconURIs->value(placeholderIndex) + QString("); background-repeat: no-repeat;"));
- break;
- case 3:
- mp_ui->label_3->setStyleSheet(QString("color: rgb(177, 177, 177); background-image: url(") + mp_statusbarIconURIs->value(placeholderIndex) + QString("); background-repeat: no-repeat;"));
- break;
- case 4:
- mp_ui->label_4->setStyleSheet(QString("color: rgb(177, 177, 177); background-image: url(") + mp_statusbarIconURIs->value(placeholderIndex) + QString("); background-repeat: no-repeat;"));
- break;
- case 5:
- mp_ui->label_5->setStyleSheet(QString("color: rgb(177, 177, 177); background-image: url(") + mp_statusbarIconURIs->value(placeholderIndex) + QString("); background-repeat: no-repeat;"));
- break;
- default:
- break;
- }
- break;
- default:
- break;
- }
+ updateColorScheme();
}
void StatusBarWidget::setStatusText(int placeholderIndex, const QString &text)
@@ -201,5 +147,3 @@ void StatusBarWidget::setStatusText(int placeholderIndex, const QString &text)
break;
}
}
-
-
diff --git a/HomeScreen/src/statusbarwidget.h b/HomeScreen/src/statusbarwidget.h
index e17f13e..29c236d 100644
--- a/HomeScreen/src/statusbarwidget.h
+++ b/HomeScreen/src/statusbarwidget.h
@@ -18,9 +18,6 @@
#define STATUSBARWIDGET_H
#include <QWidget>
-#include "../interfaces/daynightmode.h"
-#include "daynightmode_proxy.h"
-
#include "statusbar_adapter.h"
namespace Ui {
@@ -34,10 +31,8 @@ class StatusBarWidget : public QWidget
public:
explicit StatusBarWidget(QWidget *parent = 0);
~StatusBarWidget();
-
-// day/night mode
-public Q_SLOTS:
- void dayNightModeSlot(int mode);
+public slots:
+ void updateColorScheme();
// from statusbar_adapter.h
public Q_SLOTS: // METHODS
@@ -50,8 +45,6 @@ public Q_SLOTS: // METHODS
private:
Ui::StatusBarWidget *mp_ui;
- SystemDayNight::eDayNightMode m_dayNightMode;
- org::agl::daynightmode *mp_dayNightModeProxy;
StatusbarAdaptor *mp_statusbarAdaptor;
QMap<int, QString> *mp_statusbarIconURIs;