summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gmdocument.c3
-rw-r--r--src/prefs.h4
-rw-r--r--src/ui/labelwidget.c12
-rw-r--r--src/ui/root.c2
4 files changed, 18 insertions, 3 deletions
diff --git a/src/gmdocument.c b/src/gmdocument.c
index 79deb861..a85e4b71 100644
--- a/src/gmdocument.c
+++ b/src/gmdocument.c
@@ -491,8 +491,7 @@ static iBool isNormalized_GmDocument_(const iGmDocument *d) {
491} 491}
492 492
493static enum iGmDocumentTheme currentTheme_(void) { 493static enum iGmDocumentTheme currentTheme_(void) {
494 return (isDark_ColorTheme(colorTheme_App()) ? prefs_App()->docThemeDark 494 return docTheme_Prefs(prefs_App());
495 : prefs_App()->docThemeLight);
496} 495}
497 496
498static void alignDecoration_GmRun_(iGmRun *run, iBool isCentered) { 497static void alignDecoration_GmRun_(iGmRun *run, iBool isCentered) {
diff --git a/src/prefs.h b/src/prefs.h
index 59c36a16..d988399e 100644
--- a/src/prefs.h
+++ b/src/prefs.h
@@ -193,3 +193,7 @@ iLocalDef float scrollSpeedFactor_Prefs(const iPrefs *d, enum iScrollType type)
193 iAssert(type >= 0 && type < max_ScrollType); 193 iAssert(type >= 0 && type < max_ScrollType);
194 return 10.0f / iMax(1, d->smoothScrollSpeed[type]) * (type == mouse_ScrollType ? 0.5f : 1.0f); 194 return 10.0f / iMax(1, d->smoothScrollSpeed[type]) * (type == mouse_ScrollType ? 0.5f : 1.0f);
195} 195}
196
197iLocalDef enum iGmDocumentTheme docTheme_Prefs(const iPrefs *d) {
198 return isDark_ColorTheme(d->theme) ? d->docThemeDark : d->docThemeLight;
199}
diff --git a/src/ui/labelwidget.c b/src/ui/labelwidget.c
index 3454014a..75cbbf3a 100644
--- a/src/ui/labelwidget.c
+++ b/src/ui/labelwidget.c
@@ -231,7 +231,17 @@ static void getColors_LabelWidget_(const iLabelWidget *d, int *bg, int *fg, int
231 *bg = uiBackgroundUnfocusedSelection_ColorId; 231 *bg = uiBackgroundUnfocusedSelection_ColorId;
232 } 232 }
233 else { 233 else {
234 *bg = uiBackgroundSelected_ColorId; 234 const enum iGmDocumentTheme docTheme = docTheme_Prefs(prefs_App());
235 if ((docTheme == colorfulLight_GmDocumentTheme || docTheme == sepia_GmDocumentTheme) &&
236 !cmp_String(&d->widget.parent->id, "tabs.buttons")) {
237 *bg = (docTheme == sepia_GmDocumentTheme &&
238 colorTheme_App() == pureWhite_ColorTheme
239 ? tmBackground_ColorId
240 : tmBannerBackground_ColorId);
241 }
242 else {
243 *bg = uiBackgroundSelected_ColorId;
244 }
235 } 245 }
236 if (!isKeyRoot) { 246 if (!isKeyRoot) {
237 *bg = isDark_ColorTheme(colorTheme_App()) ? uiBackgroundUnfocusedSelection_ColorId 247 *bg = isDark_ColorTheme(colorTheme_App()) ? uiBackgroundUnfocusedSelection_ColorId
diff --git a/src/ui/root.c b/src/ui/root.c
index 6e187313..eeb5956f 100644
--- a/src/ui/root.c
+++ b/src/ui/root.c
@@ -1059,6 +1059,8 @@ static iBool handleNavBarCommands_(iWidget *navBar, const char *cmd) {
1059 updateNavBarIdentity_(navBar); 1059 updateNavBarIdentity_(navBar);
1060 } 1060 }
1061 setFocus_Widget(NULL); 1061 setFocus_Widget(NULL);
1062 makePaletteGlobal_GmDocument(document_DocumentWidget(doc));
1063 refresh_Widget(findWidget_Root("doctabs"));
1062 } 1064 }
1063 else if (equal_Command(cmd, "mouse.clicked") && arg_Command(cmd)) { 1065 else if (equal_Command(cmd, "mouse.clicked") && arg_Command(cmd)) {
1064 iWidget *widget = pointer_Command(cmd); 1066 iWidget *widget = pointer_Command(cmd);