Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/desktop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralex-z <blackslayer4@gmail.com>2021-09-09 14:33:57 +0300
committeralex-z <blackslayer4@gmail.com>2021-10-25 14:45:05 +0300
commitc1dab7e4cb254bf492b458c8c0c1bab8f55b17b0 (patch)
tree66681ba48f072166942867ee9021a7934d633e6f /src/gui/tray/UnifiedSearchInputContainer.qml
parentb8e2dc24f3c1d67424dd363af85f9311a702dd78 (diff)
Unified Search via Tray window
Signed-off-by: alex-z <blackslayer4@gmail.com>
Diffstat (limited to 'src/gui/tray/UnifiedSearchInputContainer.qml')
-rw-r--r--src/gui/tray/UnifiedSearchInputContainer.qml110
1 files changed, 110 insertions, 0 deletions
diff --git a/src/gui/tray/UnifiedSearchInputContainer.qml b/src/gui/tray/UnifiedSearchInputContainer.qml
new file mode 100644
index 000000000..eda93a11d
--- /dev/null
+++ b/src/gui/tray/UnifiedSearchInputContainer.qml
@@ -0,0 +1,110 @@
+import QtQml 2.15
+import QtQuick 2.15
+import QtQuick.Controls 2.3
+import QtGraphicalEffects 1.0
+import Style 1.0
+
+TextField {
+ id: trayWindowUnifiedSearchTextField
+
+ property bool isSearchInProgress: false
+
+ readonly property color textFieldIconsColor: Style.menuBorder
+
+ readonly property int textFieldIconsOffset: 10
+
+ readonly property double textFieldIconsScaleFactor: 0.6
+
+ readonly property int textFieldHorizontalPaddingOffset: 14
+
+ leftPadding: trayWindowUnifiedSearchTextFieldSearchIcon.width + trayWindowUnifiedSearchTextFieldSearchIcon.anchors.leftMargin + textFieldHorizontalPaddingOffset
+ rightPadding: trayWindowUnifiedSearchTextFieldClearTextButton.width + trayWindowUnifiedSearchTextFieldClearTextButton.anchors.rightMargin + textFieldHorizontalPaddingOffset
+
+ placeholderText: qsTr("Search files, messages, events...")
+
+ selectByMouse: true
+
+ background: Rectangle {
+ radius: 5
+ border.color: parent.activeFocus ? Style.ncBlue : Style.menuBorder
+ border.width: 1
+ }
+
+ Image {
+ id: trayWindowUnifiedSearchTextFieldSearchIcon
+
+ anchors {
+ left: parent.left
+ leftMargin: parent.textFieldIconsOffset
+ verticalCenter: parent.verticalCenter
+ }
+
+ visible: !trayWindowUnifiedSearchTextField.isSearchInProgress
+
+ smooth: true;
+ antialiasing: true
+ mipmap: true
+
+ source: "qrc:///client/theme/black/search.svg"
+ sourceSize: Qt.size(parent.height * parent.textFieldIconsScaleFactor, parent.height * parent.textFieldIconsScaleFactor)
+
+ ColorOverlay {
+ anchors.fill: parent
+ source: parent
+ cached: true
+ color: parent.parent.textFieldIconsColor
+ }
+ }
+
+ BusyIndicator {
+ id: trayWindowUnifiedSearchTextFieldIconInProgress
+ running: visible
+ visible: trayWindowUnifiedSearchTextField.isSearchInProgress
+ anchors {
+ left: trayWindowUnifiedSearchTextField.left
+ bottom: trayWindowUnifiedSearchTextField.bottom
+ leftMargin: trayWindowUnifiedSearchTextField.textFieldIconsOffset - 4
+ topMargin: 4
+ bottomMargin: 4
+ verticalCenter: trayWindowUnifiedSearchTextField.verticalCenter
+ }
+ width: height
+ }
+
+ Image {
+ id: trayWindowUnifiedSearchTextFieldClearTextButton
+
+ anchors {
+ right: parent.right
+ rightMargin: parent.textFieldIconsOffset
+ verticalCenter: parent.verticalCenter
+ }
+
+ smooth: true;
+ antialiasing: true
+ mipmap: true
+
+ visible: parent.text
+
+ source: "qrc:///client/theme/black/clear.svg"
+ sourceSize: Qt.size(parent.height * parent.textFieldIconsScaleFactor, parent.height * parent.textFieldIconsScaleFactor)
+
+ ColorOverlay {
+ anchors.fill: parent
+ cached: true
+ source: parent
+ color: parent.parent.textFieldIconsColor
+ }
+
+ MouseArea {
+ id: trayWindowUnifiedSearchTextFieldClearTextButtonMouseArea
+
+ anchors.fill: parent
+
+ onClicked: {
+ trayWindowUnifiedSearchTextField.text = ""
+ trayWindowUnifiedSearchTextField.onTextEdited()
+ }
+ }
+ }
+}