KIO::ApplicationLauncherJob
#include <KIO/ApplicationLauncherJob>
Public Types | |
enum | RunFlag { DeleteTemporaryFiles = 0x1 } |
typedef QFlags< RunFlag > | RunFlags |
Public Types inherited from KJob | |
typedef QFlags< Capability > | Capabilities |
enum | Capability |
enum | Unit |
Public Types inherited from QObject | |
typedef | QObjectList |
Public Member Functions | |
ApplicationLauncherJob (const KDesktopFileAction &desktopFileAction, QObject *parent=nullptr) | |
ApplicationLauncherJob (const KService::Ptr &service, QObject *parent=nullptr) | |
ApplicationLauncherJob (const KServiceAction &serviceAction, QObject *parent=nullptr) | |
ApplicationLauncherJob (QObject *parent=nullptr) | |
~ApplicationLauncherJob () override | |
qint64 | pid () const |
QList< qint64 > | pids () const |
void | setRunFlags (RunFlags runFlags) |
void | setStartupId (const QByteArray &startupId) |
void | setSuggestedFileName (const QString &suggestedFileName) |
void | setUrls (const QList< QUrl > &urls) |
void | start () override |
Public Member Functions inherited from KJob | |
KJob (QObject *parent=nullptr) | |
Capabilities | capabilities () const |
qint64 | elapsedTime () const |
int | error () const |
virtual QString | errorString () const |
QString | errorText () const |
bool | exec () |
bool | isAutoDelete () const |
bool | isFinishedNotificationHidden () const |
bool | isStartedWithExec () const |
bool | isSuspended () const |
unsigned long | percent () const |
Q_SCRIPTABLE qulonglong | processedAmount (Unit unit) const |
void | setAutoDelete (bool autodelete) |
void | setFinishedNotificationHidden (bool hide=true) |
void | setUiDelegate (KJobUiDelegate *delegate) |
Q_SCRIPTABLE qulonglong | totalAmount (Unit unit) const |
KJobUiDelegate * | uiDelegate () const |
Public Member Functions inherited from QObject | |
QObject (QObject *parent) | |
QBindable< QString > | bindableObjectName () |
bool | blockSignals (bool block) |
const QObjectList & | children () 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 () const const |
void | dumpObjectTree () const const |
QList< QByteArray > | dynamicPropertyNames () const const |
virtual bool | event (QEvent *e) |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
T | findChild (const QString &name, 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 |
QList< T > | findChildren (Qt::FindChildOptions options) const const |
bool | inherits (const char *className) const const |
void | installEventFilter (QObject *filterObj) |
bool | isQuickItemType () const const |
bool | isWidgetType () const const |
bool | isWindowType () const const |
void | killTimer (int id) |
virtual const QMetaObject * | metaObject () const const |
void | moveToThread (QThread *targetThread) |
QString | objectName () const const |
void | objectNameChanged (const QString &objectName) |
QObject * | parent () const const |
QVariant | property (const char *name) const const |
Q_CLASSINFO (Name, Value) | |
Q_EMIT Q_EMIT | |
Q_ENUM (...) | |
Q_ENUM_NS (...) | |
Q_ENUMS (...) | |
Q_FLAG (...) | |
Q_FLAG_NS (...) | |
Q_FLAGS (...) | |
Q_GADGET Q_GADGET | |
Q_GADGET_EXPORT (EXPORT_MACRO) | |
Q_INTERFACES (...) | |
Q_INVOKABLE Q_INVOKABLE | |
Q_MOC_INCLUDE Q_MOC_INCLUDE | |
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 | |
T | qobject_cast (const QObject *object) |
T | 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 | setObjectName (QAnyStringView name) |
void | setParent (QObject *parent) |
bool | setProperty (const char *name, const QVariant &value) |
bool | setProperty (const char *name, QVariant &&value) |
bool | signalsBlocked () const const |
int | startTimer (int interval, Qt::TimerType timerType) |
int | startTimer (std::chrono::milliseconds interval, Qt::TimerType timerType) |
QThread * | thread () const const |
Additional Inherited Members | |
Properties inherited from QObject | |
objectName | |
Signals inherited from KJob | |
void | description (KJob *job, const QString &title, const QPair< QString, QString > &field1=QPair< QString, QString >(), const QPair< QString, QString > &field2=QPair< QString, QString >()) |
void | finished (KJob *job) |
void | infoMessage (KJob *job, const QString &message) |
void | percentChanged (KJob *job, unsigned long percent) |
void | processedAmountChanged (KJob *job, KJob::Unit unit, qulonglong amount) |
void | processedSize (KJob *job, qulonglong size) |
void | result (KJob *job) |
void | resumed (KJob *job) |
void | speed (KJob *job, unsigned long speed) |
void | suspended (KJob *job) |
void | totalAmountChanged (KJob *job, KJob::Unit unit, qulonglong amount) |
void | totalSize (KJob *job, qulonglong size) |
void | warning (KJob *job, const QString &message) |
Public Slots inherited from KJob | |
bool | kill (KJob::KillVerbosity verbosity=KJob::Quietly) |
bool | resume () |
bool | suspend () |
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) |
Public Attributes inherited from KJob | |
Bytes | |
Directories | |
Files | |
Items | |
Killable | |
NoCapabilities | |
Suspendable | |
UnitsCount | |
Protected Member Functions inherited from KJob | |
virtual bool | doKill () |
virtual bool | doResume () |
virtual bool | doSuspend () |
void | emitPercent (qulonglong processedAmount, qulonglong totalAmount) |
void | emitResult () |
void | emitSpeed (unsigned long speed) |
bool | isFinished () const |
void | setCapabilities (Capabilities capabilities) |
void | setError (int errorCode) |
void | setErrorText (const QString &errorText) |
void | setPercent (unsigned long percentage) |
void | setProcessedAmount (Unit unit, qulonglong amount) |
void | setProgressUnit (Unit unit) |
void | setTotalAmount (Unit unit, qulonglong amount) |
void | startElapsedTimer () |
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 |
QObject * | sender () const const |
int | senderSignalIndex () const const |
virtual void | timerEvent (QTimerEvent *event) |
Detailed Description
ApplicationLauncherJob runs an application and watches it while running.
It creates a startup notification and finishes it on success or on error (for the taskbar). It also emits an error message if necessary (e.g. "program not found").
When passing multiple URLs to an application that doesn't support opening multiple files, the application will be launched once for each URL.
The job finishes when the application is successfully started. At that point you can query the PID(s).
For error handling, either connect to the result() signal, or for a simple messagebox on error, you can use:
Using JobUiDelegate (which is widgets based) also enables the feature of asking the user in case the executable or desktop file isn't marked as executable. Otherwise the job will just refuse executing such files.
To invoke the open-with dialog (from KIOWidgets), construct an ApplicationLauncherJob without any arguments or with a null KService.
- Since
- 5.69
Definition at line 54 of file applicationlauncherjob.h.
Member Typedef Documentation
◆ RunFlags
Stores a combination of RunFlag values.
Definition at line 111 of file applicationlauncherjob.h.
Member Enumeration Documentation
◆ RunFlag
- See also
- RunFlag
Enumerator | |
---|---|
DeleteTemporaryFiles | the URLs passed to the service will be deleted when it exits (if the URLs are local files) |
Definition at line 105 of file applicationlauncherjob.h.
Constructor & Destructor Documentation
◆ ApplicationLauncherJob() [1/4]
|
explicit |
Creates an ApplicationLauncherJob.
- Parameters
-
service the service (application desktop file) to run parent the parent QObject
Definition at line 62 of file applicationlauncherjob.cpp.
◆ ApplicationLauncherJob() [2/4]
|
explicit |
Creates an ApplicationLauncherJob.
- Parameters
-
serviceAction the service action to run parent the parent QObject
Definition at line 72 of file applicationlauncherjob.cpp.
◆ ApplicationLauncherJob() [3/4]
|
explicit |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
- Since
- 6.0
Definition at line 79 of file applicationlauncherjob.cpp.
◆ ApplicationLauncherJob() [4/4]
|
explicit |
Creates an ApplicationLauncherJob which will prompt the user for which application to use (via the open-with dialog from KIOWidgets).
- Parameters
-
parent the parent QObject
- Since
- 5.71
Definition at line 87 of file applicationlauncherjob.cpp.
◆ ~ApplicationLauncherJob()
|
override |
Destructor.
Note that jobs auto-delete themselves after emitting result. Deleting/killing the job will not stop the started application.
Definition at line 93 of file applicationlauncherjob.cpp.
Member Function Documentation
◆ pid()
qint64 KIO::ApplicationLauncherJob::pid | ( | ) | const |
- Returns
- the PID of the application that was started
Convenience method for pids().at(0). You should only use this when specifying zero or one URL, or when you are sure that the application supports opening multiple files. Otherwise use pids(). Available after the job emits result().
Definition at line 267 of file applicationlauncherjob.cpp.
◆ pids()
QList< qint64 > KIO::ApplicationLauncherJob::pids | ( | ) | const |
- Returns
- the PIDs of the applications that were started
Available after the job emits result().
Definition at line 272 of file applicationlauncherjob.cpp.
◆ setRunFlags()
void KIO::ApplicationLauncherJob::setRunFlags | ( | RunFlags | runFlags | ) |
Specifies various flags.
- Parameters
-
runFlags the flags to be set. For instance, whether the URLs are temporary files that should be deleted after execution.
Definition at line 104 of file applicationlauncherjob.cpp.
◆ setStartupId()
void KIO::ApplicationLauncherJob::setStartupId | ( | const QByteArray & | startupId | ) |
Sets the platform-specific startup id of the application launch.
- Parameters
-
startupId startup id, if any (otherwise ""). For X11, this would be the id for the Startup Notification protocol. For Wayland, this would be the token for the XDG Activation protocol.
Definition at line 114 of file applicationlauncherjob.cpp.
◆ setSuggestedFileName()
void KIO::ApplicationLauncherJob::setSuggestedFileName | ( | const QString & | suggestedFileName | ) |
Sets the file name to use in the case of downloading the file to a tempfile in order to give to a non-URL-aware application.
Some apps rely on the extension to determine the MIME type of the file. Usually the file name comes from the URL, but in the case of the HTTP Content-Disposition header, we need to override the file name.
- Parameters
-
suggestedFileName the file name
Definition at line 109 of file applicationlauncherjob.cpp.
◆ setUrls()
Specifies the URLs to be passed to the application.
- Parameters
-
urls list of files (local or remote) to open
Note that when passing multiple URLs to an application that doesn't support opening multiple files, the application will be launched once for each URL.
Definition at line 99 of file applicationlauncherjob.cpp.
◆ start()
|
overridevirtual |
Starts the job.
You must call this, after having done all the setters. This is (potentially) a GUI job, never use exec(), it would block user interaction.
Implements KJob.
Definition at line 126 of file applicationlauncherjob.cpp.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2024 The KDE developers.
Generated on Sat Dec 21 2024 16:58:45 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.