Restore ability to configure RMB orders + RMB panning.

This commit is contained in:
Paul Chote
2020-03-25 09:19:30 +00:00
committed by reaperrr
parent a5b22e6a36
commit 3155291064
8 changed files with 47 additions and 27 deletions

View File

@@ -77,12 +77,6 @@ namespace OpenRA.Mods.Common.Widgets.Logic
var mouseControlDescClassic = widget.Get("MOUSE_CONTROL_DESC_CLASSIC");
mouseControlDescClassic.IsVisible = () => gs.UseClassicMouseStyle;
var classicScrollRight = mouseControlDescClassic.Get("DESC_SCROLL_RIGHT");
classicScrollRight.IsVisible = () => !gs.ClassicMouseMiddleScroll;
var classicScrollMiddle = mouseControlDescClassic.Get("DESC_SCROLL_MIDDLE");
classicScrollMiddle.IsVisible = () => gs.ClassicMouseMiddleScroll;
var mouseControlDescModern = widget.Get("MOUSE_CONTROL_DESC_MODERN");
mouseControlDescModern.IsVisible = () => !gs.UseClassicMouseStyle;
@@ -92,6 +86,12 @@ namespace OpenRA.Mods.Common.Widgets.Logic
foreach (var container in new[] { mouseControlDescClassic, mouseControlDescModern })
{
var classicScrollRight = container.Get("DESC_SCROLL_RIGHT");
classicScrollRight.IsVisible = () => gs.UseClassicMouseStyle ^ gs.UseAlternateScrollButton;
var classicScrollMiddle = container.Get("DESC_SCROLL_MIDDLE");
classicScrollMiddle.IsVisible = () => !gs.UseClassicMouseStyle ^ gs.UseAlternateScrollButton;
var zoomDesc = container.Get("DESC_ZOOM");
zoomDesc.IsVisible = () => gs.ZoomModifier == Modifiers.None;

View File

@@ -505,7 +505,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{
var gs = Game.Settings.Game;
BindCheckboxPref(panel, "CLASSIC_MOUSE_MIDDLE_SCROLL_CHECKBOX", gs, "ClassicMouseMiddleScroll");
BindCheckboxPref(panel, "ALTERNATE_SCROLL_CHECKBOX", gs, "UseAlternateScrollButton");
BindCheckboxPref(panel, "EDGESCROLL_CHECKBOX", gs, "ViewportEdgeScroll");
BindCheckboxPref(panel, "LOCKMOUSE_CHECKBOX", gs, "LockMouseWindow");
BindSliderPref(panel, "ZOOMSPEED_SLIDER", gs, "ZoomSpeed");
@@ -520,23 +520,20 @@ namespace OpenRA.Mods.Common.Widgets.Logic
mouseScrollDropdown.OnMouseDown = _ => ShowMouseScrollDropdown(mouseScrollDropdown, gs);
mouseScrollDropdown.GetText = () => gs.MouseScroll.ToString();
var classicMouseMiddleScrollCheckbox = panel.Get<CheckboxWidget>("CLASSIC_MOUSE_MIDDLE_SCROLL_CHECKBOX");
classicMouseMiddleScrollCheckbox.IsVisible = () => gs.UseClassicMouseStyle;
var mouseControlDescClassic = panel.Get("MOUSE_CONTROL_DESC_CLASSIC");
mouseControlDescClassic.IsVisible = () => gs.UseClassicMouseStyle;
var classicScrollRight = mouseControlDescClassic.Get("DESC_SCROLL_RIGHT");
classicScrollRight.IsVisible = () => !gs.ClassicMouseMiddleScroll;
var classicScrollMiddle = mouseControlDescClassic.Get("DESC_SCROLL_MIDDLE");
classicScrollMiddle.IsVisible = () => gs.ClassicMouseMiddleScroll;
var mouseControlDescModern = panel.Get("MOUSE_CONTROL_DESC_MODERN");
mouseControlDescModern.IsVisible = () => !gs.UseClassicMouseStyle;
foreach (var container in new[] { mouseControlDescClassic, mouseControlDescModern })
{
var classicScrollRight = container.Get("DESC_SCROLL_RIGHT");
classicScrollRight.IsVisible = () => gs.UseClassicMouseStyle ^ gs.UseAlternateScrollButton;
var classicScrollMiddle = container.Get("DESC_SCROLL_MIDDLE");
classicScrollMiddle.IsVisible = () => !gs.UseClassicMouseStyle ^ gs.UseAlternateScrollButton;
var zoomDesc = container.Get("DESC_ZOOM");
zoomDesc.IsVisible = () => gs.ZoomModifier == Modifiers.None;
@@ -635,7 +632,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{
gs.UseClassicMouseStyle = dgs.UseClassicMouseStyle;
gs.MouseScroll = dgs.MouseScroll;
gs.ClassicMouseMiddleScroll = dgs.ClassicMouseMiddleScroll;
gs.UseAlternateScrollButton = dgs.UseAlternateScrollButton;
gs.LockMouseWindow = dgs.LockMouseWindow;
gs.ViewportEdgeScroll = dgs.ViewportEdgeScroll;
gs.ViewportEdgeScrollStep = dgs.ViewportEdgeScrollStep;

View File

@@ -318,7 +318,7 @@ namespace OpenRA.Mods.Common.Widgets
}
var gs = Game.Settings.Game;
var scrollButton = gs.UseClassicMouseStyle && !gs.ClassicMouseMiddleScroll ? MouseButton.Right : MouseButton.Middle;
var scrollButton = gs.UseClassicMouseStyle ^ gs.UseAlternateScrollButton ? MouseButton.Right : MouseButton.Middle;
var scrollType = mi.Button.HasFlag(scrollButton) ? gs.MouseScroll : MouseScrollType.Disabled;
if (scrollType == MouseScrollType.Disabled)