]>
Commit | Line | Data |
---|---|---|
3db92e24 | 1 | diff -ur kde-workspace-4.9.4.org/powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp kde-workspace-4.9.4/powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp |
0460803a | 2 | --- kde-workspace-4.9.4.org/powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp 2012-11-30 08:24:40.000000000 +0100 |
3db92e24 AM |
3 | +++ kde-workspace-4.9.4/powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp 2012-12-03 09:18:49.162194544 +0100 |
4 | @@ -108,6 +108,7 @@ | |
5 | ||
6 | if (!controls.isEmpty()) { | |
7 | m_cachedBrightness = brightness(Screen); | |
8 | + m_cachedBrightness_timer.start(); | |
9 | kDebug() << "current screen brightness: " << m_cachedBrightness; | |
10 | } | |
11 | ||
12 | @@ -153,6 +154,9 @@ | |
13 | ||
14 | void PowerDevilUPowerBackend::brightnessKeyPressed(PowerDevil::BackendInterface::BrightnessKeyType type) | |
15 | { | |
16 | + if (m_cachedBrightness_timer.elapsed() < 100) | |
17 | + return; // two key presses delivered for single physical key press; 100ms marign | |
18 | + | |
19 | BrightnessControlsList controls = brightnessControlsAvailable(); | |
20 | QList<QString> screenControls = controls.keys(Screen); | |
21 | ||
22 | @@ -165,14 +169,16 @@ | |
54c6133a AM |
23 | if (qFuzzyCompare(currentBrightness, m_cachedBrightness)) { |
24 | float newBrightness; | |
25 | if (type == Increase) { | |
26 | - newBrightness = qMin(100.0f, currentBrightness + 10); | |
27 | + newBrightness = qMin(100.0f, currentBrightness + 6); | |
28 | } else { | |
29 | - newBrightness = qMax(0.0f, currentBrightness - 10); | |
30 | + newBrightness = qMax(0.0f, currentBrightness - 6); | |
31 | } | |
32 | ||
0460803a | 33 | setBrightness(newBrightness, Screen); |
3db92e24 AM |
34 | } else { |
35 | m_cachedBrightness = currentBrightness; | |
36 | + m_cachedBrightness_timer.restart(); | |
37 | + onBrightnessChanged(Screen, m_cachedBrightness); | |
38 | } | |
39 | } | |
40 | ||
41 | @@ -209,6 +215,10 @@ | |
42 | bool PowerDevilUPowerBackend::setBrightness(float brightnessValue, PowerDevil::BackendInterface::BrightnessControlType type) | |
43 | { | |
44 | bool success = false; | |
45 | + | |
46 | + if (m_cachedBrightness_timer.elapsed() < 100) | |
47 | + return success; | |
48 | + | |
49 | if (type == Screen) { | |
50 | kDebug() << "set screen brightness: " << brightnessValue; | |
51 | if (m_brightnessControl->isSupported()) { | |
52 | @@ -236,6 +246,7 @@ | |
53 | float newBrightness = brightness(Screen); | |
54 | if (!qFuzzyCompare(newBrightness, m_cachedBrightness)) { | |
55 | m_cachedBrightness = newBrightness; | |
56 | + m_cachedBrightness_timer.restart(); | |
57 | onBrightnessChanged(Screen, m_cachedBrightness); | |
58 | } | |
59 | return true; | |
60 | Tylko w kde-workspace-4.9.4/powerdevil/daemon/backends/upower: powerdevilupowerbackend.cpp~ | |
61 | Tylko w kde-workspace-4.9.4/powerdevil/daemon/backends/upower: powerdevilupowerbackend.cpp.orig | |
62 | Tylko w kde-workspace-4.9.4/powerdevil/daemon/backends/upower: powerdevilupowerbackend.cpp.rej | |
63 | diff -ur kde-workspace-4.9.4.org/powerdevil/daemon/backends/upower/powerdevilupowerbackend.h kde-workspace-4.9.4/powerdevil/daemon/backends/upower/powerdevilupowerbackend.h | |
64 | --- kde-workspace-4.9.4.org/powerdevil/daemon/backends/upower/powerdevilupowerbackend.h 2012-11-30 08:24:40.000000000 +0100 | |
65 | +++ kde-workspace-4.9.4/powerdevil/daemon/backends/upower/powerdevilupowerbackend.h 2012-12-03 08:17:04.465869449 +0100 | |
66 | @@ -70,6 +70,7 @@ | |
67 | ||
68 | // brightness | |
69 | float m_cachedBrightness; | |
70 | + QElapsedTimer m_cachedBrightness_timer; | |
71 | XRandrBrightness *m_brightnessControl; | |
72 | OrgFreedesktopUPowerInterface *m_upowerInterface; | |
73 | OrgFreedesktopUPowerKbdBacklightInterface *m_kbdBacklight; |