Suport de repos privats: token de Gitea global configurable des del menú
This commit is contained in:
@@ -7,6 +7,8 @@ from pathlib import Path
|
||||
from PySide6.QtCore import QThreadPool, Qt
|
||||
from PySide6.QtGui import QAction
|
||||
from PySide6.QtWidgets import (
|
||||
QInputDialog,
|
||||
QLineEdit,
|
||||
QMainWindow,
|
||||
QMessageBox,
|
||||
QPlainTextEdit,
|
||||
@@ -101,6 +103,27 @@ class MainWindow(QMainWindow):
|
||||
self.action_delete.toggled.connect(self._set_delete_mode)
|
||||
menu.addAction(self.action_delete)
|
||||
|
||||
menu.addSeparator()
|
||||
self.action_token = QAction("Configura el token de Gitea…", self)
|
||||
self.action_token.triggered.connect(self._configure_token)
|
||||
menu.addAction(self.action_token)
|
||||
|
||||
def _configure_token(self) -> None:
|
||||
token, ok = QInputDialog.getText(
|
||||
self,
|
||||
"Token de Gitea",
|
||||
"Token personal d'accés (per a repos privats).\n"
|
||||
"Es guarda local a settings.json (no es versiona).",
|
||||
QLineEdit.Password,
|
||||
self.settings.gitea_token,
|
||||
)
|
||||
if not ok:
|
||||
return
|
||||
self.settings.gitea_token = token.strip()
|
||||
save_settings(self.settings)
|
||||
estat = "configurat" if self.settings.gitea_token else "esborrat"
|
||||
self._log(f"Token de Gitea {estat}.")
|
||||
|
||||
def _on_toggle_hide(self, checked: bool) -> None:
|
||||
self.settings.hide_not_downloaded = checked
|
||||
save_settings(self.settings)
|
||||
@@ -116,7 +139,7 @@ class MainWindow(QMainWindow):
|
||||
def _check_updates(self) -> None:
|
||||
self.action_check.setEnabled(False)
|
||||
self._log("=== Comprovant actualitzacions ===")
|
||||
worker = CheckUpdatesWorker(self.root, self.config.games)
|
||||
worker = CheckUpdatesWorker(self.root, self.config.games, self.settings.gitea_token)
|
||||
worker.signals.log.connect(self._log)
|
||||
worker.signals.result.connect(self._mark_update)
|
||||
worker.signals.finished.connect(self._check_done)
|
||||
@@ -185,7 +208,7 @@ class MainWindow(QMainWindow):
|
||||
row.set_busy(True, "Descarregant…")
|
||||
self._log(f"=== Descàrrega: {game.name} ===")
|
||||
|
||||
worker = DownloadWorker(self.root, game)
|
||||
worker = DownloadWorker(self.root, game, self.settings.gitea_token)
|
||||
worker.signals.log.connect(self._log)
|
||||
worker.signals.finished.connect(lambda _meta, g=game: self._download_done(g))
|
||||
worker.signals.error.connect(lambda msg, g=game: self._op_error(g, msg))
|
||||
|
||||
Reference in New Issue
Block a user