static int kdialogCommand(DialogType type, const std::string & message, const std::string & title) { const char * options = ""; switch(type) { case DialogInfo: options = "--msgbox"; break; case DialogWarning: options = "--sorry"; break; case DialogError: options = "--error"; break; case DialogYesNo: options = "--yesno"; break; case DialogWarnYesNo: options = "--warningyesno"; break; case DialogOkCancel: options = "--continuecancel"; break; } boost::format command("kdialog %1% \"%2%\" --title \"%3%\" --icon arx-libertatis"); command = command % options; command = command % escape(formatAsHtml(message, false)); command = command % escape(title); return system(command.str().c_str()); }
static int zenityCommand(DialogType type, const std::string & message, const std::string & title) { std::vector<const char *> command; command.push_back("zenity"); switch(type) { case DialogInfo: command.push_back("--info"); break; case DialogWarning: command.push_back("--warning"); break; case DialogError: command.push_back("--error"); break; case DialogYesNo: { command.push_back("--question"); command.push_back("--ok-label=Yes"); command.push_back("--cancel-label=No"); break; } case DialogWarnYesNo: { command.push_back("--question"); command.push_back("--ok-label=Yes"); command.push_back("--cancel-label=No"); command.push_back("--icon-name=dialog-warning"); command.push_back("--window-icon=warning"); break; } case DialogOkCancel: { command.push_back("--question"); command.push_back("--ok-label=OK"); command.push_back("--cancel-label=Cancel"); break; } } command.push_back("--no-wrap"); std::string messageArg = "--text=" + formatAsHtml(message, true); command.push_back(messageArg.c_str()); std::string titleArg = "--text=" + title; command.push_back(messageArg.c_str()); command.push_back(NULL); return platform::run(&command[0]); }
static int kdialogCommand(DialogType type, const std::string & message, const std::string & title) { std::vector<const char *> command; command.push_back("kdialog"); switch(type) { case DialogInfo: command.push_back("--msgbox"); break; case DialogWarning: command.push_back("--sorry"); break; case DialogError: command.push_back("--error"); break; case DialogYesNo: command.push_back("--yesno"); break; case DialogWarnYesNo: command.push_back("--warningyesno"); break; case DialogOkCancel: command.push_back("--continuecancel"); break; } std::string messageArg = formatAsHtml(message, false); command.push_back(messageArg.c_str()); command.push_back("--title"); command.push_back(title.c_str()); command.push_back("--icon"); command.push_back(arx_icon_name.c_str()); command.push_back(NULL); return platform::run(&command[0]); }
static int zenityCommand(DialogType type, const std::string & message, const std::string & title) { const char * options = ""; switch(type) { case DialogInfo: options = "--info"; break; case DialogWarning: options = "--warning"; break; case DialogError: options = "--error"; break; case DialogYesNo: options = "--question --ok-label=Yes --cancel-label=No"; break; case DialogWarnYesNo: options = "--question --ok-label=Yes --cancel-label=No" " --window-icon=warning --icon-name=dialog-warning"; break; case DialogOkCancel: options = "--question --ok-label=OK --cancel-label=Cancel"; break; } boost::format command("zenity %1% --no-wrap --text=\"%2%\" --title=\"%3%\""); command = command % options; command = command % escape(formatAsHtml(message, true)); command = command % escape(title); return system(command.str().c_str()); }