1/* This file is part of the KDE project
2 *
3 * Copyright (C) 2002 Stephan Kulow <coolo@kde.org>
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Library General Public
7 * License as published by the Free Software Foundation; either
8 * version 2 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Library General Public License for more details.
14 *
15 * You should have received a copy of the GNU Library General Public License
16 * along with this library; see the file COPYING.LIB. If not, write to
17 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 * Boston, MA 02110-1301, USA.
19 */
20
21#include "khtml_iface.h"
22#include "khtml_part.h"
23#include "khtmlview.h"
24#include "khtml_ext.h"
25#include <kio/global.h>
26#include <QtGui/QApplication>
27#include <QtCore/QVariant>
28
29KHTMLPartIface::KHTMLPartIface( KHTMLPart *_part )
30 : QDBusAbstractAdaptor( _part ), part(_part)
31{
32}
33
34KHTMLPartIface::~KHTMLPartIface()
35{
36}
37
38QString KHTMLPartIface::url() const
39{
40 return part->url().url();
41}
42
43void KHTMLPartIface::setJScriptEnabled( bool enable )
44{
45 part->setJScriptEnabled(enable);
46}
47
48bool KHTMLPartIface::jScriptEnabled() const
49{
50 return part->jScriptEnabled();
51}
52
53bool KHTMLPartIface::closeUrl()
54{
55 return part->closeUrl();
56}
57
58bool KHTMLPartIface::metaRefreshEnabled() const
59{
60 return part->metaRefreshEnabled();
61}
62
63void KHTMLPartIface::setDndEnabled( bool b )
64{
65 part->setDNDEnabled(b);
66}
67
68bool KHTMLPartIface::dndEnabled() const
69{
70 return part->dndEnabled();
71}
72
73void KHTMLPartIface::setJavaEnabled( bool enable )
74{
75 part->setJavaEnabled( enable );
76}
77
78bool KHTMLPartIface::javaEnabled() const
79{
80 return part->javaEnabled();
81}
82
83void KHTMLPartIface::setPluginsEnabled( bool enable )
84{
85 part->setPluginsEnabled( enable );
86}
87
88bool KHTMLPartIface::pluginsEnabled() const
89{
90 return part->pluginsEnabled();
91}
92
93void KHTMLPartIface::setAutoloadImages( bool enable )
94{
95 part->setAutoloadImages( enable );
96}
97
98bool KHTMLPartIface::autoloadImages() const
99{
100 return part->autoloadImages();
101}
102
103void KHTMLPartIface::setOnlyLocalReferences(bool enable)
104{
105 part->setOnlyLocalReferences(enable);
106}
107
108void KHTMLPartIface::setMetaRefreshEnabled( bool enable )
109{
110 part->setMetaRefreshEnabled(enable);
111}
112
113bool KHTMLPartIface::onlyLocalReferences() const
114{
115 return part->onlyLocalReferences();
116}
117
118bool KHTMLPartIface::setEncoding( const QString &name )
119{
120 return part->setEncoding(name);
121}
122
123QString KHTMLPartIface::encoding() const
124{
125 return part->encoding();
126}
127
128void KHTMLPartIface::setFixedFont( const QString &name )
129{
130 part->setFixedFont(name);
131
132}
133
134bool KHTMLPartIface::gotoAnchor( const QString &name )
135{
136 return part->gotoAnchor(name);
137}
138
139bool KHTMLPartIface::nextAnchor()
140{
141 return part->nextAnchor();
142}
143
144bool KHTMLPartIface::prevAnchor()
145{
146 return part->prevAnchor();
147}
148
149void KHTMLPartIface::activateNode()
150{
151 KParts::ReadOnlyPart* p = part->currentFrame();
152 if ( p && p->widget() ) {
153 QKeyEvent ev( QKeyEvent::KeyPress, Qt::Key_Return, 0, "\n" );
154 QApplication::sendEvent( p->widget(), &ev );
155 }
156}
157
158void KHTMLPartIface::selectAll()
159{
160 part->selectAll();
161}
162
163QString KHTMLPartIface::lastModified() const
164{
165 return part->lastModified();
166}
167
168void KHTMLPartIface::debugRenderTree()
169{
170 part->slotDebugRenderTree();
171}
172
173void KHTMLPartIface::debugDOMTree()
174{
175 part->slotDebugDOMTree();
176}
177
178void KHTMLPartIface::stopAnimations()
179{
180 part->slotStopAnimations();
181}
182
183void KHTMLPartIface::viewDocumentSource()
184{
185 part->slotViewDocumentSource();
186}
187
188void KHTMLPartIface::saveBackground(const QString &destination)
189{
190 KUrl back = part->backgroundURL();
191 if (back.isEmpty())
192 return;
193
194 KIO::MetaData metaData;
195 metaData["referrer"] = part->referrer();
196 KHTMLPopupGUIClient::saveURL( part->widget(), back, KUrl( destination ), metaData );
197}
198
199void KHTMLPartIface::saveDocument(const QString &destination)
200{
201 KUrl srcURL( part->url() );
202
203 if ( srcURL.fileName(KUrl::ObeyTrailingSlash).isEmpty() )
204 srcURL.setFileName( "index.html" );
205
206 KIO::MetaData metaData;
207 // Referrer unknown?
208 KHTMLPopupGUIClient::saveURL( part->widget(), srcURL, KUrl( destination ), metaData, part->cacheId() );
209}
210
211void KHTMLPartIface::setUserStyleSheet(const QString &styleSheet)
212{
213 part->setUserStyleSheet(styleSheet);
214}
215
216QString KHTMLPartIface::selectedText() const
217{
218 return part->selectedText();
219}
220
221void KHTMLPartIface::viewFrameSource()
222{
223 part->slotViewFrameSource();
224}
225
226QString KHTMLPartIface::evalJS(const QString &script)
227{
228 return part->executeScript(DOM::Node(), script).toString();
229}
230
231void KHTMLPartIface::print( bool quick ) {
232 part->view()->print( quick );
233}
234
235#include "khtml_iface.moc"
236