KParts::BrowserRun Class Reference

`#include <browserrun.h>`

Inherits KRun.

## Public Types

enum | AskSaveResult { Save, Open, Cancel }
enum | AskEmbedOrSaveFlags { InlineDisposition = 0, AttachmentDisposition = 1 }

## Public Member Functions

| BrowserRun (const KURL &url, const KParts::URLArgs &args, KParts::ReadOnlyPart *part, QWidget *window, bool removeReferrer, bool trustedSource)
| BrowserRun (const KURL &url, const KParts::URLArgs &args, KParts::ReadOnlyPart *part, QWidget *window, bool removeReferrer, bool trustedSource, bool hideErrorDialog)
KURL | url () const
bool | hideErrorDialog () const
QString | suggestedFilename () const
QString | contentDisposition () const
bool | serverSuggestsSave () const
virtual void | save (const KURL &url, const QString &suggestedFilename)

## Static Public Member Functions

static AskSaveResult | askSave (const KURL &url, KService::Ptr offer, const QString &mimeType, const QString &suggestedFilename=QString::null)
static AskSaveResult | askEmbedOrSave (const KURL &url, const QString &mimeType, const QString &suggestedFilename=QString::null, int flags=0)
static void | simpleSave (const KURL &url, const QString &suggestedFilename, QWidget *window)
static void | simpleSave (const KURL &url, const QString &suggestedFilename)
static bool | allowExecution (const QString &serviceType, const KURL &url)
static bool | isExecutable (const QString &serviceType)
static bool | isTextExecutable (const QString &serviceType)

## Protected Types

enum | NonEmbeddableResult { Handled, NotHandled, Delayed }

## Protected Slots

void | slotBrowserScanFinished (KIO::Job *job)
void | slotBrowserMimetype (KIO::Job *job, const QString &type)
void | slotCopyToTempFileResult (KIO::Job *job)
virtual void | slotStatResult (KIO::Job *job)

## Protected Member Functions

virtual void | scanFile ()
virtual void | init ()
virtual void | handleError (KIO::Job *job)
NonEmbeddableResult | handleNonEmbeddable (const QString &mimeType)

## Protected Attributes

KParts::URLArgs | m_args
KParts::ReadOnlyPart * | m_part
QGuardedPtr< QWidget > | m_window
QString | m_suggestedFilename
QString | m_sMimeType
bool | m_bRemoveReferrer
bool | m_bTrustedSource

## Detailed Description

This class extends KRun to provide additional functionality for browsers:

- "save or open" dialog boxes
- "save" functionality
- support for HTTP POST (including saving the result to a temp file if opening a separate application)
- warning before launching executables off the web
- custom error handling (i.e. treating errors as HTML pages)
- generation of SSL metadata depending on the previous URL shown by the part

Author
  David Faure faure.nosp@m.@kde.nosp@m..org

Definition at line 42 of file browserrun.h.

## Member Enumeration Documentation

enum KParts::BrowserRun::NonEmbeddableResult

protected

NotHandled means that foundMimeType should call KRun::foundMimeType, i.e.

launch an external app.

Definition at line 164 of file browserrun.h.

## Constructor & Destructor Documentation

BrowserRun::BrowserRun | ( | const KURL & | url,
|  | const KParts::URLArgs & | args,
|  | KParts::ReadOnlyPart * | part,
|  | QWidget * | window,
|  | bool | removeReferrer,
|  | bool | trustedSource
| ) |  |

Parameters

  url | the URL we're probing
  args | URL args - includes data for a HTTP POST, etc.
  part | the part going to open this URL - can be 0L if not created yet
  window | the mainwindow - passed to KIO::Job::setWindow()
  removeReferrer | if true, the "referrer" metadata from `args` isn't passed on
  trustedSource | if false, a warning will be shown before launching an executable Always pass false for `trustedSource`, except for local directory views.

Definition at line 42 of file browserrun.cpp.

