diff options
author | Bocklage, Jens <Jens_Bocklage@mentor.com> | 2016-06-02 14:29:22 +0200 |
---|---|---|
committer | Bocklage, Jens <Jens_Bocklage@mentor.com> | 2016-06-02 14:29:22 +0200 |
commit | ff25a2a06428ffb0d6d8aeddb5faaa301b4201fe (patch) | |
tree | 246830c4d7fe7a7144056bfe45ce2272305f05b8 /src/main.cpp | |
parent | e4a8324e4546731fb4d95548a418ebaa8ff8852a (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/main.cpp')
-rw-r--r-- | src/main.cpp | 70 |
1 files changed, 70 insertions, 0 deletions
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 <QApplication> +#include <QSysInfo> +#include <QSharedMemory> +#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(); +} |