KParts::BrowserRun

Search for usage in LXR

#include <KParts/BrowserRun>

Inheritance diagram for KParts::BrowserRun:

Public Types

enum  AskEmbedOrSaveFlags { InlineDisposition = 0, AttachmentDisposition = 1 }
 
enum  AskSaveResult { Save, Open, Cancel }
 
- Public Types inherited from KRun
enum  RunFlag
 
typedef QFlags< RunFlagRunFlags
 

Public Member Functions

 BrowserRun (const QUrl &url, const KParts::OpenUrlArguments &args, const KParts::BrowserArguments &browserArgs, KParts::ReadOnlyPart *part, QWidget *window, bool removeReferrer, bool trustedSource, bool hideErrorDialog=false)
 
KParts::OpenUrlArgumentsarguments ()
 
KParts::BrowserArgumentsbrowserArguments ()
 
QString contentDisposition () const
 
bool hideErrorDialog () const
 
KParts::ReadOnlyPartpart () const
 
virtual void save (const QUrl &url, const QString &suggestedFileName)
 
bool serverSuggestsSave () const
 
QUrl url () const
 
- Public Member Functions inherited from KRun
 KRun (const QUrl &url, QWidget *window, bool showProgressInfo=true, const QByteArray &asn=QByteArray())
 
void abort ()
 
bool autoDelete () const
 
bool hasError () const
 
bool hasFinished () const
 
void setAutoDelete (bool b)
 
void setEnableExternalBrowser (bool b)
 
void setFollowRedirections (bool b)
 
void setPreferredService (const QString &desktopEntryName)
 
void setRunExecutables (bool b)
 
void setShowScriptExecutionPrompt (bool showPrompt)
 
void setSuggestedFileName (const QString &fileName)
 
QString suggestedFileName () const
 
QWidgetwindow () const
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
bool blockSignals (bool block)
 
const QObjectListchildren () const const
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectInfo ()
 
void dumpObjectInfo () const const
 
void dumpObjectTree ()
 
void dumpObjectTree () const const
 
QList< QByteArraydynamicPropertyNames () const const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegExp &regExp, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
bool inherits (const char *className) const const
 
void installEventFilter (QObject *filterObj)
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
void killTimer (int id)
 
virtual const QMetaObjectmetaObject () const const
 
void moveToThread (QThread *targetThread)
 
QString objectName () const const
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
QVariant property (const char *name) const const
 
 Q_CLASSINFO (Name, Value)
 
 Q_DISABLE_COPY (Class)
 
 Q_DISABLE_COPY_MOVE (Class)
 
 Q_DISABLE_MOVE (Class)
 
 Q_EMIT Q_EMIT
 
 Q_ENUM (...)
 
 Q_ENUM_NS (...)
 
 Q_ENUMS (...)
 
 Q_FLAG (...)
 
 Q_FLAG_NS (...)
 
 Q_FLAGS (...)
 
 Q_GADGET Q_GADGET
 
 Q_INTERFACES (...)
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_NAMESPACE Q_NAMESPACE
 
 Q_NAMESPACE_EXPORT (EXPORT_MACRO)
 
 Q_OBJECT Q_OBJECT
 
 Q_PROPERTY (...)
 
 Q_REVISION Q_REVISION
 
 Q_SET_OBJECT_NAME (Object)
 
 Q_SIGNAL Q_SIGNAL
 
 Q_SIGNALS Q_SIGNALS
 
 Q_SLOT Q_SLOT
 
 Q_SLOTS Q_SLOTS
 
qFindChild (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QRegExp &regExp)
 
QList< T > qFindChildren (const QObject *obj, const QString &name)
 
qobject_cast (const QObject *object)
 
