tab button in per model setting

CURA-18869
This commit is contained in:
saumya.jain 2023-09-14 16:26:00 +02:00
parent 75fac58198
commit c95481f6e7

View file

@ -1,7 +1,7 @@
//Copyright (c) 2022 Ultimaker B.V. //Copyright (c) 2022 Ultimaker B.V.
//Cura is released under the terms of the LGPLv3 or higher. //Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.2 import QtQuick 2.15
import QtQuick.Controls 2.15 import QtQuick.Controls 2.15
import UM 1.5 as UM import UM 1.5 as UM
@ -234,10 +234,11 @@ Item
setDestroyed(true) setDestroyed(true)
} }
} }
property int indexWithFocus: -1
delegate: Row delegate: Row
{ {
spacing: UM.Theme.getSize("default_margin").width spacing: UM.Theme.getSize("default_margin").width
property var settingLoader_x: settingLoader.item
Loader Loader
{ {
id: settingLoader id: settingLoader
@ -340,6 +341,44 @@ Item
function onPropertiesChanged() { provider.forcePropertiesChanged() } function onPropertiesChanged() { provider.forcePropertiesChanged() }
} }
Connections
{
target: settingLoader.item
function onFocusReceived()
{
contents.indexWithFocus = index
contents.positionViewAtIndex(index, ListView.Contain)
}
function onSetActiveFocusToNextSetting(forward)
{
if (forward == undefined || forward)
{
contents.currentIndex = contents.indexWithFocus + 1
while(contents.currentItem && contents.currentItem.height <= 0)
{
contents.currentIndex++
}
if (contents.currentItem)
{
contents.currentItem.settingLoader_x.focusItem.forceActiveFocus()
}
}
else
{indexWithFocus
contents.currentIndex = contents.indexWithFocus - 1
while(contents.currentItem && contents.currentItem.height <= 0)
{
contents.currentIndex--
}
if (contents.currentItem)
{
contents.currentItem.settingLoader_x.focusItem.forceActiveFocus()
}
}
}
}
Connections Connections
{ {
target: UM.ActiveTool target: UM.ActiveTool