6 #include <QDesktopServices>
8 # define WIN32_LEAN_AND_MEAN
9 # include <qt_windows.h>
10 # include <shellapi.h>
16 ShellExecuteW(0, L
"open", path.toStdWString().c_str(),
nullptr,
nullptr, SW_SHOWNORMAL);
19 return QProcess::startDetached(path, {});
36 ShellExecuteW(0, L
"open", L
"explorer.exe", p.toStdWString().c_str(),
nullptr, SW_SHOWNORMAL);
38 #elif defined Q_OS_UNIX
42 return QProcess::startDetached(
"nautilus", {path});
51 data.replace(
"+",
"%2B");
52 data.replace(
"/",
"%2F");
53 data.replace(
"=",
"%3D");
59 data.replace(
"%2B",
"+");
60 data.replace(
"%2F",
"/");
61 data.replace(
"%3D",
"=");
67 data.replace(
"+",
"%2B");
68 data.replace(
"/",
"%2F");
69 data.replace(
"=",
"%3D");
75 data.replace(
"%2B",
"+");
76 data.replace(
"%2F",
"/");
77 data.replace(
"%3D",
"=");
83 #if TTK_QT_VERSION_CHECK(5,0,0)
84 data = QUrl(data).toString(QUrl::FullyEncoded);
86 data = QUrl(data).toEncoded();
93 #if TTK_QT_VERSION_CHECK(5,0,0)
94 data = QUrl(data).toString();
96 data = QByteArray::fromPercentEncoding(data.toUtf8());
103 #if TTK_QT_VERSION_CHECK(5,0,0)
104 data = QUrl(data).toString(QUrl::FullyEncoded).toUtf8();
106 data = QUrl(data).toEncoded();
113 #if TTK_QT_VERSION_CHECK(5,0,0)
114 data = QUrl::fromEncoded(data).toString(QUrl::FullyDecoded).toUtf8();
116 data = QByteArray::fromPercentEncoding(data);
TTK_MODULE_EXPORT QString urlEncode(QString &data)
TTK_MODULE_EXPORT bool execute(const QString &path)
TTK_MODULE_EXPORT QString urlPrettyEncode(QString &data)
TTK_MODULE_EXPORT QString urlDecode(QString &data)
TTK_MODULE_EXPORT bool openUrl(const QString &path, bool local=true)
TTK_MODULE_EXPORT QString urlPrettyDecode(QString &data)