# limited_gui.py from PySide6.QtWidgets import QMainWindow, QLabel, QVBoxLayout, QWidget, QPushButton from src.keyword_manager import KeywordManager from src.kwDBManager_with_sp import KeywordDBManager from loggerModule import Logger # 추가 import logging import os class AutoPercentyLimitedGUI(QMainWindow): def __init__(self, logger, user_info, supabase_manager, log_paths=None, parent=None): super().__init__(parent) self.logger = logger self.user_info = user_info self.supabase_manager = supabase_manager self.user_id = user_info.get("id") # 예를 들어, 'users' 테이블의 PK 값 self.logger.log(f"로그기록이 설정되었습니다.", level=logging.INFO) self.setWindowTitle("제한된 관리 모드") self.setMinimumSize(600, 400) self.init_ui() kw_db_path = os.path.join("src", "ForbiddenKeyword.db") self.kw_db_manager = KeywordDBManager(kw_db_path, self.user_id, supabase_manager, self.logger) self.keyword_manager = KeywordManager(logger=self.logger, kw_db_manager=self.kw_db_manager, kipris_api=None, user_info=self.user_info, parent=self) def init_ui(self): central_widget = QWidget() self.setCentralWidget(central_widget) layout = QVBoxLayout(central_widget) # 제한된 GUI 상단에 사용자 정보와 재결제 안내 메시지 표시 info_label = QLabel("사용 기간이 만료되어 전체 기능은 사용할 수 없습니다.\n재결제 후 이용해 주세요.") info_label.setStyleSheet("font-size: 16px; font-weight: bold; color: red;") layout.addWidget(info_label) # 예시로 금지어 관리 버튼만 제공 manage_btn = QPushButton("금지어 관리") layout.addWidget(manage_btn) # 금지어 관리 기능이 있는 다이얼로그를 호출하도록 연결 manage_btn.clicked.connect(self.open_banned_word_management) def open_banned_word_management(self): """금지어 관리 버튼 클릭 시 호출""" self.logger.log("금지어 관리 버튼 클릭됨", level=logging.DEBUG) self.keyword_manager.exec()