⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 part.h.svn-base

📁 okular
💻 SVN-BASE
字号:
/*************************************************************************** *   Copyright (C) 2002 by Wilco Greven <greven@kde.org>                   * *   Copyright (C) 2003-2004 by Christophe Devriese                        * *                         <Christophe.Devriese@student.kuleuven.ac.be>    * *   Copyright (C) 2003 by Andy Goossens <andygoossens@telenet.be>         * *   Copyright (C) 2003 by Laurent Montel <montel@kde.org>                 * *   Copyright (C) 2004 by Dominique Devriese <devriese@kde.org>           * *   Copyright (C) 2004-2006 by Albert Astals Cid <tsdgeos@terra.es>       * *                                                                         * *   This program is free software; you can redistribute it and/or modify  * *   it under the terms of the GNU General Public License as published by  * *   the Free Software Foundation; either version 2 of the License, or     * *   (at your option) any later version.                                   * ***************************************************************************/#ifndef _KPDF_PART_H_#define _KPDF_PART_H_#include <kparts/browserextension.h>#include <kparts/part.h>#include <qlist.h>#include <qpointer.h>#include "core/observer.h"#include "core/document.h"#include <QtDBus/QtDBus>class QAction;class QWidget;class QSplitter;class QToolBox;class KUrl;class KAction;class KConfig;class KDirWatch;class KToggleAction;class KToggleFullScreenAction;class KSelectAction;class KAboutData;class KPrinter;class KPDFDocument;class ThumbnailList;class ThumbnailController;class PageView;class PresentationWidget;class SearchWidget;class TOC;class MiniBar;class ExportEntry;namespace okular {class BrowserExtension;/** * This is a "Part".  It that does all the real work in a KPart * application. * * @short Main Part * @author Wilco Greven <greven@kde.org> * @version 0.2 */class Part : public KParts::ReadOnlyPart, public DocumentObserver{Q_OBJECTQ_CLASSINFO("D-Bus Interface", "org.kde.okular")public:	// Default constructor	Part(QWidget* parentWidget, QObject* parent, const QStringList& args);	// Destructor	~Part();    // inherited from DocumentObserver    uint observerId() const { return PART_ID; }    void notifyViewportChanged( bool smoothMove );	static KAboutData* createAboutData();public slots: // dbus	Q_SCRIPTABLE Q_NOREPLY void goToPage(uint page);	Q_SCRIPTABLE Q_NOREPLY void openDocument(KUrl doc);	Q_SCRIPTABLE uint pages();	Q_SCRIPTABLE uint currentPage();	Q_SCRIPTABLE KUrl currentDocument();	Q_SCRIPTABLE void slotPreferences();	Q_SCRIPTABLE void slotFind();	Q_SCRIPTABLE void slotPrintPreview();	Q_SCRIPTABLE void slotPreviousPage();	Q_SCRIPTABLE void slotNextPage();	Q_SCRIPTABLE void slotGotoFirst();	Q_SCRIPTABLE void slotGotoLast();signals:	void enablePrintAction(bool enable);protected:	// reimplemented from KParts::ReadOnlyPart	bool openFile();	bool openURL(const KUrl &url);	bool closeURL();	// filter that watches for splitter size changes	bool eventFilter( QObject * watched, QEvent * e );	void supportedMimetypes();protected slots:	// connected to actions	void openURLFromDocument(const KUrl &url);	void slotGoToPage();	void slotHistoryBack();	void slotHistoryNext();	void slotPreviousBookmark();	void slotNextBookmark();	void slotFindNext();	void slotSaveFileAs();	void slotGetNewStuff();	void slotNewConfig();	void slotShowMenu(const KPDFPage *page, const QPoint &point);	void slotShowProperties();	void slotShowEmbeddedFiles();	void slotShowLeftPanel();	void slotShowPresentation();	void slotHidePresentation();	void slotExportAs(QAction *);	bool slotImportPSFile();	void close();	void cannotQuit();	void setMimeTypes(KIO::Job *job);	void saveSplitterSize();	// can be connected to widget elements	void updateViewActions();	void enableTOC(bool enable);public slots:	// connected to Shell action (and browserExtension), not local one	void slotPrint();	void restoreDocument(const KUrl &url, int page);	void saveDocumentRestoreInfo(KConfig* config);	void slotFileDirty( const QString& );	void slotDoFileDirty();	void psTransformEnded();private:	void doPrint( KPrinter& printer );    void fillGenerators();	// the document	KPDFDocument * m_document;	QString m_temporaryLocalFile;	// main widgets	QSplitter *m_splitter;	QWidget *m_leftPanel;	QToolBox *m_toolBox;	SearchWidget *m_searchWidget;	QPointer<ThumbnailList> m_thumbnailList;	QPointer<PageView> m_pageView;	QPointer<TOC> m_toc;	QPointer<MiniBar> m_miniBar;	QPointer<PresentationWidget> m_presentationWidget;	// document watcher (and reloader) variables	KDirWatch *m_watcher;	QTimer *m_dirtyHandler;	DocumentViewport m_viewportDirty;	// Remember the search history	QStringList m_searchHistory;	// actions	KAction *m_gotoPage;	KAction *m_prevPage;	KAction *m_nextPage;	KAction *m_firstPage;	KAction *m_lastPage;	KAction *m_historyBack;	KAction *m_historyNext;	KAction *m_prevBookmark;	KAction *m_nextBookmark;	KAction *m_find;	KAction *m_findNext;	KAction *m_saveAs;	KAction *m_printPreview;	KAction *m_showProperties;	KAction *m_showEmbeddedFiles;	KAction *m_exportAs;	QAction *m_exportAsText;	KAction *m_showPresentation;	KToggleAction* m_showMenuBarAction;	KToggleAction* m_showLeftPanel;	KToggleFullScreenAction* m_showFullScreenAction;	bool m_actionsSearched;	bool m_searchStarted;	BrowserExtension *m_bExtension;    // QHash: key is the name of the generator   QHash<QString, Generator*> m_loadedGenerators;    // list of names of the generators that have settings    QStringList m_generatorsWithSettings;    QStringList m_supportedMimeTypes;    KSelectAction * m_confGens;	QList<ExportEntry*> m_exportItems;    private slots:    void slotGeneratorPreferences();};class BrowserExtension : public KParts::BrowserExtension{Q_OBJECTpublic:	BrowserExtension(Part*);public slots:	// Automatically detected by the host.	void print();};}#endif// vim:ts=2:sw=2:tw=78:et

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -