browserrun.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef kparts_browserrun_h
00020 #define kparts_browserrun_h
00021
00022 #include <krun.h>
00023 #include <kservice.h>
00024 #include <kparts/browserextension.h>
00025
00026 namespace KParts {
00027
00039 class BrowserRun : public KRun
00040 {
00041 Q_OBJECT
00042 public:
00052 BrowserRun( const KURL& url, const KParts::URLArgs& args,
00053 KParts::ReadOnlyPart *part, QWidget *window,
00054 bool removeReferrer, bool trustedSource );
00055
00056
00067 BrowserRun( const KURL& url, const KParts::URLArgs& args,
00068 KParts::ReadOnlyPart *part, QWidget *window,
00069 bool removeReferrer, bool trustedSource, bool hideErrorDialog );
00070
00071 virtual ~BrowserRun();
00072
00073
00074
00075 KURL url() const { return m_strURL; }
00076
00077 bool hideErrorDialog() const;
00078
00079 enum AskSaveResult { Save, Open, Cancel };
00080 static AskSaveResult askSave( const KURL & url, KService::Ptr offer, const QString& mimeType, const QString & suggestedFilename = QString::null );
00081
00082
00083 virtual void save( const KURL & url, const QString & suggestedFilename );
00084
00085 static void simpleSave( const KURL & url, const QString & suggestedFilename );
00086
00087 static bool allowExecution( const QString &serviceType, const KURL &url );
00088
00089 static bool isExecutable( const QString &serviceType );
00090 static bool isTextExecutable( const QString &serviceType );
00091
00092 protected:
00096 virtual void scanFile();
00100 virtual void init();
00108 virtual void handleError( KIO::Job * job );
00109
00114 enum NonEmbeddableResult { Handled, NotHandled, Delayed };
00118 NonEmbeddableResult handleNonEmbeddable( const QString& mimeType );
00119
00120 protected slots:
00121 void slotBrowserScanFinished(KIO::Job *job);
00122 void slotBrowserMimetype(KIO::Job *job, const QString &type);
00123 void slotCopyToTempFileResult(KIO::Job *job);
00124 virtual void slotStatResult( KIO::Job *job );
00125
00126 protected:
00127 KParts::URLArgs m_args;
00128 KParts::ReadOnlyPart *m_part;
00129 QWidget *m_window;
00130 QString m_suggestedFilename;
00131 QString m_sMimeType;
00132 bool m_bRemoveReferrer;
00133 bool m_bTrustedSource;
00134 private:
00135 class BrowserRunPrivate;
00136 BrowserRunPrivate* d;
00137
00138 };
00139 }
00140 #endif
This file is part of the documentation for kdelibs Version 3.1.4.