Require LMB for common widget interactions.

This commit is contained in:
Paul Chote
2011-01-03 11:15:54 +13:00
parent abeffbbbf7
commit 1ced0d7ab9
9 changed files with 18 additions and 4 deletions

View File

@@ -46,6 +46,9 @@ namespace OpenRA.Widgets
public override bool HandleInputInner(MouseInput mi)
{
if (mi.Button != MouseButton.Left)
return false;
if (mi.Event == MouseInputEvent.Down && !TakeFocus(mi))
return false;

View File

@@ -41,7 +41,10 @@ namespace OpenRA.Widgets
new float2(rect.Left + 2, rect.Top + 2));
}
public override bool HandleInputInner(MouseInput mi) { return true; }
public override bool HandleInputInner(MouseInput mi)
{
return mi.Button == MouseButton.Left;
}
public CheckboxWidget() : base() { }

View File

@@ -127,6 +127,9 @@ namespace OpenRA.Widgets
int2 lastMouseLocation;
public override bool HandleInputInner(MouseInput mi)
{
if (mi.Button != MouseButton.Left)
return false;
if (mi.Event == MouseInputEvent.Down && !TakeFocus(mi))
return false;

View File

@@ -65,6 +65,9 @@ namespace OpenRA.Widgets
public override bool HandleInputInner(MouseInput mi)
{
if (mi.Button != MouseButton.Left)
return false;
if (mi.Event == MouseInputEvent.Down && !TakeFocus(mi))
return false;

View File

@@ -64,7 +64,7 @@ namespace OpenRA.Mods.RA.Widgets.Delegates
var template = itemTemplate.Clone() as ContainerWidget;
template.Id = "MAP_{0}".F(map.Uid);
template.GetBackground = () => ((Map == map) ? "dialog2" : null);
template.OnMouseDown = mi => { Map = map; return true; };
template.OnMouseDown = mi => { if (mi.Button != MouseButton.Left) return false; Map = map; return true; };
template.IsVisible = () => true;
template.GetWidget<LabelWidget>("TITLE").GetText = () => " " + map.Title;
template.GetWidget<LabelWidget>("TYPE").GetText = () => map.Type + " ";

View File

@@ -117,6 +117,7 @@ namespace OpenRA.Mods.RA.Widgets.Delegates
template.GetBackground = () => ((song == CurrentSong) ? "dialog2" : null);
template.OnMouseDown = mi =>
{
if (mi.Button != MouseButton.Left) return false;
CurrentSong = song;
bg.GetWidget("BUTTON_PLAY").OnMouseUp(mi);
return true;

View File

@@ -104,7 +104,7 @@ namespace OpenRA.Mods.RA.Widgets.Delegates
entry.Id = "REPLAY_";
entry.GetText = () => " {0}".F(Path.GetFileName(filename));
entry.GetBackground = () => (CurrentReplay == filename) ? "dialog2" : null;
entry.OnMouseDown = mi => { CurrentReplay = filename; return true; };
entry.OnMouseDown = mi => { if (mi.Button != MouseButton.Left) return false; CurrentReplay = filename; return true; };
entry.IsVisible = () => true;
list.AddChild(entry);
}

View File

@@ -171,7 +171,7 @@ namespace OpenRA.Mods.RA.Widgets.Delegates
game.Name,
game.Address);
template.GetBackground = () => (currentServer == game) ? "dialog2" : null;
template.OnMouseDown = mi => { currentServer = game; return true; };
template.OnMouseDown = mi => { if (mi.Button != MouseButton.Left) return false; currentServer = game; return true; };
template.IsVisible = () => true;
sl.AddChild(template);

View File

@@ -74,6 +74,7 @@ namespace OpenRA.Mods.RA.Widgets.Delegates
template.GetBackground = () => ((video == Selected) ? "dialog2" : null);
template.OnMouseDown = mi =>
{
if (mi.Button != MouseButton.Left) return false;
Selected = video;
player.Load(video);
return true;