diff --git a/src/interface/dialogs/settings.py b/src/interface/dialogs/settings.py index 56e6761..3267730 100644 --- a/src/interface/dialogs/settings.py +++ b/src/interface/dialogs/settings.py @@ -46,7 +46,7 @@ def settings_dialog(self): update_checkbox_container = QWidget() update_checkbox_layout = QHBoxLayout() - # ignore updates checkbox + # Ignore updates checkbox if platform.system() == "Windows": update_checkbox = QCheckBox() @@ -57,7 +57,7 @@ def settings_dialog(self): update_checkbox.toggled.connect(lambda checked: setattr(state, 'ignore_updates', checked)) update_checkbox_layout.addWidget(update_checkbox) - # auto-resume downloads checkbox + # Auto-resume downloads checkbox autoresume_container = QWidget() autoresume_layout = QHBoxLayout() @@ -71,7 +71,7 @@ def settings_dialog(self): autoresume_layout.addWidget(autoresume_checkbox) - # transparent window checkbox + # Transparent window checkbox transparent_window_container = QWidget() transparent_window_layout = QHBoxLayout() @@ -84,10 +84,8 @@ def settings_dialog(self): transparent_window_checkbox.toggled.connect(lambda checked: setattr(state, 'window_transparency', checked)) transparent_window_layout.addWidget(transparent_window_checkbox) - ################## - # SERVER SETTING # - ################## + # API Server Setting api_url_container = QWidget() api_url_layout = QHBoxLayout() @@ -98,10 +96,8 @@ def settings_dialog(self): api_url_container.setLayout(api_url_layout) api_url.setText(state.api_url) - ################# - # DOWNLOAD PATH # - ################# + # Download Path download_path_container = QWidget() download_path_layout = QHBoxLayout() @@ -133,10 +129,8 @@ def settings_dialog(self): download_path_layout.addWidget(browse_button) browse_button.clicked.connect(browse_download_path) - ############### - # IMAGE PATH # - ############### + # Image Path image_path_container = QWidget() image_path_layout = QHBoxLayout() @@ -167,10 +161,8 @@ def settings_dialog(self): image_path_layout.addWidget(browse_button) browse_button.clicked.connect(browse_image_path) - ################## - # SPEED LIMITING # - ################## + # Speed Limiting down_speed_limit_container = QWidget() down_speed_limit_layout = QHBoxLayout() @@ -197,10 +189,8 @@ def settings_dialog(self): up_speed_limit.setFixedWidth(180) up_speed_limit.setFixedHeight(30) - ###################### - # CONNECTION CONFIGS # - ###################### - + + # Connection Configs max_connections_container = QWidget() max_connections_layout = QHBoxLayout() @@ -214,10 +204,8 @@ def settings_dialog(self): max_connections.setFixedWidth(180) max_connections.setFixedHeight(30) - #################### - # DOWNLOAD CONFIGS # - #################### + # Download Configs max_downloads_container = QWidget() max_downloads_layout = QHBoxLayout() @@ -231,10 +219,8 @@ def settings_dialog(self): max_downloads.setFixedWidth(180) max_downloads.setFixedHeight(30) - ##################### - # INTERFACE BINDING # - ##################### + # Interface Binding interface_container = QWidget() interface_layout = QHBoxLayout() @@ -257,10 +243,7 @@ def settings_dialog(self): interface_container.setLayout(interface_layout) - ############### - # SAVE/CANCEL # - ############### - + # Save / Cancel buttons layout = QHBoxLayout() save_btn = QPushButton("Save") diff --git a/src/interface/dialogs/update.py b/src/interface/dialogs/update.py index a45a329..f332391 100644 --- a/src/interface/dialogs/update.py +++ b/src/interface/dialogs/update.py @@ -1,8 +1,10 @@ +from PySide6.QtWidgets import QDialog, QMessageBox, QProgressDialog from utils.network.update_checker import get_updates -from PySide6.QtWidgets import QDialog, QMessageBox from utils.network.updater import download_update from utils.logging.logs import consoleLog from utils.data.state import state +from PySide6 import QtWidgets +from PySide6.QtCore import Qt from pathlib import Path import platform import json @@ -47,3 +49,15 @@ class UpdateDialog(QDialog): if response == QMessageBox.StandardButton.Ok: download_update(assets) +class UpdateProgressDialog(QProgressDialog): + def __init__(self, parent=None): + self.progress = QtWidgets.QProgressDialog("Downloading update... (0.0 MB/s)", None, 0, 100) + self.progress.setWindowTitle("Updating") + self.progress.setWindowModality(Qt.WindowModality.ApplicationModal) + self.progress.setCancelButton(None) + self.progress.setMinimumDuration(0) + self.progress.setAutoClose(False) + self.progress.setAutoReset(False) + self.progress.setValue(0) + self.progress.show() + QtWidgets.QApplication.processEvents() \ No newline at end of file diff --git a/src/interface/gui.py b/src/interface/gui.py index 73140bf..a7f47d9 100644 --- a/src/interface/gui.py +++ b/src/interface/gui.py @@ -232,7 +232,7 @@ class MainWindow(QtWidgets.QMainWindow, QWidget): self.statusbar.addPermanentWidget(self.version, Qt.AlignmentFlag.AlignLeft) # (\u2193) Arrow down, (\u2191) Arrow up - self.speed_label = QLabel("\u2193 0.0 kB/s \u2191 0.0 kB/s") + self.speed_label = QLabel("↓ 0.0 kB/s ↑ 0.0 kB/s") self.speed_label.setStyleSheet("padding-right: 6px;") self.statusbar.addPermanentWidget(self.speed_label) diff --git a/src/network/libtorrent_int.py b/src/network/libtorrent_int.py index f741f9e..42350ec 100644 --- a/src/network/libtorrent_int.py +++ b/src/network/libtorrent_int.py @@ -60,7 +60,6 @@ def add_download(magnet_uri): state.active_downloads = {} init_session() - free_space = get_free_space_mb(state.download_path) if magnet_uri in state.active_downloads: @@ -91,7 +90,6 @@ def add_download(magnet_uri): params.save_path = state.download_path handle = state.dl_session.add_torrent(params) - while not handle.has_metadata(): time.sleep(1) diff --git a/src/network/libtorrent_misc.py b/src/network/libtorrent_misc.py index adfab0c..eeb471e 100644 --- a/src/network/libtorrent_misc.py +++ b/src/network/libtorrent_misc.py @@ -17,9 +17,6 @@ def cleanup_session(): state.dl_session = None state.active_downloads.clear() - - - def send_notification(shutdown_event): notified = set() while not shutdown_event.is_set(): diff --git a/src/utils/network/update_checker.py b/src/utils/network/update_checker.py index b7ca658..efd574c 100644 --- a/src/utils/network/update_checker.py +++ b/src/utils/network/update_checker.py @@ -3,7 +3,6 @@ from utils.data.state import state import requests - def get_updates(): url = f"https://api.github.com/repos/KeksPirates/SoftwareManager/releases/latest" try: