From 5487a9ab4397a95ee89bbad1f525b261c202947b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Blin?= <sebastien.blin@savoirfairelinux.com> Date: Mon, 5 Dec 2022 11:45:21 -0500 Subject: [PATCH] newswarmpage: clear fields on visibility changed This avoid to get previous text when creating a second swarm Change-Id: I86bb907cc30133432601cb59d9384758971fb331 --- src/app/commoncomponents/EditableLineEdit.qml | 2 + src/app/mainview/components/NewSwarmPage.qml | 5 ++ tests/qml/src/tst_NewSwarmPage.qml | 72 +++++++++++++++++++ 3 files changed, 79 insertions(+) create mode 100644 tests/qml/src/tst_NewSwarmPage.qml diff --git a/src/app/commoncomponents/EditableLineEdit.qml b/src/app/commoncomponents/EditableLineEdit.qml index b0509d0f0..4b122d7c2 100644 --- a/src/app/commoncomponents/EditableLineEdit.qml +++ b/src/app/commoncomponents/EditableLineEdit.qml @@ -36,6 +36,7 @@ Item { property color borderColor: lineEdit.borderColor property alias underlined: lineEdit.underlined property alias wrapMode: lineEdit.wrapMode + property alias lineEdit: lineEdit property alias padding: lineEdit.padding property alias echoMode: lineEdit.echoMode property string inactiveColor: JamiTheme.tintedBlue @@ -79,6 +80,7 @@ Item { function clear() { lineEdit.clear() + lineEdit.focus = false } function toggleEchoMode(){ diff --git a/src/app/mainview/components/NewSwarmPage.qml b/src/app/mainview/components/NewSwarmPage.qml index 6e31a24bd..97d2524d1 100644 --- a/src/app/mainview/components/NewSwarmPage.qml +++ b/src/app/mainview/components/NewSwarmPage.qml @@ -37,6 +37,8 @@ Rectangle { onVisibleChanged: { UtilsAdapter.setTempCreationImageFromString() + title.clear() + description.clear() } property var members: [] @@ -115,6 +117,7 @@ Rectangle { ColumnLayout { id: mainLayout + objectName: "mainLayout" anchors.centerIn: root PhotoboothView { @@ -133,6 +136,7 @@ Rectangle { EditableLineEdit { id: title + objectName: "titleLineEdit" Layout.alignment: Qt.AlignCenter Layout.topMargin: JamiTheme.preferredMarginSize Layout.preferredWidth: JamiTheme.preferredFieldWidth @@ -166,6 +170,7 @@ Rectangle { EditableLineEdit { id: description + objectName: "descriptionLineEdit" Layout.alignment: Qt.AlignCenter Layout.topMargin: JamiTheme.preferredMarginSize Layout.preferredWidth: JamiTheme.preferredFieldWidth diff --git a/tests/qml/src/tst_NewSwarmPage.qml b/tests/qml/src/tst_NewSwarmPage.qml new file mode 100644 index 000000000..3655ce059 --- /dev/null +++ b/tests/qml/src/tst_NewSwarmPage.qml @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2022 Savoir-faire Linux Inc. + * + * 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 3 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <https://www.gnu.org/licenses/>. + */ + +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts + +import QtTest + +import net.jami.Models 1.1 +import net.jami.Constants 1.1 + +import "../../../src/app/mainview/components" + +ColumnLayout { + id: root + + spacing: 0 + + width: 300 + height: 300 + + NewSwarmPage { + id: uut + + Layout.alignment: Qt.AlignHCenter + Layout.preferredWidth: root.width + Layout.maximumWidth: JamiTheme.chatViewMaximumWidth + Layout.preferredHeight: root.height + + TestCase { + name: "Check Focus for NewSwarmPage" + when: windowShown + + function test_focus_new_swarm_page() { + // Add animated image file + var title = findChild(uut, "titleLineEdit") + var description = findChild(uut, "descriptionLineEdit") + + // Fill Title & Description + title.text = "Title" + description.text = "description" + compare(title.text, "Title") + compare(description.text, "description") + + // Hide & Show window + uut.visible = false + uut.visible = true + + compare(title.focus, false) + compare(title.text, "") + compare(description.focus, false) + compare(description.text, "") + + } + } + } +} -- GitLab