diff --git a/BizHawk.MultiClient/BizHawk.MultiClient.csproj b/BizHawk.MultiClient/BizHawk.MultiClient.csproj index 4374fe1ce0..644e94957d 100644 --- a/BizHawk.MultiClient/BizHawk.MultiClient.csproj +++ b/BizHawk.MultiClient/BizHawk.MultiClient.csproj @@ -992,6 +992,7 @@ + diff --git a/BizHawk.MultiClient/MainForm.Designer.cs b/BizHawk.MultiClient/MainForm.Designer.cs index f8773717b7..1a238ae686 100644 --- a/BizHawk.MultiClient/MainForm.Designer.cs +++ b/BizHawk.MultiClient/MainForm.Designer.cs @@ -320,6 +320,7 @@ this.cmiScreenshotClipboard = new System.Windows.Forms.ToolStripMenuItem(); this.cmiCloseRom = new System.Windows.Forms.ToolStripMenuItem(); this.cmiShowMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.KeyPriorityStatusBarLabel = new System.Windows.Forms.ToolStripStatusLabel(); this.menuStrip1.SuspendLayout(); this.StatusSlot0.SuspendLayout(); this.contextMenuStrip1.SuspendLayout(); @@ -1283,7 +1284,7 @@ // this.controllersToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.GameController; this.controllersToolStripMenuItem.Name = "controllersToolStripMenuItem"; - this.controllersToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.controllersToolStripMenuItem.Size = new System.Drawing.Size(141, 22); this.controllersToolStripMenuItem.Text = "&Controllers..."; this.controllersToolStripMenuItem.Click += new System.EventHandler(this.controllersToolStripMenuItem_Click); // @@ -1291,7 +1292,7 @@ // this.hotkeysToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.HotKeys; this.hotkeysToolStripMenuItem.Name = "hotkeysToolStripMenuItem"; - this.hotkeysToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.hotkeysToolStripMenuItem.Size = new System.Drawing.Size(141, 22); this.hotkeysToolStripMenuItem.Text = "&Hotkeys..."; this.hotkeysToolStripMenuItem.Click += new System.EventHandler(this.hotkeysToolStripMenuItem_Click); // @@ -1299,7 +1300,7 @@ // this.messagesToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.MessageConfig; this.messagesToolStripMenuItem.Name = "messagesToolStripMenuItem"; - this.messagesToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.messagesToolStripMenuItem.Size = new System.Drawing.Size(141, 22); this.messagesToolStripMenuItem.Text = "&Messages..."; this.messagesToolStripMenuItem.Click += new System.EventHandler(this.messagesToolStripMenuItem_Click); // @@ -1307,7 +1308,7 @@ // this.pathsToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.CopyFolderHS; this.pathsToolStripMenuItem.Name = "pathsToolStripMenuItem"; - this.pathsToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.pathsToolStripMenuItem.Size = new System.Drawing.Size(141, 22); this.pathsToolStripMenuItem.Text = "Paths..."; this.pathsToolStripMenuItem.Click += new System.EventHandler(this.pathsToolStripMenuItem_Click); // @@ -1315,7 +1316,7 @@ // this.soundToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.AudioHS; this.soundToolStripMenuItem.Name = "soundToolStripMenuItem"; - this.soundToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.soundToolStripMenuItem.Size = new System.Drawing.Size(141, 22); this.soundToolStripMenuItem.Text = "&Sound..."; this.soundToolStripMenuItem.Click += new System.EventHandler(this.soundToolStripMenuItem_Click); // @@ -1323,14 +1324,14 @@ // this.autofireToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Lightning; this.autofireToolStripMenuItem.Name = "autofireToolStripMenuItem"; - this.autofireToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.autofireToolStripMenuItem.Size = new System.Drawing.Size(141, 22); this.autofireToolStripMenuItem.Text = "&Autofire..."; this.autofireToolStripMenuItem.Click += new System.EventHandler(this.autofireToolStripMenuItem_Click); // // toolStripSeparator9 // this.toolStripSeparator9.Name = "toolStripSeparator9"; - this.toolStripSeparator9.Size = new System.Drawing.Size(149, 6); + this.toolStripSeparator9.Size = new System.Drawing.Size(138, 6); // // enableToolStripMenuItem // @@ -1343,7 +1344,7 @@ this.frameAdvanceSkipLagFramesToolStripMenuItem, this.backupSaveramToolStripMenuItem}); this.enableToolStripMenuItem.Name = "enableToolStripMenuItem"; - this.enableToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.enableToolStripMenuItem.Size = new System.Drawing.Size(141, 22); this.enableToolStripMenuItem.Text = "&Enable"; this.enableToolStripMenuItem.DropDownOpened += new System.EventHandler(this.enableToolStripMenuItem_DropDownOpened); // @@ -1414,7 +1415,7 @@ this.toolStripSeparator23, this.logWindowAsConsoleToolStripMenuItem}); this.gUIToolStripMenuItem.Name = "gUIToolStripMenuItem"; - this.gUIToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.gUIToolStripMenuItem.Size = new System.Drawing.Size(141, 22); this.gUIToolStripMenuItem.Text = "GUI"; this.gUIToolStripMenuItem.DropDownOpened += new System.EventHandler(this.gUIToolStripMenuItem_DropDownOpened); // @@ -1539,7 +1540,7 @@ this.miSpeed150, this.miSpeed200}); this.frameSkipToolStripMenuItem.Name = "frameSkipToolStripMenuItem"; - this.frameSkipToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.frameSkipToolStripMenuItem.Size = new System.Drawing.Size(141, 22); this.frameSkipToolStripMenuItem.Text = "Speed/Skip"; this.frameSkipToolStripMenuItem.DropDownOpened += new System.EventHandler(this.frameSkipToolStripMenuItem_DropDownOpened); // @@ -1706,7 +1707,7 @@ this.inputOverridesHotkeysToolStripMenuItem, this.hotkeysOverrideInputToolStripMenuItem}); this.keyPriorityToolStripMenuItem.Name = "keyPriorityToolStripMenuItem"; - this.keyPriorityToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.keyPriorityToolStripMenuItem.Size = new System.Drawing.Size(141, 22); this.keyPriorityToolStripMenuItem.Text = "Key Priority"; this.keyPriorityToolStripMenuItem.DropDownOpened += new System.EventHandler(this.keyPriorityToolStripMenuItem_DropDownOpened); // @@ -1734,13 +1735,13 @@ // toolStripSeparator10 // this.toolStripSeparator10.Name = "toolStripSeparator10"; - this.toolStripSeparator10.Size = new System.Drawing.Size(149, 6); + this.toolStripSeparator10.Size = new System.Drawing.Size(138, 6); // // saveConfigToolStripMenuItem // this.saveConfigToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Save; this.saveConfigToolStripMenuItem.Name = "saveConfigToolStripMenuItem"; - this.saveConfigToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.saveConfigToolStripMenuItem.Size = new System.Drawing.Size(141, 22); this.saveConfigToolStripMenuItem.Text = "Save Config"; this.saveConfigToolStripMenuItem.Click += new System.EventHandler(this.saveConfigToolStripMenuItem_Click); // @@ -1748,7 +1749,7 @@ // this.loadConfigToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.LoadConfig; this.loadConfigToolStripMenuItem.Name = "loadConfigToolStripMenuItem"; - this.loadConfigToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.loadConfigToolStripMenuItem.Size = new System.Drawing.Size(141, 22); this.loadConfigToolStripMenuItem.Text = "Load Config"; this.loadConfigToolStripMenuItem.Click += new System.EventHandler(this.loadConfigToolStripMenuItem_Click); // @@ -2440,7 +2441,8 @@ this.StatusSlot8, this.StatusSlot9, this.StatusSlot10, - this.CheatStatus}); + this.CheatStatus, + this.KeyPriorityStatusBarLabel}); this.StatusSlot0.Location = new System.Drawing.Point(0, 386); this.StatusSlot0.Name = "StatusSlot0"; this.StatusSlot0.ShowItemToolTips = true; @@ -2621,7 +2623,7 @@ this.cmiCloseRom, this.cmiShowMenu}); this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(204, 418); + this.contextMenuStrip1.Size = new System.Drawing.Size(204, 396); this.contextMenuStrip1.Closing += new System.Windows.Forms.ToolStripDropDownClosingEventHandler(this.contextMenuStrip1_Closing); this.contextMenuStrip1.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuStrip1_Opening); // @@ -2770,6 +2772,15 @@ this.cmiShowMenu.Text = "Show Menu"; this.cmiShowMenu.Click += new System.EventHandler(this.showMenuToolStripMenuItem_Click); // + // KeyPriorityStatusBarLabel + // + this.KeyPriorityStatusBarLabel.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.KeyPriorityStatusBarLabel.Image = global::BizHawk.MultiClient.Properties.Resources.Both; + this.KeyPriorityStatusBarLabel.Name = "KeyPriorityStatusBarLabel"; + this.KeyPriorityStatusBarLabel.Size = new System.Drawing.Size(16, 17); + this.KeyPriorityStatusBarLabel.Text = "KeyPriority"; + this.KeyPriorityStatusBarLabel.Click += new System.EventHandler(this.KeyPriorityStatusBarLabel_Click); + // // MainForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 14F); @@ -3101,6 +3112,7 @@ private System.Windows.Forms.ToolStripMenuItem bothHotkeysAndControllersToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem inputOverridesHotkeysToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem hotkeysOverrideInputToolStripMenuItem; + private System.Windows.Forms.ToolStripStatusLabel KeyPriorityStatusBarLabel; } } diff --git a/BizHawk.MultiClient/MainForm.cs b/BizHawk.MultiClient/MainForm.cs index 782450c8be..bc570a5e42 100644 --- a/BizHawk.MultiClient/MainForm.cs +++ b/BizHawk.MultiClient/MainForm.cs @@ -119,6 +119,7 @@ namespace BizHawk.MultiClient Global.CheatList = new CheatList(); UpdateStatusSlots(); + UpdateKeyPriorityIcon(); //in order to allow late construction of this database, we hook up a delegate here to dearchive the data and provide it on demand //we could background thread this later instead if we wanted to be real clever @@ -4699,16 +4700,19 @@ namespace BizHawk.MultiClient private void bothHotkeysAndControllersToolStripMenuItem_Click(object sender, EventArgs e) { Global.Config.Input_Hotkey_OverrideOptions = 0; + UpdateKeyPriorityIcon(); } private void inputOverridesHotkeysToolStripMenuItem_Click(object sender, EventArgs e) { Global.Config.Input_Hotkey_OverrideOptions = 1; + UpdateKeyPriorityIcon(); } private void hotkeysOverrideInputToolStripMenuItem_Click(object sender, EventArgs e) { Global.Config.Input_Hotkey_OverrideOptions = 2; + UpdateKeyPriorityIcon(); } private void keyPriorityToolStripMenuItem_DropDownOpened(object sender, EventArgs e) @@ -4733,5 +4737,43 @@ namespace BizHawk.MultiClient break; } } + + private void KeyPriorityStatusBarLabel_Click(object sender, EventArgs e) + { + switch (Global.Config.Input_Hotkey_OverrideOptions) + { + default: + case 0: + Global.Config.Input_Hotkey_OverrideOptions = 1; + break; + case 1: + Global.Config.Input_Hotkey_OverrideOptions = 2; + break; + case 2: + Global.Config.Input_Hotkey_OverrideOptions = 0; + break; + } + UpdateKeyPriorityIcon(); + } + + private void UpdateKeyPriorityIcon() + { + switch (Global.Config.Input_Hotkey_OverrideOptions) + { + default: + case 0: + KeyPriorityStatusBarLabel.Image = BizHawk.MultiClient.Properties.Resources.Both; + KeyPriorityStatusBarLabel.ToolTipText = "Key priority: Allow both hotkeys and controller buttons"; + break; + case 1: + KeyPriorityStatusBarLabel.Image = BizHawk.MultiClient.Properties.Resources.GameController; + KeyPriorityStatusBarLabel.ToolTipText = "Key priority: Controller buttons will override hotkeys"; + break; + case 2: + KeyPriorityStatusBarLabel.Image = BizHawk.MultiClient.Properties.Resources.HotKeys; + KeyPriorityStatusBarLabel.ToolTipText = "Key priority: Hotkeys will override controller buttons"; + break; + } + } } } diff --git a/BizHawk.MultiClient/Properties/Resources.Designer.cs b/BizHawk.MultiClient/Properties/Resources.Designer.cs index 1a417dd3d3..69e3249d63 100644 --- a/BizHawk.MultiClient/Properties/Resources.Designer.cs +++ b/BizHawk.MultiClient/Properties/Resources.Designer.cs @@ -123,6 +123,13 @@ namespace BizHawk.MultiClient.Properties { } } + internal static System.Drawing.Bitmap Both { + get { + object obj = ResourceManager.GetObject("Both", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + internal static System.Drawing.Bitmap Bug { get { object obj = ResourceManager.GetObject("Bug", resourceCulture); diff --git a/BizHawk.MultiClient/Properties/Resources.resx b/BizHawk.MultiClient/Properties/Resources.resx index a21bb1302a..26c1d8d5c0 100644 --- a/BizHawk.MultiClient/Properties/Resources.resx +++ b/BizHawk.MultiClient/Properties/Resources.resx @@ -858,4 +858,7 @@ ..\images\LightOn.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\images\Both.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file