diff --git a/Changelog b/Changelog index 5ea5338..70328fe 100644 --- a/Changelog +++ b/Changelog @@ -9,7 +9,19 @@ My standard System: Linux Mint 22 Cinnamon - Replace Download Button with Lx Tools installer ### Added -23-06-2025 +02-07-2025 + +- Complete code for faulty f" string configuration dur addicted and fixed + +- updater replace Downloadbutton with Lx Tools installer + +- remove logviewer icon + +- add settings.png icon for update button + + + ### Added +27-06-2025 - Header added for more modern desing diff --git a/lx-icons/16/settings.png b/lx-icons/16/settings.png new file mode 100644 index 0000000..5a09d74 Binary files /dev/null and b/lx-icons/16/settings.png differ diff --git a/wirepy.py b/wirepy.py index 2a82723..84e21a0 100755 --- a/wirepy.py +++ b/wirepy.py @@ -6,6 +6,8 @@ import logging import getpass import shutil import sys +import os +import subprocess import tkinter as tk import webbrowser from functools import partial @@ -192,7 +194,7 @@ class FrameWidgets(ttk.Frame): self.version_label = tk.Label( self.header_frame, - text=f"{AppConfig.VERSION} • {Msg.STR["header_left_bottom"]}", + text=f"{AppConfig.VERSION} • {Msg.STR['header_left_bottom']}", font=("Helvetica", 9), fg="#bdc3c7", bg="#2c3e50", @@ -481,6 +483,15 @@ class FrameWidgets(ttk.Frame): else: self.updates_lb.grid_remove() + def updater(self): + """Start the lxtools_installer""" + tmp_dir = Path("/tmp/lxtools") + Path.mkdir(tmp_dir, exist_ok=True) + os.chdir(tmp_dir) + result = subprocess.run(["/usr/local/bin/lxtools_installer"], check=False) + if result.returncode != 0: + MessageDialog("error", result.stderr) + # Update the labels based on the result def update_ui_for_update(self, res): """Update UI elements based on an update check result""" @@ -517,25 +528,20 @@ class FrameWidgets(ttk.Frame): else: self.set_update.set(value=0) - update_text = f"Update {res} {_('available!')}" # Clear the label text since we'll show the button instead self.update_label.set("") # 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, _("Click to download new version"), self.tooltip_state + self.update_btn = ttk.Button( + self.menu_frame, + image=self.image_manager.load_image("update"), + style="Toolbutton", + command=self.updater, ) - - self.download = tk.Menu(self, relief="flat") - self.update_btn.configure(menu=self.download, style="Toolbutton") - self.download.add_command( - label=_("Download"), - command=lambda: GiteaUpdate.download( - f"{AppConfig.DOWNLOAD_URL}/{res}.zip", res - ), + self.update_btn.grid(column=5, row=0, padx=0) + Tooltip( + self.update_btn, _("Click to install new version"), self.tooltip_state ) @staticmethod @@ -723,11 +729,11 @@ class FrameWidgets(ttk.Frame): ) data_import, key_name = Tunnel.parse_files_to_dictionary(filepath=filepath) - if CryptoUtil.find_key(f"{data_import[key_name]["PrivateKey"]}="): + if CryptoUtil.find_key(f"{data_import[key_name]['PrivateKey']}="): MessageDialog("error", Msg.STR["tl_exist"], title=Msg.STR["imp_err"]) elif not CryptoUtil.is_valid_base64( - f"{data_import[key_name]["PrivateKey"]}=" + f"{data_import[key_name]['PrivateKey']}=" ): # 2. Second check: Is it valid Base64? MessageDialog( "error", diff --git a/wp_app_config.py b/wp_app_config.py index 5cbd337..ad0787b 100755 --- a/wp_app_config.py +++ b/wp_app_config.py @@ -59,7 +59,7 @@ class AppConfig: # Updates # 1 = 1. Year, 09 = Month of the Year, 2924 = Day and Year of the Year - VERSION: str = "v. 2.06.2625" + VERSION: str = "v. 2.07.0225" UPDATE_URL: str = "https://git.ilunix.de/api/v1/repos/punix/Wire-Py/releases" DOWNLOAD_URL: str = "https://git.ilunix.de/punix/Wire-Py/archive" @@ -187,12 +187,12 @@ class Image: "icon_export": [ "/usr/share/icons/lx-icons/48/wg_export.png", ], - "icon_log": [ - "/usr/share/icons/lx-icons/48/log.png", - ], "icon_trash": [ "/usr/share/icons/lx-icons/48/wg_trash.png", ], + "update": [ + "/usr/share/icons/lx-icons/16/settings.png", + ], } # Get paths to try @@ -210,7 +210,7 @@ class Image: self.images[image_key] = photo return photo except tk.TclError as e: - # print(f"{LocaleStrings.MSGP["fail_load_image"]}{path}: {e}") + print(f"{LocaleStrings.MSGP['fail_load_image']}{path}: {e}") continue # Return None if no image found