From 6837481f2bd6f0c447495ea0bd976a3000bab77d Mon Sep 17 00:00:00 2001 From: Mathieu Moran Date: Mon, 7 Sep 2026 22:04:27 -0400 Subject: [PATCH] gui: narrow saves checkbox column + app window icon - Saves checkbox column fixed at 28px. - Add a PlayStation-style app icon (img/app-icon.png) and set it as the window icon on launch. --- app/gui.py | 5 +++++ img/app-icon.png | Bin 0 -> 7473 bytes 2 files changed, 5 insertions(+) create mode 100644 img/app-icon.png diff --git a/app/gui.py b/app/gui.py index c58667d..be0eb3b 100644 --- a/app/gui.py +++ b/app/gui.py @@ -3376,6 +3376,8 @@ class SavesPage(QWidget): self.table = QTableWidget(0, 6) self.table.setHorizontalHeaderLabels(["", "Save", "ID", "PSP", "PPSSPP", "Cloud"]) + self.table.horizontalHeader().setSectionResizeMode(0, QHeaderView.Fixed) + self.table.setColumnWidth(0, 28) self.table.horizontalHeader().setSectionResizeMode(1, QHeaderView.Stretch) self.table.verticalHeader().setVisible(False) self.table.setEditTriggers(QAbstractItemView.NoEditTriggers) @@ -5061,6 +5063,9 @@ def main(): init_db() # migrate legacy on-share DB/covers to local storage, then schema log.info("starting psp-preserve (db: %s)", config.DB_PATH) app = QApplication(sys.argv) + icon_path = config.PROJECT_ROOT / "img" / "app-icon.png" + if icon_path.is_file(): + app.setWindowIcon(QIcon(str(icon_path))) window = MainWindow() window.show() log.info("main window ready") diff --git a/img/app-icon.png b/img/app-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e5cdaf69fabf2b0551383b519b4d9ccf09f2b91e GIT binary patch literal 7473 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 e>*^(jQ?DS|TN4J}qKnWB6zFQ+)~HZ-c=kUNTK