]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/controllers/ControlPrefs.C
Add a buffer_path arg to InsetGraphicsMailer's params2string, string2params.
[lyx.git] / src / frontends / controllers / ControlPrefs.C
index 91454a7837a11b030ca5b4f197c0c0091f60032c..ed442139e54797d1eafd3fdc55005f1a5b4ab7c5 100644 (file)
 
 #include <config.h>
 
-#ifdef __GNUG__
-#pragma implementation
-#endif
+
+#include <utility>
 
 #include "ControlPrefs.h"
+#include "ViewBase.h"
 
-//#include "frontends/Dialogs.h"
-#include "commandtags.h"
 #include "frontends/LyXView.h"
+#include "bufferlist.h"
+#include "helper_funcs.h"
+#include "gettext.h"
+#include "support/filetools.h"
+#include "frontends/Dialogs.h"
+#include "converter.h"
+#include "format.h"
+#include "debug.h"
+
+extern string system_lyxdir;
+extern string user_lyxdir;
+extern BufferList bufferlist;
+
+using namespace lyx::support;
+
+using std::endl;
+using std::pair;
 
 ControlPrefs::ControlPrefs(LyXView & lv, Dialogs & d)
        : ControlDialogBI(lv, d)
 {}
 
 
+void ControlPrefs::setParams()
+{
+       rc_ = lyxrc;
+}
+
+
 void ControlPrefs::apply()
 {
-       lyxrc = rc_; 
+       view().apply();
+       lyxrc = rc_;
+
+       bufferlist.setCurrentAuthor(rc_.user_name, rc_.user_email);
+
+       // The Save button has been pressed
+       if (isClosing()) {
+               lv_.dispatch(FuncRequest(LFUN_SAVEPREFERENCES));
+       }
+}
+
+
+string const ControlPrefs::browsebind(string const & file)
+{
+       string dir  = AddName(system_lyxdir, "bind");
+       // FIXME: stupid name
+       string name = _("System Bind|#S#s");
+       pair<string,string> dir1(name, dir);
+
+       dir = AddName(user_lyxdir, "bind");
+       // FIXME: stupid name
+       name = _("User Bind|#U#u");
+       pair<string,string> dir2(name, dir);
+
+       return browseFile(file, _("Choose bind file"), "*.bind", false, dir1, dir2);
+}
+
+
+string const ControlPrefs::browseUI(string const & file)
+{
+       string dir  = AddName(system_lyxdir, "ui");
+       // FIXME: stupid name
+       string name = _("Sys UI|#S#s");
+       pair<string,string> dir1(name, dir);
+
+       dir = AddName(user_lyxdir, "ui");
+       // FIXME: stupid name
+       name = _("User UI|#U#u");
+       pair<string,string> dir2(name, dir);
+
+       return browseFile(file, _("Choose UI file"), "*.ui", false, dir1, dir2);
 }
 
 
-void ControlPrefs::save()
+string const ControlPrefs::browsekbmap(string const & file)
 {
+       string const dir = AddName(system_lyxdir, "kbd");
+       string const name = _("Key maps|#K#k");
+       pair<string, string> dir1(name, dir);
+
+       return browseFile(file, _("Choose keyboard map"), "*.kmap", false, dir1);
+}
+
+
+string const ControlPrefs::browsedict(string const & file)
+{
+       return browseFile(file, _("Choose personal dictionary"), "*.ispell");
+}
+
+
+string const ControlPrefs::browse(string const & file, string const & title)
+{
+       return browseFile(file, title, "*", true);
+}
+
+
+string const ControlPrefs::browsedir(string const & path, string const & title)
+{
+       return browseDir(path, title);
+}
+
+
+void ControlPrefs::redrawGUI()
+{
+       // we must be sure to get the new values first
        lyxrc = rc_;
-       lv_.dispatch(FuncRequest(LFUN_SAVEPREFERENCES));
+
+       lv_.getDialogs().redrawGUI();
+}
+
+
+void ControlPrefs::setColor(LColor::color col, string const & hex)
+{
+       string const s = lcolor.getLyXName(col) + ' ' + hex;
+       lv_.dispatch(FuncRequest(LFUN_SET_COLOR, s));
+}
+
+
+void ControlPrefs::updateScreenFonts()
+{
+       // we must be sure to get the new values first
+       lyxrc = rc_;
+
+       lv_.dispatch(FuncRequest(LFUN_SCREEN_FONT_UPDATE));
+}
+
+
+void ControlPrefs::setConverters(Converters const & conv)
+{
+       converters = conv;
+       converters.update(formats);
+       converters.buildGraph();
+}
+
+
+void ControlPrefs::setFormats(Formats const & form)
+{
+       formats = form;
 }