khtml_run.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include "khtml_run.h"
00024 #include <kio/job.h>
00025 #include <kdebug.h>
00026 #include <klocale.h>
00027 #include "khtml_ext.h"
00028 #include <qwidget.h>
00029
00030 KHTMLRun::KHTMLRun( KHTMLPart *part, khtml::ChildFrame *child, const KURL &url,
00031 const KParts::URLArgs &args, bool hideErrorDialog )
00032 : KParts::BrowserRun( url, args, part, part->widget() ? part->widget()->topLevelWidget() : 0,
00033 false, false, hideErrorDialog ),
00034 m_child( child )
00035 {
00036
00037 part->started(0L);
00038 }
00039
00040
00041
00042
00043 void KHTMLRun::foundMimeType( const QString &_type )
00044 {
00045 Q_ASSERT(!m_bFinished);
00046 QString mimeType = _type;
00047 if ( static_cast<KHTMLPart *>(m_part)->processObjectRequest( m_child, m_strURL, mimeType ) )
00048 m_bFinished = true;
00049 else {
00050 if ( m_bFinished )
00051 return;
00052
00053 KParts::BrowserRun::NonEmbeddableResult res = handleNonEmbeddable( mimeType );
00054 if ( res == KParts::BrowserRun::Delayed )
00055 return;
00056 m_bFinished = ( res == KParts::BrowserRun::Handled );
00057 if ( m_bFinished )
00058 emit static_cast<KHTMLPart *>(m_part)->canceled(QString::null);
00059 }
00060
00061 if ( m_bFinished )
00062 {
00063 m_timer.start( 0, true );
00064 return;
00065 }
00066
00067
00068 KRun::foundMimeType( mimeType );
00069 }
00070
00071 void KHTMLRun::save( const KURL & url, const QString & suggestedFilename )
00072 {
00073 KHTMLPopupGUIClient::saveURL( m_part->widget(), i18n( "Save As..." ), url, m_args.metaData(), QString::null, 0, suggestedFilename );
00074 }
00075
00076 void KHTMLRun::handleError( KIO::Job *job )
00077 {
00078 if ( hideErrorDialog() ) {
00079
00080 static_cast<KHTMLPart *>(m_part)->processObjectRequest( m_child, KURL(), QString::null );
00081 m_job = 0;
00082 m_bFault = true;
00083 m_bFinished = true;
00084 m_timer.start( 0, true );
00085 } else {
00086 Q_ASSERT( job );
00087 Q_ASSERT( job->error() );
00088 KRun::slotScanFinished( job );
00089 }
00090 }
00091
00092 #include "khtml_run.moc"
This file is part of the documentation for kdelibs Version 3.1.4.