mirror of
https://github.com/monero-project/monero-gui
synced 2024-12-20 04:15:53 +01:00
onDaemonStarted/stopped signals/slots
This commit is contained in:
parent
de635cb24f
commit
48471f3407
31
main.qml
31
main.qml
@ -59,6 +59,7 @@ ApplicationWindow {
|
|||||||
property int restoreHeight:0
|
property int restoreHeight:0
|
||||||
property bool daemonSynced: false
|
property bool daemonSynced: false
|
||||||
property int maxWindowHeight: (Screen.height < 900)? 720 : 800;
|
property int maxWindowHeight: (Screen.height < 900)? 720 : 800;
|
||||||
|
property bool daemonRunning: false
|
||||||
|
|
||||||
// true if wallet ever synchronized
|
// true if wallet ever synchronized
|
||||||
property bool walletInitialized : false
|
property bool walletInitialized : false
|
||||||
@ -292,6 +293,10 @@ ApplicationWindow {
|
|||||||
// TODO: implement onDaemonSynced or similar in wallet API and don't start refresh thread before daemon is synced
|
// TODO: implement onDaemonSynced or similar in wallet API and don't start refresh thread before daemon is synced
|
||||||
daemonSynced = (currentWallet.connected != Wallet.ConnectionStatus_Disconnected && dCurrentBlock >= dTargetBlock)
|
daemonSynced = (currentWallet.connected != Wallet.ConnectionStatus_Disconnected && dCurrentBlock >= dTargetBlock)
|
||||||
|
|
||||||
|
// If wallet isnt connected and no daemon is running - Ask
|
||||||
|
if(!currentWallet.connected && !daemonManager.running() && !walletInitialized){
|
||||||
|
daemonManagerDialog.open();
|
||||||
|
}
|
||||||
|
|
||||||
// Refresh is succesfull if blockchain height > 1
|
// Refresh is succesfull if blockchain height > 1
|
||||||
if (currentWallet.blockChainHeight() > 1){
|
if (currentWallet.blockChainHeight() > 1){
|
||||||
@ -317,22 +322,19 @@ ApplicationWindow {
|
|||||||
walletInitialized = true
|
walletInitialized = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// daemonManager.daemonConsole();
|
|
||||||
// console.log("Daemon runnnig: ",daemonManager.running());
|
|
||||||
|
|
||||||
if(!daemonManager.running()){
|
|
||||||
daemonManagerDialog.open();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
onWalletUpdate();
|
onWalletUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function onDaemonStarted(){
|
||||||
|
console.log("daemon started");
|
||||||
|
daemonRunning = true;
|
||||||
|
}
|
||||||
|
function onDaemonStopped(){
|
||||||
|
console.log("daemon stopped");
|
||||||
|
daemonRunning = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function onWalletNewBlock(blockHeight) {
|
function onWalletNewBlock(blockHeight) {
|
||||||
if (splash.visible) {
|
if (splash.visible) {
|
||||||
var currHeight = blockHeight
|
var currHeight = blockHeight
|
||||||
@ -645,6 +647,9 @@ ApplicationWindow {
|
|||||||
walletManager.walletOpened.connect(onWalletOpened);
|
walletManager.walletOpened.connect(onWalletOpened);
|
||||||
walletManager.walletClosed.connect(onWalletClosed);
|
walletManager.walletClosed.connect(onWalletClosed);
|
||||||
|
|
||||||
|
daemonManager.daemonStarted.connect(onDaemonStarted);
|
||||||
|
daemonManager.daemonStopped.connect(onDaemonStopped);
|
||||||
|
|
||||||
if(!walletsFound()) {
|
if(!walletsFound()) {
|
||||||
rootItem.state = "wizard"
|
rootItem.state = "wizard"
|
||||||
} else {
|
} else {
|
||||||
|
@ -36,6 +36,8 @@ bool DaemonManager::start()
|
|||||||
|
|
||||||
if(!started){
|
if(!started){
|
||||||
qDebug() << "Daemon start error: " + m_daemon->errorString();
|
qDebug() << "Daemon start error: " + m_daemon->errorString();
|
||||||
|
} else {
|
||||||
|
emit daemonStarted();
|
||||||
}
|
}
|
||||||
|
|
||||||
return started;
|
return started;
|
||||||
@ -43,6 +45,15 @@ bool DaemonManager::start()
|
|||||||
|
|
||||||
bool DaemonManager::stop()
|
bool DaemonManager::stop()
|
||||||
{
|
{
|
||||||
|
if(m_daemon){
|
||||||
|
qDebug() << "stopping daemon";
|
||||||
|
m_daemon->terminate();
|
||||||
|
// Wait until stopped. Max 30 seconds
|
||||||
|
bool stopped = m_daemon->waitForFinished(30000);
|
||||||
|
if(stopped) emit daemonStopped();
|
||||||
|
return stopped;
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,8 +21,7 @@ public:
|
|||||||
Q_INVOKABLE bool running() const;
|
Q_INVOKABLE bool running() const;
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
|
void daemonStarted();
|
||||||
void daemonStarted(const QProcess &d);
|
|
||||||
void daemonStopped();
|
void daemonStopped();
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
|
Loading…
Reference in New Issue
Block a user