aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--components/DaemonManagerDialog.qml20
-rw-r--r--main.qml6
-rw-r--r--pages/Settings.qml19
-rw-r--r--pages/Transfer.qml2
-rw-r--r--src/daemon/DaemonManager.cpp13
-rw-r--r--src/daemon/DaemonManager.h2
6 files changed, 54 insertions, 8 deletions
diff --git a/components/DaemonManagerDialog.qml b/components/DaemonManagerDialog.qml
index da3cf582..f07e982d 100644
--- a/components/DaemonManagerDialog.qml
+++ b/components/DaemonManagerDialog.qml
@@ -91,7 +91,7 @@ Window {
KeyNavigation.tab: cancelButton
onClicked: {
root.close()
- appWindow.startDaemon();
+ appWindow.startDaemon(daemonFlags.text);
root.started()
}
}
@@ -112,6 +112,24 @@ Window {
}
}
}
+ RowLayout {
+ id: advancedRow
+ MoneroComponents.Label {
+ id: daemonFlagsLabel
+ color: "#4A4949"
+ text: qsTr("Daemon startup flags") + translationManager.emptyString
+ fontSize: 16
+ }
+
+ MoneroComponents.LineEdit {
+ id: daemonFlags
+ Layout.preferredWidth: 200
+ Layout.fillWidth: true
+ text: appWindow.persistentSettings.daemonFlags;
+ placeholderText: qsTr("(optional)")
+ }
+
+ }
}
}
diff --git a/main.qml b/main.qml
index 95eb8a71..e3bc1871 100644
--- a/main.qml
+++ b/main.qml
@@ -341,9 +341,10 @@ ApplicationWindow {
onWalletUpdate();
}
- function startDaemon(){
+ function startDaemon(flags){
appWindow.showProcessingSplash(qsTr("Waiting for daemon to start..."))
- daemonManager.start();
+ daemonManager.start(flags);
+ persistentSettings.daemonFlags = flags
}
function stopDaemon(){
@@ -714,6 +715,7 @@ ApplicationWindow {
property int restore_height : 0
property bool is_recovering : false
property bool customDecorations : true
+ property string daemonFlags
}
// Information dialog
diff --git a/pages/Settings.qml b/pages/Settings.qml
index 52dc4496..495d55c9 100644
--- a/pages/Settings.qml
+++ b/pages/Settings.qml
@@ -299,7 +299,7 @@ Rectangle {
releasedColor: "#FF6C3C"
pressedColor: "#FF4304"
onClicked: {
- appWindow.startDaemon()
+ appWindow.startDaemon(daemonFlags.text)
}
}
@@ -336,6 +336,23 @@ Rectangle {
}
RowLayout {
+ id: daemonFlagsRow
+ Label {
+ id: daemonFlagsLabel
+ color: "#4A4949"
+ text: qsTr("Daemon startup flags") + translationManager.emptyString
+ fontSize: 16
+ }
+ LineEdit {
+ id: daemonFlags
+ Layout.preferredWidth: 200
+ Layout.fillWidth: true
+ text: appWindow.persistentSettings.daemonFlags;
+ placeholderText: qsTr("(optional)") + translationManager.emptyString
+ }
+ }
+
+ RowLayout {
CheckBox {
id: customDecorationsCheckBox
checked: persistentSettings.customDecorations
diff --git a/pages/Transfer.qml b/pages/Transfer.qml
index 4068b378..8e070246 100644
--- a/pages/Transfer.qml
+++ b/pages/Transfer.qml
@@ -433,7 +433,7 @@ Rectangle {
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
textFormat: Text.RichText
- onLinkActivated: { appWindow.startDaemon(); }
+ onLinkActivated: { appWindow.startDaemon(appWindow.persistentSettings.daemonFlags); }
}
}
diff --git a/src/daemon/DaemonManager.cpp b/src/daemon/DaemonManager.cpp
index 185cde1e..e85db709 100644
--- a/src/daemon/DaemonManager.cpp
+++ b/src/daemon/DaemonManager.cpp
@@ -23,7 +23,7 @@ DaemonManager *DaemonManager::instance(const QStringList *args)
return m_instance;
}
-bool DaemonManager::start()
+bool DaemonManager::start(const QString &flags)
{
//
QString process;
@@ -43,9 +43,18 @@ bool DaemonManager::start()
QStringList arguments;
foreach (const QString &str, m_clArgs) {
qDebug() << QString(" [%1] ").arg(str);
- arguments << str;
+ if (!str.isEmpty())
+ arguments << str;
}
+ // Custom startup flags for daemon
+ foreach (const QString &str, flags.split(" ")) {
+ qDebug() << QString(" [%1] ").arg(str);
+ if (!str.isEmpty())
+ arguments << str;
+ }
+
+
qDebug() << "starting monerod " + process;
qDebug() << "With command line arguments " << arguments;
diff --git a/src/daemon/DaemonManager.h b/src/daemon/DaemonManager.h
index 8f425fd5..7c9730e8 100644
--- a/src/daemon/DaemonManager.h
+++ b/src/daemon/DaemonManager.h
@@ -13,7 +13,7 @@ public:
static DaemonManager * instance(const QStringList *args);
- Q_INVOKABLE bool start();
+ Q_INVOKABLE bool start(const QString &flags);
Q_INVOKABLE bool stop();
// return true if daemon process is started