From 3f5fbfc25b5520ba98d92dc2f6270073cca89b63 Mon Sep 17 00:00:00 2001 From: Ali Kianian Date: Fri, 17 Mar 2023 16:41:35 +0200 Subject: [PATCH] QmlDesigner: Fix the text overlap for TopLevelComboBox MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task-number: QDS-9464 Change-Id: I72e6e855c0b7ebeb6893fe9a4f463b6ef6197248 Reviewed-by: Henning Gründl --- .../imports/HelperWidgets/EditableListView.qml | 1 + .../imports/StudioControls/ComboBox.qml | 1 + .../imports/StudioControls/ComboBoxInput.qml | 14 +++++++++++++- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/EditableListView.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/EditableListView.qml index 83d4b690195..7b0ed94191a 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/EditableListView.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/EditableListView.qml @@ -60,6 +60,7 @@ Item { valueRole: root.valueRole implicitWidth: StudioTheme.Values.singleControlColumnWidth width: implicitWidth + textElidable: true onFocusChanged: { if (itemFilterComboBox.focus) diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/ComboBox.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/ComboBox.qml index 3da798097ad..b5a5756fdfe 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/ComboBox.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/ComboBox.qml @@ -13,6 +13,7 @@ T.ComboBox { property alias actionIndicator: actionIndicator property alias labelColor: comboBoxInput.color + property alias textElidable: comboBoxInput.elidable // This property is used to indicate the global hover state property bool hover: (comboBoxInput.hover || actionIndicator.hover || popupIndicator.hover) diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/ComboBoxInput.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/ComboBoxInput.qml index 437534efb6d..93015fe7198 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/ComboBoxInput.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/ComboBoxInput.qml @@ -14,6 +14,11 @@ TextInput { property bool edit: control.activeFocus property bool hover: mouseArea.containsMouse && control.enabled + property bool elidable: false + readonly property real textAdvanceWidth: control.elidable + ? (elidableText.leftPadding + + elidableTextMetrics.advanceWidth) + : control.implicitWidth z: 2 font: control.__parentControl.font @@ -32,7 +37,7 @@ TextInput { selectByMouse: false activeFocusOnPress: false clip: true - echoMode: TextInput.NoEcho + echoMode: control.elidable ? TextInput.NoEcho : TextInput.Normal Text { id: elidableText @@ -44,9 +49,16 @@ TextInput { font: control.font color: control.color text: control.text + visible: control.elidable elide: Text.ElideRight } + TextMetrics { + id: elidableTextMetrics + font: elidableText.font + text: elidableText.text + } + Rectangle { id: background x: control.style.borderWidth