UI: Added "Always on top" option in preferences

This commit is contained in:
Sour 2017-12-26 12:38:30 -05:00
parent a40e3de438
commit a93d50ea1f
16 changed files with 74 additions and 19 deletions

View file

@ -426,6 +426,7 @@ enum class EmulatorShortcut
ToggleFrameCounter,
ToggleLagCounter,
ToggleOsd,
ToggleAlwaysOnTop,
ToggleSprites,
ToggleBackground,

View file

@ -53,6 +53,8 @@ namespace Mesen.GUI.Config
public List<ShortcutKeyInfo> ShortcutKeys1;
public List<ShortcutKeyInfo> ShortcutKeys2;
public bool AlwaysOnTop = false;
public bool DisableGameDatabase = false;
public bool DisableOsd = false;

View file

@ -401,6 +401,8 @@
<Control ID="chkDisableGameDatabase">Desactiva la base de dades de jocs integrada</Control>
<Control ID="chkDisableOsd">Desactiva la visualització en pantalla (OSD)</Control>
<Control ID="chkAlwaysOnTop">Always display on top of other windows</Control>
<Control ID="tpgNsf">NSF</Control>
<Control ID="chkNsfAutoDetectSilence">Reprodueix la següent pista després de</Control>
<Control ID="lblNsfMillisecondsOfSilence">mil·lisegons de silenci</Control>
@ -794,6 +796,7 @@
<Message ID="EmulatorShortcutMappings_ToggleFrameCounter">Mostra/Amaga el comptador de fotogrames</Message>
<Message ID="EmulatorShortcutMappings_ToggleLagCounter">Mostra/Amaga el comptador de latència</Message>
<Message ID="EmulatorShortcutMappings_ToggleOsd">Mostra/Amaga la visualització en pantalla (OSD)</Message>
<Message ID="EmulatorShortcutMappings_ToggleAlwaysOnTop">Toggle Display on Top</Message>
<Message ID="EmulatorShortcutMappings_ToggleBackground">Mostra/Amaga la capa de fons</Message>
<Message ID="EmulatorShortcutMappings_ToggleSprites">Mostra/Amaga la capa de sprites</Message>
<Message ID="EmulatorShortcutMappings_ToggleKeyboardMode">Toggle Keyboard Mode</Message>

View file

@ -131,6 +131,7 @@
<Message ID="EmulatorShortcutMappings_ToggleFrameCounter">Toggle Frame Counter</Message>
<Message ID="EmulatorShortcutMappings_ToggleLagCounter">Toggle Lag Counter</Message>
<Message ID="EmulatorShortcutMappings_ToggleOsd">Toggle OSD (On-Screen Display)</Message>
<Message ID="EmulatorShortcutMappings_ToggleAlwaysOnTop">Toggle Display on Top</Message>
<Message ID="EmulatorShortcutMappings_ToggleBackground">Toggle Background Layer</Message>
<Message ID="EmulatorShortcutMappings_ToggleSprites">Toggle Sprite Layer</Message>
<Message ID="EmulatorShortcutMappings_ToggleKeyboardMode">Toggle Keyboard Mode</Message>

View file

@ -400,6 +400,8 @@
<Control ID="chkDisableGameDatabase">Deshabilitar la base de datos de juegos</Control>
<Control ID="chkDisableOsd">Deshabilitar visualización en pantalla (OSD)</Control>
<Control ID="chkAlwaysOnTop">Always display on top of other windows</Control>
<Control ID="tpgNsf">NSF</Control>
<Control ID="chkNsfAutoDetectSilence">Reproducir la siguiente pista después</Control>
<Control ID="lblNsfMillisecondsOfSilence">milisegundos de silencio</Control>
@ -812,6 +814,7 @@
<Message ID="EmulatorShortcutMappings_ToggleFrameCounter">Alternar contador de frames</Message>
<Message ID="EmulatorShortcutMappings_ToggleLagCounter">Alternar contador de lag</Message>
<Message ID="EmulatorShortcutMappings_ToggleOsd">Alternar OSD (Información en pantalla)</Message>
<Message ID="EmulatorShortcutMappings_ToggleAlwaysOnTop">Toggle Display on Top</Message>
<Message ID="EmulatorShortcutMappings_ToggleBackground">Alternar capa de fondo</Message>
<Message ID="EmulatorShortcutMappings_ToggleSprites">Alternar capa de sprite</Message>
<Message ID="EmulatorShortcutMappings_ToggleKeyboardMode">Toggle Keyboard Mode</Message>

