mirror of
https://github.com/EDCD/EDMarketConnector.git
synced 2025-04-13 07:47:14 +03:00
[2095] Standardize vertical Padding
- Standardizes vertical Padding. - Fixes issues with the disabled and outdated Plugin list. - Part of #2095
This commit is contained in:
parent
e878453ba0
commit
8063cf099b
@ -91,7 +91,7 @@ def plugin_prefs(parent: ttk.Notebook, cmdr: str | None, is_beta: bool) -> tk.Fr
|
||||
# LANG: Settings>Coriolis: Help/hint for changing coriolis URLs
|
||||
nb.Label(conf_frame, text=_(
|
||||
"Set the URL to use with coriolis.io ship loadouts. Note that this MUST end with '/import?data='"
|
||||
)).grid(sticky=tk.EW, row=cur_row, column=0, columnspan=3)
|
||||
)).grid(sticky=tk.EW, row=cur_row, column=0, padx=PADX, columnspan=3)
|
||||
cur_row += 1
|
||||
|
||||
# LANG: Settings>Coriolis: Label for 'NOT alpha/beta game version' URL
|
||||
|
@ -2089,6 +2089,7 @@ def plugin_prefs(parent, cmdr: str, is_beta: bool) -> Frame:
|
||||
"""
|
||||
PADX = 10 # noqa: N806
|
||||
BUTTONX = 12 # noqa: N806 # indent Checkbuttons and Radiobuttons
|
||||
PADY = 2
|
||||
|
||||
if prefsVersion.shouldSetDefaults('0.0.0.0', not bool(config.get_int('output'))):
|
||||
output: int = config.OUT_EDDN_SEND_STATION_DATA | config.OUT_EDDN_SEND_NON_STATION # default settings
|
||||
@ -2116,7 +2117,7 @@ def plugin_prefs(parent, cmdr: str, is_beta: bool) -> Frame:
|
||||
variable=this.eddn_station,
|
||||
command=prefsvarchanged
|
||||
) # Output setting
|
||||
this.eddn_station_button.grid(row=cur_row, padx=BUTTONX, pady=(5, 0), sticky=tk.W)
|
||||
this.eddn_station_button.grid(row=cur_row, padx=BUTTONX, pady=PADY, sticky=tk.W)
|
||||
cur_row += 1
|
||||
|
||||
this.eddn_system = tk.IntVar(value=(output & config.OUT_EDDN_SEND_NON_STATION) and 1)
|
||||
@ -2128,7 +2129,7 @@ def plugin_prefs(parent, cmdr: str, is_beta: bool) -> Frame:
|
||||
variable=this.eddn_system,
|
||||
command=prefsvarchanged
|
||||
)
|
||||
this.eddn_system_button.grid(row=cur_row, padx=BUTTONX, pady=(5, 0), sticky=tk.W)
|
||||
this.eddn_system_button.grid(row=cur_row, padx=BUTTONX, pady=PADY, sticky=tk.W)
|
||||
cur_row += 1
|
||||
|
||||
this.eddn_delay = tk.IntVar(value=(output & config.OUT_EDDN_DELAY) and 1)
|
||||
@ -2139,7 +2140,7 @@ def plugin_prefs(parent, cmdr: str, is_beta: bool) -> Frame:
|
||||
text=_('Delay sending until docked'),
|
||||
variable=this.eddn_delay
|
||||
)
|
||||
this.eddn_delay_button.grid(row=cur_row, padx=BUTTONX, sticky=tk.W)
|
||||
this.eddn_delay_button.grid(row=cur_row, padx=BUTTONX, pady=PADY, sticky=tk.W)
|
||||
|
||||
return eddnframe
|
||||
|
||||
|
@ -294,6 +294,7 @@ def plugin_prefs(parent: ttk.Notebook, cmdr: str | None, is_beta: bool) -> tk.Fr
|
||||
PADX = 10 # noqa: N806
|
||||
BUTTONX = 12 # noqa: N806
|
||||
PADY = 2 # noqa: N806
|
||||
SEPY = 10 # noqa: N806
|
||||
|
||||
frame = nb.Frame(parent)
|
||||
frame.columnconfigure(1, weight=1)
|
||||
@ -319,7 +320,9 @@ def plugin_prefs(parent: ttk.Notebook, cmdr: str | None, is_beta: bool) -> tk.Fr
|
||||
this.log_button.grid(row=cur_row, columnspan=2, padx=BUTTONX, pady=(5, 0), sticky=tk.W)
|
||||
cur_row += 1
|
||||
|
||||
nb.Label(frame).grid(row=cur_row, sticky=tk.W) # big spacer
|
||||
ttk.Separator(frame, orient=tk.HORIZONTAL).grid(
|
||||
columnspan=2, padx=PADX, pady=SEPY, sticky=tk.EW, row=cur_row
|
||||
)
|
||||
cur_row += 1
|
||||
|
||||
this.label = HyperlinkLabel(
|
||||
|
@ -247,9 +247,10 @@ def toggle_password_visibility():
|
||||
|
||||
def plugin_prefs(parent: ttk.Notebook, cmdr: str, is_beta: bool) -> tk.Frame:
|
||||
"""Plugin Preferences UI hook."""
|
||||
x_padding = 10
|
||||
x_button_padding = 12 # indent Checkbuttons and Radiobuttons
|
||||
y_padding = 2 # close spacing
|
||||
PADX = 10
|
||||
BUTTONX = 12 # indent Checkbuttons and Radiobuttons
|
||||
PADY = 2 # close spacing
|
||||
SEPY = 10 # seperator line spacing
|
||||
cur_row = 0
|
||||
|
||||
frame = nb.Frame(parent)
|
||||
@ -257,7 +258,7 @@ def plugin_prefs(parent: ttk.Notebook, cmdr: str, is_beta: bool) -> tk.Frame:
|
||||
|
||||
HyperlinkLabel(
|
||||
frame, text='Inara', background=nb.Label().cget('background'), url='https://inara.cz/', underline=True
|
||||
).grid(row=cur_row, columnspan=2, padx=x_padding, sticky=tk.W) # Don't translate
|
||||
).grid(row=cur_row, columnspan=2, padx=PADX, sticky=tk.W) # Don't translate
|
||||
cur_row += 1
|
||||
|
||||
this.log = tk.IntVar(value=config.get_int('inara_out') and 1)
|
||||
@ -268,10 +269,12 @@ def plugin_prefs(parent: ttk.Notebook, cmdr: str, is_beta: bool) -> tk.Frame:
|
||||
command=prefsvarchanged
|
||||
)
|
||||
|
||||
this.log_button.grid(row=cur_row, columnspan=2, padx=x_button_padding, pady=(5, 0), sticky=tk.W)
|
||||
this.log_button.grid(row=cur_row, columnspan=2, padx=BUTTONX, pady=(5, 0), sticky=tk.W)
|
||||
cur_row += 1
|
||||
|
||||
nb.Label(frame).grid(row=cur_row, sticky=tk.W) # big spacer
|
||||
ttk.Separator(frame, orient=tk.HORIZONTAL).grid(
|
||||
columnspan=2, padx=PADX, pady=SEPY, sticky=tk.EW, row=cur_row
|
||||
)
|
||||
cur_row += 1
|
||||
|
||||
# Section heading in settings
|
||||
@ -283,14 +286,14 @@ def plugin_prefs(parent: ttk.Notebook, cmdr: str, is_beta: bool) -> tk.Frame:
|
||||
underline=True
|
||||
)
|
||||
|
||||
this.label.grid(row=cur_row, columnspan=2, padx=x_padding, sticky=tk.W)
|
||||
this.label.grid(row=cur_row, columnspan=2, padx=PADX, sticky=tk.W)
|
||||
cur_row += 1
|
||||
|
||||
# LANG: Inara API key label
|
||||
this.apikey_label = nb.Label(frame, text=_('API Key')) # Inara setting
|
||||
this.apikey_label.grid(row=cur_row, padx=x_padding, sticky=tk.W)
|
||||
this.apikey_label.grid(row=cur_row, padx=PADX, sticky=tk.W)
|
||||
this.apikey = nb.Entry(frame, show="*", width=50)
|
||||
this.apikey.grid(row=cur_row, column=1, padx=x_padding, pady=y_padding, sticky=tk.EW)
|
||||
this.apikey.grid(row=cur_row, column=1, padx=PADX, pady=PADY, sticky=tk.EW)
|
||||
cur_row += 1
|
||||
|
||||
prefs_cmdr_changed(cmdr, is_beta)
|
||||
@ -302,7 +305,7 @@ def plugin_prefs(parent: ttk.Notebook, cmdr: str, is_beta: bool) -> tk.Frame:
|
||||
variable=show_password_var,
|
||||
command=toggle_password_visibility,
|
||||
)
|
||||
show_password_checkbox.grid(row=cur_row, columnspan=2, padx=x_padding, pady=(5, 0), sticky=tk.W)
|
||||
show_password_checkbox.grid(row=cur_row, columnspan=2, padx=BUTTONX, pady=(5, 0), sticky=tk.W)
|
||||
|
||||
return frame
|
||||
|
||||
|
195
prefs.py
195
prefs.py
@ -288,7 +288,9 @@ class PreferencesDialog(tk.Toplevel):
|
||||
|
||||
self.PADX = 10
|
||||
self.BUTTONX = 12 # indent Checkbuttons and Radiobuttons
|
||||
self.LISTX = 25 # indent listed items
|
||||
self.PADY = 2 # close spacing
|
||||
self.SEPY = 10 # seperator line spacing
|
||||
|
||||
# Set up different tabs
|
||||
self.__setup_output_tab(notebook)
|
||||
@ -457,29 +459,30 @@ class PreferencesDialog(tk.Toplevel):
|
||||
else:
|
||||
text = (_('Browse...')) # LANG: NOT-macOS Setting - files location selection button
|
||||
|
||||
self.logbutton = nb.Button(
|
||||
config_frame,
|
||||
text=text,
|
||||
# LANG: Settings > Configuration - Label for Journal files location
|
||||
command=lambda: self.filebrowse(_('E:D journal file location'), self.logdir)
|
||||
)
|
||||
self.logbutton.grid(column=3, padx=self.PADX, pady=self.PADY, sticky=tk.EW, row=row.get())
|
||||
|
||||
if config.default_journal_dir_path:
|
||||
# Appearance theme and language setting
|
||||
nb.Button(
|
||||
with row as cur_row:
|
||||
self.logbutton = nb.Button(
|
||||
config_frame,
|
||||
# LANG: Settings > Configuration - Label on 'reset journal files location to default' button
|
||||
text=_('Default'),
|
||||
command=self.logdir_reset,
|
||||
state=tk.NORMAL if config.get_str('journaldir') else tk.DISABLED
|
||||
).grid(column=2, pady=self.PADY, sticky=tk.EW, row=row.get())
|
||||
text=text,
|
||||
# LANG: Settings > Configuration - Label for Journal files location
|
||||
command=lambda: self.filebrowse(_('E:D journal file location'), self.logdir)
|
||||
)
|
||||
self.logbutton.grid(column=3, padx=self.PADX, pady=self.PADY, sticky=tk.EW, row=cur_row)
|
||||
|
||||
if config.default_journal_dir_path:
|
||||
# Appearance theme and language setting
|
||||
nb.Button(
|
||||
config_frame,
|
||||
# LANG: Settings > Configuration - Label on 'reset journal files location to default' button
|
||||
text=_('Default'),
|
||||
command=self.logdir_reset,
|
||||
state=tk.NORMAL if config.get_str('journaldir') else tk.DISABLED
|
||||
).grid(column=2, padx=self.PADX, pady=self.PADY, sticky=tk.EW, row=cur_row)
|
||||
|
||||
# CAPI settings
|
||||
self.capi_fleetcarrier = tk.BooleanVar(value=config.get_bool('capi_fleetcarrier'))
|
||||
|
||||
ttk.Separator(config_frame, orient=tk.HORIZONTAL).grid(
|
||||
columnspan=4, padx=self.PADX, pady=self.PADY*4, sticky=tk.EW, row=row.get()
|
||||
columnspan=4, padx=self.PADX, pady=self.SEPY, sticky=tk.EW, row=row.get()
|
||||
)
|
||||
|
||||
nb.Label(
|
||||
@ -492,62 +495,63 @@ class PreferencesDialog(tk.Toplevel):
|
||||
# LANG: Configuration - Enable or disable the Fleet Carrier CAPI calls
|
||||
text=_('Enable Fleetcarrier CAPI Queries'),
|
||||
variable=self.capi_fleetcarrier
|
||||
).grid(columnspan=4, padx=self.PADX, pady=(5, 0), sticky=tk.W, row=row.get())
|
||||
).grid(columnspan=4, padx=self.BUTTONX, pady=(5, 0), sticky=tk.W, row=row.get())
|
||||
|
||||
if sys.platform in ('darwin', 'win32'):
|
||||
ttk.Separator(config_frame, orient=tk.HORIZONTAL).grid(
|
||||
columnspan=4, padx=self.PADX, pady=self.PADY*4, sticky=tk.EW, row=row.get()
|
||||
columnspan=4, padx=self.PADX, pady=self.SEPY, sticky=tk.EW, row=row.get()
|
||||
)
|
||||
|
||||
self.hotkey_code = config.get_int('hotkey_code')
|
||||
self.hotkey_mods = config.get_int('hotkey_mods')
|
||||
self.hotkey_only = tk.IntVar(value=not config.get_int('hotkey_always'))
|
||||
self.hotkey_play = tk.IntVar(value=not config.get_int('hotkey_mute'))
|
||||
nb.Label(
|
||||
config_frame,
|
||||
text=_('Keyboard shortcut') if # LANG: Hotkey/Shortcut settings prompt on OSX
|
||||
sys.platform == 'darwin' else
|
||||
_('Hotkey') # LANG: Hotkey/Shortcut settings prompt on Windows
|
||||
).grid(padx=self.PADX, sticky=tk.W, row=row.get())
|
||||
with row as cur_row:
|
||||
nb.Label(
|
||||
config_frame,
|
||||
text=_('Keyboard shortcut') if # LANG: Hotkey/Shortcut settings prompt on OSX
|
||||
sys.platform == 'darwin' else
|
||||
_('Hotkey') # LANG: Hotkey/Shortcut settings prompt on Windows
|
||||
).grid(padx=self.PADX, sticky=tk.W, row=cur_row)
|
||||
|
||||
if sys.platform == 'darwin' and not was_accessible_at_launch:
|
||||
if AXIsProcessTrusted():
|
||||
# Shortcut settings prompt on OSX
|
||||
nb.Label(
|
||||
config_frame,
|
||||
# LANG: macOS Preferences > Configuration - restart the app message
|
||||
text=_('Re-start {APP} to use shortcuts').format(APP=applongname),
|
||||
foreground='firebrick'
|
||||
).grid(padx=self.PADX, sticky=tk.W, row=row.get())
|
||||
if sys.platform == 'darwin' and not was_accessible_at_launch:
|
||||
if AXIsProcessTrusted():
|
||||
# Shortcut settings prompt on OSX
|
||||
nb.Label(
|
||||
config_frame,
|
||||
# LANG: macOS Preferences > Configuration - restart the app message
|
||||
text=_('Re-start {APP} to use shortcuts').format(APP=applongname),
|
||||
foreground='firebrick'
|
||||
).grid(padx=self.PADX, sticky=tk.W, row=cur_row)
|
||||
|
||||
else:
|
||||
# Shortcut settings prompt on OSX
|
||||
nb.Label(
|
||||
config_frame,
|
||||
# LANG: macOS - Configuration - need to grant the app permission for keyboard shortcuts
|
||||
text=_('{APP} needs permission to use shortcuts').format(APP=applongname),
|
||||
foreground='firebrick'
|
||||
).grid(columnspan=4, padx=self.PADX, sticky=tk.W, row=cur_row)
|
||||
|
||||
# LANG: Shortcut settings button on OSX
|
||||
nb.Button(config_frame, text=_('Open System Preferences'), command=self.enableshortcuts).grid(
|
||||
padx=self.PADX, sticky=tk.E, row=cur_row
|
||||
)
|
||||
|
||||
else:
|
||||
# Shortcut settings prompt on OSX
|
||||
nb.Label(
|
||||
config_frame,
|
||||
# LANG: macOS - Configuration - need to grant the app permission for keyboard shortcuts
|
||||
text=_('{APP} needs permission to use shortcuts').format(APP=applongname),
|
||||
foreground='firebrick'
|
||||
).grid(columnspan=4, padx=self.PADX, sticky=tk.W, row=row.get())
|
||||
|
||||
# LANG: Shortcut settings button on OSX
|
||||
nb.Button(config_frame, text=_('Open System Preferences'), command=self.enableshortcuts).grid(
|
||||
padx=self.PADX, sticky=tk.E, row=row.get()
|
||||
self.hotkey_text = nb.Entry(config_frame, width=(
|
||||
20 if sys.platform == 'darwin' else 30), justify=tk.CENTER)
|
||||
self.hotkey_text.insert(
|
||||
0,
|
||||
# No hotkey/shortcut currently defined
|
||||
# TODO: display Only shows up on darwin or windows
|
||||
# LANG: No hotkey/shortcut set
|
||||
hotkeymgr.display(self.hotkey_code, self.hotkey_mods) if self.hotkey_code else _('None')
|
||||
)
|
||||
|
||||
else:
|
||||
self.hotkey_text = nb.Entry(config_frame, width=(
|
||||
20 if sys.platform == 'darwin' else 30), justify=tk.CENTER)
|
||||
self.hotkey_text.insert(
|
||||
0,
|
||||
# No hotkey/shortcut currently defined
|
||||
# TODO: display Only shows up on darwin or windows
|
||||
# LANG: No hotkey/shortcut set
|
||||
hotkeymgr.display(self.hotkey_code, self.hotkey_mods) if self.hotkey_code else _('None')
|
||||
)
|
||||
|
||||
self.hotkey_text.bind('<FocusIn>', self.hotkeystart)
|
||||
self.hotkey_text.bind('<FocusOut>', self.hotkeyend)
|
||||
self.hotkey_text.grid(column=1, columnspan=2, pady=(5, 0), sticky=tk.W, row=row.get())
|
||||
self.hotkey_text.bind('<FocusIn>', self.hotkeystart)
|
||||
self.hotkey_text.bind('<FocusOut>', self.hotkeyend)
|
||||
self.hotkey_text.grid(column=1, columnspan=2, pady=(5, 0), sticky=tk.W, row=cur_row)
|
||||
|
||||
# Hotkey/Shortcut setting
|
||||
self.hotkey_only_btn = nb.Checkbutton(
|
||||
@ -558,7 +562,7 @@ class PreferencesDialog(tk.Toplevel):
|
||||
state=tk.NORMAL if self.hotkey_code else tk.DISABLED
|
||||
)
|
||||
|
||||
self.hotkey_only_btn.grid(columnspan=4, padx=self.PADX, pady=(5, 0), sticky=tk.W, row=row.get())
|
||||
self.hotkey_only_btn.grid(columnspan=4, padx=self.BUTTONX, pady=(5, 0), sticky=tk.W, row=row.get())
|
||||
|
||||
# Hotkey/Shortcut setting
|
||||
self.hotkey_play_btn = nb.Checkbutton(
|
||||
@ -569,11 +573,11 @@ class PreferencesDialog(tk.Toplevel):
|
||||
state=tk.NORMAL if self.hotkey_code else tk.DISABLED
|
||||
)
|
||||
|
||||
self.hotkey_play_btn.grid(columnspan=4, padx=self.PADX, sticky=tk.W, row=row.get())
|
||||
self.hotkey_play_btn.grid(columnspan=4, padx=self.BUTTONX, sticky=tk.W, row=row.get())
|
||||
|
||||
# Option to disabled Automatic Check For Updates whilst in-game
|
||||
ttk.Separator(config_frame, orient=tk.HORIZONTAL).grid(
|
||||
columnspan=4, padx=self.PADX, pady=self.PADY*4, sticky=tk.EW, row=row.get()
|
||||
columnspan=4, padx=self.PADX, pady=self.SEPY, sticky=tk.EW, row=row.get()
|
||||
)
|
||||
self.disable_autoappupdatecheckingame = tk.IntVar(value=config.get_int('disable_autoappupdatecheckingame'))
|
||||
self.disable_autoappupdatecheckingame_btn = nb.Checkbutton(
|
||||
@ -584,10 +588,10 @@ class PreferencesDialog(tk.Toplevel):
|
||||
command=self.disable_autoappupdatecheckingame_changed
|
||||
)
|
||||
|
||||
self.disable_autoappupdatecheckingame_btn.grid(columnspan=4, padx=self.PADX, sticky=tk.W, row=row.get())
|
||||
self.disable_autoappupdatecheckingame_btn.grid(columnspan=4, padx=self.BUTTONX, sticky=tk.W, row=row.get())
|
||||
|
||||
ttk.Separator(config_frame, orient=tk.HORIZONTAL).grid(
|
||||
columnspan=4, padx=self.PADX, pady=self.PADY*4, sticky=tk.EW, row=row.get()
|
||||
columnspan=4, padx=self.PADX, pady=self.SEPY, sticky=tk.EW, row=row.get()
|
||||
)
|
||||
|
||||
# Settings prompt for preferred ship loadout, system and station info websites
|
||||
@ -660,7 +664,7 @@ class PreferencesDialog(tk.Toplevel):
|
||||
|
||||
# Set loglevel
|
||||
ttk.Separator(config_frame, orient=tk.HORIZONTAL).grid(
|
||||
columnspan=4, padx=self.PADX, pady=self.PADY*4, sticky=tk.EW, row=row.get()
|
||||
columnspan=4, padx=self.PADX, pady=self.SEPY, sticky=tk.EW, row=row.get()
|
||||
)
|
||||
|
||||
with row as cur_row:
|
||||
@ -706,26 +710,26 @@ class PreferencesDialog(tk.Toplevel):
|
||||
notebook.add(config_frame, text=_('Configuration'))
|
||||
|
||||
def __setup_privacy_tab(self, notebook: ttk.Notebook) -> None:
|
||||
frame = nb.Frame(notebook)
|
||||
privacy_frame = nb.Frame(notebook)
|
||||
self.hide_multicrew_captain = tk.BooleanVar(value=config.get_bool('hide_multicrew_captain', default=False))
|
||||
self.hide_private_group = tk.BooleanVar(value=config.get_bool('hide_private_group', default=False))
|
||||
row = AutoInc(start=0)
|
||||
|
||||
# LANG: UI elements privacy section header in privacy tab of preferences
|
||||
nb.Label(frame, text=_('Main UI privacy options')).grid(
|
||||
nb.Label(privacy_frame, text=_('Main UI privacy options')).grid(
|
||||
row=row.get(), column=0, sticky=tk.W, padx=self.PADX
|
||||
)
|
||||
|
||||
nb.Checkbutton(
|
||||
frame, text=_('Hide private group name in UI'), # LANG: Hide private group owner name from UI checkbox
|
||||
privacy_frame, text=_('Hide private group name in UI'), # LANG: Hide private group owner name from UI checkbox
|
||||
variable=self.hide_private_group
|
||||
).grid(row=row.get(), column=0, padx=self.BUTTONX, pady=self.PADY, sticky=tk.W)
|
||||
nb.Checkbutton(
|
||||
frame, text=_('Hide multi-crew captain name'), # LANG: Hide multicrew captain name from main UI checkbox
|
||||
privacy_frame, text=_('Hide multi-crew captain name'), # LANG: Hide multicrew captain name from main UI checkbox
|
||||
variable=self.hide_multicrew_captain
|
||||
).grid(row=row.get(), column=0, padx=self.BUTTONX, pady=self.PADY, sticky=tk.W)
|
||||
|
||||
notebook.add(frame, text=_('Privacy')) # LANG: Preferences privacy tab title
|
||||
notebook.add(privacy_frame, text=_('Privacy')) # LANG: Preferences privacy tab title
|
||||
|
||||
def __setup_appearance_tab(self, notebook: ttk.Notebook) -> None:
|
||||
self.languages = Translations.available_names()
|
||||
@ -751,10 +755,10 @@ class PreferencesDialog(tk.Toplevel):
|
||||
# LANG: Appearance - Label for selection of application display language
|
||||
nb.Label(appearance_frame, text=_('Language')).grid(padx=self.PADX, sticky=tk.W, row=cur_row)
|
||||
self.lang_button = nb.OptionMenu(appearance_frame, self.lang, self.lang.get(), *self.languages.values())
|
||||
self.lang_button.grid(column=1, columnspan=2, padx=self.PADX, sticky=tk.W, row=cur_row)
|
||||
self.lang_button.grid(column=1, columnspan=2, padx=(0, self.PADX), sticky=tk.W, row=cur_row)
|
||||
|
||||
ttk.Separator(appearance_frame, orient=tk.HORIZONTAL).grid(
|
||||
columnspan=3, padx=self.PADX, pady=self.PADY*4, sticky=tk.EW, row=row.get()
|
||||
columnspan=3, padx=self.PADX, pady=self.SEPY, sticky=tk.EW, row=row.get()
|
||||
)
|
||||
|
||||
# Appearance setting
|
||||
@ -797,7 +801,7 @@ class PreferencesDialog(tk.Toplevel):
|
||||
command=lambda: self.themecolorbrowse(0)
|
||||
)
|
||||
|
||||
self.theme_button_0.grid(column=1, padx=self.PADX, pady=self.PADY, sticky=tk.NSEW, row=cur_row)
|
||||
self.theme_button_0.grid(column=1, padx=0, pady=self.PADY, sticky=tk.NSEW, row=cur_row)
|
||||
|
||||
with row as cur_row:
|
||||
self.theme_label_1 = nb.Label(appearance_frame, text=self.theme_prompts[1])
|
||||
@ -809,7 +813,7 @@ class PreferencesDialog(tk.Toplevel):
|
||||
command=lambda: self.themecolorbrowse(1)
|
||||
)
|
||||
|
||||
self.theme_button_1.grid(column=1, padx=self.PADX, pady=self.PADY, sticky=tk.NSEW, row=cur_row)
|
||||
self.theme_button_1.grid(column=1, padx=0, pady=self.PADY, sticky=tk.NSEW, row=cur_row)
|
||||
|
||||
# UI Scaling
|
||||
"""
|
||||
@ -820,7 +824,7 @@ class PreferencesDialog(tk.Toplevel):
|
||||
of 200 we'll end up setting 2.66 as the tk-scaling value.
|
||||
"""
|
||||
ttk.Separator(appearance_frame, orient=tk.HORIZONTAL).grid(
|
||||
columnspan=4, padx=self.PADX, pady=self.PADY*4, sticky=tk.EW, row=row.get()
|
||||
columnspan=4, padx=self.PADX, pady=self.SEPY, sticky=tk.EW, row=row.get()
|
||||
)
|
||||
with row as cur_row:
|
||||
# LANG: Appearance - Label for selection of UI scaling
|
||||
@ -841,7 +845,7 @@ class PreferencesDialog(tk.Toplevel):
|
||||
resolution=10,
|
||||
)
|
||||
|
||||
self.uiscale_bar.grid(column=1, sticky=tk.W, row=cur_row)
|
||||
self.uiscale_bar.grid(column=1, padx=0, sticky=tk.W, row=cur_row)
|
||||
self.ui_scaling_defaultis = nb.Label(
|
||||
appearance_frame,
|
||||
# LANG: Appearance - Help/hint text for UI scaling selection
|
||||
@ -850,7 +854,7 @@ class PreferencesDialog(tk.Toplevel):
|
||||
|
||||
# Transparency slider
|
||||
ttk.Separator(appearance_frame, orient=tk.HORIZONTAL).grid(
|
||||
columnspan=4, padx=self.PADX, pady=self.PADY*4, sticky=tk.EW, row=row.get()
|
||||
columnspan=4, padx=self.PADX, pady=self.SEPY, sticky=tk.EW, row=row.get()
|
||||
)
|
||||
|
||||
with row as cur_row:
|
||||
@ -887,11 +891,11 @@ class PreferencesDialog(tk.Toplevel):
|
||||
row=cur_row
|
||||
)
|
||||
|
||||
self.transparency_bar.grid(column=1, sticky=tk.W, row=cur_row)
|
||||
self.transparency_bar.grid(column=1, padx=0, sticky=tk.W, row=cur_row)
|
||||
|
||||
# Always on top
|
||||
ttk.Separator(appearance_frame, orient=tk.HORIZONTAL).grid(
|
||||
columnspan=4, padx=self.PADX, pady=self.PADY*4, sticky=tk.EW, row=row.get()
|
||||
columnspan=4, padx=self.PADX, pady=self.SEPY, sticky=tk.EW, row=row.get()
|
||||
)
|
||||
|
||||
self.ontop_button = nb.Checkbutton(
|
||||
@ -947,12 +951,12 @@ class PreferencesDialog(tk.Toplevel):
|
||||
# Help text in settings
|
||||
# LANG: Tip/label about how to disable plugins
|
||||
text=_("Tip: You can disable a plugin by{CR}adding '{EXT}' to its folder name").format(EXT='.disabled')
|
||||
).grid(columnspan=2, padx=self.PADX, pady=10, sticky=tk.EW, row=row.get())
|
||||
).grid(columnspan=2, padx=self.PADX, pady=self.PADY, sticky=tk.EW, row=row.get())
|
||||
|
||||
enabled_plugins = list(filter(lambda x: x.folder and x.module, plug.PLUGINS))
|
||||
if len(enabled_plugins):
|
||||
ttk.Separator(plugins_frame, orient=tk.HORIZONTAL).grid(
|
||||
columnspan=3, padx=self.PADX, pady=self.PADY * 8, sticky=tk.EW
|
||||
columnspan=3, padx=self.PADX, pady=self.SEPY, sticky=tk.EW, row=row.get()
|
||||
)
|
||||
nb.Label(
|
||||
plugins_frame,
|
||||
@ -967,21 +971,19 @@ class PreferencesDialog(tk.Toplevel):
|
||||
else:
|
||||
label = nb.Label(plugins_frame, text=f'{plugin.folder} ({plugin.name})')
|
||||
|
||||
label.grid(columnspan=2, padx=self.PADX*2, sticky=tk.W, row=row.get())
|
||||
label.grid(columnspan=2, padx=self.LISTX, sticky=tk.W, row=row.get())
|
||||
|
||||
############################################################
|
||||
# Show which plugins don't have Python 3.x support
|
||||
############################################################
|
||||
if len(plug.PLUGINS_not_py3):
|
||||
ttk.Separator(plugins_frame, orient=tk.HORIZONTAL).grid(
|
||||
columnspan=3, padx=self.PADX, pady=self.PADY * 8, sticky=tk.EW, row=row.get()
|
||||
columnspan=3, padx=self.PADX, pady=self.SEPY, sticky=tk.EW, row=row.get()
|
||||
)
|
||||
# LANG: Plugins - Label for list of 'enabled' plugins that don't work with Python 3.x
|
||||
nb.Label(plugins_frame, text=_('Plugins Without Python 3.x Support:')+':').grid(padx=self.PADX, sticky=tk.W)
|
||||
|
||||
for plugin in plug.PLUGINS_not_py3:
|
||||
if plugin.folder: # 'system' ones have this set to None to suppress listing in Plugins prefs tab
|
||||
nb.Label(plugins_frame, text=plugin.name).grid(columnspan=2, padx=self.PADX*2, sticky=tk.W)
|
||||
nb.Label(plugins_frame, text=_('Plugins Without Python 3.x Support')+':').grid(
|
||||
padx=self.PADX, sticky=tk.W, row=row.get()
|
||||
)
|
||||
|
||||
HyperlinkLabel(
|
||||
# LANG: Plugins - Label on URL to documentation about migrating plugins from Python 2.7
|
||||
@ -989,23 +991,30 @@ class PreferencesDialog(tk.Toplevel):
|
||||
background=nb.Label().cget('background'),
|
||||
url='https://github.com/EDCD/EDMarketConnector/blob/main/PLUGINS.md#migration-from-python-27',
|
||||
underline=True
|
||||
).grid(columnspan=2, padx=self.PADX, sticky=tk.W)
|
||||
############################################################
|
||||
).grid(columnspan=2, padx=self.PADX, sticky=tk.W, row=row.get())
|
||||
|
||||
for plugin in plug.PLUGINS_not_py3:
|
||||
if plugin.folder: # 'system' ones have this set to None to suppress listing in Plugins prefs tab
|
||||
nb.Label(plugins_frame, text=plugin.name).grid(
|
||||
columnspan=2, padx=self.LISTX, sticky=tk.W, row=row.get()
|
||||
)
|
||||
############################################################
|
||||
# Show disabled plugins
|
||||
############################################################
|
||||
disabled_plugins = list(filter(lambda x: x.folder and not x.module, plug.PLUGINS))
|
||||
if len(disabled_plugins):
|
||||
ttk.Separator(plugins_frame, orient=tk.HORIZONTAL).grid(
|
||||
columnspan=3, padx=self.PADX, pady=self.PADY * 8, sticky=tk.EW, row=row.get()
|
||||
columnspan=3, padx=self.PADX*2, pady=self.SEPY, sticky=tk.EW, row=row.get()
|
||||
)
|
||||
nb.Label(
|
||||
plugins_frame,
|
||||
# LANG: Lable on list of user-disabled plugins
|
||||
# LANG: Label on list of user-disabled plugins
|
||||
text=_('Disabled Plugins')+':' # List of plugins in settings
|
||||
).grid(padx=self.PADX, sticky=tk.W, row=row.get())
|
||||
|
||||
for plugin in disabled_plugins:
|
||||
nb.Label(plugins_frame, text=plugin.name).grid(
|
||||
columnspan=2, padx=self.PADX*2, sticky=tk.W, row=row.get()
|
||||
columnspan=2, padx=self.LISTX, sticky=tk.W, row=row.get()
|
||||
)
|
||||
|
||||
# LANG: Label on Settings > Plugins tab
|
||||
|
Loading…
x
Reference in New Issue
Block a user