56 lines
1.8 KiB
Python
56 lines
1.8 KiB
Python
import customtkinter as ctk
|
|
from tkinter import filedialog
|
|
import os
|
|
|
|
# ...existing code...
|
|
|
|
|
|
class SettingsPanel(ctk.CTkFrame):
|
|
def __init__(self, master, settings, *args, **kwargs):
|
|
super().__init__(master, *args, **kwargs)
|
|
self.settings = settings
|
|
# ...existing code...
|
|
|
|
# Add browser cache directory setting
|
|
self.cache_dir_label = ctk.CTkLabel(self, text="浏览器缓存目录:")
|
|
self.cache_dir_label.grid(
|
|
row=self.next_row, column=0, sticky="w", padx=10, pady=5
|
|
)
|
|
|
|
cache_dir_frame = ctk.CTkFrame(self, fg_color="transparent")
|
|
cache_dir_frame.grid(row=self.next_row, column=1, sticky="ew", padx=10, pady=5)
|
|
|
|
self.cache_dir_entry = ctk.CTkEntry(cache_dir_frame, width=250)
|
|
self.cache_dir_entry.pack(side="left", fill="x", expand=True)
|
|
self.cache_dir_entry.insert(0, self.settings.get("profiles_dir", ""))
|
|
|
|
self.browse_cache_button = ctk.CTkButton(
|
|
cache_dir_frame, text="浏览...", width=80, command=self.browse_cache_dir
|
|
)
|
|
self.browse_cache_button.pack(side="right", padx=(5, 0))
|
|
|
|
self.next_row += 1
|
|
# ...existing code...
|
|
|
|
def browse_cache_dir(self):
|
|
"""浏览并选择浏览器缓存目录"""
|
|
directory = filedialog.askdirectory(
|
|
title="选择浏览器缓存目录",
|
|
initialdir=(
|
|
self.cache_dir_entry.get()
|
|
if self.cache_dir_entry.get()
|
|
else os.path.expanduser("~")
|
|
),
|
|
)
|
|
if directory:
|
|
self.cache_dir_entry.delete(0, "end")
|
|
self.cache_dir_entry.insert(0, directory)
|
|
|
|
def save_settings(self):
|
|
# ...existing code...
|
|
self.settings["profiles_dir"] = self.cache_dir_entry.get()
|
|
# ...existing code...
|
|
|
|
|
|
# ...existing code...
|