From ff25a2a06428ffb0d6d8aeddb5faaa301b4201fe Mon Sep 17 00:00:00 2001 From: "Bocklage, Jens" Date: Thu, 2 Jun 2016 14:29:22 +0200 Subject: 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 --- src/main.cpp | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 src/main.cpp (limited to 'src/main.cpp') diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..fac6e2f --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,70 @@ +/* + * 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 "mainwindow.h" +#include "include/daynightmode.h" +#include +#include +#include +#include "inputeventdistributor.h" + +#ifdef __i386__ +#include "inputdevicesimulator.h" +#include "systemsettingssimulator.h" +#endif + + +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("HomeScreen"); + QCoreApplication::setApplicationVersion("0.0.1"); + + MainWindow w; + w.move(0, 0); + w.show(); + + InputEventDistributor *mp_inputEventDistributor; + mp_inputEventDistributor = new InputEventDistributor(); + + + // start input and system settings simulator on developer PCs +#ifdef __arm__ + qDebug("Running on ARM architecture"); +#endif +#ifdef __i386__ + InputDeviceSimulator inputdevicesimulator(&w); + inputdevicesimulator.show(); + SystemSettingsSimulator systemsettingssimulator; + systemsettingssimulator.show(); + qDebug("Running on x86 architecture"); +#endif + + return a.exec(); +} -- cgit 1.2.3-korg