implemented screen inhibit.
authorIonutz Borcoman <iborco@gmail.com>
Sat, 19 Mar 2011 17:45:16 +0000 (19:45 +0200)
committerIonutz Borcoman <iborco@gmail.com>
Sat, 19 Mar 2011 17:45:16 +0000 (19:45 +0200)
src/mainwindow.cpp
src/mainwindow.h
src/simplexbmcremote.pro

index cc0e76a..5ef8368 100644 (file)
 
 #include "setupdialog.h"
 #include "xbmc.h"
+#include "constants.h"
 
-#include <QGraphicsRectItem>
-#include <QGraphicsEllipseItem>
-
+#include <QSettings>
 #include <QCoreApplication>
 
 #if defined(Q_OS_SYMBIAN) && defined(ORIENTATIONLOCK)
@@ -30,14 +29,47 @@ MainWindow::MainWindow(QWidget *parent)
 {
     m_ui->setupUi(this);
     m_xbmc = new Xbmc(this);
+
+#ifdef Q_WS_MAEMO_5
+    m_screenSaver = 0;
+#endif
+
+    setupScreen();
 }
 
 MainWindow::~MainWindow()
 {
+#ifdef Q_WS_MAEMO_5
+    delete m_screenSaver;
+#endif
+
     delete m_xbmc;
     delete m_ui;
 }
 
+void MainWindow::setupScreen()
+{
+#ifdef Q_WS_MAEMO_5
+    QSettings settings;
+
+    bool disable_screensaver = settings.value(SETUP_SCREEN_DISABLE_SCREENSAVER, SETUP_SCREEN_DISABLE_SCREENSAVER_DEFAULT).toBool();
+
+    if (disable_screensaver) {
+        if (m_screenSaver == 0) {
+            m_screenSaver = new QSystemScreenSaver(this);
+            bool result = m_screenSaver->setScreenSaverInhibit();
+            qDebug("disabling the screensaver: %s", (result?"ok":"failed"));
+        }
+    } else {
+        if (m_screenSaver) {
+            delete m_screenSaver;
+            m_screenSaver = 0;
+            qDebug("screensaver enabled");
+        }
+    }
+#endif
+}
+
 void MainWindow::setOrientation(ScreenOrientation orientation)
 {
 #ifdef Q_OS_SYMBIAN
@@ -94,6 +126,8 @@ void MainWindow::on_actionSetup_triggered()
     if(dialog.exec() == QDialog::Accepted) {
         dialog.save();
     }
+
+    setupScreen();
 }
 
 void MainWindow::on_rightBtn_clicked()
index 11af215..5fd22b3 100644 (file)
 
 #include <QMainWindow>
 
+#ifdef Q_WS_MAEMO_5
+#include <QSystemScreenSaver>
+QTM_USE_NAMESPACE
+#endif
+
 #include "xbmc.h"
 
 namespace Ui {
@@ -60,6 +65,12 @@ private slots:
 private:
     Ui::MainWindow *m_ui;
     Xbmc* m_xbmc;
+
+#ifdef Q_WS_MAEMO_5
+    QSystemScreenSaver* m_screenSaver;
+#endif
+
+    void setupScreen();
 };
 
 #endif // MAINWINDOW_H
index b35e480..b5b59c1 100644 (file)
@@ -19,6 +19,8 @@ maemo5 {
 # Needs to be defined for Symbian
 DEFINES += NETWORKACCESS
 QT += network
+CONFIG += mobility
+MOBILITY += systeminfo
 
 symbian:TARGET.UID3 = 0xED8FBFF1