qobject_cast (QObject *object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 
void removeEventFilter (QObject *obj)
 
void setObjectName (const QString &name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool signalsBlocked () const const
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds time, Qt::TimerType timerType)
 
QThreadthread () const const
 

Static Public Member Functions

static bool allowExecution (const QString &mimeType, const QUrl &url)
 
static AskSaveResult askEmbedOrSave (const QUrl &url, const QString &mimeType, const QString &suggestedFileName=QString(), int flags=0)
 
static AskSaveResult askSave (const QUrl &url, KService::Ptr offer, const QString &mimeType, const QString &suggestedFileName=QString())
 
static bool isTextExecutable (const QString &mimeType)
 
static QUrl makeErrorUrl (int error, const QString &errorText, const QUrl &initialUrl)
 
static void saveUrl (const QUrl &url, const QString &suggestedFileName, QWidget *window, const KParts::OpenUrlArguments &args)
 
static void saveUrlUsingKIO (const QUrl &srcUrl, const QUrl &destUrl, QWidget *window, const QMap< QString, QString > &metaData)
 
static void simpleSave (const QUrl &url, const QString &suggestedFileName, QWidget *window=nullptr)
 
- Static Public Member Functions inherited from KRun
static QString binaryName (const QString &execLine, bool removePath)
 
static bool checkStartupNotify (const QString &binName, const KService *service, bool *silent_arg, QByteArray *wmclass_arg)
 
static bool displayOpenWithDialog (const QList< QUrl > &lst, QWidget *window, bool tempFiles=false, const QString &suggestedFileName=QString(), const QByteArray &asn=QByteArray())
 
static bool isExecutable (const QString &mimeType)
 
static bool isExecutableFile (const QUrl &url, const QString &mimetype)
 
static QStringList processDesktopExec (const KService &_service, const QList< QUrl > &_urls, bool tempFiles=false, const QString &suggestedFileName=QString())
 
static bool run (const KService &service, const QList< QUrl > &urls, QWidget *window, bool tempFiles=false, const QString &suggestedFileName=QString(), const QByteArray &asn=QByteArray())
 
static bool run (const QString &exec, const QList< QUrl > &urls, QWidget *window, const QString &name=QString(), const QString &icon=QString(), const QByteArray &asn=QByteArray())
 
static qint64 runApplication (const KService &service, const QList< QUrl > &urls, QWidget *window, RunFlags flags=RunFlags(), const QString &suggestedFileName=QString(), const QByteArray &asn=QByteArray())
 
static bool runCommand (const QString &cmd, const QString &execName, const QString &icon, QWidget *window, const QByteArray &asn, const QString &workingDirectory)
 
static bool runCommand (const QString &cmd, const QString &execName, const QString &icon, QWidget *window, const QByteArray &asn=QByteArray())
 
static bool runCommand (const QString &cmd, QWidget *window, const QString &workingDirectory=QString())
 
static qint64 runService (const KService &service, const QList< QUrl > &urls, QWidget *window, bool tempFiles=false, const QString &suggestedFileName=QString(), const QByteArray &asn=QByteArray())
 
static bool runUrl (const QUrl &url, const QString &mimetype, QWidget *window, bool tempFile=false, bool runExecutables=true, const QString &suggestedFileName=QString(), const QByteArray &asn=QByteArray())
 
static bool runUrl (const QUrl &url, const QString &mimetype, QWidget *window, RunFlags flags, const QString &suggestedFileName=QString(), const QByteArray &asn=QByteArray())
 
static void shellQuote (QString &str)
 
- Static Public Member Functions inherited from QObject
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
bool disconnect (const QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 

Protected Types

enum  NonEmbeddableResult { Handled, NotHandled, Delayed }
 

Protected Slots

void slotBrowserMimetype (KIO::Job *job, const QString &type)
 
void slotBrowserScanFinished (KJob *job)
 
void slotCopyToTempFileResult (KJob *job)
 
- Protected Slots inherited from KRun
void mimeTypeDetermined (const QString &mimeType)
 
void slotScanFinished (KJob *)
 
void slotScanMimeType (KIO::Job *, const QString &type)
 
virtual void slotStatResult (KJob *)
 
void slotTimeout ()
 

Protected Member Functions

void handleError (KJob *job) override
 
NonEmbeddableResult handleNonEmbeddable (const QString &mimeType)
 
NonEmbeddableResult handleNonEmbeddable (const QString &mimeType, KService::Ptr *pSelectedService)
 
void init () override
 
void scanFile () override
 
- Protected Member Functions inherited from KRun
bool doScanFile () const
 
virtual void foundMimeType (const QString &type)
 
virtual void handleInitError (int kioErrorCode, const QString &errorMsg)
 
bool initializeNextAction () const
 
bool isDirectory () const
 
bool isLocalFile () const
 
KIO::Jobjob ()
 
virtual void killJob ()
 
bool progressInfo () const
 
void setDoScanFile (bool scanFile)
 
void setError (bool error)
 
void setFinished (bool finished)
 
void setInitializeNextAction (bool initialize)
 
void setIsDirecory (bool isDirectory)
 
void setJob (KIO::Job *job)
 
void setProgressInfo (bool progressInfo)
 
void setUrl (const QUrl &url)
 
QTimertimer ()
 
QUrl url () const
 
- Protected Member Functions inherited from QObject
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
int receivers (const char *signal) const const
 
QObjectsender () const const
 
int senderSignalIndex () const const
 
virtual void timerEvent (QTimerEvent *event)
 

Additional Inherited Members

- Properties inherited from QObject
 objectName
 
- Signals inherited from KRun
void error ()
 
void finished ()
 
- Public Attributes inherited from KRun
 DeleteTemporaryFiles
 
 RunExecutables
 
- Public Attributes inherited from QObject
typedef QObjectList
 

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[email protected]@kde[email protected].org

Definition at line 33 of file browserrun.h.

Member Enumeration Documentation

◆ AskEmbedOrSaveFlags

◆ NonEmbeddableResult

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

launch an external app.

Definition at line 178 of file browserrun.h.

Constructor & Destructor Documentation

◆ BrowserRun()

BrowserRun::BrowserRun ( const QUrl url,
const KParts::OpenUrlArguments args,
const KParts::BrowserArguments browserArgs,
KParts::ReadOnlyPart part,
QWidget window,
bool  removeReferrer,
bool  trustedSource,
bool  hideErrorDialog = false 
)
Parameters
urlthe URL we're probing
argsURL args - includes reload, metaData, etc.
browserArgsbrowser-related args - includes data for a HTTP POST, etc.
partthe part going to open this URL - can be nullptr if not created yet
windowthe mainwindow - passed to KIO::Job::setWindow()
removeReferrerif true, the "referrer" metadata from args isn't passed on
trustedSourceif false, a warning will be shown before launching an executable. Always pass false for trustedSource, except for local directory views.
hideErrorDialogif true, no dialog will be shown in case of errors.

Definition at line 52 of file browserrun.cpp.

Member Function Documentation

◆ askEmbedOrSave()

BrowserRun::AskSaveResult BrowserRun::askEmbedOrSave ( const QUrl url,
const QString mimeType,
const QString suggestedFileName = QString(),
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
urlthe URL in question
mimeTypethe mimetype of the URL
suggestedFileNameoptional filename suggested by the server
flagsset to AttachmentDisposition if suggested by the server
Returns
Save, Open or Cancel.
Deprecated:
Since 5.0, use BrowserOpenOrSaveQuestion
BrowserOpenOrSaveQuestion dlg(parent, url, mimeType, suggestedFileName);
const BrowserOpenOrSaveQuestion::Result res = dlg.askEmbedOrSave(flags);
// Important: returns Embed now, not Open!

Definition at line 357 of file browserrun.cpp.

◆ askSave()

BrowserRun::AskSaveResult BrowserRun::askSave ( const QUrl url,
KService::Ptr  offer,
const QString mimeType,
const QString suggestedFileName = QString() 
)
static

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

Parameters
urlthe URL in question
offerthe application that will be used to open the URL
mimeTypethe mimetype of the URL
suggestedFileNameoptional file name suggested by the server
Returns
Save, Open or Cancel.
Deprecated:
Since 5.0, use BrowserOpenOrSaveQuestion
BrowserOpenOrSaveQuestion dlg(parent, url, mimeType, suggestedFileName);
const BrowserOpenOrSaveQuestion::Result res = dlg.askOpenOrSave();

Definition at line 341 of file browserrun.cpp.

◆ contentDisposition()

QString BrowserRun::contentDisposition ( ) const
Returns
Suggested disposition by the server (e.g. HTTP content-disposition)

Definition at line 548 of file browserrun.cpp.

◆ handleError()

void BrowserRun::handleError ( KJob job)
overrideprotectedvirtual

Reimplemented from KRun.

Reimplemented from KRun.

Definition at line 460 of file browserrun.cpp.

◆ handleNonEmbeddable() [1/2]

BrowserRun::NonEmbeddableResult BrowserRun::handleNonEmbeddable ( const QString mimeType)
protected

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

Definition at line 250 of file browserrun.cpp.

◆ handleNonEmbeddable() [2/2]

BrowserRun::NonEmbeddableResult BrowserRun::handleNonEmbeddable ( const QString mimeType,
KService::Ptr pSelectedService 
)
protected

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

Parameters
mimeTypethe mimetype found for the URL
pSelectedServiceOutput variable: pointer to a KService::Ptr, which will be set to the service selected in the BrowserOpenOrSaveQuestion dialog, if any.

How to handle this properly: if pSelectedService is non-zero, then the dialog will show additional "open with" buttons. In your code, you should write:

if (selectedService) {
KRun::setPreferredService(selectedService->desktopEntryName()); // not necessary since 4.9.3
} else { // the user requested an open-with dialog
KRun::displayOpenWithDialog(url(), m_window, false, suggestedFileName());
setFinished(true);
}
Since
4.5

Definition at line 255 of file browserrun.cpp.

◆ init()

void BrowserRun::init ( )
overrideprotectedvirtual

Reimplemented from KRun.

Reimplemented from KRun.

Definition at line 84 of file browserrun.cpp.

◆ makeErrorUrl()

QUrl BrowserRun::makeErrorUrl ( int  error,
const QString errorText,
const QUrl initialUrl 
)
static

KDE webbrowsing kparts support error urls to display errors in-line in the browser component.

This helper method creates the error URL from its parameters.

Parameters
errorthe KIO error code (or KIO::ERR_WORKER_DEFINED if not from KIO)
errorTextthe text of the error message
initialUrlthe URL that we were trying to open (as a string, so that this can support invalid URLs as well) (changed from QString to QUrl in KF5)
Since
4.6

Definition at line 489 of file browserrun.cpp.

◆ saveUrl()

void KParts::BrowserRun::saveUrl ( const QUrl url,
const QString suggestedFileName,
QWidget window,
const KParts::OpenUrlArguments args 
)
static

If kget integration is enabled, passes the url to kget.

Otherwise, asks the user for a destination url, and calls saveUrlUsingKIO.

Since
4.4

Definition at line 384 of file browserrun.cpp.

◆ saveUrlUsingKIO()

void BrowserRun::saveUrlUsingKIO ( const QUrl srcUrl,
const QUrl destUrl,
QWidget window,
const QMap< QString, QString > &  metaData 
)
static

Starts the KIO file copy job to download srcUrl into destUrl.

Since
4.4

Definition at line 445 of file browserrun.cpp.

◆ scanFile()

void BrowserRun::scanFile ( )
overrideprotectedvirtual

Reimplemented from KRun.

Reimplemented from KRun.

Definition at line 107 of file browserrun.cpp.

◆ serverSuggestsSave()

bool BrowserRun::serverSuggestsSave ( ) const
Returns
Whether the returned disposition suggests saving or opening inline

Definition at line 553 of file browserrun.cpp.

◆ simpleSave()

void BrowserRun::simpleSave ( const QUrl url,
const QString suggestedFileName,
QWidget window = nullptr 
)
static

static so that it can be called from other classes

Deprecated:
Since 4.4, use saveUrl(const QUrl &, const QString &, QWidget *, const KParts::OpenUrlArguments &)

Definition at line 378 of file browserrun.cpp.


The documentation for this class was generated from the following files:
QString suggestedFileName() const
void setPreferredService(const QString &desktopEntryName)
void setFinished(bool finished)
virtual void foundMimeType(const QString &type)
static bool displayOpenWithDialog(const QList< QUrl > &lst, QWidget *window, bool tempFiles=false, const QString &suggestedFileName=QString(), const QByteArray &asn=QByteArray())
QObject * parent() const const
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon May 8 2023 03:53:51 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.