made configmain a lot more pretty, fixed an annoying bug where closing njoy would send dolphin behind any other open windows, and ported the "old" about box to wxw. The message is just a huge string, so just change if wrong!

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1024 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Shawn Hoffman 2008-10-31 05:40:52 +00:00
parent 957441d2da
commit 84614f31f4
9 changed files with 3124 additions and 84 deletions

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="Windows-1252"?> <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="9,00" Version="9.00"
Name="DolphinWX" Name="DolphinWX"
ProjectGUID="{A72606EF-C5C1-4954-90AD-F0F93A8D97D9}" ProjectGUID="{A72606EF-C5C1-4954-90AD-F0F93A8D97D9}"
RootNamespace="DolphinWX" RootNamespace="DolphinWX"
@ -742,6 +742,14 @@
<Filter <Filter
Name="GUI" Name="GUI"
> >
<File
RelativePath=".\Src\AboutDolphin.cpp"
>
</File>
<File
RelativePath=".\Src\AboutDolphin.h"
>
</File>
<File <File
RelativePath=".\src\ConfigMain.cpp" RelativePath=".\src\ConfigMain.cpp"
> >

View File

@ -0,0 +1,96 @@
// Copyright (C) 2003-2008 Dolphin Project.
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, version 2.0.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#include "AboutDolphin.h"
#include "svnrev.h"
#include "CPUDetect.h"
#include "../resources/dolphin_logo.cpp"
BEGIN_EVENT_TABLE(AboutDolphin, wxDialog)
EVT_CLOSE(AboutDolphin::OnClose)
EVT_BUTTON(ID_CLOSE, AboutDolphin::CloseClick)
END_EVENT_TABLE()
AboutDolphin::AboutDolphin(wxWindow *parent, wxWindowID id, const wxString &title, const wxPoint &position, const wxSize& size, long style)
: wxDialog(parent, id, title, position, size, style)
{
CreateGUIControls();
}
AboutDolphin::~AboutDolphin()
{
}
void AboutDolphin::CreateGUIControls()
{
m_Close = new wxButton(this, ID_CLOSE, wxT("Close"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
//miloszwl@miloszwl.com (miloszwl.deviantart.com)
wxMemoryInputStream istream(dolphin_logo_png, sizeof dolphin_logo_png);
wxImage iDolphinLogo(istream, wxBITMAP_TYPE_PNG);
DolphinLogo = new wxBitmap(iDolphinLogo);
sbDolphinLogo = new wxStaticBitmap(this, ID_LOGO, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0);
sbDolphinLogo->SetBitmap(*DolphinLogo);
Message = new wxStaticText(this, ID_MESSAGE,
wxString::Format(_T("Dolphin SVN revision %s\nCPU: %s\n\n" // Maybe add OS/arch info too?
"Copyright (c) by F|RES, ector, yaz0r 2003-2008\n"
"Additional code by Schibo and Costis.\n\n"
"Greets to Azimer, Caustik, Costis, Cyrus64, Desktopman, Epsilon, Hotquik, Jazzmin, mamedevs, (Lazer)Maksen, Martin64, or9, Runik, Schibo,"
" SculleatR, tmbinc, vEX, Zezu, Zilmar, and everyone we forget.\n\n"
"Special thanks to Costis, CrowTRobo, Titanik, or9 and Hotquik for their reverse engineering and docs/demos.\n\n"
"Big thanks to Gilles Mouchard whose Microlib PPC emulator gave our development a kickstart. "
"Note that Dolphin no longer uses a single line of code from it, and the first release had practically nothing left from it either.\n\n"
"Thanks to Frank Wille for his PowerPC disassembler, which or9 and we modified to include Gekko specifics.\n\n"
"Thanks to Shinji Chiba for his GC ADPCM decoder.\n\n"
"We are not affiliated with Nintendo in any way. Gamecube and Wii are trademarks of Nintendo.\n"
"The emulator is for educational purposes only and we do not support using this emulator to play games you do not legally own.\n\n"
"Beta testers: EFX, Falcon4ever and Shadowprince (kx)."), SVN_REV_STR, (wxString)cpu_info.Summarize()),
wxDefaultPosition, wxDefaultSize, 0);
Message->Wrap(this->GetSize().GetWidth());
sMain = new wxBoxSizer(wxVERTICAL);
sMainHor = new wxBoxSizer(wxHORIZONTAL);
sMainHor->Add(sbDolphinLogo);
sInfo = new wxBoxSizer(wxVERTICAL);
sInfo->Add(Message, 1, wxEXPAND|wxALL, 5);
sMainHor->Add(sInfo);
sMain->Add(sMainHor, 1, wxEXPAND);
sButtons = new wxBoxSizer(wxHORIZONTAL);
sButtons->Add(0, 0, 1, wxEXPAND, 5);
sButtons->Add(m_Close, 0, wxALL, 5);
sMain->Add(sButtons, 0, wxEXPAND);
this->SetSizer(sMain);
sMain->Layout();
SetIcon(wxNullIcon);
CenterOnParent();
Fit();
}
void AboutDolphin::OnClose(wxCloseEvent& WXUNUSED (event))
{
Destroy();
}
void AboutDolphin::CloseClick(wxCommandEvent& WXUNUSED (event))
{
Close();
}

View File

@ -0,0 +1,63 @@
// Copyright (C) 2003-2008 Dolphin Project.
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, version 2.0.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef _ABOUTDOLPHIN_H_
#define _ABOUTDOLPHIN_H_
#include <wx/wx.h>
#include <wx/dialog.h>
#include <wx/button.h>
#include <wx/stattext.h>
#include <wx/statbox.h>
#include <wx/mstream.h>
#include <wx/statbmp.h>
#undef ABOUTDOLPHIN_STYLE
#define ABOUTDOLPHIN_STYLE wxCAPTION | wxSYSTEM_MENU | wxDIALOG_NO_PARENT | wxCLOSE_BOX
class AboutDolphin : public wxDialog
{
public:
AboutDolphin(wxWindow *parent, wxWindowID id = 1, const wxString &title = wxT("About Dolphin"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = ABOUTDOLPHIN_STYLE);
virtual ~AboutDolphin();
void CloseClick(wxCommandEvent& event);
private:
DECLARE_EVENT_TABLE();
wxBoxSizer *sMain;
wxBoxSizer *sButtons;
wxBoxSizer *sMainHor;
wxBoxSizer *sInfo;
wxButton *m_Close;
wxStaticText *Message;
wxImage *iDolphinLogo;
wxBitmap *DolphinLogo;
wxStaticBitmap *sbDolphinLogo;
enum
{
ID_CLOSE = 1000,
ID_LOGO,
ID_MESSAGE
};
void OnClose(wxCloseEvent& event);
void CreateGUIControls();
};
#endif //_ABOUTDOLPHIN_H_

View File

@ -142,18 +142,19 @@ void CConfigMain::CreateGUIControls()
sbBasic->Add(UseDualCore, 0, wxALL, 5); sbBasic->Add(UseDualCore, 0, wxALL, 5);
sbBasic->Add(SkipIdle, 0, wxALL, 5); sbBasic->Add(SkipIdle, 0, wxALL, 5);
sbBasic->Add(EnableCheats, 0, wxALL, 5); sbBasic->Add(EnableCheats, 0, wxALL, 5);
sGeneral->Add(sbBasic); sGeneral->Add(sbBasic, 0, wxEXPAND|wxALL, 5);
sGeneral->AddStretchSpacer();
sbAdvanced->Add(AllwaysHLEBIOS, 0, wxALL, 5); sbAdvanced->Add(AllwaysHLEBIOS, 0, wxALL, 5);
sbAdvanced->Add(UseDynaRec, 0, wxALL, 5); sbAdvanced->Add(UseDynaRec, 0, wxALL, 5);
sbAdvanced->Add(LockThreads, 0, wxALL, 5); sbAdvanced->Add(LockThreads, 0, wxALL, 5);
sbAdvanced->Add(OptimizeQuantizers, 0, wxALL, 5); sbAdvanced->Add(OptimizeQuantizers, 0, wxALL, 5);
sGeneral->Add(sbAdvanced); sGeneral->Add(sbAdvanced, 0, wxEXPAND|wxALL, 5);
GeneralPage->SetSizer(sGeneral); GeneralPage->SetSizer(sGeneral);
sGeneral->Layout(); sGeneral->Layout();
// Gamecube page // Gamecube page
sbGamecube = new wxStaticBoxSizer(wxVERTICAL, GamecubePage, wxT("IPL Settings")); sbGamecubeIPLSettings = new wxStaticBoxSizer(wxVERTICAL, GamecubePage, wxT("IPL Settings"));
arrayStringFor_GCSystemLang.Add(wxT("English")); arrayStringFor_GCSystemLang.Add(wxT("English"));
arrayStringFor_GCSystemLang.Add(wxT("German")); arrayStringFor_GCSystemLang.Add(wxT("German"));
arrayStringFor_GCSystemLang.Add(wxT("French")); arrayStringFor_GCSystemLang.Add(wxT("French"));
@ -164,12 +165,14 @@ void CConfigMain::CreateGUIControls()
GCSystemLang = new wxChoice(GamecubePage, ID_GC_SRAM_LNG, wxDefaultPosition, wxDefaultSize, arrayStringFor_GCSystemLang, 0, wxDefaultValidator); GCSystemLang = new wxChoice(GamecubePage, ID_GC_SRAM_LNG, wxDefaultPosition, wxDefaultSize, arrayStringFor_GCSystemLang, 0, wxDefaultValidator);
GCSystemLang->SetSelection(SConfig::GetInstance().m_LocalCoreStartupParameter.SelectedLanguage); GCSystemLang->SetSelection(SConfig::GetInstance().m_LocalCoreStartupParameter.SelectedLanguage);
sGamecube= new wxGridBagSizer(0, 0); sGamecube = new wxBoxSizer(wxVERTICAL);
sGamecube->Add(GCSystemLangText, wxGBPosition(0, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5); sGamecubeIPLSettings = new wxGridBagSizer(0, 0);
sGamecube->Add(GCSystemLang, wxGBPosition(0, 1), wxGBSpan(1, 1), wxALL, 5); sGamecubeIPLSettings->Add(GCSystemLangText, wxGBPosition(0, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sbGamecube->Add(sGamecube); sGamecubeIPLSettings->Add(GCSystemLang, wxGBPosition(0, 1), wxGBSpan(1, 1), wxALL, 5);
GamecubePage->SetSizer(sbGamecube); sbGamecubeIPLSettings->Add(sGamecubeIPLSettings);
sbGamecube->Layout(); sGamecube->Add(sbGamecubeIPLSettings, 0, wxEXPAND|wxALL, 5);
GamecubePage->SetSizer(sGamecube);
sGamecube->Layout();
// Wii SYSCONF page // Wii SYSCONF page
sbWiimoteSettings = new wxStaticBoxSizer(wxVERTICAL, WiiPage, wxT("Wiimote Settings")); sbWiimoteSettings = new wxStaticBoxSizer(wxVERTICAL, WiiPage, wxT("Wiimote Settings"));
@ -200,7 +203,7 @@ void CConfigMain::CreateGUIControls()
sWiimoteSettings->Add(WiiSensBarPosText, wxGBPosition(0, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5); sWiimoteSettings->Add(WiiSensBarPosText, wxGBPosition(0, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sWiimoteSettings->Add(WiiSensBarPos, wxGBPosition(0, 1), wxGBSpan(1, 1), wxALL, 5); sWiimoteSettings->Add(WiiSensBarPos, wxGBPosition(0, 1), wxGBSpan(1, 1), wxALL, 5);
sbWiimoteSettings->Add(sWiimoteSettings); sbWiimoteSettings->Add(sWiimoteSettings);
sWii->Add(sbWiimoteSettings); sWii->Add(sbWiimoteSettings, 0, wxEXPAND|wxALL, 5);
sWiiIPLSettings = new wxGridBagSizer(0, 0); sWiiIPLSettings = new wxGridBagSizer(0, 0);
sWiiIPLSettings->Add(WiiScreenSaver, wxGBPosition(0, 0), wxGBSpan(1, 2), wxALL, 5); sWiiIPLSettings->Add(WiiScreenSaver, wxGBPosition(0, 0), wxGBSpan(1, 2), wxALL, 5);
@ -211,7 +214,7 @@ void CConfigMain::CreateGUIControls()
sWiiIPLSettings->Add(WiiSystemLangText, wxGBPosition(4, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5); sWiiIPLSettings->Add(WiiSystemLangText, wxGBPosition(4, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sWiiIPLSettings->Add(WiiSystemLang, wxGBPosition(4, 1), wxGBSpan(1, 1), wxALL, 5); sWiiIPLSettings->Add(WiiSystemLang, wxGBPosition(4, 1), wxGBSpan(1, 1), wxALL, 5);
sbWiiIPLSettings->Add(sWiiIPLSettings); sbWiiIPLSettings->Add(sWiiIPLSettings);
sWii->Add(sbWiiIPLSettings); sWii->Add(sbWiiIPLSettings, 0, wxEXPAND|wxALL, 5);
WiiPage->SetSizer(sWii); WiiPage->SetSizer(sWii);
sWii->Layout(); sWii->Layout();
@ -221,18 +224,11 @@ void CConfigMain::CreateGUIControls()
{ {
arrayStringFor_ISOPaths.Add(wxString(SConfig::GetInstance().m_ISOFolder[i].c_str(), wxConvUTF8)); arrayStringFor_ISOPaths.Add(wxString(SConfig::GetInstance().m_ISOFolder[i].c_str(), wxConvUTF8));
} }
ISOPaths = new wxListBox(PathsPage, ID_ISOPATHS, wxDefaultPosition, wxSize(290,150), arrayStringFor_ISOPaths, wxLB_SINGLE, wxDefaultValidator); ISOPaths = new wxListBox(PathsPage, ID_ISOPATHS, wxDefaultPosition, wxDefaultSize, arrayStringFor_ISOPaths, wxLB_SINGLE, wxDefaultValidator);
AddISOPath = new wxButton(PathsPage, ID_ADDISOPATH, wxT("Add..."), wxDefaultPosition, wxDefaultSize, 0); AddISOPath = new wxButton(PathsPage, ID_ADDISOPATH, wxT("Add..."), wxDefaultPosition, wxDefaultSize, 0);
RemoveISOPath = new wxButton(PathsPage, ID_REMOVEISOPATH, wxT("Remove"), wxDefaultPosition, wxDefaultSize, 0); RemoveISOPath = new wxButton(PathsPage, ID_REMOVEISOPATH, wxT("Remove"), wxDefaultPosition, wxDefaultSize, 0);
RemoveISOPath->Enable(false); RemoveISOPath->Enable(false);
sISOButtons = new wxBoxSizer(wxHORIZONTAL);
sISOButtons->AddStretchSpacer(1);
sISOButtons->Add(AddISOPath, 0, wxALL, 5);
sISOButtons->Add(RemoveISOPath, 0, wxALL, 5);
sbISOPaths->Add(ISOPaths, 1, wxEXPAND|wxALL, 5);
sbISOPaths->Add(sISOButtons, 0, wxEXPAND|wxALL, 5);
DefaultISOText = new wxStaticText(PathsPage, ID_DEFAULTISO_TEXT, wxT("Default ISO:"), wxDefaultPosition, wxDefaultSize); DefaultISOText = new wxStaticText(PathsPage, ID_DEFAULTISO_TEXT, wxT("Default ISO:"), wxDefaultPosition, wxDefaultSize);
DefaultISO = new wxFilePickerCtrl(PathsPage, ID_DEFAULTISO, wxEmptyString, wxT("Choose a default ISO:"), DefaultISO = new wxFilePickerCtrl(PathsPage, ID_DEFAULTISO, wxEmptyString, wxT("Choose a default ISO:"),
wxString::Format(wxT("All GC/Wii images (gcm, iso, gcz)|*.gcm;*.iso;*.gcz|All files (%s)|%s"), wxFileSelectorDefaultWildcardStr, wxFileSelectorDefaultWildcardStr), wxString::Format(wxT("All GC/Wii images (gcm, iso, gcz)|*.gcm;*.iso;*.gcz|All files (%s)|%s"), wxFileSelectorDefaultWildcardStr, wxFileSelectorDefaultWildcardStr),
@ -243,57 +239,65 @@ void CConfigMain::CreateGUIControls()
DVDRoot = new wxDirPickerCtrl(PathsPage, ID_DVDROOT, wxEmptyString, wxT("Choose a DVD root directory:"), wxDefaultPosition, wxDefaultSize, wxDIRP_USE_TEXTCTRL); DVDRoot = new wxDirPickerCtrl(PathsPage, ID_DVDROOT, wxEmptyString, wxT("Choose a DVD root directory:"), wxDefaultPosition, wxDefaultSize, wxDIRP_USE_TEXTCTRL);
DVDRoot->SetPath(wxString::FromAscii(SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDVDRoot.c_str())); DVDRoot->SetPath(wxString::FromAscii(SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDVDRoot.c_str()));
sPaths = new wxGridBagSizer(0, 0); sPaths = new wxBoxSizer(wxVERTICAL);
sPaths->Add(sbISOPaths, wxGBPosition(0, 0), wxGBSpan(1, 2), wxALL|wxEXPAND, 5);
sPaths->Add(DefaultISOText, wxGBPosition(1, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5); sbISOPaths->Add(ISOPaths, 1, wxEXPAND|wxALL, 5);
sPaths->Add(DefaultISO, wxGBPosition(1, 1), wxGBSpan(1, 1), wxALL|wxEXPAND, 5);
sPaths->Add(DVDRootText, wxGBPosition(2, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5); sISOButtons = new wxBoxSizer(wxHORIZONTAL);
sPaths->Add(DVDRoot, wxGBPosition(2, 1), wxGBSpan(1, 1), wxALL|wxEXPAND, 5); sISOButtons->AddStretchSpacer(1);
sISOButtons->Add(AddISOPath, 0, wxALL, 5);
sISOButtons->Add(RemoveISOPath, 0, wxALL, 5);
sbISOPaths->Add(sISOButtons, 0, wxEXPAND|wxALL, 5);
sPaths->Add(sbISOPaths, 1, wxEXPAND|wxALL, 5);
sOtherPaths = new wxGridBagSizer(0, 0);
sOtherPaths->AddGrowableCol(1);
sOtherPaths->Add(DefaultISOText, wxGBPosition(0, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sOtherPaths->Add(DefaultISO, wxGBPosition(0, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
sOtherPaths->Add(DVDRootText, wxGBPosition(1, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sOtherPaths->Add(DVDRoot, wxGBPosition(1, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
sPaths->Add(sOtherPaths, 0, wxEXPAND|wxALL, 5);
PathsPage->SetSizer(sPaths); PathsPage->SetSizer(sPaths);
sPaths->Layout(); sPaths->Layout();
// Plugin page // Plugin page
sbGraphicsPlugin = new wxStaticBoxSizer(wxHORIZONTAL, PluginPage, wxT("Graphics"));
GraphicSelection = new wxChoice(PluginPage, ID_GRAPHIC_CB, wxDefaultPosition, wxDefaultSize, NULL, 0, wxDefaultValidator); GraphicSelection = new wxChoice(PluginPage, ID_GRAPHIC_CB, wxDefaultPosition, wxDefaultSize, NULL, 0, wxDefaultValidator);
GraphicConfig = new wxButton(PluginPage, ID_GRAPHIC_CONFIG, wxT("Config..."), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); GraphicConfig = new wxButton(PluginPage, ID_GRAPHIC_CONFIG, wxT("Config..."), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
GraphicText = new wxStaticText(PluginPage, ID_GRAPHIC_TEXT, wxT("GFX:"), wxDefaultPosition, wxDefaultSize);
FillChoiceBox(GraphicSelection, PLUGIN_TYPE_VIDEO, SConfig::GetInstance().m_LocalCoreStartupParameter.m_strVideoPlugin);
sbDSPPlugin = new wxStaticBoxSizer(wxHORIZONTAL, PluginPage, wxT("DSP"));
DSPSelection = new wxChoice(PluginPage, ID_DSP_CB, wxDefaultPosition, wxDefaultSize, NULL, 0, wxDefaultValidator); DSPSelection = new wxChoice(PluginPage, ID_DSP_CB, wxDefaultPosition, wxDefaultSize, NULL, 0, wxDefaultValidator);
DSPConfig = new wxButton(PluginPage, ID_DSP_CONFIG, wxT("Config..."), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); DSPConfig = new wxButton(PluginPage, ID_DSP_CONFIG, wxT("Config..."), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
DSPText = new wxStaticText(PluginPage, ID_DSP_TEXT, wxT("DSP:"), wxDefaultPosition, wxDefaultSize);
FillChoiceBox(DSPSelection, PLUGIN_TYPE_DSP, SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin);
sbPadPlugin = new wxStaticBoxSizer(wxHORIZONTAL, PluginPage, wxT("Pad"));
PADSelection = new wxChoice(PluginPage, ID_PAD_CB, wxDefaultPosition, wxDefaultSize, NULL, 0, wxDefaultValidator); PADSelection = new wxChoice(PluginPage, ID_PAD_CB, wxDefaultPosition, wxDefaultSize, NULL, 0, wxDefaultValidator);
PADConfig = new wxButton(PluginPage, ID_PAD_CONFIG, wxT("Config..."), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); PADConfig = new wxButton(PluginPage, ID_PAD_CONFIG, wxT("Config..."), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
PADText = new wxStaticText(PluginPage, ID_PAD_TEXT, wxT("PAD:"), wxDefaultPosition, wxDefaultSize);
FillChoiceBox(PADSelection, PLUGIN_TYPE_PAD, SConfig::GetInstance().m_LocalCoreStartupParameter.m_strPadPlugin);
sbWiimotePlugin = new wxStaticBoxSizer(wxHORIZONTAL, PluginPage, wxT("Wiimote"));
WiimoteSelection = new wxChoice(PluginPage, ID_WIIMOTE_CB, wxDefaultPosition, wxDefaultSize, NULL, 0, wxDefaultValidator); WiimoteSelection = new wxChoice(PluginPage, ID_WIIMOTE_CB, wxDefaultPosition, wxDefaultSize, NULL, 0, wxDefaultValidator);
WiimoteConfig = new wxButton(PluginPage, ID_WIIMOTE_CONFIG, wxT("Config..."), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); WiimoteConfig = new wxButton(PluginPage, ID_WIIMOTE_CONFIG, wxT("Config..."), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
WiimoteText = new wxStaticText(PluginPage, ID_WIIMOTE_TEXT, wxT("Wiimote:"), wxDefaultPosition, wxDefaultSize);
FillChoiceBox(GraphicSelection, PLUGIN_TYPE_VIDEO, SConfig::GetInstance().m_LocalCoreStartupParameter.m_strVideoPlugin);
FillChoiceBox(DSPSelection, PLUGIN_TYPE_DSP, SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin);
FillChoiceBox(PADSelection, PLUGIN_TYPE_PAD, SConfig::GetInstance().m_LocalCoreStartupParameter.m_strPadPlugin);
FillChoiceBox(WiimoteSelection, PLUGIN_TYPE_WIIMOTE, SConfig::GetInstance().m_LocalCoreStartupParameter.m_strWiimotePlugin); FillChoiceBox(WiimoteSelection, PLUGIN_TYPE_WIIMOTE, SConfig::GetInstance().m_LocalCoreStartupParameter.m_strWiimotePlugin);
sPlugins = new wxGridBagSizer(0, 0); sPlugins = new wxBoxSizer(wxVERTICAL);
sPlugins->Add(GraphicText, wxGBPosition(0, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5); sbGraphicsPlugin->Add(GraphicSelection, 1, wxEXPAND|wxALL, 5);
sPlugins->Add(GraphicSelection, wxGBPosition(0, 1), wxGBSpan(1, 2), wxEXPAND|wxALL, 5); sbGraphicsPlugin->Add(GraphicConfig, 0, wxALL, 5);
sPlugins->Add(GraphicConfig, wxGBPosition(0, 3), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5); sPlugins->Add(sbGraphicsPlugin, 0, wxEXPAND|wxALL, 5);
sPlugins->Add(DSPText, wxGBPosition(1, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5); sbDSPPlugin->Add(DSPSelection, 1, wxEXPAND|wxALL, 5);
sPlugins->Add(DSPSelection, wxGBPosition(1, 1), wxGBSpan(1, 2), wxEXPAND|wxALL, 5); sbDSPPlugin->Add(DSPConfig, 0, wxALL, 5);
sPlugins->Add(DSPConfig, wxGBPosition(1, 3), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5); sPlugins->Add(sbDSPPlugin, 0, wxEXPAND|wxALL, 5);
sPlugins->Add(PADText, wxGBPosition(2, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5); sbPadPlugin->Add(PADSelection, 1, wxEXPAND|wxALL, 5);
sPlugins->Add(PADSelection, wxGBPosition(2, 1), wxGBSpan(1, 2), wxEXPAND|wxALL, 5); sbPadPlugin->Add(PADConfig, 0, wxALL, 5);
sPlugins->Add(PADConfig, wxGBPosition(2, 3), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5); sPlugins->Add(sbPadPlugin, 0, wxEXPAND|wxALL, 5);
sPlugins->Add(WiimoteText, wxGBPosition(3, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sPlugins->Add(WiimoteSelection, wxGBPosition(3, 1), wxGBSpan(1, 2), wxEXPAND|wxALL, 5);
sPlugins->Add(WiimoteConfig, wxGBPosition(3, 3), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sbWiimotePlugin->Add(WiimoteSelection, 1, wxEXPAND|wxALL, 5);
sbWiimotePlugin->Add(WiimoteConfig, 0, wxALL, 5);
sPlugins->Add(sbWiimotePlugin, 0, wxEXPAND|wxALL, 5);
PluginPage->SetSizer(sPlugins); PluginPage->SetSizer(sPlugins);
sPlugins->Layout(); sPlugins->Layout();

View File

@ -48,17 +48,23 @@ class CConfigMain
wxBoxSizer* sGeneral; wxBoxSizer* sGeneral;
wxStaticBoxSizer* sbBasic; wxStaticBoxSizer* sbBasic;
wxStaticBoxSizer* sbAdvanced; wxStaticBoxSizer* sbAdvanced;
wxGridBagSizer* sGamecube; wxBoxSizer* sGamecube;
wxStaticBoxSizer* sbGamecube; wxStaticBoxSizer* sbGamecubeIPLSettings;
wxGridBagSizer* sGamecubeIPLSettings;
wxBoxSizer* sWii; wxBoxSizer* sWii;
wxStaticBoxSizer* sbWiimoteSettings; wxStaticBoxSizer* sbWiimoteSettings;
wxGridBagSizer* sWiimoteSettings; wxGridBagSizer* sWiimoteSettings;
wxStaticBoxSizer* sbWiiIPLSettings; wxStaticBoxSizer* sbWiiIPLSettings;
wxGridBagSizer* sWiiIPLSettings; wxGridBagSizer* sWiiIPLSettings;
wxGridBagSizer* sPaths; wxBoxSizer* sPaths;
wxStaticBoxSizer* sbISOPaths; wxStaticBoxSizer* sbISOPaths;
wxBoxSizer* sISOButtons; wxBoxSizer* sISOButtons;
wxGridBagSizer* sPlugins; wxGridBagSizer* sOtherPaths;
wxBoxSizer* sPlugins;
wxStaticBoxSizer* sbGraphicsPlugin;
wxStaticBoxSizer* sbDSPPlugin;
wxStaticBoxSizer* sbPadPlugin;
wxStaticBoxSizer* sbWiimotePlugin;
wxNotebook *Notebook; wxNotebook *Notebook;
wxPanel *GeneralPage; wxPanel *GeneralPage;

View File

@ -29,9 +29,9 @@
#include "ConfigMain.h" #include "ConfigMain.h"
#include "PluginManager.h" #include "PluginManager.h"
#include "MemcardManager.h" #include "MemcardManager.h"
#include "AboutDolphin.h"
#include <wx/mstream.h> #include <wx/mstream.h>
#include <wx/aboutdlg.h>
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// resources // resources
@ -378,22 +378,20 @@ void CFrame::OnQuit(wxCommandEvent& WXUNUSED (event))
void CFrame::OnHelp(wxCommandEvent& event) void CFrame::OnHelp(wxCommandEvent& event)
{ {
switch (event.GetId()) { switch (event.GetId())
{
case IDM_HELPABOUT: case IDM_HELPABOUT:
{ {
wxAboutDialogInfo info; #ifdef _WIN32
info.AddDeveloper(_T("ector")); wxWindow win;
info.AddDeveloper(_T("F|RES")); win.SetHWND(this->GetHWND());
info.AddDeveloper(_T("yaz0r")); AboutDolphin frame(&win);
info.AddDeveloper(_T("zerofrog")); frame.ShowModal();
/* info.SetLicence(wxString::FromAscii( win.SetHWND(0);
"Dolphin Licence 1.0" #else
"#include GPL.TXT")); AboutBox frame(NULL);
*/ frame.ShowModal();
#endif
info.AddArtist(_T("miloszwl@miloszwl.com (miloszwl.deviantart.com)"));
wxAboutBox(info);
break; break;
} }
case IDM_HELPWEBSITE: case IDM_HELPWEBSITE:
@ -679,9 +677,9 @@ void CFrame::UpdateGUI()
if (Core::GetState() == Core::CORE_UNINITIALIZED) if (Core::GetState() == Core::CORE_UNINITIALIZED)
{ {
if (m_GameListCtrl && !m_GameListCtrl->IsShown()) if (m_GameListCtrl && !m_GameListCtrl->IsShown())
{ {
m_GameListCtrl->Enable(); m_GameListCtrl->Enable();
m_GameListCtrl->Show(); m_GameListCtrl->Show();
sizerPanel->FitInside(m_Panel); sizerPanel->FitInside(m_Panel);
} }
} }

View File

@ -11,7 +11,8 @@ files = [
if not env['osx64']: if not env['osx64']:
files += [ files += [
'ConfigMain.cpp', 'AboutDolphin.cpp',
'ConfigMain.cpp',
'FileSearch.cpp', 'FileSearch.cpp',
'FilesystemViewer.cpp', 'FilesystemViewer.cpp',
'Frame.cpp', 'Frame.cpp',

File diff suppressed because it is too large Load Diff

View File

@ -161,16 +161,12 @@ void DllConfig(HWND _hParent)
} }
LoadConfig(); // load settings LoadConfig(); // load settings
wxWindow win; wxWindow win;
win.SetHWND((WXHWND)_hParent); win.SetHWND(_hParent);
win.Enable(false); ConfigBox frame(&win);
frame.ShowModal();
ConfigBox frame(&win); win.SetHWND(0);
frame.ShowModal();
win.Enable(true);
win.SetHWND(0);
#else #else
if(SDL_Init(SDL_INIT_JOYSTICK ) < 0) if(SDL_Init(SDL_INIT_JOYSTICK ) < 0)