blob: 1545ce82f77de8db84ffd66d668267e1480bfd97 [file] [log] [blame] [edit]
//========================================================================
//
// 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>
// Copyright 2021, 2022, 2024 Albert Astals Cid <aacid@kde.org>
//
//========================================================================
#ifndef VIEWERPREFERENCES_H
#define VIEWERPREFERENCES_H
#include "poppler_private_export.h"
#include <vector>
class Dict;
//------------------------------------------------------------------------
// ViewerPreferences
//------------------------------------------------------------------------
class POPPLER_PRIVATE_EXPORT ViewerPreferences
{
public:
enum NonFullScreenPageMode
{
nfpmUseNone,
nfpmUseOutlines,
nfpmUseThumbs,
nfpmUseOC
};
enum Direction
{
directionL2R,
directionR2L
};
enum PrintScaling
{
printScalingNone,
printScalingAppDefault
};
enum Duplex
{
duplexNone,
duplexSimplex,
duplexDuplexFlipShortEdge,
duplexDuplexFlipLongEdge
};
explicit 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 = nfpmUseNone;
Direction direction = directionL2R;
PrintScaling printScaling = printScalingAppDefault;
Duplex duplex = duplexNone;
bool pickTrayByPDFSize;
int numCopies = 1;
std::vector<std::pair<int, int>> printPageRange;
};
#endif