Provide the same sizes for tray icon as for main window icon

This commit is contained in:
Ilya Fedin 2022-10-16 16:52:15 +04:00 committed by John Preston
parent 8f1a8f909d
commit f9bf68461d

View file

@ -58,7 +58,7 @@ private:
const QString _mutePanelTrayIconName; const QString _mutePanelTrayIconName;
const QString _attentionPanelTrayIconName; const QString _attentionPanelTrayIconName;
const int _iconSizes[5]; const int _iconSizes[7];
bool _muted = true; bool _muted = true;
int32 _count = 0; int32 _count = 0;
@ -73,7 +73,7 @@ IconGraphic::IconGraphic()
: _panelTrayIconName("telegram-panel") : _panelTrayIconName("telegram-panel")
, _mutePanelTrayIconName("telegram-mute-panel") , _mutePanelTrayIconName("telegram-mute-panel")
, _attentionPanelTrayIconName("telegram-attention-panel") , _attentionPanelTrayIconName("telegram-attention-panel")
, _iconSizes{ 16, 22, 24, 32, 48 } { , _iconSizes{ 16, 22, 32, 48, 64, 128, 256 } {
} }
IconGraphic::~IconGraphic() = default; IconGraphic::~IconGraphic() = default;
@ -211,13 +211,14 @@ QIcon IconGraphic::trayIcon(int counter, bool muted) {
: st::trayCounterBg; : st::trayCounterBg;
const auto &fg = st::trayCounterFg; const auto &fg = st::trayCounterFg;
if (iconSize >= 22) { if (iconSize >= 22) {
const auto layerSize = (iconSize >= 48) const auto layerSize0 = iconSize * 0.66;
? 32 const auto layerSize1 = int(base::SafeRound(layerSize0));
: (iconSize >= 36) auto layerSize2 = 0.;
? 24 const auto layerSize = layerSize1 % 2
: (iconSize >= 32) ? std::modf(layerSize0, &layerSize2) >= 0.5
? 20 ? layerSize1 + 1
: 16; : layerSize1 - 1
: layerSize1;
const auto layer = Window::GenerateCounterLayer({ const auto layer = Window::GenerateCounterLayer({
.size = layerSize, .size = layerSize,
.count = counter, .count = counter,