UI: Added options to automatically hide menu bar and display more information in title bar

This commit is contained in:
Souryo 2017-04-22 16:54:45 -04:00
parent 194d933685
commit c9c7c626ef
11 changed files with 209 additions and 89 deletions

View File

@ -16,6 +16,8 @@ namespace Mesen.GUI.Config
public bool DisplayMovieIcons = false;
public bool HidePauseOverlay = false;
public bool AutoHideMenu = false;
public bool DisplayTitleBarInfo = false;
public bool AutoSave = true;
public Int32 AutoSaveDelay = 5;

View File

@ -325,10 +325,16 @@
<Control ID="lblDisplayLanguage">Idioma de pantalla:</Control>
<Control ID="chkSingleInstance">Permitir una sola copia de Mesen a la vez</Control>
<Control ID="chkAutomaticallyCheckForUpdates">Buscar actualizaciones automáticamente</Control>
<Control ID="lblPauseBackgroundSettings">Pause/Background Settings</Control>
<Control ID="lblMiscSettings">Misc. Settings</Control>
<Control ID="chkAutoHideMenu">Automatically hide menu bar</Control>
<Control ID="chkDisplayTitleBarInfo">Display additional information in title bar</Control>
<Control ID="chkPauseOnMovieEnd">Pausar la emulación al finalizar el video</Control>
<Control ID="chkAllowBackgroundInput">Permitir entradas aunque Mesen esté en segundo plano</Control>
<Control ID="chkPauseWhenInBackground">Pausar la emulación aunque Mesen esté en segundo plano</Control>
<Control ID="chkAutoLoadIps">Cargar los archivos IPS/UPS/BPS automáticamente</Control>
<Control ID="chkAutoLoadIps">Cargar los archivos IPS/BPS automáticamente</Control>
<Control ID="chkHidePauseOverlay">Hide the pause screen</Control>
<Control ID="chkDisplayMovieIcons">Display play/record icon when playing or recording a movie</Control>
<Control ID="btnOpenMesenFolder">Abrir el directorio de Mesen</Control>

View File

@ -327,10 +327,16 @@
<Control ID="lblDisplayLanguage">Langue d'affichage :</Control>
<Control ID="chkSingleInstance">Permettre une seule copie de Mesen à la fois</Control>
<Control ID="chkAutomaticallyCheckForUpdates">Rechercher des mises-à-jour automatiquement</Control>
<Control ID="lblPauseBackgroundSettings">Options d'arrière-plan et pause</Control>
<Control ID="lblMiscSettings">Options diverses</Control>
<Control ID="chkAutoHideMenu">Cacher la barre de menu automatiquement</Control>
<Control ID="chkDisplayTitleBarInfo">Afficher plus d'informations dans la barre de titre</Control>
<Control ID="chkPauseOnMovieEnd">Pauser l'émulation à la fin d'un film</Control>
<Control ID="chkAllowBackgroundInput">Permettre les entrées lorsque Mesen est en arrière-plan</Control>
<Control ID="chkPauseWhenInBackground">Pauser l'émulation lorsque Mesen est en arrière-plan</Control>
<Control ID="chkAutoLoadIps">Charger les fichiers IPS/UPS/BPS automatiquement</Control>
<Control ID="chkAutoLoadIps">Charger les fichiers IPS/BPS automatiquement</Control>
<Control ID="chkHidePauseOverlay">Ne pas afficher l'écran de pause</Control>
<Control ID="chkDisplayMovieIcons">Afficher un icône lors de la lecture ou de l'enregistrement des films</Control>
<Control ID="btnOpenMesenFolder">Ouvrir le dossier de Mesen</Control>

View File

@ -326,10 +326,16 @@
<Control ID="lblDisplayLanguage">言語:</Control>
<Control ID="chkSingleInstance">Mesenを単一インスタンスモードにする</Control>
<Control ID="chkAutomaticallyCheckForUpdates">自動的にアップデートを確認</Control>
<Control ID="lblPauseBackgroundSettings">ポーズ・バックグラウンド設定</Control>
<Control ID="lblMiscSettings">その他</Control>
<Control ID="chkAutoHideMenu">自動的にメニューバーを隠す</Control>
<Control ID="chkDisplayTitleBarInfo">タイトルバーに追加情報を表す。</Control>
<Control ID="chkPauseOnMovieEnd">動画が終わると自動的にポーズする</Control>
<Control ID="chkAllowBackgroundInput">Mesenが最前面ではない時、コントローラは反応しない</Control>
<Control ID="chkPauseWhenInBackground">Mesenが最前面ではない時、自動的にポーズする</Control>
<Control ID="chkAutoLoadIps">自動的にパッチファイルIPS・UPSをロードする</Control>
<Control ID="chkAutoLoadIps">自動的にパッチファイルIPS・BPSをロードする</Control>
<Control ID="chkHidePauseOverlay">ポーズ画面を隠す</Control>
<Control ID="chkDisplayMovieIcons">動画の録画や再生の際、アイコンを表示する</Control>
<Control ID="btnOpenMesenFolder">Mesenのフォルダを開く</Control>

