bash-script-maker 1.6.1__py3-none-any.whl → 1.8.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {bash_script_maker-1.6.1.dist-info → bash_script_maker-1.8.0.dist-info}/METADATA +1 -1
- bash_script_maker-1.8.0.dist-info/RECORD +11 -0
- bash_script_maker.py +190 -11
- bash_script_maker-1.6.1.dist-info/RECORD +0 -11
- {bash_script_maker-1.6.1.dist-info → bash_script_maker-1.8.0.dist-info}/LICENSE +0 -0
- {bash_script_maker-1.6.1.dist-info → bash_script_maker-1.8.0.dist-info}/WHEEL +0 -0
- {bash_script_maker-1.6.1.dist-info → bash_script_maker-1.8.0.dist-info}/entry_points.txt +0 -0
- {bash_script_maker-1.6.1.dist-info → bash_script_maker-1.8.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,11 @@
|
|
1
|
+
assets.py,sha256=QMUllYA8CPAdu5ulDGRZm3opmimFSSAllUCol_RylmA,1012
|
2
|
+
bash_script_maker.py,sha256=YSAaOTNmnG2u2xzZy6-kUTzKHfXMe5VAm55XDdEGwK8,41515
|
3
|
+
custom_dialogs.py,sha256=Rr3jXuuZFRDNSBiM2sHcKhix3yiacvQkp6eluozwzmk,9243
|
4
|
+
localization.py,sha256=6Dbyf8qG-p6_vUDPoBTtVBnSixO7_gLVtPnuIC4Fchs,1344
|
5
|
+
syntax_highlighter.py,sha256=1umHO8lhhb_FxomXS3Yiub-KTWtBymt60ct5Www3boU,34954
|
6
|
+
bash_script_maker-1.8.0.dist-info/LICENSE,sha256=G-uFRliqQDtsMvClHiUhNBw84dKRzqodui4tIRPJta8,2334
|
7
|
+
bash_script_maker-1.8.0.dist-info/METADATA,sha256=kKzxS-gmzcq1a-_AeIjQjHpIasAbyrL_aU2tOYvmExo,14847
|
8
|
+
bash_script_maker-1.8.0.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
9
|
+
bash_script_maker-1.8.0.dist-info/entry_points.txt,sha256=jof_Nbub3hvayvOeVKrYpFDadAkCSUA3rqT7n61WED8,119
|
10
|
+
bash_script_maker-1.8.0.dist-info/top_level.txt,sha256=aQp35H7s1JAeQ5IhRLDUS7D-u5ob4IEsGv4ItOv5Afo,72
|
11
|
+
bash_script_maker-1.8.0.dist-info/RECORD,,
|
bash_script_maker.py
CHANGED
@@ -125,18 +125,26 @@ class AboutDialog(ttk.Toplevel):
|
|
125
125
|
def __init__(self, parent):
|
126
126
|
super().__init__(parent)
|
127
127
|
self.title(_("Über Bash-Script-Maker"))
|
128
|
-
self.geometry("
|
128
|
+
self.geometry("500x450")
|
129
|
+
self.resizable(False, False)
|
129
130
|
|
130
131
|
container = ttk.Frame(self, padding=20)
|
131
132
|
container.pack(fill=tk.BOTH, expand=True)
|
132
133
|
|
134
|
+
# Logo und Titel-Bereich
|
135
|
+
header_frame = ttk.Frame(container)
|
136
|
+
header_frame.pack(fill=tk.X, pady=(0, 20))
|
137
|
+
|
138
|
+
# Logo hinzufügen
|
139
|
+
self.add_logo_to_header(header_frame)
|
140
|
+
|
133
141
|
title_label = ttk.Label(
|
134
|
-
|
142
|
+
header_frame,
|
135
143
|
text="Bash-Script-Maker",
|
136
|
-
font=("",
|
144
|
+
font=("Arial", 20, "bold"),
|
137
145
|
bootstyle="primary",
|
138
146
|
)
|
139
|
-
title_label.pack(pady=(
|
147
|
+
title_label.pack(pady=(10, 0))
|
140
148
|
|
141
149
|
desc_text = _("Ein GUI-Programm zur einfachen Erstellung von Bash-Scripts.")
|
142
150
|
desc_label = ttk.Label(container, text=desc_text, wraplength=400)
|
@@ -182,6 +190,55 @@ class AboutDialog(ttk.Toplevel):
|
|
182
190
|
)
|
183
191
|
version_label.pack(pady=(15, 0))
|
184
192
|
|
193
|
+
# Schließen-Button
|
194
|
+
close_btn = ttk.Button(
|
195
|
+
container,
|
196
|
+
text=_("Schließen"),
|
197
|
+
command=self.destroy,
|
198
|
+
bootstyle="primary"
|
199
|
+
)
|
200
|
+
close_btn.pack(pady=(20, 0))
|
201
|
+
|
202
|
+
def add_logo_to_header(self, header_frame):
|
203
|
+
"""Fügt das Logo zum About-Dialog-Header hinzu"""
|
204
|
+
try:
|
205
|
+
script_dir = os.path.dirname(os.path.abspath(__file__))
|
206
|
+
logo_path = os.path.join(script_dir, "assets", "bash-script-maker-64.png")
|
207
|
+
|
208
|
+
if os.path.exists(logo_path):
|
209
|
+
try:
|
210
|
+
from PIL import Image, ImageTk
|
211
|
+
|
212
|
+
# Logo für About-Dialog (64x64)
|
213
|
+
img = Image.open(logo_path)
|
214
|
+
logo_photo = ImageTk.PhotoImage(img)
|
215
|
+
|
216
|
+
logo_label = ttk.Label(header_frame, image=logo_photo)
|
217
|
+
logo_label.image = logo_photo # Referenz behalten
|
218
|
+
logo_label.pack(anchor=tk.CENTER)
|
219
|
+
|
220
|
+
except ImportError:
|
221
|
+
# Fallback: Großes Emoji
|
222
|
+
logo_label = ttk.Label(
|
223
|
+
header_frame,
|
224
|
+
text="🖥️",
|
225
|
+
font=("Arial", 48)
|
226
|
+
)
|
227
|
+
logo_label.pack(anchor=tk.CENTER)
|
228
|
+
else:
|
229
|
+
# Fallback: Emoji
|
230
|
+
logo_label = ttk.Label(
|
231
|
+
header_frame,
|
232
|
+
text="🖥️",
|
233
|
+
font=("Arial", 48)
|
234
|
+
)
|
235
|
+
logo_label.pack(anchor=tk.CENTER)
|
236
|
+
|
237
|
+
except Exception as e:
|
238
|
+
print(f"Fehler beim Hinzufügen des Logos zum About-Dialog: {e}")
|
239
|
+
# Minimaler Fallback
|
240
|
+
pass
|
241
|
+
|
185
242
|
|
186
243
|
class ScriptInfoDialog(ttk.Toplevel):
|
187
244
|
def __init__(self, parent, script_name, content):
|
@@ -329,6 +386,118 @@ class BashScriptMaker:
|
|
329
386
|
except Exception as e:
|
330
387
|
print(f"Fehler beim Setzen des Icons: {e}")
|
331
388
|
|
389
|
+
def add_logo_to_toolbar(self, toolbar):
|
390
|
+
"""Fügt das Logo und den App-Namen zur Toolbar hinzu"""
|
391
|
+
try:
|
392
|
+
# Logo-Container für bessere Anordnung
|
393
|
+
logo_container = ttk.Frame(toolbar)
|
394
|
+
logo_container.pack(side=tk.LEFT, padx=(0, 20), pady=15)
|
395
|
+
|
396
|
+
# Pfad zum Icon ermitteln
|
397
|
+
script_dir = os.path.dirname(os.path.abspath(__file__))
|
398
|
+
logo_path = os.path.join(script_dir, "assets", "bash-script-maker-48.png")
|
399
|
+
|
400
|
+
if os.path.exists(logo_path):
|
401
|
+
try:
|
402
|
+
from PIL import Image, ImageTk
|
403
|
+
|
404
|
+
# Logo laden - größer für bessere Sichtbarkeit
|
405
|
+
img = Image.open(logo_path)
|
406
|
+
# Optimale Größe für Toolbar (36x36)
|
407
|
+
img = img.resize((36, 36), Image.Resampling.LANCZOS)
|
408
|
+
logo_photo = ImageTk.PhotoImage(img)
|
409
|
+
|
410
|
+
# Logo-Label erstellen
|
411
|
+
logo_label = ttk.Label(logo_container, image=logo_photo)
|
412
|
+
logo_label.image = logo_photo # Referenz behalten
|
413
|
+
logo_label.pack(side=tk.LEFT, padx=(0, 8))
|
414
|
+
|
415
|
+
# App-Name-Label hinzufügen
|
416
|
+
name_label = ttk.Label(
|
417
|
+
logo_container,
|
418
|
+
text="Bash-Script-Maker",
|
419
|
+
font=("Arial", 12, "bold"),
|
420
|
+
foreground="#2c3e50" # Dunkle Farbe für bessere Lesbarkeit
|
421
|
+
)
|
422
|
+
name_label.pack(side=tk.LEFT, anchor=tk.CENTER)
|
423
|
+
|
424
|
+
# Version-Label (kleiner) hinzufügen
|
425
|
+
version_label = ttk.Label(
|
426
|
+
logo_container,
|
427
|
+
text=f"v{__version__}",
|
428
|
+
font=("Arial", 9),
|
429
|
+
foreground="#7f8c8d" # Grau für subtile Version
|
430
|
+
)
|
431
|
+
version_label.pack(side=tk.LEFT, padx=(5, 0), anchor=tk.CENTER)
|
432
|
+
|
433
|
+
# Tooltips hinzufügen
|
434
|
+
ToolTip(logo_label, text=f"Bash-Script-Maker v{__version__}")
|
435
|
+
ToolTip(name_label, text=f"Bash-Script-Maker v{__version__}")
|
436
|
+
ToolTip(version_label, text=f"Version {__version__}")
|
437
|
+
|
438
|
+
print("Logo und App-Name zur Toolbar hinzugefügt")
|
439
|
+
|
440
|
+
except ImportError:
|
441
|
+
# Fallback ohne PIL - verwende Text-Logo mit Name
|
442
|
+
logo_label = ttk.Label(
|
443
|
+
logo_container,
|
444
|
+
text="🖥️",
|
445
|
+
font=("Arial", 24)
|
446
|
+
)
|
447
|
+
logo_label.pack(side=tk.LEFT, padx=(0, 8))
|
448
|
+
|
449
|
+
# App-Name auch im Fallback
|
450
|
+
name_label = ttk.Label(
|
451
|
+
logo_container,
|
452
|
+
text="Bash-Script-Maker",
|
453
|
+
font=("Arial", 12, "bold")
|
454
|
+
)
|
455
|
+
name_label.pack(side=tk.LEFT, anchor=tk.CENTER)
|
456
|
+
|
457
|
+
version_label = ttk.Label(
|
458
|
+
logo_container,
|
459
|
+
text=f"v{__version__}",
|
460
|
+
font=("Arial", 9)
|
461
|
+
)
|
462
|
+
version_label.pack(side=tk.LEFT, padx=(5, 0), anchor=tk.CENTER)
|
463
|
+
|
464
|
+
# Tooltips
|
465
|
+
ToolTip(logo_label, text=f"Bash-Script-Maker v{__version__}")
|
466
|
+
ToolTip(name_label, text=f"Bash-Script-Maker v{__version__}")
|
467
|
+
ToolTip(version_label, text=f"Version {__version__}")
|
468
|
+
|
469
|
+
print("Text-Logo und App-Name zur Toolbar hinzugefügt")
|
470
|
+
|
471
|
+
else:
|
472
|
+
# Nur Text-Branding wenn kein Icon gefunden
|
473
|
+
name_label = ttk.Label(
|
474
|
+
logo_container,
|
475
|
+
text="🖥️ Bash-Script-Maker",
|
476
|
+
font=("Arial", 12, "bold")
|
477
|
+
)
|
478
|
+
name_label.pack(side=tk.LEFT)
|
479
|
+
|
480
|
+
version_label = ttk.Label(
|
481
|
+
logo_container,
|
482
|
+
text=f"v{__version__}",
|
483
|
+
font=("Arial", 9)
|
484
|
+
)
|
485
|
+
version_label.pack(side=tk.LEFT, padx=(5, 0), anchor=tk.CENTER)
|
486
|
+
|
487
|
+
ToolTip(name_label, text=f"Bash-Script-Maker v{__version__}")
|
488
|
+
ToolTip(version_label, text=f"Version {__version__}")
|
489
|
+
|
490
|
+
print(f"Logo-Datei nicht gefunden: {logo_path}, verwende Text-Branding")
|
491
|
+
|
492
|
+
except Exception as e:
|
493
|
+
print(f"Fehler beim Hinzufügen des Logos: {e}")
|
494
|
+
# Minimaler Fallback
|
495
|
+
try:
|
496
|
+
fallback_label = ttk.Label(toolbar, text="Bash-Script-Maker", font=("Arial", 10, "bold"))
|
497
|
+
fallback_label.pack(side=tk.LEFT, padx=(0, 15), pady=20)
|
498
|
+
except:
|
499
|
+
pass
|
500
|
+
|
332
501
|
def create_menu(self):
|
333
502
|
"""Erstellt das Menü der Anwendung"""
|
334
503
|
menubar = tk.Menu(self.root)
|
@@ -453,6 +622,9 @@ class BashScriptMaker:
|
|
453
622
|
toolbar = ttk.Frame(self.root)
|
454
623
|
toolbar.pack(side=tk.TOP, fill=tk.X, padx=5, pady=(5, 0))
|
455
624
|
|
625
|
+
# Logo hinzufügen (links)
|
626
|
+
self.add_logo_to_toolbar(toolbar)
|
627
|
+
|
456
628
|
# Toolbar-Inhalte - LINKS
|
457
629
|
btn_new = ttk.Button(
|
458
630
|
toolbar, text=_("Neu"), command=self.new_script, bootstyle="primary"
|
@@ -839,13 +1011,20 @@ class BashScriptMaker:
|
|
839
1011
|
ScriptInfoDialog(self.root, self.script_name, content)
|
840
1012
|
|
841
1013
|
def show_about(self):
|
842
|
-
"""Zeigt About-Dialog"""
|
843
|
-
|
844
|
-
|
845
|
-
|
846
|
-
|
847
|
-
|
848
|
-
|
1014
|
+
"""Zeigt About-Dialog mit Logo"""
|
1015
|
+
try:
|
1016
|
+
about_dialog = AboutDialog(self.root)
|
1017
|
+
about_dialog.grab_set() # Modal dialog
|
1018
|
+
about_dialog.wait_window() # Warten bis Dialog geschlossen wird
|
1019
|
+
except Exception as e:
|
1020
|
+
# Fallback auf einfachen Dialog
|
1021
|
+
about_text = _(
|
1022
|
+
f"Bash-Script-Maker v{__version__}\n\n"
|
1023
|
+
"Ein GUI-Programm zur einfachen Erstellung von Bash-Scripts.\n\n"
|
1024
|
+
"Erstellt mit Python und Tkinter\n"
|
1025
|
+
"© 2024 SecureBits"
|
1026
|
+
)
|
1027
|
+
messagebox.showinfo(_("Über Bash-Script-Maker"), about_text)
|
849
1028
|
|
850
1029
|
def open_documentation(self):
|
851
1030
|
"""Öffnet die README.md Datei im Standard-Browser."""
|
@@ -1,11 +0,0 @@
|
|
1
|
-
assets.py,sha256=QMUllYA8CPAdu5ulDGRZm3opmimFSSAllUCol_RylmA,1012
|
2
|
-
bash_script_maker.py,sha256=IE1yLiQytx1fIHIFpJHCfXzequ4MywUMdaR8m-GhK_8,33796
|
3
|
-
custom_dialogs.py,sha256=Rr3jXuuZFRDNSBiM2sHcKhix3yiacvQkp6eluozwzmk,9243
|
4
|
-
localization.py,sha256=6Dbyf8qG-p6_vUDPoBTtVBnSixO7_gLVtPnuIC4Fchs,1344
|
5
|
-
syntax_highlighter.py,sha256=1umHO8lhhb_FxomXS3Yiub-KTWtBymt60ct5Www3boU,34954
|
6
|
-
bash_script_maker-1.6.1.dist-info/LICENSE,sha256=G-uFRliqQDtsMvClHiUhNBw84dKRzqodui4tIRPJta8,2334
|
7
|
-
bash_script_maker-1.6.1.dist-info/METADATA,sha256=LAg28yNQkToJCBt1M4V2-vC_sjEH-xpRc6jwGS7WuQg,14847
|
8
|
-
bash_script_maker-1.6.1.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
9
|
-
bash_script_maker-1.6.1.dist-info/entry_points.txt,sha256=jof_Nbub3hvayvOeVKrYpFDadAkCSUA3rqT7n61WED8,119
|
10
|
-
bash_script_maker-1.6.1.dist-info/top_level.txt,sha256=aQp35H7s1JAeQ5IhRLDUS7D-u5ob4IEsGv4ItOv5Afo,72
|
11
|
-
bash_script_maker-1.6.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|