1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- import os
- import os.path
- import tkinter as tk
- from tkinter import ttk
- import utils.constants as constants
- from utils.config import config
- from utils.tools import resource_path
- class SubscribeUI:
- def init_ui(self, root):
- """
- Init subscribe UI
- """
- frame_subscribe_open_subscribe = tk.Frame(root)
- frame_subscribe_open_subscribe.pack(fill=tk.X)
- self.open_subscribe_label = tk.Label(
- frame_subscribe_open_subscribe, text="开启订阅源:", width=9
- )
- self.open_subscribe_label.pack(side=tk.LEFT, padx=4, pady=8)
- self.open_subscribe_var = tk.BooleanVar(value=config.open_subscribe)
- self.open_subscribe_checkbutton = ttk.Checkbutton(
- frame_subscribe_open_subscribe,
- variable=self.open_subscribe_var,
- onvalue=True,
- offvalue=False,
- command=self.update_open_subscribe,
- )
- self.open_subscribe_checkbutton.pack(side=tk.LEFT, padx=4, pady=8)
- frame_subscribe_subscribe_urls = tk.Frame(root)
- frame_subscribe_subscribe_urls.pack(fill=tk.X)
- frame_subscribe_urls_column1 = tk.Frame(frame_subscribe_subscribe_urls)
- frame_subscribe_urls_column1.pack(side=tk.LEFT, fill=tk.Y)
- frame_subscribe_urls_column2 = tk.Frame(frame_subscribe_subscribe_urls)
- frame_subscribe_urls_column2.pack(side=tk.LEFT, fill=tk.Y)
- self.subscribe_urls_label = tk.Label(
- frame_subscribe_urls_column1, text="订阅源:", width=9
- )
- self.subscribe_urls_label.pack(side=tk.LEFT, padx=4, pady=8)
- self.subscribe_file_button = tk.ttk.Button(
- frame_subscribe_urls_column2,
- text="编辑",
- command=self.edit_subscribe_file,
- )
- self.subscribe_file_button.pack(side=tk.LEFT, padx=4, pady=0)
- def update_open_subscribe(self):
- config.set("Settings", "open_subscribe", str(self.open_subscribe_var.get()))
- def edit_subscribe_file(self):
- path = resource_path(constants.subscribe_path)
- if os.path.exists(path):
- os.system(f'notepad.exe {path}')
- def change_entry_state(self, state):
- for entry in [
- "open_subscribe_checkbutton",
- "subscribe_file_button",
- ]:
- getattr(self, entry).config(state=state)
|