diff --git a/src/library/librarycontrol.cpp b/src/library/librarycontrol.cpp index d123f6e97b7..8fe0b6da1da 100644 --- a/src/library/librarycontrol.cpp +++ b/src/library/librarycontrol.cpp @@ -980,11 +980,24 @@ void LibraryControl::slotEditItem(double v) { if (v <= 0) { return; } - LibraryView* pActiveView = m_pLibraryWidget->getActiveView(); - if (!pActiveView) { - return; + + switch (m_focusedWidget) { + case FocusWidget::Sidebar: { + m_pSidebarWidget->editSelectedItem(); + break; + } + case FocusWidget::TracksTable: { + LibraryView* pActiveView = m_pLibraryWidget->getActiveView(); + if (!pActiveView) { + return; + } + pActiveView->editSelectedItem(); + break; + } + default: { + break; + } } - pActiveView->editSelectedItem(); } void LibraryControl::slotGoToItem(double v) { diff --git a/src/widget/wlibrarysidebar.cpp b/src/widget/wlibrarysidebar.cpp index 663006112c6..a8669de88fa 100644 --- a/src/widget/wlibrarysidebar.cpp +++ b/src/widget/wlibrarysidebar.cpp @@ -176,6 +176,20 @@ void WLibrarySidebar::dropEvent(QDropEvent * event) { } } +void WLibrarySidebar::editSelectedItem() { + // Rename crate or playlist (internal, external, history) + QModelIndex selIndex = selectedIndex(); + if (!selIndex.isValid()) { + return; + } + if (isExpanded(selIndex)) { + // Root views / knots can not be renamed + return; + } + emit renameItem(selIndex); + return; +} + void WLibrarySidebar::toggleSelectedItem() { QModelIndex index = selectedIndex(); if (index.isValid()) { @@ -312,16 +326,7 @@ void WLibrarySidebar::keyPressEvent(QKeyEvent* event) { emit setLibraryFocus(FocusWidget::TracksTable); return; case kRenameSidebarItemShortcutKey: { // F2 - // Rename crate or playlist (internal, external, history) - QModelIndex selIndex = selectedIndex(); - if (!selIndex.isValid()) { - return; - } - if (isExpanded(selIndex)) { - // Root views / knots can not be renamed - return; - } - emit renameItem(selIndex); + editSelectedItem(); return; } case kHideRemoveShortcutKey: { // Del (macOS: Cmd+Backspace) diff --git a/src/widget/wlibrarysidebar.h b/src/widget/wlibrarysidebar.h index 4fa356e78b4..cee3e36ce1e 100644 --- a/src/widget/wlibrarysidebar.h +++ b/src/widget/wlibrarysidebar.h @@ -24,6 +24,7 @@ class WLibrarySidebar : public QTreeView, public WBaseWidget { void focusInEvent(QFocusEvent* event) override; void timerEvent(QTimerEvent* event) override; void toggleSelectedItem(); + void editSelectedItem(); bool isLeafNodeSelected(); bool isChildIndexSelected(const QModelIndex& index); bool isFeatureRootIndexSelected(LibraryFeature* pFeature);