diff options
| author | Shawn Hoffman <godisgovernment@gmail.com> | 2008-09-24 00:27:50 +0000 |
|---|---|---|
| committer | Shawn Hoffman <godisgovernment@gmail.com> | 2008-09-24 00:27:50 +0000 |
| commit | 6312ccbc307b9058ee171de375a189a9de264dbb (patch) | |
| tree | ad4cb2731a3a3a7c1cbaf436eff5ac7e3753a846 /Source/Core | |
| parent | 180070d1af3541e7207b90680bb4130d4d609f9d (diff) | |
completed the iso directory path chooser. changed a ini variable name so it is more to sonic's liking, and corrected an #ifndef
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@654 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/DolphinWX/Src/ConfigMain.cpp | 49 | ||||
| -rw-r--r-- | Source/Core/DolphinWX/Src/ConfigMain.h | 4 |
2 files changed, 44 insertions, 9 deletions
diff --git a/Source/Core/DolphinWX/Src/ConfigMain.cpp b/Source/Core/DolphinWX/Src/ConfigMain.cpp index 5fa554aa3f..c13950db88 100644 --- a/Source/Core/DolphinWX/Src/ConfigMain.cpp +++ b/Source/Core/DolphinWX/Src/ConfigMain.cpp @@ -38,6 +38,8 @@ EVT_CHECKBOX(ID_LOCKTHREADS, CConfigMain::LockThreadsCheck) EVT_CHECKBOX(ID_OPTIMIZEQUANTIZERS, CConfigMain::OptimizeQuantizersCheck)
EVT_CHECKBOX(ID_IDLESKIP, CConfigMain::SkipIdleCheck)
EVT_CHOICE(ID_CONSOLELANG, CConfigMain::ConsoleLangChanged)
+EVT_BUTTON(ID_ADDISOPATH, CConfigMain::AddRemoveISOPaths)
+EVT_BUTTON(ID_REMOVEISOPATH, CConfigMain::AddRemoveISOPaths)
EVT_FILEPICKER_CHANGED(ID_DEFAULTISO, CConfigMain::DefaultISOChanged)
EVT_DIRPICKER_CHANGED(ID_DVDROOT, CConfigMain::DVDRootChanged)
EVT_CHOICE(ID_GRAPHIC_CB, CConfigMain::OnSelectionChanged)
@@ -133,18 +135,21 @@ void CConfigMain::CreateGUIControls() sGeneral->Layout();
// Paths page
- // TODO add gcm paths - the whole point of the page
sbISOPaths = new wxStaticBoxSizer(wxVERTICAL, PathsPage, wxT("ISO Directories:"));
- wxArrayString arrayStringFor_ISOPaths;
- ISOPaths = new wxListBox(PathsPage, ID_ISOPATHS, wxDefaultPosition, wxDefaultSize, arrayStringFor_ISOPaths, wxLB_SINGLE, wxDefaultValidator);
+ for(int i = 0; i < SConfig::GetInstance().m_ISOFolder.size(); i++)
+ {
+ 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);
AddISOPath = new wxButton(PathsPage, ID_ADDISOPATH, wxT("Add..."), wxDefaultPosition, wxDefaultSize, 0);
RemoveISOPath = new wxButton(PathsPage, ID_REMOVEISOPATH, wxT("Remove"), wxDefaultPosition, wxDefaultSize, 0);
- sISOPaths = new wxGridBagSizer(0, 0);
- sISOPaths->Add(ISOPaths, wxGBPosition(0, 0), wxGBSpan(1, 3), wxALL|wxEXPAND, 5);
- sISOPaths->Add(AddISOPath, wxGBPosition(1, 1), wxGBSpan(1, 1), wxALL|wxALIGN_RIGHT, 5);
- sISOPaths->Add(RemoveISOPath, wxGBPosition(1, 2), wxGBSpan(1, 1), wxALL|wxALIGN_RIGHT, 5);
- sbISOPaths->Add(sISOPaths, 1, wxEXPAND|wxALL, 5);
+ 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);
DefaultISO = new wxFilePickerCtrl(PathsPage, ID_DEFAULTISO, wxEmptyString, wxT("Choose a default ISO:"),
@@ -281,6 +286,34 @@ void CConfigMain::ConsoleLangChanged(wxCommandEvent& WXUNUSED (event)) SConfig::GetInstance().m_LocalCoreStartupParameter.SelectedLanguage = ConsoleLang->GetSelection();
}
+void CConfigMain::AddRemoveISOPaths(wxCommandEvent& event)
+{
+ if(event.GetId() == ID_ADDISOPATH)
+ {
+ wxString dirHome;
+ wxGetHomeDir(&dirHome);
+
+ wxDirDialog dialog(this, _T("Choose a directory to add"), dirHome, wxDD_DEFAULT_STYLE | wxDD_DIR_MUST_EXIST);
+
+ if (dialog.ShowModal() == wxID_OK)
+ {
+ ISOPaths->Append(dialog.GetPath());
+ }
+ }
+ else
+ {
+ ISOPaths->Delete(ISOPaths->GetSelection());
+ }
+
+ //save changes right away
+ SConfig::GetInstance().m_ISOFolder.clear();
+
+ for(unsigned int i = 0; i < ISOPaths->GetCount(); i++)
+ {
+ SConfig::GetInstance().m_ISOFolder.push_back(std::string(ISOPaths->GetStrings()[i].ToAscii()));
+ }
+}
+
void CConfigMain::DefaultISOChanged(wxFileDirPickerEvent& WXUNUSED (event))
{
SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDefaultGCM = DefaultISO->GetPath().ToAscii();
diff --git a/Source/Core/DolphinWX/Src/ConfigMain.h b/Source/Core/DolphinWX/Src/ConfigMain.h index 0573f49e84..39fe925baa 100644 --- a/Source/Core/DolphinWX/Src/ConfigMain.h +++ b/Source/Core/DolphinWX/Src/ConfigMain.h @@ -45,7 +45,7 @@ class CConfigMain wxGridBagSizer* sGeneral;
wxGridBagSizer* sPaths;
wxStaticBoxSizer* sbISOPaths;
- wxGridBagSizer* sISOPaths;
+ wxBoxSizer* sISOButtons;
wxGridBagSizer* sPlugins;
wxNotebook *Notebook;
@@ -66,6 +66,7 @@ class CConfigMain wxStaticText* ConsoleLangText;
wxChoice* ConsoleLang;
+ wxArrayString arrayStringFor_ISOPaths;
wxListBox* ISOPaths;
wxButton* AddISOPath;
wxButton* RemoveISOPath;
@@ -144,6 +145,7 @@ class CConfigMain void OptimizeQuantizersCheck(wxCommandEvent& event);
void SkipIdleCheck(wxCommandEvent& event);
void ConsoleLangChanged(wxCommandEvent& event);
+ void AddRemoveISOPaths(wxCommandEvent& event);
void DefaultISOChanged(wxFileDirPickerEvent& event);
void DVDRootChanged(wxFileDirPickerEvent& event);
|
