1
0
mirror of https://github.com/EDCD/EDMarketConnector.git synced 2025-04-18 09:57:40 +03:00

#510 Add open log folder to prefs menu

This commit is contained in:
David Sangrey 2023-08-06 13:36:05 -04:00
parent 281c93efe3
commit 0d26fbfe89
No known key found for this signature in database
GPG Key ID: 3AEADBB0186884BC
2 changed files with 27 additions and 16 deletions

View File

@ -699,7 +699,7 @@ class AppWindow(object):
self.help_menu.add_command(command=lambda: self.updater.check_for_updates()) # Check for Updates... self.help_menu.add_command(command=lambda: self.updater.check_for_updates()) # Check for Updates...
# About E:D Market Connector # About E:D Market Connector
self.help_menu.add_command(command=lambda: not self.HelpAbout.showing and self.HelpAbout(self.w)) self.help_menu.add_command(command=lambda: not self.HelpAbout.showing and self.HelpAbout(self.w))
self.help_menu.add_command(command=self.help_open_log_folder) # Open Log Folder self.help_menu.add_command(command=prefs.help_open_log_folder) # Open Log Folder
self.menubar.add_cascade(menu=self.help_menu) self.menubar.add_cascade(menu=self.help_menu)
if sys.platform == 'win32': if sys.platform == 'win32':
@ -1794,20 +1794,6 @@ class AppWindow(object):
webbrowser.open("https://github.com/EDCD/EDMarketConnector/issues/new?assignees=&labels=bug%2C+unconfirmed" webbrowser.open("https://github.com/EDCD/EDMarketConnector/issues/new?assignees=&labels=bug%2C+unconfirmed"
"&template=bug_report.md&title=") "&template=bug_report.md&title=")
def help_open_log_folder(self, event=None) -> None:
"""Open the folder logs are stored in."""
logfile_loc = pathlib.Path(tempfile.gettempdir())
logfile_loc /= f'{appname}'
if sys.platform.startswith('win'):
# On Windows, use the "start" command to open the folder
system(f'start "" "{logfile_loc}"')
elif sys.platform.startswith('darwin'):
# On macOS, use the "open" command to open the folder
system(f'open "{logfile_loc}"')
elif sys.platform.startswith('linux'):
# On Linux, use the "xdg-open" command to open the folder
system(f'xdg-open "{logfile_loc}"')
def help_privacy(self, event=None) -> None: def help_privacy(self, event=None) -> None:
"""Open Wiki Privacy page in browser.""" """Open Wiki Privacy page in browser."""
webbrowser.open('https://github.com/EDCD/EDMarketConnector/wiki/Privacy-Policy') webbrowser.open('https://github.com/EDCD/EDMarketConnector/wiki/Privacy-Policy')

View File

@ -3,9 +3,12 @@
import contextlib import contextlib
import logging import logging
import pathlib
import sys import sys
import tempfile
import tkinter as tk import tkinter as tk
import webbrowser import webbrowser
from os import system
from os.path import expanduser, expandvars, join, normpath from os.path import expanduser, expandvars, join, normpath
from tkinter import colorchooser as tkColorChooser # type: ignore # noqa: N812 from tkinter import colorchooser as tkColorChooser # type: ignore # noqa: N812
from tkinter import ttk from tkinter import ttk
@ -16,12 +19,12 @@ import myNotebook as nb # noqa: N813
import plug import plug
from config import applongname, appversion_nobuild, config from config import applongname, appversion_nobuild, config
from EDMCLogging import edmclogger, get_main_logger from EDMCLogging import edmclogger, get_main_logger
from constants import appname
from hotkey import hotkeymgr from hotkey import hotkeymgr
from l10n import Translations from l10n import Translations
from monitor import monitor from monitor import monitor
from theme import theme from theme import theme
from ttkHyperlinkLabel import HyperlinkLabel from ttkHyperlinkLabel import HyperlinkLabel
logger = get_main_logger() logger = get_main_logger()
if TYPE_CHECKING: if TYPE_CHECKING:
@ -38,6 +41,21 @@ if TYPE_CHECKING:
# May be imported by plugins # May be imported by plugins
def help_open_log_folder() -> None:
"""Open the folder logs are stored in."""
logfile_loc = pathlib.Path(tempfile.gettempdir())
logfile_loc /= f'{appname}'
if sys.platform.startswith('win'):
# On Windows, use the "start" command to open the folder
system(f'start "" "{logfile_loc}"')
elif sys.platform.startswith('darwin'):
# On macOS, use the "open" command to open the folder
system(f'open "{logfile_loc}"')
elif sys.platform.startswith('linux'):
# On Linux, use the "xdg-open" command to open the folder
system(f'xdg-open "{logfile_loc}"')
class PrefsVersion: class PrefsVersion:
""" """
PrefsVersion contains versioned preferences. PrefsVersion contains versioned preferences.
@ -674,6 +692,13 @@ class PreferencesDialog(tk.Toplevel):
self.loglevel_dropdown.configure(width=15) self.loglevel_dropdown.configure(width=15)
self.loglevel_dropdown.grid(column=1, sticky=tk.W, row=cur_row) self.loglevel_dropdown.grid(column=1, sticky=tk.W, row=cur_row)
nb.Button(
config_frame,
# LANG: Label on button used to open a filesystem folder
text=_('Open Log Folder'), # Button that opens a folder in Explorer/Finder
command=lambda: help_open_log_folder()
).grid(column=2, padx=(0, self.PADX), sticky=tk.NSEW, row=cur_row)
# Big spacer # Big spacer
nb.Label(config_frame).grid(sticky=tk.W, row=row.get()) nb.Label(config_frame).grid(sticky=tk.W, row=row.get())