aboutsummaryrefslogtreecommitdiffstats
path: root/src/systemsettingssimulator.cpp
diff options
context:
space:
mode:
authorBocklage, Jens <Jens_Bocklage@mentor.com>2016-06-02 14:29:22 +0200
committerBocklage, Jens <Jens_Bocklage@mentor.com>2016-06-02 14:29:22 +0200
commitff25a2a06428ffb0d6d8aeddb5faaa301b4201fe (patch)
tree246830c4d7fe7a7144056bfe45ce2272305f05b8 /src/systemsettingssimulator.cpp
parente4a8324e4546731fb4d95548a418ebaa8ff8852a (diff)
First version
v0.0.1 06/01/2016 - initial version - first implementation of home screen - fix HMI layout (will be configurable in the future) - dBus as IPC (may change in the future) - no interaction with application manager so far - multi-lanuage support - day/night mode support - initial status bar implementation (interface will be enhanced in the future) - initial control bar implementation - MPLv2.0 license - input device simulator for developer build (not functional right now) - system settings simulator for developer build (day/night mode switch functional right now) - using QSettings for local app setting storage (may change in the future) - first popup implementation (single popup support for now; multiple popup not defined; interface will change) - only one instance of the app allowed
Diffstat (limited to 'src/systemsettingssimulator.cpp')
-rw-r--r--src/systemsettingssimulator.cpp74
1 files changed, 74 insertions, 0 deletions
diff --git a/src/systemsettingssimulator.cpp b/src/systemsettingssimulator.cpp
new file mode 100644
index 0000000..b1ed6b3
--- /dev/null
+++ b/src/systemsettingssimulator.cpp
@@ -0,0 +1,74 @@
+/*
+ * Copyright (C) 2016 Mentor Graphics Development (Deutschland) GmbH
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "systemsettingssimulator.h"
+#include "ui_systemsettingssimulator.h"
+#include "include/daynightmode.h"
+#include <QSettings>
+
+SystemSettingsSimulator::SystemSettingsSimulator(QWidget *parent) :
+ QDialog(parent),
+ mp_ui(new Ui::SystemSettingsSimulator),
+ mp_dBusDayNightMode(0)
+{
+ mp_ui->setupUi(this);
+
+ // connect to the dBus interface provided by the main window
+ mp_dBusDayNightMode = new org::agl::daynightmode("org.agl.mainwindow",
+ "/MainWindow",
+ QDBusConnection::sessionBus(),
+ 0);
+
+ QSettings settings;
+ this->restoreGeometry(settings.value("systemsettingssimulator/geometry").toByteArray());
+ mp_ui->radioButton_DayMode->setChecked(settings.value("systemsettingssimulator/daymode", true).toBool()); // if nothing is stored, use "true"
+ mp_ui->radioButton_NightMode->setChecked(settings.value("systemsettingssimulator/nightmode", false).toBool()); // if nothing is stored, use "false"
+}
+
+SystemSettingsSimulator::~SystemSettingsSimulator()
+{
+ QSettings settings;
+ settings.setValue("systemsettingssimulator/geometry", saveGeometry());
+ settings.setValue("systemsettingssimulator/daymode", mp_ui->radioButton_DayMode->isChecked());
+ settings.setValue("systemsettingssimulator/nightmode", mp_ui->radioButton_NightMode->isChecked());
+
+ if (0 == mp_dBusDayNightMode)
+ {
+ delete mp_dBusDayNightMode;
+ }
+ delete mp_ui;
+}
+
+void SystemSettingsSimulator::on_pushButton_Exit_clicked()
+{
+ QApplication::exit();
+}
+
+void SystemSettingsSimulator::on_radioButton_DayMode_toggled(bool checked)
+{
+ if (checked)
+ {
+ mp_dBusDayNightMode->setDayNightMode(SystemDayNight::DAYNIGHTMODE_DAY);
+ }
+}
+
+void SystemSettingsSimulator::on_radioButton_NightMode_toggled(bool checked)
+{
+ if (checked)
+ {
+ mp_dBusDayNightMode->setDayNightMode(SystemDayNight::DAYNIGHTMODE_NIGHT);
+ }
+}