Add option to not exit fullscreen on lose focus

This commit is contained in:
zilmar 2021-03-23 11:46:11 +10:30
parent e2301332a7
commit 133170c1a2
10 changed files with 12 additions and 2 deletions

View File

@ -248,6 +248,7 @@
#472# "Disk Save Type:"
#473# "Enable Enhancements"
#474# "Show Status Bar"
#475# "Exit full screen on lose focus"
//ROM Browser Tab
#480# "Max # of ROMs remembered (0-10):"

View File

@ -271,6 +271,7 @@ enum LanguageStringID
OPTION_DISKSAVETYPE = 472,
OPTION_ENABLE_ENHANCEMENTS = 473,
OPTION_SHOW_STATUS_BAR = 474,
OPTION_EXIT_FULLSCREEN_ON_LOSE_FOCUS = 475,
//Rom Browser Tab
RB_MAX_ROMS = 480,

View File

@ -237,6 +237,7 @@ void CLanguage::LoadDefaultStrings(void)
DEF_STR(OPTION_DISKSAVETYPE, "Disk Save Type:");
DEF_STR(OPTION_ENABLE_ENHANCEMENTS, "Enable Enhancements");
DEF_STR(OPTION_SHOW_STATUS_BAR, "Show Status Bar");
DEF_STR(OPTION_EXIT_FULLSCREEN_ON_LOSE_FOCUS, "Exit full screen on lose focus");
//ROM Browser Tab
DEF_STR(RB_MAX_ROMS, "Max # of ROMs remembered (0-10):");

View File

@ -40,6 +40,7 @@ void RegisterUISettings (void)
AddUISetting(UserInterface_MainWindowLeft, new CSettingTypeApplication("Main Window", "Left", Default_None));
AddUISetting(UserInterface_AlwaysOnTop, new CSettingTypeApplication("Settings", "Always on top", (uint32_t)false));
AddUISetting(UserInterface_ShowStatusBar, new CSettingTypeApplication("Settings", "Show Status Bar", true));
AddUISetting(UserInterface_ExitFullscreenOnLoseFocus, new CSettingTypeApplication("Settings", "Exit Full Screen On Lose Focus", true));
AddUISetting(RomBrowser_Enabled, new CSettingTypeApplication("Rom Browser", "Rom Browser", true));
AddUISetting(RomBrowser_ColoumnsChanged, new CSettingTypeTempBool(false));

View File

@ -31,6 +31,7 @@ enum UISettingID
UserInterface_MainWindowLeft,
UserInterface_AlwaysOnTop,
UserInterface_ShowStatusBar,
UserInterface_ExitFullscreenOnLoseFocus,
RomBrowser_Enabled,
RomBrowser_ColoumnsChanged,

View File

@ -843,7 +843,7 @@ LRESULT CALLBACK CMainGui::MainGui_Proc(HWND hWnd, DWORD uMsg, DWORD wParam, DWO
}
if (_this->m_bMainWindow && bCPURunning())
{
if (!fActive && UISettingsLoadBool(UserInterface_InFullScreen))
if (!fActive && UISettingsLoadBool(UserInterface_InFullScreen) && UISettingsLoadBool(UserInterface_ExitFullscreenOnLoseFocus))
{
Notify().WindowMode();
if (bAutoSleep() && g_BaseSystem)

View File

@ -19,6 +19,7 @@ CAdvancedOptionsPage::CAdvancedOptionsPage(HWND hParent, const RECT & rcDispay)
SetDlgItemText(IDC_ENABLE_ENHANCEMENTS, wGS(OPTION_ENABLE_ENHANCEMENTS).c_str());
SetDlgItemText(IDC_DISPLAY_FRAMERATE, wGS(OPTION_CHANGE_FR).c_str());
SetDlgItemText(IDC_SHOW_STATUS_BAR, wGS(OPTION_SHOW_STATUS_BAR).c_str());
SetDlgItemText(IDC_EXIT_FULLSCREEN_ON_LOSE_FOCUS, wGS(OPTION_EXIT_FULLSCREEN_ON_LOSE_FOCUS).c_str());
AddModCheckBox(GetDlgItem(IDC_START_ON_ROM_OPEN), Setting_AutoStart);
AddModCheckBox(GetDlgItem(IDC_ZIP), Setting_AutoZipInstantSave);
@ -30,6 +31,7 @@ CAdvancedOptionsPage::CAdvancedOptionsPage(HWND hParent, const RECT & rcDispay)
AddModCheckBox(GetDlgItem(IDC_ENABLE_ENHANCEMENTS), Setting_Enhancement);
AddModCheckBox(GetDlgItem(IDC_DISPLAY_FRAMERATE), UserInterface_DisplayFrameRate);
AddModCheckBox(GetDlgItem(IDC_SHOW_STATUS_BAR), (SettingID)UserInterface_ShowStatusBar);
AddModCheckBox(GetDlgItem(IDC_EXIT_FULLSCREEN_ON_LOSE_FOCUS), (SettingID)UserInterface_ExitFullscreenOnLoseFocus);
CModifiedComboBox * ComboBox;
ComboBox = AddModComboBox(GetDlgItem(IDC_FRAME_DISPLAY_TYPE), UserInterface_FrameDisplayType);

View File

@ -16,6 +16,7 @@ class CAdvancedOptionsPage :
COMMAND_ID_HANDLER_EX(IDC_UNIQUE_SAVE_DIR, CheckBoxChanged)
COMMAND_ID_HANDLER_EX(IDC_DISPLAY_FRAMERATE, CheckBoxChanged)
COMMAND_ID_HANDLER_EX(IDC_SHOW_STATUS_BAR, CheckBoxChanged)
COMMAND_ID_HANDLER_EX(IDC_EXIT_FULLSCREEN_ON_LOSE_FOCUS, CheckBoxChanged)
COMMAND_HANDLER_EX(IDC_FRAME_DISPLAY_TYPE,LBN_SELCHANGE,ComboBoxChanged)
END_MSG_MAP()

View File

@ -348,7 +348,8 @@ BEGIN
CONTROL "Unique Game Save Directory",IDC_UNIQUE_SAVE_DIR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,113,189,10
CONTROL "Frame rate display",IDC_DISPLAY_FRAMERATE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,128,86,10
COMBOBOX IDC_FRAME_DISPLAY_TYPE,101,129,99,57,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
CONTROL "Show Status Bar",IDC_SHOW_STATUS_BAR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,144,189,10
CONTROL "Show Status Bar",IDC_SHOW_STATUS_BAR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,142,189,10
CONTROL "Exit Fullscreen on Lose Focus",IDC_EXIT_FULLSCREEN_ON_LOSE_FOCUS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,156,189,10
END
IDD_Settings_ShellInt DIALOGEX 0, 0, 231, 206

View File

@ -335,6 +335,7 @@
#define IDC_R14_EDIT 1147
#define IDC_SHOW_STATUS_BAR 1147
#define IDC_R15_EDIT 1148
#define IDC_EXIT_FULLSCREEN_ON_LOSE_FOCUS 1148
#define IDC_SHELL_INT_TEXT 1149
#define IDC_COUNTFACT 1151
#define IDC_MEMORY_SIZE_TEXT 1153