1 |
torben |
512 |
#include "screenmanager.h" |
2 |
torben |
873 |
#include <QDebug> |
3 |
torben |
512 |
#include <stdlib.h> |
4 |
|
|
|
5 |
|
|
//public |
6 |
|
|
ScreenManager::ScreenManager() |
7 |
|
|
: screenOnTime(06,00), screenOffTime(22,00) |
8 |
|
|
{ |
9 |
|
|
QTime now = QTime::currentTime(); |
10 |
|
|
screenEnabled = (now >=screenOnTime && now < screenOffTime); |
11 |
torben |
873 |
qDebug() << "ScreenManager::ScreenManager() : " << screenEnabled; |
12 |
torben |
530 |
|
13 |
|
|
if (screenEnabled) { //force screen enabled, on upstart |
14 |
|
|
enableScreen(); |
15 |
torben |
873 |
} else { |
16 |
|
|
disableScreen(); |
17 |
torben |
530 |
} |
18 |
torben |
512 |
} |
19 |
|
|
|
20 |
|
|
|
21 |
|
|
void ScreenManager::timerTick() |
22 |
|
|
{ |
23 |
|
|
QTime now = QTime::currentTime(); |
24 |
|
|
if (screenEnabled) { |
25 |
|
|
if (now >= screenOffTime) { |
26 |
|
|
disableScreen(); |
27 |
|
|
} |
28 |
|
|
} else { //screenEnabled == false |
29 |
|
|
if (now >= screenOnTime && now < screenOffTime) { |
30 |
|
|
enableScreen(); |
31 |
|
|
} |
32 |
|
|
} |
33 |
|
|
} |
34 |
|
|
|
35 |
|
|
|
36 |
|
|
//private |
37 |
|
|
void ScreenManager::disableScreen() |
38 |
|
|
{ |
39 |
torben |
525 |
int res; |
40 |
torben |
512 |
screenEnabled = false; |
41 |
torben |
525 |
res = system("xset dpms force off"); |
42 |
torben |
512 |
qDebug("disableScreen"); |
43 |
|
|
} |
44 |
|
|
|
45 |
|
|
|
46 |
|
|
void ScreenManager::enableScreen() |
47 |
|
|
{ |
48 |
torben |
525 |
int res; |
49 |
torben |
512 |
screenEnabled = true; |
50 |
torben |
525 |
res = system("xset dpms force on"); |
51 |
|
|
res = system("xset -dpms"); //disable energy star auto turn -off |
52 |
torben |
517 |
|
53 |
torben |
525 |
res = system("xset s reset");//disable screensaver |
54 |
|
|
res = system("xset s off"); |
55 |
torben |
517 |
|
56 |
torben |
512 |
qDebug("enableScreen"); |
57 |
|
|
} |