]> git.lyx.org Git - lyx.git/blob - src/frontends/Alert.C
474d5367599a10953bba93b90644f42b5d2d7851
[lyx.git] / src / frontends / Alert.C
1 /**
2  * \file Alert.C
3  * Copyright 2001 the LyX Team
4  * Read the file COPYING
5  *
6  * \author John Levon <moz@compsoc.man.ac.uk>
7  */
8
9 #include <config.h>
10  
11 #include <cerrno>
12  
13 #include "debug.h"
14 #include "lyxrc.h" 
15  
16 #include "Alert_pimpl.h"
17
18 using std::endl;
19
20 namespace Alert {
21  
22         void alert(string const & s1, string const & s2, string const & s3) {
23                 if (!lyxrc.use_gui) {
24                         lyxerr << "----------------------------------------" << endl
25                                << s1 << endl << s2 << endl << s3 << endl
26                                << "----------------------------------------" << endl;
27                 } else { 
28                         alert_pimpl(s1, s2, s3);
29                 }
30         }
31
32         void err_alert(string const & s1, string const & s2) {
33                 alert(s1, s2, strerror(errno));
34         }
35
36         bool askQuestion(string const & s1, string const & s2, string const & s3, bool default_value) {
37                 if (!lyxrc.use_gui) {
38                                 lyxerr << "----------------------------------------" << endl
39                                        << s1 << endl;
40                                 if (!s2.empty())
41                                         lyxerr << s2 << endl;
42                                 if (!s3.empty())
43                                         lyxerr << s3 << endl;
44                         lyxerr << "Assuming answer is "
45                                << (default_value ? "yes" : "no")
46                                << endl
47                                << "----------------------------------------" << endl;
48                         return default_value;
49                 } else {
50                         return askQuestion_pimpl(s1, s2, s3);
51                 }
52         }
53
54         int askConfirmation(string const & s1, string const & s2, string const & s3, int default_value) {
55                 if (!lyxrc.use_gui) {
56                         lyxerr << "----------------------------------------" << endl
57                                << s1 << endl;
58                         if (!s2.empty())
59                                         lyxerr << s2 << endl;
60                         if (!s3.empty())
61                                 lyxerr << s3 << endl;
62                         lyxerr << "Assuming answer is ";
63                         if (default_value == 1)
64                                 lyxerr << "yes";
65                         else if (default_value == 2)
66                                 lyxerr << "no";
67                         else
68                                 lyxerr << "cancel";
69                         lyxerr << endl
70                                << "----------------------------------------" << endl;
71                         return default_value;
72                 } else {
73                         return askConfirmation_pimpl(s1, s2, s3);
74                 }
75         }
76  
77         std::pair<bool, string> const askForText(string const & msg, string const & dflt) {
78                 if (!lyxrc.use_gui) {
79                         lyxerr << "----------------------------------------" << endl
80                                << msg << endl
81                                << "Assuming answer is " << dflt
82                                << "----------------------------------------" << endl;
83                         return std::make_pair<bool, string>(true, dflt);
84                 } else {
85                         return askForText_pimpl(msg, dflt);
86                 }
87         }
88 }