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\LightOff.png" />
<None Include="images\LightOn.png" />
<None Include="images\Both.png" />
<Content Include="images\logo.ico" />
<None Include="images\Paste.png" />
<None Include="images\reboot.png" />

View File

@ -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;
}
}

View File

@ -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;
}
}
}
}

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 {
get {
object obj = ResourceManager.GetObject("Bug", resourceCulture);

View File

@ -858,4 +858,7 @@
<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>
</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>