View File

@ -325,10 +325,16 @@
<Control ID="lblDisplayLanguage">Idioma de tela:</Control>
<Control ID="chkSingleInstance">Permitir apenas uma cópia de Mesen por vez</Control>
<Control ID="chkAutomaticallyCheckForUpdates">Buscar atualizações automaticamente</Control>
<Control ID="lblPauseBackgroundSettings">Pause/Background Settings</Control>
<Control ID="lblMiscSettings">Misc. Settings</Control>
<Control ID="chkAutoHideMenu">Automatically hide menu bar</Control>
<Control ID="chkDisplayTitleBarInfo">Display additional information in title bar</Control>
<Control ID="chkPauseOnMovieEnd">Pausar a emulação ao finalizar o vídeo</Control>
<Control ID="chkAllowBackgroundInput">Permitir inputs quando Mesen estiver em segundo plano</Control>
<Control ID="chkPauseWhenInBackground">Pausar a emulação quando Mesen estiver em segundo plano</Control>
<Control ID="chkAutoLoadIps">Carregar os arquivos IPS/UPS/BPS automaticamente</Control>
<Control ID="chkAutoLoadIps">Carregar os arquivos IPS/BPS automaticamente</Control>
<Control ID="chkHidePauseOverlay">Hide the pause screen</Control>
<Control ID="chkDisplayMovieIcons">Display play/record icon when playing or recording a movie</Control>
<Control ID="btnOpenMesenFolder">Abrir a pasta de Mesen</Control>

View File

@ -326,10 +326,16 @@
<Control ID="lblDisplayLanguage">Язык :</Control>
<Control ID="chkSingleInstance">Запускать только одну копию Mesen</Control>
<Control ID="chkAutomaticallyCheckForUpdates">Автоматически проверять обновления</Control>
<Control ID="lblPauseBackgroundSettings">Pause/Background Settings</Control>
<Control ID="lblMiscSettings">Misc. Settings</Control>
<Control ID="chkAutoHideMenu">Automatically hide menu bar</Control>
<Control ID="chkDisplayTitleBarInfo">Display additional information in title bar</Control>
<Control ID="chkPauseOnMovieEnd">Ставить на паузу после проигрывания записи</Control>
<Control ID="chkAllowBackgroundInput">Разрешить ввод в фоне</Control>
<Control ID="chkPauseWhenInBackground">Ставить на паузу при потере фокуса</Control>
<Control ID="chkAutoLoadIps">Автоматически загружать IPS/UPS</Control>
<Control ID="chkAutoLoadIps">Автоматически загружать IPS/BPS</Control>
<Control ID="chkHidePauseOverlay">Hide the pause screen</Control>
<Control ID="chkDisplayMovieIcons">Display play/record icon when playing or recording a movie</Control>
<Control ID="btnOpenMesenFolder">Открыть папку Mesen</Control>

View File

@ -326,10 +326,16 @@
<Control ID="lblDisplayLanguage">Мова :</Control>
<Control ID="chkSingleInstance">Запускати тільки одну копію Mesen</Control>
<Control ID="chkAutomaticallyCheckForUpdates">Автоматично перевіряти оновлення</Control>
<Control ID="lblPauseBackgroundSettings">Pause/Background Settings</Control>
<Control ID="lblMiscSettings">Misc. Settings</Control>
<Control ID="chkAutoHideMenu">Automatically hide menu bar</Control>
<Control ID="chkDisplayTitleBarInfo">Display additional information in title bar</Control>
<Control ID="chkPauseOnMovieEnd">Ставити на паузу після програвання запису</Control>
<Control ID="chkAllowBackgroundInput">Дозволити введення в тлі</Control>
<Control ID="chkPauseWhenInBackground">Ставити на паузу при втраті фокуса</Control>
<Control ID="chkAutoLoadIps">Автоматично завантажувати IPS/UPS</Control>
<Control ID="chkAutoLoadIps">Автоматично завантажувати IPS/BPS</Control>
<Control ID="chkHidePauseOverlay">Приховати екран паузи</Control>
<Control ID="chkDisplayMovieIcons">Відображати значок відтворення / запису при відтворенні або запису відео</Control>
<Control ID="btnOpenMesenFolder">Відкрити папку Mesen</Control>

View File

@ -32,17 +32,18 @@ namespace Mesen.GUI.Forms.Config
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmPreferences));
this.tlpMain = new System.Windows.Forms.TableLayoutPanel();
this.chkHidePauseOverlay = new System.Windows.Forms.CheckBox();
this.chkSingleInstance = new System.Windows.Forms.CheckBox();
this.chkAutomaticallyCheckForUpdates = new System.Windows.Forms.CheckBox();
this.chkPauseOnMovieEnd = new System.Windows.Forms.CheckBox();
this.chkAllowBackgroundInput = new System.Windows.Forms.CheckBox();
this.chkPauseWhenInBackground = new System.Windows.Forms.CheckBox();
this.chkAutoLoadIps = new System.Windows.Forms.CheckBox();
this.flowLayoutPanel6 = new System.Windows.Forms.FlowLayoutPanel();
this.btnOpenMesenFolder = new System.Windows.Forms.Button();
this.flowLayoutPanel2 = new System.Windows.Forms.FlowLayoutPanel();
this.lblDisplayLanguage = new System.Windows.Forms.Label();
this.cboDisplayLanguage = new System.Windows.Forms.ComboBox();
this.chkDisplayMovieIcons = new System.Windows.Forms.CheckBox();
this.tabMain = new System.Windows.Forms.TabControl();
this.tpgGeneral = new System.Windows.Forms.TabPage();
this.tpgShortcuts = new System.Windows.Forms.TabPage();
@ -97,8 +98,10 @@ namespace Mesen.GUI.Forms.Config
this.chkFdsAutoLoadDisk = new System.Windows.Forms.CheckBox();
this.chkFdsFastForwardOnLoad = new System.Windows.Forms.CheckBox();
this.tmrSyncDateTime = new System.Windows.Forms.Timer(this.components);
this.chkDisplayMovieIcons = new System.Windows.Forms.CheckBox();
this.chkHidePauseOverlay = new System.Windows.Forms.CheckBox();
this.chkDisplayTitleBarInfo = new System.Windows.Forms.CheckBox();
this.chkAutoHideMenu = new System.Windows.Forms.CheckBox();
this.lblMiscSettings = new System.Windows.Forms.Label();
this.lblPauseBackgroundSettings = new System.Windows.Forms.Label();
this.tlpMain.SuspendLayout();
this.flowLayoutPanel2.SuspendLayout();
this.tabMain.SuspendLayout();
@ -139,28 +142,32 @@ namespace Mesen.GUI.Forms.Config
//
this.tlpMain.ColumnCount = 1;
this.tlpMain.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
this.tlpMain.Controls.Add(this.chkHidePauseOverlay, 0, 9);
this.tlpMain.Controls.Add(this.lblPauseBackgroundSettings, 0, 3);
this.tlpMain.Controls.Add(this.chkSingleInstance, 0, 2);
this.tlpMain.Controls.Add(this.chkAutomaticallyCheckForUpdates, 0, 1);
this.tlpMain.Controls.Add(this.chkPauseOnMovieEnd, 0, 6);
this.tlpMain.Controls.Add(this.chkAllowBackgroundInput, 0, 5);
this.tlpMain.Controls.Add(this.chkPauseWhenInBackground, 0, 4);
this.tlpMain.Controls.Add(this.chkAutoLoadIps, 0, 3);
this.tlpMain.Controls.Add(this.flowLayoutPanel6, 0, 1);
this.tlpMain.Controls.Add(this.btnOpenMesenFolder, 0, 11);
this.tlpMain.Controls.Add(this.btnOpenMesenFolder, 0, 13);
this.tlpMain.Controls.Add(this.flowLayoutPanel2, 0, 0);
this.tlpMain.Controls.Add(this.chkDisplayMovieIcons, 0, 8);
this.tlpMain.Controls.Add(this.lblMiscSettings, 0, 8);
this.tlpMain.Controls.Add(this.chkAutoLoadIps, 0, 9);
this.tlpMain.Controls.Add(this.chkDisplayMovieIcons, 0, 11);
this.tlpMain.Controls.Add(this.chkAutoHideMenu, 0, 10);
this.tlpMain.Controls.Add(this.chkHidePauseOverlay, 0, 4);
this.tlpMain.Controls.Add(this.chkAllowBackgroundInput, 0, 7);
this.tlpMain.Controls.Add(this.chkPauseWhenInBackground, 0, 6);
this.tlpMain.Controls.Add(this.chkPauseOnMovieEnd, 0, 5);
this.tlpMain.Dock = System.Windows.Forms.DockStyle.Fill;
this.tlpMain.Location = new System.Drawing.Point(3, 3);
this.tlpMain.Name = "tlpMain";
this.tlpMain.RowCount = 12;
this.tlpMain.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tlpMain.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tlpMain.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tlpMain.RowCount = 14;
this.tlpMain.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tlpMain.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tlpMain.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tlpMain.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tlpMain.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tlpMain.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tlpMain.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tlpMain.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tlpMain.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tlpMain.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tlpMain.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tlpMain.RowStyles.Add(new System.Windows.Forms.RowStyle());
@ -169,6 +176,17 @@ namespace Mesen.GUI.Forms.Config
this.tlpMain.Size = new System.Drawing.Size(473, 337);
this.tlpMain.TabIndex = 1;
//
// chkHidePauseOverlay
//
this.chkHidePauseOverlay.AutoSize = true;
this.chkHidePauseOverlay.Location = new System.Drawing.Point(13, 95);
this.chkHidePauseOverlay.Margin = new System.Windows.Forms.Padding(13, 3, 3, 3);
this.chkHidePauseOverlay.Name = "chkHidePauseOverlay";
this.chkHidePauseOverlay.Size = new System.Drawing.Size(133, 17);
this.chkHidePauseOverlay.TabIndex = 20;
this.chkHidePauseOverlay.Text = "Hide the pause screen";
this.chkHidePauseOverlay.UseVisualStyleBackColor = true;
//
// chkSingleInstance
//
this.chkSingleInstance.AutoSize = true;
@ -192,7 +210,8 @@ namespace Mesen.GUI.Forms.Config
// chkPauseOnMovieEnd
//
this.chkPauseOnMovieEnd.AutoSize = true;
this.chkPauseOnMovieEnd.Location = new System.Drawing.Point(3, 144);
this.chkPauseOnMovieEnd.Location = new System.Drawing.Point(13, 118);
this.chkPauseOnMovieEnd.Margin = new System.Windows.Forms.Padding(13, 3, 3, 3);
this.chkPauseOnMovieEnd.Name = "chkPauseOnMovieEnd";
this.chkPauseOnMovieEnd.Size = new System.Drawing.Size(199, 17);
this.chkPauseOnMovieEnd.TabIndex = 15;
@ -202,7 +221,8 @@ namespace Mesen.GUI.Forms.Config
// chkAllowBackgroundInput
//
this.chkAllowBackgroundInput.AutoSize = true;
this.chkAllowBackgroundInput.Location = new System.Drawing.Point(3, 121);
this.chkAllowBackgroundInput.Location = new System.Drawing.Point(13, 164);
this.chkAllowBackgroundInput.Margin = new System.Windows.Forms.Padding(13, 3, 3, 3);
this.chkAllowBackgroundInput.Name = "chkAllowBackgroundInput";
this.chkAllowBackgroundInput.Size = new System.Drawing.Size(177, 17);
this.chkAllowBackgroundInput.TabIndex = 14;
@ -212,7 +232,8 @@ namespace Mesen.GUI.Forms.Config
// chkPauseWhenInBackground
//
this.chkPauseWhenInBackground.AutoSize = true;
this.chkPauseWhenInBackground.Location = new System.Drawing.Point(3, 98);
this.chkPauseWhenInBackground.Location = new System.Drawing.Point(13, 141);
this.chkPauseWhenInBackground.Margin = new System.Windows.Forms.Padding(13, 3, 3, 3);
this.chkPauseWhenInBackground.Name = "chkPauseWhenInBackground";
this.chkPauseWhenInBackground.Size = new System.Drawing.Size(204, 17);
this.chkPauseWhenInBackground.TabIndex = 13;
@ -223,23 +244,14 @@ namespace Mesen.GUI.Forms.Config
// chkAutoLoadIps
//
this.chkAutoLoadIps.AutoSize = true;
this.chkAutoLoadIps.Location = new System.Drawing.Point(3, 75);
this.chkAutoLoadIps.Location = new System.Drawing.Point(13, 207);
this.chkAutoLoadIps.Margin = new System.Windows.Forms.Padding(13, 3, 3, 3);
this.chkAutoLoadIps.Name = "chkAutoLoadIps";
this.chkAutoLoadIps.Size = new System.Drawing.Size(185, 17);
this.chkAutoLoadIps.Size = new System.Drawing.Size(198, 17);
this.chkAutoLoadIps.TabIndex = 9;
this.chkAutoLoadIps.Text = "Auto-load IPS/UPS/BPS patches";
this.chkAutoLoadIps.Text = "Automatically load IPS/BPS patches";
this.chkAutoLoadIps.UseVisualStyleBackColor = true;
//
// flowLayoutPanel6
//
this.flowLayoutPanel6.AutoSize = true;
this.flowLayoutPanel6.Dock = System.Windows.Forms.DockStyle.Fill;
this.flowLayoutPanel6.Location = new System.Drawing.Point(0, 26);
this.flowLayoutPanel6.Margin = new System.Windows.Forms.Padding(0);
this.flowLayoutPanel6.Name = "flowLayoutPanel6";
this.flowLayoutPanel6.Size = new System.Drawing.Size(473, 1);
this.flowLayoutPanel6.TabIndex = 10;
//
// btnOpenMesenFolder
//
this.btnOpenMesenFolder.AutoSize = true;
@ -280,6 +292,17 @@ namespace Mesen.GUI.Forms.Config
this.cboDisplayLanguage.Size = new System.Drawing.Size(206, 21);
this.cboDisplayLanguage.TabIndex = 1;
//
// chkDisplayMovieIcons
//
this.chkDisplayMovieIcons.AutoSize = true;
this.chkDisplayMovieIcons.Location = new System.Drawing.Point(13, 253);
this.chkDisplayMovieIcons.Margin = new System.Windows.Forms.Padding(13, 3, 3, 3);
this.chkDisplayMovieIcons.Name = "chkDisplayMovieIcons";
this.chkDisplayMovieIcons.Size = new System.Drawing.Size(304, 17);
this.chkDisplayMovieIcons.TabIndex = 19;
this.chkDisplayMovieIcons.Text = "Display play/record icon when playing or recording a movie";
this.chkDisplayMovieIcons.UseVisualStyleBackColor = true;
//
// tabMain
//
this.tabMain.Controls.Add(this.tpgGeneral);
@ -892,17 +915,18 @@ namespace Mesen.GUI.Forms.Config
this.tableLayoutPanel1.Controls.Add(this.chkDisableGameDatabase, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.chkFdsAutoLoadDisk, 0, 1);
this.tableLayoutPanel1.Controls.Add(this.chkFdsFastForwardOnLoad, 0, 2);
this.tableLayoutPanel1.Controls.Add(this.chkDisplayTitleBarInfo, 0, 3);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(3, 3);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 4;
this.tableLayoutPanel1.RowCount = 5;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(473, 250);
this.tableLayoutPanel1.Size = new System.Drawing.Size(473, 337);
this.tableLayoutPanel1.TabIndex = 0;
//
// chkDisableGameDatabase
@ -940,25 +964,51 @@ namespace Mesen.GUI.Forms.Config
this.tmrSyncDateTime.Enabled = true;
this.tmrSyncDateTime.Tick += new System.EventHandler(this.tmrSyncDateTime_Tick);
//
// chkDisplayMovieIcons
// chkDisplayTitleBarInfo
//
this.chkDisplayMovieIcons.AutoSize = true;
this.chkDisplayMovieIcons.Location = new System.Drawing.Point(3, 167);
this.chkDisplayMovieIcons.Name = "chkDisplayMovieIcons";
this.chkDisplayMovieIcons.Size = new System.Drawing.Size(304, 17);
this.chkDisplayMovieIcons.TabIndex = 19;
this.chkDisplayMovieIcons.Text = "Display play/record icon when playing or recording a movie";
this.chkDisplayMovieIcons.UseVisualStyleBackColor = true;
this.chkDisplayTitleBarInfo.AutoSize = true;
this.chkDisplayTitleBarInfo.Location = new System.Drawing.Point(3, 72);
this.chkDisplayTitleBarInfo.Name = "chkDisplayTitleBarInfo";
this.chkDisplayTitleBarInfo.Size = new System.Drawing.Size(210, 17);
this.chkDisplayTitleBarInfo.TabIndex = 8;
this.chkDisplayTitleBarInfo.Text = "Display additional information in title bar";
this.chkDisplayTitleBarInfo.UseVisualStyleBackColor = true;
//
// chkHidePauseOverlay
// chkAutoHideMenu
//
this.chkHidePauseOverlay.AutoSize = true;
this.chkHidePauseOverlay.Location = new System.Drawing.Point(3, 190);
this.chkHidePauseOverlay.Name = "chkHidePauseOverlay";
this.chkHidePauseOverlay.Size = new System.Drawing.Size(212, 17);
this.chkHidePauseOverlay.TabIndex = 20;
this.chkHidePauseOverlay.Text = "Hide the pause screen";
this.chkHidePauseOverlay.UseVisualStyleBackColor = true;
this.chkAutoHideMenu.AutoSize = true;
this.chkAutoHideMenu.Location = new System.Drawing.Point(13, 230);
this.chkAutoHideMenu.Margin = new System.Windows.Forms.Padding(13, 3, 3, 3);
this.chkAutoHideMenu.Name = "chkAutoHideMenu";
this.chkAutoHideMenu.Size = new System.Drawing.Size(158, 17);
this.chkAutoHideMenu.TabIndex = 21;
this.chkAutoHideMenu.Text = "Automatically hide menu bar";
this.chkAutoHideMenu.UseVisualStyleBackColor = true;
//
// lblMiscSettings
//
this.lblMiscSettings.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.lblMiscSettings.AutoSize = true;
this.lblMiscSettings.Enabled = false;
this.lblMiscSettings.ForeColor = System.Drawing.SystemColors.GrayText;
this.lblMiscSettings.Location = new System.Drawing.Point(0, 191);
this.lblMiscSettings.Margin = new System.Windows.Forms.Padding(0, 0, 3, 0);
this.lblMiscSettings.Name = "lblMiscSettings";
this.lblMiscSettings.Size = new System.Drawing.Size(73, 13);
this.lblMiscSettings.TabIndex = 22;
this.lblMiscSettings.Text = "Misc. Settings";
//
// lblPauseBackgroundSettings
//
this.lblPauseBackgroundSettings.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.lblPauseBackgroundSettings.AutoSize = true;
this.lblPauseBackgroundSettings.ForeColor = System.Drawing.SystemColors.GrayText;
this.lblPauseBackgroundSettings.Location = new System.Drawing.Point(0, 79);
this.lblPauseBackgroundSettings.Margin = new System.Windows.Forms.Padding(0, 0, 3, 0);
this.lblPauseBackgroundSettings.Name = "lblPauseBackgroundSettings";
this.lblPauseBackgroundSettings.Size = new System.Drawing.Size(141, 13);
this.lblPauseBackgroundSettings.TabIndex = 23;
this.lblPauseBackgroundSettings.Text = "Pause/Background Settings";
//
// frmPreferences
//
@ -1024,7 +1074,6 @@ namespace Mesen.GUI.Forms.Config
private System.Windows.Forms.TableLayoutPanel tlpMain;
private System.Windows.Forms.CheckBox chkAutoLoadIps;
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel6;
private System.Windows.Forms.CheckBox chkSingleInstance;
private System.Windows.Forms.CheckBox chkPauseWhenInBackground;
private System.Windows.Forms.TabControl tabMain;
@ -1090,5 +1139,9 @@ namespace Mesen.GUI.Forms.Config
private ctrlEmulatorShortcuts ctrlEmulatorShortcuts;
private System.Windows.Forms.CheckBox chkHidePauseOverlay;
private System.Windows.Forms.CheckBox chkDisplayMovieIcons;
private System.Windows.Forms.CheckBox chkAutoHideMenu;
private System.Windows.Forms.CheckBox chkDisplayTitleBarInfo;
private System.Windows.Forms.Label lblPauseBackgroundSettings;
private System.Windows.Forms.Label lblMiscSettings;
}
}

