sinc with TL rev. 38618.
[luatex.git] / source / libs / poppler / poppler-0.37.0 / poppler / ViewerPreferences.cc
blobcba8d0ac5124f59cea0573880a2f0830bb847d0f
1 //========================================================================
2 //
3 // ViewerPreferences.cc
4 //
5 // This file is licensed under the GPLv2 or later
6 //
7 // Copyright 2011 Pino Toscano <pino@kde.org>
8 //
9 //========================================================================
11 #include <config.h>
13 #include "ViewerPreferences.h"
15 #include "Object.h"
16 #include "Dict.h"
18 ViewerPreferences::ViewerPreferences(Dict *prefDict)
20 init();
22 Object obj;
24 if (prefDict->lookup("HideToolbar", &obj)->isBool()) {
25 hideToolbar = obj.getBool();
27 obj.free();
29 if (prefDict->lookup("HideMenubar", &obj)->isBool()) {
30 hideMenubar = obj.getBool();
32 obj.free();
34 if (prefDict->lookup("HideWindowUI", &obj)->isBool()) {
35 hideWindowUI = obj.getBool();
37 obj.free();
39 if (prefDict->lookup("FitWindow", &obj)->isBool()) {
40 fitWindow = obj.getBool();
42 obj.free();
44 if (prefDict->lookup("CenterWindow", &obj)->isBool()) {
45 centerWindow = obj.getBool();
47 obj.free();
49 if (prefDict->lookup("DisplayDocTitle", &obj)->isBool()) {
50 displayDocTitle = obj.getBool();
52 obj.free();
54 if (prefDict->lookup("NonFullScreenPageMode", &obj)->isName()) {
55 const char *mode = obj.getName();
56 if (!strcmp(mode, "UseNone")) {
57 nonFullScreenPageMode = nfpmUseNone;
58 } else if (!strcmp(mode, "UseOutlines")) {
59 nonFullScreenPageMode = nfpmUseOutlines;
60 } else if (!strcmp(mode, "UseThumbs")) {
61 nonFullScreenPageMode = nfpmUseThumbs;
62 } else if (!strcmp(mode, "UseOC")) {
63 nonFullScreenPageMode = nfpmUseOC;
66 obj.free();
68 if (prefDict->lookup("Direction", &obj)->isName()) {
69 const char *dir = obj.getName();
70 if (!strcmp(dir, "L2R")) {
71 direction = directionL2R;
72 } else if (!strcmp(dir, "R2L")) {
73 direction = directionR2L;
76 obj.free();
78 if (prefDict->lookup("PrintScaling", &obj)->isName()) {
79 const char *ps = obj.getName();
80 if (!strcmp(ps, "None")) {
81 printScaling = printScalingNone;
82 } else if (!strcmp(ps, "AppDefault")) {
83 printScaling = printScalingAppDefault;
86 obj.free();
88 if (prefDict->lookup("Duplex", &obj)->isName()) {
89 const char *d = obj.getName();
90 if (!strcmp(d, "Simplex")) {
91 duplex = duplexSimplex;
92 } else if (!strcmp(d, "DuplexFlipShortEdge")) {
93 duplex = duplexDuplexFlipShortEdge;
94 } else if (!strcmp(d, "DuplexFlipLongEdge")) {
95 duplex = duplexDuplexFlipLongEdge;
98 obj.free();
101 ViewerPreferences::~ViewerPreferences()
105 void ViewerPreferences::init()
107 hideToolbar = gFalse;
108 hideMenubar = gFalse;
109 hideWindowUI = gFalse;
110 fitWindow = gFalse;
111 centerWindow = gFalse;
112 displayDocTitle = gFalse;
113 nonFullScreenPageMode = nfpmUseNone;
114 direction = directionL2R;
115 printScaling = printScalingAppDefault;
116 duplex = duplexNone;