summaryrefslogtreecommitdiff
path: root/poppler/ViewerPreferences.h
blob: 28e9299a350d489a765b4811a623dadfb4161c20 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
//========================================================================
//
// ViewerPreferences.h
//
// This file is licensed under the GPLv2 or later
//
// Copyright 2011 Pino Toscano <pino@kde.org>
// Copyright 2019 Marek Kasik <mkasik@redhat.com>
//
//========================================================================

#ifndef VIEWERPREFERENCES_H
#define VIEWERPREFERENCES_H

#include <vector>

class Dict;

//------------------------------------------------------------------------
// ViewerPreferences
//------------------------------------------------------------------------

class ViewerPreferences {
public:

  enum NonFullScreenPageMode {
    nfpmUseNone,
    nfpmUseOutlines,
    nfpmUseThumbs,
    nfpmUseOC
  };
  enum Direction {
    directionL2R,
    directionR2L
  };
  enum PrintScaling {
    printScalingNone,
    printScalingAppDefault
  };
  enum Duplex {
    duplexNone,
    duplexSimplex,
    duplexDuplexFlipShortEdge,
    duplexDuplexFlipLongEdge
  };

  ViewerPreferences(Dict *prefDict);
  ~ViewerPreferences();

  bool getHideToolbar() const { return hideToolbar; }
  bool getHideMenubar() const { return hideMenubar; }
  bool getHideWindowUI() const { return hideWindowUI; }
  bool getFitWindow() const { return fitWindow; }
  bool getCenterWindow() const { return centerWindow; }
  bool getDisplayDocTitle() const { return displayDocTitle; }
  NonFullScreenPageMode getNonFullScreenPageMode() const { return nonFullScreenPageMode; }
  Direction getDirection() const { return direction; }
  PrintScaling getPrintScaling() const { return printScaling; }
  Duplex getDuplex() const { return duplex; }
  bool getPickTrayByPDFSize() const { return pickTrayByPDFSize; }
  int getNumCopies() const { return numCopies; }
  std::vector<std::pair<int, int> > getPrintPageRange() const { return printPageRange; }

private:

  void init();

  bool hideToolbar;
  bool hideMenubar;
  bool hideWindowUI;
  bool fitWindow;
  bool centerWindow;
  bool displayDocTitle;
  NonFullScreenPageMode nonFullScreenPageMode;
  Direction direction;
  PrintScaling printScaling;
  Duplex duplex;
  bool pickTrayByPDFSize;
  int numCopies;
  std::vector<std::pair<int, int> > printPageRange;
};

#endif