View file

@ -401,6 +401,8 @@
<Control ID="chkDisableGameDatabase">Désactiver la base de données des jeux</Control>
<Control ID="chkDisableOsd">Désactiver les messages à l'écran (OSD)</Control>
<Control ID="chkAlwaysOnTop">Afficher la fenêtre au premier plan</Control>
<Control ID="tpgNsf">NSF</Control>
<Control ID="chkNsfAutoDetectSilence">Jouer la piste suivante après</Control>
<Control ID="lblNsfMillisecondsOfSilence">millisecondes de silence</Control>
@ -825,6 +827,7 @@
<Message ID="EmulatorShortcutMappings_ToggleFrameCounter">Activer/désactiver le compteur d'images</Message>
<Message ID="EmulatorShortcutMappings_ToggleLagCounter">Activer/désactiver le compteur de lag</Message>
<Message ID="EmulatorShortcutMappings_ToggleOsd">Activer/désactiver les messages à l'écran (OSD)</Message>
<Message ID="EmulatorShortcutMappings_ToggleAlwaysOnTop">Activer/désactiver l'affichage en premier plan</Message>
<Message ID="EmulatorShortcutMappings_ToggleBackground">Activer/désactiver l'arrière-plan</Message>
<Message ID="EmulatorShortcutMappings_ToggleSprites">Activer/désactiver les sprites</Message>
<Message ID="EmulatorShortcutMappings_ToggleKeyboardMode">Activer/désactiver le mode clavier</Message>

View file

@ -401,6 +401,8 @@
<Control ID="chkDisableGameDatabase">ゲームデータベースを無効にする</Control>
<Control ID="chkDisableOsd">オンスクリーン表示を無効にする</Control>
<Control ID="chkAlwaysOnTop">他のウインドウより常に手前に表示する</Control>
<Control ID="tpgNsf">NSF</Control>
<Control ID="chkNsfAutoDetectSilence">無音検出:</Control>
<Control ID="lblNsfMillisecondsOfSilence">ミリ秒間で無音の場合、次の曲を再生</Control>
@ -809,6 +811,7 @@
<Message ID="EmulatorShortcutMappings_ToggleFrameCounter">フレームカウンタ表示</Message>
<Message ID="EmulatorShortcutMappings_ToggleLagCounter">ラグカウンタ表示</Message>
<Message ID="EmulatorShortcutMappings_ToggleOsd">オンスクリーン表示を無効・有効にする</Message>
<Message ID="EmulatorShortcutMappings_ToggleAlwaysOnTop">手前に表示を無効・有効にする</Message>
<Message ID="EmulatorShortcutMappings_ToggleBackground">バックグラウンドレイヤー表示</Message>
<Message ID="EmulatorShortcutMappings_ToggleSprites">スプライトレイヤー表示</Message>
<Message ID="EmulatorShortcutMappings_ToggleKeyboardMode">キーボードモードを無効・有効にする</Message>

View file

@ -398,6 +398,8 @@
<Control ID="chkDisableGameDatabase">Desabilitar a base de dados de jogos</Control>
<Control ID="chkDisableOsd">Desativar exibição na tela (OSD)</Control>
<Control ID="chkAlwaysOnTop">Always display on top of other windows</Control>
<Control ID="tpgNsf">NSF</Control>
<Control ID="chkNsfAutoDetectSilence">Reproduzir a faixa seguinte depois</Control>
<Control ID="lblNsfMillisecondsOfSilence">milissegundos de silêncio</Control>
@ -810,6 +812,7 @@
<Message ID="EmulatorShortcutMappings_ToggleFrameCounter">Alternar contador de quadro</Message>
<Message ID="EmulatorShortcutMappings_ToggleLagCounter">Alternar contador de lagr</Message>
<Message ID="EmulatorShortcutMappings_ToggleOsd">Alternar OSD (Menu na tela)</Message>
<Message ID="EmulatorShortcutMappings_ToggleAlwaysOnTop">Toggle Display on Top</Message>
<Message ID="EmulatorShortcutMappings_ToggleBackground">Alternar camada de fundo</Message>
<Message ID="EmulatorShortcutMappings_ToggleSprites">Alternar camada de sprite</Message>
<Message ID="EmulatorShortcutMappings_ToggleKeyboardMode">Toggle Keyboard Mode</Message>

