From 234ba84eb73f3447d647fce6d4c9274bf1901713 Mon Sep 17 00:00:00 2001
From: Janus <janus2@ymail.com>
Date: Sat, 24 Jan 2015 23:02:50 +0000
Subject: [PATCH] Fix #11783. Enabled/Disabled revert Button works properly
---
src/preferences/mouse/MouseSettings.cpp | 17 +++++++++++++++++
src/preferences/mouse/MouseSettings.h | 1 +
src/preferences/mouse/MouseWindow.cpp | 18 +++++++++---------
3 files changed, 27 insertions(+), 9 deletions(-)
diff --git a/src/preferences/mouse/MouseSettings.cpp b/src/preferences/mouse/MouseSettings.cpp
index 105b40ec..2cbebb1 100644
a
|
b
|
MouseSettings::Revert()
|
241 | 241 | } |
242 | 242 | |
243 | 243 | |
| 244 | // Checks if the settings are different then the original settings |
| 245 | bool |
| 246 | MouseSettings::IsRevertable() |
| 247 | { |
| 248 | return fSettings.click_speed != fOriginalSettings.click_speed |
| 249 | || fSettings.accel.speed != fOriginalSettings.accel.speed |
| 250 | || fSettings.type != fOriginalSettings.type |
| 251 | || fSettings.accel.accel_factor != fOriginalSettings.accel.accel_factor |
| 252 | || fMode != fOriginalMode |
| 253 | || fFocusFollowsMouseMode != fOriginalFocusFollowsMouseMode |
| 254 | || fAcceptFirstClick != fOriginalAcceptFirstClick |
| 255 | || fSettings.map.button[0] != fOriginalSettings.map.button[0] |
| 256 | || fSettings.map.button[1] != fOriginalSettings.map.button[1] |
| 257 | || fSettings.map.button[2] != fOriginalSettings.map.button[2]; |
| 258 | } |
| 259 | |
| 260 | |
244 | 261 | void |
245 | 262 | MouseSettings::SetWindowPosition(BPoint corner) |
246 | 263 | { |
diff --git a/src/preferences/mouse/MouseSettings.h b/src/preferences/mouse/MouseSettings.h
index d7b0c09..d5d1c80 100644
a
|
b
|
public:
|
27 | 27 | ~MouseSettings(); |
28 | 28 | |
29 | 29 | void Revert(); |
| 30 | bool IsRevertable(); |
30 | 31 | void Defaults(); |
31 | 32 | bool IsDefaultable(); |
32 | 33 | void Dump(); |
diff --git a/src/preferences/mouse/MouseWindow.cpp b/src/preferences/mouse/MouseWindow.cpp
index 3899bae..96bf31b 100644
a
|
b
|
MouseWindow::MessageReceived(BMessage* message)
|
109 | 109 | fSettingsView->UpdateFromSettings(); |
110 | 110 | |
111 | 111 | fDefaultsButton->SetEnabled(false); |
112 | | fRevertButton->SetEnabled(true); |
| 112 | fRevertButton->SetEnabled(fSettings.IsRevertable()); |
113 | 113 | break; |
114 | 114 | } |
115 | 115 | |
… |
… |
MouseWindow::MessageReceived(BMessage* message)
|
130 | 130 | fSettings.SetMouseType(++type); |
131 | 131 | fSettingsView->SetMouseType(type); |
132 | 132 | fDefaultsButton->SetEnabled(fSettings.IsDefaultable()); |
133 | | fRevertButton->SetEnabled(true); |
| 133 | fRevertButton->SetEnabled(fSettings.IsRevertable()); |
134 | 134 | } |
135 | 135 | break; |
136 | 136 | } |
… |
… |
MouseWindow::MessageReceived(BMessage* message)
|
141 | 141 | if (message->FindInt32("mode", &mode) == B_OK) { |
142 | 142 | fSettings.SetMouseMode((mode_mouse)mode); |
143 | 143 | fDefaultsButton->SetEnabled(fSettings.IsDefaultable()); |
144 | | fRevertButton->SetEnabled(true); |
| 144 | fRevertButton->SetEnabled(fSettings.IsRevertable()); |
145 | 145 | fSettingsView->fFocusFollowsMouseMenu->SetEnabled( |
146 | 146 | mode == B_FOCUS_FOLLOWS_MOUSE); |
147 | 147 | fSettingsView->fAcceptFirstClickBox->SetEnabled( |
… |
… |
MouseWindow::MessageReceived(BMessage* message)
|
158 | 158 | fSettings.SetFocusFollowsMouseMode( |
159 | 159 | (mode_focus_follows_mouse)mode); |
160 | 160 | fDefaultsButton->SetEnabled(fSettings.IsDefaultable()); |
161 | | fRevertButton->SetEnabled(true); |
| 161 | fRevertButton->SetEnabled(fSettings.IsRevertable()); |
162 | 162 | } |
163 | 163 | break; |
164 | 164 | } |
… |
… |
MouseWindow::MessageReceived(BMessage* message)
|
176 | 176 | == B_CONTROL_ON; |
177 | 177 | fSettings.SetAcceptFirstClick(acceptFirstClick); |
178 | 178 | fDefaultsButton->SetEnabled(fSettings.IsDefaultable()); |
179 | | fRevertButton->SetEnabled(true); |
| 179 | fRevertButton->SetEnabled(fSettings.IsRevertable()); |
180 | 180 | } |
181 | 181 | break; |
182 | 182 | } |
… |
… |
MouseWindow::MessageReceived(BMessage* message)
|
188 | 188 | // slow = 1000000, fast = 0 |
189 | 189 | fSettings.SetClickSpeed(value * 1000); |
190 | 190 | fDefaultsButton->SetEnabled(fSettings.IsDefaultable()); |
191 | | fRevertButton->SetEnabled(true); |
| 191 | fRevertButton->SetEnabled(fSettings.IsRevertable()); |
192 | 192 | } |
193 | 193 | break; |
194 | 194 | } |
… |
… |
MouseWindow::MessageReceived(BMessage* message)
|
201 | 201 | fSettings.SetMouseSpeed((int32)pow(2, |
202 | 202 | value * 6.0 / 1000) * 8192); |
203 | 203 | fDefaultsButton->SetEnabled(fSettings.IsDefaultable()); |
204 | | fRevertButton->SetEnabled(true); |
| 204 | fRevertButton->SetEnabled(fSettings.IsRevertable()); |
205 | 205 | } |
206 | 206 | break; |
207 | 207 | } |
… |
… |
MouseWindow::MessageReceived(BMessage* message)
|
214 | 214 | fSettings.SetAccelerationFactor((int32)pow( |
215 | 215 | value * 4.0 / 1000, 2) * 16384); |
216 | 216 | fDefaultsButton->SetEnabled(fSettings.IsDefaultable()); |
217 | | fRevertButton->SetEnabled(true); |
| 217 | fRevertButton->SetEnabled(fSettings.IsRevertable()); |
218 | 218 | } |
219 | 219 | break; |
220 | 220 | } |
… |
… |
MouseWindow::MessageReceived(BMessage* message)
|
237 | 237 | |
238 | 238 | fSettings.SetMapping(button, mapping); |
239 | 239 | fDefaultsButton->SetEnabled(fSettings.IsDefaultable()); |
240 | | fRevertButton->SetEnabled(true); |
| 240 | fRevertButton->SetEnabled(fSettings.IsRevertable()); |
241 | 241 | fSettingsView->MouseMapUpdated(); |
242 | 242 | } |
243 | 243 | break; |