[haiku-commits] haiku: hrev48725 - src/preferences/mouse

  • From: pulkomandy@xxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Mon, 26 Jan 2015 11:11:39 +0100 (CET)

hrev48725 adds 1 changeset to branch 'master'
old head: 95ef50445f4c79fdbc2aad175287975ec214d6f1
new head: 7b915ffb48c5ea55992afed1c4cc974d512f115b
overview: 
http://cgit.haiku-os.org/haiku/log/?qt=range&q=7b915ffb48c5+%5E95ef50445f4c

----------------------------------------------------------------------------

7b915ffb48c5: Mouse: enable Revert only if settings changed.
  
  * If changing the settings and manually reverting to the previous
  values, the Revert button would stay enabled.
  * Fixes #11783.
  
  Signed-off-by: Adrien Destugues <pulkomandy@xxxxxxxxx>

                                                [ Janus <janus2@xxxxxxxxx> ]

----------------------------------------------------------------------------

Revision:    hrev48725
Commit:      7b915ffb48c5ea55992afed1c4cc974d512f115b
URL:         http://cgit.haiku-os.org/haiku/commit/?id=7b915ffb48c5
Author:      Janus <janus2@xxxxxxxxx>
Date:        Sat Jan 24 23:02:50 2015 UTC
Committer:   Adrien Destugues <pulkomandy@xxxxxxxxx>
Commit-Date: Mon Jan 26 10:11:36 2015 UTC

Ticket:      https://dev.haiku-os.org/ticket/11783

----------------------------------------------------------------------------

3 files changed, 27 insertions(+), 9 deletions(-)
src/preferences/mouse/MouseSettings.cpp | 17 +++++++++++++++++
src/preferences/mouse/MouseSettings.h   |  1 +
src/preferences/mouse/MouseWindow.cpp   | 18 +++++++++---------

----------------------------------------------------------------------------

diff --git a/src/preferences/mouse/MouseSettings.cpp 
b/src/preferences/mouse/MouseSettings.cpp
index 105b40ec..2cbebb1 100644
--- a/src/preferences/mouse/MouseSettings.cpp
+++ b/src/preferences/mouse/MouseSettings.cpp
@@ -241,6 +241,23 @@ MouseSettings::Revert()
 }
 
 
+// Checks if the settings are different then the original settings
+bool
+MouseSettings::IsRevertable()
+{
+       return fSettings.click_speed != fOriginalSettings.click_speed
+               || fSettings.accel.speed != fOriginalSettings.accel.speed
+               || fSettings.type != fOriginalSettings.type
+               || fSettings.accel.accel_factor != 
fOriginalSettings.accel.accel_factor
+               || fMode != fOriginalMode
+               || fFocusFollowsMouseMode != fOriginalFocusFollowsMouseMode
+               || fAcceptFirstClick != fOriginalAcceptFirstClick
+               || fSettings.map.button[0] != fOriginalSettings.map.button[0]
+               || fSettings.map.button[1] != fOriginalSettings.map.button[1]
+               || fSettings.map.button[2] != fOriginalSettings.map.button[2];
+}
+
+
 void
 MouseSettings::SetWindowPosition(BPoint corner)
 {
diff --git a/src/preferences/mouse/MouseSettings.h 
b/src/preferences/mouse/MouseSettings.h
index d7b0c09..d5d1c80 100644
--- a/src/preferences/mouse/MouseSettings.h
+++ b/src/preferences/mouse/MouseSettings.h
@@ -27,6 +27,7 @@ public:
                ~MouseSettings();
 
                void Revert();
+               bool IsRevertable();
                void Defaults();
                bool IsDefaultable();
                void Dump();
diff --git a/src/preferences/mouse/MouseWindow.cpp 
b/src/preferences/mouse/MouseWindow.cpp
index 3899bae..96bf31b 100644
--- a/src/preferences/mouse/MouseWindow.cpp
+++ b/src/preferences/mouse/MouseWindow.cpp
@@ -109,7 +109,7 @@ MouseWindow::MessageReceived(BMessage* message)
                        fSettingsView->UpdateFromSettings();
 
                        fDefaultsButton->SetEnabled(false);
-                       fRevertButton->SetEnabled(true);
+                       fRevertButton->SetEnabled(fSettings.IsRevertable());
                        break;
                }
 
@@ -130,7 +130,7 @@ MouseWindow::MessageReceived(BMessage* message)
                                fSettings.SetMouseType(++type);
                                fSettingsView->SetMouseType(type);
                                
fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
-                               fRevertButton->SetEnabled(true);
+                               
fRevertButton->SetEnabled(fSettings.IsRevertable());
                        }
                        break;
                }
@@ -141,7 +141,7 @@ MouseWindow::MessageReceived(BMessage* message)
                        if (message->FindInt32("mode", &mode) == B_OK) {
                                fSettings.SetMouseMode((mode_mouse)mode);
                                
fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
-                               fRevertButton->SetEnabled(true);
+                               
fRevertButton->SetEnabled(fSettings.IsRevertable());
                                
fSettingsView->fFocusFollowsMouseMenu->SetEnabled(
                                        mode == B_FOCUS_FOLLOWS_MOUSE);
                                fSettingsView->fAcceptFirstClickBox->SetEnabled(
@@ -158,7 +158,7 @@ MouseWindow::MessageReceived(BMessage* message)
                                fSettings.SetFocusFollowsMouseMode(
                                        (mode_focus_follows_mouse)mode);
                                
fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
-                               fRevertButton->SetEnabled(true);
+                               
fRevertButton->SetEnabled(fSettings.IsRevertable());
                        }
                        break;
                }
@@ -176,7 +176,7 @@ MouseWindow::MessageReceived(BMessage* message)
                                                == B_CONTROL_ON;
                                fSettings.SetAcceptFirstClick(acceptFirstClick);
                                
fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
-                               fRevertButton->SetEnabled(true);
+                               
fRevertButton->SetEnabled(fSettings.IsRevertable());
                        }
                        break;
                }
@@ -188,7 +188,7 @@ MouseWindow::MessageReceived(BMessage* message)
                                // slow = 1000000, fast = 0
                                fSettings.SetClickSpeed(value * 1000);
                                
fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
-                               fRevertButton->SetEnabled(true);
+                               
fRevertButton->SetEnabled(fSettings.IsRevertable());
                        }
                        break;
                }
@@ -201,7 +201,7 @@ MouseWindow::MessageReceived(BMessage* message)
                                fSettings.SetMouseSpeed((int32)pow(2,
                                        value * 6.0 / 1000) * 8192);
                                
fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
-                               fRevertButton->SetEnabled(true);
+                               
fRevertButton->SetEnabled(fSettings.IsRevertable());
                        }
                        break;
                }
@@ -214,7 +214,7 @@ MouseWindow::MessageReceived(BMessage* message)
                                fSettings.SetAccelerationFactor((int32)pow(
                                        value * 4.0 / 1000, 2) * 16384);
                                
fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
-                               fRevertButton->SetEnabled(true);
+                               
fRevertButton->SetEnabled(fSettings.IsRevertable());
                        }
                        break;
                }
@@ -237,7 +237,7 @@ MouseWindow::MessageReceived(BMessage* message)
 
                                fSettings.SetMapping(button, mapping);
                                
fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
-                               fRevertButton->SetEnabled(true);
+                               
fRevertButton->SetEnabled(fSettings.IsRevertable());
                                fSettingsView->MouseMapUpdated();
                        }
                        break;


Other related posts:

  • » [haiku-commits] haiku: hrev48725 - src/preferences/mouse - pulkomandy