From 702ec7497f9a31987015e461f3f11f5c1b125629 Mon Sep 17 00:00:00 2001 From: ThePromidius Date: Sat, 2 Mar 2024 18:59:28 +0100 Subject: [PATCH] Add path selection dialog for settings saveto lib path only on local mode --- src/FMD3_Tkinter/FMD3.ui | 14 +++++++++++++- src/FMD3_Tkinter/app/baseui.py | 10 +++++----- src/FMD3_Tkinter/run_web_client.py | 6 +++++- 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/src/FMD3_Tkinter/FMD3.ui b/src/FMD3_Tkinter/FMD3.ui index 884c2d0..86cf769 100644 --- a/src/FMD3_Tkinter/FMD3.ui +++ b/src/FMD3_Tkinter/FMD3.ui @@ -374,7 +374,7 @@ - Downloaded manga will save to: + Downloaded manga will save to: (Absolute path) top @@ -456,6 +456,18 @@ + + + on_settings_saveto_library_path_dialog + dark grey + grey + ... + 20 + + top + + + diff --git a/src/FMD3_Tkinter/app/baseui.py b/src/FMD3_Tkinter/app/baseui.py index 25203fb..f1ae8b7 100644 --- a/src/FMD3_Tkinter/app/baseui.py +++ b/src/FMD3_Tkinter/app/baseui.py @@ -21,7 +21,7 @@ PROJECT_PATH = pathlib.Path(__file__).parent.parent PROJECT_UI = PROJECT_PATH / "FMD3.ui" - +from tkinter.filedialog import askdirectory class BaseUI: @@ -48,7 +48,7 @@ def __init__(self, master=None, translator=None): self.widget_settings_saveto_libraries_treeview = self.builder.get_object("widget_settings_saveto_libraries_treeview") self.widget_settings_saveto_libraries_default_optionmenu = self.builder.get_object("widget_settings_saveto_libraries_default_optionmenu") - + self.widget_settings_saveto_librarypath_dialog_button = self.builder.get_object("widget_settings_saveto_librarypath_dialog_button") # Tasks self.widget_tasks_treeview:Treeview = self.builder.get_object("widget_tasks_treeview") @@ -159,9 +159,9 @@ def on_series_chapters_actionmenu_select(self, value): if value == "All": tree.check_all() - - - + def on_settings_saveto_library_path_dialog(self,*_): + asl_path = askdirectory(parent=self.mainwindow,title="Select dowload folder to save as library") + self.var_settings_saveto_lib_path.set(asl_path) # if value == "All": diff --git a/src/FMD3_Tkinter/run_web_client.py b/src/FMD3_Tkinter/run_web_client.py index 6dc4380..8eec710 100644 --- a/src/FMD3_Tkinter/run_web_client.py +++ b/src/FMD3_Tkinter/run_web_client.py @@ -9,6 +9,10 @@ def run_web(): from FMD3_Tkinter.app.main import App start_scheduler_loop() - App().run() + app = App() + # disable button as this is not useable in the api mode + app.widget_settings_saveto_librarypath_dialog_button.pack_forget() + app.run() + if __name__ == '__main__': run_web() \ No newline at end of file