⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 khtmlpart_p.h

📁 konqueror3 embedded版本, KDE环境下的当家浏览器的嵌入式版本源码包.
💻 H
📖 第 1 页 / 共 2 页
字号:
#ifndef khtmlpart_p_h#define khtmlpart_p_h/* This file is part of the KDE project * * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> *                     1999-2001 Lars Knoll <knoll@kde.org> *                     1999-2001 Antti Koivisto <koivisto@kde.org> *                     2000-2001 Simon Hausmann <hausmann@kde.org> *                     2000-2001 Dirk Mueller <mueller@kde.org> *                     2000 Stefan Schimanski <1Stein@gmx.de> *                     2001-2003 George Stiakos <staikos@kde.org> * * 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. */#include <kcursor.h>#include <klibloader.h>#include <kxmlguifactory.h>#include <kaction.h>#include <kparts/partmanager.h>#include <kparts/statusbarextension.h>#include <kparts/browserextension.h>#ifndef KHTML_NO_WALLET#include <kwallet.h>#endif#include <qguardedptr.h>#include <qmap.h>#include <qtimer.h>#include <qvaluelist.h>#include "html/html_formimpl.h"#include "khtml_run.h"#include "khtml_factory.h"#include "khtml_events.h"#include "khtml_ext.h"#include "khtml_iface.h"#include "khtml_settings.h"#include "misc/decoder.h"#include "ecma/kjs_proxy.h"class KFind;class KFindDialog;class KPopupMenu;class KSelectAction;class KURLLabel;class KJavaAppletContext;class KJSErrorDlg;namespace KIO{  class Job;  class TransferJob;}namespace KParts{  class StatusBarExtension;}namespace khtml{  class KDE_EXPORT ChildFrame : public QObject  {      Q_OBJECT  public:      enum Type { Frame, IFrame, Object };      ChildFrame() : QObject (0L, "khtml_child_frame") {          m_jscript = 0L;          m_kjs_lib = 0;          m_bCompleted = false; m_bPreloaded = false; m_type = Frame; m_bNotify = false;          m_bPendingRedirection = false;      }      ~ChildFrame() {          if (m_run) m_run->abort();          delete m_jscript;          if ( m_kjs_lib)              m_kjs_lib->unload();      }    QGuardedPtr<khtml::RenderPart> m_frame;    QGuardedPtr<KParts::ReadOnlyPart> m_part;    QGuardedPtr<KParts::BrowserExtension> m_extension;    QGuardedPtr<KParts::LiveConnectExtension> m_liveconnect;    QString m_serviceName;    QString m_serviceType;    KJSProxy *m_jscript;    KLibrary *m_kjs_lib;    bool m_bCompleted;    QString m_name;    KParts::URLArgs m_args;    QGuardedPtr<KHTMLRun> m_run;    bool m_bPreloaded;    KURL m_workingURL;    Type m_type;    QStringList m_params;    bool m_bNotify;    bool m_bPendingRedirection;  protected slots:    void liveConnectEvent(const unsigned long, const QString&, const KParts::LiveConnectExtension::ArgList&);  };}struct KHTMLFrameList : public QValueList<khtml::ChildFrame*>{    Iterator find( const QString &name ) KDE_NO_EXPORT;};typedef KHTMLFrameList::ConstIterator ConstFrameIt;typedef KHTMLFrameList::Iterator FrameIt;static int khtml_part_dcop_counter = 0;class KHTMLWalletQueue : public QObject{  Q_OBJECT  public:    KHTMLWalletQueue(QObject *parent) : QObject(parent) {#ifndef KHTML_NO_WALLET      wallet = 0L;#endif // KHTML_NO_WALLET    }    virtual ~KHTMLWalletQueue() {#ifndef KHTML_NO_WALLET      delete wallet;      wallet = 0L;#endif // KHTML_NO_WALLET    }#ifndef KHTML_NO_WALLET    KWallet::Wallet *wallet;#endif // KHTML_NO_WALLET    typedef QPair<DOM::HTMLFormElementImpl*, QGuardedPtr<DOM::DocumentImpl> > Caller;    typedef QValueList<Caller> CallerList;    CallerList callers;    QValueList<QPair<QString, QMap<QString, QString> > > savers;  signals:    void walletOpened(KWallet::Wallet*);  public slots:    void walletOpened(bool success) {#ifndef KHTML_NO_WALLET      if (!success) {        delete wallet;        wallet = 0L;      }      emit walletOpened(wallet);      if (wallet) {        if (!wallet->hasFolder(KWallet::Wallet::FormDataFolder())) {          wallet->createFolder(KWallet::Wallet::FormDataFolder());        }        for (CallerList::Iterator i = callers.begin(); i != callers.end(); ++i) {          if ((*i).first && (*i).second) {            (*i).first->walletOpened(wallet);          }        }        wallet->setFolder(KWallet::Wallet::FormDataFolder());        for (QValueList<QPair<QString, QMap<QString, QString> > >::Iterator i = savers.begin(); i != savers.end(); ++i) {          wallet->writeMap((*i).first, (*i).second);        }      }      callers.clear();      savers.clear();      wallet = 0L; // gave it away#endif // KHTML_NO_WALLET    }};class KHTMLPartPrivate{  KHTMLPartPrivate(const KHTMLPartPrivate & other);  KHTMLPartPrivate& operator=(const KHTMLPartPrivate&);public:  KHTMLPartPrivate(QObject* parent)  {    m_doc = 0L;    m_decoder = 0L;    m_wallet = 0L;    m_bWalletOpened = false;    m_runningScripts = 0;    m_job = 0L;    m_bComplete = true;    m_bLoadEventEmitted = true;    m_cachePolicy = KIO::CC_Verify;    m_manager = 0L;    m_settings = new KHTMLSettings(*KHTMLFactory::defaultHTMLSettings());    m_bClearing = false;    m_bCleared = false;    m_zoomFactor = 100;    m_bDnd = true;    m_startOffset = m_endOffset = 0;    m_startBeforeEnd = true;    m_extendAtEnd = true;    m_linkCursor = KCursor::handCursor();    m_loadedObjects = 0;    m_totalObjectCount = 0;    m_jobPercent = 0;    m_haveEncoding = false;    m_activeFrame = 0L;    m_find = 0;    m_findDialog = 0;    m_ssl_in_use = false;    m_jsedlg = 0;    m_formNotification = KHTMLPart::NoNotification;#ifndef Q_WS_QWS    m_javaContext = 0;#endif    m_cacheId = 0;    m_frameNameId = 1;    m_restored = false;    m_restoreScrollPosition = false;    m_focusNodeNumber = -1;    m_focusNodeRestored = false;    m_bJScriptForce = false;    m_bJScriptOverride = false;    m_bJavaForce = false;    m_bJavaOverride = false;    m_bPluginsForce = false;    m_bPluginsOverride = false;    m_onlyLocalReferences = false;    m_caretMode = false;    m_designMode = false;    m_metaRefreshEnabled = true;    m_statusMessagesEnabled = true;    m_bFirstData = true;    m_submitForm = 0;    m_delayRedirect = 0;    m_autoDetectLanguage = khtml::Decoder::SemiautomaticDetection;    // inherit settings from parent    if(parent && parent->inherits("KHTMLPart"))    {        KHTMLPart* part = static_cast<KHTMLPart*>(parent);        if(part->d)        {            m_bJScriptForce = part->d->m_bJScriptForce;            m_bJScriptOverride = part->d->m_bJScriptOverride;            m_bJavaForce = part->d->m_bJavaForce;            m_bJavaOverride = part->d->m_bJavaOverride;            m_bPluginsForce = part->d->m_bPluginsForce;            m_bPluginsOverride = part->d->m_bPluginsOverride;            // Same for SSL settings            m_ssl_in_use = part->d->m_ssl_in_use;            m_onlyLocalReferences = part->d->m_onlyLocalReferences;            m_caretMode = part->d->m_caretMode;            m_designMode = part->d->m_designMode;            m_zoomFactor = part->d->m_zoomFactor;            m_autoDetectLanguage = part->d->m_autoDetectLanguage;            m_encoding = part->d->m_encoding;            m_haveEncoding = part->d->m_haveEncoding;        }    }    m_focusNodeNumber = -1;    m_focusNodeRestored = false;    m_opener = 0;    m_openedByJS = false;    m_newJSInterpreterExists = false;    m_dcopobject = 0;    m_jobspeed = 0;    m_dcop_counter = ++khtml_part_dcop_counter;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -