mirror of
https://github.com/KeksPirates/SoftwareManager.git
synced 2026-08-03 17:39:42 +02:00
Add auto-resume functionality and update settings dialog
This commit is contained in:
@@ -28,18 +28,33 @@ def settings_dialog(self):
|
||||
def close_settings():
|
||||
dialog.reject()
|
||||
|
||||
checkbox_container = QWidget()
|
||||
checkbox_layout = QHBoxLayout()
|
||||
update_checkbox_container = QWidget()
|
||||
update_checkbox_layout = QHBoxLayout()
|
||||
|
||||
# ignore updates checkbox
|
||||
checkbox = QCheckBox()
|
||||
checkbox_container.setLayout(checkbox_layout)
|
||||
checkbox_layout.addWidget(QLabel("Ignore Updates: "))
|
||||
checkbox_layout.addStretch()
|
||||
checkbox.setChecked(state.ignore_updates)
|
||||
checkbox.toggled.connect(lambda checked: setattr(state, 'ignore_updates', checked))
|
||||
checkbox_layout.addWidget(checkbox)
|
||||
dialog.layout().addWidget(checkbox_container)
|
||||
update_checkbox = QCheckBox()
|
||||
update_checkbox_container.setLayout(update_checkbox_layout)
|
||||
update_checkbox_layout.addWidget(QLabel("Ignore Updates: "))
|
||||
update_checkbox_layout.addStretch()
|
||||
update_checkbox.setChecked(state.ignore_updates)
|
||||
update_checkbox.toggled.connect(lambda checked: setattr(state, 'ignore_updates', checked))
|
||||
update_checkbox_layout.addWidget(update_checkbox)
|
||||
dialog.layout().addWidget(update_checkbox_container)
|
||||
|
||||
# auto-resume downloads checkbox
|
||||
|
||||
autoresume_container = QWidget()
|
||||
autoresume_layout = QHBoxLayout()
|
||||
|
||||
autoresume_checkbox = QCheckBox()
|
||||
autoresume_container.setLayout(autoresume_layout)
|
||||
autoresume_layout.addWidget(QLabel("Auto-Resume Downloads: "))
|
||||
|
||||
autoresume_layout.addStretch()
|
||||
autoresume_checkbox.setChecked(state.autoresume)
|
||||
autoresume_checkbox.toggled.connect(lambda checked: setattr(state, 'autoresume', checked))
|
||||
autoresume_layout.addWidget(autoresume_checkbox)
|
||||
dialog.layout().addWidget(autoresume_container)
|
||||
|
||||
##################
|
||||
# THREAD SETTING #
|
||||
|
||||
@@ -7,7 +7,7 @@ def create_config():
|
||||
config = configparser.ConfigParser()
|
||||
|
||||
config["General"] = {"debug": True, "api_url": f"{state.api_url}", "aria2_threads": f"{state.aria2_threads}", "download_path": f"{state.download_path}", f"speed_limit": f"{state.speed_limit}",
|
||||
"ignore_updates": f"{state.ignore_updates}", "image_path": f"{state.image_path}"}
|
||||
"ignore_updates": f"{state.ignore_updates}", "image_path": f"{state.image_path}", "autoresume": f"{state.autoresume}"}
|
||||
|
||||
if platform.system() == "Windows":
|
||||
config_dir = os.environ.get("APPDATA", os.path.expanduser("~\\AppData\\Roaming"))
|
||||
@@ -51,3 +51,5 @@ def read_config():
|
||||
state.ignore_updates = config.getboolean("General", "ignore_updates")
|
||||
if state.image_path is not None:
|
||||
state.image_path = config.get("General", "image_path")
|
||||
if state.autoresume is not None:
|
||||
state.autoresume = config.getboolean("General", "autoresume")
|
||||
|
||||
@@ -13,7 +13,7 @@ def restart_aria2c():
|
||||
atexit.unregister(kill_aria2server)
|
||||
atexit.register(kill_aria2server)
|
||||
|
||||
def save_settings(thread_count=None, close=lambda: None, apiurl=None, download_path=None, speed_limit=None, image_path=None):
|
||||
def save_settings(thread_count=None, close=lambda: None, apiurl=None, download_path=None, speed_limit=None, image_path=None, autoresume=None):
|
||||
if thread_count is not None:
|
||||
state.aria2_threads = thread_count
|
||||
if apiurl is not None:
|
||||
@@ -24,6 +24,9 @@ def save_settings(thread_count=None, close=lambda: None, apiurl=None, download_p
|
||||
state.speed_limit = speed_limit
|
||||
if image_path is not None:
|
||||
state.image_path = image_path
|
||||
if autoresume is not None:
|
||||
state.autoresume = autoresume
|
||||
|
||||
|
||||
create_config()
|
||||
restart_aria2c()
|
||||
|
||||
Reference in New Issue
Block a user