diff --git a/src/EasyApp/Gui/Components/SideBar.qml b/src/EasyApp/Gui/Components/SideBar.qml index b4e3103..34bd0ae 100644 --- a/src/EasyApp/Gui/Components/SideBar.qml +++ b/src/EasyApp/Gui/Components/SideBar.qml @@ -12,6 +12,7 @@ Item { property alias items: items.contentData property alias continueButton: continueButton + property Component footerComponent: null anchors.fill: parent @@ -30,9 +31,7 @@ Item { id: items anchors.top: tabs.bottom - anchors.bottom: continueButton.visible ? - continueButton.top: - sideBarContainer.bottom + anchors.bottom: footerLoader.top anchors.left: sideBarContainer.left anchors.right: sideBarContainer.right @@ -45,6 +44,20 @@ Item { } // Sidebar content + // Footer content (pinned above continue button) + Loader { + id: footerLoader + + active: sideBarContainer.footerComponent !== null + sourceComponent: sideBarContainer.footerComponent + + anchors.bottom: continueButton.visible ? continueButton.top : sideBarContainer.bottom + anchors.horizontalCenter: sideBarContainer.horizontalCenter + + anchors.bottomMargin: footerLoader.item ? 0.25 * EaStyle.Sizes.fontPixelSize : 0 + } + // Footer content + // Continue button EaElements.SideBarButton { id: continueButton @@ -64,7 +77,7 @@ Item { // Gradient area above button Rectangle { height: 1.25 * EaStyle.Sizes.fontPixelSize - anchors.bottom: continueButton.top + anchors.bottom: footerLoader.top anchors.left: sideBarContainer.left anchors.right: sideBarContainer.right diff --git a/src/EasyApp/Gui/Components/TableViewDelegate.qml b/src/EasyApp/Gui/Components/TableViewDelegate.qml index 3815906..ed574b7 100644 --- a/src/EasyApp/Gui/Components/TableViewDelegate.qml +++ b/src/EasyApp/Gui/Components/TableViewDelegate.qml @@ -43,6 +43,12 @@ Rectangle { blocking: false onHoveredChanged: { if (hovered) { + // Don't change current index while a text input is being edited, + // as this steals focus from the active editor + var fi = control.Window.activeFocusItem + if (fi && fi.activeFocus && fi.hasOwnProperty('cursorPosition')) { + return + } //console.error(`${control} [TableViewDelegate.qml] hovered`) parent.ListView.view.currentIndex = index }