00001 #ifndef __QPDF_H__ 00002 #define __QPDF_H__ 00003 00004 #include "aconf.h" 00005 00006 #include <qmainwindow.h> 00007 00008 //#define QPDF_QPE_ONLY 1 00009 00010 class QPEOutputDev; 00011 class PDFDoc; 00012 00013 class DocLnk; 00014 class FileSelector; 00015 class OFileSelector; 00016 class QWidgetStack; 00017 class QLineEdit; 00018 00019 00020 class QPdfDlg : public QMainWindow { 00021 Q_OBJECT 00022 00023 public: 00024 QPdfDlg ( ); 00025 virtual ~QPdfDlg ( ); 00026 00027 public slots: 00028 void firstPage ( ); 00029 void prevPage ( ); 00030 void nextPage ( ); 00031 void lastPage ( ); 00032 00033 void gotoPage ( int n ); 00034 00035 void setZoom ( int z ); 00036 00037 void gotoPageDialog ( ); 00038 00039 void toggleFullscreen ( ); 00040 void toggleFindBar ( ); 00041 00042 void findText ( const QString & ); 00043 void findText ( ); 00044 00045 void openFile ( ); 00046 void openFile ( const QString & ); 00047 void openFile ( const DocLnk & ); 00048 00049 void setDocument ( const QString & ); 00050 00051 private slots: 00052 void delayedInit ( ); 00053 void closeFileSelector ( ); 00054 00055 void updateCaption ( ); 00056 00057 void copyToClipboard ( const QRect & ); 00058 00059 protected: 00060 void setFullscreen ( bool b = true ); 00061 00062 void setBusy ( bool b = true ); 00063 bool busy ( ) const; 00064 00065 void renderPage ( ); 00066 00067 virtual void resizeEvent ( QResizeEvent *e ); 00068 virtual void focusInEvent ( QFocusEvent *e ); 00069 00070 private: 00071 QWidgetStack *m_stack; 00072 QPEOutputDev *m_outdev; 00073 00074 #ifdef QPDF_QPE_ONLY 00075 FileSelector *m_filesel; 00076 #else 00077 OFileSelector *m_filesel; 00078 #endif 00079 00080 QToolBar *m_tb_menu, *m_tb_tool, *m_tb_find; 00081 QLineEdit *m_findedit; 00082 QPopupMenu *m_pm_zoom; 00083 00084 QToolButton *m_to_find, *m_to_full; 00085 00086 bool m_fullscreen; 00087 00088 bool m_busy; 00089 bool m_renderok; 00090 00091 int m_currentpage; 00092 int m_pages; 00093 int m_zoom; 00094 00095 PDFDoc *m_doc; 00096 00097 QString m_currentdoc; 00098 }; 00099 00100 00101 #endif
1.4.2