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