7 #if defined(CYTOPIA_PLATFORM_LINUX) || defined(CYTOPIA_PLATFORM_HAIKU)
13 #ifdef CYTOPIA_PLATFORM_LINUX
16 const char *getDialogCommand()
18 if (::system(
nullptr))
20 if (::system(
"which gdialog") == 0)
23 else if (::system(
"which kdialog") == 0)
28 #elif defined(CYTOPIA_PLATFORM_MACOSX)
30 #elif defined(CYTOPIA_PLATFORM_WIN)
36 #if defined(CYTOPIA_PLATFORM_LINUX)
37 const char *dialogCommand = getDialogCommand();
41 command +=
" --title \"" + title +
"\" --msgbox \"" + text +
"\"";
42 int syserror = ::system(command.c_str());
45 LOG(
LOG_DEBUG) <<
"WARNING: Cant execute command " << command;
50 #elif defined(CYTOPIA_PLATFORM_WIN)
51 MessageBox(
nullptr, text.c_str(), title.c_str(), MB_OK | MB_ICONERROR);
57 #ifdef CYTOPIA_PLATFORM_LINUX
58 std::string command = prefix +
"xdg-open '" + url +
"'";
60 ::system(command.c_str());
62 #elif defined(CYTOPIA_PLATFORM_WIN)
63 ShellExecuteA(0,
"Open", url.c_str(), 0, 0, SW_SHOW);
65 #elif defined(CYTOPIA_PLATFORM_MACOSX)
67 ::system(command.c_str());
75 #ifdef CYTOPIA_PLATFORM_LINUX
76 command = prefix +
"nautilus '" + path +
"' &";
77 ::system(command.c_str());
78 #elif defined(CYTOPIA_PLATFORM_WIN)
79 ShellExecute(GetDesktopWindow(),
"open", path.c_str(),
nullptr,
nullptr, SW_SHOWNORMAL);
81 #elif defined(CYTOPIA_PLATFORM_MACOSX)
82 command =
"open \"" + path +
"\" &";
83 ::system(command.c_str());
90 #define RETURN_TRUE(t) \
94 #ifdef CYTOPIA_PLATFORM_WIN
98 #ifdef CYTOPIA_PLATFORM_LINUX
102 #ifdef CYTOPIA_PLATFORM_UNIX
106 #ifdef CYTOPIA_PLATFORM_ANDROID
110 #ifdef CYTOPIA_PLATFORM_MACOSX
114 #ifdef CYTOPIA_PLATFORM_XBSD
118 #ifdef CYTOPIA_PLATFORM_HAIKU
122 #ifdef CYTOPIA_PLATFORM_BEOS