View File

@ -56,6 +56,9 @@ namespace Mesen.GUI.Forms.Config
AddBinding("DisplayMovieIcons", chkDisplayMovieIcons);
AddBinding("HidePauseOverlay", chkHidePauseOverlay);
AddBinding("AutoHideMenu", chkAutoHideMenu);
AddBinding("DisplayTitleBarInfo", chkDisplayTitleBarInfo);
UpdateCloudDisplay();
}

View File

@ -228,7 +228,7 @@ namespace Mesen.GUI.Forms
this.ctrlRenderer.Location = new System.Drawing.Point(0, 0);
this.ctrlRenderer.Margin = new System.Windows.Forms.Padding(0);
this.ctrlRenderer.Name = "ctrlRenderer";
this.ctrlRenderer.Size = new System.Drawing.Size(263, 176);
this.ctrlRenderer.Size = new System.Drawing.Size(150, 90);
this.ctrlRenderer.TabIndex = 1;
this.ctrlRenderer.DoubleClick += new System.EventHandler(this.ctrlRenderer_DoubleClick);
this.ctrlRenderer.Enter += new System.EventHandler(this.ctrlRenderer_Enter);
@ -461,7 +461,7 @@ namespace Mesen.GUI.Forms
this.mnuShowFPS});
this.mnuEmulationSpeed.Image = global::Mesen.GUI.Properties.Resources.Speed;
this.mnuEmulationSpeed.Name = "mnuEmulationSpeed";
this.mnuEmulationSpeed.Size = new System.Drawing.Size(152, 22);
this.mnuEmulationSpeed.Size = new System.Drawing.Size(135, 22);
this.mnuEmulationSpeed.Text = "Speed";
this.mnuEmulationSpeed.DropDownOpening += new System.EventHandler(this.mnuEmulationSpeed_DropDownOpening);
//
@ -563,7 +563,7 @@ namespace Mesen.GUI.Forms
this.mnuFullscreen});
this.mnuVideoScale.Image = global::Mesen.GUI.Properties.Resources.Fullscreen;
this.mnuVideoScale.Name = "mnuVideoScale";
this.mnuVideoScale.Size = new System.Drawing.Size(152, 22);
this.mnuVideoScale.Size = new System.Drawing.Size(135, 22);
this.mnuVideoScale.Text = "Video Size";
//
// mnuScale1x
@ -678,7 +678,7 @@ namespace Mesen.GUI.Forms
this.toolStripMenuItem19,
this.mnuBilinearInterpolation});
this.mnuVideoFilter.Name = "mnuVideoFilter";
this.mnuVideoFilter.Size = new System.Drawing.Size(152, 22);
this.mnuVideoFilter.Size = new System.Drawing.Size(135, 22);
this.mnuVideoFilter.Text = "Video Filter";
//
// mnuNoneFilter
@ -908,47 +908,47 @@ namespace Mesen.GUI.Forms
this.mnuRegionDendy});
this.mnuRegion.Image = global::Mesen.GUI.Properties.Resources.Globe;
this.mnuRegion.Name = "mnuRegion";
this.mnuRegion.Size = new System.Drawing.Size(152, 22);
this.mnuRegion.Size = new System.Drawing.Size(135, 22);
this.mnuRegion.Text = "Region";
//
// mnuRegionAuto
//
this.mnuRegionAuto.Name = "mnuRegionAuto";
this.mnuRegionAuto.Size = new System.Drawing.Size(152, 22);
this.mnuRegionAuto.Size = new System.Drawing.Size(108, 22);
this.mnuRegionAuto.Text = "Auto";
this.mnuRegionAuto.Click += new System.EventHandler(this.mnuRegion_Click);
//
// mnuRegionNtsc
//
this.mnuRegionNtsc.Name = "mnuRegionNtsc";
this.mnuRegionNtsc.Size = new System.Drawing.Size(152, 22);
this.mnuRegionNtsc.Size = new System.Drawing.Size(108, 22);
this.mnuRegionNtsc.Text = "NTSC";
this.mnuRegionNtsc.Click += new System.EventHandler(this.mnuRegion_Click);
//
// mnuRegionPal
//
this.mnuRegionPal.Name = "mnuRegionPal";
this.mnuRegionPal.Size = new System.Drawing.Size(152, 22);
this.mnuRegionPal.Size = new System.Drawing.Size(108, 22);
this.mnuRegionPal.Text = "PAL";
this.mnuRegionPal.Click += new System.EventHandler(this.mnuRegion_Click);
//
// mnuRegionDendy
//
this.mnuRegionDendy.Name = "mnuRegionDendy";
this.mnuRegionDendy.Size = new System.Drawing.Size(152, 22);
this.mnuRegionDendy.Size = new System.Drawing.Size(108, 22);
this.mnuRegionDendy.Text = "Dendy";
this.mnuRegionDendy.Click += new System.EventHandler(this.mnuRegion_Click);
//
// toolStripMenuItem10
//
this.toolStripMenuItem10.Name = "toolStripMenuItem10";
this.toolStripMenuItem10.Size = new System.Drawing.Size(149, 6);
this.toolStripMenuItem10.Size = new System.Drawing.Size(132, 6);
//
// mnuAudioConfig
//
this.mnuAudioConfig.Image = global::Mesen.GUI.Properties.Resources.Audio;
this.mnuAudioConfig.Name = "mnuAudioConfig";
this.mnuAudioConfig.Size = new System.Drawing.Size(152, 22);
this.mnuAudioConfig.Size = new System.Drawing.Size(135, 22);
this.mnuAudioConfig.Text = "Audio";
this.mnuAudioConfig.Click += new System.EventHandler(this.mnuAudioConfig_Click);
//
@ -956,7 +956,7 @@ namespace Mesen.GUI.Forms
//
this.mnuInput.Image = global::Mesen.GUI.Properties.Resources.Controller;
this.mnuInput.Name = "mnuInput";
this.mnuInput.Size = new System.Drawing.Size(152, 22);
this.mnuInput.Size = new System.Drawing.Size(135, 22);
this.mnuInput.Text = "Input";
this.mnuInput.Click += new System.EventHandler(this.mnuInput_Click);
//
@ -964,7 +964,7 @@ namespace Mesen.GUI.Forms
//
this.mnuVideoConfig.Image = global::Mesen.GUI.Properties.Resources.Video;
this.mnuVideoConfig.Name = "mnuVideoConfig";
this.mnuVideoConfig.Size = new System.Drawing.Size(152, 22);
this.mnuVideoConfig.Size = new System.Drawing.Size(135, 22);
this.mnuVideoConfig.Text = "Video";
this.mnuVideoConfig.Click += new System.EventHandler(this.mnuVideoConfig_Click);
//
@ -972,20 +972,20 @@ namespace Mesen.GUI.Forms
//
this.mnuEmulationConfig.Image = global::Mesen.GUI.Properties.Resources.DipSwitches;
this.mnuEmulationConfig.Name = "mnuEmulationConfig";
this.mnuEmulationConfig.Size = new System.Drawing.Size(152, 22);
this.mnuEmulationConfig.Size = new System.Drawing.Size(135, 22);
this.mnuEmulationConfig.Text = "Emulation";
this.mnuEmulationConfig.Click += new System.EventHandler(this.mnuEmulationConfig_Click);
//
// toolStripMenuItem11
//
this.toolStripMenuItem11.Name = "toolStripMenuItem11";
this.toolStripMenuItem11.Size = new System.Drawing.Size(149, 6);
this.toolStripMenuItem11.Size = new System.Drawing.Size(132, 6);
//
// mnuPreferences
//
this.mnuPreferences.Image = global::Mesen.GUI.Properties.Resources.Cog;
this.mnuPreferences.Name = "mnuPreferences";
this.mnuPreferences.Size = new System.Drawing.Size(152, 22);
this.mnuPreferences.Size = new System.Drawing.Size(135, 22);
this.mnuPreferences.Text = "Preferences";
this.mnuPreferences.Click += new System.EventHandler(this.mnuPreferences_Click);
//

