]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/Alert.C
Joao latest bits
[lyx.git] / src / frontends / Alert.C
index 474d5367599a10953bba93b90644f42b5d2d7851..feb3b65cacc41dc22220aad31ec496c84694d5f2 100644 (file)
@@ -1,88 +1,98 @@
 /**
  * \file Alert.C
- * Copyright 2001 the LyX Team
- * 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 <moz@compsoc.man.ac.uk>
+ * \author John Levon
+ *
+ * Full author contact details are available in file CREDITS.
  */
 
 #include <config.h>
-#include <cerrno>
-#include "debug.h"
-#include "lyxrc.h" 
+
+#include "Alert.h"
 #include "Alert_pimpl.h"
 
+#include "debug.h"
+#include "lyx_gui.h"
+
 using std::endl;
+using std::make_pair;
+using std::pair;
+using std::string;
 
-namespace Alert {
-       void alert(string const & s1, string const & s2, string const & s3) {
-               if (!lyxrc.use_gui) {
-                       lyxerr << "----------------------------------------" << endl
-                              << s1 << endl << s2 << endl << s3 << endl
-                              << "----------------------------------------" << endl;
-               } else { 
-                       alert_pimpl(s1, s2, s3);
-               }
-       }
 
-       void err_alert(string const & s1, string const & s2) {
-               alert(s1, s2, strerror(errno));
-       }
+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 (!lyx_gui::use_gui || lyxerr.debugging()) {
+               lyxerr << title
+                      << "----------------------------------------"
+                      << question << endl;
 
-       bool askQuestion(string const & s1, string const & s2, string const & s3, bool default_value) {
-               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);
+               lyxerr << "Assuming answer is ";
+               switch (default_button) {
+               case 0: lyxerr << b1 << endl;
+               case 1: lyxerr << b2 << endl;
+               case 2: lyxerr << b3 << endl;
                }
+               if (!lyx_gui::use_gui)
+                       return default_button;
        }
 
-       int askConfirmation(string const & s1, string const & s2, string const & s3, int default_value) {
-               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);
-               }
-       }
-       std::pair<bool, string> const askForText(string const & msg, string const & dflt) {
-               if (!lyxrc.use_gui) {
-                       lyxerr << "----------------------------------------" << endl
-                              << msg << endl
-                              << "Assuming answer is " << dflt
-                              << "----------------------------------------" << endl;
-                       return std::make_pair<bool, string>(true, dflt);
-               } else {
-                       return askForText_pimpl(msg, dflt);
-               }
+       return prompt_pimpl(title, question,
+                           default_button, escape_button, b1, b2, b3);
+
+}
+
+
+void Alert::warning(string const & title, string const & message)
+{
+       if (!lyx_gui::use_gui || lyxerr.debugging())
+               lyxerr << "Warning: " << title
+                      << "----------------------------------------"
+                      << message << endl;
+       if (lyx_gui::use_gui)
+               warning_pimpl(title, message);
+}
+
+
+void Alert::error(string const & title, string const & message)
+{
+       if (!lyx_gui::use_gui || lyxerr.debugging())
+               lyxerr << "Error: " << title << '\n'
+                      << "----------------------------------------\n"
+                      << message << endl;
+
+       if (lyx_gui::use_gui)
+               error_pimpl(title, message);
+}
+
+
+void Alert::information(string const & title, string const & message)
+{
+       if (!lyx_gui::use_gui || lyxerr.debugging())
+               lyxerr << title
+                      << "----------------------------------------"
+                      << message << endl;
+
+       if (lyx_gui::use_gui)
+               information_pimpl(title, message);
+}
+
+
+pair<bool, string> const Alert::askForText(string const & msg,
+                                          string const & dflt)
+{
+       if (!lyx_gui::use_gui || lyxerr.debugging()) {
+               lyxerr << "----------------------------------------\n"
+                      << msg << '\n'
+                      << "Assuming answer is " << dflt << '\n'
+                      << "----------------------------------------" << endl;
+               if (!lyx_gui::use_gui)
+                       return make_pair<bool, string>(true, dflt);
        }
+
+       return askForText_pimpl(msg, dflt);
 }