]> git.lyx.org Git - lyx.git/blob - src/frontends/controllers/ControlPreamble.C
LyX Drinkers Union: patch 1
[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 #include "BufferView.h"
25
26 ControlPreamble::ControlPreamble(LyXView & lv, Dialogs & d)
27         : ControlDialog<ControlConnectBD>(lv, d),
28           params_(0)
29 {
30     d_.showPreamble.connect(SigC::slot(this, &ControlPreamble::show));
31 }
32
33
34 void ControlPreamble::apply()
35 {
36         if (!lv_.view()->available())
37                 return;
38    
39         view().apply();
40
41         lv_.buffer()->params.preamble = params();
42         lv_.buffer()->markDirty();
43         Liason::setMinibuffer(&lv_, _("LaTeX preamble set"));
44 }
45
46
47 string & ControlPreamble::params() const
48 {
49         lyx::Assert(params_);
50         return *params_;
51 }
52
53
54 void ControlPreamble::setParams()
55 {
56         if (params_) delete params_;
57         params_ = new string(lv_.buffer()->params.preamble);
58 }
59
60
61 void ControlPreamble::clearParams()
62 {
63         if (params_) {
64                 delete params_;
65                 params_ = 0;
66         }
67 }