mirror of https://github.com/nextcloud/desktop
Replace unified search text field busy indicator with custom indicator
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
This commit is contained in:
parent
b37ca499b6
commit
b1deb6cd1d
|
@ -33,5 +33,6 @@
|
||||||
<file>src/gui/tray/ActivityItemContent.qml</file>
|
<file>src/gui/tray/ActivityItemContent.qml</file>
|
||||||
<file>src/gui/tray/TalkReplyTextField.qml</file>
|
<file>src/gui/tray/TalkReplyTextField.qml</file>
|
||||||
<file>src/gui/tray/CallNotificationDialog.qml</file>
|
<file>src/gui/tray/CallNotificationDialog.qml</file>
|
||||||
|
<file>src/gui/tray/NCBusyIndicator.qml</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
|
|
@ -0,0 +1,50 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2022 by Claudio Cambra <claudio.cambra@nextcloud.com>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful, but
|
||||||
|
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* for more details.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import QtQuick 2.15
|
||||||
|
import QtQuick.Controls 2.15
|
||||||
|
import Style 1.0
|
||||||
|
|
||||||
|
BusyIndicator {
|
||||||
|
id: root
|
||||||
|
|
||||||
|
property color color: Style.ncSecondaryTextColor
|
||||||
|
property string imageSource: "image://svgimage-custom-color/change.svg/"
|
||||||
|
|
||||||
|
contentItem: Image {
|
||||||
|
id: contentImage
|
||||||
|
|
||||||
|
property bool colourableImage: root.color && root.imageSource.startsWith("image://svgimage-custom-color/")
|
||||||
|
|
||||||
|
horizontalAlignment: Image.AlignHCenter
|
||||||
|
verticalAlignment: Image.AlignVCenter
|
||||||
|
|
||||||
|
source: colourableImage ? root.imageSource + root.color : root.imageSource
|
||||||
|
sourceSize.width: 64
|
||||||
|
sourceSize.height: 64
|
||||||
|
fillMode: Image.PreserveAspectFit
|
||||||
|
|
||||||
|
mipmap: true
|
||||||
|
|
||||||
|
RotationAnimator {
|
||||||
|
target: contentImage
|
||||||
|
running: root.running
|
||||||
|
onRunningChanged: contentImage.rotation = 0
|
||||||
|
from: 0
|
||||||
|
to: 360
|
||||||
|
loops: Animation.Infinite
|
||||||
|
duration: 3000
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -17,7 +17,7 @@ RowLayout {
|
||||||
id: syncStatus
|
id: syncStatus
|
||||||
}
|
}
|
||||||
|
|
||||||
Image {
|
NCBusyIndicator {
|
||||||
id: syncIcon
|
id: syncIcon
|
||||||
property int size: Style.trayListItemIconSize * 0.6
|
property int size: Style.trayListItemIconSize * 0.6
|
||||||
property int whiteSpace: (Style.trayListItemIconSize - size)
|
property int whiteSpace: (Style.trayListItemIconSize - size)
|
||||||
|
@ -31,19 +31,10 @@ RowLayout {
|
||||||
Layout.bottomMargin: 16
|
Layout.bottomMargin: 16
|
||||||
Layout.leftMargin: Style.trayHorizontalMargin + (whiteSpace * (0.5 - Style.thumbnailImageSizeReduction))
|
Layout.leftMargin: Style.trayHorizontalMargin + (whiteSpace * (0.5 - Style.thumbnailImageSizeReduction))
|
||||||
|
|
||||||
source: syncStatus.syncIcon
|
padding: 0
|
||||||
sourceSize.width: 64
|
|
||||||
sourceSize.height: 64
|
imageSource: syncStatus.syncIcon
|
||||||
rotation: syncStatus.syncing ? 0 : 0
|
running: syncStatus.syncing
|
||||||
}
|
|
||||||
|
|
||||||
RotationAnimator {
|
|
||||||
target: syncIcon
|
|
||||||
running: syncStatus.syncing
|
|
||||||
from: 0
|
|
||||||
to: 360
|
|
||||||
loops: Animation.Infinite
|
|
||||||
duration: 3000
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
|
|
|
@ -58,10 +58,9 @@ TextField {
|
||||||
sourceSize: Qt.size(parent.height * parent.textFieldIconsScaleFactor, parent.height * parent.textFieldIconsScaleFactor)
|
sourceSize: Qt.size(parent.height * parent.textFieldIconsScaleFactor, parent.height * parent.textFieldIconsScaleFactor)
|
||||||
}
|
}
|
||||||
|
|
||||||
BusyIndicator {
|
NCBusyIndicator {
|
||||||
id: trayWindowUnifiedSearchTextFieldIconInProgress
|
id: busyIndicator
|
||||||
running: visible
|
|
||||||
visible: trayWindowUnifiedSearchTextField.isSearchInProgress
|
|
||||||
anchors {
|
anchors {
|
||||||
left: trayWindowUnifiedSearchTextField.left
|
left: trayWindowUnifiedSearchTextField.left
|
||||||
bottom: trayWindowUnifiedSearchTextField.bottom
|
bottom: trayWindowUnifiedSearchTextField.bottom
|
||||||
|
@ -70,7 +69,11 @@ TextField {
|
||||||
bottomMargin: 4
|
bottomMargin: 4
|
||||||
verticalCenter: trayWindowUnifiedSearchTextField.verticalCenter
|
verticalCenter: trayWindowUnifiedSearchTextField.verticalCenter
|
||||||
}
|
}
|
||||||
|
|
||||||
width: height
|
width: height
|
||||||
|
color: trayWindowUnifiedSearchTextField.textFieldIconsColor
|
||||||
|
visible: trayWindowUnifiedSearchTextField.isSearchInProgress
|
||||||
|
running: visible
|
||||||
}
|
}
|
||||||
|
|
||||||
Image {
|
Image {
|
||||||
|
|
Loading…
Reference in New Issue