BrowserRun::BrowserRun | ( | const KURL & | url,
|  | const KParts::URLArgs & | args,
|  | KParts::ReadOnlyPart * | part,
|  | QWidget * | window,
|  | bool | removeReferrer,
|  | bool | trustedSource,
|  | bool | hideErrorDialog
| ) |  |

Parameters

  url | the URL we're probing
  args | URL args - includes data for a HTTP POST, etc.
  part | the part going to open this URL - can be 0L if not created yet
  window | the mainwindow - passed to KIO::Job::setWindow()
  removeReferrer | if true, the "referrer" metadata from `args` isn't passed on
  trustedSource | if false, a warning will be shown before launching an executable. Always pass false for `trustedSource`, except for local directory views.
  hideErrorDialog | if true, no dialog will be shown in case of errors.

Definition at line 54 of file browserrun.cpp.

## Member Function Documentation

BrowserRun::AskSaveResult BrowserRun::askEmbedOrSave | ( | const KURL & | url,
|  | const QString & | mimeType,
|  | const QString & | suggestedFilename = `QString::null`,
|  | int | flags = `0`
| ) |  |

static

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).

Parameters

  url | the URL in question
  mimeType | the mimetype of the URL
  suggestedFilename | optional filename suggested by the server
  flags | set to AttachmentDisposition if suggested by the server

Returns
  Save, Open or Cancel.

Definition at line 323 of file browserrun.cpp.

BrowserRun::AskSaveResult BrowserRun::askSave | ( | const KURL & | url,
|  | KService::Ptr | offer,
|  | const QString & | mimeType,
|  | const QString & | suggestedFilename = `QString::null`
| ) |  |

static

Ask the user whether to save or open a url in another application.

Parameters

  url | the URL in question
  offer | the application that will be used to open the URL
  mimeType | the mimetype of the URL
  suggestedFilename | optional filename suggested by the server

Returns
  Save, Open or Cancel.

Definition at line 300 of file browserrun.cpp.

QString BrowserRun::contentDisposition | ( |  | ) | const

Returns
  Suggested disposition by the server (e.g. HTTP content-disposition)

Since
  3.5.2

Definition at line 515 of file browserrun.cpp.

void BrowserRun::handleError | ( | KIO::Job * | job | ) |

protected virtual

Called when an error happens.

NOTE: `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.

Definition at line 444 of file browserrun.cpp.

BrowserRun::NonEmbeddableResult BrowserRun::handleNonEmbeddable | ( | const QString & | mimeType | ) |

protected

Helper for foundMimeType: call this if the mimetype couldn't be embedded.

Definition at line 203 of file browserrun.cpp.

bool BrowserRun::hideErrorDialog | ( |  | ) | const

Returns
  true if no dialog will be shown in case of errors

Definition at line 510 of file browserrun.cpp.

void BrowserRun::init | ( |  | ) |

protected virtual

Reimplemented from KRun.

Definition at line 70 of file browserrun.cpp.

bool BrowserRun::isExecutable | ( | const QString & | serviceType | ) |

static

BIC: Obsoleted by KRun::isExecutable( const QString &serviceType );.

Definition at line 505 of file browserrun.cpp.

void BrowserRun::scanFile | ( |  | ) |

protected virtual

Reimplemented from KRun.

Definition at line 98 of file browserrun.cpp.

void BrowserRun::simpleSave | ( | const KURL & | url,
|  | const QString & | suggestedFilename
| ) |  |

static

BIC: Combine with the above function for KDE 4.0.

Definition at line 366 of file browserrun.cpp.

QString KParts::BrowserRun::suggestedFilename | ( |  | ) | const

inline

Returns
  Suggested filename given by the server (e.g. HTTP content-disposition filename)

Definition at line 93 of file browserrun.h.

KURL KParts::BrowserRun::url | ( |  | ) | const

inline

Returns
  the URL we're probing

Definition at line 83 of file browserrun.h.

The documentation for this class was generated from the following files:

- browserrun.h
- browserrun.cpp

KDE Home | KDE Accessibility Home | Description of Access Keys