sidebars: no more rememnber last used tab

works inconsistently because of uhm swipeviews
also it's weird... ai is more useful than anime grills and notifs are more useful than mixer imo...
This commit is contained in:
end-4
2025-05-19 23:16:04 +02:00
parent 14f7542a21
commit 2da3d80a14
3 changed files with 16 additions and 25 deletions
@@ -9,12 +9,6 @@ Singleton {
} }
property QtObject sidebar: QtObject { property QtObject sidebar: QtObject {
property QtObject leftSide: QtObject {
property int selectedTab: 0
}
property QtObject centerGroup: QtObject {
property int selectedTab: 0
}
property QtObject bottomGroup: QtObject { property QtObject bottomGroup: QtObject {
property bool collapsed: false property bool collapsed: false
property int selectedTab: 0 property int selectedTab: 0
@@ -28,7 +28,7 @@ Scope { // Scope
id: sidebarRoot id: sidebarRoot
visible: sidebarLoader.active visible: sidebarLoader.active
property int selectedTab: PersistentStates.sidebar.leftSide.selectedTab property int selectedTab: 0
property bool extend: false property bool extend: false
property bool pin: false property bool pin: false
property real sidebarWidth: sidebarRoot.extend ? Appearance.sizes.sidebarWidthExtended : Appearance.sizes.sidebarWidth property real sidebarWidth: sidebarRoot.extend ? Appearance.sizes.sidebarWidthExtended : Appearance.sizes.sidebarWidth
@@ -88,16 +88,16 @@ Scope { // Scope
} }
if (event.modifiers === Qt.ControlModifier) { if (event.modifiers === Qt.ControlModifier) {
if (event.key === Qt.Key_PageDown) { if (event.key === Qt.Key_PageDown) {
PersistentStateManager.setState("sidebar.leftSide.selectedTab", Math.min(sidebarRoot.selectedTab + 1, root.tabButtonList.length - 1)) sidebarRoot.selectedTab = Math.min(sidebarRoot.selectedTab + 1, root.tabButtonList.length - 1)
} }
else if (event.key === Qt.Key_PageUp) { else if (event.key === Qt.Key_PageUp) {
PersistentStateManager.setState("sidebar.leftSide.selectedTab", Math.max(sidebarRoot.selectedTab - 1, 0)) sidebarRoot.selectedTab = Math.max(sidebarRoot.selectedTab - 1, 0)
} }
else if (event.key === Qt.Key_Tab) { else if (event.key === Qt.Key_Tab) {
PersistentStateManager.setState("sidebar.leftSide.selectedTab", (sidebarRoot.selectedTab + 1) % root.tabButtonList.length); sidebarRoot.selectedTab = (sidebarRoot.selectedTab + 1) % root.tabButtonList.length;
} }
else if (event.key === Qt.Key_Backtab) { else if (event.key === Qt.Key_Backtab) {
PersistentStateManager.setState("sidebar.leftSide.selectedTab", (sidebarRoot.selectedTab - 1 + root.tabButtonList.length) % root.tabButtonList.length); sidebarRoot.selectedTab = (sidebarRoot.selectedTab - 1 + root.tabButtonList.length) % root.tabButtonList.length;
} }
else if (event.key === Qt.Key_O) { else if (event.key === Qt.Key_O) {
sidebarRoot.extend = !sidebarRoot.extend; sidebarRoot.extend = !sidebarRoot.extend;
@@ -120,7 +120,7 @@ Scope { // Scope
tabButtonList: root.tabButtonList tabButtonList: root.tabButtonList
externalTrackedTab: sidebarRoot.selectedTab externalTrackedTab: sidebarRoot.selectedTab
function onCurrentIndexChanged(currentIndex) { function onCurrentIndexChanged(currentIndex) {
PersistentStateManager.setState("sidebar.leftSide.selectedTab", currentIndex) sidebarRoot.selectedTab = currentIndex
} }
} }
@@ -130,10 +130,11 @@ Scope { // Scope
Layout.fillWidth: true Layout.fillWidth: true
Layout.fillHeight: true Layout.fillHeight: true
spacing: 10 spacing: 10
currentIndex: sidebarRoot.selectedTab
currentIndex: tabBar.externalTrackedTab
onCurrentIndexChanged: { onCurrentIndexChanged: {
tabBar.enableIndicatorAnimation = true tabBar.enableIndicatorAnimation = true
PersistentStateManager.setState("sidebar.leftSide.selectedTab", currentIndex) sidebarRoot.selectedTab = currentIndex
} }
clip: true clip: true
@@ -16,27 +16,23 @@ Rectangle {
radius: Appearance.rounding.normal radius: Appearance.rounding.normal
color: Appearance.colors.colLayer1 color: Appearance.colors.colLayer1
property int selectedTab: PersistentStates.sidebar.centerGroup.selectedTab property int selectedTab: 0
property var tabButtonList: [{"icon": "notifications", "name": qsTr("Notifications")}, {"icon": "volume_up", "name": qsTr("Volume mixer")}] property var tabButtonList: [{"icon": "notifications", "name": qsTr("Notifications")}, {"icon": "volume_up", "name": qsTr("Volume mixer")}]
onSelectedTabChanged: {
PersistentStateManager.setState("sidebar.centerGroup.selectedTab", selectedTab)
}
Keys.onPressed: (event) => { Keys.onPressed: (event) => {
if (event.key === Qt.Key_PageDown || event.key === Qt.Key_PageUp) { if (event.key === Qt.Key_PageDown || event.key === Qt.Key_PageUp) {
if (event.key === Qt.Key_PageDown) { if (event.key === Qt.Key_PageDown) {
PersistentStateManager.setState("sidebar.centerGroup.selectedTab", Math.min(root.selectedTab + 1, root.tabButtonList.length - 1)) root.selectedTab = Math.min(root.selectedTab + 1, root.tabButtonList.length - 1)
} else if (event.key === Qt.Key_PageUp) { } else if (event.key === Qt.Key_PageUp) {
PersistentStateManager.setState("sidebar.centerGroup.selectedTab", Math.max(root.selectedTab - 1, 0)) root.selectedTab = Math.max(root.selectedTab - 1, 0)
} }
event.accepted = true; event.accepted = true;
} }
if (event.modifiers === Qt.ControlModifier) { if (event.modifiers === Qt.ControlModifier) {
if (event.key === Qt.Key_Tab) { if (event.key === Qt.Key_Tab) {
PersistentStateManager.setState("sidebar.centerGroup.selectedTab", (root.selectedTab + 1) % root.tabButtonList.length); root.selectedTab = (root.selectedTab + 1) % root.tabButtonList.length
} else if (event.key === Qt.Key_Backtab) { } else if (event.key === Qt.Key_Backtab) {
PersistentStateManager.setState("sidebar.centerGroup.selectedTab", (root.selectedTab - 1 + root.tabButtonList.length) % root.tabButtonList.length); root.selectedTab = (root.selectedTab - 1 + root.tabButtonList.length) % root.tabButtonList.length
} }
event.accepted = true; event.accepted = true;
} }
@@ -53,7 +49,7 @@ Rectangle {
externalTrackedTab: root.selectedTab externalTrackedTab: root.selectedTab
function onCurrentIndexChanged(currentIndex) { function onCurrentIndexChanged(currentIndex) {
PersistentStateManager.setState("sidebar.centerGroup.selectedTab", currentIndex) root.selectedTab = currentIndex
} }
} }
@@ -66,7 +62,7 @@ Rectangle {
currentIndex: root.selectedTab currentIndex: root.selectedTab
onCurrentIndexChanged: { onCurrentIndexChanged: {
tabBar.enableIndicatorAnimation = true tabBar.enableIndicatorAnimation = true
PersistentStateManager.setState("sidebar.centerGroup.selectedTab", currentIndex) root.selectedTab = currentIndex
} }
clip: true clip: true