aboutsummaryrefslogtreecommitdiff
path: root/src/qt/mime.cpp
diff options
context:
space:
mode:
authordsc <xmrdsc@protonmail.com>2019-03-22 21:02:08 +0100
committerxmrdsc <xmrdsc@protonmail.com>2019-04-29 19:56:46 +0200
commit18f2accc7f5ac0941c703a7cb4dd9cab2a2bca77 (patch)
treeb1aeea40a02d76c352097dde7514b849c0e91483 /src/qt/mime.cpp
parentff6ce6294b561a6f15769a8e7a8270d57d02f8de (diff)
downloadmonzero-gui-18f2accc7f5ac0941c703a7cb4dd9cab2a2bca77.tar.gz
monzero-gui-18f2accc7f5ac0941c703a7cb4dd9cab2a2bca77.tar.xz
monzero-gui-18f2accc7f5ac0941c703a7cb4dd9cab2a2bca77.zip
IPC and custom protocol handler for monero://
Diffstat (limited to 'src/qt/mime.cpp')
-rw-r--r--src/qt/mime.cpp42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/qt/mime.cpp b/src/qt/mime.cpp
new file mode 100644
index 00000000..76fbb19c
--- /dev/null
+++ b/src/qt/mime.cpp
@@ -0,0 +1,42 @@
+#include <QtCore>
+#include <QApplication>
+#include <QFile>
+#include <QTextStream>
+
+#include "mime.h"
+#include "utils.h"
+
+void registerXdgMime(QApplication &app){
+ // MacOS handled via Info.plist
+ // Windows handled in the installer by rbrunner7
+
+ QString xdg = QString(
+ "[Desktop Entry]\n"
+ "Name=Monero GUI\n"
+ "GenericName=Monero-GUI\n"
+ "X-GNOME-FullName=Monero-GUI\n"
+ "Comment=Monero GUI\n"
+ "Keywords=Monero;\n"
+ "Exec=%1 %u\n"
+ "Terminal=false\n"
+ "Type=Application\n"
+ "Icon=monero\n"
+ "Categories=Network;GNOME;Qt;\n"
+ "MimeType=x-scheme-handler/monero;x-scheme-handler/moneroseed\n"
+ "StartupNotify=true\n"
+ "X-GNOME-Bugzilla-Bugzilla=GNOME\n"
+ "X-GNOME-UsesNotifications=true\n"
+ ).arg(app.applicationFilePath());
+
+ QString appPath = QStandardPaths::writableLocation(QStandardPaths::ApplicationsLocation);
+ QString filePath = QString("%1/monero-gui.desktop").arg(appPath);
+
+ qDebug() << QString("Writing %1").arg(filePath);
+ QFile file(filePath);
+ if(file.open(QIODevice::WriteOnly)){
+ QTextStream out(&file); out << xdg << endl;
+ file.close();
+ }
+ else
+ file.close();
+}