diff --git a/src/python/adgui.py b/src/python/adgui.py index 93613e0d..4a81688f 100755 --- a/src/python/adgui.py +++ b/src/python/adgui.py @@ -502,15 +502,21 @@ class adgui(QObject): def __init__(self, argv): super().__init__() + # the main Qt app + self.app = QApplication(sys.argv) + # can be 'Dark', 'Light', or 'Unknown' + guimode = self.app.styleHints().colorScheme().name + self.darkmode = guimode == 'Dark' + # members for logging - self.logstring = "Welcome to AVRDUDE!
\n" + if self.darkmode: + self.logstring = "Welcome to AVRDUDE!
\n" + else: + self.logstring = "Welcome to AVRDUDE!
\n" self.at_bol = { 'stdout': True, 'stderr': True } self.debuglog = "" self.debug_bol = True - # the main Qt app - self.app = QApplication(sys.argv) - self.port = None self.pgm = None self.dev = None @@ -550,6 +556,12 @@ class adgui(QObject): self.memories.ee_avr.setScene(gsc) self.memories.fuse_avr.setScene(gsc) + if self.darkmode: + # adjust signature value stylesheets + self.memories.configSig.setStyleSheet("background-color: rgb(0, 0, 0);") + self.memories.deviceSig.setStyleSheet("background-color: rgb(0, 0, 0); color: rgb(180, 180, 180);") + self.memories.candidate.setStyleSheet("background-color: rgb(0, 0, 0);") + self.disable_fuses() self.helptext() @@ -646,17 +658,30 @@ class adgui(QObject): def log(self, s: str, level: int = ad.MSG_INFO, no_nl: bool = False): # level to color mapping - colors = [ - '#804040', # MSG_EXT_ERROR - '#A03030', # MSG_ERROR - '#A08000', # MSG_WARNING - '#000000', # MSG_INFO - '#006000', # MSG_NOTICE - '#005030', # MSG_NOTICE2 - '#808080', # MSG_DEBUG - '#60A060', # MSG_TRACE - not used - '#6060A0', # MSG_TRACE2 - not used - ] + if self.darkmode: + colors = [ + '#804040', # MSG_EXT_ERROR + '#F08030', # MSG_ERROR + '#E0E000', # MSG_WARNING + '#A0A0A0', # MSG_INFO + '#A0E0A0', # MSG_NOTICE + '#A0E0F0', # MSG_NOTICE2 + '#808080', # MSG_DEBUG + '#60A060', # MSG_TRACE - not used + '#6060A0', # MSG_TRACE2 - not used + ] + else: + colors = [ + '#804040', # MSG_EXT_ERROR + '#A03030', # MSG_ERROR + '#A08000', # MSG_WARNING + '#000000', # MSG_INFO + '#006000', # MSG_NOTICE + '#005030', # MSG_NOTICE2 + '#808080', # MSG_DEBUG + '#60A060', # MSG_TRACE - not used + '#6060A0', # MSG_TRACE2 - not used + ] color = colors[level - ad.MSG_EXT_ERROR] html = None if level <= ad.MSG_WARNING: @@ -967,8 +992,12 @@ class adgui(QObject): self.stop_programmer() def read_signature(self): - sig_ok = "background-color: rgb(255, 255, 255);\ncolor: rgb(0, 100, 0);" - sig_bad = "background-color: rgb(255, 255, 255);\ncolor: rgb(150, 0, 0);" + if self.darkmode: + sig_ok = "background-color: rgb(0, 0, 0);\ncolor: rgb(0, 150, 0);" + sig_bad = "background-color: rgb(0, 0, 0);\ncolor: rgb(200, 80, 0);" + else: + sig_ok = "background-color: rgb(255, 255, 255);\ncolor: rgb(0, 100, 0);" + sig_bad = "background-color: rgb(255, 255, 255);\ncolor: rgb(150, 0, 0);" if self.connected: m = ad.avr_locate_mem(self.dev, 'signature') if m: