Пример #1
0
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());
}
Пример #2
0
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]);
}
Пример #3
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]);
}
Пример #4
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());
}