From 0b7c93e79945fea4af2857eff5d920bd92d1a8ea Mon Sep 17 00:00:00 2001 From: Akira Ohgaki <akiraohgaki@gmail.com> Date: Mon, 20 Feb 2017 19:32:14 +0900 Subject: [PATCH] xdgurl to ocs-url --- README.md | 6 +- xdgurl.pro => ocs-url.pro | 10 +-- pkg/appimage/appimage-desktopintegration | 2 +- pkg/arch/PKGBUILD | 6 +- pkg/build.sh | 18 ++--- pkg/fedora/{xdgurl.spec => ocs-url.spec} | 6 +- pkg/snap/setup/gui/ocs-url.desktop | 9 +++ pkg/snap/setup/gui/xdgurl.desktop | 9 --- pkg/snap/snapcraft.yaml | 10 +-- pkg/ubuntu/debian/control | 4 +- pkg/ubuntu/debian/copyright | 4 +- pkg/ubuntu/debian/ocs-url.install | 3 + pkg/ubuntu/debian/xdgurl.install | 3 - src/app/app.pri | 4 +- src/app/configs/application.json | 12 +-- .../{xdgurlhandler.cpp => ocsurlhandler.cpp} | 46 ++++++------ .../{xdgurlhandler.h => ocsurlhandler.h} | 8 +- src/app/main.cpp | 8 +- src/app/qml/main.qml | 18 ++--- src/desktop/desktop.qrc | 2 +- src/desktop/ocs-url.desktop | 9 +++ src/desktop/ocs-url.svg | 19 +++++ src/desktop/xdgurl.desktop | 9 --- src/desktop/xdgurl.svg | 75 ------------------- 24 files changed, 122 insertions(+), 178 deletions(-) rename xdgurl.pro => ocs-url.pro (75%) rename pkg/fedora/{xdgurl.spec => ocs-url.spec} (92%) create mode 100644 pkg/snap/setup/gui/ocs-url.desktop delete mode 100644 pkg/snap/setup/gui/xdgurl.desktop create mode 100644 pkg/ubuntu/debian/ocs-url.install delete mode 100644 pkg/ubuntu/debian/xdgurl.install rename src/app/handlers/{xdgurlhandler.cpp => ocsurlhandler.cpp} (87%) rename src/app/handlers/{xdgurlhandler.h => ocsurlhandler.h} (86%) create mode 100644 src/desktop/ocs-url.desktop create mode 100644 src/desktop/ocs-url.svg delete mode 100644 src/desktop/xdgurl.desktop delete mode 100644 src/desktop/xdgurl.svg diff --git a/README.md b/README.md index f58d107..911caa8 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# xdgurl +# ocs-url An install helper program for desktop stuff. @@ -10,6 +10,6 @@ Download Linux package from: https://www.linux-apps.com/p/1136805/ -And please check the xdgurl wiki for more information. +And please check the ocs-url wiki for more information. -https://github.com/xdgurl/xdgurl/wiki +https://github.com/ocs-url/ocs-url/wiki diff --git a/xdgurl.pro b/ocs-url.pro similarity index 75% rename from xdgurl.pro rename to ocs-url.pro index a232669..1eae938 100644 --- a/xdgurl.pro +++ b/ocs-url.pro @@ -1,4 +1,4 @@ -TARGET = xdgurl +TARGET = ocs-url TEMPLATE = app @@ -10,18 +10,18 @@ RESOURCES += src/desktop/desktop.qrc DISTFILES += \ README.md \ - src/desktop/xdgurl.desktop \ + src/desktop/ocs-url.desktop \ pkg/build.sh \ pkg/ubuntu/debian/changelog \ pkg/ubuntu/debian/compat \ pkg/ubuntu/debian/control \ pkg/ubuntu/debian/copyright \ pkg/ubuntu/debian/rules \ - pkg/ubuntu/debian/xdgurl.install \ - pkg/fedora/xdgurl.spec \ + pkg/ubuntu/debian/ocs-url.install \ + pkg/fedora/ocs-url.spec \ pkg/arch/PKGBUILD \ pkg/snap/snapcraft.yaml \ - pkg/snap/setup/gui/xdgurl.desktop \ + pkg/snap/setup/gui/ocs-url.desktop \ pkg/appimage/appimage-desktopintegration include(deployment.pri) diff --git a/pkg/appimage/appimage-desktopintegration b/pkg/appimage/appimage-desktopintegration index bc48aea..7fe9f5e 100755 --- a/pkg/appimage/appimage-desktopintegration +++ b/pkg/appimage/appimage-desktopintegration @@ -25,7 +25,7 @@ VENDORPREFIX=appimagekit APPDIR="$(dirname "$(readlink -f "${THIS}")")" -BIN="${APPDIR}/xdgurl" +BIN="${APPDIR}/ocs-url" export PATH="${APPDIR}/usr/bin:$PATH" trap atexit EXIT diff --git a/pkg/arch/PKGBUILD b/pkg/arch/PKGBUILD index fbb56ae..e5157d4 100644 --- a/pkg/arch/PKGBUILD +++ b/pkg/arch/PKGBUILD @@ -1,14 +1,14 @@ # Maintainer: Akira Ohgaki <akiraohgaki@gmail.com> -pkgname='xdgurl' +pkgname='ocs-url' pkgver='2.0.3' pkgrel='1' pkgdesc='An install helper program for desktop stuff.' arch=('i686' 'x86_64') -url='https://github.com/xdgurl/xdgurl' +url='https://github.com/ocs-url/ocs-url' license=('GPL3') depends=('qt5-base>=5.3.0' 'qt5-svg>=5.3.0' 'qt5-declarative>=5.3.0' 'qt5-quickcontrols>=5.3.0') -#source=("https://github.com/xdgurl/xdgurl/archive/release-${pkgver}.tar.gz") +#source=("https://github.com/ocs-url/ocs-url/archive/release-${pkgver}.tar.gz") source=("${pkgname}.tar.gz") md5sums=() #autofill using updpkgsums diff --git a/pkg/build.sh b/pkg/build.sh index c86a7cb..21a6720 100644 --- a/pkg/build.sh +++ b/pkg/build.sh @@ -1,6 +1,6 @@ #!/bin/bash -PKGNAME='xdgurl' +PKGNAME='ocs-url' PROJDIR="$(cd "$(dirname "${0}")/../" && pwd)" @@ -47,9 +47,9 @@ build_fedora() { mkdir "${BUILDDIR}/SOURCES" mkdir "${BUILDDIR}/SPECS" export_source "${BUILDDIR}/SOURCES" - cp "${PROJDIR}/pkg/fedora/xdgurl.spec" "${BUILDDIR}/SPECS" + cp "${PROJDIR}/pkg/fedora/ocs-url.spec" "${BUILDDIR}/SPECS" - rpmbuild --define "_topdir ${BUILDDIR}" -bb "${BUILDDIR}/SPECS/xdgurl.spec" + rpmbuild --define "_topdir ${BUILDDIR}" -bb "${BUILDDIR}/SPECS/ocs-url.spec" } build_arch() { @@ -103,18 +103,18 @@ build_appimage() { #qmake /opt/qt57/bin/qmake make - strip ./xdgurl + strip ./ocs-url cd "${BUILDDIR}" mkdir -p "${BUILDDIR}/${PKGNAME}.AppDir/usr/bin" - install -m 755 -p "${BUILDDIR}/${PKGNAME}/xdgurl" "${BUILDDIR}/${PKGNAME}.AppDir/xdgurl" - install -m 644 -p "${BUILDDIR}/${PKGNAME}/src/desktop/xdgurl.desktop" "${BUILDDIR}/${PKGNAME}.AppDir/xdgurl.desktop" - install -m 644 -p "${BUILDDIR}/${PKGNAME}/src/desktop/xdgurl.svg" "${BUILDDIR}/${PKGNAME}.AppDir/xdgurl.svg" + install -m 755 -p "${BUILDDIR}/${PKGNAME}/ocs-url" "${BUILDDIR}/${PKGNAME}.AppDir/ocs-url" + install -m 644 -p "${BUILDDIR}/${PKGNAME}/src/desktop/ocs-url.desktop" "${BUILDDIR}/${PKGNAME}.AppDir/ocs-url.desktop" + install -m 644 -p "${BUILDDIR}/${PKGNAME}/src/desktop/ocs-url.svg" "${BUILDDIR}/${PKGNAME}.AppDir/ocs-url.svg" install -m 755 -p /usr/bin/update-desktop-database "${BUILDDIR}/${PKGNAME}.AppDir/usr/bin/update-desktop-database" install -m 755 -p /usr/bin/desktop-file-validate "${BUILDDIR}/${PKGNAME}.AppDir/usr/bin/desktop-file-validate" install -m 755 -p /usr/bin/desktop-file-install "${BUILDDIR}/${PKGNAME}.AppDir/usr/bin/desktop-file-install" - linuxdeployqt "${BUILDDIR}/${PKGNAME}.AppDir/xdgurl" -qmldir="${BUILDDIR}/${PKGNAME}/src/app/qml" -verbose=2 -bundle-non-qt-libs # https://github.com/probonopd/linuxdeployqt/issues/25 - linuxdeployqt "${BUILDDIR}/${PKGNAME}.AppDir/xdgurl" -qmldir="${BUILDDIR}/${PKGNAME}/src/app/qml" -verbose=2 -bundle-non-qt-libs # twice because of #25 + linuxdeployqt "${BUILDDIR}/${PKGNAME}.AppDir/ocs-url" -qmldir="${BUILDDIR}/${PKGNAME}/src/app/qml" -verbose=2 -bundle-non-qt-libs # https://github.com/probonopd/linuxdeployqt/issues/25 + linuxdeployqt "${BUILDDIR}/${PKGNAME}.AppDir/ocs-url" -qmldir="${BUILDDIR}/${PKGNAME}/src/app/qml" -verbose=2 -bundle-non-qt-libs # twice because of #25 rm "${BUILDDIR}/${PKGNAME}.AppDir/AppRun" install -m 755 -p "${BUILDDIR}/${PKGNAME}/pkg/appimage/appimage-desktopintegration" "${BUILDDIR}/${PKGNAME}.AppDir/AppRun" linuxdeployqt --appimage-extract diff --git a/pkg/fedora/xdgurl.spec b/pkg/fedora/ocs-url.spec similarity index 92% rename from pkg/fedora/xdgurl.spec rename to pkg/fedora/ocs-url.spec index 544b375..aeae496 100644 --- a/pkg/fedora/xdgurl.spec +++ b/pkg/fedora/ocs-url.spec @@ -1,12 +1,12 @@ Summary: An install helper program for desktop stuff -Name: xdgurl +Name: ocs-url Version: 2.0.3 Release: 1%{?dist} License: GPLv3+ Group: Applications/Internet -URL: https://github.com/xdgurl/xdgurl +URL: https://github.com/ocs-url/ocs-url -#Source0: https://github.com/xdgurl/xdgurl/archive/release-%{version}.tar.gz +#Source0: https://github.com/ocs-url/ocs-url/archive/release-%{version}.tar.gz Source0: %{name}.tar.gz Requires: qt5-qtbase >= 5.3.0, qt5-qtbase-gui >= 5.3.0, qt5-qtsvg >= 5.3.0, qt5-qtdeclarative >= 5.3.0, qt5-qtquickcontrols >= 5.3.0 diff --git a/pkg/snap/setup/gui/ocs-url.desktop b/pkg/snap/setup/gui/ocs-url.desktop new file mode 100644 index 0000000..c3e2453 --- /dev/null +++ b/pkg/snap/setup/gui/ocs-url.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=ocs-url +Exec=ocs-url.ocs-url %u +Icon=${SNAP}/usr/share/icons/hicolor/scalable/apps/ocs-url.svg +Type=Application +Terminal=false +NoDisplay=true +Categories=Network;Utility; +MimeType=x-scheme-handler/ocs;x-scheme-handler/ocss; diff --git a/pkg/snap/setup/gui/xdgurl.desktop b/pkg/snap/setup/gui/xdgurl.desktop deleted file mode 100644 index d541072..0000000 --- a/pkg/snap/setup/gui/xdgurl.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Name=xdgurl -Exec=xdgurl.xdgurl %u -Icon=${SNAP}/usr/share/icons/hicolor/scalable/apps/xdgurl.svg -Type=Application -Terminal=false -NoDisplay=true -Categories=Network;Utility; -MimeType=x-scheme-handler/xdg;x-scheme-handler/xdgs; diff --git a/pkg/snap/snapcraft.yaml b/pkg/snap/snapcraft.yaml index e4c6b00..89828dc 100644 --- a/pkg/snap/snapcraft.yaml +++ b/pkg/snap/snapcraft.yaml @@ -1,4 +1,4 @@ -name: xdgurl +name: ocs-url version: '2.0.3' summary: An install helper program for desktop stuff description: | @@ -7,10 +7,10 @@ description: | grade: devel confinement: strict -#icon: ../../src/desktop/xdgurl.svg +#icon: ../../src/desktop/ocs-url.svg parts: - xdgurl: + ocs-url: plugin: qmake source: ../../ qt-version: qt5 @@ -30,8 +30,8 @@ parts: - desktop-qt5 apps: - xdgurl: - command: usr/bin/xdgurl + ocs-url: + command: usr/bin/ocs-url plugs: - home - network diff --git a/pkg/ubuntu/debian/control b/pkg/ubuntu/debian/control index efd11f9..5980ab3 100644 --- a/pkg/ubuntu/debian/control +++ b/pkg/ubuntu/debian/control @@ -1,11 +1,11 @@ -Source: xdgurl +Source: ocs-url Section: web Priority: optional Maintainer: Akira Ohgaki <akiraohgaki@gmail.com> Build-Depends: build-essential (>= 11), qt5-default (>= 5.3.0), libqt5svg5-dev (>= 5.3.0), qtdeclarative5-dev (>= 5.3.0), devscripts (>= 2.14), debhelper (>= 9), fakeroot (>= 1.20) Standards-Version: 3.9.4 -Package: xdgurl +Package: ocs-url Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, libqt5svg5 (>= 5.3.0), qml-module-qtquick2 (>= 5.3.0) | qtdeclarative5-qtquick2-plugin (>= 5.3.0), qml-module-qtquick-window2 (>= 5.3.0) | qtdeclarative5-window-plugin (>= 5.3.0), qml-module-qtquick-controls (>= 5.3.0) | qtdeclarative5-controls-plugin (>= 5.3.0), qml-module-qtquick-dialogs (>= 5.3.0) | qtdeclarative5-dialogs-plugin (>= 5.3.0) Description: An install helper program for desktop stuff diff --git a/pkg/ubuntu/debian/copyright b/pkg/ubuntu/debian/copyright index 68078a2..f8bcc61 100644 --- a/pkg/ubuntu/debian/copyright +++ b/pkg/ubuntu/debian/copyright @@ -1,7 +1,7 @@ Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ -Upstream-Name: xdgurl +Upstream-Name: ocs-url Upstream-Contact: Akira Ohgaki <akiraohgaki@gmail.com> -Source: https://github.com/xdgurl/xdgurl +Source: https://github.com/ocs-url/ocs-url Files: * Copyright: 2016-2017, Akira Ohgaki diff --git a/pkg/ubuntu/debian/ocs-url.install b/pkg/ubuntu/debian/ocs-url.install new file mode 100644 index 0000000..e5d62bf --- /dev/null +++ b/pkg/ubuntu/debian/ocs-url.install @@ -0,0 +1,3 @@ +usr/bin/ocs-url +usr/share/applications/ocs-url.desktop +usr/share/icons/hicolor/scalable/apps/ocs-url.svg diff --git a/pkg/ubuntu/debian/xdgurl.install b/pkg/ubuntu/debian/xdgurl.install deleted file mode 100644 index 44123c6..0000000 --- a/pkg/ubuntu/debian/xdgurl.install +++ /dev/null @@ -1,3 +0,0 @@ -usr/bin/xdgurl -usr/share/applications/xdgurl.desktop -usr/share/icons/hicolor/scalable/apps/xdgurl.svg diff --git a/src/app/app.pri b/src/app/app.pri index b37beda..6a82d4b 100644 --- a/src/app/app.pri +++ b/src/app/app.pri @@ -6,11 +6,11 @@ QT += \ svg HEADERS += \ - $${PWD}/handlers/xdgurlhandler.h + $${PWD}/handlers/ocsurlhandler.h SOURCES += \ $${PWD}/main.cpp \ - $${PWD}/handlers/xdgurlhandler.cpp + $${PWD}/handlers/ocsurlhandler.cpp RESOURCES += \ $${PWD}/configs/configs.qrc \ diff --git a/src/app/configs/application.json b/src/app/configs/application.json index 1419f6b..f640501 100644 --- a/src/app/configs/application.json +++ b/src/app/configs/application.json @@ -1,13 +1,13 @@ { - "id": "xdgurl", - "name": "xdgurl", + "id": "ocs-url", + "name": "ocs-url", "version": "2.0.3", - "organization": "xdgurl", - "domain": "com.xdgurl.xdgurl", - "icon": ":/desktop/xdgurl.svg", + "organization": "ocs-url", + "domain": "com.ocs-url.ocs-url", + "icon": ":/desktop/ocs-url.svg", "description": "An install helper program for desktop stuff.", "license": "GPL-3+", "author": "Akira Ohgaki", "contact": "akiraohgaki@gmail.com", - "homepage": "https://github.com/xdgurl/xdgurl" + "homepage": "https://github.com/ocs-url/ocs-url" } diff --git a/src/app/handlers/xdgurlhandler.cpp b/src/app/handlers/ocsurlhandler.cpp similarity index 87% rename from src/app/handlers/xdgurlhandler.cpp rename to src/app/handlers/ocsurlhandler.cpp index 91533ca..f3f1aae 100644 --- a/src/app/handlers/xdgurlhandler.cpp +++ b/src/app/handlers/ocsurlhandler.cpp @@ -1,4 +1,4 @@ -#include "xdgurlhandler.h" +#include "ocsurlhandler.h" #include <QUrlQuery> #include <QDesktopServices> @@ -8,45 +8,45 @@ #include "qtlib_networkresource.h" #include "qtlib_package.h" -XdgUrlHandler::XdgUrlHandler(const QString &xdgUrl, const qtlib::Config &config, QObject *parent) - : QObject(parent), xdgUrl_(xdgUrl), config_(config) +OcsUrlHandler::OcsUrlHandler(const QString &ocsUrl, const qtlib::Config &config, QObject *parent) + : QObject(parent), ocsUrl_(ocsUrl), config_(config) { parse(); loadDestinations(); } -QString XdgUrlHandler::xdgUrl() const +QString OcsUrlHandler::ocsUrl() const { - return xdgUrl_; + return ocsUrl_; } -QJsonObject XdgUrlHandler::metadata() const +QJsonObject OcsUrlHandler::metadata() const { return metadata_; } -void XdgUrlHandler::process() +void OcsUrlHandler::process() { - // xdgs scheme is a reserved name, so the process of xdgs - // is the same process of the xdg scheme currently. + // ocss scheme is a reserved name, so the process of ocss + // is the same process of the ocs scheme currently. if (!isValid()) { QJsonObject result; result["status"] = QString("error_validation"); - result["message"] = QString("Invalid XDG-URL " + xdgUrl_); + result["message"] = QString("Invalid OCS-URL " + ocsUrl_); emit finishedWithError(result); return; } QString url = metadata_["url"].toString(); qtlib::NetworkResource *resource = new qtlib::NetworkResource(url, QUrl(url), true, this); - connect(resource, &qtlib::NetworkResource::downloadProgress, this, &XdgUrlHandler::downloadProgress); - connect(resource, &qtlib::NetworkResource::finished, this, &XdgUrlHandler::networkResourceFinished); + connect(resource, &qtlib::NetworkResource::downloadProgress, this, &OcsUrlHandler::downloadProgress); + connect(resource, &qtlib::NetworkResource::finished, this, &OcsUrlHandler::networkResourceFinished); resource->get(); emit started(); } -bool XdgUrlHandler::isValid() +bool OcsUrlHandler::isValid() { QString scheme = metadata_["scheme"].toString(); QString command = metadata_["command"].toString(); @@ -54,7 +54,7 @@ bool XdgUrlHandler::isValid() QString type = metadata_["type"].toString(); QString filename = metadata_["filename"].toString(); - if ((scheme == "xdg" || scheme == "xdgs") + if ((scheme == "ocs" || scheme == "ocss") && (command == "download" || command == "install") && QUrl(url).isValid() && destinations_.contains(type) @@ -64,13 +64,13 @@ bool XdgUrlHandler::isValid() return false; } -void XdgUrlHandler::openDestination() +void OcsUrlHandler::openDestination() { QString type = metadata_["type"].toString(); QDesktopServices::openUrl(QUrl("file://" + destinations_[type].toString())); } -void XdgUrlHandler::networkResourceFinished(qtlib::NetworkResource *resource) +void OcsUrlHandler::networkResourceFinished(qtlib::NetworkResource *resource) { if (!resource->isFinishedWithNoError()) { QJsonObject result; @@ -89,12 +89,12 @@ void XdgUrlHandler::networkResourceFinished(qtlib::NetworkResource *resource) } } -void XdgUrlHandler::parse() +void OcsUrlHandler::parse() { - QUrl url(xdgUrl_); + QUrl url(ocsUrl_); QUrlQuery query(url); - metadata_["scheme"] = QString("xdg"); + metadata_["scheme"] = QString("ocs"); metadata_["command"] = QString("download"); metadata_["url"] = QString(""); metadata_["type"] = QString("downloads"); @@ -125,7 +125,7 @@ void XdgUrlHandler::parse() } } -void XdgUrlHandler::loadDestinations() +void OcsUrlHandler::loadDestinations() { QJsonObject configDestinations = config_.get("destinations"); QJsonObject configDestinationsAlias = config_.get("destinations_alias"); @@ -142,7 +142,7 @@ void XdgUrlHandler::loadDestinations() } } -QString XdgUrlHandler::convertPathString(const QString &path) +QString OcsUrlHandler::convertPathString(const QString &path) { QString newPath = path; @@ -159,7 +159,7 @@ QString XdgUrlHandler::convertPathString(const QString &path) return newPath; } -void XdgUrlHandler::saveDownloadedFile(qtlib::NetworkResource *resource) +void OcsUrlHandler::saveDownloadedFile(qtlib::NetworkResource *resource) { QJsonObject result; @@ -183,7 +183,7 @@ void XdgUrlHandler::saveDownloadedFile(qtlib::NetworkResource *resource) resource->deleteLater(); } -void XdgUrlHandler::installDownloadedFile(qtlib::NetworkResource *resource) +void OcsUrlHandler::installDownloadedFile(qtlib::NetworkResource *resource) { QJsonObject result; diff --git a/src/app/handlers/xdgurlhandler.h b/src/app/handlers/ocsurlhandler.h similarity index 86% rename from src/app/handlers/xdgurlhandler.h rename to src/app/handlers/ocsurlhandler.h index 6abc30b..ba56c29 100644 --- a/src/app/handlers/xdgurlhandler.h +++ b/src/app/handlers/ocsurlhandler.h @@ -9,12 +9,12 @@ namespace qtlib { class NetworkResource; } -class XdgUrlHandler : public QObject +class OcsUrlHandler : public QObject { Q_OBJECT public: - explicit XdgUrlHandler(const QString &xdgUrl, const qtlib::Config &config, QObject *parent = 0); + explicit OcsUrlHandler(const QString &ocsUrl, const qtlib::Config &config, QObject *parent = 0); signals: void started(); @@ -23,7 +23,7 @@ signals: void downloadProgress(QString id, qint64 bytesReceived, qint64 bytesTotal); public slots: - QString xdgUrl() const; + QString ocsUrl() const; QJsonObject metadata() const; void process(); @@ -40,7 +40,7 @@ private: void saveDownloadedFile(qtlib::NetworkResource *resource); void installDownloadedFile(qtlib::NetworkResource *resource); - QString xdgUrl_; + QString ocsUrl_; qtlib::Config config_; QJsonObject metadata_; QJsonObject destinations_; diff --git a/src/app/main.cpp b/src/app/main.cpp index 7f3aebc..3d60d07 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -12,7 +12,7 @@ #include "qtlib_config.h" -#include "handlers/xdgurlhandler.h" +#include "handlers/ocsurlhandler.h" int main(int argc, char *argv[]) { @@ -36,7 +36,7 @@ int main(int argc, char *argv[]) clParser.setApplicationDescription(configApplication["description"].toString()); clParser.addHelpOption(); clParser.addVersionOption(); - clParser.addPositionalArgument("xdgurl", "XDG-URL"); + clParser.addPositionalArgument("ocsurl", "OCS-URL"); clParser.process(app); QStringList args = clParser.positionalArguments(); @@ -45,12 +45,12 @@ int main(int argc, char *argv[]) clParser.showHelp(1); } - QString xdgUrl = args.at(0); + QString ocsUrl = args.at(0); // Setup QML QQmlApplicationEngine qmlAppEngine; QQmlContext *qmlContext = qmlAppEngine.rootContext(); - qmlContext->setContextProperty("xdgUrlHandler", new XdgUrlHandler(xdgUrl, config, &qmlAppEngine)); + qmlContext->setContextProperty("ocsUrlHandler", new OcsUrlHandler(ocsUrl, config, &qmlAppEngine)); qmlAppEngine.load(QUrl("qrc:/qml/main.qml")); return app.exec(); diff --git a/src/app/qml/main.qml b/src/app/qml/main.qml index 385d45f..4e367f7 100644 --- a/src/app/qml/main.qml +++ b/src/app/qml/main.qml @@ -23,7 +23,7 @@ Window { informativeText: "" detailedText: "" standardButtons: StandardButton.Ok | StandardButton.Cancel - onAccepted: xdgUrlHandler.process() + onAccepted: ocsUrlHandler.process() onRejected: Qt.quit() } @@ -36,7 +36,7 @@ Window { detailedText: "" standardButtons: StandardButton.Open | StandardButton.Close onAccepted: { - xdgUrlHandler.openDestination(); + ocsUrlHandler.openDestination(); Qt.quit(); } onRejected: Qt.quit() @@ -100,7 +100,7 @@ Window { } Component.onCompleted: { - var metadata = xdgUrlHandler.metadata(); + var metadata = ocsUrlHandler.metadata(); var primaryMessages = { "success_download": qsTr("Download successfull"), "success_install": qsTr("Installation successfull"), @@ -110,11 +110,11 @@ Window { "error_install": qsTr("Installation failed") }; - xdgUrlHandler.started.connect(function() { + ocsUrlHandler.started.connect(function() { progressDialog.open(); }); - xdgUrlHandler.finishedWithSuccess.connect(function(result) { + ocsUrlHandler.finishedWithSuccess.connect(function(result) { progressDialog.close(); infoDialog.text = primaryMessages[result.status]; infoDialog.informativeText = metadata.filename; @@ -122,7 +122,7 @@ Window { infoDialog.open(); }); - xdgUrlHandler.finishedWithError.connect(function(result) { + ocsUrlHandler.finishedWithError.connect(function(result) { progressDialog.close(); errorDialog.text = primaryMessages[result.status]; errorDialog.informativeText = metadata.filename; @@ -130,7 +130,7 @@ Window { errorDialog.open(); }); - xdgUrlHandler.downloadProgress.connect(function(id, bytesReceived, bytesTotal) { + ocsUrlHandler.downloadProgress.connect(function(id, bytesReceived, bytesTotal) { progressDialog.primaryLabel.text = qsTr("Downloading"); progressDialog.informativeLabel.text = metadata.filename; progressDialog.progressBar.value = bytesReceived / bytesTotal; @@ -138,7 +138,7 @@ Window { + " / " + Utility.convertByteToHumanReadable(bytesTotal) }); - if (xdgUrlHandler.isValid()) { + if (ocsUrlHandler.isValid()) { if (metadata.command === "download") { confirmDialog.text = qsTr("Do you want to download?"); } @@ -153,7 +153,7 @@ Window { } else { errorDialog.text = qsTr("Validation error"); - errorDialog.detailedText = qsTr("Invalid XDG-URL") + " " + xdgUrlHandler.xdgUrl(); + errorDialog.detailedText = qsTr("Invalid OCS-URL") + " " + ocsUrlHandler.ocsUrl(); errorDialog.open(); } } diff --git a/src/desktop/desktop.qrc b/src/desktop/desktop.qrc index 2e04750..61a8e10 100644 --- a/src/desktop/desktop.qrc +++ b/src/desktop/desktop.qrc @@ -1,5 +1,5 @@ <RCC> <qresource prefix="/desktop"> - <file>xdgurl.svg</file> + <file>ocs-url.svg</file> </qresource> </RCC> diff --git a/src/desktop/ocs-url.desktop b/src/desktop/ocs-url.desktop new file mode 100644 index 0000000..7e1c16d --- /dev/null +++ b/src/desktop/ocs-url.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=ocs-url +Exec=ocs-url %u +Icon=ocs-url +Type=Application +Terminal=false +NoDisplay=true +Categories=Network;Utility; +MimeType=x-scheme-handler/ocs;x-scheme-handler/ocss; diff --git a/src/desktop/ocs-url.svg b/src/desktop/ocs-url.svg new file mode 100644 index 0000000..befab89 --- /dev/null +++ b/src/desktop/ocs-url.svg @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0" y="0" width="1000" height="1000" viewBox="0, 0, 1000, 1000"> + <g id="icon"> + <g id="background"> + <path d="M975,500 C975,762.335 762.335,975 500,975 C237.665,975 25,762.335 25,500 C25,237.665 237.665,25 500,25 C762.335,25 975,237.665 975,500 z" fill="#19A2FF" id="background-2"/> + <path d="M950,500 C950,748.528 748.528,950 500,950 C251.472,950 50,748.528 50,500 C50,251.472 251.472,50 500,50 C748.528,50 950,251.472 950,500 z" fill="#53B2FF" id="background-1"/> + </g> + <g id="ocs-url"> + <path d="M902.992,380.107 L924.992,380.107 L830.653,670.28 L808.653,670.28 z" fill="#FFFFFF" id="slash-2"/> + <path d="M852.992,380.107 L874.992,380.107 L780.653,670.28 L758.653,670.28 z" fill="#FFFFFF" id="slash-1"/> + <path d="M739.533,556.848 L775.533,556.848 L775.533,592.848 L739.533,592.848 z" fill="#FFFFFF" id="colon-2"/> + <path d="M739.505,457.85 L775.505,457.85 L775.505,493.85 L739.505,493.85 z" fill="#FFFFFF" id="colon-1"/> + <path d="M619.548,389.93 Q581.46,389.931 559.59,399.494 Q537.719,409.057 526.825,425.772 Q515.931,442.487 515.931,461.281 Q515.931,489.888 537.22,508.349 Q558.342,526.811 607.906,537.954 Q638.175,544.607 646.491,552.091 Q654.807,559.576 654.807,569.055 Q654.807,579.035 646.076,586.602 Q637.343,594.17 621.211,594.169 Q599.589,594.17 587.947,579.367 Q580.795,570.22 578.467,552.756 L506.784,557.247 Q509.943,594.17 533.893,618.12 Q557.843,642.07 620.047,642.069 Q655.472,642.07 678.757,631.84 Q702.041,621.612 715.014,601.82 Q727.987,582.029 727.987,558.577 Q727.987,538.619 718.258,522.486 Q708.528,506.354 687.156,495.459 Q665.784,484.566 616.388,473.921 Q596.429,469.764 591.108,464.94 Q585.618,460.283 585.619,454.462 Q585.618,446.479 592.272,440.907 Q598.924,435.336 612.063,435.335 Q628.03,435.336 637.094,442.819 Q646.158,450.304 648.986,466.77 L720.005,462.611 Q715.347,424.691 690.815,407.31 Q666.283,389.931 619.548,389.93 z" fill="#FFFFFF" id="s"/> + <path d="M449.767,389.931 Q424.743,389.931 401.937,399.275 Q379.13,408.62 361.867,425.249 Q344.604,441.879 334.31,464.844 Q324.015,487.809 324.015,515.366 Q324.015,542.925 334.468,566.206 Q344.921,589.488 362.184,606.434 Q379.447,623.381 402.095,632.724 Q424.743,642.069 449.451,642.069 Q461.487,642.069 473.841,639.693 Q486.194,637.318 500.448,632.249 L506.784,630.032 L506.784,556.544 Q483.027,581.886 453.252,581.885 Q439.631,581.886 427.911,576.817 Q416.191,571.75 407.48,562.88 Q398.769,554.011 393.86,541.974 Q388.95,529.938 388.95,515.683 Q388.95,501.746 393.86,489.709 Q398.769,477.673 407.322,468.961 Q415.874,460.251 427.753,455.182 Q439.631,450.115 453.568,450.114 Q485.244,450.115 506.784,476.405 L506.784,402.284 Q491.579,395.95 477.8,392.94 Q464.021,389.931 449.767,389.931 z" fill="#FFFFFF" id="c"/> + <path d="M223.997,389.93 Q252.822,389.932 277.212,399.591 Q301.602,409.254 319.183,426.357 Q336.762,443.463 346.582,466.427 Q356.401,489.393 356.402,515.999 Q356.401,542.608 346.582,565.572 Q336.762,588.538 319.183,605.641 Q301.602,622.748 277.212,632.407 Q252.822,642.07 223.997,642.068 Q194.855,642.07 170.624,632.407 Q146.392,622.748 128.97,605.641 Q111.548,588.538 101.729,565.572 Q91.91,542.608 91.91,515.999 Q91.91,489.393 101.729,466.427 Q111.548,443.463 128.97,426.357 Q146.392,409.254 170.624,399.591 Q194.855,389.932 223.997,389.93 z M223.997,450.114 Q210.377,450.115 198.182,455.024 Q185.986,459.935 176.801,468.803 Q167.614,477.673 162.23,489.709 Q156.845,501.747 156.845,515.999 Q156.845,530.255 162.23,542.29 Q167.614,554.328 176.801,563.196 Q185.986,572.067 198.182,576.975 Q210.377,581.886 223.997,581.885 Q237.618,581.886 249.813,576.975 Q262.008,572.067 271.352,563.196 Q280.697,554.328 286.082,542.29 Q291.466,530.255 291.466,515.999 Q291.466,501.747 286.082,489.709 Q280.697,477.673 271.352,468.803 Q262.008,459.935 249.813,455.024 Q237.618,450.115 223.997,450.114 z" fill="#FFFFFF" id="o"/> + </g> + </g> +</svg> diff --git a/src/desktop/xdgurl.desktop b/src/desktop/xdgurl.desktop deleted file mode 100644 index aba57f1..0000000 --- a/src/desktop/xdgurl.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Name=xdgurl -Exec=xdgurl %u -Icon=xdgurl -Type=Application -Terminal=false -NoDisplay=true -Categories=Network;Utility; -MimeType=x-scheme-handler/xdg;x-scheme-handler/xdgs; diff --git a/src/desktop/xdgurl.svg b/src/desktop/xdgurl.svg deleted file mode 100644 index a55a8e4..0000000 --- a/src/desktop/xdgurl.svg +++ /dev/null @@ -1,75 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - version="1.1" - id="svg2" - viewBox="0 0 1000 1000" - height="1000" - width="1000"> - <defs - id="defs4" /> - <metadata - id="metadata7"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title></dc:title> - </cc:Work> - </rdf:RDF> - </metadata> - <g - transform="translate(0,-52.362161)" - id="layer1"> - <circle - r="475" - cy="552.36218" - cx="500" - id="path4138" - style="fill:#19a2ff;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - <circle - r="450" - cy="552.36218" - cx="500" - id="path4138-0" - style="fill:#53b2ff;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - <g - transform="translate(0,20)" - id="g4205"> - <path - id="path4145" - style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:medium;line-height:125%;font-family:Futura;-inkscape-font-specification:'Futura Medium';letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - d="m 192.87313,533.47911 -74.36008,-101.11803 56.93857,0 46.10326,64.24502 46.95309,-64.24502 58.63824,0 -76.48467,101.11803 88.59474,119.21524 -56.93858,0 -60.76282,-82.34221 -62.25002,82.34221 -58.42577,0 91.99404,-119.21524 z" /> - <path - id="path4147" - style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:medium;line-height:125%;font-family:Futura;-inkscape-font-specification:'Futura Medium';letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - d="m 472.62967,312.47491 48.01537,0 0,340.84056 -48.01537,0 0,-21.67066 c -18.83789,18.41297 -40.15445,27.61946 -63.94968,27.61946 -28.32765,0 -51.83961,-10.33959 -70.53586,-31.01878 -18.55461,-21.1041 -27.83192,-47.44882 -27.83192,-79.03415 0,-30.87715 9.27731,-56.65531 27.83192,-77.3345 18.41298,-20.82082 41.57084,-31.23123 69.47357,-31.23123 24.22015,0 45.8908,9.91468 65.01197,29.74403 z M 359.17742,549.21134 c 0,19.82935 5.31143,35.97612 15.9343,48.44029 10.90615,12.60581 24.64506,18.90871 41.21674,18.90871 17.70478,0 32.01024,-6.09045 42.91639,-18.27134 10.90615,-12.60581 16.35922,-28.61093 16.35922,-48.01537 0,-19.40445 -5.45307,-35.40957 -16.35922,-48.01538 -10.90615,-12.32253 -25.06997,-18.48379 -42.49148,-18.48379 -16.43004,0 -30.16895,6.23208 -41.21673,18.69625 -10.90615,12.60581 -16.35922,28.18602 -16.35922,46.74063 z" /> - <path - id="path4149" - style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:medium;line-height:125%;font-family:Futura;-inkscape-font-specification:'Futura Medium';letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - d="m 722.24998,648.95295 c 0,9.77304 -0.3541,18.34215 -1.06229,25.70734 -0.56655,7.50683 -1.41638,14.09301 -2.54949,19.75854 -3.39932,15.58021 -10.05632,28.96502 -19.97099,40.15445 -18.69625,21.52901 -44.4036,32.29352 -77.12204,32.29352 -27.61947,0 -50.35241,-7.43601 -68.19883,-22.30802 -18.41297,-15.29693 -29.03584,-36.47186 -31.86861,-63.52477 l 48.01537,0 c 1.8413,10.19796 4.88652,18.05889 9.13567,23.58278 9.91468,12.88908 24.36178,19.33362 43.34131,19.33362 34.98465,0 52.47698,-21.4582 52.47698,-64.37459 l 0,-28.89421 c -18.97953,19.40444 -40.86264,29.10666 -65.64934,29.10666 -28.18601,0 -51.27305,-10.19795 -69.26111,-30.59386 -18.1297,-20.67919 -27.19455,-46.52817 -27.19455,-77.54695 0,-30.16895 8.42748,-55.80548 25.28243,-76.90959 18.1297,-22.37884 42.06657,-33.56826 71.81061,-33.56826 26.06144,0 47.73209,9.70222 65.01196,29.10666 l 0,-27.37031 47.80292,0 z m -45.8908,-98.15532 c 0,-20.11264 -5.38225,-36.18859 -16.14676,-48.22784 C 649.30627,490.24726 635.3549,484.086 618.35831,484.086 c -18.1297,0 -32.43517,6.72782 -42.9164,20.18345 -9.48976,12.03925 -14.23464,27.61946 -14.23464,46.74063 0,18.83789 4.74488,34.27647 14.23464,46.31572 10.33959,13.17236 24.64506,19.75854 42.9164,19.75854 18.27133,0 32.71844,-6.657 43.34131,-19.971 9.77304,-12.03925 14.65956,-27.47782 14.65956,-46.31571 z" /> - <path - style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="m 739.50519,490.21255 36,0 0,36 -36,0 z" - id="rect4156" /> - <path - style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="m 739.53345,589.21057 36,0 0,36 -36,0 z" - id="rect4156-9" /> - <path - style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="m 852.99238,412.46896 22,0 -94.33913,290.17369 -22,0 z" - id="rect4156-5" /> - <path - style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="m 902.99238,412.46896 22,0 -94.33913,290.17369 -22,0 z" - id="rect4156-5-3" /> - </g> - </g> -</svg> -- GitLab