Skip to content

Commit 1f1cad3

Browse files
committed
feat: UI overhaul and instant download feedback
- Move FFmpeg status and Logs button to settings page - Make progress bar full-width and dynamic (auto-hide) - Add instant download feedback to eliminate silent startup - Remove redundant status text from status bar - Fix button styling and improve settings layout - Add progressive status updates during download preparation
1 parent 6ced950 commit 1f1cad3

File tree

12 files changed

+162
-48
lines changed

12 files changed

+162
-48
lines changed

assets/Screenshots/audiopage.png

-51.1 KB
Binary file not shown.

assets/Screenshots/history.png

-56.6 KB
Binary file not shown.

assets/Screenshots/homepage.png

-69.6 KB
Binary file not shown.

assets/Screenshots/profilepage.png

-67.7 KB
Binary file not shown.

assets/Screenshots/queue.png

-55.5 KB
Binary file not shown.

assets/Screenshots/scheduler.png

-54 KB
Binary file not shown.

assets/Screenshots/settings.png

-68.6 KB
Binary file not shown.

assets/Screenshots/videopage.png

-51.3 KB
Binary file not shown.

core/downloader.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,11 +110,21 @@ def _get_format_string(self):
110110

111111
def run(self):
112112
try:
113+
if self.task.playlist:
114+
self.status_signal.emit(self.row, "Analyzing Playlist...")
115+
else:
116+
self.status_signal.emit(self.row, "Connecting...")
117+
113118
self.log_signal.emit(f"Starting download to: {self.task.folder}")
114119

115120
if not os.path.exists(self.task.folder):
116121
os.makedirs(self.task.folder, exist_ok=True)
117122
self.log_signal.emit(f"Created download directory: {self.task.folder}")
123+
124+
if self.task.playlist:
125+
self.status_signal.emit(self.row, "Loading Playlist...")
126+
else:
127+
self.status_signal.emit(self.row, "Fetching Media Info...")
118128

119129
if not os.path.exists(self.cookie_file):
120130
try:

ui/layouts/status_bar.py

Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@ def __init__(self, parent):
77
self.parent = parent
88
self.container = QStatusBar()
99
self.progress_bar = None
10-
self.status_label = None
11-
self.ffmpeg_label = None
12-
self.show_logs_btn = None
1310
self.init_ui()
1411

1512
def init_ui(self):
@@ -18,25 +15,13 @@ def init_ui(self):
1815
layout.setContentsMargins(5, 2, 5, 2)
1916
layout.setSpacing(10)
2017

21-
self.show_logs_btn = AnimatedButton("Logs")
22-
self.show_logs_btn.setFixedWidth(60)
23-
self.show_logs_btn.clicked.connect(self.parent.log_manager.toggle_visibility)
24-
layout.addWidget(self.show_logs_btn)
25-
26-
self.status_label = QLabel("Ready")
27-
layout.addWidget(self.status_label, stretch=1)
28-
29-
self.ffmpeg_label = QLabel()
30-
self.ffmpeg_label.setMinimumWidth(120)
31-
self.ffmpeg_label.setAlignment(Qt.AlignRight | Qt.AlignVCenter)
32-
layout.addWidget(self.ffmpeg_label)
33-
3418
self.progress_bar = QProgressBar()
35-
self.progress_bar.setMinimumWidth(200)
36-
self.progress_bar.setMaximumWidth(300)
37-
self.progress_bar.setFormat("%p%")
19+
self.progress_bar.setMinimumHeight(28)
20+
self.progress_bar.setFormat("Ready")
3821
self.progress_bar.setAlignment(Qt.AlignCenter)
39-
layout.addWidget(self.progress_bar)
22+
self.progress_bar.setValue(0)
23+
self.progress_bar.setVisible(False)
24+
layout.addWidget(self.progress_bar, stretch=1)
4025

4126
self.container.addPermanentWidget(layout_widget, 1)
4227
self.parent.setStatusBar(self.container)

0 commit comments

Comments
 (0)