summaryrefslogtreecommitdiffstats
path: root/khtml/khtml_ext.h
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commitce4a32fe52ef09d8f5ff1dd22c001110902b60a2 (patch)
tree5ac38a06f3dde268dc7927dc155896926aaf7012 /khtml/khtml_ext.h
downloadtdelibs-ce4a32fe52ef09d8f5ff1dd22c001110902b60a2.tar.gz
tdelibs-ce4a32fe52ef09d8f5ff1dd22c001110902b60a2.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdelibs@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'khtml/khtml_ext.h')
-rw-r--r--khtml/khtml_ext.h177
1 files changed, 177 insertions, 0 deletions
diff --git a/khtml/khtml_ext.h b/khtml/khtml_ext.h
new file mode 100644
index 000000000..4d118b9c8
--- /dev/null
+++ b/khtml/khtml_ext.h
@@ -0,0 +1,177 @@
+/* This file is part of the KDE project
+ *
+ * Copyright (C) 2000-2003 Simon Hausmann <[email protected]>
+ * 2001-2003 George Staikos <[email protected]>
+ * 2001-2003 Laurent Montel <[email protected]>
+ * 2001-2003 Dirk Mueller <[email protected]>
+ * 2001-2003 Waldo Bastian <[email protected]>
+ * 2001-2003 David Faure <[email protected]>
+ * 2001-2003 Daniel Naber <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __khtml_ext_h__
+#define __khtml_ext_h__
+
+#include "khtml_part.h"
+
+#include <qguardedptr.h>
+
+#include <kaction.h>
+#include <kio/global.h>
+
+/**
+ * This is the BrowserExtension for a KHTMLPart document. Please see the KParts documentation for
+ * more information about the BrowserExtension.
+ */
+class KHTMLPartBrowserExtension : public KParts::BrowserExtension
+{
+ Q_OBJECT
+ friend class KHTMLPart;
+ friend class KHTMLView;
+public:
+ KHTMLPartBrowserExtension( KHTMLPart *parent, const char *name = 0L );
+
+ virtual int xOffset();
+ virtual int yOffset();
+
+ virtual void saveState( QDataStream &stream );
+ virtual void restoreState( QDataStream &stream );
+
+ // internal
+ void editableWidgetFocused( QWidget *widget );
+ void editableWidgetBlurred( QWidget *widget );
+
+ void setExtensionProxy( KParts::BrowserExtension *proxyExtension );
+
+public slots:
+ void cut();
+ void copy();
+ void paste();
+ void searchProvider();
+ void openSelection();
+ void reparseConfiguration();
+ void print();
+ void disableScrolling();
+
+ // internal . updates the state of the cut/copt/paste action based
+ // on whether data is available in the clipboard
+ void updateEditActions();
+
+private slots:
+ // connected to a frame's browserextensions enableAction signal
+ void extensionProxyActionEnabled( const char *action, bool enable );
+ void extensionProxyEditableWidgetFocused();
+ void extensionProxyEditableWidgetBlurred();
+
+signals:
+ void editableWidgetFocused();
+ void editableWidgetBlurred();
+private:
+ void callExtensionProxyMethod( const char *method );
+
+ KHTMLPart *m_part;
+ QGuardedPtr<QWidget> m_editableFormWidget;
+ QGuardedPtr<KParts::BrowserExtension> m_extensionProxy;
+ bool m_connectedToClipboard;
+};
+
+class KHTMLPartBrowserHostExtension : public KParts::BrowserHostExtension
+{
+public:
+ KHTMLPartBrowserHostExtension( KHTMLPart *part );
+ virtual ~KHTMLPartBrowserHostExtension();
+
+ virtual QStringList frameNames() const;
+
+ virtual const QPtrList<KParts::ReadOnlyPart> frames() const;
+
+ virtual bool openURLInFrame( const KURL &url, const KParts::URLArgs &urlArgs );
+
+protected:
+ virtual void virtual_hook( int id, void* data );
+private:
+ KHTMLPart *m_part;
+};
+
+/**
+ * @internal
+ * INTERNAL class. *NOT* part of the public API.
+ */
+class KHTMLPopupGUIClient : public QObject, public KXMLGUIClient
+{
+ Q_OBJECT
+public:
+ KHTMLPopupGUIClient( KHTMLPart *khtml, const QString &doc, const KURL &url );
+ virtual ~KHTMLPopupGUIClient();
+
+ static void saveURL( QWidget *parent, const QString &caption, const KURL &url,
+ const QMap<QString, QString> &metaData = KIO::MetaData(),
+ const QString &filter = QString::null, long cacheId = 0,
+ const QString &suggestedFilename = QString::null );
+
+ static void saveURL( const KURL &url, const KURL &destination,
+ const QMap<QString, QString> &metaData = KIO::MetaData(),
+ long cacheId = 0 );
+private slots:
+ void slotSaveLinkAs();
+ void slotSaveImageAs();
+ void slotCopyLinkLocation();
+ void slotSendImage();
+ void slotStopAnimations();
+ void slotCopyImageLocation();
+ void slotCopyImage();
+ void slotViewImage();
+ void slotReloadFrame();
+ void slotFrameInWindow();
+ void slotFrameInTop();
+ void slotFrameInTab();
+ void slotBlockImage();
+ void slotBlockHost();
+ void slotBlockIFrame();
+
+private:
+ class KHTMLPopupGUIClientPrivate;
+ KHTMLPopupGUIClientPrivate *d;
+};
+
+class KHTMLZoomFactorAction : public KAction
+{
+ Q_OBJECT
+public:
+ //BCI: remove in KDE 4
+ KHTMLZoomFactorAction( KHTMLPart *part, bool direction, const QString &text, const QString &icon, const QObject *receiver, const char *slot, QObject *parent, const char *name );
+ KHTMLZoomFactorAction( KHTMLPart *part, bool direction, const QString &text,
+ const QString &icon, const KShortcut& cut, const QObject *receiver,
+ const char *slot, QObject *parent, const char *name );
+ virtual ~KHTMLZoomFactorAction();
+
+ virtual int plug( QWidget *widget, int index );
+
+private slots:
+ void slotActivated( int );
+protected slots:
+ void slotActivated() { KAction::slotActivated(); }
+private:
+ void init(KHTMLPart *part, bool direction);
+private:
+ QPopupMenu *m_popup;
+ bool m_direction;
+ KHTMLPart *m_part;
+};
+
+#endif