diff --git a/src/apps/qml/AddUserDialog.qml b/src/apps/qml/AddUserDialog.qml index 723b7420..0fd1b4c2 100644 --- a/src/apps/qml/AddUserDialog.qml +++ b/src/apps/qml/AddUserDialog.qml @@ -1,102 +1,112 @@ /* Copyright (c) 2017-2019 Montel Laurent This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License or ( at your option ) version 3 or, at the discretion of KDE e.V. ( which shall act as a proxy as in section 14 of the GPLv3 ), any later version. This library 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import QtQuick 2.9 import QtQuick.Layouts 1.12 import QtQuick.Controls 2.5 as QQC2 import QtQuick.Window 2.0 import KDE.Ruqola.RocketChatAccount 1.0 import KDE.Ruqola.UserCompleterFilterModelProxy 1.0 -import org.kde.kirigami 2.4 as Kirigami +import org.kde.kirigami 2.7 as Kirigami QQC2.Dialog { id: addUserDialog property QtObject completerModel signal searchUserName(string pattern) signal addUser(string userId, string rid, string channelType) property QtObject roomInfo property string roomId: "" title: i18n("Add Users") standardButtons: QQC2.Dialog.Close x: parent.width / 2 - width / 2 y: parent.height / 2 - height / 2 modal: true focus: true function initializeAndOpen() { username.text = ""; open(); } ColumnLayout { - QQC2.TextField { + Kirigami.ActionTextField { id: username focus: true selectByMouse: true Layout.minimumHeight: Layout.maximumHeight Layout.maximumHeight: Kirigami.Units.iconSizes.smallMedium + Kirigami.Units.smallSpacing * 2 Layout.fillWidth: true placeholderText: i18n("Search User...") + rightActions: [ + Kirigami.Action { + iconName: "edit-clear" + visible: username.text !== "" + onTriggered: { + username.text = "" + username.textChanged() + } + } + ] onTextChanged: { addUserDialog.searchUserName(username.text) } } ListView { id: listview width: 300; height: 200 clip: true model: completerModel delegate: RowLayout { Kirigami.Icon { source: "list-add" //FIXME icon size height: 22 width: 22 MouseArea { anchors.fill: parent onClicked: { addUserDialog.addUser(userid, roomId, roomInfo.channelType) } } } Kirigami.Icon { source: iconstatus //FIXME icon size height: 22 width: 22 } QQC2.Label { text: username } } } } }