diff --git a/.travis/build.sh b/.travis/build.sh index 12a8c87d6..4e0806042 100755 --- a/.travis/build.sh +++ b/.travis/build.sh @@ -596,6 +596,7 @@ buildTelegram() { -Dtravis_defines=${GYP_DEFINES:1} \ -Dlinux_path_xkbcommon=$XKB_PATH \ -Dlinux_path_va=$VA_PATH \ + -Dlinux_path_vdpau=$VDPAU_PATH \ -Dlinux_path_ffmpeg=$FFMPEG_PATH \ -Dlinux_path_openal=$OPENAL_PATH \ -Dlinux_path_qt=$QT_PATH \ diff --git a/Telegram/Resources/colors.palette b/Telegram/Resources/colors.palette index 56741875a..48635fbaf 100644 --- a/Telegram/Resources/colors.palette +++ b/Telegram/Resources/colors.palette @@ -93,6 +93,7 @@ placeholderFg: windowSubTextFg; placeholderFgActive: #aaaaaa; inputBorderFg: #e0e0e0; filterInputBorderFg: #54c3f3; +filterInputInactiveBg: windowBgOver; checkboxFg: #b3b3b3; sliderBgInactive: #e1eaef; @@ -275,10 +276,10 @@ historyPeer8NameFg: #ce671b; // orange historyPeer8UserpicBg: #faa774; historyPeerUserpicFg: windowFgActive; -historyScrollBarBg: #556e837a; -historyScrollBarBgOver: #556e83bc; -historyScrollBg: #556e834c; -historyScrollBgOver: #556e836b; +historyScrollBarBg: #517c417a; +historyScrollBarBgOver: #517c41bc; +historyScrollBg: #517c414c; +historyScrollBgOver: #517c416b; msgInBg: windowBg; msgInBgSelected: #c2dcf2; // #358cd4 with 30% opacity @@ -299,8 +300,8 @@ msgInDateFgSelected: #6a9cc5; msgOutDateFg: #6cc264; msgOutDateFgSelected: #50a79c; msgServiceFg: windowFgActive; -msgServiceBg: #556e837f; -msgServiceBgSelected: #8ca0b3a2; +msgServiceBg: #517c417f; +msgServiceBgSelected: #96b38ba2; msgInReplyBarColor: activeLineFg; msgInReplyBarSelColor: activeLineFg; msgOutReplyBarColor: historyOutIconFg; @@ -341,6 +342,19 @@ msgFile4BgDark: #e6a561; msgFile4BgOver: #dc9c5a; msgFile4BgSelected: #b19d84; +historyFileInIconFg: msgInBg; +historyFileInIconFgSelected: msgInBgSelected; +historyFileInRadialFg: historyFileInIconFg; +historyFileInRadialFgSelected: historyFileInIconFgSelected; +historyFileOutIconFg: msgOutBg; +historyFileOutIconFgSelected: msgOutBgSelected; +historyFileOutRadialFg: historyFileOutIconFg; +historyFileOutRadialFgSelected: historyFileOutIconFgSelected; +historyFileThumbIconFg: msgInBg; +historyFileThumbIconFgSelected: msgInBgSelected; +historyFileThumbRadialFg: historyFileThumbIconFg; +historyFileThumbRadialFgSelected: historyFileThumbIconFgSelected; + msgWaveformInActive: windowBgActive; msgWaveformInActiveSelected: #51a3d3; msgWaveformInInactive: #d4dee6; diff --git a/Telegram/Resources/default.tdesktop-theme b/Telegram/Resources/default.tdesktop-theme index 2d3c29546..8e61fd3bd 100644 --- a/Telegram/Resources/default.tdesktop-theme +++ b/Telegram/Resources/default.tdesktop-theme @@ -82,6 +82,7 @@ placeholderFg: windowSubTextFg; placeholderFgActive: #aaaaaa; inputBorderFg: #e0e0e0; filterInputBorderFg: #54c3f3; +filterInputInactiveBg: windowBgOver; checkboxFg: #b3b3b3; sliderBgInactive: #e1eaef; sliderBgActive: windowBgActive; @@ -230,10 +231,10 @@ historyPeer7UserpicBg: #6ec9cb; historyPeer8NameFg: #ce671b; historyPeer8UserpicBg: #faa774; historyPeerUserpicFg: windowFgActive; -historyScrollBarBg: #556e837a; -historyScrollBarBgOver: #556e83bc; -historyScrollBg: #556e834c; -historyScrollBgOver: #556e836b; +historyScrollBarBg: #517c417a; +historyScrollBarBgOver: #517c41bc; +historyScrollBg: #517c414c; +historyScrollBgOver: #517c416b; msgInBg: windowBg; msgInBgSelected: #c2dcf2; msgOutBg: #effdde; @@ -253,8 +254,8 @@ msgInDateFgSelected: #6a9cc5; msgOutDateFg: #6cc264; msgOutDateFgSelected: #50a79c; msgServiceFg: windowFgActive; -msgServiceBg: #556e837f; -msgServiceBgSelected: #8ca0b3a2; +msgServiceBg: #517c417f; +msgServiceBgSelected: #96b38ba2; msgInReplyBarColor: activeLineFg; msgInReplyBarSelColor: activeLineFg; msgOutReplyBarColor: historyOutIconFg; @@ -292,6 +293,18 @@ msgFile4Bg: #efc274; msgFile4BgDark: #e6a561; msgFile4BgOver: #dc9c5a; msgFile4BgSelected: #b19d84; +historyFileInIconFg: msgInBg; +historyFileInIconFgSelected: msgInBgSelected; +historyFileInRadialFg: historyFileInIconFg; +historyFileInRadialFgSelected: historyFileInIconFgSelected; +historyFileOutIconFg: msgOutBg; +historyFileOutIconFgSelected: msgOutBgSelected; +historyFileOutRadialFg: historyFileOutIconFg; +historyFileOutRadialFgSelected: historyFileOutIconFgSelected; +historyFileThumbIconFg: msgInBg; +historyFileThumbIconFgSelected: msgInBgSelected; +historyFileThumbRadialFg: historyFileThumbIconFg; +historyFileThumbRadialFgSelected: historyFileThumbIconFgSelected; msgWaveformInActive: windowBgActive; msgWaveformInActiveSelected: #51a3d3; msgWaveformInInactive: #d4dee6; diff --git a/Telegram/SourceFiles/history/history.style b/Telegram/SourceFiles/history/history.style index cf7d4fb21..379ee4ebd 100644 --- a/Telegram/SourceFiles/history/history.style +++ b/Telegram/SourceFiles/history/history.style @@ -102,30 +102,37 @@ membersInnerItem: ProfilePeerListItem { statusFgActive: windowActiveTextFg; } -historyFileOutImage: icon {{ "history_file_image", msgOutBg }}; -historyFileOutImageSelected: icon {{ "history_file_image", msgOutBgSelected }}; -historyFileInImage: icon {{ "history_file_image", msgInBg }}; -historyFileInImageSelected: icon {{ "history_file_image", msgInBgSelected }}; -historyFileOutDocument: icon {{ "history_file_document", msgOutBg }}; -historyFileOutDocumentSelected: icon {{ "history_file_document", msgOutBgSelected }}; -historyFileInDocument: icon {{ "history_file_document", msgInBg }}; -historyFileInDocumentSelected: icon {{ "history_file_document", msgInBgSelected }}; -historyFileOutDownload: icon {{ "history_file_download", msgOutBg }}; -historyFileOutDownloadSelected: icon {{ "history_file_download", msgOutBgSelected }}; -historyFileInDownload: icon {{ "history_file_download", msgInBg }}; -historyFileInDownloadSelected: icon {{ "history_file_download", msgInBgSelected }}; -historyFileOutCancel: icon {{ "history_file_cancel", msgOutBg }}; -historyFileOutCancelSelected: icon {{ "history_file_cancel", msgOutBgSelected }}; -historyFileInCancel: icon {{ "history_file_cancel", msgInBg }}; -historyFileInCancelSelected: icon {{ "history_file_cancel", msgInBgSelected }}; -historyFileOutPause: icon {{ "history_file_pause", msgOutBg }}; -historyFileOutPauseSelected: icon {{ "history_file_pause", msgOutBgSelected }}; -historyFileInPause: icon {{ "history_file_pause", msgInBg }}; -historyFileInPauseSelected: icon {{ "history_file_pause", msgInBgSelected }}; -historyFileOutPlay: icon {{ "history_file_play", msgOutBg }}; -historyFileOutPlaySelected: icon {{ "history_file_play", msgOutBgSelected }}; -historyFileInPlay: icon {{ "history_file_play", msgInBg }}; -historyFileInPlaySelected: icon {{ "history_file_play", msgInBgSelected }}; +historyFileOutImage: icon {{ "history_file_image", historyFileOutIconFg }}; +historyFileOutImageSelected: icon {{ "history_file_image", historyFileOutIconFgSelected }}; +historyFileInImage: icon {{ "history_file_image", historyFileInIconFg }}; +historyFileInImageSelected: icon {{ "history_file_image", historyFileInIconFgSelected }}; +historyFileOutDocument: icon {{ "history_file_document", historyFileOutIconFg }}; +historyFileOutDocumentSelected: icon {{ "history_file_document", historyFileOutIconFgSelected }}; +historyFileInDocument: icon {{ "history_file_document", historyFileInIconFg }}; +historyFileInDocumentSelected: icon {{ "history_file_document", historyFileInIconFgSelected }}; +historyFileOutDownload: icon {{ "history_file_download", historyFileOutIconFg }}; +historyFileOutDownloadSelected: icon {{ "history_file_download", historyFileOutIconFgSelected }}; +historyFileInDownload: icon {{ "history_file_download", historyFileInIconFg }}; +historyFileInDownloadSelected: icon {{ "history_file_download", historyFileInIconFgSelected }}; +historyFileOutCancel: icon {{ "history_file_cancel", historyFileOutIconFg }}; +historyFileOutCancelSelected: icon {{ "history_file_cancel", historyFileOutIconFgSelected }}; +historyFileInCancel: icon {{ "history_file_cancel", historyFileInIconFg }}; +historyFileInCancelSelected: icon {{ "history_file_cancel", historyFileInIconFgSelected }}; +historyFileOutPause: icon {{ "history_file_pause", historyFileOutIconFg }}; +historyFileOutPauseSelected: icon {{ "history_file_pause", historyFileOutIconFgSelected }}; +historyFileInPause: icon {{ "history_file_pause", historyFileInIconFg }}; +historyFileInPauseSelected: icon {{ "history_file_pause", historyFileInIconFgSelected }}; +historyFileOutPlay: icon {{ "history_file_play", historyFileOutIconFg }}; +historyFileOutPlaySelected: icon {{ "history_file_play", historyFileOutIconFgSelected }}; +historyFileInPlay: icon {{ "history_file_play", historyFileInIconFg }}; +historyFileInPlaySelected: icon {{ "history_file_play", historyFileInIconFgSelected }}; + +historyFileThumbDownload: icon {{ "history_file_download", historyFileThumbIconFg }}; +historyFileThumbDownloadSelected: icon {{ "history_file_download", historyFileThumbIconFgSelected }}; +historyFileThumbCancel: icon {{ "history_file_cancel", historyFileThumbIconFg }}; +historyFileThumbCancelSelected: icon {{ "history_file_cancel", historyFileThumbIconFgSelected }}; +historyFileThumbPlay: icon {{ "history_file_play", historyFileThumbIconFg }}; +historyFileThumbPlaySelected: icon {{ "history_file_play", historyFileThumbIconFgSelected }}; historySendStateSpace: 24px; historySendStatePosition: point(-17px, -19px); diff --git a/Telegram/SourceFiles/history/history_media_types.cpp b/Telegram/SourceFiles/history/history_media_types.cpp index 7a2e3f71d..ff4e7e2fb 100644 --- a/Telegram/SourceFiles/history/history_media_types.cpp +++ b/Telegram/SourceFiles/history/history_media_types.cpp @@ -422,26 +422,24 @@ void HistoryPhoto::draw(Painter &p, const QRect &r, TextSelection selection, Tim p.drawEllipse(inner); } - p.setOpacity(radial ? _animation->radial.opacity() : 1); - p.setOpacity(radialOpacity); auto icon = ([radial, this, selected]() -> const style::icon* { if (radial || _data->loading()) { auto delayed = _data->full->toDelayedStorageImage(); if (!delayed || !delayed->location().isNull()) { - return &(selected ? st::historyFileInCancelSelected : st::historyFileInCancel); + return &(selected ? st::historyFileThumbCancelSelected : st::historyFileThumbCancel); } return nullptr; } - return &(selected ? st::historyFileInDownloadSelected : st::historyFileInDownload); + return &(selected ? st::historyFileThumbDownloadSelected : st::historyFileThumbDownload); })(); if (icon) { icon->paintInCenter(p, inner); } + p.setOpacity(1); if (radial) { - p.setOpacity(1); QRect rinner(inner.marginsRemoved(QMargins(st::msgFileRadialLine, st::msgFileRadialLine, st::msgFileRadialLine, st::msgFileRadialLine))); - _animation->radial.draw(p, rinner, st::msgFileRadialLine, selected ? st::msgInBgSelected : st::msgInBg); + _animation->radial.draw(p, rinner, st::msgFileRadialLine, selected ? st::historyFileThumbRadialFgSelected : st::historyFileThumbRadialFg); } } @@ -766,16 +764,16 @@ void HistoryVideo::draw(Painter &p, const QRect &r, TextSelection selection, Tim auto icon = ([loaded, radial, this, selected] { if (loaded) { - return &(selected ? st::historyFileInPlaySelected : st::historyFileInPlay); + return &(selected ? st::historyFileThumbPlaySelected : st::historyFileThumbPlay); } else if (radial || _data->loading()) { - return &(selected ? st::historyFileInCancelSelected : st::historyFileInCancel); + return &(selected ? st::historyFileThumbCancelSelected : st::historyFileThumbCancel); } - return &(selected ? st::historyFileInDownloadSelected : st::historyFileInDownload); + return &(selected ? st::historyFileThumbDownloadSelected : st::historyFileThumbDownload); })(); icon->paintInCenter(p, inner); if (radial) { QRect rinner(inner.marginsRemoved(QMargins(st::msgFileRadialLine, st::msgFileRadialLine, st::msgFileRadialLine, st::msgFileRadialLine))); - _animation->radial.draw(p, rinner, st::msgFileRadialLine, selected ? st::msgInBgSelected : st::msgInBg); + _animation->radial.draw(p, rinner, st::msgFileRadialLine, selected ? st::historyFileThumbRadialFgSelected : st::historyFileThumbRadialFg); } int32 statusX = skipx + st::msgDateImgDelta + st::msgDateImgPadding.x(), statusY = skipy + st::msgDateImgDelta + st::msgDateImgPadding.y(); @@ -1135,9 +1133,9 @@ void HistoryDocument::draw(Painter &p, const QRect &r, TextSelection selection, p.setOpacity(radialOpacity); auto icon = ([radial, this, selected] { if (radial || _data->loading()) { - return &(selected ? st::historyFileInCancelSelected : st::historyFileInCancel); + return &(selected ? st::historyFileThumbCancelSelected : st::historyFileThumbCancel); } - return &(selected ? st::historyFileInDownloadSelected : st::historyFileInDownload); + return &(selected ? st::historyFileThumbDownloadSelected : st::historyFileThumbDownload); })(); p.setOpacity((radial && loaded) ? _animation->radial.opacity() : 1); icon->paintInCenter(p, inner); @@ -1145,7 +1143,7 @@ void HistoryDocument::draw(Painter &p, const QRect &r, TextSelection selection, p.setOpacity(1); QRect rinner(inner.marginsRemoved(QMargins(st::msgFileRadialLine, st::msgFileRadialLine, st::msgFileRadialLine, st::msgFileRadialLine))); - _animation->radial.draw(p, rinner, st::msgFileRadialLine, selected ? st::msgInBgSelected : st::msgInBg); + _animation->radial.draw(p, rinner, st::msgFileRadialLine, selected ? st::historyFileThumbRadialFgSelected : st::historyFileThumbRadialFg); } } @@ -1182,8 +1180,8 @@ void HistoryDocument::draw(Painter &p, const QRect &r, TextSelection selection, if (radial) { QRect rinner(inner.marginsRemoved(QMargins(st::msgFileRadialLine, st::msgFileRadialLine, st::msgFileRadialLine, st::msgFileRadialLine))); - auto &bg = outbg ? (selected ? st::msgOutBgSelected : st::msgOutBg) : (selected ? st::msgInBgSelected : st::msgInBg); - _animation->radial.draw(p, rinner, st::msgFileRadialLine, bg); + auto fg = outbg ? (selected ? st::historyFileOutRadialFgSelected : st::historyFileOutRadialFg) : (selected ? st::historyFileInRadialFgSelected : st::historyFileInRadialFg); + _animation->radial.draw(p, rinner, st::msgFileRadialLine, fg); } auto icon = ([showPause, radial, this, loaded, outbg, selected] { @@ -1769,14 +1767,14 @@ void HistoryGif::draw(Painter &p, const QRect &r, TextSelection selection, TimeM p.setOpacity(radialOpacity); auto icon = ([this, radial, selected]() -> const style::icon * { if (_data->loaded() && !radial) { - return &(selected ? st::historyFileInPlaySelected : st::historyFileInPlay); + return &(selected ? st::historyFileThumbPlaySelected : st::historyFileThumbPlay); } else if (radial || _data->loading()) { if (_parent->id > 0 || _data->uploading()) { - return &(selected ? st::historyFileInCancelSelected : st::historyFileInCancel); + return &(selected ? st::historyFileThumbCancelSelected : st::historyFileThumbCancel); } return nullptr; } - return &(selected ? st::historyFileInDownloadSelected : st::historyFileInDownload); + return &(selected ? st::historyFileThumbDownloadSelected : st::historyFileThumbDownload); })(); if (icon) { icon->paintInCenter(p, inner); @@ -1784,7 +1782,7 @@ void HistoryGif::draw(Painter &p, const QRect &r, TextSelection selection, TimeM if (radial) { p.setOpacity(1); QRect rinner(inner.marginsRemoved(QMargins(st::msgFileRadialLine, st::msgFileRadialLine, st::msgFileRadialLine, st::msgFileRadialLine))); - _animation->radial.draw(p, rinner, st::msgFileRadialLine, selected ? st::msgInBgSelected : st::msgInBg); + _animation->radial.draw(p, rinner, st::msgFileRadialLine, selected ? st::historyFileThumbRadialFgSelected : st::historyFileThumbRadialFg); } if (!animating || _parent->id < 0) { diff --git a/Telegram/SourceFiles/overview/overview_layout.cpp b/Telegram/SourceFiles/overview/overview_layout.cpp index 3640f2a3d..ca66cab74 100644 --- a/Telegram/SourceFiles/overview/overview_layout.cpp +++ b/Telegram/SourceFiles/overview/overview_layout.cpp @@ -399,17 +399,17 @@ void Video::paint(Painter &p, const QRect &clip, TextSelection selection, const p.setOpacity((radial && loaded) ? _radial->opacity() : 1); auto icon = ([radial, loaded, selected] { if (radial) { - return &(selected ? st::historyFileInCancelSelected : st::historyFileInCancel); + return &(selected ? st::historyFileThumbCancelSelected : st::historyFileThumbCancel); } else if (loaded) { - return &(selected ? st::historyFileInPlaySelected : st::historyFileInPlay); + return &(selected ? st::historyFileThumbPlaySelected : st::historyFileThumbPlay); } - return &(selected ? st::historyFileInDownloadSelected : st::historyFileInDownload); + return &(selected ? st::historyFileThumbDownloadSelected : st::historyFileThumbDownload); })(); icon->paintInCenter(p, inner); if (radial) { p.setOpacity(1); QRect rinner(inner.marginsRemoved(QMargins(st::msgFileRadialLine, st::msgFileRadialLine, st::msgFileRadialLine, st::msgFileRadialLine))); - _radial->draw(p, rinner, st::msgFileRadialLine, selected ? st::msgInBgSelected : st::msgInBg); + _radial->draw(p, rinner, st::msgFileRadialLine, selected ? st::historyFileThumbRadialFgSelected : st::historyFileThumbRadialFg); } } @@ -830,16 +830,16 @@ void Document::paint(Painter &p, const QRect &clip, TextSelection selection, con p.setOpacity(radialOpacity); auto icon = ([loaded, this, selected] { if (loaded || _data->loading()) { - return &(selected ? st::historyFileInCancelSelected : st::historyFileInCancel); + return &(selected ? st::historyFileThumbCancelSelected : st::historyFileThumbCancel); } - return &(selected ? st::historyFileInDownloadSelected : st::historyFileInDownload); + return &(selected ? st::historyFileThumbDownloadSelected : st::historyFileThumbDownload); })(); icon->paintInCenter(p, inner); if (radial) { p.setOpacity(1); QRect rinner(inner.marginsRemoved(QMargins(st::msgFileRadialLine, st::msgFileRadialLine, st::msgFileRadialLine, st::msgFileRadialLine))); - _radial->draw(p, rinner, st::msgFileRadialLine, selected ? st::msgInBgSelected : st::msgInBg); + _radial->draw(p, rinner, st::msgFileRadialLine, selected ? st::historyFileThumbRadialFgSelected : st::historyFileThumbRadialFg); } } } diff --git a/Telegram/SourceFiles/settings/settings_background_widget.cpp b/Telegram/SourceFiles/settings/settings_background_widget.cpp index 654b06d4e..1298ce98a 100644 --- a/Telegram/SourceFiles/settings/settings_background_widget.cpp +++ b/Telegram/SourceFiles/settings/settings_background_widget.cpp @@ -80,7 +80,7 @@ void BackgroundRow::paintEvent(QPaintEvent *e) { p.drawPixmap(0, 0, _background); } else { const QPixmap &pix = App::main()->newBackgroundThumb()->pixBlurred(st::settingsBackgroundSize); - p.drawPixmap(0, 0, st::settingsBackgroundSize, st::settingsBackgroundSize, pix, 0, (pix.height() - st::settingsBackgroundSize) / 2, st::settingsBackgroundSize, st::settingsBackgroundSize); + p.drawPixmap(0, 0, st::settingsBackgroundSize, st::settingsBackgroundSize, pix, 0, (pix.height() - st::settingsBackgroundSize * cIntRetinaFactor()) / 2, st::settingsBackgroundSize * cIntRetinaFactor(), st::settingsBackgroundSize * cIntRetinaFactor()); } auto outer = radialRect(); diff --git a/Telegram/SourceFiles/ui/animation.h b/Telegram/SourceFiles/ui/animation.h index 93b53ff81..d13f59e94 100644 --- a/Telegram/SourceFiles/ui/animation.h +++ b/Telegram/SourceFiles/ui/animation.h @@ -97,7 +97,7 @@ extern transition easeOutBack; extern transition easeInCirc; extern transition easeOutCirc; extern transition easeInCubic; -extern transition easeOutCirc; +extern transition easeOutCubic; extern transition easeInQuint; extern transition easeOutQuint; diff --git a/Telegram/SourceFiles/ui/effects/ripple_animation.cpp b/Telegram/SourceFiles/ui/effects/ripple_animation.cpp index eb88bd22d..6ae9d7746 100644 --- a/Telegram/SourceFiles/ui/effects/ripple_animation.cpp +++ b/Telegram/SourceFiles/ui/effects/ripple_animation.cpp @@ -72,7 +72,7 @@ RippleAnimation::Ripple::Ripple(const style::RippleAnimation &st, QPoint origin, } _radiusTo = qRound(sqrt(_radiusTo)); - _show.start(UpdateCallback(_update), 0., 1., _st.showDuration, anim::easeOutCirc); + _show.start(UpdateCallback(_update), 0., 1., _st.showDuration, anim::easeOutQuint); } RippleAnimation::Ripple::Ripple(const style::RippleAnimation &st, const QPixmap &mask, const UpdateCallback &update) diff --git a/Telegram/SourceFiles/ui/widgets/widgets.style b/Telegram/SourceFiles/ui/widgets/widgets.style index 447d732f0..758f30cd6 100644 --- a/Telegram/SourceFiles/ui/widgets/widgets.style +++ b/Telegram/SourceFiles/ui/widgets/widgets.style @@ -461,7 +461,7 @@ defaultLinkButton: LinkButton { defaultRippleAnimation: RippleAnimation { color: windowBgRipple; - showDuration: 450; + showDuration: 650; hideDuration: 200; } @@ -542,7 +542,7 @@ defaultSolidScroll: ScrollArea(defaultScrollArea) { defaultInputFont: font(17px); defaultFlatInput: FlatInput { textColor: windowFg; - bgColor: windowBgOver; + bgColor: filterInputInactiveBg; bgActive: windowBg; width: 210px; height: 40px; @@ -551,7 +551,7 @@ defaultFlatInput: FlatInput { font: defaultInputFont; borderWidth: 2px; - borderColor: windowBgOver; + borderColor: filterInputInactiveBg; borderActive: filterInputBorderFg; phColor: placeholderFg; diff --git a/Telegram/SourceFiles/window/window_theme.cpp b/Telegram/SourceFiles/window/window_theme.cpp index 03490c9e6..c0f35b456 100644 --- a/Telegram/SourceFiles/window/window_theme.cpp +++ b/Telegram/SourceFiles/window/window_theme.cpp @@ -421,7 +421,13 @@ void ChatBackground::setPreparedImage(QImage &&image) { image = std_::move(image).convertToFormat(QImage::Format_ARGB32_Premultiplied); image.setDevicePixelRatio(cRetinaFactor()); if (_id != kThemeBackground && _id != internal::kTestingThemeBackground) { - initColorsFromBackground(image); + auto colorsFromSomeTheme = Local::hasTheme(); + if (instance && !instance->applying.paletteForRevert.isEmpty()) { + colorsFromSomeTheme = !instance->applying.path.isEmpty(); + } + if (colorsFromSomeTheme || (_id != kDefaultBackground && _id != internal::kTestingDefaultBackground)) { + initColorsFromBackground(image); + } } auto width = image.width(); @@ -520,16 +526,22 @@ void ChatBackground::setTestingTheme(Instance &&theme) { saveForRevert(); setImage(internal::kTestingThemeBackground, std_::move(theme.background)); setTile(theme.tiled); + } else { + // Apply current background image so that service bg colors are recounted. + setImage(_id, std_::move(_pixmap).toImage()); } notify(BackgroundUpdate(BackgroundUpdate::Type::TestingTheme, _tile), true); } void ChatBackground::setTestingDefaultTheme() { style::main_palette::reset(); - if (_id != kDefaultBackground) { + if (_id == kThemeBackground) { saveForRevert(); setImage(internal::kTestingDefaultBackground); setTile(false); + } else { + // Apply current background image so that service bg colors are recounted. + setImage(_id, std_::move(_pixmap).toImage()); } notify(BackgroundUpdate(BackgroundUpdate::Type::TestingTheme, _tile), true); } @@ -560,6 +572,9 @@ void ChatBackground::revert() { if (_id == internal::kTestingThemeBackground || _id == internal::kTestingDefaultBackground) { setTile(_tileForRevert); setImage(_idForRevert, std_::move(_imageForRevert)); + } else { + // Apply current background image so that service bg colors are recounted. + setImage(_id, std_::move(_pixmap).toImage()); } notify(BackgroundUpdate(BackgroundUpdate::Type::RevertingTheme, _tile), true); } diff --git a/Telegram/SourceFiles/window/window_theme_preview.cpp b/Telegram/SourceFiles/window/window_theme_preview.cpp index 0f9e21101..2f0b10900 100644 --- a/Telegram/SourceFiles/window/window_theme_preview.cpp +++ b/Telegram/SourceFiles/window/window_theme_preview.cpp @@ -829,6 +829,7 @@ void Generator::paintService(QString text) { auto bubbleLeft = _history.x() + (_history.width() - bubbleWidth) / 2; _p->drawRoundedRect(bubbleLeft, bubbleTop, bubbleWidth, bubbleHeight, radius, radius); _p->setPen(st::msgServiceFg[_palette]); + _p->setFont(st::msgServiceFont); _p->drawText(bubbleLeft + st::msgServicePadding.left(), bubbleTop + st::msgServicePadding.top() + st::msgServiceFont->ascent, text); _historyBottom = bubbleTop - st::msgServiceMargin.top(); } diff --git a/Telegram/gyp/telegram_linux.gypi b/Telegram/gyp/telegram_linux.gypi index f4a402280..b42e7443f 100644 --- a/Telegram/gyp/telegram_linux.gypi +++ b/Telegram/gyp/telegram_linux.gypi @@ -31,6 +31,7 @@ 'linux_path_openal%': '/usr/local', 'linux_path_libexif_lib%': '<(libs_loc)/libexif-0.6.20/libexif/.libs', 'linux_path_va%': '/usr/local', + 'linux_path_vdpau%': '/usr/local', 'linux_path_breakpad%': '<(libs_loc)/breakpad', }, 'include_dirs': [ @@ -45,6 +46,7 @@ '<(linux_path_openal)/lib', '<(linux_path_libexif_lib)', '<(linux_path_va)/lib', + '<(linux_path_vdpau)/lib', '<(linux_path_breakpad)/lib', ], 'libraries': [