diff --git a/app/musicmuster.py b/app/musicmuster.py
index 0ba1a3b..fcc96e4 100755
--- a/app/musicmuster.py
+++ b/app/musicmuster.py
@@ -220,6 +220,10 @@ class Window(QMainWindow, Ui_MainWindow):
self.btnFade.clicked.connect(self.fade)
self.btnHidePlayed.clicked.connect(self.hide_played)
self.btnStop.clicked.connect(self.stop)
+ self.hdrCurrentTrack.clicked.connect(
+ lambda: self.tabPlaylist.currentWidget().scroll_current_to_top())
+ self.hdrNextTrack.clicked.connect(
+ lambda: self.tabPlaylist.currentWidget().scroll_next_to_top())
self.tabPlaylist.tabCloseRequested.connect(self.close_tab)
self.txtSearch.returnPressed.connect(self.search_playlist_return)
diff --git a/app/playlists.py b/app/playlists.py
index 9d01d5c..a92a487 100644
--- a/app/playlists.py
+++ b/app/playlists.py
@@ -786,6 +786,18 @@ class PlaylistTab(QTableWidget):
session.commit()
PlaylistRows.delete_higher_rows(session, self.playlist_id, row)
+ def scroll_current_to_top(self) -> None:
+ """Scroll currently-playing row to top"""
+
+ current_row = self._get_current_track_row()
+ self._scroll_to_top(current_row)
+
+ def scroll_next_to_top(self) -> None:
+ """Scroll nextly-playing row to top"""
+
+ next_row = self._get_next_track_row()
+ self._scroll_to_top(next_row)
+
def set_search(self, text: str) -> None:
"""Set search text and find first match"""
diff --git a/app/ui/main_window.ui b/app/ui/main_window.ui
index 1fcf54d..8c7cc6a 100644
--- a/app/ui/main_window.ui
+++ b/app/ui/main_window.ui
@@ -165,53 +165,41 @@ border: 1px solid rgb(85, 87, 83);
-
-
+
- Sans
20
background-color: #d4edda;
-border: 1px solid rgb(85, 87, 83);
+border: 1px solid rgb(85, 87, 83);
+text-align: left;
-
+
true
-
-
-
-
- 0
- 39
-
-
-
-
- 16777215
- 39
-
-
+
- Sans
20
background-color: #fff3cd;
-border: 1px solid rgb(85, 87, 83);
+border: 1px solid rgb(85, 87, 83);
+text-align: left;
-
+
true
diff --git a/app/ui/main_window_ui.py b/app/ui/main_window_ui.py
index 909e6f1..8c53f3b 100644
--- a/app/ui/main_window_ui.py
+++ b/app/ui/main_window_ui.py
@@ -92,28 +92,26 @@ class Ui_MainWindow(object):
self.hdrPreviousTrack.setWordWrap(True)
self.hdrPreviousTrack.setObjectName("hdrPreviousTrack")
self.verticalLayout.addWidget(self.hdrPreviousTrack)
- self.hdrCurrentTrack = QtWidgets.QLabel(self.centralwidget)
+ self.hdrCurrentTrack = QtWidgets.QPushButton(self.centralwidget)
font = QtGui.QFont()
- font.setFamily("Sans")
font.setPointSize(20)
self.hdrCurrentTrack.setFont(font)
self.hdrCurrentTrack.setStyleSheet("background-color: #d4edda;\n"
-"border: 1px solid rgb(85, 87, 83);")
+"border: 1px solid rgb(85, 87, 83);\n"
+"text-align: left;")
self.hdrCurrentTrack.setText("")
- self.hdrCurrentTrack.setWordWrap(True)
+ self.hdrCurrentTrack.setFlat(True)
self.hdrCurrentTrack.setObjectName("hdrCurrentTrack")
self.verticalLayout.addWidget(self.hdrCurrentTrack)
- self.hdrNextTrack = QtWidgets.QLabel(self.centralwidget)
- self.hdrNextTrack.setMinimumSize(QtCore.QSize(0, 39))
- self.hdrNextTrack.setMaximumSize(QtCore.QSize(16777215, 39))
+ self.hdrNextTrack = QtWidgets.QPushButton(self.centralwidget)
font = QtGui.QFont()
- font.setFamily("Sans")
font.setPointSize(20)
self.hdrNextTrack.setFont(font)
self.hdrNextTrack.setStyleSheet("background-color: #fff3cd;\n"
-"border: 1px solid rgb(85, 87, 83);")
+"border: 1px solid rgb(85, 87, 83);\n"
+"text-align: left;")
self.hdrNextTrack.setText("")
- self.hdrNextTrack.setWordWrap(True)
+ self.hdrNextTrack.setFlat(True)
self.hdrNextTrack.setObjectName("hdrNextTrack")
self.verticalLayout.addWidget(self.hdrNextTrack)
self.horizontalLayout_3.addLayout(self.verticalLayout)