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