44
55from manager import WallpaperManager
66from scheduler import TkScheduler
7- from lib import set_wallpaper
87from api import WallhavenAPI
98from tray import TrayIcon
109
@@ -15,15 +14,16 @@ def __init__(self, _root: tk.Tk, interval_seconds: int):
1514 self ._setup_root ()
1615
1716 self .scheduler = TkScheduler (self .root )
18- self .manager = WallpaperManager (self .scheduler )
1917 self .api = WallhavenAPI ()
18+ self .manager = WallpaperManager (self .scheduler , self .api )
2019
2120 self .folder_var = tk .StringVar (None , self .manager .folder )
2221 self .api_var = tk .StringVar (None , self .api .get_api_key ())
23- self .api_var .trace_add ("write" , lambda * args : self .api . set_api_key ( self . api_var . get ()) )
22+ self .api_var .trace_add ("write" , self .__api_var_trace_add )
2423 self .api_search_var = tk .StringVar (None , self .api .get_search_query ())
25- self .api_search_var .trace_add ("write" , lambda * args : self .api . set_search_query ( self . api_search_var . get ()) )
24+ self .api_search_var .trace_add ("write" , self .__api_search_var_trace_add )
2625 self .source_var = tk .StringVar (None , "local" )
26+ self .source_var .trace_add ("write" , self .__source_var_trace_add )
2727 self .status_var = tk .StringVar ()
2828 self .timer_var = tk .StringVar ()
2929 self .interval_seconds = interval_seconds
@@ -38,6 +38,15 @@ def __init__(self, _root: tk.Tk, interval_seconds: int):
3838 self ._build_ui ()
3939 self .tray_icon .start ()
4040
41+ def __api_var_trace_add (self , * _args ):
42+ self .api .set_api_key (self .api_var .get ())
43+
44+ def __api_search_var_trace_add (self , * _args ):
45+ self .api .set_search_query (self .api_search_var .get ())
46+
47+ def __source_var_trace_add (self , * _args ):
48+ self .manager .set_wallpaper_type (self .source_var .get ())
49+
4150 def show_window (self ):
4251 def _show ():
4352 self .root .deiconify ()
0 commit comments