mirror of https://github.com/PCSX2/pcsx2.git
PCSX2-GUI: Rehaul BIOS / Folder Selector (#4620)
Since emulation settings has been renamed general settings, we can put BIOS and Folder in the same location where people have an overview and can just use tab key on icons or mouse. Less confusion and also fixes the speedhacks section *for the zillionth time*.
This commit is contained in:
parent
f45c618fc2
commit
3e1b76c0a9
|
@ -1040,10 +1040,10 @@ wxSize wxSizer::GetMinSize()
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxSizer::DoSetMinSize( int width, int height )
|
void wxSizer::DoSetMinSize(int width, int height)
|
||||||
{
|
{
|
||||||
m_minSize.x = width;
|
m_minSize.x = width;
|
||||||
m_minSize.y = height;
|
m_minSize.y = height * 1.6; // Hackfix: There is no real fixed height, workaround for general settings where BIOS / Folders / GS Window / Speedhacks and others reside in.
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wxSizer::DoSetItemMinSize( wxWindow *window, int width, int height )
|
bool wxSizer::DoSetItemMinSize( wxWindow *window, int width, int height )
|
||||||
|
|
|
@ -257,7 +257,6 @@ void operator+=(wxWindow &target, WinType &src)
|
||||||
return;
|
return;
|
||||||
*target.GetSizer() += src;
|
*target.GetSizer() += src;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename WinType>
|
template <typename WinType>
|
||||||
void operator+=(wxWindow &target, const pxWindowAndFlags<WinType> &src)
|
void operator+=(wxWindow &target, const pxWindowAndFlags<WinType> &src)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* PCSX2 - PS2 Emulator for PCs
|
/* PCSX2 - PS2 Emulator for PCs
|
||||||
* Copyright (C) 2002-2010 PCSX2 Dev Team
|
* Copyright (C) 2002-2021 PCSX2 Dev Team
|
||||||
*
|
*
|
||||||
* PCSX2 is free software: you can redistribute it and/or modify it under the terms
|
* PCSX2 is free software: you can redistribute it and/or modify it under the terms
|
||||||
* of the GNU Lesser General Public License as published by the Free Software Found-
|
* of the GNU Lesser General Public License as published by the Free Software Found-
|
||||||
|
@ -143,7 +143,6 @@ enum MenuIdentifiers
|
||||||
MenuId_Config_SysSettings,
|
MenuId_Config_SysSettings,
|
||||||
MenuId_Config_McdSettings,
|
MenuId_Config_McdSettings,
|
||||||
MenuId_Config_AppSettings,
|
MenuId_Config_AppSettings,
|
||||||
MenuId_Config_BIOS,
|
|
||||||
MenuId_Config_Language,
|
MenuId_Config_Language,
|
||||||
|
|
||||||
MenuId_Config_GS,
|
MenuId_Config_GS,
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* PCSX2 - PS2 Emulator for PCs
|
/* PCSX2 - PS2 Emulator for PCs
|
||||||
* Copyright (C) 2002-2010 PCSX2 Dev Team
|
* Copyright (C) 2002-2021 PCSX2 Dev Team
|
||||||
*
|
*
|
||||||
* PCSX2 is free software: you can redistribute it and/or modify it under the terms
|
* PCSX2 is free software: you can redistribute it and/or modify it under the terms
|
||||||
* of the GNU Lesser General Public License as published by the Free Software Found-
|
* of the GNU Lesser General Public License as published by the Free Software Found-
|
||||||
|
@ -100,7 +100,7 @@ protected:
|
||||||
|
|
||||||
static bool HandleBIOSError(BaseException& ex)
|
static bool HandleBIOSError(BaseException& ex)
|
||||||
{
|
{
|
||||||
if (!pxDialogExists(L"Dialog:" + Dialogs::ComponentsConfigDialog::GetNameStatic()))
|
if (!pxDialogExists(L"Dialog:" + Dialogs::SysConfigDialog::GetNameStatic()))
|
||||||
{
|
{
|
||||||
if (!Msgbox::OkCancel(ex.FormatDisplayMessage() + L"\n\n" + BIOS_GetMsg_Required()
|
if (!Msgbox::OkCancel(ex.FormatDisplayMessage() + L"\n\n" + BIOS_GetMsg_Required()
|
||||||
+ L"\n\n" + _("Press Ok to go to the BIOS Configuration Panel."), _("PS2 BIOS Error")))
|
+ L"\n\n" + _("Press Ok to go to the BIOS Configuration Panel."), _("PS2 BIOS Error")))
|
||||||
|
@ -113,7 +113,7 @@ static bool HandleBIOSError(BaseException& ex)
|
||||||
|
|
||||||
g_Conf->ComponentsTabName = L"BIOS";
|
g_Conf->ComponentsTabName = L"BIOS";
|
||||||
|
|
||||||
return AppOpenModalDialog<Dialogs::ComponentsConfigDialog>(L"BIOS") != wxID_CANCEL;
|
return AppOpenModalDialog<Dialogs::SysConfigDialog>(L"BIOS") != wxID_CANCEL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void BIOSLoadErrorEvent::InvokeEvent()
|
void BIOSLoadErrorEvent::InvokeEvent()
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* PCSX2 - PS2 Emulator for PCs
|
/* PCSX2 - PS2 Emulator for PCs
|
||||||
* Copyright (C) 2002-2010 PCSX2 Dev Team
|
* Copyright (C) 2002-2021 PCSX2 Dev Team
|
||||||
*
|
*
|
||||||
* PCSX2 is free software: you can redistribute it and/or modify it under the terms
|
* PCSX2 is free software: you can redistribute it and/or modify it under the terms
|
||||||
* of the GNU Lesser General Public License as published by the Free Software Found-
|
* of the GNU Lesser General Public License as published by the Free Software Found-
|
||||||
|
@ -221,7 +221,7 @@ public:
|
||||||
BaseApplicableConfigPanel_SpecificConfig( wxWindow* parent, wxOrientation orient, const wxString& staticLabel );
|
BaseApplicableConfigPanel_SpecificConfig( wxWindow* parent, wxOrientation orient, const wxString& staticLabel );
|
||||||
|
|
||||||
//possible flags are: AppConfig: APPLY_FLAG_MANUALLY_PROPAGATE and APPLY_FLAG_IS_FROM_PRESET
|
//possible flags are: AppConfig: APPLY_FLAG_MANUALLY_PROPAGATE and APPLY_FLAG_IS_FROM_PRESET
|
||||||
virtual void ApplyConfigToGui(AppConfig& configToApply, int flags=0)=0;
|
virtual void ApplyConfigToGui(AppConfig& configToApply, int flags=0) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ApplicableWizardPage : public wxWizardPageSimple, public IApplyState
|
class ApplicableWizardPage : public wxWizardPageSimple, public IApplyState
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* PCSX2 - PS2 Emulator for PCs
|
/* PCSX2 - PS2 Emulator for PCs
|
||||||
* Copyright (C) 2002-2018 PCSX2 Dev Team
|
* Copyright (C) 2002-2021 PCSX2 Dev Team
|
||||||
*
|
*
|
||||||
* PCSX2 is free software: you can redistribute it and/or modify it under the terms
|
* PCSX2 is free software: you can redistribute it and/or modify it under the terms
|
||||||
* of the GNU Lesser General Public License as published by the Free Software Found-
|
* of the GNU Lesser General Public License as published by the Free Software Found-
|
||||||
|
@ -150,23 +150,6 @@ namespace Dialogs
|
||||||
//void OnMultitapClicked( wxCommandEvent& evt );
|
//void OnMultitapClicked( wxCommandEvent& evt );
|
||||||
};
|
};
|
||||||
|
|
||||||
// --------------------------------------------------------------------------------------
|
|
||||||
// ComponentsConfigDialog
|
|
||||||
// --------------------------------------------------------------------------------------
|
|
||||||
class ComponentsConfigDialog : public BaseConfigurationDialog
|
|
||||||
{
|
|
||||||
protected:
|
|
||||||
|
|
||||||
public:
|
|
||||||
virtual ~ComponentsConfigDialog() = default;
|
|
||||||
ComponentsConfigDialog(wxWindow* parent=NULL);
|
|
||||||
static wxString GetNameStatic() { return L"AppSettings"; }
|
|
||||||
wxString GetDialogName() const { return GetNameStatic(); }
|
|
||||||
|
|
||||||
protected:
|
|
||||||
virtual wxString& GetConfSettingsTabName() const { return g_Conf->ComponentsTabName; }
|
|
||||||
};
|
|
||||||
|
|
||||||
// --------------------------------------------------------------------------------------
|
// --------------------------------------------------------------------------------------
|
||||||
// CreateMemoryCardDialog
|
// CreateMemoryCardDialog
|
||||||
// --------------------------------------------------------------------------------------
|
// --------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* PCSX2 - PS2 Emulator for PCs
|
/* PCSX2 - PS2 Emulator for PCs
|
||||||
* Copyright (C) 2002-2010 PCSX2 Dev Team
|
* Copyright (C) 2002-2021 PCSX2 Dev Team
|
||||||
*
|
*
|
||||||
* PCSX2 is free software: you can redistribute it and/or modify it under the terms
|
* PCSX2 is free software: you can redistribute it and/or modify it under the terms
|
||||||
* of the GNU Lesser General Public License as published by the Free Software Found-
|
* of the GNU Lesser General Public License as published by the Free Software Found-
|
||||||
|
@ -227,6 +227,6 @@ void FirstTimeWizard::OnPageChanging( wxWizardEvent& evt )
|
||||||
|
|
||||||
void FirstTimeWizard::OnPageChanged( wxWizardEvent& evt )
|
void FirstTimeWizard::OnPageChanged( wxWizardEvent& evt )
|
||||||
{
|
{
|
||||||
if( ((sptr)evt.GetPage() == (sptr)&m_page_bios) )
|
// if( ((sptr)evt.GetPage() == (sptr)&m_page_bios) ) // FirstTimeWizard panel which prevents the user for clicking on finish to the main PCSX2 menu , it has the warning message:
|
||||||
m_panel_BiosSel.OnShown();
|
// m_panel_BiosSel.OnShown(); // .SetUserMsg(pxE(L"Please select a valid BIOS. If you are unable to make a valid selection then press Cancel to close the Configuration panel."));
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* PCSX2 - PS2 Emulator for PCs
|
/* PCSX2 - PS2 Emulator for PCs
|
||||||
* Copyright (C) 2002-2010 PCSX2 Dev Team
|
* Copyright (C) 2002-2021 PCSX2 Dev Team
|
||||||
*
|
*
|
||||||
* PCSX2 is free software: you can redistribute it and/or modify it under the terms
|
* PCSX2 is free software: you can redistribute it and/or modify it under the terms
|
||||||
* of the GNU Lesser General Public License as published by the Free Software Found-
|
* of the GNU Lesser General Public License as published by the Free Software Found-
|
||||||
|
@ -192,7 +192,7 @@ void Dialogs::SysConfigDialog::Cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
Dialogs::SysConfigDialog::SysConfigDialog(wxWindow* parent)
|
Dialogs::SysConfigDialog::SysConfigDialog(wxWindow* parent)
|
||||||
: BaseConfigurationDialog( parent, AddAppName(_("Emulation Settings - %s")), 580 )
|
: BaseConfigurationDialog( parent, AddAppName(_("General Settings - %s")), 600 )
|
||||||
{
|
{
|
||||||
ScopedBusyCursor busy( Cursor_ReallyBusy );
|
ScopedBusyCursor busy( Cursor_ReallyBusy );
|
||||||
|
|
||||||
|
@ -202,6 +202,8 @@ Dialogs::SysConfigDialog::SysConfigDialog(wxWindow* parent)
|
||||||
|
|
||||||
//NOTE: all pages which are added to SysConfigDialog must be of class BaseApplicableConfigPanel or derived.
|
//NOTE: all pages which are added to SysConfigDialog must be of class BaseApplicableConfigPanel or derived.
|
||||||
// see comment inside UpdateGuiForPreset implementation for more info.
|
// see comment inside UpdateGuiForPreset implementation for more info.
|
||||||
|
AddPage<BiosSelectorPanel> ( pxL("BIOS"), cfgid.Cpu );
|
||||||
|
AddPage<StandardPathsPanel> ( pxL("Folders"), cfgid.Paths );
|
||||||
AddPage<CpuPanelEE> ( pxL("EE/IOP"), cfgid.Cpu );
|
AddPage<CpuPanelEE> ( pxL("EE/IOP"), cfgid.Cpu );
|
||||||
AddPage<CpuPanelVU> ( pxL("VUs"), cfgid.Cpu );
|
AddPage<CpuPanelVU> ( pxL("VUs"), cfgid.Cpu );
|
||||||
AddPage<VideoPanel> ( pxL("GS"), cfgid.Cpu );
|
AddPage<VideoPanel> ( pxL("GS"), cfgid.Cpu );
|
||||||
|
@ -219,24 +221,6 @@ Dialogs::SysConfigDialog::SysConfigDialog(wxWindow* parent)
|
||||||
wxGetApp().PostMethod( CheckHacksOverrides );
|
wxGetApp().PostMethod( CheckHacksOverrides );
|
||||||
}
|
}
|
||||||
|
|
||||||
Dialogs::ComponentsConfigDialog::ComponentsConfigDialog(wxWindow* parent)
|
|
||||||
: BaseConfigurationDialog( parent, AddAppName(_("Components Selectors - %s")), 750 )
|
|
||||||
{
|
|
||||||
ScopedBusyCursor busy( Cursor_ReallyBusy );
|
|
||||||
|
|
||||||
CreateListbook( wxGetApp().GetImgList_Config() );
|
|
||||||
const AppImageIds::ConfigIds& cfgid( wxGetApp().GetImgId().Config );
|
|
||||||
SetIcons(wxGetApp().GetIconBundle());
|
|
||||||
|
|
||||||
AddPage<BiosSelectorPanel> ( pxL("BIOS"), cfgid.Cpu );
|
|
||||||
AddPage<StandardPathsPanel> ( pxL("Folders"), cfgid.Paths );
|
|
||||||
|
|
||||||
AddListbook();
|
|
||||||
AddOkCancel();
|
|
||||||
|
|
||||||
SetSizerAndFit(GetSizer());
|
|
||||||
}
|
|
||||||
|
|
||||||
Dialogs::InterfaceLanguageDialog::InterfaceLanguageDialog(wxWindow* parent)
|
Dialogs::InterfaceLanguageDialog::InterfaceLanguageDialog(wxWindow* parent)
|
||||||
: BaseConfigurationDialog(parent, _("Language Selector"), 400)
|
: BaseConfigurationDialog(parent, _("Language Selector"), 400)
|
||||||
{
|
{
|
||||||
|
|
|
@ -278,7 +278,6 @@ void MainEmuFrame::ConnectMenus()
|
||||||
// Config
|
// Config
|
||||||
Bind(wxEVT_MENU, &MainEmuFrame::Menu_SysSettings_Click, this, MenuId_Config_SysSettings);
|
Bind(wxEVT_MENU, &MainEmuFrame::Menu_SysSettings_Click, this, MenuId_Config_SysSettings);
|
||||||
Bind(wxEVT_MENU, &MainEmuFrame::Menu_McdSettings_Click, this, MenuId_Config_McdSettings);
|
Bind(wxEVT_MENU, &MainEmuFrame::Menu_McdSettings_Click, this, MenuId_Config_McdSettings);
|
||||||
Bind(wxEVT_MENU, &MainEmuFrame::Menu_SelectBios_Click, this, MenuId_Config_BIOS);
|
|
||||||
Bind(wxEVT_MENU, &MainEmuFrame::Menu_AudioSettings_Click, this, MenuId_Config_SPU2);
|
Bind(wxEVT_MENU, &MainEmuFrame::Menu_AudioSettings_Click, this, MenuId_Config_SPU2);
|
||||||
Bind(wxEVT_MENU, &MainEmuFrame::Menu_NetworkSettings_Click, this, MenuId_Config_DEV9);
|
Bind(wxEVT_MENU, &MainEmuFrame::Menu_NetworkSettings_Click, this, MenuId_Config_DEV9);
|
||||||
Bind(wxEVT_MENU, &MainEmuFrame::Menu_USBSettings_Click, this, MenuId_Config_USB);
|
Bind(wxEVT_MENU, &MainEmuFrame::Menu_USBSettings_Click, this, MenuId_Config_USB);
|
||||||
|
@ -449,7 +448,6 @@ void MainEmuFrame::CreateConfigMenu()
|
||||||
{
|
{
|
||||||
m_menuConfig.Append(MenuId_Config_SysSettings, _("General &Settings"));
|
m_menuConfig.Append(MenuId_Config_SysSettings, _("General &Settings"));
|
||||||
m_menuConfig.Append(MenuId_Config_McdSettings, _("&Memory Cards"));
|
m_menuConfig.Append(MenuId_Config_McdSettings, _("&Memory Cards"));
|
||||||
m_menuConfig.Append(MenuId_Config_BIOS, _("&BIOS / Folder Selector"));
|
|
||||||
m_menuConfig.AppendSeparator();
|
m_menuConfig.AppendSeparator();
|
||||||
m_menuConfig.Append(MenuId_Config_GS, _("&Graphics Settings"));
|
m_menuConfig.Append(MenuId_Config_GS, _("&Graphics Settings"));
|
||||||
m_menuConfig.Append(MenuId_Config_SPU2, _("&Audio Settings"));
|
m_menuConfig.Append(MenuId_Config_SPU2, _("&Audio Settings"));
|
||||||
|
|
|
@ -126,7 +126,7 @@ void MainEmuFrame::Menu_WindowSettings_Click(wxCommandEvent& event)
|
||||||
|
|
||||||
void MainEmuFrame::Menu_SelectBios_Click(wxCommandEvent& event)
|
void MainEmuFrame::Menu_SelectBios_Click(wxCommandEvent& event)
|
||||||
{
|
{
|
||||||
AppOpenDialog<ComponentsConfigDialog>(this);
|
AppOpenDialog<SysConfigDialog>(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainEmuFrame::Menu_ChangeLang(wxCommandEvent& event) // Always in English
|
void MainEmuFrame::Menu_ChangeLang(wxCommandEvent& event) // Always in English
|
||||||
|
|
|
@ -393,7 +393,7 @@ namespace Panels
|
||||||
// --------------------------------------------------------------------------------------
|
// --------------------------------------------------------------------------------------
|
||||||
// BasePathsPanel / StandardPathsPanel
|
// BasePathsPanel / StandardPathsPanel
|
||||||
// --------------------------------------------------------------------------------------
|
// --------------------------------------------------------------------------------------
|
||||||
class BasePathsPanel : public wxPanelWithHelpers
|
class BasePathsPanel : public BaseApplicableConfigPanel
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
BasePathsPanel(wxWindow* parent);
|
BasePathsPanel(wxWindow* parent);
|
||||||
|
@ -405,6 +405,16 @@ namespace Panels
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
StandardPathsPanel(wxWindow* parent);
|
StandardPathsPanel(wxWindow* parent);
|
||||||
|
|
||||||
|
void Apply() override
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void AppStatusEvent_OnSettingsApplied() override
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// --------------------------------------------------------------------------------------
|
// --------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* PCSX2 - PS2 Emulator for PCs
|
/* PCSX2 - PS2 Emulator for PCs
|
||||||
* Copyright (C) 2002-2010 PCSX2 Dev Team
|
* Copyright (C) 2002-2021 PCSX2 Dev Team
|
||||||
*
|
*
|
||||||
* PCSX2 is free software: you can redistribute it and/or modify it under the terms
|
* PCSX2 is free software: you can redistribute it and/or modify it under the terms
|
||||||
* of the GNU Lesser General Public License as published by the Free Software Found-
|
* of the GNU Lesser General Public License as published by the Free Software Found-
|
||||||
|
@ -23,7 +23,7 @@ using namespace pxSizerFlags;
|
||||||
static const int BetweenFolderSpace = 5;
|
static const int BetweenFolderSpace = 5;
|
||||||
|
|
||||||
Panels::BasePathsPanel::BasePathsPanel( wxWindow* parent )
|
Panels::BasePathsPanel::BasePathsPanel( wxWindow* parent )
|
||||||
: wxPanelWithHelpers( parent, wxVERTICAL )
|
: BaseApplicableConfigPanel( parent, wxVERTICAL )
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* PCSX2 - PS2 Emulator for PCs
|
/* PCSX2 - PS2 Emulator for PCs
|
||||||
* Copyright (C) 2002-2010 PCSX2 Dev Team
|
* Copyright (C) 2002-2021 PCSX2 Dev Team
|
||||||
*
|
*
|
||||||
* PCSX2 is free software: you can redistribute it and/or modify it under the terms
|
* PCSX2 is free software: you can redistribute it and/or modify it under the terms
|
||||||
* of the GNU Lesser General Public License as published by the Free Software Found-
|
* of the GNU Lesser General Public License as published by the Free Software Found-
|
||||||
|
@ -355,7 +355,7 @@ void Panels::VideoPanel::Defaults_Click(wxCommandEvent& evt)
|
||||||
|
|
||||||
void Panels::VideoPanel::OnOpenWindowSettings( wxCommandEvent& evt )
|
void Panels::VideoPanel::OnOpenWindowSettings( wxCommandEvent& evt )
|
||||||
{
|
{
|
||||||
AppOpenDialog<Dialogs::ComponentsConfigDialog>( this );
|
AppOpenDialog<Dialogs::SysConfigDialog>( this );
|
||||||
|
|
||||||
// don't evt.skip, this prevents the Apply button from being activated. :)
|
// don't evt.skip, this prevents the Apply button from being activated. :)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue