]> git.lyx.org Git - lyx.git/blob - src/frontends/controllers/ControlPreamble.C
526244f6b75db18355a5486ed70b10136a414e8a
[lyx.git] / src / frontends / controllers / ControlPreamble.C
1 /**
2  * \file FormPreamble.C
3  * Copyright 2001 The LyX Team.
4  * See the file COPYING.
5  *
6  * \author Edwin Leuven, leuven@fee.uva.nl
7  */
8
9 #include <config.h>
10
11 #ifdef __GNUG__
12 #pragma implementation
13 #endif
14
15 #include "ViewBase.h"
16 #include "ButtonControllerBase.h"
17 #include "ControlPreamble.h"
18 #include "LyXView.h"
19 #include "Dialogs.h"
20 #include "buffer.h"
21 #include "lyxrc.h"
22 #include "Liason.h"
23 #include "gettext.h"
24
25
26 ControlPreamble::ControlPreamble(LyXView & lv, Dialogs & d)
27         : ControlDialog<ControlConnectBD>(lv, d)
28 {
29     d_.showPreamble.connect(SigC::slot(this, &ControlPreamble::show));
30 }
31
32
33 void ControlPreamble::apply()
34 {
35         if (!lv_.view()->available())
36                 return;
37    
38         view().apply();
39
40         lv_.buffer()->params.preamble = params();
41         lv_.buffer()->markDirty();
42         Liason::setMinibuffer(&lv_, _("LaTeX preamble set"));
43 }
44
45
46 string & ControlPreamble::params() const
47 {
48         lyx::Assert(params_);
49         return *params_;
50 }
51
52
53 void ControlPreamble::setParams()
54 {
55         if (params_) delete params_;
56         params_ = new string(lv_.buffer()->params.preamble);
57 }
58
59
60 void ControlPreamble::clearParams()
61 {
62         if (params_) {
63                 delete params_;
64                 params_ = 0;
65         }
66 }