/*************************************************************************** * Copyright (C) 2004-2007 by Georgy Yunaev, gyunaev@ulduzsoft.com * * Please do not use email address above for bug reports; see * * the README file * * * * 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. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ #ifndef KCHMVIEWWINDOW_TDEHTMLPART_H #define KCHMVIEWWINDOW_TDEHTMLPART_H #include "tde-tqt.h" #include "kchmviewwindow.h" #include "kchmsourcefactory.h" #include "libchmtextencoding.h" #ifdef Q_MOC_RUN #define USE_KDE #endif // Q_MOC_RUN /** @author Georgy Yunaev */ /* * For TQt-only version, we cannot compile KCHMViewWindow_TDEHTMLPart. However, * we cannot just exclude it, because it would not generate a MOC file for a KDE * version. Therefore we declare it, and compile the .moc file, but do not provide * the class methods. */ #if defined (USE_KDE) class KCHMViewWindow_TDEHTMLPart : public TDEHTMLPart, public KCHMViewWindow { Q_OBJECT public: KCHMViewWindow_TDEHTMLPart( TQTabWidget * parent ); ~KCHMViewWindow_TDEHTMLPart(); //! Open a page from current chm archive virtual bool openPage (const TQString& url); //! Invalidate current view, doing all the cleanups etc. virtual void invalidate(); //! Return current ZoomFactor. virtual int getZoomFactor() const { return m_zoomfactor; } //! Sets ZoomFactor. The value returned by getZoomFactor(), given to this function, should give the same result. virtual void setZoomFactor (int zoom); //! Relatively changes ZoomFactor. Most common values are -1 and 1. virtual void addZoomFactor (int value); //! Popups the print dialog, and prints the current page on the printer. virtual bool printCurrentPage(); //! Initiates the find-in-page search, if succeed, cursor moved to the first entry virtual void searchWord( const TQString & word, bool forward = true, bool casesensitive = false ); //! Select the content of the whole page virtual void clipSelectAll(); //! Copies the selected content to the clipboard virtual void clipCopy(); /*! * Return current scrollbar position in view window. Saved on program exit. * There is no restriction on returned value, except that giving this value to * setScrollbarPosition() should move the scrollbar in the same position. */ virtual int getScrollbarPosition(); //! Sets the scrollbar position. virtual void setScrollbarPosition(int pos); virtual TQObject * getTQObject() { return this; } virtual TQWidget * getTQWidget(); signals: /*! * Emitted when the user clicked on the link, before the page changed. * If signalLinkClicked() sets follow_link to false, the current page should NOT change. * Otherwise it should be changed to the new link value. */ void signalLinkClicked ( const TQString & newlink, bool& follow_link ); private slots: virtual void slotLinkClicked ( const TQString & newlink); virtual void onOpenURLRequest( const KURL &, const KParts::URLArgs & ); virtual void onPopupMenu ( const TQString & url, const TQPoint & point ); private: void setSource ( const TQString & name ); int m_zoomfactor; bool m_searchForward; TQString m_searchText; const LCHMTextEncoding * m_currentEncoding; }; #endif /* USE_KDE */ #endif /* KCHMVIEWWINDOW_TDEHTMLPART_H */