View file

@ -399,6 +399,8 @@
<Control ID="chkDisableGameDatabase">Отключить встроенную базу данных</Control>
<Control ID="chkDisableOsd">Disable on-screen display (OSD)</Control>
<Control ID="chkAlwaysOnTop">Always display on top of other windows</Control>
<Control ID="tpgNsf">NSF</Control>
<Control ID="chkNsfAutoDetectSilence">Переходить на следующий трек после</Control>
<Control ID="lblNsfMillisecondsOfSilence">миллисекунд тишины</Control>
@ -814,6 +816,7 @@
<Message ID="EmulatorShortcutMappings_ToggleFrameCounter">Toggle Frame Counter</Message>
<Message ID="EmulatorShortcutMappings_ToggleLagCounter">Toggle Lag Counter</Message>
<Message ID="EmulatorShortcutMappings_ToggleOsd">Toggle OSD (On-Screen Display)</Message>
<Message ID="EmulatorShortcutMappings_ToggleAlwaysOnTop">Toggle Display on Top</Message>
<Message ID="EmulatorShortcutMappings_ToggleBackground">Toggle Background Layer</Message>
<Message ID="EmulatorShortcutMappings_ToggleSprites">Toggle Sprite Layer</Message>
<Message ID="EmulatorShortcutMappings_ToggleKeyboardMode">Toggle Keyboard Mode</Message>

View file

@ -399,6 +399,8 @@
<Control ID="chkDisableGameDatabase">Відключити вбудовану базу даних</Control>
<Control ID="chkDisableOsd">Вимкнути екранне меню (OSD)</Control>
<Control ID="chkAlwaysOnTop">Always display on top of other windows</Control>
<Control ID="tpgNsf">NSF</Control>
<Control ID="chkNsfAutoDetectSilence">Переходити на наступний трек після</Control>
<Control ID="lblNsfMillisecondsOfSilence">мілісекунд тиші</Control>
@ -814,6 +816,7 @@
<Message ID="EmulatorShortcutMappings_ToggleFrameCounter">Переключити лічильник кадрів</Message>
<Message ID="EmulatorShortcutMappings_ToggleLagCounter">Переключити лічильник лаг</Message>
<Message ID="EmulatorShortcutMappings_ToggleOsd">Переключити OSD (Екранне меню)</Message>
<Message ID="EmulatorShortcutMappings_ToggleAlwaysOnTop">Toggle Display on Top</Message>
<Message ID="EmulatorShortcutMappings_ToggleBackground">Переключити Background</Message>
<Message ID="EmulatorShortcutMappings_ToggleSprites">Переключити Sprite Layer</Message>
<Message ID="EmulatorShortcutMappings_ToggleKeyboardMode">Toggle Keyboard Mode</Message>

View file

@ -70,6 +70,7 @@ namespace Mesen.GUI.Forms.Config
EmulatorShortcut.ToggleFrameCounter,
EmulatorShortcut.ToggleLagCounter,
EmulatorShortcut.ToggleOsd,
EmulatorShortcut.ToggleAlwaysOnTop,
EmulatorShortcut.ToggleBackground,
EmulatorShortcut.ToggleSprites,
EmulatorShortcut.ToggleCheats,

View file

@ -144,6 +144,7 @@ namespace Mesen.GUI.Forms.Config
this.lblUiDisplaySettings = new System.Windows.Forms.Label();
this.lblGameSelectionScreenSettings = new System.Windows.Forms.Label();
this.tmrSyncDateTime = new System.Windows.Forms.Timer(this.components);
this.chkAlwaysOnTop = new System.Windows.Forms.CheckBox();
this.tlpMain.SuspendLayout();
this.flowLayoutPanel2.SuspendLayout();
this.tableLayoutPanel5.SuspendLayout();
@ -1428,25 +1429,26 @@ namespace Mesen.GUI.Forms.Config
//
this.tableLayoutPanel1.ColumnCount = 1;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.Controls.Add(this.chkDisableGameSelectionScreen, 0, 13);
this.tableLayoutPanel1.Controls.Add(this.chkGameSelectionScreenResetGame, 0, 12);
this.tableLayoutPanel1.Controls.Add(this.chkAlwaysOnTop, 0, 6);
this.tableLayoutPanel1.Controls.Add(this.chkDisableGameSelectionScreen, 0, 14);
this.tableLayoutPanel1.Controls.Add(this.chkGameSelectionScreenResetGame, 0, 13);
this.tableLayoutPanel1.Controls.Add(this.chkDisableGameDatabase, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.chkFdsAutoLoadDisk, 0, 2);
this.tableLayoutPanel1.Controls.Add(this.chkFdsFastForwardOnLoad, 0, 3);
this.tableLayoutPanel1.Controls.Add(this.chkDisplayTitleBarInfo, 0, 7);
this.tableLayoutPanel1.Controls.Add(this.flowLayoutPanel6, 0, 14);
this.tableLayoutPanel1.Controls.Add(this.chkDisplayTitleBarInfo, 0, 8);
this.tableLayoutPanel1.Controls.Add(this.flowLayoutPanel6, 0, 15);
this.tableLayoutPanel1.Controls.Add(this.chkFdsAutoInsertDisk, 0, 4);
this.tableLayoutPanel1.Controls.Add(this.chkShowGameTimer, 0, 9);
this.tableLayoutPanel1.Controls.Add(this.chkShowFrameCounter, 0, 8);
this.tableLayoutPanel1.Controls.Add(this.chkShowVsConfigOnLoad, 0, 10);
this.tableLayoutPanel1.Controls.Add(this.chkDisableOsd, 0, 6);
this.tableLayoutPanel1.Controls.Add(this.chkShowGameTimer, 0, 10);
this.tableLayoutPanel1.Controls.Add(this.chkShowFrameCounter, 0, 9);
this.tableLayoutPanel1.Controls.Add(this.chkShowVsConfigOnLoad, 0, 11);
this.tableLayoutPanel1.Controls.Add(this.chkDisableOsd, 0, 7);
this.tableLayoutPanel1.Controls.Add(this.lblFdsSettings, 0, 1);
this.tableLayoutPanel1.Controls.Add(this.lblUiDisplaySettings, 0, 5);
this.tableLayoutPanel1.Controls.Add(this.lblGameSelectionScreenSettings, 0, 11);
this.tableLayoutPanel1.Controls.Add(this.lblGameSelectionScreenSettings, 0, 12);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(3, 3);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 16;
this.tableLayoutPanel1.RowCount = 17;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
@ -1458,6 +1460,7 @@ namespace Mesen.GUI.Forms.Config
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.Absolute, 20F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
@ -1469,7 +1472,7 @@ namespace Mesen.GUI.Forms.Config
// chkDisableGameSelectionScreen
//
this.chkDisableGameSelectionScreen.AutoSize = true;
this.chkDisableGameSelectionScreen.Location = new System.Drawing.Point(13, 293);
this.chkDisableGameSelectionScreen.Location = new System.Drawing.Point(13, 316);
this.chkDisableGameSelectionScreen.Margin = new System.Windows.Forms.Padding(13, 3, 3, 3);
this.chkDisableGameSelectionScreen.Name = "chkDisableGameSelectionScreen";
this.chkDisableGameSelectionScreen.Size = new System.Drawing.Size(170, 17);
@ -1480,7 +1483,7 @@ namespace Mesen.GUI.Forms.Config
// chkGameSelectionScreenResetGame
//
this.chkGameSelectionScreenResetGame.AutoSize = true;
this.chkGameSelectionScreenResetGame.Location = new System.Drawing.Point(13, 270);
this.chkGameSelectionScreenResetGame.Location = new System.Drawing.Point(13, 293);
this.chkGameSelectionScreenResetGame.Margin = new System.Windows.Forms.Padding(13, 3, 3, 3);
this.chkGameSelectionScreenResetGame.Name = "chkGameSelectionScreenResetGame";
this.chkGameSelectionScreenResetGame.Size = new System.Drawing.Size(388, 17);
@ -1524,7 +1527,7 @@ namespace Mesen.GUI.Forms.Config
// chkDisplayTitleBarInfo
//
this.chkDisplayTitleBarInfo.AutoSize = true;
this.chkDisplayTitleBarInfo.Location = new System.Drawing.Point(13, 158);
this.chkDisplayTitleBarInfo.Location = new System.Drawing.Point(13, 181);
this.chkDisplayTitleBarInfo.Margin = new System.Windows.Forms.Padding(13, 3, 3, 3);
this.chkDisplayTitleBarInfo.Name = "chkDisplayTitleBarInfo";
this.chkDisplayTitleBarInfo.Size = new System.Drawing.Size(210, 17);
@ -1538,7 +1541,7 @@ namespace Mesen.GUI.Forms.Config
this.flowLayoutPanel6.Controls.Add(this.nudRewindBufferSize);
this.flowLayoutPanel6.Controls.Add(this.lblRewindMinutes);
this.flowLayoutPanel6.Dock = System.Windows.Forms.DockStyle.Fill;
this.flowLayoutPanel6.Location = new System.Drawing.Point(0, 316);
this.flowLayoutPanel6.Location = new System.Drawing.Point(0, 339);
this.flowLayoutPanel6.Margin = new System.Windows.Forms.Padding(0, 3, 0, 0);
this.flowLayoutPanel6.Name = "flowLayoutPanel6";
this.flowLayoutPanel6.Size = new System.Drawing.Size(483, 23);
@ -1609,7 +1612,7 @@ namespace Mesen.GUI.Forms.Config
// chkShowGameTimer
//
this.chkShowGameTimer.AutoSize = true;
this.chkShowGameTimer.Location = new System.Drawing.Point(13, 204);
this.chkShowGameTimer.Location = new System.Drawing.Point(13, 227);
this.chkShowGameTimer.Margin = new System.Windows.Forms.Padding(13, 3, 3, 3);
this.chkShowGameTimer.Name = "chkShowGameTimer";
this.chkShowGameTimer.Size = new System.Drawing.Size(107, 17);
@ -1620,7 +1623,7 @@ namespace Mesen.GUI.Forms.Config
// chkShowFrameCounter
//
this.chkShowFrameCounter.AutoSize = true;
this.chkShowFrameCounter.Location = new System.Drawing.Point(13, 181);
this.chkShowFrameCounter.Location = new System.Drawing.Point(13, 204);
this.chkShowFrameCounter.Margin = new System.Windows.Forms.Padding(13, 3, 3, 3);
this.chkShowFrameCounter.Name = "chkShowFrameCounter";
this.chkShowFrameCounter.Size = new System.Drawing.Size(121, 17);
@ -1631,7 +1634,7 @@ namespace Mesen.GUI.Forms.Config
// chkShowVsConfigOnLoad
//
this.chkShowVsConfigOnLoad.AutoSize = true;
this.chkShowVsConfigOnLoad.Location = new System.Drawing.Point(13, 227);
this.chkShowVsConfigOnLoad.Location = new System.Drawing.Point(13, 250);
this.chkShowVsConfigOnLoad.Margin = new System.Windows.Forms.Padding(13, 3, 3, 3);
this.chkShowVsConfigOnLoad.Name = "chkShowVsConfigOnLoad";
this.chkShowVsConfigOnLoad.Size = new System.Drawing.Size(331, 17);
@ -1642,7 +1645,7 @@ namespace Mesen.GUI.Forms.Config
// chkDisableOsd
//
this.chkDisableOsd.AutoSize = true;
this.chkDisableOsd.Location = new System.Drawing.Point(13, 135);
this.chkDisableOsd.Location = new System.Drawing.Point(13, 158);
this.chkDisableOsd.Margin = new System.Windows.Forms.Padding(13, 3, 3, 3);
this.chkDisableOsd.Name = "chkDisableOsd";
this.chkDisableOsd.Size = new System.Drawing.Size(178, 17);
@ -1679,7 +1682,7 @@ namespace Mesen.GUI.Forms.Config
this.lblGameSelectionScreenSettings.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.lblGameSelectionScreenSettings.AutoSize = true;
this.lblGameSelectionScreenSettings.ForeColor = System.Drawing.SystemColors.GrayText;
this.lblGameSelectionScreenSettings.Location = new System.Drawing.Point(0, 254);
this.lblGameSelectionScreenSettings.Location = new System.Drawing.Point(0, 277);
this.lblGameSelectionScreenSettings.Margin = new System.Windows.Forms.Padding(0, 0, 3, 0);
this.lblGameSelectionScreenSettings.Name = "lblGameSelectionScreenSettings";
this.lblGameSelectionScreenSettings.Size = new System.Drawing.Size(160, 13);
@ -1691,6 +1694,17 @@ namespace Mesen.GUI.Forms.Config
this.tmrSyncDateTime.Enabled = true;
this.tmrSyncDateTime.Tick += new System.EventHandler(this.tmrSyncDateTime_Tick);
//
// chkAlwaysOnTop
//
this.chkAlwaysOnTop.AutoSize = true;
this.chkAlwaysOnTop.Location = new System.Drawing.Point(13, 135);
this.chkAlwaysOnTop.Margin = new System.Windows.Forms.Padding(13, 3, 3, 3);
this.chkAlwaysOnTop.Name = "chkAlwaysOnTop";
this.chkAlwaysOnTop.Size = new System.Drawing.Size(210, 17);
this.chkAlwaysOnTop.TabIndex = 29;
this.chkAlwaysOnTop.Text = "Always display on top of other windows";
this.chkAlwaysOnTop.UseVisualStyleBackColor = true;
//
// frmPreferences
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@ -1878,5 +1892,6 @@ namespace Mesen.GUI.Forms.Config
private System.Windows.Forms.CheckBox chkDeveloperMode;
private ctrlPathSelection psGame;
private System.Windows.Forms.CheckBox chkGameOverride;
private System.Windows.Forms.CheckBox chkAlwaysOnTop;
}
}

