3 * This file is part of LyX, the document processor.
4 * Licence details can be found in the file COPYING.
8 * Full author contact details are available in file CREDITS
14 #pragma implementation
19 #include "ControlPrefs.h"
22 #include "frontends/LyXView.h"
23 #include "helper_funcs.h"
25 #include "support/filetools.h"
26 #include "frontends/Dialogs.h"
27 #include "converter.h"
30 extern string system_lyxdir;
31 extern string user_lyxdir;
36 ControlPrefs::ControlPrefs(LyXView & lv, Dialogs & d)
37 : ControlDialogBI(lv, d)
41 void ControlPrefs::update()
48 void ControlPrefs::apply()
55 void ControlPrefs::OKButton()
57 ControlDialogBI::OKButton();
58 lv_.dispatch(FuncRequest(LFUN_SAVEPREFERENCES));
62 string const ControlPrefs::browsebind(string const & file)
64 string dir = AddName(system_lyxdir, "bind");
66 string name = _("System Bind|#S#s");
67 pair<string,string> dir1(name, dir);
69 dir = AddName(user_lyxdir, "bind");
71 name = _("User Bind|#U#u");
72 pair<string,string> dir2(name, dir);
74 return browseFile(&lv_, file, _("Choose bind file"), "*.bind", dir1, dir2);
78 string const ControlPrefs::browseUI(string const & file)
80 string dir = AddName(system_lyxdir, "ui");
82 string name = _("Sys UI|#S#s");
83 pair<string,string> dir1(name, dir);
85 dir = AddName(user_lyxdir, "ui");
87 name = _("User UI|#U#u");
88 pair<string,string> dir2(name, dir);
90 return browseFile(&lv_, file, _("Choose UI file"), "*.ui", dir1, dir2);
94 string const ControlPrefs::browsekbmap(string const & file)
96 string const dir = AddName(system_lyxdir, "kbd");
97 string const name = _("Key maps|#K#k");
98 pair<string, string> dir1(name, dir);
100 return browseFile(&lv_, file, _("Choose keyboard map"), "*.kmap", dir1);
104 string const ControlPrefs::browsedict(string const & file)
106 return browseFile(&lv_, file, _("Choose personal dictionary"), "*.ispell");
110 string const ControlPrefs::browse(string const & file, string const & title)
112 return browseFile(&lv_, file, title, "*");
116 void ControlPrefs::redrawGUI()
118 // we must be sure to get the new values first
121 lv_.getDialogs().redrawGUI();
125 void ControlPrefs::setColor(LColor::color col, string const & hex)
127 string const s = lcolor.getLyXName(col) + string(" ") + hex;
128 lv_.dispatch(FuncRequest(LFUN_SET_COLOR, s));
132 void ControlPrefs::updateScreenFonts()
134 // we must be sure to get the new values first
137 lv_.dispatch(FuncRequest(LFUN_SCREEN_FONT_UPDATE));
141 void ControlPrefs::setConverters(Converters const & conv)
144 converters.update(formats);
145 converters.buildGraph();
149 void ControlPrefs::setFormats(Formats const & form)