Untitled
unknown
plain_text
a year ago
2.5 kB
7
Indexable
class WifiConfigurationScreen(ctk.CTkToplevel):
def __init__(self, parent, dark_mode: bool, language='EN'):
super().__init__(parent)
self._is_destroyed = False
self.bind("<Destroy>", self._on_destroy)
# Make it fullscreen and disable all close operations
self.overrideredirect(True)
self.geometry(f"{self.winfo_screenwidth()}x{self.winfo_screenheight()}+0+0")
self.protocol("WM_DELETE_WINDOW", lambda: None)
self.attributes('-topmost', True)
# Set colors based on dark mode
self.dark_mode = dark_mode
self.bg_color = '#1c1c1e' if dark_mode else '#f5f5f7'
self.text_color = 'white' if dark_mode else 'black'
self.button_color = '#2c2c2e' if dark_mode else '#e5e5e7'
self.button_hover_color = '#3a3a3c' if dark_mode else '#d1d1d6'
# Status message colors
self.status_colors = {
'success': '#34c759', # Green
'error': '#ff3b30', # Red
'warning': '#ff9f0a', # Orange
'info': '#0a84ff', # Blue
'default': 'white' if dark_mode else 'black'
}
self.configure(fg_color=self.bg_color)
# Variables
self.networks = []
self.selected_network = StringVar()
self.password = StringVar()
self.show_password = ctk.BooleanVar(value=False)
self.keyboard_visible = False
self.current_connection = {
"SSID": TRANSLATIONS[language]['wifi_disconnected'],
"Signal Strength": "N/A",
"IP Address": "N/A"
}
self.status_message = StringVar(value="")
self.language = language
self.is_scanning = False
# Load all signal icons
self.load_icons(dark_mode)
# Create main container
self.main_container = ctk.CTkFrame(self, fg_color=self.bg_color, corner_radius=0)
self.main_container.pack(fill="both", expand=True, padx=40, pady=(0, 0))
# Create close button
self.create_close_button()
# Create UI Elements
self.create_widgets()
# Start scanning networks
self.scan_wifi_networks()
self.update_current_connection()
# Bind click outside password entry to hide keyboard
self.bind('<Button-1>', self.check_hide_keyboard)Editor is loading...
Leave a Comment