summaryrefslogtreecommitdiffstats
path: root/src/widget/wlibrarysidebar.cpp
diff options
context:
space:
mode:
authorDaniel Poelzleithner <git@poelzi.org>2020-12-01 02:08:29 +0100
committerDaniel Poelzleithner <git@poelzi.org>2020-12-01 02:08:29 +0100
commit6cabebd384330d85ff3c0956297abb37e8c199de (patch)
tree687d4f49151f4ccb410354dd3ab1fb82a7a8d49b /src/widget/wlibrarysidebar.cpp
parenta05573b9eed290c05039b5a2921deca9503eb570 (diff)
Don't activate when not expected.
Only activate playlists when already in focus. Add option to scroll but not select sidebar items.
Diffstat (limited to 'src/widget/wlibrarysidebar.cpp')
-rw-r--r--src/widget/wlibrarysidebar.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/widget/wlibrarysidebar.cpp b/src/widget/wlibrarysidebar.cpp
index 1f7ce2e076..74c0439a9d 100644
--- a/src/widget/wlibrarysidebar.cpp
+++ b/src/widget/wlibrarysidebar.cpp
@@ -224,19 +224,22 @@ void WLibrarySidebar::selectIndex(const QModelIndex& index) {
}
/// Selects a child index from a feature and ensures visibility
-void WLibrarySidebar::selectChildIndex(const QModelIndex& index) {
+void WLibrarySidebar::selectChildIndex(const QModelIndex& index, bool selectItem) {
SidebarModel* sidebarModel = qobject_cast<SidebarModel*>(model());
VERIFY_OR_DEBUG_ASSERT(sidebarModel) {
qDebug() << "model() is not SidebarModel";
return;
}
QModelIndex translated = sidebarModel->translateChildIndex(index);
- auto pModel = new QItemSelectionModel(sidebarModel);
- pModel->select(translated, QItemSelectionModel::Select);
- if (selectionModel()) {
- selectionModel()->deleteLater();
+
+ if (selectItem) {
+ auto pModel = new QItemSelectionModel(sidebarModel);
+ pModel->select(translated, QItemSelectionModel::Select);
+ if (selectionModel()) {
+ selectionModel()->deleteLater();
+ }
+ setSelectionModel(pModel);
}
- setSelectionModel(pModel);
QModelIndex parentIndex = translated.parent();
while (parentIndex.isValid()) {