Update v1.4

This commit is contained in:
afkarxyz
2025-01-14 21:28:08 +07:00
committed by GitHub
parent f8da9ecfd2
commit d18ba28864
+46 -3
View File
@@ -102,10 +102,22 @@ class DownloaderWorker(QThread):
self.last_downloaded_size = 0 self.last_downloaded_size = 0
def format_size(self, size_bytes): def format_size(self, size_bytes):
return f"{size_bytes / (1024 * 1024):.2f}MB" units = ['B', 'KB', 'MB', 'GB']
index = 0
while size_bytes >= 1024 and index < len(units) - 1:
size_bytes /= 1024
index += 1
return f"{size_bytes:.2f}{units[index]}"
def format_speed(self, speed_bytes): def format_speed(self, speed_bytes):
return f"{speed_bytes * 8 / (1024 * 1024):.2f}Mbps" speed_bits = speed_bytes * 8
if speed_bits >= 1024 * 1024:
speed_mbps = speed_bits / (1024 * 1024)
return f"{speed_mbps:.2f}Mbps"
else:
speed_kbps = speed_bits / 1024
return f"{speed_kbps:.2f}Kbps"
def progress_callback(self, downloaded_size, total_size): def progress_callback(self, downloaded_size, total_size):
current_time = time.time() current_time = time.time()
@@ -388,8 +400,36 @@ class SpotifyFlacGUI(QMainWindow):
self.progress_bar.hide() self.progress_bar.hide()
self.main_layout.addWidget(self.progress_bar) self.main_layout.addWidget(self.progress_bar)
bottom_layout = QHBoxLayout()
self.status_label = QLabel("") self.status_label = QLabel("")
self.main_layout.addWidget(self.status_label) bottom_layout.addWidget(self.status_label, stretch=1)
self.update_button = QPushButton()
icon_path = os.path.join(os.path.dirname(__file__), "update.svg")
if os.path.exists(icon_path):
self.update_button.setIcon(QIcon(icon_path))
self.update_button.setFixedSize(16, 16)
self.update_button.setStyleSheet("""
QPushButton {
border: none;
background: transparent;
}
QPushButton:hover {
background: transparent;
}
""")
self.update_button.setCursor(QCursor(Qt.CursorShape.PointingHandCursor))
self.update_button.setToolTip("Check for Updates")
self.update_button.clicked.connect(self.open_update_page)
bottom_layout.addWidget(self.update_button)
self.main_layout.addLayout(bottom_layout)
def open_update_page(self):
import webbrowser
webbrowser.open('https://github.com/afkarxyz/SpotifyFLAC/releases')
def validate_url(self, url): def validate_url(self, url):
url = url.strip() url = url.strip()
@@ -439,6 +479,7 @@ class SpotifyFlacGUI(QMainWindow):
self.track_widget.show() self.track_widget.show()
self.download_button.show() self.download_button.show()
self.cancel_button.show() self.cancel_button.show()
self.update_button.hide()
self.status_label.clear() self.status_label.clear()
self.adjustWindowHeight() self.adjustWindowHeight()
@@ -479,6 +520,7 @@ class SpotifyFlacGUI(QMainWindow):
self.status_label.clear() self.status_label.clear()
self.metadata = None self.metadata = None
self.fetch_button.setEnabled(True) self.fetch_button.setEnabled(True)
self.update_button.show()
self.setFixedHeight(180) self.setFixedHeight(180)
def button_clicked(self): def button_clicked(self):
@@ -499,6 +541,7 @@ class SpotifyFlacGUI(QMainWindow):
self.track_widget.hide() self.track_widget.hide()
self.input_widget.show() self.input_widget.show()
self.metadata = None self.metadata = None
self.update_button.show()
self.setFixedHeight(180) self.setFixedHeight(180)
def start_download(self): def start_download(self):