1 |
#include "screenmanager.h" |
2 |
|
3 |
#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 |
} |
12 |
|
13 |
|
14 |
void ScreenManager::timerTick() |
15 |
{ |
16 |
QTime now = QTime::currentTime(); |
17 |
if (screenEnabled) { |
18 |
if (now >= screenOffTime) { |
19 |
disableScreen(); |
20 |
} |
21 |
} else { //screenEnabled == false |
22 |
if (now >= screenOnTime && now < screenOffTime) { |
23 |
enableScreen(); |
24 |
} |
25 |
} |
26 |
} |
27 |
|
28 |
|
29 |
//private |
30 |
void ScreenManager::disableScreen() |
31 |
{ |
32 |
screenEnabled = false; |
33 |
system("xset dpms force off"); |
34 |
qDebug("disableScreen"); |
35 |
} |
36 |
|
37 |
|
38 |
void ScreenManager::enableScreen() |
39 |
{ |
40 |
screenEnabled = true; |
41 |
system("xset dpms force on"); |
42 |
system("xset -dpms"); //disable energy star auto turn -off |
43 |
qDebug("enableScreen"); |
44 |
} |