diff --git a/__pycache__/common_tools.cpython-312.pyc b/__pycache__/common_tools.cpython-312.pyc index 70ccf6b..83b6bc0 100644 Binary files a/__pycache__/common_tools.cpython-312.pyc and b/__pycache__/common_tools.cpython-312.pyc differ diff --git a/__pycache__/wp_app_config.cpython-312.pyc b/__pycache__/wp_app_config.cpython-312.pyc index ed1738b..65b6f49 100644 Binary files a/__pycache__/wp_app_config.cpython-312.pyc and b/__pycache__/wp_app_config.cpython-312.pyc differ diff --git a/common_tools.py b/common_tools.py index e321658..b87fc1a 100755 --- a/common_tools.py +++ b/common_tools.py @@ -621,17 +621,21 @@ class Tooltip(): example: Tooltip(label, "Show tooltip on label") example: Tooltip(button, "Show tooltip on button") example: Tooltip(widget, "Text", state_var=tk.BooleanVar()) + example: Tooltip(widget, "Text", state_var=tk.BooleanVar(), x_offset=20, y_offset=10) info: label and button are parent widgets. NOTE: When using with state_var, pass the tk.BooleanVar object directly, NOT its value. For example: use state_var=my_bool_var, NOT state_var=my_bool_var.get() """ - def __init__(self, widget: Any, text: str, state_var: Optional[tk.BooleanVar] = None) -> None: + def __init__(self, widget: Any, text: str, state_var: Optional[tk.BooleanVar] = None, + x_offset: int = 65, y_offset: int = 40) -> None: """Tooltip Class""" self.widget: Any = widget self.text: str = text self.tooltip_window: Optional[Toplevel] = None self.state_var = state_var + self.x_offset = x_offset + self.y_offset = y_offset # Initial binding based on current state self.update_bindings() @@ -662,8 +666,8 @@ class Tooltip(): cy: int x, y, cx, cy = self.widget.bbox("insert") - x += self.widget.winfo_rootx() + 65 - y += self.widget.winfo_rooty() + 40 + x += self.widget.winfo_rootx() + self.x_offset + y += self.widget.winfo_rooty() + self.y_offset self.tooltip_window = tw = tk.Toplevel(self.widget) tw.wm_overrideredirect(True) diff --git a/wirepy.py b/wirepy.py index 6e6c784..9e7114d 100755 --- a/wirepy.py +++ b/wirepy.py @@ -266,9 +266,9 @@ class FrameWidgets(ttk.Frame): self.lb_rename.config(state="disable") if self.l_box.size() != 0: - Tooltip(self.lb_rename, Msg.TTIP["rename_tl"], self.tooltip_state) + Tooltip(self.lb_rename, Msg.TTIP["rename_tl"], self.tooltip_state, x_offset= -120, y_offset=-70) else: - Tooltip(self.lb_rename, Msg.TTIP["rename_tl_info"], self.tooltip_state) + Tooltip(self.lb_rename, Msg.TTIP["rename_tl_info"], self.tooltip_state, x_offset=-180, y_offset=-50) # Button Rename self.btn_rename = ttk.Button(self.lb_frame4, text=_("Rename"), state="disable", command=self.tl_rename, @@ -289,14 +289,14 @@ class FrameWidgets(ttk.Frame): self.wg_autostart.grid(column=0, row=0, pady=15, padx=15, sticky="nw") if self.l_box.size() >= 1 and len(self.l_box.curselection()) >= 1: - Tooltip(self.wg_autostart, Msg.TTIP["autostart"], self.tooltip_state) + Tooltip(self.wg_autostart, Msg.TTIP["autostart"], self.tooltip_state, x_offset=-10, y_offset=-40) if self.l_box.size() == 0: - Tooltip(self.wg_autostart, Msg.TTIP["autostart_info"], self.tooltip_state) + Tooltip(self.wg_autostart, Msg.TTIP["autostart_info"], self.tooltip_state, x_offset=30, y_offset=-50) else: - Tooltip(self.wg_autostart, Msg.TTIP["autostart"], self.tooltip_state) + Tooltip(self.wg_autostart, Msg.TTIP["autostart"], self.tooltip_state, x_offset=-10, y_offset=-40) self.on_off() @@ -326,15 +326,21 @@ class FrameWidgets(ttk.Frame): self.update_tooltip.set(_("Updates you have disabled")) # Clear the foreground color as requested self.update_foreground.set("") + # Set tooltip for the label + Tooltip(self.updates_lb, self.update_tooltip.get(), self.tooltip_state) elif res == "No Internet Connection!": self.update_label.set(_("No Server Connection!")) self.update_foreground.set("red") + # Set tooltip for "No Server Connection" + Tooltip(self.updates_lb, _("Could not connect to update server"), self.tooltip_state) elif res == "No Updates": self.update_label.set(_("No Updates")) self.update_tooltip.set(_("Congratulations! Wire-Py is up to date")) self.update_foreground.set("") + # Set tooltip for the label + Tooltip(self.updates_lb, self.update_tooltip.get(), self.tooltip_state) else: self.set_update.set(value=0) @@ -346,7 +352,7 @@ class FrameWidgets(ttk.Frame): # Create the update button self.update_btn = ttk.Menubutton(self.menu_frame, text=update_text) self.update_btn.grid(column=4, columnspan=3, row=0, padx=0) - Tooltip(self.update_btn, Msg.TTIP["download"], self.tooltip_state) + Tooltip(self.update_btn, _("Click to download new version"), self.tooltip_state) self.download = tk.Menu(self, relief="flat") self.update_btn.configure(menu=self.download, style="Toolbutton") @@ -579,7 +585,7 @@ class FrameWidgets(ttk.Frame): self.l_box.update() self.l_box.selection_set(0) - Tooltip(self.wg_autostart, Msg.TTIP["autostart"], self.tooltip_state) + Tooltip(self.wg_autostart, Msg.TTIP["autostart"], self.tooltip_state, x_offset=-10, y_offset=-40) Tooltip(self.btn_tr, Msg.TTIP["trash_tl"], self.tooltip_state) Tooltip(self.btn_exp, Msg.TTIP["export_tl"], self.tooltip_state) Tooltip(self.btn_rename, Msg.TTIP["rename_tl"], self.tooltip_state) @@ -645,7 +651,7 @@ class FrameWidgets(ttk.Frame): self.wg_autostart.configure(state="disabled") self.lb_rename.configure(state="disabled") Tooltip(self.wg_autostart, Msg.TTIP["autostart_info"] - , self.tooltip_state) + , self.tooltip_state, x_offset=30, y_offset=-50) Tooltip(self.btn_exp, Msg.TTIP["export_tl_info"], self.tooltip_state) Tooltip(self.btn_stst, Msg.TTIP["empty_list"], self.tooltip_state)