43 lines
1.7 KiB
Python
43 lines
1.7 KiB
Python
from PySide6.QtCore import QSettings
|
|
import logging
|
|
|
|
class SettingsManager:
|
|
def __init__(self, logger):
|
|
self.logger = logger
|
|
self.settings = QSettings("WhenRideMycar", "AutoPercenty3")
|
|
|
|
def save_user_info(self, user_info: dict):
|
|
for key, value in user_info.items():
|
|
self.settings.setValue(f"user/{key}", value)
|
|
self.settings.sync()
|
|
|
|
def load_user_info(self) -> dict:
|
|
info = {}
|
|
for key in ["email", "password", "id", "membership_level", "name"]:
|
|
info[key] = self.settings.value(f"user/{key}", "")
|
|
return info
|
|
|
|
def save_gui_settings(self, toggle_states: dict):
|
|
"""
|
|
GUI에서 사용하는 각종 토글 및 기타 설정 정보를 저장합니다.
|
|
"""
|
|
for key, value in toggle_states.items():
|
|
self.settings.setValue(f"toggle/{key}", value)
|
|
self.settings.sync()
|
|
|
|
def load_gui_settings(self) -> dict:
|
|
"""
|
|
저장된 GUI 토글 및 기타 설정을 불러와 딕셔너리로 반환합니다.
|
|
"""
|
|
loaded = {}
|
|
# 토글 키 목록 예시
|
|
toggle_keys = ["title", "use_API", "optionTrnas", "optionIMGTrans",
|
|
"optionAutoSelect", "price", "thumb", "tag",
|
|
"detail_Option", "detail_IMGTrans", "debug_mode",
|
|
"recovery_mode", "ed_mode", "watermark", "opacity_percent",
|
|
"max_option_count", "clientID", "clientSecret"]
|
|
for key in toggle_keys:
|
|
# 기본값은 False 또는 0, "" 등으로 설정 (필요에 따라 조정)
|
|
loaded[key] = self.settings.value(f"toggle/{key}", False)
|
|
return loaded
|