/**
* \file Alert.C
- * Read the file COPYING
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
*
- * \author John Levon
+ * \author John Levon
*
* Full author contact details are available in file CREDITS
*/
#include "Alert.h"
#include "debug.h"
-#include "lyxrc.h"
+#include "lyx_gui.h"
#include "Alert_pimpl.h"
-#include <cerrno>
-
-#ifndef CXX_GLOBAL_CSTD
-using std::strerror;
-#endif
-
using std::endl;
using std::pair;
using std::make_pair;
-
-void Alert::alert(string const & s1, string const & s2, string const & s3)
+int Alert::prompt(string const & title, string const & question,
+ int default_button, int escape_button,
+ string const & b1, string const & b2, string const & b3)
{
- if (!lyxrc.use_gui) {
- lyxerr << "------------------------------" << endl
- << s1 << endl << s2 << endl << s3 << endl
- << "------------------------------" << endl;
- } else {
- alert_pimpl(s1, s2, s3);
+ if (lyx_gui::use_gui)
+ return prompt_pimpl(title, question,
+ default_button, escape_button, b1, b2, b3);
+
+ lyxerr << title << endl;
+ lyxerr << "----------------------------------------" << endl;
+ lyxerr << question << endl;
+ lyxerr << "Assuming answer is ";
+ switch (default_button) {
+ case 0: lyxerr << b1 << endl;
+ case 1: lyxerr << b2 << endl;
+ case 2: lyxerr << b3 << endl;
}
+ return default_button;
}
-void Alert::err_alert(string const & s1, string const & s2)
+void Alert::warning(string const & title, string const & message)
{
- alert(s1, s2, strerror(errno));
+ if (lyx_gui::use_gui)
+ return warning_pimpl(title, message);
+
+ lyxerr << "Warning: " << title << endl;
+ lyxerr << "----------------------------------------" << endl;
+ lyxerr << message << endl;
}
-bool Alert::askQuestion(string const & s1, string const & s2,
- string const & s3, bool default_value)
+void Alert::error(string const & title, string const & message)
{
- if (!lyxrc.use_gui) {
- lyxerr << "----------------------------------------" << endl
- << s1 << endl;
- if (!s2.empty())
- lyxerr << s2 << endl;
- if (!s3.empty())
- lyxerr << s3 << endl;
- lyxerr << "Assuming answer is "
- << (default_value ? "yes" : "no")
- << endl
- << "----------------------------------------" << endl;
- return default_value;
- } else {
- return askQuestion_pimpl(s1, s2, s3);
- }
+ if (lyx_gui::use_gui)
+ return error_pimpl(title, message);
+
+ lyxerr << "Error: " << title << endl;
+ lyxerr << "----------------------------------------" << endl;
+ lyxerr << message << endl;
}
-int Alert::askConfirmation(string const & s1, string const & s2,
- string const & s3, int default_value)
+void Alert::information(string const & title, string const & message)
{
- if (!lyxrc.use_gui) {
- lyxerr << "----------------------------------------" << endl
- << s1 << endl;
- if (!s2.empty())
- lyxerr << s2 << endl;
- if (!s3.empty())
- lyxerr << s3 << endl;
- lyxerr << "Assuming answer is ";
- if (default_value == 1)
- lyxerr << "yes";
- else if (default_value == 2)
- lyxerr << "no";
- else
- lyxerr << "cancel";
- lyxerr << endl
- << "----------------------------------------" << endl;
- return default_value;
- } else {
- return askConfirmation_pimpl(s1, s2, s3);
- }
+ if (lyx_gui::use_gui)
+ return information_pimpl(title, message);
+
+ lyxerr << title << endl;
+ lyxerr << "----------------------------------------" << endl;
+ lyxerr << message << endl;
}
pair<bool, string> const Alert::askForText(string const & msg,
string const & dflt)
{
- if (!lyxrc.use_gui) {
+ if (!lyx_gui::use_gui) {
lyxerr << "----------------------------------------" << endl
<< msg << endl
<< "Assuming answer is " << dflt