]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/controllers/ControlPreamble.C
fix crash due to invalidated iterator
[lyx.git] / src / frontends / controllers / ControlPreamble.C
index 5041710345669367121bb970ef1eb9008230159c..6f779099fc4475b4ee7bb2bf692febf78280daa3 100644 (file)
 
 #include <config.h>
 
-
 #include "ControlPreamble.h"
 
-#include "ViewBase.h"
-
 #include "buffer.h"
-#include "gettext.h"
+#include "bufferparams.h"
 
-#include "frontends/LyXView.h"
+using std::string;
 
+namespace lyx {
+namespace frontend {
 
-ControlPreamble::ControlPreamble(LyXView & lv, Dialogs & d)
-       : ControlDialogBD(lv, d)
+ControlPreamble::ControlPreamble(Dialog & parent)
+       : Dialog::Controller(parent)
 {}
 
 
-void ControlPreamble::apply()
+bool ControlPreamble::initialiseParams(std::string const &)
 {
-       if (!bufferIsAvailable())
-               return;
-
-       view().apply();
-
-       buffer()->params().preamble = params();
-       buffer()->markDirty();
-       lv_.message(_("LaTeX preamble set"));
+       params_ = kernel().buffer().params().preamble;
+       return true;
 }
 
 
-string const & ControlPreamble::params() const
+void ControlPreamble::clearParams()
 {
-       return params_;
+       params_.erase();
 }
 
 
-void ControlPreamble::params(string const & newparams)
+void ControlPreamble::dispatchParams()
 {
-       params_ = newparams;
+       // This can stay because we're going to throw the class away
+       // as soon as xforms 1.1 is released.
+       // Ie, there's no need to define LFUN_BUFFERPREAMBLE_APPLY.
+       Buffer & buffer = kernel().buffer();
+       buffer.params().preamble = params();
+       buffer.markDirty();
 }
 
 
-void ControlPreamble::setParams()
+string const & ControlPreamble::params() const
 {
-       params_ = buffer()->params().preamble;
+       return params_;
 }
 
 
-void ControlPreamble::clearParams()
+void ControlPreamble::params(string const & newparams)
 {
-       params_.erase();
+       params_ = newparams;
 }
+
+} // namespace frontend
+} // namespace lyx