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 <[email protected]>
This commit is contained in:
@@ -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
|
void
|
||||||
MouseSettings::SetWindowPosition(BPoint corner)
|
MouseSettings::SetWindowPosition(BPoint corner)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ public:
|
|||||||
~MouseSettings();
|
~MouseSettings();
|
||||||
|
|
||||||
void Revert();
|
void Revert();
|
||||||
|
bool IsRevertable();
|
||||||
void Defaults();
|
void Defaults();
|
||||||
bool IsDefaultable();
|
bool IsDefaultable();
|
||||||
void Dump();
|
void Dump();
|
||||||
|
|||||||
@@ -109,7 +109,7 @@ MouseWindow::MessageReceived(BMessage* message)
|
|||||||
fSettingsView->UpdateFromSettings();
|
fSettingsView->UpdateFromSettings();
|
||||||
|
|
||||||
fDefaultsButton->SetEnabled(false);
|
fDefaultsButton->SetEnabled(false);
|
||||||
fRevertButton->SetEnabled(true);
|
fRevertButton->SetEnabled(fSettings.IsRevertable());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -130,7 +130,7 @@ MouseWindow::MessageReceived(BMessage* message)
|
|||||||
fSettings.SetMouseType(++type);
|
fSettings.SetMouseType(++type);
|
||||||
fSettingsView->SetMouseType(type);
|
fSettingsView->SetMouseType(type);
|
||||||
fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
|
fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
|
||||||
fRevertButton->SetEnabled(true);
|
fRevertButton->SetEnabled(fSettings.IsRevertable());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -141,7 +141,7 @@ MouseWindow::MessageReceived(BMessage* message)
|
|||||||
if (message->FindInt32("mode", &mode) == B_OK) {
|
if (message->FindInt32("mode", &mode) == B_OK) {
|
||||||
fSettings.SetMouseMode((mode_mouse)mode);
|
fSettings.SetMouseMode((mode_mouse)mode);
|
||||||
fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
|
fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
|
||||||
fRevertButton->SetEnabled(true);
|
fRevertButton->SetEnabled(fSettings.IsRevertable());
|
||||||
fSettingsView->fFocusFollowsMouseMenu->SetEnabled(
|
fSettingsView->fFocusFollowsMouseMenu->SetEnabled(
|
||||||
mode == B_FOCUS_FOLLOWS_MOUSE);
|
mode == B_FOCUS_FOLLOWS_MOUSE);
|
||||||
fSettingsView->fAcceptFirstClickBox->SetEnabled(
|
fSettingsView->fAcceptFirstClickBox->SetEnabled(
|
||||||
@@ -158,7 +158,7 @@ MouseWindow::MessageReceived(BMessage* message)
|
|||||||
fSettings.SetFocusFollowsMouseMode(
|
fSettings.SetFocusFollowsMouseMode(
|
||||||
(mode_focus_follows_mouse)mode);
|
(mode_focus_follows_mouse)mode);
|
||||||
fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
|
fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
|
||||||
fRevertButton->SetEnabled(true);
|
fRevertButton->SetEnabled(fSettings.IsRevertable());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -176,7 +176,7 @@ MouseWindow::MessageReceived(BMessage* message)
|
|||||||
== B_CONTROL_ON;
|
== B_CONTROL_ON;
|
||||||
fSettings.SetAcceptFirstClick(acceptFirstClick);
|
fSettings.SetAcceptFirstClick(acceptFirstClick);
|
||||||
fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
|
fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
|
||||||
fRevertButton->SetEnabled(true);
|
fRevertButton->SetEnabled(fSettings.IsRevertable());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -188,7 +188,7 @@ MouseWindow::MessageReceived(BMessage* message)
|
|||||||
// slow = 1000000, fast = 0
|
// slow = 1000000, fast = 0
|
||||||
fSettings.SetClickSpeed(value * 1000);
|
fSettings.SetClickSpeed(value * 1000);
|
||||||
fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
|
fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
|
||||||
fRevertButton->SetEnabled(true);
|
fRevertButton->SetEnabled(fSettings.IsRevertable());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -201,7 +201,7 @@ MouseWindow::MessageReceived(BMessage* message)
|
|||||||
fSettings.SetMouseSpeed((int32)pow(2,
|
fSettings.SetMouseSpeed((int32)pow(2,
|
||||||
value * 6.0 / 1000) * 8192);
|
value * 6.0 / 1000) * 8192);
|
||||||
fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
|
fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
|
||||||
fRevertButton->SetEnabled(true);
|
fRevertButton->SetEnabled(fSettings.IsRevertable());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -214,7 +214,7 @@ MouseWindow::MessageReceived(BMessage* message)
|
|||||||
fSettings.SetAccelerationFactor((int32)pow(
|
fSettings.SetAccelerationFactor((int32)pow(
|
||||||
value * 4.0 / 1000, 2) * 16384);
|
value * 4.0 / 1000, 2) * 16384);
|
||||||
fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
|
fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
|
||||||
fRevertButton->SetEnabled(true);
|
fRevertButton->SetEnabled(fSettings.IsRevertable());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -237,7 +237,7 @@ MouseWindow::MessageReceived(BMessage* message)
|
|||||||
|
|
||||||
fSettings.SetMapping(button, mapping);
|
fSettings.SetMapping(button, mapping);
|
||||||
fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
|
fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
|
||||||
fRevertButton->SetEnabled(true);
|
fRevertButton->SetEnabled(fSettings.IsRevertable());
|
||||||
fSettingsView->MouseMapUpdated();
|
fSettingsView->MouseMapUpdated();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user