File indexing completed on 2024-05-12 04:33:32
0001 /* 0002 SPDX-FileCopyrightText: 2008 Pino Toscano <pino@kde.org> 0003 SPDX-FileCopyrightText: 2008 Harri Porten <porten@kde.org> 0004 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #ifndef OKULAR_SCRIPT_JS_DOCUMENT_P_H 0009 #define OKULAR_SCRIPT_JS_DOCUMENT_P_H 0010 0011 #include <QJSValue> 0012 #include <QObject> 0013 0014 namespace Okular 0015 { 0016 class DocumentPrivate; 0017 0018 class JSDocument : public QObject 0019 { 0020 Q_OBJECT 0021 Q_PROPERTY(int numPages READ numPages CONSTANT) 0022 Q_PROPERTY(int pageNum READ pageNum WRITE setPageNum) // clazy:exclude=qproperty-without-notify 0023 Q_PROPERTY(QString documentFileName READ documentFileName CONSTANT) 0024 Q_PROPERTY(int filesize READ filesize CONSTANT) 0025 Q_PROPERTY(QString path READ path CONSTANT) 0026 Q_PROPERTY(QString URL READ URL CONSTANT) 0027 Q_PROPERTY(bool permStatusReady READ permStatusReady CONSTANT) 0028 Q_PROPERTY(QJSValue dataObjects READ dataObjects CONSTANT) 0029 Q_PROPERTY(bool external READ external CONSTANT) 0030 Q_PROPERTY(int numFields READ numFields CONSTANT) 0031 0032 // info properties 0033 Q_PROPERTY(QJSValue info READ info CONSTANT) 0034 Q_PROPERTY(QString author READ author CONSTANT) 0035 Q_PROPERTY(QString creator READ creator CONSTANT) 0036 Q_PROPERTY(QString keywords READ keywords CONSTANT) 0037 Q_PROPERTY(QString producer READ producer CONSTANT) 0038 Q_PROPERTY(QString title READ title CONSTANT) 0039 Q_PROPERTY(QString subject READ subject CONSTANT) 0040 0041 public: 0042 explicit JSDocument(DocumentPrivate *doc, QObject *parent = nullptr); 0043 ~JSDocument() override; 0044 0045 int numPages() const; 0046 int pageNum() const; 0047 void setPageNum(int pageNum); 0048 QString documentFileName() const; 0049 int filesize() const; 0050 QString path() const; 0051 QString URL() const; 0052 bool permStatusReady() const; 0053 QJSValue dataObjects() const; 0054 bool external() const; 0055 int numFields() const; 0056 0057 QJSValue info() const; 0058 QString author() const; 0059 QString creator() const; 0060 QString keywords() const; 0061 QString producer() const; 0062 QString title() const; 0063 QString subject() const; 0064 0065 Q_INVOKABLE QJSValue getField(const QString &cName) const; 0066 Q_INVOKABLE QString getPageLabel(int nPage) const; 0067 Q_INVOKABLE int getPageRotation(int nPage) const; 0068 Q_INVOKABLE void gotoNamedDest(const QString &cName) const; 0069 Q_INVOKABLE void syncAnnotScan() const; 0070 Q_INVOKABLE QJSValue getNthFieldName(int nIndex) const; 0071 Q_INVOKABLE QJSValue getOCGs(int nPage = -1) const; 0072 0073 private: 0074 DocumentPrivate *m_doc = nullptr; 0075 }; 0076 0077 } 0078 0079 #endif