From 97d8bbd03f0e9a00625819f1dc12781e474b0071 Mon Sep 17 00:00:00 2001 From: Julien Wadel Date: Tue, 28 Jun 2022 10:40:56 +0200 Subject: [PATCH] SearchFields : Add an option to display a mandatory star on fields. Reduce text size if icon is visible. --- .../modules/Common/Form/Fields/TextField.qml | 16 +++++++++++-- .../ui/modules/Common/Form/SearchBox.qml | 1 + .../Styles/Form/Fields/TextFieldStyle.qml | 24 +++++++++++++++---- .../ui/views/App/Dialog/NewConference.qml | 1 + 4 files changed, 36 insertions(+), 6 deletions(-) diff --git a/linphone-app/ui/modules/Common/Form/Fields/TextField.qml b/linphone-app/ui/modules/Common/Form/Fields/TextField.qml index 2c3c74efe..fdb2a5621 100644 --- a/linphone-app/ui/modules/Common/Form/Fields/TextField.qml +++ b/linphone-app/ui/modules/Common/Form/Fields/TextField.qml @@ -15,6 +15,7 @@ Controls.TextField { property alias icon: icon.icon property alias iconSize: icon.iconSize + property bool isMandatory: false property alias overwriteColor: icon.overwriteColor property string error: '' property var tools @@ -72,7 +73,7 @@ Controls.TextField { color: textField.readOnly ? textFieldStyle.text.readOnly : textFieldStyle.text.normal font.pointSize: textFieldStyle.text.pointSize - rightPadding: textFieldStyle.text.rightPadding + toolsContainer.width + rightPadding: textFieldStyle.text.rightPadding + toolsContainer.width + (icon.visible ? icon.iconSize + 10: 0) selectByMouse: true // --------------------------------------------------------------------------- @@ -82,12 +83,23 @@ Controls.TextField { anchors { right: parent.right - rightMargin: parent.rightPadding + rightMargin: 10 verticalCenter: parent.verticalCenter } iconSize: parent.contentHeight visible: showWhenEmpty && !parent.text || !showWhenEmpty && parent.text + + Text{ + anchors.right: parent.right + anchors.top: parent.top + anchors.topMargin: 5 + textFormat: Text.RichText + text : '*' + color: textFieldStyle.background.mandatory.color + font.pointSize: textFieldStyle.background.mandatory.pointSize + visible: textField.isMandatory + } MouseArea{ anchors.fill: parent onClicked: textField.iconClicked() diff --git a/linphone-app/ui/modules/Common/Form/SearchBox.qml b/linphone-app/ui/modules/Common/Form/SearchBox.qml index ae76393d3..df8fbc3d7 100644 --- a/linphone-app/ui/modules/Common/Form/SearchBox.qml +++ b/linphone-app/ui/modules/Common/Form/SearchBox.qml @@ -21,6 +21,7 @@ Item { property alias placeholderText: searchField.placeholderText property alias tooltipText : tooltip.text property alias text : searchField.text + property alias isMandatory: searchField.isMandatory default property alias _content: menu._content diff --git a/linphone-app/ui/modules/Common/Styles/Form/Fields/TextFieldStyle.qml b/linphone-app/ui/modules/Common/Styles/Form/Fields/TextFieldStyle.qml index abd894e8e..56616b14f 100644 --- a/linphone-app/ui/modules/Common/Styles/Form/Fields/TextFieldStyle.qml +++ b/linphone-app/ui/modules/Common/Styles/Form/Fields/TextFieldStyle.qml @@ -28,13 +28,17 @@ QtObject { property color normal: ColorsList.add(sectionName+'_n_bg_n', 'q').color property color readOnly: ColorsList.add(sectionName+'_n_bg_readonly', 'e').color } + property QtObject mandatory: QtObject{ + property color color: ColorsList.add(sectionName+'_required_text', 'g').color + property real pointSize: Units.dp * 10 + } } property QtObject text: QtObject { property color normal: ColorsList.add(sectionName+'_n_text', 'd').color property color readOnly: ColorsList.add(sectionName+'_n_text_readonly', 'd').color property int pointSize: Units.dp * 10 - property int rightPadding: 10 + property int rightPadding: 5 } } property QtObject unbordered : QtObject { @@ -58,13 +62,17 @@ QtObject { property color normal: ColorsList.add(sectionName+'_unbordered_bg_n', 'q').color property color readOnly: ColorsList.add(sectionName+'_unbordered_bg_readonly', 'e').color } + property QtObject mandatory: QtObject{ + property color color: ColorsList.add(sectionName+'_unbordered_required_text', 'g').color + property real pointSize: Units.dp * 10 + } } property QtObject text: QtObject { property color normal: ColorsList.add(sectionName+'_unbordered_text', 'd').color property color readOnly: ColorsList.add(sectionName+'_unbordered_text_readonly', 'd').color property int pointSize: Units.dp * 10 - property int rightPadding: 10 + property int rightPadding: 5 } } property QtObject flat : QtObject { @@ -88,13 +96,17 @@ QtObject { property color normal: ColorsList.add(sectionName+'_flat_bg_n', 'q').color property color readOnly: ColorsList.add(sectionName+'_flat_bg_readonly', 'e').color } + property QtObject mandatory: QtObject{ + property color color: ColorsList.add(sectionName+'_flat_required_text', 'g').color + property real pointSize: Units.dp * 10 + } } property QtObject text: QtObject { property color normal: ColorsList.add(sectionName+'_flat_text', 'd').color property color readonly: ColorsList.add(sectionName+'_flat_text_readonly', 'd').color property int pointSize: Units.dp * 10 - property int rightPadding: 10 + property int rightPadding: 5 } } property QtObject flatInverse : QtObject { @@ -118,13 +130,17 @@ QtObject { property color normal: ColorsList.add(sectionName+'_flat_inv_bg_n', 'q').color property color readOnly: ColorsList.add(sectionName+'_flat_inv_bg_readonly', 'q').color } + property QtObject mandatory: QtObject{ + property color color: ColorsList.add(sectionName+'_flat_inv_required_text', 'g').color + property real pointSize: Units.dp * 10 + } } property QtObject text: QtObject { property color color: ColorsList.add(sectionName+'_flat_inv_text', 'd').color property color readOnly: ColorsList.add(sectionName+'_flat_inv_readonly', 'readonly_fg').color property int pointSize: Units.dp * 10 - property int rightPadding: 10 + property int rightPadding: 5 } } } diff --git a/linphone-app/ui/views/App/Dialog/NewConference.qml b/linphone-app/ui/views/App/Dialog/NewConference.qml index 0b90b17b4..93de5f526 100644 --- a/linphone-app/ui/views/App/Dialog/NewConference.qml +++ b/linphone-app/ui/views/App/Dialog/NewConference.qml @@ -451,6 +451,7 @@ DialogPlus { Layout.topMargin: ConferenceManagerStyle.columns.selector.spacing showHeader:false + isMandatory: true maxMenuHeight: MainWindowStyle.searchBox.maxHeight //: 'Select participants' : Placeholder for a search on participant to add them in selection.