Provide correct colors for spoiler selection.
This commit is contained in:
parent
bd7098ef42
commit
4ff5bc5773
4 changed files with 22 additions and 22 deletions
|
|
@ -9,15 +9,14 @@ using "ui/colors.palette";
|
|||
TextPalette {
|
||||
linkFg: color;
|
||||
monoFg: color;
|
||||
spoilerFg: color;
|
||||
selectBg: color;
|
||||
selectFg: color;
|
||||
selectLinkFg: color;
|
||||
selectMonoFg: color;
|
||||
selectSpoilerFg: color;
|
||||
selectOverlay: color;
|
||||
linkAlwaysActive: int;
|
||||
spoilerBg: color;
|
||||
spoilerActiveBg: color;
|
||||
spoilerActiveFg: color;
|
||||
}
|
||||
|
||||
TextStyle {
|
||||
|
|
@ -42,14 +41,13 @@ lineWidth: 1px;
|
|||
defaultTextPalette: TextPalette {
|
||||
linkFg: windowActiveTextFg;
|
||||
monoFg: msgInMonoFg;
|
||||
spoilerFg: msgInDateFg;
|
||||
selectBg: msgInBgSelected;
|
||||
selectFg: transparent; // use painter current pen instead
|
||||
selectLinkFg: historyLinkInFgSelected;
|
||||
selectMonoFg: msgInMonoFgSelected;
|
||||
selectSpoilerFg: msgInDateFgSelected;
|
||||
selectOverlay: msgSelectOverlay;
|
||||
spoilerBg: msgInDateFg;
|
||||
spoilerActiveBg: msgInDateFg;
|
||||
spoilerActiveFg: msgInBg;
|
||||
}
|
||||
defaultTextStyle: TextStyle {
|
||||
font: normalFont;
|
||||
|
|
@ -126,10 +124,12 @@ msgDateTextStyle: defaultTextStyle;
|
|||
serviceTextPalette: TextPalette(defaultTextPalette) {
|
||||
linkFg: msgServiceFg;
|
||||
monoFg: msgServiceFg;
|
||||
spoilerFg: msgServiceFg;
|
||||
selectBg: msgServiceBgSelected;
|
||||
selectFg: msgServiceFg;
|
||||
selectLinkFg: msgServiceFg;
|
||||
selectMonoFg: msgServiceFg;
|
||||
selectSpoilerFg: msgServiceFg;
|
||||
selectOverlay: msgServiceBgSelected;
|
||||
}
|
||||
serviceTextStyle: TextStyle(defaultTextStyle) {
|
||||
|
|
@ -140,34 +140,34 @@ serviceTextStyle: TextStyle(defaultTextStyle) {
|
|||
inTextPalette: TextPalette(defaultTextPalette) {
|
||||
linkFg: historyLinkInFg;
|
||||
monoFg: msgInMonoFg;
|
||||
spoilerFg: msgInDateFg;
|
||||
selectBg: msgInBgSelected;
|
||||
selectFg: historyTextInFgSelected;
|
||||
selectLinkFg: historyLinkInFgSelected;
|
||||
selectMonoFg: msgInMonoFgSelected;
|
||||
selectSpoilerFg: msgInDateFgSelected;
|
||||
selectOverlay: msgSelectOverlay;
|
||||
spoilerBg: msgInDateFg;
|
||||
spoilerActiveBg: msgInDateFg;
|
||||
spoilerActiveFg: msgInBg;
|
||||
}
|
||||
inTextPaletteSelected: TextPalette(inTextPalette) {
|
||||
linkFg: historyLinkInFgSelected;
|
||||
monoFg: msgInMonoFgSelected;
|
||||
spoilerFg: msgInDateFgSelected;
|
||||
}
|
||||
outTextPalette: TextPalette(defaultTextPalette) {
|
||||
linkFg: historyLinkOutFg;
|
||||
monoFg: msgOutMonoFg;
|
||||
spoilerFg: msgOutDateFg;
|
||||
selectBg: msgOutBgSelected;
|
||||
selectFg: historyTextOutFgSelected;
|
||||
selectLinkFg: historyLinkOutFgSelected;
|
||||
selectMonoFg: msgOutMonoFgSelected;
|
||||
selectSpoilerFg: msgOutDateFgSelected;
|
||||
selectOverlay: msgSelectOverlay;
|
||||
spoilerBg: msgOutDateFg;
|
||||
spoilerActiveBg: msgOutDateFg;
|
||||
spoilerActiveFg: msgOutBg;
|
||||
}
|
||||
outTextPaletteSelected: TextPalette(outTextPalette) {
|
||||
linkFg: historyLinkOutFgSelected;
|
||||
monoFg: msgOutMonoFgSelected;
|
||||
spoilerFg: msgOutDateFgSelected;
|
||||
}
|
||||
fwdTextStyle: TextStyle(semiboldTextStyle) {
|
||||
linkFontOver: semiboldFont;
|
||||
|
|
|
|||
|
|
@ -757,7 +757,7 @@ bool Renderer::drawLine(uint16 _lineEnd, const String::TextBlocks::const_iterato
|
|||
}
|
||||
}
|
||||
}
|
||||
const auto hasSpoiler = _background.color &&
|
||||
const auto hasSpoiler = _background.spoiler &&
|
||||
(_background.inFront || _background.startMs);
|
||||
if (hasSpoiler) {
|
||||
fillSpoiler = { x, si.width };
|
||||
|
|
@ -789,7 +789,7 @@ bool Renderer::drawLine(uint16 _lineEnd, const String::TextBlocks::const_iterato
|
|||
_customEmojiSkip = (st::emojiSize - _customEmojiSize) / 2;
|
||||
}
|
||||
custom->paint(*_p, {
|
||||
.preview = _palette->spoilerActiveBg->c,
|
||||
.preview = _palette->spoilerFg->c,
|
||||
.now = now(),
|
||||
.position = { x + _customEmojiSkip, y + _customEmojiSkip },
|
||||
.paused = _paused,
|
||||
|
|
@ -1072,7 +1072,7 @@ void Renderer::fillSpoilerRange(
|
|||
int currentBlockIndex,
|
||||
int positionFrom,
|
||||
int positionTill) {
|
||||
if (!_background.color || !_t->_spoiler) {
|
||||
if (!_background.spoiler || !_t->_spoiler) {
|
||||
return;
|
||||
}
|
||||
const auto elided = (_indexOfElidedBlock == currentBlockIndex)
|
||||
|
|
@ -1089,7 +1089,7 @@ void Renderer::fillSpoilerRange(
|
|||
useWidth,
|
||||
_fontHeight);
|
||||
if (_spoilerCache) {
|
||||
const auto mess = _spoilerCache->lookup((*_background.color)->c);
|
||||
const auto mess = _spoilerCache->lookup((*_background.spoiler)->c);
|
||||
const auto spoiler = _t->_spoiler.get();
|
||||
const auto frame = mess->frame(
|
||||
spoiler->animation.index(now(), _paused));
|
||||
|
|
@ -1920,9 +1920,8 @@ void Renderer::applyBlockProperties(const AbstractBlock *block) {
|
|||
= _t->_spoiler->links.at(block->spoilerIndex() - 1);
|
||||
const auto inBack = (handler && handler->shown());
|
||||
_background.inFront = !inBack;
|
||||
_background.color = inBack
|
||||
? &_palette->spoilerActiveBg
|
||||
: &_palette->spoilerBg;
|
||||
_background.spoiler = &_palette->spoilerFg;
|
||||
_background.spoilerSelected = &_palette->selectSpoilerFg;
|
||||
_background.startMs = handler ? handler->startMs() : 0;
|
||||
_background.spoilerIndex = block->spoilerIndex();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -100,7 +100,8 @@ private:
|
|||
const QPen *_currentPen = nullptr;
|
||||
const QPen *_currentPenSelected = nullptr;
|
||||
struct {
|
||||
const style::color *color = nullptr;
|
||||
const style::color *spoiler = nullptr;
|
||||
const style::color *spoilerSelected = nullptr;
|
||||
bool inFront = false;
|
||||
crl::time startMs = 0;
|
||||
uint16 spoilerIndex = 0;
|
||||
|
|
|
|||
|
|
@ -765,7 +765,7 @@ QTextCharFormat PrepareTagFormat(
|
|||
color = st::defaultTextPalette.monoFg;
|
||||
font = font->monospace();
|
||||
} else if (tag == kTagSpoiler) {
|
||||
bg = st::defaultTextPalette.spoilerActiveBg;
|
||||
bg = st::msgInDateFg;
|
||||
}
|
||||
};
|
||||
for (const auto &tag : TextUtilities::SplitTags(tag)) {
|
||||
|
|
@ -1426,7 +1426,7 @@ void CustomEmojiObject::drawObject(
|
|||
return;
|
||||
}
|
||||
i->second->paint(*painter, {
|
||||
.preview = st::defaultTextPalette.spoilerActiveBg->c,
|
||||
.preview = st::windowBgRipple->c,
|
||||
.now = _now,
|
||||
.position = QPoint(
|
||||
int(base::SafeRound(rect.x())) + st::emojiPadding + _skip,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue