summaryrefslogtreecommitdiffstats
path: root/konqueror/konq_view.cc
diff options
context:
space:
mode:
authorMichele Calgaro <michele.calgaro@yahoo.it>2020-12-07 22:58:44 +0900
committerMichele Calgaro <michele.calgaro@yahoo.it>2020-12-07 23:22:36 +0900
commitad6f3f6402df4bdf88672d511e21ab1e9b88d978 (patch)
treebacd0af440aa1a0671045d431406cda36d4df618 /konqueror/konq_view.cc
parent6ab96d20b89c0e1d86abc00513c7cec304d85800 (diff)
downloadtdebase-ad6f3f6402df4bdf88672d511e21ab1e9b88d978.tar.gz
tdebase-ad6f3f6402df4bdf88672d511e21ab1e9b88d978.zip
Renaming of files in preparation for code style tools.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it> (cherry picked from commit 145abc15d57fb29701a12e8a14dcb9c1fd72e9be)
Diffstat (limited to 'konqueror/konq_view.cc')
-rw-r--r--konqueror/konq_view.cc1398
1 files changed, 0 insertions, 1398 deletions
diff --git a/konqueror/konq_view.cc b/konqueror/konq_view.cc
deleted file mode 100644
index 72810d6ae..000000000
--- a/konqueror/konq_view.cc
+++ /dev/null
@@ -1,1398 +0,0 @@
-/*
- This file is part of the KDE project
- Copyright (C) 1998-2005 David Faure <faure@kde.org>
-
- 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; see the file COPYING. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-
-#include "konq_view.h"
-#include "tdeapplication.h"
-#include "KonqViewIface.h"
-#include "konq_settingsxt.h"
-#include "konq_frame.h"
-#include "konq_run.h"
-#include "konq_events.h"
-#include "konq_viewmgr.h"
-#include "konq_tabs.h"
-#include "konq_browseriface.h"
-#include <tdeparts/statusbarextension.h>
-#include <tdeparts/browserextension.h>
-
-#include <konq_historymgr.h>
-#include <konq_pixmapprovider.h>
-
-#include <assert.h>
-#include <kdebug.h>
-#include <kcursor.h>
-#include <kurldrag.h>
-#include <tqscrollview.h>
-
-#include <tqapplication.h>
-#include <tqmetaobject.h>
-#include <tqobjectlist.h>
-#include <config.h>
-#include <tqucomextra_p.h>
-#include <tdemessagebox.h>
-#include <tdelocale.h>
-
-#include <fixx11h.h>
-
-//#define DEBUG_HISTORY
-
-template class TQPtrList<HistoryEntry>;
-
-KonqView::KonqView( KonqViewFactory &viewFactory,
- KonqFrame* viewFrame,
- KonqMainWindow *mainWindow,
- const KService::Ptr &service,
- const TDETrader::OfferList &partServiceOffers,
- const TDETrader::OfferList &appServiceOffers,
- const TQString &serviceType,
- bool passiveMode
- )
-{
- m_pKonqFrame = viewFrame;
- m_pKonqFrame->setView( this );
-
- m_sLocationBarURL = "";
- m_pageSecurity = KonqMainWindow::NotCrypted;
- m_bLockHistory = false;
- m_doPost = false;
- m_pMainWindow = mainWindow;
- m_pRun = 0L;
- m_pPart = 0L;
- m_dcopObject = 0L;
-
- m_randID = TDEApplication::random();
-
- m_service = service;
- m_partServiceOffers = partServiceOffers;
- m_appServiceOffers = appServiceOffers;
- m_serviceType = serviceType;
-
- m_bAllowHTML = m_pMainWindow->isHTMLAllowed();
- m_lstHistory.setAutoDelete( true );
- m_bLoading = false;
- m_bPendingRedirection = false;
- m_bPassiveMode = passiveMode;
- m_bLockedLocation = false;
- m_bLinkedView = false;
- m_bAborted = false;
- m_bToggleView = false;
- m_bHierarchicalView = false;
- m_bDisableScrolling = false;
- m_bGotIconURL = false;
- m_bPopupMenuEnabled = true;
- m_browserIface = new KonqBrowserInterface( this, "browseriface" );
- m_bBackRightClick = KonqSettings::backRightClick();
- m_bFollowActive = false;
- m_bBuiltinView = false;
- m_bURLDropHandling = false;
-
- switchView( viewFactory );
-}
-
-KonqView::~KonqView()
-{
- //kdDebug(1202) << "KonqView::~KonqView : part = " << m_pPart << endl;
-
- if (KonqMainWindow::s_crashlog_file) {
- TQString part_url;
- if (m_pPart)
- part_url = m_pPart->url().url();
- if (part_url.isNull())
- part_url = "";
- TQCString line;
- line = ( TQString("close(%1):%2\n").arg(m_randID,0,16).arg(part_url) ).utf8();
- KonqMainWindow::s_crashlog_file->writeBlock(line, line.length());
- KonqMainWindow::s_crashlog_file->flush();
- }
-
- // We did so ourselves for passive views
- if (m_pPart != 0L)
- {
- finishedWithCurrentURL();
- if ( isPassiveMode() )
- disconnect( m_pPart, TQT_SIGNAL( destroyed() ), m_pMainWindow->viewManager(), TQT_SLOT( slotObjectDestroyed() ) );
-
- delete m_pPart;
- }
-
- setRun( 0L );
- //kdDebug(1202) << "KonqView::~KonqView " << this << " done" << endl;
-}
-
-void KonqView::openURL( const KURL &url, const TQString & locationBarURL,
- const TQString & nameFilter, bool tempFile )
-{
- kdDebug(1202) << "KonqView::openURL url=" << url << " locationBarURL=" << locationBarURL << endl;
- setServiceTypeInExtension();
-
- if (KonqMainWindow::s_crashlog_file) {
- TQString part_url;
- if (m_pPart)
- part_url = m_pPart->url().url();
- if (part_url.isNull())
- part_url = "";
-
- TQString url_url = url.url();
- if (url_url.isNull())
- url_url = TQString("");
-
- TQCString line;
-
- line = ( TQString("closed(%1):%2\n").arg(m_randID,0,16).arg(part_url) ).utf8();
- KonqMainWindow::s_crashlog_file->writeBlock(line,line.length());
- line = ( TQString("opened(%3):%4\n").arg(m_randID,0,16).arg(url_url) ).utf8();
- KonqMainWindow::s_crashlog_file->writeBlock(line,line.length());
- KonqMainWindow::s_crashlog_file->flush();
- }
-
- KParts::BrowserExtension *ext = browserExtension();
- KParts::URLArgs args;
- if ( ext )
- args = ext->urlArgs();
-
- // Typing "Enter" again after the URL of an aborted view, triggers a reload.
- if ( m_bAborted && m_pPart && m_pPart->url() == url && !args.doPost())
- {
- if ( !prepareReload( args ) )
- return;
- if ( ext )
- ext->setURLArgs( args );
- }
-
-#ifdef DEBUG_HISTORY
- kdDebug(1202) << "m_bLockedLocation=" << m_bLockedLocation << " args.lockHistory()=" << args.lockHistory() << endl;
-#endif
- if ( args.lockHistory() )
- lockHistory();
-
- if ( !m_bLockHistory )
- {
- // Store this new URL in the history, removing any existing forward history.
- // We do this first so that everything is ready if a part calls completed().
- createHistoryEntry();
- } else
- m_bLockHistory = false;
-
- callExtensionStringMethod( "setNameFilter(const TQString&)", nameFilter );
- if ( m_bDisableScrolling )
- callExtensionMethod( "disableScrolling()" );
-
- setLocationBarURL( locationBarURL );
- setPageSecurity(KonqMainWindow::NotCrypted);
-
- if ( !args.reload )
- {
- // Save the POST data that is necessary to open this URL
- // (so that reload can re-post it)
- m_doPost = args.doPost();
- m_postContentType = args.contentType();
- m_postData = args.postData;
- // Save the referrer
- m_pageReferrer = args.metaData()["referrer"];
- }
-
- if ( tempFile ) {
- // Store the path to the tempfile. Yes, we could store a bool only,
- // but this would be more dangerous. If anything goes wrong in the code,
- // we might end up deleting a real file.
- if ( url.isLocalFile() )
- m_tempFile = url.path();
- else
- kdWarning(1202) << "Tempfile option is set, but URL is remote: " << url << endl;
- }
-
- aboutToOpenURL( url, args );
-
- m_pPart->openURL( url );
-
- updateHistoryEntry(false /* don't save location bar URL yet */);
- // add pending history entry
- KonqHistoryManager::kself()->addPending( url, locationBarURL, TQString::null);
-
-#ifdef DEBUG_HISTORY
- kdDebug(1202) << "Current position : " << m_lstHistory.at() << endl;
-#endif
-}
-
-void KonqView::switchView( KonqViewFactory &viewFactory )
-{
- kdDebug(1202) << "KonqView::switchView" << endl;
- if ( m_pPart )
- m_pPart->widget()->hide();
-
- KParts::ReadOnlyPart *oldPart = m_pPart;
- m_pPart = m_pKonqFrame->attach( viewFactory ); // creates the part
-
- // Set the statusbar in the BE asap to avoid a TDEMainWindow statusbar being created.
- KParts::StatusBarExtension* sbext = statusBarExtension();
- if ( sbext )
- sbext->setStatusBar( frame()->statusbar() );
-
- // Activate the new part
- if ( oldPart )
- {
- m_pPart->setName( oldPart->name() );
- emit sigPartChanged( this, oldPart, m_pPart );
- delete oldPart;
- }
-
- connectPart();
-
- TQVariant prop;
-
- prop = m_service->property( "X-TDE-BrowserView-FollowActive");
- if (prop.isValid() && prop.toBool())
- {
- //kdDebug(1202) << "KonqView::switchView X-TDE-BrowserView-FollowActive -> setFollowActive" <<endl;
- setFollowActive(true);
- }
-
- prop = m_service->property( "X-TDE-BrowserView-Built-Into" );
- m_bBuiltinView = (prop.isValid() && prop.toString() == "konqueror");
-
- if ( !m_pMainWindow->viewManager()->isLoadingProfile() )
- {
- // Honour "non-removeable passive mode" (like the dirtree)
- prop = m_service->property( "X-TDE-BrowserView-PassiveMode");
- if ( prop.isValid() && prop.toBool() )
- {
- kdDebug(1202) << "KonqView::switchView X-TDE-BrowserView-PassiveMode -> setPassiveMode" << endl;
- setPassiveMode( true ); // set as passive
- }
-
- // Honour "linked view"
- prop = m_service->property( "X-TDE-BrowserView-LinkedView");
- if ( prop.isValid() && prop.toBool() )
- {
- setLinkedView( true ); // set as linked
- // Two views : link both
- if (m_pMainWindow->viewCount() <= 2) // '1' can happen if this view is not yet in the map
- {
- KonqView * otherView = m_pMainWindow->otherView( this );
- if (otherView)
- otherView->setLinkedView( true );
- }
- }
- }
-
- prop = m_service->property( "X-TDE-BrowserView-HierarchicalView");
- if ( prop.isValid() && prop.toBool() )
- {
- kdDebug() << "KonqView::switchView X-TDE-BrowserView-HierarchicalView -> setHierarchicalView" << endl;
- setHierarchicalView( true ); // set as hierarchial
- }
- else
- {
- setHierarchicalView( false );
- }
-}
-
-bool KonqView::changeViewMode( const TQString &serviceType,
- const TQString &serviceName,
- bool forceAutoEmbed )
-{
- // Caller should call stop first.
- assert ( !m_bLoading );
-
- kdDebug(1202) << "changeViewMode: serviceType is " << serviceType
- << " serviceName is " << serviceName
- << " current service name is " << m_service->desktopEntryName() << endl;
-
- if ( KMimeType::mimeType(serviceType)->is(m_serviceType) && (serviceName.isEmpty() || serviceName == m_service->desktopEntryName()) )
- return true;
-
- if ( isLockedViewMode() )
- {
- //kdDebug(1202) << "This view's mode is locked - can't change" << endl;
- return false; // we can't do that if our view mode is locked
- }
-
- kdDebug(1202) << "Switching view modes..." << endl;
- TDETrader::OfferList partServiceOffers, appServiceOffers;
- KService::Ptr service = 0L;
- KonqViewFactory viewFactory = KonqFactory::createView( serviceType, serviceName, &service, &partServiceOffers, &appServiceOffers, forceAutoEmbed );
-
- if ( viewFactory.isNull() )
- {
- // Revert location bar's URL to the working one
- if(history().current())
- setLocationBarURL( history().current()->locationBarURL );
- return false;
- }
-
- m_serviceType = serviceType;
- m_partServiceOffers = partServiceOffers;
- m_appServiceOffers = appServiceOffers;
-
- // Check if that's already the kind of part we have -> no need to recreate it
- // Note: we should have an operator= for KService...
- if ( m_service && m_service->desktopEntryPath() == service->desktopEntryPath() )
- {
- kdDebug( 1202 ) << "KonqView::changeViewMode. Reusing service. Service type set to " << m_serviceType << endl;
- if ( m_pMainWindow->currentView() == this )
- m_pMainWindow->updateViewModeActions();
- }
- else
- {
- m_service = service;
-
- switchView( viewFactory );
- }
-
- if ( m_pMainWindow->viewManager()->activePart() != m_pPart )
- {
- // Make the new part active. Note that we don't do it each time we
- // open a URL (becomes awful in view-follows-view mode), but we do
- // each time we change the view mode.
- // We don't do it in switchView either because it's called from the constructor too,
- // where the location bar url isn't set yet.
- //kdDebug(1202) << "Giving focus to new part " << m_pPart << endl;
- m_pMainWindow->viewManager()->setActivePart( m_pPart );
- }
- return true;
-}
-
-void KonqView::connectPart( )
-{
- //kdDebug(1202) << "KonqView::connectPart" << endl;
- connect( m_pPart, TQT_SIGNAL( started( TDEIO::Job * ) ),
- this, TQT_SLOT( slotStarted( TDEIO::Job * ) ) );
- connect( m_pPart, TQT_SIGNAL( completed() ),
- this, TQT_SLOT( slotCompleted() ) );
- connect( m_pPart, TQT_SIGNAL( completed(bool) ),
- this, TQT_SLOT( slotCompleted(bool) ) );
- connect( m_pPart, TQT_SIGNAL( canceled( const TQString & ) ),
- this, TQT_SLOT( slotCanceled( const TQString & ) ) );
- connect( m_pPart, TQT_SIGNAL( setWindowCaption( const TQString & ) ),
- this, TQT_SLOT( setCaption( const TQString & ) ) );
-
- KParts::BrowserExtension *ext = browserExtension();
-
- if ( ext )
- {
- ext->setBrowserInterface( m_browserIface );
-
- connect( ext, TQT_SIGNAL( openURLRequestDelayed( const KURL &, const KParts::URLArgs &) ),
- m_pMainWindow, TQT_SLOT( slotOpenURLRequest( const KURL &, const KParts::URLArgs & ) ) );
-
- if ( m_bPopupMenuEnabled )
- {
- m_bPopupMenuEnabled = false; // force
- enablePopupMenu( true );
- }
-
- connect( ext, TQT_SIGNAL( setLocationBarURL( const TQString & ) ),
- this, TQT_SLOT( setLocationBarURL( const TQString & ) ) );
-
- connect( ext, TQT_SIGNAL( setIconURL( const KURL & ) ),
- this, TQT_SLOT( setIconURL( const KURL & ) ) );
-
- connect( ext, TQT_SIGNAL( setPageSecurity( int ) ),
- this, TQT_SLOT( setPageSecurity( int ) ) );
-
- connect( ext, TQT_SIGNAL( createNewWindow( const KURL &, const KParts::URLArgs & ) ),
- m_pMainWindow, TQT_SLOT( slotCreateNewWindow( const KURL &, const KParts::URLArgs & ) ) );
-
- connect( ext, TQT_SIGNAL( createNewWindow( const KURL &, const KParts::URLArgs &, const KParts::WindowArgs &, KParts::ReadOnlyPart *& ) ),
- m_pMainWindow, TQT_SLOT( slotCreateNewWindow( const KURL &, const KParts::URLArgs &, const KParts::WindowArgs &, KParts::ReadOnlyPart *& ) ) );
-
- connect( ext, TQT_SIGNAL( loadingProgress( int ) ),
- m_pKonqFrame->statusbar(), TQT_SLOT( slotLoadingProgress( int ) ) );
-
- connect( ext, TQT_SIGNAL( speedProgress( int ) ),
- m_pKonqFrame->statusbar(), TQT_SLOT( slotSpeedProgress( int ) ) );
-
- connect( ext, TQT_SIGNAL( selectionInfo( const KFileItemList & ) ),
- this, TQT_SLOT( slotSelectionInfo( const KFileItemList & ) ) );
-
- connect( ext, TQT_SIGNAL( mouseOverInfo( const KFileItem * ) ),
- this, TQT_SLOT( slotMouseOverInfo( const KFileItem * ) ) );
-
- connect( ext, TQT_SIGNAL( openURLNotify() ),
- this, TQT_SLOT( slotOpenURLNotify() ) );
-
- connect( ext, TQT_SIGNAL( enableAction( const char *, bool ) ),
- this, TQT_SLOT( slotEnableAction( const char *, bool ) ) );
-
- connect( ext, TQT_SIGNAL( setActionText( const char *, const TQString& ) ),
- this, TQT_SLOT( slotSetActionText( const char *, const TQString& ) ) );
-
- connect( ext, TQT_SIGNAL( moveTopLevelWidget( int, int ) ),
- this, TQT_SLOT( slotMoveTopLevelWidget( int, int ) ) );
-
- connect( ext, TQT_SIGNAL( resizeTopLevelWidget( int, int ) ),
- this, TQT_SLOT( slotResizeTopLevelWidget( int, int ) ) );
-
- connect( ext, TQT_SIGNAL( requestFocus(KParts::ReadOnlyPart *) ),
- this, TQT_SLOT( slotRequestFocus(KParts::ReadOnlyPart *) ) );
-
- if (service()->desktopEntryName() != "konq_sidebartng") {
- connect( ext, TQT_SIGNAL( infoMessage( const TQString & ) ),
- m_pKonqFrame->statusbar(), TQT_SLOT( message( const TQString & ) ) );
-
- connect( ext,
- TQT_SIGNAL( addWebSideBar(const KURL&, const TQString&) ),
- m_pMainWindow,
- TQT_SLOT( slotAddWebSideBar(const KURL&, const TQString&) ) );
- }
-
- callExtensionBoolMethod( "setSaveViewPropertiesLocally(bool)", m_pMainWindow->saveViewPropertiesLocally() );
- }
-
- TQVariant urlDropHandling;
-
- if ( ext )
- urlDropHandling = ext->property( "urlDropHandling" );
- else
- urlDropHandling = TQVariant( true, 0 );
-
- // Handle url drops if
- // a) either the property says "ok"
- // or
- // b) the part is a plain krop (no BE)
- m_bURLDropHandling = ( urlDropHandling.type() == TQVariant::Bool &&
- urlDropHandling.toBool() );
-
- m_pPart->widget()->installEventFilter( this );
-
- if (m_bBackRightClick && m_pPart->widget()->inherits(TQSCROLLVIEW_OBJECT_NAME_STRING) )
- {
- (static_cast<TQScrollView *>(m_pPart->widget()))->viewport()->installEventFilter( this );
- }
-
- // KonqDirPart signal
- if ( m_pPart->inherits("KonqDirPart") )
- {
- connect( m_pPart, TQT_SIGNAL( findOpen( KonqDirPart * ) ),
- m_pMainWindow, TQT_SLOT( slotFindOpen( KonqDirPart * ) ) );
- }
-}
-
-void KonqView::slotEnableAction( const char * name, bool enabled )
-{
- if ( m_pMainWindow->currentView() == this )
- m_pMainWindow->enableAction( name, enabled );
- // Otherwise, we don't have to do anything, the state of the action is
- // stored inside the browser-extension.
-}
-
-void KonqView::slotSetActionText( const char* name, const TQString& text )
-{
- if ( m_pMainWindow->currentView() == this )
- m_pMainWindow->setActionText( name, text );
- // Otherwise, we don't have to do anything, the state of the action is
- // stored inside the browser-extension.
-}
-
-void KonqView::slotMoveTopLevelWidget( int x, int y )
-{
- KonqFrameContainerBase* container = frame()->parentContainer();
- // If tabs are shown, only accept to move the whole window if there's only one tab.
- if ( container->frameType() != "Tabs" || static_cast<KonqFrameTabs*>(container)->count() == 1 )
- m_pMainWindow->move( x, y );
-}
-
-void KonqView::slotResizeTopLevelWidget( int w, int h )
-{
- KonqFrameContainerBase* container = frame()->parentContainer();
- // If tabs are shown, only accept to resize the whole window if there's only one tab.
- // ### Maybe we could store the size requested by each tab and resize the window to the biggest one.
- if ( container->frameType() != "Tabs" || static_cast<KonqFrameTabs*>(container)->count() == 1 )
- m_pMainWindow->resize( w, h );
-}
-
-void KonqView::slotStarted( TDEIO::Job * job )
-{
- //kdDebug(1202) << "KonqView::slotStarted" << job << endl;
- setLoading( true );
-
- if (job)
- {
- // Manage passwords properly...
- if (m_pMainWindow)
- {
- kdDebug(7035) << "slotStarted: Window ID = " << m_pMainWindow->topLevelWidget()->winId() << endl;
- job->setWindow (m_pMainWindow->topLevelWidget ());
- }
-
- connect( job, TQT_SIGNAL( percent( TDEIO::Job *, unsigned long ) ), this, TQT_SLOT( slotPercent( TDEIO::Job *, unsigned long ) ) );
- connect( job, TQT_SIGNAL( speed( TDEIO::Job *, unsigned long ) ), this, TQT_SLOT( slotSpeed( TDEIO::Job *, unsigned long ) ) );
- connect( job, TQT_SIGNAL( infoMessage( TDEIO::Job *, const TQString & ) ), this, TQT_SLOT( slotInfoMessage( TDEIO::Job *, const TQString & ) ) );
- }
-}
-
-void KonqView::slotRequestFocus( KParts::ReadOnlyPart * )
-{
- m_pMainWindow->viewManager()->showTab(this);
-}
-
-void KonqView::setLoading( bool loading, bool hasPending /*= false*/)
-{
- //kdDebug(1202) << "KonqView::setLoading loading=" << loading << " hasPending=" << hasPending << endl;
- m_bLoading = loading;
- m_bPendingRedirection = hasPending;
- if ( m_pMainWindow->currentView() == this )
- m_pMainWindow->updateToolBarActions( hasPending );
-
- m_pMainWindow->viewManager()->setLoading( this, loading || hasPending );
-}
-
-void KonqView::slotPercent( TDEIO::Job *, unsigned long percent )
-{
- m_pKonqFrame->statusbar()->slotLoadingProgress( percent );
-}
-
-void KonqView::slotSpeed( TDEIO::Job *, unsigned long bytesPerSecond )
-{
- m_pKonqFrame->statusbar()->slotSpeedProgress( bytesPerSecond );
-}
-
-void KonqView::slotInfoMessage( TDEIO::Job *, const TQString &msg )
-{
- m_pKonqFrame->statusbar()->message( msg );
-}
-
-void KonqView::slotCompleted()
-{
- slotCompleted( false );
-}
-
-void KonqView::slotCompleted( bool hasPending )
-{
- //kdDebug(1202) << "KonqView::slotCompleted hasPending=" << hasPending << endl;
- m_pKonqFrame->statusbar()->slotLoadingProgress( -1 );
-
- if ( ! m_bLockHistory )
- {
- // Success... update history entry, including location bar URL
- updateHistoryEntry( true );
-
- if ( m_bAborted ) // remove the pending entry on error
- KonqHistoryManager::kself()->removePending( url() );
- else if ( m_lstHistory.current() ) // register as proper history entry
- KonqHistoryManager::kself()->confirmPending(url(), typedURL(),
- m_lstHistory.current()->title);
-
- emit viewCompleted( this );
- }
- setLoading( false, hasPending );
-
- if (!m_bGotIconURL && !m_bAborted)
- {
- if ( KonqSettings::enableFavicon() == true )
- {
- // Try to get /favicon.ico
- if ( supportsServiceType( "text/html" ) && url().protocol().startsWith( "http" ) )
- KonqPixmapProvider::downloadHostIcon( url() );
- }
- }
-}
-
-void KonqView::slotCanceled( const TQString & errorMsg )
-{
- kdDebug(1202) << "KonqView::slotCanceled" << endl;
- // The errorMsg comes from the ReadOnlyPart's job.
- // It should probably be used in a KMessageBox
- // Let's use the statusbar for now
- m_pKonqFrame->statusbar()->message( errorMsg );
- m_bAborted = true;
- slotCompleted();
-}
-
-void KonqView::slotSelectionInfo( const KFileItemList &items )
-{
- KonqFileSelectionEvent ev( items, m_pPart );
- TQApplication::sendEvent( m_pMainWindow, &ev );
-}
-
-void KonqView::slotMouseOverInfo( const KFileItem *item )
-{
- KonqFileMouseOverEvent ev( item, m_pPart );
- TQApplication::sendEvent( m_pMainWindow, &ev );
-}
-
-void KonqView::setLocationBarURL( const KURL& locationBarURL )
-{
- setLocationBarURL( locationBarURL.pathOrURL() );
-}
-
-void KonqView::setLocationBarURL( const TQString & locationBarURL )
-{
- //kdDebug(1202) << "KonqView::setLocationBarURL " << locationBarURL << " this=" << this << endl;
-
- m_sLocationBarURL = locationBarURL;
- if ( m_pMainWindow->currentView() == this )
- {
- //kdDebug(1202) << "is current view " << this << endl;
- m_pMainWindow->setLocationBarURL( m_sLocationBarURL );
- m_pMainWindow->setPageSecurity( m_pageSecurity );
- }
- if (!m_bPassiveMode) setTabIcon( KURL::fromPathOrURL( m_sLocationBarURL ) );
-}
-
-void KonqView::setIconURL( const KURL & iconURL )
-// This function sets the favIcon in konqui's window if enabled,
-// thus it is responsible for the icon in the taskbar.
-// It does not set the tab's favIcon.
-{
- kdDebug(1202) << "entering KonqView::setIconURL" << endl;
- if ( KonqSettings::enableFavicon() )
- {
- KonqPixmapProvider::setIconForURL( KURL( m_sLocationBarURL ), iconURL );
- m_bGotIconURL = true;
- }
-}
-
-void KonqView::setPageSecurity( int pageSecurity )
-{
- m_pageSecurity = (KonqMainWindow::PageSecurity)pageSecurity;
-
- if ( m_pMainWindow->currentView() == this )
- m_pMainWindow->setPageSecurity( m_pageSecurity );
-}
-
-void KonqView::setTabIcon( const KURL &url )
-{
- if (!m_bPassiveMode) frame()->setTabIcon( url, 0L );
-}
-
-void KonqView::setCaption( const TQString & caption )
-{
- if (caption.isEmpty()) return;
-
- TQString adjustedCaption = caption;
- // For local URLs we prefer to use only the directory name
- if (url().isLocalFile())
- {
- // Is the caption a URL? If so, is it local? If so, only display the filename!
- KURL url = KURL::fromPathOrURL(caption);
- if (url.isValid() && url.isLocalFile() && url.fileName() == this->url().fileName())
- adjustedCaption = url.fileName();
- }
-
- m_caption = adjustedCaption;
- if (!m_bPassiveMode) frame()->setTitle( adjustedCaption , 0L );
-}
-
-void KonqView::slotOpenURLNotify()
-{
-#ifdef DEBUG_HISTORY
- kdDebug(1202) << "KonqView::slotOpenURLNotify" << endl;
-#endif
- updateHistoryEntry(true);
- createHistoryEntry();
- if ( m_pMainWindow->currentView() == this )
- m_pMainWindow->updateToolBarActions();
-}
-
-void KonqView::createHistoryEntry()
-{
- // First, remove any forward history
- HistoryEntry * current = m_lstHistory.current();
- if (current)
- {
-#ifdef DEBUG_HISTORY
- kdDebug(1202) << "Truncating history" << endl;
-#endif
- m_lstHistory.at( m_lstHistory.count() - 1 ); // go to last one
- for ( ; m_lstHistory.current() != current ; )
- {
- if ( !m_lstHistory.removeLast() ) // and remove from the end (faster and easier)
- assert(0);
- // go to last one. The documentation says that removeLast()
- // makes current() null if it's the last item. however in qt2
- // the behaviour was different than the documentation. this is
- // changed in qt3 to behave as documented ;-) (Simon)
- m_lstHistory.at( m_lstHistory.count() - 1 );
- }
- // Now current is the current again.
- }
- // Append a new entry
-#ifdef DEBUG_HISTORY
- kdDebug(1202) << "Append a new entry" << endl;
-#endif
- m_lstHistory.append( new HistoryEntry ); // made current
-#ifdef DEBUG_HISTORY
- kdDebug(1202) << "at=" << m_lstHistory.at() << " count=" << m_lstHistory.count() << endl;
-#endif
- assert( m_lstHistory.at() == (int) m_lstHistory.count() - 1 );
-}
-
-void KonqView::updateHistoryEntry( bool saveLocationBarURL )
-{
- Q_ASSERT( !m_bLockHistory ); // should never happen
-
- HistoryEntry * current = m_lstHistory.current();
- if ( !current )
- return;
-
- if ( browserExtension() )
- {
- current->buffer = TQByteArray(); // Start with empty buffer.
- TQDataStream stream( current->buffer, IO_WriteOnly );
-
- browserExtension()->saveState( stream );
- }
-
-#ifdef DEBUG_HISTORY
- kdDebug(1202) << "Saving part URL : " << m_pPart->url() << " in history position " << m_lstHistory.at() << endl;
-#endif
- current->url = m_pPart->url();
-
- if (saveLocationBarURL)
- {
-#ifdef DEBUG_HISTORY
- kdDebug(1202) << "Saving location bar URL : " << m_sLocationBarURL << " in history position " << m_lstHistory.at() << endl;
-#endif
- current->locationBarURL = m_sLocationBarURL;
- current->pageSecurity = m_pageSecurity;
- }
-#ifdef DEBUG_HISTORY
- kdDebug(1202) << "Saving title : " << m_caption << " in history position " << m_lstHistory.at() << endl;
-#endif
- current->title = m_caption;
- current->strServiceType = m_serviceType;
- current->strServiceName = m_service->desktopEntryName();
-
- current->doPost = m_doPost;
- current->postData = m_doPost ? m_postData : TQByteArray();
- current->postContentType = m_doPost ? m_postContentType : TQString::null;
- current->pageReferrer = m_pageReferrer;
-}
-
-void KonqView::goHistory( int steps )
-{
- // This is called by KonqBrowserInterface
- if ( m_pMainWindow->currentView() == this )
- m_pMainWindow->viewManager()->setActivePart( part() );
-
- // Delay the go() call (we need to return to the caller first)
- m_pMainWindow->slotGoHistoryActivated( steps );
-}
-
-void KonqView::go( int steps )
-{
- if ( !steps ) // [WildFox] i bet there are sites on the net with stupid devs who do that :)
- {
-#ifdef DEBUG_HISTORY
- kdDebug(1202) << "KonqView::go(0)" << endl;
-#endif
- // [David] and you're right. And they expect that it reloads, apparently.
- // [George] I'm going to make nspluginviewer rely on this too. :-)
- m_pMainWindow->slotReload();
- return;
- }
-
- int newPos = m_lstHistory.at() + steps;
-#ifdef DEBUG_HISTORY
- kdDebug(1202) << "go : steps=" << steps
- << " newPos=" << newPos
- << " m_lstHistory.count()=" << m_lstHistory.count()
- << endl;
-#endif
- if( newPos < 0 || (uint)newPos >= m_lstHistory.count() )
- return;
-
- stop();
-
- // Yay, we can move there without a loop !
- HistoryEntry *currentHistoryEntry = m_lstHistory.at( newPos ); // sets current item
-
- assert( currentHistoryEntry );
- assert( newPos == m_lstHistory.at() ); // check we moved (i.e. if I understood the docu)
- assert( currentHistoryEntry == m_lstHistory.current() );
-#ifdef DEBUG_HISTORY
- kdDebug(1202) << "New position " << m_lstHistory.at() << endl;
-#endif
-
- restoreHistory();
-}
-
-void KonqView::restoreHistory()
-{
- HistoryEntry h( *(m_lstHistory.current()) ); // make a copy of the current history entry, as the data
- // the pointer points to will change with the following calls
-
-#ifdef DEBUG_HISTORY
- kdDebug(1202) << "Restoring servicetype/name, and location bar URL from history : " << h.locationBarURL << endl;
-#endif
- setLocationBarURL( h.locationBarURL );
- setPageSecurity( h.pageSecurity );
- m_sTypedURL = TQString::null;
- if ( ! changeViewMode( h.strServiceType, h.strServiceName ) )
- {
- kdWarning(1202) << "Couldn't change view mode to " << h.strServiceType
- << " " << h.strServiceName << endl;
- return /*false*/;
- }
-
- setServiceTypeInExtension();
-
- aboutToOpenURL( h.url );
-
- if ( browserExtension() )
- {
- //kdDebug(1202) << "Restoring view from stream" << endl;
- TQDataStream stream( h.buffer, IO_ReadOnly );
-
- browserExtension()->restoreState( stream );
-
- m_doPost = h.doPost;
- m_postContentType = h.postContentType;
- m_postData = h.postData;
- m_pageReferrer = h.pageReferrer;
- }
- else
- m_pPart->openURL( h.url );
-
- if ( m_pMainWindow->currentView() == this )
- m_pMainWindow->updateToolBarActions();
-
-#ifdef DEBUG_HISTORY
- kdDebug(1202) << "New position (2) " << m_lstHistory.at() << endl;
-#endif
-}
-
-const HistoryEntry * KonqView::historyAt(const int pos)
-{
- if(pos<0 || pos>=(int)m_lstHistory.count())
- return 0L;
- int oldpos = m_lstHistory.at();
- const HistoryEntry* h = m_lstHistory.at(pos);
- m_lstHistory.at( oldpos );
- return h;
-}
-
-void KonqView::copyHistory( KonqView *other )
-{
- m_lstHistory.clear();
-
- TQPtrListIterator<HistoryEntry> it( other->m_lstHistory );
- for (; it.current(); ++it )
- m_lstHistory.append( new HistoryEntry( *it.current() ) );
- m_lstHistory.at(other->m_lstHistory.at());
-}
-
-KURL KonqView::url() const
-{
- assert( m_pPart );
- return m_pPart->url();
-}
-
-KURL KonqView::upURL() const
-{
- KURL currentURL;
- if ( m_pRun )
- currentURL = m_pRun->url();
- else
- currentURL = KURL::fromPathOrURL( m_sLocationBarURL );
- return currentURL.upURL();
-}
-
-void KonqView::setRun( KonqRun * run )
-{
- if ( m_pRun )
- {
- // Tell the KonqRun to abort, but don't delete it ourselves.
- // It could be showing a message box right now. It will delete itself anyway.
- m_pRun->abort();
- // finish() will be emitted later (when back to event loop)
- // and we don't want it to call slotRunFinished (which stops the animation and stop button).
- m_pRun->disconnect( m_pMainWindow );
- if ( !run )
- frame()->unsetCursor();
- }
- else if ( run )
- frame()->setCursor( KCursor::workingCursor() );
- m_pRun = run;
-}
-
-void KonqView::stop()
-{
- //kdDebug(1202) << "KonqView::stop()" << endl;
- m_bAborted = false;
- finishedWithCurrentURL();
- if ( m_bLoading || m_bPendingRedirection )
- {
- // aborted -> confirm the pending url. We might as well remove it, but
- // we decided to keep it :)
- KonqHistoryManager::kself()->confirmPending( url(), m_sTypedURL );
-
- //kdDebug(1202) << "m_pPart->closeURL()" << endl;
- m_pPart->closeURL();
- m_bAborted = true;
- m_pKonqFrame->statusbar()->slotLoadingProgress( -1 );
- setLoading( false, false );
- }
- if ( m_pRun )
- {
- // Revert to working URL - unless the URL was typed manually
- // This is duplicated with KonqMainWindow::slotRunFinished, but we can't call it
- // since it relies on sender()...
- if ( history().current() && m_pRun->typedURL().isEmpty() ) { // not typed
- setLocationBarURL( history().current()->locationBarURL );
- setPageSecurity( history().current()->pageSecurity );
- }
-
- setRun( 0L );
- m_pKonqFrame->statusbar()->slotLoadingProgress( -1 );
- }
- if ( !m_bLockHistory && m_lstHistory.count() > 0 )
- updateHistoryEntry(true);
-}
-
-void KonqView::finishedWithCurrentURL()
-{
- if ( !m_tempFile.isEmpty() )
- {
- kdDebug(1202) << "######### Deleting tempfile after use:" << m_tempFile << endl;
- TQFile::remove( m_tempFile );
- m_tempFile = TQString::null;
- }
-}
-
-void KonqView::setPassiveMode( bool mode )
-{
- // In theory, if m_bPassiveMode is true and mode is false,
- // the part should be removed from the part manager,
- // and if the other way round, it should be readded to the part manager...
- m_bPassiveMode = mode;
-
- if ( mode && m_pMainWindow->viewCount() > 1 && m_pMainWindow->currentView() == this )
- {
- KParts::Part * part = m_pMainWindow->viewManager()->chooseNextView( this )->part(); // switch active part
- m_pMainWindow->viewManager()->setActivePart( part );
- }
-
- // Update statusbar stuff
- m_pMainWindow->viewManager()->viewCountChanged();
-}
-
-void KonqView::setHierarchicalView( bool mode )
-{
- m_bHierarchicalView=mode;
-}
-
-
-
-void KonqView::setLinkedView( bool mode )
-{
- m_bLinkedView = mode;
- if ( m_pMainWindow->currentView() == this )
- m_pMainWindow->linkViewAction()->setChecked( mode );
- frame()->statusbar()->setLinkedView( mode );
-}
-
-void KonqView::setLockedLocation( bool b )
-{
- m_bLockedLocation = b;
-}
-
-void KonqView::aboutToOpenURL( const KURL &url, const KParts::URLArgs &args )
-{
- KParts::OpenURLEvent ev( m_pPart, url, args );
- TQApplication::sendEvent( m_pMainWindow, &ev );
-
- m_bGotIconURL = false;
- m_bAborted = false;
-}
-
-void KonqView::setServiceTypeInExtension()
-{
- KParts::BrowserExtension *ext = browserExtension();
- if ( !ext )
- return;
-
- KParts::URLArgs args( ext->urlArgs() );
- args.serviceType = m_serviceType;
- ext->setURLArgs( args );
-}
-
-TQStringList KonqView::frameNames() const
-{
- return childFrameNames( m_pPart );
-}
-
-TQStringList KonqView::childFrameNames( KParts::ReadOnlyPart *part )
-{
- TQStringList res;
-
- KParts::BrowserHostExtension *hostExtension = KParts::BrowserHostExtension::childObject( part );
-
- if ( !hostExtension )
- return res;
-
- res += hostExtension->frameNames();
-
- const TQPtrList<KParts::ReadOnlyPart> children = hostExtension->frames();
- TQPtrListIterator<KParts::ReadOnlyPart> it( children );
- for (; it.current(); ++it )
- res += childFrameNames( it.current() );
-
- return res;
-}
-
-KParts::BrowserHostExtension* KonqView::hostExtension( KParts::ReadOnlyPart *part, const TQString &name )
-{
- KParts::BrowserHostExtension *ext = KParts::BrowserHostExtension::childObject( part );
-
- if ( !ext )
- return 0;
-
- if ( ext->frameNames().contains( name ) )
- return ext;
-
- const TQPtrList<KParts::ReadOnlyPart> children = ext->frames();
- TQPtrListIterator<KParts::ReadOnlyPart> it( children );
- for (; it.current(); ++it )
- {
- KParts::BrowserHostExtension *childHost = hostExtension( it.current(), name );
- if ( childHost )
- return childHost;
- }
-
- return 0;
-}
-
-bool KonqView::callExtensionMethod( const char *methodName )
-{
- TQObject *obj = KParts::BrowserExtension::childObject( m_pPart );
- if ( !obj ) // not all views have a browser extension !
- return false;
-
- int id = obj->metaObject()->findSlot( methodName );
- if ( id == -1 )
- return false;
- TQUObject o[ 1 ];
-
- obj->tqt_invoke( id, o );
- return true;
-}
-
-bool KonqView::callExtensionBoolMethod( const char *methodName, bool value )
-{
- TQObject *obj = KParts::BrowserExtension::childObject( m_pPart );
- if ( !obj ) // not all views have a browser extension !
- return false;
-
- int id = obj->metaObject()->findSlot( methodName );
- if ( id == -1 )
- return false;
- TQUObject o[ 2 ];
-
- static_TQUType_bool.set( o + 1, value );
-
- obj->tqt_invoke( id, o );
- return true;
-}
-
-bool KonqView::callExtensionStringMethod( const char *methodName, TQString value )
-{
- TQObject *obj = KParts::BrowserExtension::childObject( m_pPart );
- if ( !obj ) // not all views have a browser extension !
- return false;
-
- int id = obj->metaObject()->findSlot( methodName );
- if ( id == -1 )
- return false;
- TQUObject o[ 2 ];
-
- static_TQUType_TQString.set( o + 1, value );
-
- obj->tqt_invoke( id, o );
- return true;
-}
-
-bool KonqView::callExtensionURLMethod( const char *methodName, const KURL& value )
-{
- TQObject *obj = KParts::BrowserExtension::childObject( m_pPart );
- if ( !obj ) // not all views have a browser extension !
- return false;
-
- int id = obj->metaObject()->findSlot( methodName );
- if ( id == -1 )
- return false;
- TQUObject o[ 2 ];
-
- static_TQUType_ptr.set( o + 1, &value );
-
- obj->tqt_invoke( id, o );
- return true;
-}
-
-void KonqView::setViewName( const TQString &name )
-{
- //kdDebug() << "KonqView::setViewName this=" << this << " name=" << name << endl;
- if ( m_pPart )
- m_pPart->setName( name.local8Bit().data() );
-}
-
-TQString KonqView::viewName() const
-{
- return m_pPart ? TQString::fromLocal8Bit( m_pPart->name() ) : TQString();
-}
-
-void KonqView::enablePopupMenu( bool b )
-{
- Q_ASSERT( m_pMainWindow );
-
- KParts::BrowserExtension *ext = browserExtension();
-
- if ( !ext )
- return;
-
- if ( m_bPopupMenuEnabled == b )
- return;
-
- // enable context popup
- if ( b ) {
- m_bPopupMenuEnabled = true;
-
- connect( ext, TQT_SIGNAL( popupMenu( const TQPoint &, const KFileItemList & ) ),
- m_pMainWindow, TQT_SLOT( slotPopupMenu( const TQPoint &, const KFileItemList & ) ) );
-
- connect( ext, TQT_SIGNAL( popupMenu( const TQPoint &, const KURL &, const TQString &, mode_t ) ),
- m_pMainWindow, TQT_SLOT( slotPopupMenu( const TQPoint &, const KURL &, const TQString &, mode_t ) ) );
-
- connect( ext, TQT_SIGNAL( popupMenu( KXMLGUIClient *, const TQPoint &, const KFileItemList & ) ),
- m_pMainWindow, TQT_SLOT( slotPopupMenu( KXMLGUIClient *, const TQPoint &, const KFileItemList & ) ) );
-
- connect( ext, TQT_SIGNAL( popupMenu( KXMLGUIClient *, const TQPoint &, const KFileItemList &, const KParts::URLArgs &, KParts::BrowserExtension::PopupFlags ) ),
- m_pMainWindow, TQT_SLOT( slotPopupMenu( KXMLGUIClient *, const TQPoint &, const KFileItemList &, const KParts::URLArgs &, KParts::BrowserExtension::PopupFlags ) ) );
-
- connect( ext, TQT_SIGNAL( popupMenu( KXMLGUIClient *, const TQPoint &, const KURL &, const TQString &, mode_t ) ),
- m_pMainWindow, TQT_SLOT( slotPopupMenu( KXMLGUIClient *, const TQPoint &, const KURL &, const TQString &, mode_t ) ) );
-
- connect( ext, TQT_SIGNAL( popupMenu( KXMLGUIClient *, const TQPoint &, const KURL &, const KParts::URLArgs &, KParts::BrowserExtension::PopupFlags, mode_t ) ),
- m_pMainWindow, TQT_SLOT( slotPopupMenu( KXMLGUIClient *, const TQPoint &, const KURL &, const KParts::URLArgs &, KParts::BrowserExtension::PopupFlags, mode_t ) ) );
- }
- else // disable context popup
- {
- m_bPopupMenuEnabled = false;
-
- disconnect( ext, TQT_SIGNAL( popupMenu( const TQPoint &, const KFileItemList & ) ),
- m_pMainWindow, TQT_SLOT( slotPopupMenu( const TQPoint &, const KFileItemList & ) ) );
-
- disconnect( ext, TQT_SIGNAL( popupMenu( const TQPoint &, const KURL &, const TQString &, mode_t ) ),
- m_pMainWindow, TQT_SLOT( slotPopupMenu( const TQPoint &, const KURL &, const TQString &, mode_t ) ) );
-
- disconnect( ext, TQT_SIGNAL( popupMenu( KXMLGUIClient *, const TQPoint &, const KFileItemList & ) ),
- m_pMainWindow, TQT_SLOT( slotPopupMenu( KXMLGUIClient *, const TQPoint &, const KFileItemList & ) ) );
-
- disconnect( ext, TQT_SIGNAL( popupMenu( KXMLGUIClient *, const TQPoint &, const KURL &, const TQString &, mode_t ) ),
- m_pMainWindow, TQT_SLOT( slotPopupMenu( KXMLGUIClient *, const TQPoint &, const KURL &, const TQString &, mode_t ) ) );
- }
- enableBackRightClick( m_bBackRightClick );
-}
-
-// caller should ensure that this is called only when b changed, or for new parts
-void KonqView::enableBackRightClick( bool b )
-{
- m_bBackRightClick = b;
- if ( b )
- connect( this, TQT_SIGNAL( backRightClick() ),
- m_pMainWindow, TQT_SLOT( slotBack() ) );
- else
- disconnect( this, TQT_SIGNAL( backRightClick() ),
- m_pMainWindow, TQT_SLOT( slotBack() ) );
-}
-
-void KonqView::reparseConfiguration()
-{
- callExtensionMethod( "reparseConfiguration()" );
- bool b = KonqSettings::backRightClick();
- if ( m_bBackRightClick != b )
- {
- if (m_bBackRightClick && m_pPart->widget()->inherits(TQSCROLLVIEW_OBJECT_NAME_STRING) )
- {
- (static_cast<TQScrollView *>(m_pPart->widget()))->viewport()->installEventFilter( this );
- }
- enableBackRightClick( b );
- }
-}
-
-void KonqView::disableScrolling()
-{
- m_bDisableScrolling = true;
- callExtensionMethod( "disableScrolling()" );
-}
-
-KonqViewIface * KonqView::dcopObject()
-{
- if ( !m_dcopObject ) {
- TQCString dcopName = name();
- if ( dcopName.isEmpty() || dcopName == "unnamed" )
- dcopName = viewName().utf8();
- if ( dcopName.isEmpty() || dcopName == "unnamed" ) {
- TQVariant dcopProperty = part()->property( "dcopObjectId" );
- if ( dcopProperty.type() == TQVariant::CString )
- dcopName = dcopProperty.toCString();
- }
- dcopName += "-view"; // to avoid having the same name as the part
- m_dcopObject = new KonqViewIface( this, dcopName );
- }
- return m_dcopObject;
-}
-
-bool KonqView::eventFilter( TQObject *obj, TQEvent *e )
-{
- if ( !m_pPart )
- return false;
-// kdDebug() << "--" << obj->className() << "--" << e->type() << "--" << endl;
- if ( e->type() == TQEvent::DragEnter && m_bURLDropHandling && TQT_BASE_OBJECT(obj) == TQT_BASE_OBJECT(m_pPart->widget()) )
- {
- TQDragEnterEvent *ev = static_cast<TQDragEnterEvent *>( e );
-
- if ( KURLDrag::canDecode( ev ) )
- {
- KURL::List lstDragURLs;
- bool ok = KURLDrag::decode( ev, lstDragURLs );
-
- TQObjectList *children = m_pPart->widget()->queryList( TQWIDGET_OBJECT_NAME_STRING );
-
- if ( ok &&
- !lstDragURLs.first().url().contains( "javascript:", false ) && // ### this looks like a hack to me
- ev->source() != m_pPart->widget() &&
- children &&
- children->findRef( TQT_TQOBJECT(ev->source()) ) == -1 )
- ev->acceptAction();
-
- delete children;
- }
- }
- else if ( e->type() == TQEvent::Drop && m_bURLDropHandling && TQT_BASE_OBJECT(obj) == TQT_BASE_OBJECT(m_pPart->widget()) )
- {
- TQDropEvent *ev = static_cast<TQDropEvent *>( e );
-
- KURL::List lstDragURLs;
- bool ok = KURLDrag::decode( ev, lstDragURLs );
-
- KParts::BrowserExtension *ext = browserExtension();
- if ( ok && ext && lstDragURLs.first().isValid() )
- emit ext->openURLRequest( lstDragURLs.first() ); // this will call m_pMainWindow::slotOpenURLRequest delayed
- }
-
- if ( m_bBackRightClick )
- {
- if ( e->type() == TQEvent::ContextMenu )
- {
- TQContextMenuEvent *ev = TQT_TQCONTEXTMENUEVENT( e );
- if ( ev->reason() == TQContextMenuEvent::Mouse )
- {
- return true;
- }
- }
- else if ( e->type() == TQEvent::MouseButtonPress )
- {
- TQMouseEvent *ev = TQT_TQMOUSEEVENT( e );
- if ( ev->button() == Qt::RightButton )
- {
- return true;
- }
- }
- else if ( e->type() == TQEvent::MouseButtonRelease )
- {
- TQMouseEvent *ev = TQT_TQMOUSEEVENT( e );
- if ( ev->button() == Qt::RightButton )
- {
- emit backRightClick();
- return true;
- }
- }
- else if ( e->type() == TQEvent::MouseMove )
- {
- TQMouseEvent *ev = TQT_TQMOUSEEVENT( e );
- if ( ev->state() == Qt::RightButton )
- {
- obj->removeEventFilter( this );
- TQMouseEvent me( TQEvent::MouseButtonPress, ev->pos(), 2, 2 );
- TQApplication::sendEvent( obj, &me );
- TQContextMenuEvent ce( TQContextMenuEvent::Mouse, ev->pos(), 2 );
- TQApplication::sendEvent( obj, &ce );
- obj->installEventFilter( this );
- return true;
- }
- }
- }
-
- if ( e->type() == TQEvent::FocusIn )
- {
- setActiveInstance();
- }
- return false;
-}
-
-void KonqView::setActiveInstance()
-{
- if ( m_bBuiltinView || !m_pPart->instance() /*never!*/)
- TDEGlobal::_activeInstance = TDEGlobal::instance();
- else
- TDEGlobal::_activeInstance = m_pPart->instance();
-}
-
-bool KonqView::prepareReload( KParts::URLArgs& args )
-{
- args.reload = true;
- // Repost form data if this URL is the result of a POST HTML form.
- if ( m_doPost && !args.redirectedRequest() )
- {
- if ( KMessageBox::warningContinueCancel( 0, i18n(
- "The page you are trying to view is the result of posted form data. "
- "If you resend the data, any action the form carried out (such as search or online purchase) will be repeated. "),
- i18n( "Warning" ), i18n( "Resend" ) ) == KMessageBox::Continue )
- {
- args.setDoPost( true );
- args.setContentType( m_postContentType );
- args.postData = m_postData;
- }
- else
- return false;
- }
- // Re-set referrer
- args.metaData()["referrer"] = m_pageReferrer;
-
- return true;
-}
-
-KParts::BrowserExtension * KonqView::browserExtension() const
-{
- return KParts::BrowserExtension::childObject( m_pPart );
-}
-
-KParts::StatusBarExtension * KonqView::statusBarExtension() const
-{
- return KParts::StatusBarExtension::childObject( m_pPart );
-}
-
-bool KonqView::supportsServiceType( const TQString &serviceType ) const
-{
- const TQStringList lst = serviceTypes();
- for( TQStringList::ConstIterator it = lst.begin(); it != lst.end(); ++it ) {
- if ( *it == serviceType )
- return true;
- // Maybe we should keep around a list of KServiceType::Ptr?
- KMimeType::Ptr mime = KMimeType::mimeType( *it );
- if ( mime && mime->is( serviceType ) ) // respect inheritance
- return true;
- }
- return false;
-}
-
-#include "konq_view.moc"