aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxiphon <xiphon@protonmail.com>2019-12-10 00:42:48 +0000
committerxiphon <xiphon@protonmail.com>2019-12-12 00:10:22 +0000
commitba24fd79bb50ff82f0fd94a5c0bd06f2130f3bd7 (patch)
tree5c400e055ae67c94df1a81d53338665514d35ad7
parent46227bdad08e191d54e49813ee2f4c0e3c226f95 (diff)
downloadmonzero-gui-ba24fd79bb50ff82f0fd94a5c0bd06f2130f3bd7.tar.gz
monzero-gui-ba24fd79bb50ff82f0fd94a5c0bd06f2130f3bd7.tar.xz
monzero-gui-ba24fd79bb50ff82f0fd94a5c0bd06f2130f3bd7.zip
SettingsInfo: open containing folder on wallet log path click
-rw-r--r--pages/settings/SettingsInfo.qml33
-rw-r--r--src/main/oshelper.cpp16
-rw-r--r--src/main/oshelper.h1
3 files changed, 43 insertions, 7 deletions
diff --git a/pages/settings/SettingsInfo.qml b/pages/settings/SettingsInfo.qml
index c7ca7dc0..3d5f779b 100644
--- a/pages/settings/SettingsInfo.qml
+++ b/pages/settings/SettingsInfo.qml
@@ -132,14 +132,21 @@ Rectangle {
MoneroComponents.TextBlock {
Layout.fillWidth: true
- Layout.maximumWidth: 360
color: MoneroComponents.Style.dimmedFontColor
font.pixelSize: 14
- text: {
- var wallet_path = walletPath();
- if(isIOS)
- wallet_path = moneroAccountsDir + wallet_path;
- return wallet_path;
+ property string walletPath: (isIOS ? moneroAccountsDir : "") + appWindow.walletPath()
+ text: "\
+ <style type='text/css'>\
+ a {cursor:pointer;text-decoration: none; color: #FF6C3C}\
+ </style>\
+ <a href='#'>%1</a>".arg(walletPath)
+ textFormat: Text.RichText
+ onLinkActivated: oshelper.openContainingFolder(walletPath)
+
+ MouseArea {
+ anchors.fill: parent
+ acceptedButtons: Qt.NoButton
+ cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor
}
}
@@ -262,7 +269,19 @@ Rectangle {
Layout.fillWidth: true
color: MoneroComponents.Style.dimmedFontColor
font.pixelSize: 14
- text: walletLogPath
+ text: "\
+ <style type='text/css'>\
+ a {cursor:pointer;text-decoration: none; color: #FF6C3C}\
+ </style>\
+ <a href='#'>%1</a>".arg(walletLogPath)
+ textFormat: Text.RichText
+ onLinkActivated: oshelper.openContainingFolder(walletLogPath)
+
+ MouseArea {
+ anchors.fill: parent
+ acceptedButtons: Qt.NoButton
+ cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor
+ }
}
Rectangle {
diff --git a/src/main/oshelper.cpp b/src/main/oshelper.cpp
index c1326c0f..313fd233 100644
--- a/src/main/oshelper.cpp
+++ b/src/main/oshelper.cpp
@@ -30,7 +30,10 @@
#include <QTemporaryFile>
#include <QDir>
#include <QDebug>
+#include <QDesktopServices>
+#include <QFileInfo>
#include <QString>
+#include <QUrl>
#ifdef Q_OS_MAC
#include "qt/macoshelper.h"
#endif
@@ -51,6 +54,19 @@ OSHelper::OSHelper(QObject *parent) : QObject(parent)
}
+bool OSHelper::openContainingFolder(const QString &filePath) const
+{
+ QUrl prepared;
+ prepared.setScheme("file");
+ prepared.setPath(QFileInfo(filePath).absolutePath());
+ if (!prepared.isValid())
+ {
+ qWarning() << "malformed file path" << filePath << prepared.errorString();
+ return false;
+ }
+ return QDesktopServices::openUrl(prepared);
+}
+
QString OSHelper::temporaryFilename() const
{
QString tempFileName;
diff --git a/src/main/oshelper.h b/src/main/oshelper.h
index 4d378a9d..72f284af 100644
--- a/src/main/oshelper.h
+++ b/src/main/oshelper.h
@@ -39,6 +39,7 @@ class OSHelper : public QObject
public:
explicit OSHelper(QObject *parent = 0);
+ Q_INVOKABLE bool openContainingFolder(const QString &filePath) const;
Q_INVOKABLE QString temporaryFilename() const;
Q_INVOKABLE QString temporaryPath() const;
Q_INVOKABLE bool removeTemporaryWallet(const QString &walletName) const;