KHTML
khtml_ext.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef __khtml_ext_h__
00028 #define __khtml_ext_h__
00029
00030 #include "khtml_part.h"
00031
00032 #include <qguardedptr.h>
00033
00034 #include <kaction.h>
00035 #include <kio/global.h>
00036
00041 class KHTMLPartBrowserExtension : public KParts::BrowserExtension
00042 {
00043 Q_OBJECT
00044 friend class KHTMLPart;
00045 friend class KHTMLView;
00046 public:
00047 KHTMLPartBrowserExtension( KHTMLPart *parent, const char *name = 0L );
00048
00049 virtual int xOffset();
00050 virtual int yOffset();
00051
00052 virtual void saveState( QDataStream &stream );
00053 virtual void restoreState( QDataStream &stream );
00054
00055
00056 void editableWidgetFocused( QWidget *widget );
00057 void editableWidgetBlurred( QWidget *widget );
00058
00059 void setExtensionProxy( KParts::BrowserExtension *proxyExtension );
00060
00061 public slots:
00062 void cut();
00063 void copy();
00064 void paste();
00065 void searchProvider();
00066 void openSelection();
00067 void reparseConfiguration();
00068 void print();
00069 void disableScrolling();
00070
00071
00072
00073 void updateEditActions();
00074
00075 private slots:
00076
00077 void extensionProxyActionEnabled( const char *action, bool enable );
00078 void extensionProxyEditableWidgetFocused();
00079 void extensionProxyEditableWidgetBlurred();
00080
00081 signals:
00082 void editableWidgetFocused();
00083 void editableWidgetBlurred();
00084 private:
00085 void callExtensionProxyMethod( const char *method );
00086
00087 KHTMLPart *m_part;
00088 QGuardedPtr<QWidget> m_editableFormWidget;
00089 QGuardedPtr<KParts::BrowserExtension> m_extensionProxy;
00090 bool m_connectedToClipboard;
00091 };
00092
00093 class KHTMLPartBrowserHostExtension : public KParts::BrowserHostExtension
00094 {
00095 public:
00096 KHTMLPartBrowserHostExtension( KHTMLPart *part );
00097 virtual ~KHTMLPartBrowserHostExtension();
00098
00099 virtual QStringList frameNames() const;
00100
00101 virtual const QPtrList<KParts::ReadOnlyPart> frames() const;
00102
00103 virtual bool openURLInFrame( const KURL &url, const KParts::URLArgs &urlArgs );
00104
00105 protected:
00106 virtual void virtual_hook( int id, void* data );
00107 private:
00108 KHTMLPart *m_part;
00109 };
00110
00115 class KHTMLPopupGUIClient : public QObject, public KXMLGUIClient
00116 {
00117 Q_OBJECT
00118 public:
00119 KHTMLPopupGUIClient( KHTMLPart *khtml, const QString &doc, const KURL &url );
00120 virtual ~KHTMLPopupGUIClient();
00121
00122 static void saveURL( QWidget *parent, const QString &caption, const KURL &url,
00123 const QMap<QString, QString> &metaData = KIO::MetaData(),
00124 const QString &filter = QString::null, long cacheId = 0,
00125 const QString &suggestedFilename = QString::null );
00126
00127 static void saveURL( const KURL &url, const KURL &destination,
00128 const QMap<QString, QString> &metaData = KIO::MetaData(),
00129 long cacheId = 0 );
00130 private slots:
00131 void slotSaveLinkAs();
00132 void slotSaveImageAs();
00133 void slotCopyLinkLocation();
00134 void slotSendImage();
00135 void slotStopAnimations();
00136 void slotCopyImageLocation();
00137 void slotCopyImage();
00138 void slotViewImage();
00139 void slotReloadFrame();
00140 void slotFrameInWindow();
00141 void slotFrameInTop();
00142 void slotFrameInTab();
00143 void slotBlockImage();
00144 void slotBlockHost();
00145 void slotBlockIFrame();
00146
00147 private:
00148 class KHTMLPopupGUIClientPrivate;
00149 KHTMLPopupGUIClientPrivate *d;
00150 };
00151
00152 class KHTMLZoomFactorAction : public KAction
00153 {
00154 Q_OBJECT
00155 public:
00156
00157 KHTMLZoomFactorAction( KHTMLPart *part, bool direction, const QString &text, const QString &icon, const QObject *receiver, const char *slot, QObject *parent, const char *name );
00158 KHTMLZoomFactorAction( KHTMLPart *part, bool direction, const QString &text,
00159 const QString &icon, const KShortcut& cut, const QObject *receiver,
00160 const char *slot, QObject *parent, const char *name );
00161 virtual ~KHTMLZoomFactorAction();
00162
00163 virtual int plug( QWidget *widget, int index );
00164
00165 private slots:
00166 void slotActivated( int );
00167 protected slots:
00168 void slotActivated() { KAction::slotActivated(); }
00169 private:
00170 void init(KHTMLPart *part, bool direction);
00171 private:
00172 QPopupMenu *m_popup;
00173 bool m_direction;
00174 KHTMLPart *m_part;
00175 };
00176
00177 #endif