allow user to suppress doubleclick-to-toggle-fullscreen behaviour

This commit is contained in:
zeromus 2015-09-08 14:03:52 -05:00
parent 43f86b5698
commit 21da5ad45a
5 changed files with 27 additions and 4 deletions

View File

@ -269,6 +269,7 @@ namespace BizHawk.Client.Common
public bool DispChrome_StatusBarFullscreen = false; public bool DispChrome_StatusBarFullscreen = false;
public bool DispChrome_MenuFullscreen = false; public bool DispChrome_MenuFullscreen = false;
public bool DispChrome_Fullscreen_AutohideMouse = true; public bool DispChrome_Fullscreen_AutohideMouse = true;
public bool DispChrome_AllowDoubleClickFullscreen = true;
public EDispManagerAR DispManagerAR = EDispManagerAR.System; public EDispManagerAR DispManagerAR = EDispManagerAR.System;
public int DispCustomUserARWidth = 1; public int DispCustomUserARWidth = 1;

View File

@ -531,7 +531,9 @@
<Compile Include="CustomControls\ViewportPanel.cs"> <Compile Include="CustomControls\ViewportPanel.cs">
<SubType>Component</SubType> <SubType>Component</SubType>
</Compile> </Compile>
<Compile Include="CustomControls\VirtualListView.cs" /> <Compile Include="CustomControls\VirtualListView.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="CustomControls\Win32.cs" /> <Compile Include="CustomControls\Win32.cs" />
<Compile Include="DisplayManager\DisplayManager.cs" /> <Compile Include="DisplayManager\DisplayManager.cs" />
<Compile Include="DisplayManager\DisplaySurface.cs" /> <Compile Include="DisplayManager\DisplaySurface.cs" />

View File

@ -58,7 +58,10 @@ namespace BizHawk.Client.EmuHawk
{ {
//allow suppression of the toggle.. but if shift is pressed, always do the toggle //allow suppression of the toggle.. but if shift is pressed, always do the toggle
bool allowSuppress = Control.ModifierKeys != Keys.Shift; bool allowSuppress = Control.ModifierKeys != Keys.Shift;
GlobalWin.MainForm.ToggleFullscreen(allowSuppress); if (Global.Config.DispChrome_AllowDoubleClickFullscreen || !allowSuppress)
{
GlobalWin.MainForm.ToggleFullscreen(allowSuppress);
}
} }
} }

View File

@ -89,6 +89,7 @@
this.cbMenuWindowed = new System.Windows.Forms.CheckBox(); this.cbMenuWindowed = new System.Windows.Forms.CheckBox();
this.trackbarFrameSizeWindowed = new BizHawk.Client.EmuHawk.TransparentTrackBar(); this.trackbarFrameSizeWindowed = new BizHawk.Client.EmuHawk.TransparentTrackBar();
this.cbCaptionWindowed = new System.Windows.Forms.CheckBox(); this.cbCaptionWindowed = new System.Windows.Forms.CheckBox();
this.cbAllowDoubleclickFullscreen = new System.Windows.Forms.CheckBox();
this.groupBox1.SuspendLayout(); this.groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.tbScanlineIntensity)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.tbScanlineIntensity)).BeginInit();
this.grpFinalFilter.SuspendLayout(); this.grpFinalFilter.SuspendLayout();
@ -628,6 +629,7 @@
// //
// tabPage1 // tabPage1
// //
this.tabPage1.Controls.Add(this.cbAllowDoubleclickFullscreen);
this.tabPage1.Controls.Add(this.groupBox4); this.tabPage1.Controls.Add(this.groupBox4);
this.tabPage1.Controls.Add(this.groupBox2); this.tabPage1.Controls.Add(this.groupBox2);
this.tabPage1.Location = new System.Drawing.Point(4, 22); this.tabPage1.Location = new System.Drawing.Point(4, 22);
@ -647,7 +649,7 @@
this.groupBox4.Controls.Add(this.cbMenuFullscreen); this.groupBox4.Controls.Add(this.cbMenuFullscreen);
this.groupBox4.Location = new System.Drawing.Point(143, 6); this.groupBox4.Location = new System.Drawing.Point(143, 6);
this.groupBox4.Name = "groupBox4"; this.groupBox4.Name = "groupBox4";
this.groupBox4.Size = new System.Drawing.Size(266, 235); this.groupBox4.Size = new System.Drawing.Size(266, 211);
this.groupBox4.TabIndex = 27; this.groupBox4.TabIndex = 27;
this.groupBox4.TabStop = false; this.groupBox4.TabStop = false;
this.groupBox4.Text = "Fullscreen"; this.groupBox4.Text = "Fullscreen";
@ -710,7 +712,7 @@
this.groupBox2.Controls.Add(this.cbCaptionWindowed); this.groupBox2.Controls.Add(this.cbCaptionWindowed);
this.groupBox2.Location = new System.Drawing.Point(6, 6); this.groupBox2.Location = new System.Drawing.Point(6, 6);
this.groupBox2.Name = "groupBox2"; this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(131, 235); this.groupBox2.Size = new System.Drawing.Size(131, 211);
this.groupBox2.TabIndex = 26; this.groupBox2.TabIndex = 26;
this.groupBox2.TabStop = false; this.groupBox2.TabStop = false;
this.groupBox2.Text = "Windowed"; this.groupBox2.Text = "Windowed";
@ -774,6 +776,16 @@
this.cbCaptionWindowed.Text = "Caption"; this.cbCaptionWindowed.Text = "Caption";
this.cbCaptionWindowed.UseVisualStyleBackColor = true; this.cbCaptionWindowed.UseVisualStyleBackColor = true;
// //
// cbAllowDoubleclickFullscreen
//
this.cbAllowDoubleclickFullscreen.AutoSize = true;
this.cbAllowDoubleclickFullscreen.Location = new System.Drawing.Point(12, 223);
this.cbAllowDoubleclickFullscreen.Name = "cbAllowDoubleclickFullscreen";
this.cbAllowDoubleclickFullscreen.Size = new System.Drawing.Size(347, 17);
this.cbAllowDoubleclickFullscreen.TabIndex = 27;
this.cbAllowDoubleclickFullscreen.Text = "Allow Double-Click Fullscreen (hold shift to force fullscreen to toggle)";
this.cbAllowDoubleclickFullscreen.UseVisualStyleBackColor = true;
//
// DisplayConfigLite // DisplayConfigLite
// //
this.AcceptButton = this.btnOk; this.AcceptButton = this.btnOk;
@ -807,6 +819,7 @@
this.groupBox5.ResumeLayout(false); this.groupBox5.ResumeLayout(false);
this.groupBox5.PerformLayout(); this.groupBox5.PerformLayout();
this.tabPage1.ResumeLayout(false); this.tabPage1.ResumeLayout(false);
this.tabPage1.PerformLayout();
this.groupBox4.ResumeLayout(false); this.groupBox4.ResumeLayout(false);
this.groupBox4.PerformLayout(); this.groupBox4.PerformLayout();
this.groupBox2.ResumeLayout(false); this.groupBox2.ResumeLayout(false);
@ -878,5 +891,6 @@
private System.Windows.Forms.RadioButton rbDisplayAbsoluteZero; private System.Windows.Forms.RadioButton rbDisplayAbsoluteZero;
private System.Windows.Forms.RadioButton rbDisplayMinimal; private System.Windows.Forms.RadioButton rbDisplayMinimal;
private System.Windows.Forms.RadioButton rbDisplayFull; private System.Windows.Forms.RadioButton rbDisplayFull;
private System.Windows.Forms.CheckBox cbAllowDoubleclickFullscreen;
} }
} }

View File

@ -56,6 +56,8 @@ namespace BizHawk.Client.EmuHawk.config
cbFSAutohideMouse.Checked = Global.Config.DispChrome_Fullscreen_AutohideMouse; cbFSAutohideMouse.Checked = Global.Config.DispChrome_Fullscreen_AutohideMouse;
SyncTrackbar(); SyncTrackbar();
cbAllowDoubleclickFullscreen.Checked = Global.Config.DispChrome_AllowDoubleClickFullscreen;
nudPrescale.Value = Global.Config.DispPrescale; nudPrescale.Value = Global.Config.DispPrescale;
// null emulator config hack // null emulator config hack
@ -113,6 +115,7 @@ namespace BizHawk.Client.EmuHawk.config
Global.Config.DispChrome_MenuFullscreen = cbMenuFullscreen.Checked; Global.Config.DispChrome_MenuFullscreen = cbMenuFullscreen.Checked;
Global.Config.DispChrome_FrameWindowed = trackbarFrameSizeWindowed.Value; Global.Config.DispChrome_FrameWindowed = trackbarFrameSizeWindowed.Value;
Global.Config.DispChrome_Fullscreen_AutohideMouse = cbFSAutohideMouse.Checked; Global.Config.DispChrome_Fullscreen_AutohideMouse = cbFSAutohideMouse.Checked;
Global.Config.DispChrome_AllowDoubleClickFullscreen = cbAllowDoubleclickFullscreen.Checked;
if (rbDisplayFull.Checked) Global.Config.DispSpeedupFeatures = 2; if (rbDisplayFull.Checked) Global.Config.DispSpeedupFeatures = 2;
if (rbDisplayMinimal.Checked) Global.Config.DispSpeedupFeatures = 1; if (rbDisplayMinimal.Checked) Global.Config.DispSpeedupFeatures = 1;