X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=HomeScreen%2Fsrc%2Fmainwindow.cpp;h=0bf4b5ca39c630bdfcffeca5b7c964af768c92a0;hb=79714c0aa8fc461d77b75d6c5dae6a1a7d726954;hp=174f7507f173c026253d9dc2446677fe6f474719;hpb=0a468d9b5ae7b3e5ba106facf17698d89b1ce200;p=staging%2FHomeScreen.git diff --git a/HomeScreen/src/mainwindow.cpp b/HomeScreen/src/mainwindow.cpp index 174f750..0bf4b5c 100644 --- a/HomeScreen/src/mainwindow.cpp +++ b/HomeScreen/src/mainwindow.cpp @@ -24,9 +24,11 @@ MainWindow::MainWindow(QWidget *parent) : mp_statusBarWidget(0), mp_controlBarWidget(0), mp_settingsWidget(0), - mp_applauncherwidget(0), + //mp_applauncherwidget(0), mp_popupWidget(0), + mp_layoutHandler(new LayoutHandler()), mp_dBusDayNightModeProxy(0), + mp_proximityAdaptor(0), mp_homeScreenControlInterface(0) { // this has to be adopted to the system setup @@ -36,10 +38,11 @@ MainWindow::MainWindow(QWidget *parent) : 0); QObject::connect(mp_dBusDayNightModeProxy, SIGNAL(dayNightMode(int)), this, SLOT(dayNightModeSlot(int))); + mp_proximityAdaptor = new ProximityAdaptor((QObject*)this); + // dbus setup QDBusConnection dbus = QDBusConnection::sessionBus(); - - dbus.registerObject("/MainWindow", this); + dbus.registerObject("/Proximity", this); dbus.registerService("org.agl.homescreen"); // no window decoration @@ -63,10 +66,11 @@ MainWindow::MainWindow(QWidget *parent) : mp_settingsWidget->move(0, 60); //mp_settingsWidget->hide(); - mp_applauncherwidget = new AppLauncherWidget(this); + /*mp_applauncherwidget = new AppLauncherWidget(this); mp_applauncherwidget->raise(); // apply layout - mp_applauncherwidget->move(0, 60); + mp_applauncherwidget->move(0, 60);*/ + mp_popupWidget = new PopupWidget(); mp_controlBarWidget->raise(); @@ -81,20 +85,31 @@ MainWindow::MainWindow(QWidget *parent) : QObject::connect(mp_settingsWidget, SIGNAL(colorSchemeChanged()), mp_popupWidget, SLOT(updateColorScheme())); QObject::connect(mp_controlBarWidget, SIGNAL(settingsButtonPressed()), mp_settingsWidget, SLOT(raise())); - QObject::connect(mp_controlBarWidget, SIGNAL(homeButtonPressed()), mp_applauncherwidget, SLOT(raise())); + //QObject::connect(mp_controlBarWidget, SIGNAL(homeButtonPressed()), mp_applauncherwidget, SLOT(raise())); + QObject::connect(mp_controlBarWidget, SIGNAL(hideAppLayer()), mp_layoutHandler, SLOT(hideAppLayer())); + + //QObject::connect(mp_applauncherwidget, SIGNAL(newRequestsToBeVisibleApp(int)), mp_layoutHandler, SLOT(makeMeVisible(int))); + //QObject::connect(mp_applauncherwidget, SIGNAL(showAppLayer()), mp_layoutHandler, SLOT(showAppLayer())); + // apply color scheme updateColorScheme(); - mp_statusBarWidget->updateColorScheme(); - mp_controlBarWidget->updateColorScheme(); - mp_settingsWidget->updateColorScheme(); - mp_applauncherwidget->updateColorScheme(); - mp_popupWidget->updateColorScheme(); // this is only useful during development and will be removed later setWindowIcon(QIcon(":/icons/home_day.png")); + // mp_applauncherwidget->populateAppList(); + //mp_layoutHandler->setUpLayouts(); + mp_homeScreenControlInterface = new HomeScreenControlInterface(this); + QObject::connect(mp_homeScreenControlInterface, SIGNAL(newRequestGetAllSurfacesOfProcess(int)), mp_layoutHandler, SLOT(requestGetAllSurfacesOfProcess(int))); + QObject::connect(mp_homeScreenControlInterface, SIGNAL(newRequestGetSurfaceStatus(int)), mp_layoutHandler, SLOT(requestGetSurfaceStatus(int))); + QObject::connect(mp_homeScreenControlInterface, SIGNAL(newRequestsToBeVisibleApp(int)), mp_layoutHandler, SLOT(makeMeVisible(int))); + QObject::connect(mp_homeScreenControlInterface, SIGNAL(newRequestRenderSurfaceToArea(int, int)), mp_layoutHandler, SLOT(requestRenderSurfaceToArea(int,int))); + QObject::connect(mp_homeScreenControlInterface, SIGNAL(newRequestRenderSurfaceToAreaAllowed(int, int)), mp_layoutHandler, SLOT(requestRenderSurfaceToAreaAllowed(int,int))); + QObject::connect(mp_homeScreenControlInterface, SIGNAL(newRequestSurfaceIdToFullScreen(int)), mp_layoutHandler, SLOT(requestSurfaceIdToFullScreen(int))); + + QObject::connect(mp_popupWidget, SIGNAL(comboBoxResult(QString)), mp_layoutHandler, SLOT(setLayoutByName(QString))); } MainWindow::~MainWindow() @@ -102,11 +117,15 @@ MainWindow::~MainWindow() delete mp_homeScreenControlInterface; delete mp_dBusDayNightModeProxy; + + delete mp_layoutHandler; + delete mp_popupWidget; - delete mp_applauncherwidget; + //delete mp_applauncherwidget; delete mp_settingsWidget; delete mp_controlBarWidget; delete mp_statusBarWidget; + delete mp_proximityAdaptor; delete mp_ui; } @@ -118,12 +137,17 @@ void MainWindow::dayNightModeSlot(int mode) settings.sync(); updateColorScheme(); +} - mp_statusBarWidget->updateColorScheme(); - mp_controlBarWidget->updateColorScheme(); - mp_settingsWidget->updateColorScheme(); - mp_applauncherwidget->updateColorScheme(); - mp_popupWidget->updateColorScheme(); +void MainWindow::setObjectDetected(bool detected) +{ + qDebug("setObjectDetected %s", detected ? "true" : "false"); + QSettings settings; + settings.setValue("systemsettings/proximityobjectdetected", detected); + // make sure that everything is written to the settings file before continuing + settings.sync(); + + updateColorScheme(); } void MainWindow::updateColorScheme() @@ -133,12 +157,21 @@ void MainWindow::updateColorScheme() "/colorschemes/" + settings.value("systemsettings/colorscheme", "default").toString() + "/" + + QString::number(settings.value("systemsettings/proximityobjectdetected", false).toBool()) + + "/" + 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()); + mp_ui->widget_background->setStyleSheet(settings_cs.value("MainWindow/widget_background_css").toString()); + mp_ui->widget_homeIcon->setStyleSheet(settings_cs.value("MainWindow/widget_homeIcon_css").toString()); + + // update children + mp_statusBarWidget->updateColorScheme(); + mp_controlBarWidget->updateColorScheme(); + mp_settingsWidget->updateColorScheme(); + //mp_applauncherwidget->updateColorScheme(); + mp_popupWidget->updateColorScheme(); } void MainWindow::changeEvent(QEvent* event) @@ -151,11 +184,3 @@ void MainWindow::changeEvent(QEvent* event) QMainWindow::changeEvent(event); } -void MainWindow::on_pushButton_clicked() -{ - // start app - QProcess process; - QString file = "vlc"; - process.startDetached(file); - // manage ivi shell -}