]> git.lyx.org Git - lyx.git/blob - src/frontends/controllers/ControlAboutlyx.C
Rob Lahaye's "iconify dialogs with main window if so desired" patch.
[lyx.git] / src / frontends / controllers / ControlAboutlyx.C
1 /**
2  * \file ControlAboutlyx.C
3  * Copyright 2001 The LyX Team.
4  * See the file COPYING.
5  *
6  * \author Edwin Leuven, leuven@fee.uva.nl
7  * \author Angus Leeming, a.leeming@.ac.uk
8  */
9
10 #include <config.h>
11 #include <fstream>
12
13 #ifdef __GNUG__
14 #pragma implementation
15 #endif
16
17 #include "ViewBase.h"
18 #include "ButtonControllerBase.h"
19 #include "ControlAboutlyx.h"
20 #include "Dialogs.h"
21 #include "LyXView.h"
22 #include "Lsstream.h"
23 #include "BufferView.h"
24 #include "gettext.h"
25 #include "support/filetools.h" // FileSearch
26 #include "version.h"
27
28 // needed for the browser
29 extern string system_lyxdir;
30 extern string user_lyxdir;
31
32 ControlAboutlyx::ControlAboutlyx(LyXView & lv, Dialogs & d)
33         : ControlDialog<ControlConnectBI>(lv, d)
34 {
35         d_.showAboutlyx.connect(SigC::slot(this, &ControlAboutlyx::show));
36 }
37
38
39 stringstream & ControlAboutlyx::getCredits(stringstream & ss) const
40 {
41         string const name = FileSearch(system_lyxdir, "CREDITS");
42
43         bool found(!name.empty());
44
45         if (found) {
46                 std::ifstream in(name.c_str());
47                 found = (in.get());
48
49                 if (found) {
50                         in.seekg(0, std::ios::beg); // rewind to the beginning
51
52                         ss << in.rdbuf();
53                         found = (ss.good());
54                 }
55         }
56
57         if (!found) {
58                 ss << _("ERROR: LyX wasn't able to read CREDITS file\n")
59                    << _("Please install correctly to estimate the great\n")
60                    << _("amount of work other people have done for the LyX project.");
61         }
62
63         return ss;
64 }
65
66 string const ControlAboutlyx::getCopyright() const
67 {
68         return _("LyX is Copyright (C) 1995 by Matthias Ettrich,\n1995-2001 LyX Team");
69 }
70
71 string const ControlAboutlyx::getLicense() const
72 {
73         return _("This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.");
74 }
75
76 string const ControlAboutlyx::getDisclaimer() const
77 {
78         return _("LyX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\nSee the GNU General Public License for more details.\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.");
79 }
80
81 string const ControlAboutlyx::getVersion() const
82 {
83         stringstream ss;
84
85         ss << _("LyX Version ")
86            << LYX_VERSION
87            << " of "
88            << LYX_RELEASE
89            << "\n"
90            << ("Library directory: ")
91            << MakeDisplayPath(system_lyxdir)
92            << "\n"
93            << _("User directory: ")
94            << MakeDisplayPath(user_lyxdir);
95         
96         return ss.str().c_str();
97 }