diff options
| author | nakeee <nakeee@gmail.com> | 2009-02-24 19:31:32 +0000 |
|---|---|---|
| committer | nakeee <nakeee@gmail.com> | 2009-02-24 19:31:32 +0000 |
| commit | ab93b003857d9975705e10ae8755fa32682db07d (patch) | |
| tree | 6f4f0fdff83cba3eea5a07c196ac151933c9e33c /Source/Core | |
| parent | e59869e63cb0164af0d22d66561fedfae07c6a4c (diff) | |
Ported wxutils from soap branch (Should make launch and explore work in Linux and osx as well) please test on windows.
Fixed a compile bug and a small bug in the cdutils(thanks lp).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2420 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/Common/Src/CDUtils.cpp | 3 | ||||
| -rw-r--r-- | Source/Core/Common/Src/FileUtil.cpp | 31 | ||||
| -rw-r--r-- | Source/Core/Common/Src/FileUtil.h | 2 | ||||
| -rw-r--r-- | Source/Core/DebuggerWX/DebuggerWX.vcproj | 8 | ||||
| -rw-r--r-- | Source/Core/DebuggerWX/Src/CodeWindowSJP.cpp | 5 | ||||
| -rw-r--r-- | Source/Core/DolphinWX/Src/FrameTools.cpp | 6 | ||||
| -rw-r--r-- | Source/Core/DolphinWX/Src/GameListCtrl.cpp | 7 | ||||
| -rw-r--r-- | Source/Core/DolphinWX/Src/SConscript | 1 | ||||
| -rw-r--r-- | Source/Core/DolphinWX/Src/WxUtils.cpp | 29 | ||||
| -rw-r--r-- | Source/Core/DolphinWX/Src/WxUtils.h | 12 |
10 files changed, 64 insertions, 40 deletions
diff --git a/Source/Core/Common/Src/CDUtils.cpp b/Source/Core/Common/Src/CDUtils.cpp index 6b5927287e..533a102942 100644 --- a/Source/Core/Common/Src/CDUtils.cpp +++ b/Source/Core/Common/Src/CDUtils.cpp @@ -2,7 +2,6 @@ With minor adjustments */ #include "CDUtils.h" -#include "common.h" /*! Follow symlinks until we have the real device file @@ -413,7 +412,7 @@ bool cdio_is_cdrom(const char *device) { char **devices = cdio_get_devices(); bool res = false; for (int i = 0; devices[i] != NULL; i++) { - if (strncmp(devices[i], device, PATH_MAX)) { + if (strncmp(devices[i], device, PATH_MAX) == 0) { res = true; break; } diff --git a/Source/Core/Common/Src/FileUtil.cpp b/Source/Core/Common/Src/FileUtil.cpp index 0d79954fa2..e849c56a15 100644 --- a/Source/Core/Common/Src/FileUtil.cpp +++ b/Source/Core/Common/Src/FileUtil.cpp @@ -113,36 +113,6 @@ std::string SanitizePath(const char *filename) return copy; } -void Launch(const char *filename) -{ -#ifdef _WIN32 - std::string win_filename = SanitizePath(filename); - SHELLEXECUTEINFO shex = { sizeof(shex) }; - shex.fMask = SEE_MASK_NO_CONSOLE; // | SEE_MASK_ASYNC_OK; - shex.lpVerb = "open"; - shex.lpFile = win_filename.c_str(); - shex.nShow = SW_SHOWNORMAL; - ShellExecuteEx(&shex); -#else - // TODO: Insert GNOME/KDE code here. -#endif -} - -void Explore(const char *path) -{ -#ifdef _WIN32 - std::string win_path = SanitizePath(path); - SHELLEXECUTEINFO shex = { sizeof(shex) }; - shex.fMask = SEE_MASK_NO_CONSOLE; // | SEE_MASK_ASYNC_OK; - shex.lpVerb = "explore"; - shex.lpFile = win_path.c_str(); - shex.nShow = SW_SHOWNORMAL; - ShellExecuteEx(&shex); -#else - // TODO: Insert GNOME/KDE code here. -#endif -} - // Returns true if successful, or path already exists. bool CreateDir(const char *path) { @@ -545,3 +515,4 @@ bool SetCurrentDirectory(const std::string& _rDirectory) } // namespace + diff --git a/Source/Core/Common/Src/FileUtil.h b/Source/Core/Common/Src/FileUtil.h index fd3816eaf4..5befbb7b46 100644 --- a/Source/Core/Common/Src/FileUtil.h +++ b/Source/Core/Common/Src/FileUtil.h @@ -37,8 +37,6 @@ struct FSTEntry std::string SanitizePath(const char *filename); bool Exists(const char *filename); -void Launch(const char *filename); -void Explore(const char *path); bool IsDirectory(const char *filename); bool IsDisk(const char *filename); bool CreateDir(const char *filename); diff --git a/Source/Core/DebuggerWX/DebuggerWX.vcproj b/Source/Core/DebuggerWX/DebuggerWX.vcproj index d5b6f56774..4329f70229 100644 --- a/Source/Core/DebuggerWX/DebuggerWX.vcproj +++ b/Source/Core/DebuggerWX/DebuggerWX.vcproj @@ -457,6 +457,14 @@ RelativePath=".\src\RegisterView.h"
>
</File>
+ <File
+ RelativePath=".\src\WxUtils.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\src\WxUtils.h"
+ >
+ </File>
</Filter>
<Filter
Name="Resources"
diff --git a/Source/Core/DebuggerWX/Src/CodeWindowSJP.cpp b/Source/Core/DebuggerWX/Src/CodeWindowSJP.cpp index 9640ff1ac4..45a023f3b4 100644 --- a/Source/Core/DebuggerWX/Src/CodeWindowSJP.cpp +++ b/Source/Core/DebuggerWX/Src/CodeWindowSJP.cpp @@ -32,6 +32,7 @@ // ugly that this lib included code from the main #include "../../DolphinWX/Src/Globals.h" +#include "../../DolphinWX/Src/WxUtils.h" #include "Host.h" @@ -42,11 +43,11 @@ #include "BreakpointWindow.h" #include "MemoryWindow.h" #include "JitWindow.h" +#include "FileUtil.h" #include "CodeWindow.h" #include "CodeView.h" -#include "FileUtil.h" #include "Core.h" #include "HLE/HLE.h" #include "Boot/Boot.h" @@ -133,7 +134,7 @@ void CCodeWindow::OnProfilerMenu(wxCommandEvent& event) break; case IDM_WRITEPROFILE: Profiler::WriteProfileResults("profiler.txt"); - File::Launch("profiler.txt"); + WxUtils::Launch("profiler.txt"); break; } } diff --git a/Source/Core/DolphinWX/Src/FrameTools.cpp b/Source/Core/DolphinWX/Src/FrameTools.cpp index 44e9b2b39e..18190ac1ea 100644 --- a/Source/Core/DolphinWX/Src/FrameTools.cpp +++ b/Source/Core/DolphinWX/Src/FrameTools.cpp @@ -59,6 +59,8 @@ be accessed from Core::GetWindowHandle(). #include <wx/datetime.h> // wxWidgets +// ugly that this lib included code from the main +#include "../../DolphinWX/Src/WxUtils.h" // ---------------------------------------------------------------------------- // Resources @@ -624,10 +626,10 @@ void CFrame::OnHelp(wxCommandEvent& event) break; } case IDM_HELPWEBSITE: - File::Launch("http://www.dolphin-emu.com/"); + WxUtils::Launch("http://www.dolphin-emu.com/"); break; case IDM_HELPGOOGLECODE: - File::Launch("http://code.google.com/p/dolphin-emu/"); + WxUtils::Launch("http://code.google.com/p/dolphin-emu/"); break; } } diff --git a/Source/Core/DolphinWX/Src/GameListCtrl.cpp b/Source/Core/DolphinWX/Src/GameListCtrl.cpp index 7bdc1552ae..9f3118b396 100644 --- a/Source/Core/DolphinWX/Src/GameListCtrl.cpp +++ b/Source/Core/DolphinWX/Src/GameListCtrl.cpp @@ -23,13 +23,13 @@ #include <algorithm> #include "FileSearch.h" -#include "FileUtil.h" #include "StringUtil.h" #include "ConfigManager.h" #include "GameListCtrl.h" #include "Blob.h" #include "ISOProperties.h" #include "IniFile.h" +#include "FileUtil.h" #if USE_XPM_BITMAPS #include "../resources/Flag_Europe.xpm" @@ -38,6 +38,9 @@ #include "../resources/Flag_USA.xpm" #endif // USE_XPM_BITMAPS +// ugly that this lib included code from the main +#include "../../DolphinWX/Src/WxUtils.h" + size_t CGameListCtrl::m_currentItem = 0; size_t CGameListCtrl::m_numberItem = 0; std::string CGameListCtrl::m_currentFilename; @@ -636,7 +639,7 @@ void CGameListCtrl::OnOpenContainingFolder(wxCommandEvent& WXUNUSED (event)) return; std::string path; SplitPath(iso->GetFileName(), &path, 0, 0); - File::Explore(path.c_str()); + WxUtils::Explore(path.c_str()); } diff --git a/Source/Core/DolphinWX/Src/SConscript b/Source/Core/DolphinWX/Src/SConscript index 4642214b85..e72ff4143b 100644 --- a/Source/Core/DolphinWX/Src/SConscript +++ b/Source/Core/DolphinWX/Src/SConscript @@ -35,6 +35,7 @@ if wxenv['HAVE_WX']: 'stdafx.cpp', 'FrameWiimote.cpp', 'SDCardWindow.cpp', + 'WxUtils.cpp', ] CPPDEFINES = [ diff --git a/Source/Core/DolphinWX/Src/WxUtils.cpp b/Source/Core/DolphinWX/Src/WxUtils.cpp new file mode 100644 index 0000000000..bdb5dfefba --- /dev/null +++ b/Source/Core/DolphinWX/Src/WxUtils.cpp @@ -0,0 +1,29 @@ +#include "Common.h" +#include <wx/wx.h> +#include <wx/string.h> +namespace WxUtils { + + // Launch a file according to its mime type + void Launch(const char *filename) + { + if (! ::wxLaunchDefaultBrowser(wxString::FromAscii(filename))) { + // WARN_LOG + } + } + + // Launch an file explorer window on a certain path + void Explore(const char *path) + { + wxString wxPath = wxString::FromAscii(path); + + // Default to file + if (! wxPath.Contains(wxT("://"))) { + wxPath = wxT("file://") + wxPath; + } + + if (! ::wxLaunchDefaultBrowser(wxPath)) { + // WARN_LOG + } + } + +} diff --git a/Source/Core/DolphinWX/Src/WxUtils.h b/Source/Core/DolphinWX/Src/WxUtils.h new file mode 100644 index 0000000000..90d44ba922 --- /dev/null +++ b/Source/Core/DolphinWX/Src/WxUtils.h @@ -0,0 +1,12 @@ +#ifndef WXUTILS_H +#define WXUTILS_H + +namespace WxUtils { + // Launch a file according to its mime type + void Launch(const char *filename); + + // Launch an file explorer window on a certain path + void Explore(const char *path); + +} // NameSpace WxUtils +#endif // WXUTILS |
