diff options
Diffstat (limited to 'libraries/gui/DesktopServices.h')
-rw-r--r-- | libraries/gui/DesktopServices.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/libraries/gui/DesktopServices.h b/libraries/gui/DesktopServices.h new file mode 100644 index 00000000..9daf192a --- /dev/null +++ b/libraries/gui/DesktopServices.h @@ -0,0 +1,37 @@ +#pragma once + +#include <QUrl> +#include <QString> +#include "multimc_gui_export.h" + +/** + * This wraps around QDesktopServices and adds workarounds where needed + * Use this instead of QDesktopServices! + */ +namespace DesktopServices +{ + /** + * Open a file in whatever application is applicable + */ + MULTIMC_GUI_EXPORT bool openFile(const QString &path); + + /** + * Open a file in the specified application + */ + MULTIMC_GUI_EXPORT bool openFile(const QString &application, const QString &path, const QString & workingDirectory = QString(), qint64 *pid = 0); + + /** + * Run an application + */ + MULTIMC_GUI_EXPORT bool run(const QString &application,const QStringList &args, const QString & workingDirectory = QString(), qint64 *pid = 0); + + /** + * Open a directory + */ + MULTIMC_GUI_EXPORT bool openDirectory(const QString &path, bool ensureExists = false); + + /** + * Open the URL, most likely in a browser. Maybe. + */ + MULTIMC_GUI_EXPORT bool openUrl(const QUrl &url); +}; |