From 8616890d6d5ad8d088cebb6a3f391f851dcce912 Mon Sep 17 00:00:00 2001 From: aussig Date: Tue, 2 Apr 2024 21:42:25 +0100 Subject: [PATCH] Add logo to main window and icon to all windows. --- CHANGELOG.md | 4 ++++ assets/logo_bgstally.png | Bin 0 -> 12826 bytes assets/logo_bgstally_100x67.png | Bin 0 -> 3449 bytes assets/logo_bgstally_16x16.png | Bin 0 -> 366 bytes assets/logo_bgstally_32x32.png | Bin 0 -> 728 bytes bgstally/ui.py | 27 ++++++++++++++------------- bgstally/windows/activity.py | 8 ++++---- bgstally/windows/api.py | 1 + bgstally/windows/cmdrs.py | 1 + bgstally/windows/fleetcarrier.py | 1 + bgstally/windows/legend.py | 1 + 11 files changed, 26 insertions(+), 17 deletions(-) create mode 100644 assets/logo_bgstally.png create mode 100644 assets/logo_bgstally_100x67.png create mode 100644 assets/logo_bgstally_16x16.png create mode 100644 assets/logo_bgstally_32x32.png diff --git a/CHANGELOG.md b/CHANGELOG.md index d1d6f46..aafffb1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## v3.7.0 - xxxx-xx-xx +### New Features: + +* Add logo to main window and all window icons + ### Changes: * Added new logo as avatar for all posts. diff --git a/assets/logo_bgstally.png b/assets/logo_bgstally.png new file mode 100644 index 0000000000000000000000000000000000000000..490309217ba0151351ed30a16fd94a5b514fa290 GIT binary patch literal 12826 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 B)a?KO literal 0 HcmV?d00001 diff --git a/assets/logo_bgstally_100x67.png b/assets/logo_bgstally_100x67.png new file mode 100644 index 0000000000000000000000000000000000000000..3c1b26d92c4ee61bbd8d33993b28d9db5a41c84e GIT binary patch literal 3449 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 b9U=Y?CrwK#IcG6Z00000NkvXXu0mjfRNZf% literal 0 HcmV?d00001 diff --git a/assets/logo_bgstally_16x16.png b/assets/logo_bgstally_16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..c17389288d4023dc0a7e7968dbdbaf0881896385 GIT binary patch literal 366 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1quc4a}Y{jv*HQ$r4fu4GZHKI%F5bh#X*9+R6BP zqoh+8qjV_!r5jOKI_eGk(~KskHMd zNHg&_N6!Ak(-(U&G0$sewL`;m?hp}mhR8pH9jr4P_n1%r^yj_p)NN-tZdlB3e{FsE z`+S-Ca&xt8*B^Xvfbp=o1m8b~m8`e)IF?*v{>ZXG+|0nqd8@37Cqn}d2UF6HvPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0&Ph|K~z{r?UY?e z6j2n%$3;aVaW$|Pu|+{7QgR_A71ZeCWrg)42vks51B0|4B2Xwbk^&(xdg?_aP*@QW zeNl9RmVHqCKvxAJwG|&Ch$$qNQ0aeW?-gfvc4lm6-u4ea&Ye4#IsY^F+$$uMkePA| zFLOXHdo&~)i)P6VM3~45KkCbD1Ef5#Y}AAm21r)`nb6%1s|Cj6AsX=2N2(`kQ*_shJWw?vI^T zbzULidxQ=^r(+9-p;nez9hJ1!(_o;g5V( z7?|``2wt)JHdWqUJF(YzcV?Eoid(D+d%!PHNy%yc^b}yhLxi^=z4Yqlb62_l*tb?Z zRaLUmH0{4Rbgy*5{X?>^4tg8tXzEEqf+IHO$$8~>cyf|#fGy|)boR~A*^7uLr^@Bu zPV-zzSl~c>1k&Z1_>==&fM3Nt`EO7inVe+!DmEe{yoRt2_+IlERXLaDMHGjcK~%%3 z$tnZ+fFCu@3(P75L7?dNShB*vK8U&JkuuxB0Z{Gsgc4GhAp8Tf;>PieFhT490000< KMNUMnLSTaH_c(F@ literal 0 HcmV?d00001 diff --git a/bgstally/ui.py b/bgstally/ui.py index f88f1c6..6a42219 100644 --- a/bgstally/ui.py +++ b/bgstally/ui.py @@ -41,6 +41,9 @@ def __init__(self, bgstally): self.bgstally = bgstally self.frame = None + self.image_logo_bgstally_100 = PhotoImage(file = path.join(self.bgstally.plugin_dir, FOLDER_ASSETS, "logo_bgstally_100x67.png")) + self.image_logo_bgstally_16 = PhotoImage(file = path.join(self.bgstally.plugin_dir, FOLDER_ASSETS, "logo_bgstally_16x16.png")) + self.image_logo_bgstally_32 = PhotoImage(file = path.join(self.bgstally.plugin_dir, FOLDER_ASSETS, "logo_bgstally_32x32.png")) self.image_blank = PhotoImage(file = path.join(self.bgstally.plugin_dir, FOLDER_ASSETS, "blank.png")) self.image_button_dropdown_menu = PhotoImage(file = path.join(self.bgstally.plugin_dir, FOLDER_ASSETS, "button_dropdown_menu.png")) self.image_button_cmdrs = PhotoImage(file = path.join(self.bgstally.plugin_dir, FOLDER_ASSETS, "button_cmdrs.png")) @@ -71,21 +74,26 @@ def shut_down(self): """ - def get_plugin_frame(self, parent_frame:tk.Frame): + def get_plugin_frame(self, parent_frame: tk.Frame) -> tk.Frame: """ Return a TK Frame for adding to the EDMC main window """ - self.frame = tk.Frame(parent_frame) + self.frame: tk.Frame = tk.Frame(parent_frame) - current_row = 0 - tk.Label(self.frame, text="BGS Tally").grid(row=current_row, column=0, sticky=tk.W) + current_row: int = 0 + tk.Label(self.frame, image=self.image_logo_bgstally_100).grid(row=current_row, column=0, rowspan=3, sticky=tk.W) self.label_version = HyperlinkLabel(self.frame, text=f"v{str(self.bgstally.version)}", background=nb.Label().cget('background'), url=URL_LATEST_RELEASE, underline=True) self.label_version.grid(row=current_row, column=1, columnspan=3 if self.bgstally.capi_fleetcarrier_available() else 2, sticky=tk.W) current_row += 1 + tk.Label(self.frame, text="BGS Tally Status:" + " " + self.bgstally.state.Status.get()).grid(row=current_row, column=1, sticky=tk.W) + current_row += 1 + self.label_tick = tk.Label(self.frame, text="Last BGS Tick:" + " " + self.bgstally.tick.get_formatted()) + self.label_tick.grid(row=current_row, column=1, sticky=tk.W) + current_row += 1 self.button_latest_tick: tk.Button = tk.Button(self.frame, text="Latest BGS Tally", height=SIZE_BUTTON_PIXELS-2, image=self.image_blank, compound=tk.RIGHT, command=partial(self._show_activity_window, self.bgstally.activity_manager.get_current_activity())) self.button_latest_tick.grid(row=current_row, column=0, padx=3) self.button_previous_ticks: tk.Button = tk.Button(self.frame, text="Previous BGS Tallies ", height=SIZE_BUTTON_PIXELS-2, image=self.image_button_dropdown_menu, compound=tk.RIGHT, command=self._previous_ticks_popup) - self.button_previous_ticks.grid(row=current_row, column=1, padx=3) + self.button_previous_ticks.grid(row=current_row, column=1, padx=3, sticky=tk.W) tk.Button(self.frame, image=self.image_button_cmdrs, height=SIZE_BUTTON_PIXELS, width=SIZE_BUTTON_PIXELS, command=self._show_cmdr_list_window).grid(row=current_row, column=2, padx=3) if self.bgstally.capi_fleetcarrier_available(): self.button_carrier: tk.Button = tk.Button(self.frame, image=self.image_button_carrier, state=('normal' if self.bgstally.fleet_carrier.available() else 'disabled'), height=SIZE_BUTTON_PIXELS, width=SIZE_BUTTON_PIXELS, command=self._show_fc_window) @@ -93,13 +101,6 @@ def get_plugin_frame(self, parent_frame:tk.Frame): else: self.button_carrier: tk.Button = None current_row += 1 - tk.Label(self.frame, text="BGS Tally Status:").grid(row=current_row, column=0, sticky=tk.W) - tk.Label(self.frame, textvariable=self.bgstally.state.Status).grid(row=current_row, column=1, sticky=tk.W) - current_row += 1 - tk.Label(self.frame, text="Last BGS Tick:").grid(row=current_row, column=0, sticky=tk.W) - self.label_tick: tk.Label = tk.Label(self.frame, text=self.bgstally.tick.get_formatted()) - self.label_tick.grid(row=current_row, column=1, sticky=tk.W) - current_row += 1 return self.frame @@ -115,7 +116,7 @@ def update_plugin_frame(self): else: self.label_version.configure(text=f"v{str(self.bgstally.version)}", url=URL_LATEST_RELEASE, foreground='blue') - self.label_tick.config(text=self.bgstally.tick.get_formatted()) + self.label_tick.config(text="Last BGS Tick:" + " " + self.bgstally.tick.get_formatted()) self.button_latest_tick.config(command=partial(self._show_activity_window, self.bgstally.activity_manager.get_current_activity())) if self.button_carrier is not None: self.button_carrier.config(state=('normal' if self.bgstally.fleet_carrier.available() else 'disabled')) diff --git a/bgstally/windows/activity.py b/bgstally/windows/activity.py index 9b495d4..4f392a9 100644 --- a/bgstally/windows/activity.py +++ b/bgstally/windows/activity.py @@ -23,7 +23,6 @@ class WindowActivity: def __init__(self, bgstally, ui, activity: Activity): self.bgstally = bgstally - self.ui = ui self.activity:Activity = activity self.toplevel:tk.Toplevel = None self.window_geometry:dict = None @@ -47,13 +46,14 @@ def show(self, activity: Activity): self._store_window_geometry() self.toplevel.destroy() - self.toplevel = tk.Toplevel(self.ui.frame) + self.toplevel = tk.Toplevel(self.bgstally.ui.frame) + self.toplevel.title(f"{self.bgstally.plugin_name} - Activity After Tick at: {activity.get_title()}") self.toplevel.protocol("WM_DELETE_WINDOW", self._window_closed) + self.toplevel.iconphoto(False, self.bgstally.ui.image_logo_bgstally_32, self.bgstally.ui.image_logo_bgstally_16) if self.window_geometry is not None: self.toplevel.geometry(f"+{self.window_geometry['x']}+{self.window_geometry['y']}") - self.toplevel.title(f"{self.bgstally.plugin_name} - Activity After Tick at: {activity.get_title()}") ContainerFrame = ttk.Frame(self.toplevel) ContainerFrame.pack(fill=tk.BOTH, expand=tk.YES) @@ -305,7 +305,7 @@ def _show_legend_window(self, event): """ Display a mini-window showing a legend of all icons used """ - self.ui.show_legend_window() + self.bgstally.ui.show_legend_window() def _discord_button_available(self) -> bool: diff --git a/bgstally/windows/api.py b/bgstally/windows/api.py index d843aa9..0aa9e65 100644 --- a/bgstally/windows/api.py +++ b/bgstally/windows/api.py @@ -48,6 +48,7 @@ def show(self, parent_frame:tk.Frame = None): if parent_frame is None: parent_frame = self.bgstally.ui.frame self.toplevel = tk.Toplevel(parent_frame) self.toplevel.title(f"{self.bgstally.plugin_name} - API Settings") + self.toplevel.iconphoto(False, self.bgstally.ui.image_logo_bgstally_32, self.bgstally.ui.image_logo_bgstally_16) self.toplevel.resizable(False, False) if sys.platform == 'win32': diff --git a/bgstally/windows/cmdrs.py b/bgstally/windows/cmdrs.py index 7c079d7..8d010ce 100644 --- a/bgstally/windows/cmdrs.py +++ b/bgstally/windows/cmdrs.py @@ -38,6 +38,7 @@ def show(self): self.toplevel = tk.Toplevel(self.bgstally.ui.frame) self.toplevel.title("CMDR Interactions") + self.toplevel.iconphoto(False, self.bgstally.ui.image_logo_bgstally_32, self.bgstally.ui.image_logo_bgstally_16) self.toplevel.geometry("1200x800") container_frame = ttk.Frame(self.toplevel) diff --git a/bgstally/windows/fleetcarrier.py b/bgstally/windows/fleetcarrier.py index 5b6c06c..08903dd 100644 --- a/bgstally/windows/fleetcarrier.py +++ b/bgstally/windows/fleetcarrier.py @@ -32,6 +32,7 @@ def show(self): self.toplevel = tk.Toplevel(self.bgstally.ui.frame) self.toplevel.title(f"Carrier {fc.name} ({fc.callsign}) in system: {fc.data['currentStarSystem']}") + self.toplevel.iconphoto(False, self.bgstally.ui.image_logo_bgstally_32, self.bgstally.ui.image_logo_bgstally_16) self.toplevel.geometry("600x800") container_frame:ttk.Frame = ttk.Frame(self.toplevel) diff --git a/bgstally/windows/legend.py b/bgstally/windows/legend.py index e13ce83..9d1456b 100644 --- a/bgstally/windows/legend.py +++ b/bgstally/windows/legend.py @@ -40,6 +40,7 @@ def show(self): self.toplevel = tk.Toplevel(self.bgstally.ui.frame) self.toplevel.title(f"{self.bgstally.plugin_name} - Icon Legend") + self.toplevel.iconphoto(False, self.bgstally.ui.image_logo_bgstally_32, self.bgstally.ui.image_logo_bgstally_16) self.toplevel.resizable(False, False) frame_container:ttk.Frame = ttk.Frame(self.toplevel)