diff options
Diffstat (limited to 'homescreensimulator/src')
-rw-r--r-- | homescreensimulator/src/main.cpp | 54 | ||||
-rw-r--r-- | homescreensimulator/src/mainwindow.cpp | 179 | ||||
-rw-r--r-- | homescreensimulator/src/mainwindow.h | 75 |
3 files changed, 0 insertions, 308 deletions
diff --git a/homescreensimulator/src/main.cpp b/homescreensimulator/src/main.cpp deleted file mode 100644 index 33b9fc2..0000000 --- a/homescreensimulator/src/main.cpp +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (C) 2016, 2017 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 "mainwindow.h" -#include <QApplication> -#include <QSysInfo> -#include <QSharedMemory> - -int main(int argc, char *argv[]) -{ - // allow only one instance of this application - /*QSharedMemory appInstance; - appInstance.setKey("AGLHomeScreenApp"); - if (!appInstance.create(1)) - { - qDebug("Only one instance of the Home Screen App allowed!"); - exit(-1); - }*/ - - QApplication a(argc, argv); - - // used for application settings (QSettings) - QCoreApplication::setOrganizationDomain("LinuxFoundation"); - QCoreApplication::setOrganizationName("AutomotiveGradeLinux"); - QCoreApplication::setApplicationName("HomeScreenSimulator"); - QCoreApplication::setApplicationVersion("0.4.0"); - - qDebug("%s, v%s", QCoreApplication::applicationName().toStdString().c_str(), QCoreApplication::applicationVersion().toStdString().c_str()); - - MainWindow w; - w.show(); - -#ifdef __arm__ - qDebug("Running on ARM architecture"); -#endif -#ifdef __i386__ - qDebug("Running on x86 architecture"); -#endif - - return a.exec(); -} diff --git a/homescreensimulator/src/mainwindow.cpp b/homescreensimulator/src/mainwindow.cpp deleted file mode 100644 index ffc44fe..0000000 --- a/homescreensimulator/src/mainwindow.cpp +++ /dev/null @@ -1,179 +0,0 @@ -/* - * Copyright (C) 2016, 2017 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 "mainwindow.h" -#include "ui_mainwindow.h" - -MainWindow::MainWindow(QWidget *parent) : - QMainWindow(parent), - mp_ui(new Ui::MainWindow), - mp_dBusDayNightModeAdaptor(0), - mp_dBusStatusBarProxy(0), - mp_dBusPopupProxy(0), - mp_dBusProximityProxy(0), - mp_dBusHomeScreenProxy(0) -{ - mp_ui->setupUi(this); - - // dbus setup - QDBusConnection dbus = QDBusConnection::sessionBus(); - - // publish dbus day night mode interface - mp_dBusDayNightModeAdaptor = new DaynightmodeAdaptor((QObject*)this); - - dbus.registerService("org.agl.homescreen.simulator"); - dbus.registerObject("/", this); - - mp_dBusStatusBarProxy = new org::agl::statusbar("org.agl.homescreen", - "/StatusBar", - QDBusConnection::sessionBus(), - 0); - mp_dBusPopupProxy = new org::agl::popup("org.agl.homescreen", - "/Popup", - QDBusConnection::sessionBus(), - 0); - mp_dBusProximityProxy = new org::agl::proximity("org.agl.homescreen", - "/Proximity", - QDBusConnection::sessionBus(), - 0); - mp_dBusHomeScreenProxy = new org::agl::homescreen("org.agl.homescreen", - "/HomeScreen", - QDBusConnection::sessionBus(), - 0); - - QSettings settings; - this->move(settings.value("homescreensimulator/pos").toPoint()); - mp_ui->radioButton_DayMode->setChecked(settings.value("homescreensimulator/daymode", true).toBool()); // if nothing is stored, use "true" - mp_ui->radioButton_NightMode->setChecked(settings.value("homescreensimulator/nightmode", false).toBool()); // if nothing is stored, use "false" -} - -MainWindow::~MainWindow() -{ - QSettings settings; - settings.setValue("homescreensimulator/pos", this->pos()); - settings.setValue("homescreensimulator/daymode", mp_ui->radioButton_DayMode->isChecked()); - settings.setValue("homescreensimulator/nightmode", mp_ui->radioButton_NightMode->isChecked()); - - delete mp_dBusHomeScreenProxy; - delete mp_dBusProximityProxy; - delete mp_dBusPopupProxy; - delete mp_dBusStatusBarProxy; - - if (0 == mp_dBusDayNightModeAdaptor) - { - delete mp_dBusDayNightModeAdaptor; - } - delete mp_ui; -} - -void MainWindow::on_radioButton_DayMode_toggled(bool checked) -{ - if (checked) - { - emit(dayNightMode(SystemDayNight::DAYNIGHTMODE_DAY)); - } -} - -void MainWindow::on_radioButton_NightMode_toggled(bool checked) -{ - if (checked) - { - emit(dayNightMode(SystemDayNight::DAYNIGHTMODE_NIGHT)); - } -} - -void MainWindow::on_pushButton_Update_clicked() -{ - QList<int> availablePlaceholders = mp_dBusStatusBarProxy->getAvailablePlaceholders(); - mp_ui->tableWidget_Status->verticalHeader()->setVisible(false); - mp_ui->tableWidget_Status->clear(); - mp_ui->tableWidget_Status->setRowCount(availablePlaceholders.size()); - mp_ui->tableWidget_Status->setColumnCount(3); - - QList<QString> horizontalHeaderLabels; - horizontalHeaderLabels.append("Placeholder #"); - horizontalHeaderLabels.append("Text"); - horizontalHeaderLabels.append("iconURI"); - mp_ui->tableWidget_Status->setHorizontalHeaderLabels(horizontalHeaderLabels); - - // disable trigger for the update - mp_ui->tableWidget_Status->blockSignals(true); - - for (int i = 0; i < availablePlaceholders.size(); ++i) - { - mp_ui->tableWidget_Status->setItem(i, 0, new QTableWidgetItem(QString::number(availablePlaceholders[i]))); - mp_ui->tableWidget_Status->item(i, 0)->setFlags(Qt::ItemIsSelectable); - mp_ui->tableWidget_Status->setItem(i, 1, new QTableWidgetItem(mp_dBusStatusBarProxy->getStatusText(availablePlaceholders[i]))); - mp_ui->tableWidget_Status->setItem(i, 2, new QTableWidgetItem(mp_dBusStatusBarProxy->getStatusIcon(availablePlaceholders[i]))); - } - - // enable trigger again - mp_ui->tableWidget_Status->blockSignals(false); -} - -void MainWindow::on_pushButton_Exit_clicked() -{ - QApplication::exit(); -} - -void MainWindow::on_tableWidget_Status_cellChanged(int row, int column) -{ - // text - if (1 == column) - { - mp_dBusStatusBarProxy->setStatusText(mp_ui->tableWidget_Status->item(row, 0)->text().toInt(), mp_ui->tableWidget_Status->item(row, 1)->text()); - } - - // icon - if (2 == column) - { - mp_dBusStatusBarProxy->setStatusIcon(mp_ui->tableWidget_Status->item(row, 0)->text().toInt(), mp_ui->tableWidget_Status->item(row, 2)->text()); - } -} - -void MainWindow::on_pushButton_Send_clicked() -{ - mp_dBusPopupProxy->showPopup(0, mp_ui->plainTextEdit_Popup->toPlainText()); -} - -void MainWindow::on_pushButton_IconExample_clicked() -{ - on_pushButton_Update_clicked(); - - // THIS IS JUST AN EXAMPLE!!! It only works, because the alias for the pic is defined in the - // Home Screen app resources... - mp_ui->tableWidget_Status->setItem(0, 2, new QTableWidgetItem(":/icons/home_day.png")); -} - -void MainWindow::on_pushButton_PopupExample_clicked() -{ - mp_dBusPopupProxy->showPopup(0, "Hello Popup!\nNice to see you!"); -} - -void MainWindow::on_pushButton_comboBoxExample_clicked() -{ - QStringList choices; - choices.append("Item1"); - choices.append("Item2"); - choices.append("Item3"); - choices.append("Item4"); - mp_dBusPopupProxy->showPopupComboBox("Make your choice!", choices); -} - -void MainWindow::on_checkBox_ObjectDetected_clicked() -{ - mp_dBusProximityProxy->setObjectDetected(Qt::Checked == mp_ui->checkBox_ObjectDetected->checkState()); -} diff --git a/homescreensimulator/src/mainwindow.h b/homescreensimulator/src/mainwindow.h deleted file mode 100644 index 581e4be..0000000 --- a/homescreensimulator/src/mainwindow.h +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright (C) 2016, 2017 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. - */ - -#ifndef MAINWINDOW_H -#define MAINWINDOW_H - -#include <QMainWindow> -#include <include/daynightmode.hpp> -#include "daynightmode_adaptor.h" - -#include "statusbar_proxy.h" -#include "popup_proxy.h" -#include "proximity_proxy.h" -#include "homescreen_proxy.h" - -namespace Ui { -class MainWindow; -} - -class MainWindow : public QMainWindow -{ - Q_OBJECT - -public: - explicit MainWindow(QWidget *parent = 0); - ~MainWindow(); - -// day/night mode -Q_SIGNALS: - void dayNightMode(int mode); - -private slots: - void on_radioButton_DayMode_toggled(bool checked); - - void on_radioButton_NightMode_toggled(bool checked); - - void on_pushButton_Update_clicked(); - - void on_pushButton_Exit_clicked(); - - void on_tableWidget_Status_cellChanged(int row, int column); - - void on_pushButton_Send_clicked(); - - void on_pushButton_IconExample_clicked(); - - void on_pushButton_PopupExample_clicked(); - - void on_pushButton_comboBoxExample_clicked(); - - void on_checkBox_ObjectDetected_clicked(); - -private: - Ui::MainWindow *mp_ui; - DaynightmodeAdaptor *mp_dBusDayNightModeAdaptor; - org::agl::statusbar *mp_dBusStatusBarProxy; - org::agl::popup *mp_dBusPopupProxy; - org::agl::proximity *mp_dBusProximityProxy; - org::agl::homescreen *mp_dBusHomeScreenProxy; -}; - -#endif // MAINWINDOW_H |