View file

@ -51,6 +51,8 @@ namespace Mesen.GUI.Forms.Config
AddBinding("PauseOnMovieEnd", chkPauseOnMovieEnd);
AddBinding("AlwaysOnTop", chkAlwaysOnTop);
AddBinding("DisableGameDatabase", chkDisableGameDatabase);
AddBinding("DisableOsd", chkDisableOsd);

View file

@ -130,6 +130,7 @@ namespace Mesen.GUI.Forms
UpdateRecentFiles();
InitializeNsfMode(true);
ctrlRecentGames.UpdateGameInfo();
TopMost = ConfigManager.Config.PreferenceInfo.AlwaysOnTop;
} else {
UpdateVideoSettings();
UpdateMenus();

View file

@ -159,6 +159,8 @@ namespace Mesen.GUI.Forms
InitializeEmu();
TopMost = ConfigManager.Config.PreferenceInfo.AlwaysOnTop;
UpdateMenus();
UpdateRecentFiles();
@ -669,6 +671,7 @@ namespace Mesen.GUI.Forms
case EmulatorShortcut.ToggleFrameCounter: ToggleFrameCounter(); break;
case EmulatorShortcut.ToggleLagCounter: ToggleLagCounter(); break;
case EmulatorShortcut.ToggleOsd: ToggleOsd(); break;
case EmulatorShortcut.ToggleAlwaysOnTop: ToggleAlwaysOnTop(); break;
case EmulatorShortcut.MaxSpeed: ToggleMaxSpeed(); break;
case EmulatorShortcut.ToggleFullscreen: ToggleFullscreen(); restoreFullscreen = false; break;
@ -786,6 +789,13 @@ namespace Mesen.GUI.Forms
ConfigManager.ApplyChanges();
}
private void ToggleAlwaysOnTop()
{
ConfigManager.Config.PreferenceInfo.AlwaysOnTop = !ConfigManager.Config.PreferenceInfo.AlwaysOnTop;
ConfigManager.ApplyChanges();
this.TopMost = ConfigManager.Config.PreferenceInfo.AlwaysOnTop;
}
private void ToggleSprites()
{
ConfigManager.Config.VideoInfo.DisableSprites = !ConfigManager.Config.VideoInfo.DisableSprites;

View file

@ -1577,6 +1577,7 @@ namespace Mesen.GUI
ToggleFrameCounter,
ToggleLagCounter,
ToggleOsd,
ToggleAlwaysOnTop,
ToggleSprites,
ToggleBackground,