Merge pull request #20321 from Ultimaker/CURA-12254_dont_lose_focus

[CURA-12254] Don't lose text-field focus when scrolling.
This commit is contained in:
HellAholic 2025-02-27 12:10:21 +01:00 committed by GitHub
commit 9ac0f113db
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 12 additions and 1 deletions

View File

@ -53,6 +53,7 @@ Item
signal showTooltip(string text)
signal hideTooltip()
signal showAllHiddenInheritedSettings(string category_id)
signal setScrollPositionChangeLoseFocus(bool lose_focus)
function createTooltipText()
{

View File

@ -148,6 +148,11 @@ SettingItem
if(activeFocus)
{
base.focusReceived();
setScrollPositionChangeLoseFocus(false);
}
else
{
setScrollPositionChangeLoseFocus(true);
}
base.focusGainedByClick = false;
}

View File

@ -15,6 +15,7 @@ Item
property QtObject settingVisibilityPresetsModel: CuraApplication.getSettingVisibilityPresetsModel()
property bool findingSettings
property bool loseFocusOnScrollPositionChange: true
Item
{
@ -195,7 +196,7 @@ Item
onPositionChanged: {
// This removes focus from items when scrolling.
// This fixes comboboxes staying open and scrolling container
if (!activeFocus && !filter.activeFocus) {
if (!activeFocus && !filter.activeFocus && loseFocusOnScrollPositionChange) {
forceActiveFocus();
}
}
@ -378,6 +379,10 @@ Item
}
}
}
function onSetScrollPositionChangeLoseFocus(lose_focus)
{
loseFocusOnScrollPositionChange = lose_focus;
}
}
}