From 52f782b4e8ff38d7dcbd38fb40c543235a420e55 Mon Sep 17 00:00:00 2001 From: punix Date: Sun, 29 Jun 2025 18:08:35 +0200 Subject: [PATCH] replace download with open lxtoolsinstaller add translate german for logviewer fix message dialog --- Changelog | 12 +++ README.md | 3 +- languages/de/logviewer.mo | Bin 0 -> 2721 bytes languages/de/logviewer.po | 163 ++++++++++++++++++++++++++++++++++++++ logview_app_config.py | 5 +- logviewer.py | 33 ++++---- message.py | 2 +- 7 files changed, 200 insertions(+), 18 deletions(-) create mode 100644 languages/de/logviewer.mo create mode 100644 languages/de/logviewer.po diff --git a/Changelog b/Changelog index e976829..99087d0 100644 --- a/Changelog +++ b/Changelog @@ -5,6 +5,18 @@ Changelog for shared_libs - add Info Window for user in delete logfile bevore delete logfile. + + ### Added +29.06.2025 + + - add new icon for install Update + + - replace download with updater methode + + - add methode for open lxtools_installer Appimage + + - add german translation for logviewer + ### Added 15-06-2025 diff --git a/README.md b/README.md index 0b25c4c..ac3630f 100644 --- a/README.md +++ b/README.md @@ -9,4 +9,5 @@ Examples with a Theme from Projekt Wire-Py [![warning_example.png](https://fb.ilunix.de/api/public/dl/1JEdSJcI?inline=true)](https://fb.ilunix.de/share/1JEdSJcI) [![question_light_example.png](https://fb.ilunix.de/api/public/dl/XxNey7y7?inline=true)](https://fb.ilunix.de/share/1XxNey7y7) [![question_dark_example.png](https://fb.ilunix.de/api/public/dl/4HCxiNwB?inline=true)](https://fb.ilunix.de/share/4HCxiNwB) -[![example_with_own_title_and_icon.png](https://fb.ilunix.de/api/public/dl/uui8b1xx?inline=true)](https://fb.ilunix.de/share/uui8b1xx) \ No newline at end of file +[![example_with_own_title_and_icon.png](https://fb.ilunix.de/api/public/dl/uui8b1xx?inline=true)](https://fb.ilunix.de/share/uui8b1xx) +[![logviewer_example.png](https://fb.ilunix.de/api/public/dl/54OM6wUC?inline=true)](https://fb.ilunix.de/share/54OM6wUC) diff --git a/languages/de/logviewer.mo b/languages/de/logviewer.mo new file mode 100644 index 0000000000000000000000000000000000000000..ab0800b5190bd2b8c0459e43e5fb0a6ecb184b48 GIT binary patch literal 2721 zcmai#&yy2H6vs!!A4E_=@Hg<{FIZvLup(kai-j!97P}D1E{GSLWL{?4OuAD&JsY!> z<-xx}PnHMED&>YAIB_C3%Zue*50<5Wfu&WJ`hAlLyNkF^Rq{!9zka{x<%jK?KJxJF z!RIM_cHH546X2FR@rCCq_!#&VxC{ISd=&f@6nXD1&$}Dg1#SnQ0cHO%_&nGEH-RhQ z)8Gfi`ZKVE^%vkn;Md@T;1GNm{2qJ&`~}5qkAoLM@h=7UBL^RYg!K&wKL`E?ZA33D1IC*cpiKO>mGO%{1TMB{0t&Q z?+;M&^B4FXxOMX=?>~a#&z~TUyq!qG{orm;?7sjKco39&o&&}29*D5lJzKHbvStS& zxo*)b4@~4WM<{tuh#iUHNqodN$&Wl@S7H`>C}aLe>=K8>^hmxl>Vw_*jn>L@@&qWo zBzc!d>h4WbSEVlKFqu{>vzEhZ=`z1xy8S`w>^`2j{VCzv?QYTK;+8kvG@0{GB&yY+ zwz1S;=ai1pV#^s)8one6Y3|c9+f*6toiIAGfyVVRccg0k$_2c%NUdW2hH;22`P z0lu;%ByAkEjMm(8a-8)D2<;@oJo~<4f}<@@gs#nhDdQF^N;X^ybD=ehq8W z*NF*2YGkbzr)fJ&R`=Li1D#`$cAydt%XCIUacni;^aQ?_|1DTgI7peC9Z(PjN_#VU zy*KkJik&wv_QhL#mKFEeQb4Kd_Tczzrt)l_$G*t4;X*oDDy@nlQKrY5Qj^&h5@Fh| zA6TZoRnB2wX{rxgY&34obP+<8dM3$q6dbA?%d~O>Uv?)$rXWcTC91<|ZZkAGuL>?M zA&kC)mdp{f+d#WPx#S@ejXd#$I!Z6ecdbfCn#z^l z@@E-7jvTKW4wa*qCJ#+cmAo0G?1R4^#cL-C0`0gAnkT)}rZB@_Ndw zQIrg?!2(Q<#|lac3kol6mVp^#tsq@O>Og;Z2ML&T@bFd2BJwMhU&8F-9Fx zE)K_~MYh|+>rpeX-e|-jA!y&Wbf7dZ{!OGma*#$^iUv#Z%B6W!LE_kXlKVK2@Wz@~ oJIQ%-G3NN&bM<^wDQa>X;owgvMca^c3kIQ#5ahWPYn6Kc0GPD?5&!@I literal 0 HcmV?d00001 diff --git a/languages/de/logviewer.po b/languages/de/logviewer.po new file mode 100644 index 0000000..a1ecd97 --- /dev/null +++ b/languages/de/logviewer.po @@ -0,0 +1,163 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR polunga40@unity-mail.de, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-29 17:25+0200\n" +"PO-Revision-Date: 2025-06-29 18:00+0200\n" +"Last-Translator: Désiré Werner Menrath \n" +"Language-Team: \n" +"Language: de_DE\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.4.2\n" + +#: gitea.py:127 +msgid "Download Successful" +msgstr "Herunterladen erfolgreich" + +#: gitea.py:128 +msgid "Your zip file is in home directory" +msgstr "Ihre ZIP-Datei befindet sich im Home-Verzeichnis" + +#: gitea.py:129 +msgid "Download error" +msgstr "Fehler beim Herunterladen" + +#: gitea.py:130 +msgid "Download failed! Please try again" +msgstr "Herunterladen fehlgeschlagen! Bitte versuchen Sie es erneut." + +#: gitea.py:131 +msgid "Download failed! No internet connection!" +msgstr "Herunterladen fehlgeschlagen! Keine Internetverbindung!" + +#: logviewer.py:102 +msgid "Load Log" +msgstr "Logdatei laden" + +#: logviewer.py:107 +msgid "Options" +msgstr "Optionen" + +#: logviewer.py:116 +msgid "Disable Updates" +msgstr "Updates deaktivieren" + +#: logviewer.py:149 +msgid "About" +msgstr "Über" + +#: logviewer.py:184 +msgid "Update search off" +msgstr "Suche nach Updates ausgeschaltet" + +#: logviewer.py:185 +msgid "Updates you have disabled" +msgstr "Sie haben Updates deaktiviert" + +#: logviewer.py:192 +msgid "No Server Connection!" +msgstr "Keine Verbindung zum Server!" + +#: logviewer.py:197 +msgid "Could not connect to update server" +msgstr "Verbindung zum Update-Server nicht möglich" + +#: logviewer.py:202 +msgid "No Updates" +msgstr "Keine Updates verfügbar" + +#: logviewer.py:203 +msgid "Congratulations! Wire-Py is up to date" +msgstr "Glückwunsch! Wire-Py ist aktuell." + +#: logviewer.py:223 +msgid "Click to install new version" +msgstr "Klicken Sie, um die neue Version zu installieren" + +#: logviewer.py:232 +msgid "" +"Logviewer a simple Gui for View Logfiles.\n" +"\n" +"Logviewer is open source software written in Python.\n" +"\n" +"Email: polunga40@unity-mail.de also likes for donation.\n" +"\n" +"Use without warranty!\n" +msgstr "" +"Logviewer eine einfache GUI zur Anzeige von Protokolldateien.\n" +"\n" +"Logviewer ist Open-Source-Software, geschrieben in Python.\n" +"\n" +"E-Mail: polunga40@unity-mail.de (Spenden sind willkommen).\n" +"\n" +"Verwendung ohne Gewähr!\n" + +#: logviewer.py:288 +msgid "Disable Tooltips" +msgstr "Tooltips deaktivieren" + +#: logviewer.py:291 +msgid "Enable Tooltips" +msgstr "Tooltips aktivieren" + +#: logviewer.py:319 +msgid "Dark" +msgstr "Dunkel" + +#: logviewer.py:321 +msgid "Light" +msgstr "Hell" + +#: logviewer.py:362 +msgid "Copy" +msgstr "Kopieren" + +#: logviewer.py:363 +msgid "Paste" +msgstr "Einfügen" + +#: logviewer.py:367 +msgid "Search" +msgstr "Suchen" + +#: logviewer.py:371 +msgid "Delete_Log" +msgstr "Logdatei löschen" + +#: logviewer.py:456 +msgid "A mistake occurred: {str(e)}" +msgstr "Ein Fehler ist aufgetreten: {str(e)}" + +#: logviewer.py:457 +msgid "" +"A mistake occurred:\n" +"{str(e)}\n" +msgstr "" +"Ein Fehler ist aufgetreten:\n" +"{str(e)}\n" + +#: logviewer.py:474 +#, python-brace-format +msgid "A mistake occurred: {e}" +msgstr "Ein Fehler ist aufgetreten: {e}" + +#: logviewer.py:475 +#, python-brace-format +msgid "" +"A mistake occurred:\n" +"{e}\n" +msgstr "" +"Ein Fehler ist aufgetreten:\n" +"{e}\n" + +#: logview_app_config.py:146 +msgid "Click for Settings" +msgstr "Klick für Einstellungen" diff --git a/logview_app_config.py b/logview_app_config.py index 70670bf..8d66102 100644 --- a/logview_app_config.py +++ b/logview_app_config.py @@ -51,14 +51,14 @@ class AppConfig: # Updates # 1 = 1. Year, 09 = Month of the Year, 2924 = Day and Year of the Year - VERSION: str = "v. 1.06.0325" + VERSION: str = "v. 1.06.2925" UPDATE_URL: str = "https://git.ilunix.de/api/v1/repos/punix/shared_libs/releases" DOWNLOAD_URL: str = "https://git.ilunix.de/punix/shared_libs/archive" # UI configuration UI_CONFIG: Dict[str, Any] = { "window_title2": "LogViewer", - "window_size": (600, 383), + "window_size": (590, 450), "font_family": "Ubuntu", "font_size": 11, "resizable_window": (True, True), @@ -69,6 +69,7 @@ class AppConfig: "icon_info": "/usr/share/icons/lx-icons/64/info.png", "icon_error": "/usr/share/icons/lx-icons/64/error.png", "icon_log": "/usr/share/icons/lx-icons/48/log.png", + "update": "/home/punix/Bilder/lx-icons/16/settings.png", } # System-dependent paths diff --git a/logviewer.py b/logviewer.py index d5b9cae..a53ac43 100755 --- a/logviewer.py +++ b/logviewer.py @@ -5,6 +5,7 @@ import tkinter as tk from tkinter import TclError, filedialog, ttk from pathlib import Path import webbrowser +import subprocess from functools import partial from shared_libs.gitea import GiteaUpdate from shared_libs.message import MessageDialog @@ -47,6 +48,9 @@ class LogViewer(tk.Tk): self.createWidgets(_) self.load_file(_, modul_name=modul_name) self.log_icon = tk.PhotoImage(file=modul_name.AppConfig.IMAGE_PATHS["icon_log"]) + self.update_icon = tk.PhotoImage( + file=modul_name.AppConfig.IMAGE_PATHS["update"] + ) self.iconphoto(True, self.log_icon) self.grid_rowconfigure(0, weight=1) self.grid_rowconfigure(1, weight=1) @@ -164,6 +168,12 @@ class LogViewer(tk.Tk): else: self.updates_lb.grid_remove() + def updater(self): + """Start the lxtools_installer""" + 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, modul_name, _): """Update UI elements based on an update check result""" @@ -200,25 +210,20 @@ class LogViewer(tk.Tk): 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 = ttk.Button( + self.menu_frame, + image=self.update_icon, + style="Toolbutton", + command=self.updater, + ) self.update_btn.grid(column=5, row=0, padx=0) 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") - self.download.add_command( - label=_("Download"), - command=lambda: GiteaUpdate.download( - f"{modul_name.AppConfig.DOWNLOAD_URL}/{res}.zip", res - ), + self.update_btn, _("Click to install new version"), self.tooltip_state ) @staticmethod @@ -362,11 +367,11 @@ class LogViewer(tk.Tk): self.text_area.bind("", self.show_context_menu) self._entry.bind("", self.show_context_menu) - search_button = ttk.Button(next_frame, text="Search", command=self._onFind) + search_button = ttk.Button(next_frame, text=_("Search"), command=self._onFind) search_button.grid(row=0, column=0, padx=5, pady=5, sticky=tk.EW) delete_button = ttk.Button( - next_frame, text="Delete_Log", command=self.delete_file + next_frame, text=_("Delete_Log"), command=self.delete_file ) delete_button.grid(row=0, column=2, padx=5, pady=5, sticky=tk.EW) diff --git a/message.py b/message.py index f79714c..3e72df7 100644 --- a/message.py +++ b/message.py @@ -129,7 +129,7 @@ class MessageDialog: self.window = tk.Toplevel(master) self.window.grab_set() self.window.resizable(False, False) - ttk.Style().configure("TButton", font=("Helvetica", 11), padding=5) + ttk.Style().configure("TButton") self.buttons_widgets = [] self.current_button_index = 0 self._load_icons() -- 2.49.0