View File

@ -327,7 +327,7 @@ namespace Mesen.GUI.Forms
UpdateScaleMenu(size.Scale);
this.Resize -= frmMain_Resize;
this.ClientSize = new Size(Math.Max(this.MinimumSize.Width - sizeGap.Width, size.Width), Math.Max(this.MinimumSize.Height - sizeGap.Height, size.Height + menuStrip.Height));
this.ClientSize = new Size(Math.Max(this.MinimumSize.Width - sizeGap.Width, size.Width), Math.Max(this.MinimumSize.Height - sizeGap.Height, size.Height + (this.HideMenuStrip ? 0 : menuStrip.Height)));
this.Resize += frmMain_Resize;
} else if(_customSize) {
SetScaleBasedOnWindowSize();
@ -336,6 +336,10 @@ namespace Mesen.GUI.Forms
ctrlRenderer.Size = new Size(size.Width, size.Height);
ctrlRenderer.Left = (panelRenderer.Width - ctrlRenderer.Width) / 2;
ctrlRenderer.Top = (panelRenderer.Height - ctrlRenderer.Height) / 2;
if(this.HideMenuStrip) {
this.menuStrip.Visible = false;
}
}
private void frmMain_Resize(object sender, EventArgs e)
@ -346,7 +350,7 @@ namespace Mesen.GUI.Forms
ctrlRenderer.Top = (panelRenderer.Height - ctrlRenderer.Height) / 2;
}
}
private void SetScaleBasedOnWindowSize()
{
_customSize = true;
@ -383,16 +387,28 @@ namespace Mesen.GUI.Forms
mnuFullscreen.Checked = enabled;
}
private bool HideMenuStrip
{
get
{
return _fullscreenMode || ConfigManager.Config.PreferenceInfo.AutoHideMenu;
}
}
private void ctrlRenderer_MouseMove(object sender, MouseEventArgs e)
{
if(_fullscreenMode && !this.menuStrip.ContainsFocus) {
this.menuStrip.Visible = e.Y < 30;
if(this.HideMenuStrip && !this.menuStrip.ContainsFocus) {
if(sender == ctrlRenderer) {
this.menuStrip.Visible = ctrlRenderer.Top + e.Y < 30;
} else {
this.menuStrip.Visible = e.Y < 30;
}
}
}
private void ctrlRenderer_MouseClick(object sender, MouseEventArgs e)
{
if(_fullscreenMode) {
if(this.HideMenuStrip) {
this.menuStrip.Visible = false;
}
}
@ -605,12 +621,7 @@ namespace Mesen.GUI.Forms
ctrlLoading.Visible = (_romLoadCounter > 0);
UpdateFocusFlag();
if(string.IsNullOrWhiteSpace(_currentGame)) {
this.Text = "Mesen";
} else {
this.Text = "Mesen - " + _currentGame;
}
UpdateWindowTitle();
bool isNetPlayClient = InteropEmu.IsConnected();
@ -703,6 +714,18 @@ namespace Mesen.GUI.Forms
} catch { }
}
private void UpdateWindowTitle()
{
string title = "Mesen";
if(!string.IsNullOrWhiteSpace(_currentGame)) {
title += " - " + _currentGame;
}
if(ConfigManager.Config.PreferenceInfo.DisplayTitleBarInfo) {
title += string.Format(" - {0}x{1} ({2:0.##}x, {3}) - {4}", ctrlRenderer.Width, ctrlRenderer.Height, ConfigManager.Config.VideoInfo.VideoScale, ResourceHelper.GetEnumText(ConfigManager.Config.VideoInfo.AspectRatio), ResourceHelper.GetEnumText(ConfigManager.Config.VideoInfo.VideoFilter));
}
this.Text = title;
}
private void UpdateRecentFiles()
{
mnuRecentFiles.DropDownItems.Clear();
@ -780,7 +803,7 @@ namespace Mesen.GUI.Forms
return false;
}
if(_fullscreenMode && (keyData & Keys.Alt) == Keys.Alt) {
if(this.HideMenuStrip && (keyData & Keys.Alt) == Keys.Alt) {
if(this.menuStrip.Visible && !this.menuStrip.ContainsFocus) {
this.menuStrip.Visible = false;
} else {
@ -1260,6 +1283,9 @@ namespace Mesen.GUI.Forms
{
_customSize = false;
_regularScale = scale;
if(this.HideMenuStrip) {
this.menuStrip.Visible = false;
}
InteropEmu.SetVideoScale(scale);
UpdateScaleMenu(scale);
}
@ -1516,7 +1542,7 @@ namespace Mesen.GUI.Forms
private void panelRenderer_Click(object sender, EventArgs e)
{
if(_fullscreenMode) {
if(this.HideMenuStrip) {
this.menuStrip.Visible = false;
}
@ -1525,14 +1551,14 @@ namespace Mesen.GUI.Forms
private void ctrlRenderer_Enter(object sender, EventArgs e)
{
if(_fullscreenMode) {
if(this.HideMenuStrip) {
this.menuStrip.Visible = false;
}
}
private void menuStrip_VisibleChanged(object sender, EventArgs e)
{
if(_fullscreenMode) {
if(this.HideMenuStrip) {
IntPtr handle = this.Handle;
this.BeginInvoke((MethodInvoker)(() => {
int rendererTop = (panelRenderer.Height + (this.menuStrip.Visible ? menuStrip.Height : 0) - ctrlRenderer.Height) / 2;