]> git.sur5r.net Git - minitube/blobdiff - lib/idle/src/idle_win.cpp
New upstream version 3.1
[minitube] / lib / idle / src / idle_win.cpp
diff --git a/lib/idle/src/idle_win.cpp b/lib/idle/src/idle_win.cpp
new file mode 100644 (file)
index 0000000..2f189ef
--- /dev/null
@@ -0,0 +1,35 @@
+#include "idle.h"
+
+#include "windows.h"
+
+namespace {
+EXECUTION_STATE executionState;
+}
+
+bool Idle::preventDisplaySleep(const QString &reason) {
+    executionState = SetThreadExecutionState(ES_CONTINUOUS | ES_DISPLAY_REQUIRED);
+    return true;
+}
+
+bool Idle::allowDisplaySleep() {
+    SetThreadExecutionState(ES_CONTINUOUS | executionState);
+    return true;
+}
+
+QString Idle::displayErrorMessage() {
+    return QString();
+}
+
+bool Idle::preventSystemSleep(const QString &reason) {
+    executionState = SetThreadExecutionState(ES_CONTINUOUS | ES_SYSTEM_REQUIRED);
+    return true;
+}
+
+bool Idle::allowSystemSleep() {
+    SetThreadExecutionState(ES_CONTINUOUS | executionState);
+    return true;
+}
+
+QString Idle::systemErrorMessage() {
+    return QString();
+}