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"
>
+
+
+
+
// 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
#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
+#include
+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