*
* \author Rob Lahaye
*
- * Full author contact details available in file CREDITS.
+ * Full author contact details are available in file CREDITS.
*/
#include <config.h>
#include "graphics/GraphicsTypes.h"
-#include "support/translator.h"
+
+#include <string>
+
+using std::string;
+
namespace lyx {
namespace graphics {
+namespace {
+
/// The translator between the Display enum and corresponding lyx string.
-Translator<DisplayType, string> displayTranslator(DefaultDisplay, "default");
+Translator<DisplayType, string> const initTranslator()
+{
+ Translator<DisplayType, string> translator(DefaultDisplay, "default");
+
+ // Fill the display translator
+ translator.addPair(MonochromeDisplay, "monochrome");
+ translator.addPair(GrayscaleDisplay, "grayscale");
+ translator.addPair(ColorDisplay, "color");
+ translator.addPair(NoDisplay, "none");
+
+ return translator;
+}
+
+} // namespace anon
-void setDisplayTranslator()
+Translator<DisplayType, string> const & displayTranslator()
{
- /// This variable keeps a tab on whether the translator is set.
- static bool done = false;
-
- if (!done) {
- done = true;
-
- // Fill the display translator
- displayTranslator.addPair(DefaultDisplay, "default");
- displayTranslator.addPair(MonochromeDisplay, "monochrome");
- displayTranslator.addPair(GrayscaleDisplay, "grayscale");
- displayTranslator.addPair(ColorDisplay, "color");
- displayTranslator.addPair(NoDisplay, "none");
-
- // backward compatibility for old lyxrc.display_graphics
- displayTranslator.addPair(MonochromeDisplay, "mono");
- displayTranslator.addPair(GrayscaleDisplay, "gray");
- displayTranslator.addPair(NoDisplay, "no");
- }
+ static Translator<DisplayType, string> const translator =
+ initTranslator();
+ return translator;
}
} // namespace graphics