AutoPercenty3/limited_gui.py

48 lines
2.1 KiB
Python

# 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, 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()