Merge pull request #3496 from fieldOfView/fix_textfield_select

Only select all text when tabbing to fields, not when clicking a field
This commit is contained in:
jack 2018-03-15 10:28:47 +01:00 committed by GitHub
commit f3f4be5334
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -13,12 +13,18 @@ SettingItem
property string textBeforeEdit property string textBeforeEdit
property bool textHasChanged property bool textHasChanged
property bool focusGainedByClick: false
onFocusReceived: onFocusReceived:
{ {
textHasChanged = false; textHasChanged = false;
textBeforeEdit = focusItem.text; textBeforeEdit = focusItem.text;
if(!focusGainedByClick)
{
// select all text when tabbing through fields (but not when selecting a field with the mouse)
focusItem.selectAll(); focusItem.selectAll();
} }
}
contents: Rectangle contents: Rectangle
{ {
@ -93,14 +99,6 @@ SettingItem
font: UM.Theme.getFont("default") font: UM.Theme.getFont("default")
} }
MouseArea
{
id: mouseArea
anchors.fill: parent;
//hoverEnabled: true;
cursorShape: Qt.IBeamCursor
}
TextInput TextInput
{ {
id: input id: input
@ -142,6 +140,7 @@ SettingItem
{ {
base.focusReceived(); base.focusReceived();
} }
base.focusGainedByClick = false;
} }
color: !enabled ? UM.Theme.getColor("setting_control_disabled_text") : UM.Theme.getColor("setting_control_text") color: !enabled ? UM.Theme.getColor("setting_control_disabled_text") : UM.Theme.getColor("setting_control_text")
@ -178,6 +177,22 @@ SettingItem
} }
when: !input.activeFocus when: !input.activeFocus
} }
MouseArea
{
id: mouseArea
anchors.fill: parent;
cursorShape: Qt.IBeamCursor
onPressed: {
if(!input.activeFocus) {
base.focusGainedByClick = true;
input.forceActiveFocus();
}
mouse.accepted = false;
}
}
} }
} }
} }