summaryrefslogtreecommitdiffstats
path: root/kparts/browserrun.h
diff options
context:
space:
mode:
Diffstat (limited to 'kparts/browserrun.h')
-rw-r--r--kparts/browserrun.h194
1 files changed, 0 insertions, 194 deletions
diff --git a/kparts/browserrun.h b/kparts/browserrun.h
deleted file mode 100644
index 23709fd2b..000000000
--- a/kparts/browserrun.h
+++ /dev/null
@@ -1,194 +0,0 @@
-/* This file is part of the KDE project
- *
- * Copyright (C) 2002 David Faure <faure@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 version 2, as published by the Free Software Foundation.
- *
- * 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.
- */
-
-#ifndef kparts_browserrun_h
-#define kparts_browserrun_h
-
-#include <krun.h>
-#include <kservice.h>
-#include <kparts/browserextension.h>
-
-namespace KParts {
-
- /**
- * This class extends KRun to provide additional functionality for browsers:
- * <ul>
- * <li>"save or open" dialog boxes
- * <li>"save" functionality
- * <li>support for HTTP POST (including saving the result to a temp file if
- * opening a separate application)
- * <li>warning before launching executables off the web
- * <li>custom error handling (i.e. treating errors as HTML pages)
- * <li>generation of SSL metadata depending on the previous URL shown by the part
- * </ul>
- *
- * @author David Faure <faure@kde.org>
- */
- class KPARTS_EXPORT BrowserRun : public KRun
- {
- Q_OBJECT
- public:
- /**
- * @param url the URL we're probing
- * @param args URL args - includes data for a HTTP POST, etc.
- * @param part the part going to open this URL - can be 0L if not created yet
- * @param window the mainwindow - passed to TDEIO::Job::setWindow()
- * @param removeReferrer if true, the "referrer" metadata from @p args isn't passed on
- * @param trustedSource if false, a warning will be shown before launching an executable
- * Always pass false for @p trustedSource, except for local directory views.
- */
- BrowserRun( const KURL& url, const KParts::URLArgs& args,
- KParts::ReadOnlyPart *part, TQWidget *window,
- bool removeReferrer, bool trustedSource );
-
- // BIC: merge with above constructor
- /**
- * @param url the URL we're probing
- * @param args URL args - includes data for a HTTP POST, etc.
- * @param part the part going to open this URL - can be 0L if not created yet
- * @param window the mainwindow - passed to TDEIO::Job::setWindow()
- * @param removeReferrer if true, the "referrer" metadata from @p args isn't passed on
- * @param trustedSource if false, a warning will be shown before launching an executable.
- * Always pass false for @p trustedSource, except for local directory views.
- * @param hideErrorDialog if true, no dialog will be shown in case of errors.
- *
- */
- BrowserRun( const KURL& url, const KParts::URLArgs& args,
- KParts::ReadOnlyPart *part, TQWidget *window,
- bool removeReferrer, bool trustedSource, bool hideErrorDialog );
-
- virtual ~BrowserRun();
-
- //KParts::URLArgs urlArgs() const { return m_args; }
- //KParts::ReadOnlyPart* part() const { return m_part; }
-
- /**
- * @return the URL we're probing
- */
- KURL url() const { return m_strURL; }
-
- /**
- * @return true if no dialog will be shown in case of errors
- */
- bool hideErrorDialog() const;
-
- /**
- * @return Suggested filename given by the server (e.g. HTTP content-disposition filename)
- */
- TQString suggestedFilename() const { return m_suggestedFilename; }
-
- /**
- * @return Suggested disposition by the server (e.g. HTTP content-disposition)
- * @since 3.5.2
- */
- TQString contentDisposition() const;
-
- bool serverSuggestsSave() const { return contentDisposition() == TQString::fromLatin1("attachment"); }
-
- enum AskSaveResult { Save, Open, Cancel };
- /**
- * Ask the user whether to save or open a url in another application.
- * @param url the URL in question
- * @param offer the application that will be used to open the URL
- * @param mimeType the mimetype of the URL
- * @param suggestedFilename optional filename suggested by the server
- * @return Save, Open or Cancel.
- */
- static AskSaveResult askSave( const KURL & url, KService::Ptr offer, const TQString& mimeType, const TQString & suggestedFilename = TQString::null );
-
- enum AskEmbedOrSaveFlags { InlineDisposition = 0, AttachmentDisposition = 1 };
- /**
- * Similar to askSave() but for the case where the current application is
- * able to embed the url itself (instead of passing it to another app).
- * @param url the URL in question
- * @param mimeType the mimetype of the URL
- * @param suggestedFilename optional filename suggested by the server
- * @param flags set to AttachmentDisposition if suggested by the server
- * @return Save, Open or Cancel.
- */
- static AskSaveResult askEmbedOrSave( const KURL & url, const TQString& mimeType, const TQString & suggestedFilename = TQString::null, int flags = 0 );
-
- // virtual so that KHTML can implement differently (HTML cache)
- virtual void save( const KURL & url, const TQString & suggestedFilename );
-
- // static so that it can be called from other classes
- static void simpleSave( const KURL & url, const TQString & suggestedFilename,
- TQWidget* window );
-
- /** BIC: Combine with the above function for KDE 4.0. */
- static void simpleSave( const KURL & url, const TQString & suggestedFilename );
-
- static bool allowExecution( const TQString &serviceType, const KURL &url );
-
- /** BIC: Obsoleted by KRun::isExecutable( const TQString &serviceType ); */
- static bool isExecutable( const TQString &serviceType );
- static bool isTextExecutable( const TQString &serviceType );
-
- protected:
- /**
- * Reimplemented from KRun
- */
- virtual void scanFile();
- /**
- * Reimplemented from KRun
- */
- virtual void init();
- /**
- * Called when an error happens.
- * NOTE: @p job could be 0L, if you passed hideErrorDialog=true.
- * The default implementation shows a message box, but only when job != 0 ....
- * It is strongly recommended to reimplement this method if
- * you passed hideErrorDialog=true.
- */
- virtual void handleError( TDEIO::Job * job );
-
- /**
- * NotHandled means that foundMimeType should call KRun::foundMimeType,
- * i.e. launch an external app.
- */
- enum NonEmbeddableResult { Handled, NotHandled, Delayed };
-
- /**
- * Helper for foundMimeType: call this if the mimetype couldn't be embedded
- */
- NonEmbeddableResult handleNonEmbeddable( const TQString& mimeType );
-
- protected slots:
- void slotBrowserScanFinished(TDEIO::Job *job);
- void slotBrowserMimetype(TDEIO::Job *job, const TQString &type);
- void slotCopyToTempFileResult(TDEIO::Job *job);
- virtual void slotStatResult( TDEIO::Job *job );
-
- protected:
- KParts::URLArgs m_args;
- KParts::ReadOnlyPart *m_part; // QGuardedPtr?
- TQGuardedPtr<TQWidget> m_window;
- // Suggested filename given by the server (e.g. HTTP content-disposition)
- // When set, we should really be saving instead of embedding
- TQString m_suggestedFilename;
- TQString m_sMimeType;
- bool m_bRemoveReferrer;
- bool m_bTrustedSource;
- private:
- void redirectToError( int error, const TQString& errorText );
- class BrowserRunPrivate;
- BrowserRunPrivate* d;
-
- };
-}
-#endif