Add Keypriority as a status bar icon, when clicked it will toggle through the different options

This commit is contained in:
adelikat 2012-12-02 16:17:42 +00:00
parent 4741679542
commit 20d04f9914
5 changed files with 81 additions and 16 deletions

View File

@ -992,6 +992,7 @@
<None Include="images\C64Symbol.png" /> <None Include="images\C64Symbol.png" />
<None Include="images\LightOff.png" /> <None Include="images\LightOff.png" />
<None Include="images\LightOn.png" /> <None Include="images\LightOn.png" />
<None Include="images\Both.png" />
<Content Include="images\logo.ico" /> <Content Include="images\logo.ico" />
<None Include="images\Paste.png" /> <None Include="images\Paste.png" />
<None Include="images\reboot.png" /> <None Include="images\reboot.png" />

View File

@ -320,6 +320,7 @@
this.cmiScreenshotClipboard = new System.Windows.Forms.ToolStripMenuItem(); this.cmiScreenshotClipboard = new System.Windows.Forms.ToolStripMenuItem();
this.cmiCloseRom = new System.Windows.Forms.ToolStripMenuItem(); this.cmiCloseRom = new System.Windows.Forms.ToolStripMenuItem();
this.cmiShowMenu = new System.Windows.Forms.ToolStripMenuItem(); this.cmiShowMenu = new System.Windows.Forms.ToolStripMenuItem();
this.KeyPriorityStatusBarLabel = new System.Windows.Forms.ToolStripStatusLabel();
this.menuStrip1.SuspendLayout(); this.menuStrip1.SuspendLayout();
this.StatusSlot0.SuspendLayout(); this.StatusSlot0.SuspendLayout();
this.contextMenuStrip1.SuspendLayout(); this.contextMenuStrip1.SuspendLayout();
@ -1283,7 +1284,7 @@
// //
this.controllersToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.GameController; this.controllersToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.GameController;
this.controllersToolStripMenuItem.Name = "controllersToolStripMenuItem"; 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.Text = "&Controllers...";
this.controllersToolStripMenuItem.Click += new System.EventHandler(this.controllersToolStripMenuItem_Click); this.controllersToolStripMenuItem.Click += new System.EventHandler(this.controllersToolStripMenuItem_Click);
// //
@ -1291,7 +1292,7 @@
// //
this.hotkeysToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.HotKeys; this.hotkeysToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.HotKeys;
this.hotkeysToolStripMenuItem.Name = "hotkeysToolStripMenuItem"; 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.Text = "&Hotkeys...";
this.hotkeysToolStripMenuItem.Click += new System.EventHandler(this.hotkeysToolStripMenuItem_Click); this.hotkeysToolStripMenuItem.Click += new System.EventHandler(this.hotkeysToolStripMenuItem_Click);
// //
@ -1299,7 +1300,7 @@
// //
this.messagesToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.MessageConfig; this.messagesToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.MessageConfig;
this.messagesToolStripMenuItem.Name = "messagesToolStripMenuItem"; 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.Text = "&Messages...";
this.messagesToolStripMenuItem.Click += new System.EventHandler(this.messagesToolStripMenuItem_Click); this.messagesToolStripMenuItem.Click += new System.EventHandler(this.messagesToolStripMenuItem_Click);
// //
@ -1307,7 +1308,7 @@
// //
this.pathsToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.CopyFolderHS; this.pathsToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.CopyFolderHS;
this.pathsToolStripMenuItem.Name = "pathsToolStripMenuItem"; 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.Text = "Paths...";
this.pathsToolStripMenuItem.Click += new System.EventHandler(this.pathsToolStripMenuItem_Click); this.pathsToolStripMenuItem.Click += new System.EventHandler(this.pathsToolStripMenuItem_Click);
// //
@ -1315,7 +1316,7 @@
// //
this.soundToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.AudioHS; this.soundToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.AudioHS;
this.soundToolStripMenuItem.Name = "soundToolStripMenuItem"; 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.Text = "&Sound...";
this.soundToolStripMenuItem.Click += new System.EventHandler(this.soundToolStripMenuItem_Click); this.soundToolStripMenuItem.Click += new System.EventHandler(this.soundToolStripMenuItem_Click);
// //
@ -1323,14 +1324,14 @@
// //
this.autofireToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Lightning; this.autofireToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Lightning;
this.autofireToolStripMenuItem.Name = "autofireToolStripMenuItem"; 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.Text = "&Autofire...";
this.autofireToolStripMenuItem.Click += new System.EventHandler(this.autofireToolStripMenuItem_Click); this.autofireToolStripMenuItem.Click += new System.EventHandler(this.autofireToolStripMenuItem_Click);
// //
// toolStripSeparator9 // toolStripSeparator9
// //
this.toolStripSeparator9.Name = "toolStripSeparator9"; this.toolStripSeparator9.Name = "toolStripSeparator9";
this.toolStripSeparator9.Size = new System.Drawing.Size(149, 6); this.toolStripSeparator9.Size = new System.Drawing.Size(138, 6);
// //
// enableToolStripMenuItem // enableToolStripMenuItem
// //
@ -1343,7 +1344,7 @@
this.frameAdvanceSkipLagFramesToolStripMenuItem, this.frameAdvanceSkipLagFramesToolStripMenuItem,
this.backupSaveramToolStripMenuItem}); this.backupSaveramToolStripMenuItem});
this.enableToolStripMenuItem.Name = "enableToolStripMenuItem"; 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.Text = "&Enable";
this.enableToolStripMenuItem.DropDownOpened += new System.EventHandler(this.enableToolStripMenuItem_DropDownOpened); this.enableToolStripMenuItem.DropDownOpened += new System.EventHandler(this.enableToolStripMenuItem_DropDownOpened);
// //
@ -1414,7 +1415,7 @@
this.toolStripSeparator23, this.toolStripSeparator23,
this.logWindowAsConsoleToolStripMenuItem}); this.logWindowAsConsoleToolStripMenuItem});
this.gUIToolStripMenuItem.Name = "gUIToolStripMenuItem"; 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.Text = "GUI";
this.gUIToolStripMenuItem.DropDownOpened += new System.EventHandler(this.gUIToolStripMenuItem_DropDownOpened); this.gUIToolStripMenuItem.DropDownOpened += new System.EventHandler(this.gUIToolStripMenuItem_DropDownOpened);
// //
@ -1539,7 +1540,7 @@
this.miSpeed150, this.miSpeed150,
this.miSpeed200}); this.miSpeed200});
this.frameSkipToolStripMenuItem.Name = "frameSkipToolStripMenuItem"; 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.Text = "Speed/Skip";
this.frameSkipToolStripMenuItem.DropDownOpened += new System.EventHandler(this.frameSkipToolStripMenuItem_DropDownOpened); this.frameSkipToolStripMenuItem.DropDownOpened += new System.EventHandler(this.frameSkipToolStripMenuItem_DropDownOpened);
// //
@ -1706,7 +1707,7 @@
this.inputOverridesHotkeysToolStripMenuItem, this.inputOverridesHotkeysToolStripMenuItem,
this.hotkeysOverrideInputToolStripMenuItem}); this.hotkeysOverrideInputToolStripMenuItem});
this.keyPriorityToolStripMenuItem.Name = "keyPriorityToolStripMenuItem"; 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.Text = "Key Priority";
this.keyPriorityToolStripMenuItem.DropDownOpened += new System.EventHandler(this.keyPriorityToolStripMenuItem_DropDownOpened); this.keyPriorityToolStripMenuItem.DropDownOpened += new System.EventHandler(this.keyPriorityToolStripMenuItem_DropDownOpened);
// //
@ -1734,13 +1735,13 @@
// toolStripSeparator10 // toolStripSeparator10
// //
this.toolStripSeparator10.Name = "toolStripSeparator10"; this.toolStripSeparator10.Name = "toolStripSeparator10";
this.toolStripSeparator10.Size = new System.Drawing.Size(149, 6); this.toolStripSeparator10.Size = new System.Drawing.Size(138, 6);
// //
// saveConfigToolStripMenuItem // saveConfigToolStripMenuItem
// //
this.saveConfigToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Save; this.saveConfigToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Save;
this.saveConfigToolStripMenuItem.Name = "saveConfigToolStripMenuItem"; 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.Text = "Save Config";
this.saveConfigToolStripMenuItem.Click += new System.EventHandler(this.saveConfigToolStripMenuItem_Click); this.saveConfigToolStripMenuItem.Click += new System.EventHandler(this.saveConfigToolStripMenuItem_Click);
// //
@ -1748,7 +1749,7 @@
// //
this.loadConfigToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.LoadConfig; this.loadConfigToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.LoadConfig;
this.loadConfigToolStripMenuItem.Name = "loadConfigToolStripMenuItem"; 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.Text = "Load Config";
this.loadConfigToolStripMenuItem.Click += new System.EventHandler(this.loadConfigToolStripMenuItem_Click); this.loadConfigToolStripMenuItem.Click += new System.EventHandler(this.loadConfigToolStripMenuItem_Click);
// //
@ -2440,7 +2441,8 @@
this.StatusSlot8, this.StatusSlot8,
this.StatusSlot9, this.StatusSlot9,
this.StatusSlot10, this.StatusSlot10,
this.CheatStatus}); this.CheatStatus,
this.KeyPriorityStatusBarLabel});
this.StatusSlot0.Location = new System.Drawing.Point(0, 386); this.StatusSlot0.Location = new System.Drawing.Point(0, 386);
this.StatusSlot0.Name = "StatusSlot0"; this.StatusSlot0.Name = "StatusSlot0";
this.StatusSlot0.ShowItemToolTips = true; this.StatusSlot0.ShowItemToolTips = true;
@ -2621,7 +2623,7 @@
this.cmiCloseRom, this.cmiCloseRom,
this.cmiShowMenu}); this.cmiShowMenu});
this.contextMenuStrip1.Name = "contextMenuStrip1"; 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.Closing += new System.Windows.Forms.ToolStripDropDownClosingEventHandler(this.contextMenuStrip1_Closing);
this.contextMenuStrip1.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuStrip1_Opening); this.contextMenuStrip1.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuStrip1_Opening);
// //
@ -2770,6 +2772,15 @@
this.cmiShowMenu.Text = "Show Menu"; this.cmiShowMenu.Text = "Show Menu";
this.cmiShowMenu.Click += new System.EventHandler(this.showMenuToolStripMenuItem_Click); 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 // MainForm
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 14F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 14F);
@ -3101,6 +3112,7 @@
private System.Windows.Forms.ToolStripMenuItem bothHotkeysAndControllersToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem bothHotkeysAndControllersToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem inputOverridesHotkeysToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem inputOverridesHotkeysToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem hotkeysOverrideInputToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem hotkeysOverrideInputToolStripMenuItem;
private System.Windows.Forms.ToolStripStatusLabel KeyPriorityStatusBarLabel;
} }
} }

