From 4a5f4675604a03cb0bb00723356b361b3b66b4dd Mon Sep 17 00:00:00 2001 From: John Preston Date: Sat, 1 Oct 2016 16:15:27 +0300 Subject: [PATCH] Version 0.10.9: fixed interface scaling and Windows build. --- Telegram/SourceFiles/mainwindow.cpp | 1 + .../SourceFiles/platform/win/main_window_win.cpp | 12 ++---------- Telegram/SourceFiles/platform/win/main_window_win.h | 2 +- Telegram/SourceFiles/sysbuttons.cpp | 1 - Telegram/SourceFiles/sysbuttons.h | 2 +- Telegram/SourceFiles/ui/style/style_core_icon.cpp | 7 +++++-- 6 files changed, 10 insertions(+), 15 deletions(-) diff --git a/Telegram/SourceFiles/mainwindow.cpp b/Telegram/SourceFiles/mainwindow.cpp index 706fbfe8a..43c59329e 100644 --- a/Telegram/SourceFiles/mainwindow.cpp +++ b/Telegram/SourceFiles/mainwindow.cpp @@ -23,6 +23,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #include "dialogs/dialogs_layout.h" #include "styles/style_dialogs.h" +#include "ui/popupmenu.h" #include "zip.h" #include "lang.h" #include "shortcuts.h" diff --git a/Telegram/SourceFiles/platform/win/main_window_win.cpp b/Telegram/SourceFiles/platform/win/main_window_win.cpp index fee28b53f..343c5d4df 100644 --- a/Telegram/SourceFiles/platform/win/main_window_win.cpp +++ b/Telegram/SourceFiles/platform/win/main_window_win.cpp @@ -27,6 +27,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #include "application.h" #include "lang.h" #include "localstorage.h" +#include "ui/popupmenu.h" #include @@ -143,19 +144,10 @@ public: QImage cornersImage(_fullsize, _fullsize, QImage::Format_ARGB32_Premultiplied); { Painter p(&cornersImage); + p.setCompositionMode(QPainter::CompositionMode_Source); st::wndShadow.paint(p, 0, 0, _fullsize); } if (rtl()) cornersImage = cornersImage.mirrored(true, false); - uchar *bits = cornersImage.bits(); - if (bits) { - for ( - quint32 *p = (quint32*)bits, *end = (quint32*)(bits + cornersImage.byteCount()); - p < end; - ++p - ) { - *p = (*p ^ 0x00ffffff) << 24; - } - } _metaSize = _fullsize + 2 * _shift; _alphas.reserve(_metaSize); diff --git a/Telegram/SourceFiles/platform/win/main_window_win.h b/Telegram/SourceFiles/platform/win/main_window_win.h index c3bca3270..458788064 100644 --- a/Telegram/SourceFiles/platform/win/main_window_win.h +++ b/Telegram/SourceFiles/platform/win/main_window_win.h @@ -21,10 +21,10 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #pragma once #include "window/main_window.h" - #include class NotifyWindow; +class PopupMenu; namespace Platform { diff --git a/Telegram/SourceFiles/sysbuttons.cpp b/Telegram/SourceFiles/sysbuttons.cpp index 749bf2c55..1d2d4acb5 100644 --- a/Telegram/SourceFiles/sysbuttons.cpp +++ b/Telegram/SourceFiles/sysbuttons.cpp @@ -30,7 +30,6 @@ SysBtn::SysBtn(QWidget *parent, const style::sysButton &st, const QString &text) , _st(st) , a_color(_st.color->c) , _a_color(animation(this, &SysBtn::step_color)) -, _overLevel(0) , _text(text) { int32 w = _st.size.width() + (_text.isEmpty() ? 0 : ((_st.size.width() - _st.icon.width()) / 2 + st::titleTextButton.font->width(_text))); resize(w, _st.size.height()); diff --git a/Telegram/SourceFiles/sysbuttons.h b/Telegram/SourceFiles/sysbuttons.h index ea5609368..20f6c02da 100644 --- a/Telegram/SourceFiles/sysbuttons.h +++ b/Telegram/SourceFiles/sysbuttons.h @@ -68,7 +68,7 @@ protected: anim::cvalue a_color; Animation _a_color; - float64 _overLevel; + float64 _overLevel = 0.; QString _text; }; diff --git a/Telegram/SourceFiles/ui/style/style_core_icon.cpp b/Telegram/SourceFiles/ui/style/style_core_icon.cpp index 95445eb1b..3eb35a2b9 100644 --- a/Telegram/SourceFiles/ui/style/style_core_icon.cpp +++ b/Telegram/SourceFiles/ui/style/style_core_icon.cpp @@ -32,8 +32,11 @@ uint32 colorKey(const QColor &c) { using IconPixmaps = QMap, QPixmap>; NeverFreedPointer iconPixmaps; -int pxAdjust(int value, int scale) { - return qRound((value * scale) / 4. - 0.01); +inline int pxAdjust(int value, int scale) { + if (value < 0) { + return -pxAdjust(-value, scale); + } + return qFloor((value * scale / 4.) + 0.1); } QPixmap createIconPixmap(const IconMask *mask, const Color &color) {