mirror of
https://review.haiku-os.org/haiku
synced 2025-02-22 21:48:35 +01:00
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@gmail.com>
This commit is contained in:
parent
95ef50445f
commit
7b915ffb48
@ -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)
|
||||
{
|
||||
|
@ -27,6 +27,7 @@ public:
|
||||
~MouseSettings();
|
||||
|
||||
void Revert();
|
||||
bool IsRevertable();
|
||||
void Defaults();
|
||||
bool IsDefaultable();
|
||||
void Dump();
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user