View File

@ -119,6 +119,7 @@ namespace BizHawk.MultiClient
Global.CheatList = new CheatList(); Global.CheatList = new CheatList();
UpdateStatusSlots(); 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 //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 //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) private void bothHotkeysAndControllersToolStripMenuItem_Click(object sender, EventArgs e)
{ {
Global.Config.Input_Hotkey_OverrideOptions = 0; Global.Config.Input_Hotkey_OverrideOptions = 0;
UpdateKeyPriorityIcon();
} }
private void inputOverridesHotkeysToolStripMenuItem_Click(object sender, EventArgs e) private void inputOverridesHotkeysToolStripMenuItem_Click(object sender, EventArgs e)
{ {
Global.Config.Input_Hotkey_OverrideOptions = 1; Global.Config.Input_Hotkey_OverrideOptions = 1;
UpdateKeyPriorityIcon();
} }
private void hotkeysOverrideInputToolStripMenuItem_Click(object sender, EventArgs e) private void hotkeysOverrideInputToolStripMenuItem_Click(object sender, EventArgs e)
{ {
Global.Config.Input_Hotkey_OverrideOptions = 2; Global.Config.Input_Hotkey_OverrideOptions = 2;
UpdateKeyPriorityIcon();
} }
private void keyPriorityToolStripMenuItem_DropDownOpened(object sender, EventArgs e) private void keyPriorityToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
@ -4733,5 +4737,43 @@ namespace BizHawk.MultiClient
break; 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;
}
}
} }
} }

View File

@ -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 { internal static System.Drawing.Bitmap Bug {
get { get {
object obj = ResourceManager.GetObject("Bug", resourceCulture); object obj = ResourceManager.GetObject("Bug", resourceCulture);

View File

@ -858,4 +858,7 @@
<data name="LightOn" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="LightOn" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\images\LightOn.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\images\LightOn.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
<data name="Both" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\images\Both.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root> </root>