From 671fb9def1b1ca6757a7198c4771c544fab3adad Mon Sep 17 00:00:00 2001 From: Shawn Hoffman Date: Fri, 10 Oct 2008 15:32:23 +0000 Subject: [PATCH] filesystemviewer looks better and extracts files correctly. added stdafx.h as a force include for ogl, daco was having problems without it. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@830 8ced0084-cf51-0410-be5f-012b33b47a6e --- .../Core/DolphinWX/Src/FilesystemViewer.cpp | 29 ++++++++++++++----- .../Plugin_VideoOGL/Plugin_VideoOGL.vcproj | 4 +-- 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/Source/Core/DolphinWX/Src/FilesystemViewer.cpp b/Source/Core/DolphinWX/Src/FilesystemViewer.cpp index a78591c48d..2a6d50e68a 100644 --- a/Source/Core/DolphinWX/Src/FilesystemViewer.cpp +++ b/Source/Core/DolphinWX/Src/FilesystemViewer.cpp @@ -153,6 +153,7 @@ void CFilesystemViewer::CreateGUIControls() // ISO Details sbISODetails = new wxStaticBoxSizer(wxVERTICAL, this, wxT("ISO Details:")); sISODetails = new wxGridBagSizer(0, 0); + sISODetails->AddGrowableCol(1); m_NameText = new wxStaticText(this, ID_NAME_TEXT, wxT("Name:"), wxDefaultPosition, wxDefaultSize); m_Name = new wxTextCtrl(this, ID_NAME, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY); m_SerialText = new wxStaticText(this, ID_SERIAL_TEXT, wxT("Serial:"), wxDefaultPosition, wxDefaultSize); @@ -167,7 +168,7 @@ void CFilesystemViewer::CreateGUIControls() m_TOC = new wxTextCtrl(this, ID_TOC, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY); sISODetails->Add(m_NameText, wxGBPosition(0, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5); - sISODetails->Add(m_Name, wxGBPosition(0, 1), wxGBSpan(1, 25), wxEXPAND|wxALL, 5); + sISODetails->Add(m_Name, wxGBPosition(0, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5); sISODetails->Add(m_SerialText, wxGBPosition(1, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5); sISODetails->Add(m_Serial, wxGBPosition(1, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5); sISODetails->Add(m_CountryText, wxGBPosition(2, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5); @@ -179,7 +180,7 @@ void CFilesystemViewer::CreateGUIControls() sISODetails->Add(m_TOCText, wxGBPosition(5, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5); sISODetails->Add(m_TOC, wxGBPosition(5, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5); - sbISODetails->Add(sISODetails, 0, wxEXPAND, 0); + sbISODetails->Add(sISODetails, 0, wxEXPAND, 5); // Banner Details wxArrayString arrayStringFor_Lang; @@ -265,6 +266,8 @@ void CFilesystemViewer::OnRightClick(wxMouseEvent& WXUNUSED (event)) void CFilesystemViewer::OnRightClickOnTree(wxTreeEvent& event) { + m_Treectrl->SelectItem(event.GetItem()); + wxMenu popupMenu; popupMenu.Append(IDM_EXTRACTFILE, wxString::FromAscii("Extract File...")); popupMenu.Append(IDM_REPLACEFILE, wxString::FromAscii("Replace File...")); @@ -288,9 +291,12 @@ void CFilesystemViewer::OnExtractFile(wxCommandEvent& WXUNUSED (event)) { wxString Path; wxString File; + + File = m_Treectrl->GetItemText(m_Treectrl->GetSelection()); + Path = wxFileSelector( _T("Export File"), - wxEmptyString, wxEmptyString, wxEmptyString, + wxEmptyString, File, wxEmptyString, wxString::Format ( _T("All files (%s)|%s"), @@ -298,19 +304,28 @@ void CFilesystemViewer::OnExtractFile(wxCommandEvent& WXUNUSED (event)) ), wxFD_SAVE, this); - - File = m_Treectrl->GetItemText(m_Treectrl->GetSelection()); + if (!Path || !File) return; + + while (m_Treectrl->GetItemParent(m_Treectrl->GetSelection()) != m_Treectrl->GetRootItem()) + { + wxString temp; + temp = m_Treectrl->GetItemText(m_Treectrl->GetItemParent(m_Treectrl->GetSelection())); + File = wxString::Format("%s\\%s", temp, File); + + m_Treectrl->SelectItem(m_Treectrl->GetItemParent(m_Treectrl->GetSelection())); + } + pFileSystem->ExportFile(File.mb_str(), Path.mb_str()); } void CFilesystemViewer::OnReplaceFile(wxCommandEvent& WXUNUSED (event)) { - + wxMessageBox(_T("Not implemented yet."), _T("Sorry"), wxOK, this); } void CFilesystemViewer::OnRenameFile(wxCommandEvent& WXUNUSED (event)) { - + wxMessageBox(_T("Not implemented yet."), _T("Sorry"), wxOK, this); } diff --git a/Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcproj b/Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcproj index 1841539724..16f714e3b7 100644 --- a/Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcproj +++ b/Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcproj @@ -1,7 +1,7 @@