#include "bufferlist.h"
#include "gettext.h"
#include "funcrequest.h"
+#include "paper.h"
#include "LColor.h"
-#include "support/filetools.h"
-#include "support/globbing.h"
-#include "support/path_defines.h"
+#include "support/filefilterlist.h"
-#include "support/std_sstream.h"
-
-using lyx::support::AddName;
-using lyx::support::FileFilterList;
-using lyx::support::system_lyxdir;
-using lyx::support::user_lyxdir;
+#include <sstream>
using std::ostringstream;
using std::pair;
extern BufferList bufferlist;
+namespace lyx {
+
+using support::FileFilterList;
+
+namespace frontend {
+
+
ControlPrefs::ControlPrefs(Dialog & parent)
: Dialog::Controller(parent),
redraw_gui_(false),
formats_ = ::formats;
converters_ = ::converters;
converters_.update(formats_);
+ movers_ = ::movers;
colors_.clear();
redraw_gui_ = false;
update_screen_font_ = false;
void ControlPrefs::dispatchParams()
{
ostringstream ss;
- rc_.write(ss);
+ rc_.write(ss, true);
kernel().dispatch(FuncRequest(LFUN_LYXRC_APPLY, ss.str()));
// FIXME: these need lfuns
::converters.update(::formats);
::converters.buildGraph();
+ ::movers = movers_;
+
vector<string>::const_iterator it = colors_.begin();
vector<string>::const_iterator const end = colors_.end();
for (; it != end; ++it)
string const ControlPrefs::browsebind(string const & file) const
{
- pair<string,string> dir1(_("System Bind|#S#s"),
- AddName(system_lyxdir(), "bind"));
-
- pair<string,string> dir2(_("User Bind|#U#u"),
- AddName(user_lyxdir(), "bind"));
-
- return browseFile(file, _("Choose bind file"),
- FileFilterList("*.bind"), false, dir1, dir2);
+ return browseLibFile("bind", file, "bind", _("Choose bind file"),
+ FileFilterList(_("LyX bind files (*.bind)")));
}
string const ControlPrefs::browseUI(string const & file) const
{
- pair<string,string> const dir1(_("Sys UI|#S#s"),
- AddName(system_lyxdir(), "ui"));
-
- pair<string,string> const dir2(_("User UI|#U#u"),
- AddName(user_lyxdir(), "ui"));
-
- return browseFile(file, _("Choose UI file"),
- FileFilterList("*.ui"), false, dir1, dir2);
+ return browseLibFile("ui", file, "ui", _("Choose UI file"),
+ FileFilterList(_("LyX UI files (*.ui)")));
}
string const ControlPrefs::browsekbmap(string const & file) const
{
- pair<string, string> dir(_("Key maps|#K#k"),
- AddName(system_lyxdir(), "kbd"));
-
- return browseFile(file, _("Choose keyboard map"),
- FileFilterList("*.kmap"), false, dir);
+ return browseLibFile("kbd", file, "kmap", _("Choose keyboard map"),
+ FileFilterList(_("LyX keyboard maps (*.kmap)")));
}
string const ControlPrefs::browsedict(string const & file) const
{
return browseFile(file, _("Choose personal dictionary"),
- FileFilterList("*.ispell"));
+ FileFilterList(_("*.ispell")));
}
{
return browseDir(path, title);
}
+
+
+// We support less paper sizes than the document dialog
+// Therefore this adjustment is needed.
+PAPER_SIZE const ControlPrefs::toPaperSize(int i) const
+{
+ switch (i) {
+ case 0:
+ return PAPER_DEFAULT;
+ case 1:
+ return PAPER_USLETTER;
+ case 2:
+ return PAPER_USLEGAL;
+ case 3:
+ return PAPER_USEXECUTIVE;
+ case 4:
+ return PAPER_A3;
+ case 5:
+ return PAPER_A4;
+ case 6:
+ return PAPER_A5;
+ case 7:
+ return PAPER_B5;
+ default:
+ // should not happen
+ return PAPER_DEFAULT;
+ }
+}
+
+
+int const ControlPrefs::fromPaperSize(PAPER_SIZE papersize) const
+{
+ switch (papersize) {
+ case PAPER_DEFAULT:
+ return 0;
+ case PAPER_USLETTER:
+ return 1;
+ case PAPER_USLEGAL:
+ return 2;
+ case PAPER_USEXECUTIVE:
+ return 3;
+ case PAPER_A3:
+ return 4;
+ case PAPER_A4:
+ return 5;
+ case PAPER_A5:
+ return 6;
+ case PAPER_B5:
+ return 7;
+ default:
+ // should not happen
+ return 0;
+ }
+}
+
+} // namespace frontend
+} // namespace lyx