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.
This commit is contained in:
parent
b12d0dbe9a
commit
c68dceb189
1 changed files with 7 additions and 0 deletions
|
|
@ -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 <QtWidgets/QCommonStyle>
|
||||
#include <QtWidgets/QScrollBar>
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue