mirror of
https://github.com/monero-project/monero-gui.git
synced 2024-12-23 03:59:38 +00:00
LeftPanel: display sync progress in Windows taskbar button
This commit is contained in:
parent
a959919b8a
commit
8ac58a7347
8 changed files with 94 additions and 0 deletions
|
@ -150,6 +150,10 @@ if(APPLE)
|
||||||
list(APPEND QT5_LIBRARIES Qt5MacExtras)
|
list(APPEND QT5_LIBRARIES Qt5MacExtras)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
list(APPEND QT5_LIBRARIES Qt5WinExtras)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(UNIX)
|
if(UNIX)
|
||||||
if(NOT CMAKE_PREFIX_PATH AND DEFINED ENV{CMAKE_PREFIX_PATH})
|
if(NOT CMAKE_PREFIX_PATH AND DEFINED ENV{CMAKE_PREFIX_PATH})
|
||||||
message(STATUS "Using CMAKE_PREFIX_PATH environment variable: '$ENV{CMAKE_PREFIX_PATH}'")
|
message(STATUS "Using CMAKE_PREFIX_PATH environment variable: '$ENV{CMAKE_PREFIX_PATH}'")
|
||||||
|
|
|
@ -529,6 +529,19 @@ Rectangle {
|
||||||
height: 48
|
height: 48
|
||||||
syncType: qsTr("Wallet") + translationManager.emptyString
|
syncType: qsTr("Wallet") + translationManager.emptyString
|
||||||
visible: !appWindow.disconnected
|
visible: !appWindow.disconnected
|
||||||
|
onFillLevelChanged: {
|
||||||
|
if (progressBar.fillLevel < 100 && networkStatus.connected == Wallet.ConnectionStatus_Connected) {
|
||||||
|
if (isWindows && taskbarButtonLoader.status == Loader.Ready) {
|
||||||
|
taskbarButtonLoader.item.progress.visible = true;
|
||||||
|
taskbarButtonLoader.item.progress.value = progressBar.fillLevel;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (progressBar.fillLevel == 100 && networkStatus.connected == Wallet.ConnectionStatus_Connected) {
|
||||||
|
if (isWindows && taskbarButtonLoader.status == Loader.Ready) {
|
||||||
|
taskbarButtonLoader.item.progress.visible = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MoneroComponents.ProgressBar {
|
MoneroComponents.ProgressBar {
|
||||||
|
@ -539,6 +552,14 @@ Rectangle {
|
||||||
syncType: qsTr("Daemon") + translationManager.emptyString
|
syncType: qsTr("Daemon") + translationManager.emptyString
|
||||||
visible: !appWindow.disconnected
|
visible: !appWindow.disconnected
|
||||||
height: 62
|
height: 62
|
||||||
|
onFillLevelChanged: {
|
||||||
|
if (daemonProgressBar.fillLevel < 100 && networkStatus.connected == Wallet.ConnectionStatus_Connected) {
|
||||||
|
if (isWindows && taskbarButtonLoader.status == Loader.Ready) {
|
||||||
|
taskbarButtonLoader.item.progress.visible = true;
|
||||||
|
taskbarButtonLoader.item.progress.value = daemonProgressBar.fillLevel;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MoneroComponents.NetworkStatusItem {
|
MoneroComponents.NetworkStatusItem {
|
||||||
|
@ -550,7 +571,21 @@ Rectangle {
|
||||||
anchors.bottom: parent.bottom
|
anchors.bottom: parent.bottom
|
||||||
anchors.bottomMargin: 5
|
anchors.bottomMargin: 5
|
||||||
connected: Wallet.ConnectionStatus_Disconnected
|
connected: Wallet.ConnectionStatus_Disconnected
|
||||||
|
onConnectedChanged: {
|
||||||
|
if (networkStatus.connected != Wallet.ConnectionStatus_Connected) {
|
||||||
|
if (isWindows && taskbarButtonLoader.status == Loader.Ready)
|
||||||
|
taskbarButtonLoader.item.progress.stop()
|
||||||
|
} else {
|
||||||
|
if (isWindows && taskbarButtonLoader.status == Loader.Ready)
|
||||||
|
taskbarButtonLoader.item.progress.resume()
|
||||||
|
}
|
||||||
|
}
|
||||||
height: 48
|
height: 48
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loader {
|
||||||
|
id: taskbarButtonLoader
|
||||||
|
source: isWindows ? "components/WindowsTaskbarButton.qml" : ""
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
50
components/WindowsTaskbarButton.qml
Normal file
50
components/WindowsTaskbarButton.qml
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
// Copyright (c) 2014-2018, The Monero Project
|
||||||
|
//
|
||||||
|
// All rights reserved.
|
||||||
|
//
|
||||||
|
// Redistribution and use in source and binary forms, with or without modification, are
|
||||||
|
// permitted provided that the following conditions are met:
|
||||||
|
//
|
||||||
|
// 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||||
|
// conditions and the following disclaimer.
|
||||||
|
//
|
||||||
|
// 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||||
|
// of conditions and the following disclaimer in the documentation and/or other
|
||||||
|
// materials provided with the distribution.
|
||||||
|
//
|
||||||
|
// 3. Neither the name of the copyright holder nor the names of its contributors may be
|
||||||
|
// used to endorse or promote products derived from this software without specific
|
||||||
|
// prior written permission.
|
||||||
|
//
|
||||||
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||||
|
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||||
|
// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||||
|
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||||
|
// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
import QtWinExtras 1.15
|
||||||
|
import moneroComponents.Wallet 1.0
|
||||||
|
|
||||||
|
TaskbarButton {
|
||||||
|
id: taskbarButton
|
||||||
|
overlay.iconSource: {
|
||||||
|
if (appWindow.isMining) {
|
||||||
|
return "qrc:///images/taskbarIconMining.png"
|
||||||
|
} else if (leftPanel.networkStatus.connected == Wallet.ConnectionStatus_Connected) {
|
||||||
|
if (leftPanel.progressBar.fillLevel < 100 || leftPanel.daemonProgressBar.fillLevel < 100) {
|
||||||
|
return "qrc:///images/taskbarIconSyncing.png"
|
||||||
|
} else {
|
||||||
|
return "qrc:///images/taskbarIconConnected.png"
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return "qrc:///images/taskbarIconDisconnected.png"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
progress.visible: true
|
||||||
|
progress.minimum: 0
|
||||||
|
progress.maximum: 100
|
||||||
|
}
|
BIN
images/taskbarIconConnected.png
Normal file
BIN
images/taskbarIconConnected.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 978 B |
BIN
images/taskbarIconDisconnected.png
Normal file
BIN
images/taskbarIconDisconnected.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 928 B |
BIN
images/taskbarIconMining.png
Normal file
BIN
images/taskbarIconMining.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 832 B |
BIN
images/taskbarIconSyncing.png
Normal file
BIN
images/taskbarIconSyncing.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 841 B |
5
qml.qrc
5
qml.qrc
|
@ -264,5 +264,10 @@
|
||||||
<file>images/ledgerNanoX.png</file>
|
<file>images/ledgerNanoX.png</file>
|
||||||
<file>images/trezor.png</file>
|
<file>images/trezor.png</file>
|
||||||
<file>images/trezor@2x.png</file>
|
<file>images/trezor@2x.png</file>
|
||||||
|
<file>images/taskbarIconConnected.png</file>
|
||||||
|
<file>images/taskbarIconDisconnected.png</file>
|
||||||
|
<file>images/taskbarIconMining.png</file>
|
||||||
|
<file>images/taskbarIconSyncing.png</file>
|
||||||
|
<file>components/WindowsTaskbarButton.qml</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
|
Loading…
Reference in a new issue