]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/controllers/ControlPrefs.C
fix crash due to invalidated iterator
[lyx.git] / src / frontends / controllers / ControlPrefs.C
index 93f2698267045f4f3978eda5e4714b3885bce6e8..f65e29fad871e2de568054cf331a9ee4c594022b 100644 (file)
@@ -18,6 +18,7 @@
 #include "bufferlist.h"
 #include "gettext.h"
 #include "funcrequest.h"
+#include "paper.h"
 #include "LColor.h"
 
 #include "support/filefilterlist.h"
@@ -122,28 +123,28 @@ void ControlPrefs::updateScreenFonts()
 string const ControlPrefs::browsebind(string const & file) const
 {
        return browseLibFile("bind", file, "bind", _("Choose bind file"),
-                         FileFilterList("LyX bind files (*.bind)"));
+                         FileFilterList(_("LyX bind files (*.bind)")));
 }
 
 
 string const ControlPrefs::browseUI(string const & file) const
 {
        return browseLibFile("ui", file, "ui", _("Choose UI file"),
-                         FileFilterList("LyX UI files (*.ui)"));
+                         FileFilterList(_("LyX UI files (*.ui)")));
 }
 
 
 string const ControlPrefs::browsekbmap(string const & file) const
 {
        return browseLibFile("kbd", file, "kmap", _("Choose keyboard map"),
-                         FileFilterList("LyX keyboard maps (*.kmap)"));
+                         FileFilterList(_("LyX keyboard maps (*.kmap)")));
 }
 
 
 string const ControlPrefs::browsedict(string const & file) const
 {
        return browseFile(file, _("Choose personal dictionary"),
-                         FileFilterList("*.ispell"));
+                         FileFilterList(_("*.ispell")));
 }
 
 
@@ -160,5 +161,59 @@ string const ControlPrefs::browsedir(string const & path,
        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