/** * \file ControlPrefs.C * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * * \author John Levon * * Full author contact details are available in file CREDITS */ #include #include #include "ControlPrefs.h" #include "ViewBase.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() { 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 dir1(name, dir); dir = AddName(user_lyxdir, "bind"); // FIXME: stupid name name = _("User Bind|#U#u"); pair 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 dir1(name, dir); dir = AddName(user_lyxdir, "ui"); // FIXME: stupid name name = _("User UI|#U#u"); pair dir2(name, dir); return browseFile(file, _("Choose UI file"), "*.ui", false, dir1, dir2); } string const ControlPrefs::browsekbmap(string const & file) { string const dir = AddName(system_lyxdir, "kbd"); string const name = _("Key maps|#K#k"); pair 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_.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; }