feat: add persistent settings for avatar name
- Add QSettings import from PyQt6.QtCore - Add _load_settings() method to load player name on startup - Add _save_settings() method to save player name when settings change - Settings stored in Lemontropia/Suite registry/file - Player name now persists between app launches
This commit is contained in:
parent
a216afde2d
commit
5837333d69
|
|
@ -21,7 +21,7 @@ from PyQt6.QtWidgets import (
|
|||
QMessageBox, QGroupBox, QFrame, QApplication,
|
||||
QTreeWidget, QTreeWidgetItem, QHeaderView
|
||||
)
|
||||
from PyQt6.QtCore import Qt, pyqtSignal, QTimer, QSize
|
||||
from PyQt6.QtCore import Qt, pyqtSignal, QTimer, QSize, QSettings
|
||||
from PyQt6.QtGui import QAction, QFont, QColor, QPalette, QIcon
|
||||
|
||||
|
||||
|
|
@ -273,6 +273,9 @@ class MainWindow(QMainWindow):
|
|||
# Player settings
|
||||
self.player_name: str = "" # Set via Settings dialog
|
||||
|
||||
# Load persistent settings
|
||||
self._load_settings()
|
||||
|
||||
# Selected gear
|
||||
self._selected_weapon: Optional[str] = None
|
||||
self._selected_weapon_stats: Optional[dict] = None
|
||||
|
|
@ -1612,11 +1615,25 @@ class MainWindow(QMainWindow):
|
|||
dialog = SettingsDialog(self, self.player_name)
|
||||
if dialog.exec() == QDialog.DialogCode.Accepted:
|
||||
self.player_name = dialog.get_player_name()
|
||||
self._save_settings() # Save to persistent storage
|
||||
if self.player_name:
|
||||
self.log_info("Settings", f"Avatar name set to: {self.player_name}")
|
||||
else:
|
||||
self.log_info("Settings", "Warning: No avatar name set. Global tracking may not work correctly.")
|
||||
|
||||
def _load_settings(self):
|
||||
"""Load persistent settings from QSettings."""
|
||||
settings = QSettings("Lemontropia", "Suite")
|
||||
self.player_name = settings.value("player/name", "", type=str)
|
||||
if self.player_name:
|
||||
self.log_info("Settings", f"Loaded avatar name: {self.player_name}")
|
||||
|
||||
def _save_settings(self):
|
||||
"""Save persistent settings to QSettings."""
|
||||
settings = QSettings("Lemontropia", "Suite")
|
||||
settings.setValue("player/name", self.player_name)
|
||||
settings.sync() # Ensure settings are written immediately
|
||||
|
||||
def on_loadout_manager(self):
|
||||
"""Open Loadout Manager dialog."""
|
||||
from ui.loadout_manager_simple import LoadoutManagerDialog
|
||||
|
|
|
|||
Loading…
Reference in New Issue