From 0deeeb57994245d8691a4f1b4e13ceb7f2c24774 Mon Sep 17 00:00:00 2001 From: Athanasius <github@miggy.org> Date: Sun, 6 Sep 2020 18:19:55 +0100 Subject: [PATCH] logging: Added Settings>Configuration 'Loglevel' option. Not yet functional, but dropdown is there and properly populated. --- prefs.py | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/prefs.py b/prefs.py index 25aadf6d..3c49c745 100644 --- a/prefs.py +++ b/prefs.py @@ -1,5 +1,4 @@ # -*- coding: utf-8 -*- -import os from os.path import dirname, expanduser, expandvars, exists, isdir, join, normpath from sys import platform import webbrowser @@ -10,13 +9,15 @@ from tkinter import colorchooser as tkColorChooser from ttkHyperlinkLabel import HyperlinkLabel import myNotebook as nb -from config import applongname, config, appversion +from config import appname, applongname, config, appversion from hotkey import hotkeymgr from l10n import Translations from monitor import monitor from theme import theme import plug +import logging +logger = logging.getLogger(appname) ########################################################################### # Versioned preferences, so we know whether to set an 'on' default on @@ -289,7 +290,20 @@ class PreferencesDialog(tk.Toplevel): self.station_button.configure(width = 15) self.station_button.grid(row=33, column=1, sticky=tk.W) - nb.Label(configframe).grid(sticky=tk.W) # big spacer + # Set loglevel + ttk.Separator(configframe, orient=tk.HORIZONTAL).grid(columnspan=4, padx=PADX, pady=PADY*4, sticky=tk.EW) + nb.Label(configframe, text=_('Log Level')).grid(row=35, padx=PADX, pady=2*PADY, sticky=tk.W) # Set the current loglevel + current_loglevel = config.get('loglevel') + if not current_loglevel: + current_loglevel = logging.getLevelName(logging.INFO) + self.select_loglevel = tk.StringVar(value=current_loglevel) + loglevels = [logging.getLevelName(l) for l in (logging.CRITICAL, logging.ERROR, logging.WARNING, logging.INFO, logging.DEBUG)] + self.loglevel_dropdown = nb.OptionMenu(configframe, self.select_loglevel, self.select_loglevel.get(), *loglevels) + self.loglevel_dropdown.configure(width=15) + self.loglevel_dropdown.grid(row=35, column=1, sticky=tk.W) + + # Big spacer + nb.Label(configframe).grid(sticky=tk.W) notebook.add(configframe, text=_('Configuration')) # Tab heading in settings