From c68dceb1892284f49ef1bf04a719f89635d35c58 Mon Sep 17 00:00:00 2001 From: John Preston Date: Thu, 7 Nov 2019 10:37:46 +0300 Subject: [PATCH] Use selected text colors from the palette. On macOS in Dark Mode + Graphite system settings have selected text color 'white' and selected text background color 'white+opacity'. It looks fine if the control background is dark, but in case of custom color themes with white control background the selected text becomes invisible. --- ui/widgets/input_fields.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ui/widgets/input_fields.cpp b/ui/widgets/input_fields.cpp index ff3760e..fb6b171 100644 --- a/ui/widgets/input_fields.cpp +++ b/ui/widgets/input_fields.cpp @@ -13,6 +13,7 @@ #include "base/openssl_help.h" #include "base/platform/base_platform_info.h" #include "emoji_suggestions_helper.h" +#include "styles/palette.h" #include #include @@ -967,6 +968,8 @@ FlatInput::FlatInput( void FlatInput::updatePalette() { auto p = palette(); p.setColor(QPalette::Text, _st.textColor->c); + p.setColor(QPalette::Highlight, st::msgInBgSelected->c); + p.setColor(QPalette::HighlightedText, st::historyTextInFgSelected->c); setPalette(p); } @@ -1368,6 +1371,8 @@ bool InputField::viewportEventInner(QEvent *e) { void InputField::updatePalette() { auto p = _inner->palette(); p.setColor(QPalette::Text, _st.textFg->c); + p.setColor(QPalette::Highlight, st::msgInBgSelected->c); + p.setColor(QPalette::HighlightedText, st::historyTextInFgSelected->c); _inner->setPalette(p); _defaultCharFormat.merge(PrepareTagFormat(_st, QString())); @@ -3595,6 +3600,8 @@ MaskedInputField::MaskedInputField( void MaskedInputField::updatePalette() { auto p = palette(); p.setColor(QPalette::Text, _st.textFg->c); + p.setColor(QPalette::Highlight, st::msgInBgSelected->c); + p.setColor(QPalette::HighlightedText, st::historyTextInFgSelected->c); setPalette(p); }