commit 74
This commit is contained in:
@@ -251,10 +251,6 @@ class CustomFileDialog(tk.Toplevel):
|
||||
self.widget_manager.path_entry.bind(
|
||||
"<Return>", self.handle_path_entry_return)
|
||||
|
||||
# Bind focus events to show the static animation
|
||||
self.widget_manager.path_entry.bind("<FocusIn>", self.show_search_ready)
|
||||
self.widget_manager.filename_entry.bind("<FocusIn>", self.show_search_ready)
|
||||
|
||||
self.bind("<Key>", self.show_search_bar)
|
||||
|
||||
# Bind the delete key only in "save" mode
|
||||
@@ -283,7 +279,7 @@ class CustomFileDialog(tk.Toplevel):
|
||||
# If not animating, activate search entry
|
||||
self.widget_manager.filename_entry.focus_set()
|
||||
self.search_mode = True # Ensure search mode is active
|
||||
self.widget_manager.search_animation.show_full_circle()
|
||||
self.widget_manager.search_animation.start(pulse=True)
|
||||
self.widget_manager.filename_entry.bind("<Return>", self.execute_search)
|
||||
self.widget_manager.filename_entry.bind("<Escape>", self.hide_search_bar)
|
||||
|
||||
@@ -306,6 +302,8 @@ class CustomFileDialog(tk.Toplevel):
|
||||
self.widget_manager.filename_entry.unbind("<Escape>")
|
||||
if self.dialog_mode == "save":
|
||||
self.widget_manager.filename_entry.bind("<Return>", lambda e: self.on_save())
|
||||
else:
|
||||
self.widget_manager.filename_entry.bind("<Return>", self.execute_search)
|
||||
self.populate_files()
|
||||
self.widget_manager.search_animation.hide()
|
||||
|
||||
@@ -317,7 +315,7 @@ class CustomFileDialog(tk.Toplevel):
|
||||
self.hide_search_bar()
|
||||
return
|
||||
self.widget_manager.search_status_label.config(text=f"Suche nach '{search_term}'...")
|
||||
self.widget_manager.search_animation.start()
|
||||
self.widget_manager.search_animation.start(pulse=False)
|
||||
self.update_idletasks()
|
||||
self.search_thread = threading.Thread(target=self._perform_search_in_thread, args=(search_term,))
|
||||
self.search_thread.start()
|
||||
@@ -466,6 +464,8 @@ class CustomFileDialog(tk.Toplevel):
|
||||
)
|
||||
self.widget_manager.search_animation.grid(row=0, column=0, sticky='w', padx=(0, 5), pady=(4,0))
|
||||
self.widget_manager.search_animation.bind("<Button-1>", lambda e: self.activate_search())
|
||||
self.widget_manager.search_animation.bind("<Enter>", self._show_tooltip)
|
||||
self.widget_manager.search_animation.bind("<Leave>", self._hide_tooltip)
|
||||
|
||||
if is_running:
|
||||
self.widget_manager.search_animation.start()
|
||||
@@ -1124,6 +1124,7 @@ class CustomFileDialog(tk.Toplevel):
|
||||
self.selected_item_frame = item_frame
|
||||
self.selected_file = path
|
||||
self.update_status_bar(path) # Pass selected path
|
||||
self.show_search_ready()
|
||||
if not os.path.isdir(path):
|
||||
self.widget_manager.filename_entry.delete(0, tk.END)
|
||||
self.widget_manager.filename_entry.insert(0, os.path.basename(path))
|
||||
@@ -1136,6 +1137,7 @@ class CustomFileDialog(tk.Toplevel):
|
||||
path = os.path.join(self.current_dir, item_text)
|
||||
self.selected_file = path
|
||||
self.update_status_bar(path) # Pass selected path
|
||||
self.show_search_ready()
|
||||
if not os.path.isdir(self.selected_file):
|
||||
self.widget_manager.filename_entry.delete(0, tk.END)
|
||||
self.widget_manager.filename_entry.insert(0, item_text)
|
||||
@@ -1417,6 +1419,22 @@ class CustomFileDialog(tk.Toplevel):
|
||||
self.navigate_to(directory)
|
||||
self.after(100, lambda: self._select_file_in_view(filename))
|
||||
|
||||
def _show_tooltip(self, event):
|
||||
if hasattr(self, 'tooltip_window') and self.tooltip_window.winfo_exists():
|
||||
return
|
||||
x = self.widget_manager.search_animation.winfo_rootx() + 25
|
||||
y = self.widget_manager.search_animation.winfo_rooty() + 25
|
||||
self.tooltip_window = tk.Toplevel(self)
|
||||
self.tooltip_window.wm_overrideredirect(True)
|
||||
self.tooltip_window.wm_geometry(f"+{x}+{y}")
|
||||
label = tk.Label(self.tooltip_window, text="Klicken, um die Suche zu aktivieren",
|
||||
background="#333333", foreground="#FFFFFF", relief="solid", borderwidth=1)
|
||||
label.pack()
|
||||
|
||||
def _hide_tooltip(self, event):
|
||||
if hasattr(self, 'tooltip_window') and self.tooltip_window.winfo_exists():
|
||||
self.tooltip_window.destroy()
|
||||
|
||||
def start_rename(self, item_widget, item_path):
|
||||
if self.view_mode.get() == "icons":
|
||||
self._start_rename_icon_view(item_widget, item_path)
|
||||
|
||||
Reference in New Issue
Block a user