mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-04-14 05:07:10 +02:00
Fix weather widget in stories.
This commit is contained in:
parent
7ac849ab12
commit
8912d4d55a
2 changed files with 12 additions and 11 deletions
|
@ -576,9 +576,10 @@ void WeatherView::setAreaGeometry(QRect geometry, float64 radius) {
|
|||
const auto diagxdiag = (geometry.width() * geometry.width())
|
||||
+ (geometry.height() * geometry.height());
|
||||
const auto diag = std::sqrt(diagxdiag);
|
||||
const auto shift = diag * 2 / 3.;
|
||||
const auto topleft = QRectF(geometry).center()
|
||||
- QPointF(diag / 2., diag / 2.);
|
||||
const auto bottomright = topleft + QPointF(diag, diag);
|
||||
- QPointF(shift, shift);
|
||||
const auto bottomright = topleft + QPointF(shift, shift) * 2;
|
||||
const auto left = int(std::floor(topleft.x()));
|
||||
const auto top = int(std::floor(topleft.y()));
|
||||
const auto right = int(std::ceil(bottomright.x()));
|
||||
|
@ -701,7 +702,7 @@ void WeatherView::cacheBackground() {
|
|||
p.translate(-center);
|
||||
|
||||
const auto format = [](float64 value) {
|
||||
return QString::number(int(base::SafeRound(value * 10)) / 10.);
|
||||
return QString::number(int(base::SafeRound(value)));
|
||||
};
|
||||
const auto text = [&] {
|
||||
const auto celsius = _data.millicelsius / 1000.;
|
||||
|
@ -712,11 +713,11 @@ void WeatherView::cacheBackground() {
|
|||
return format(fahrenheit);
|
||||
}().append(QChar(0xb0)).append(_celsius ? "C" : "F");
|
||||
const auto metrics = QFontMetrics(_font);
|
||||
const auto textWidth = metrics.horizontalAdvance(text);
|
||||
_padding = int(_rect.height() / 6);
|
||||
const auto fullWidth = (_emoji ? _emojiSize : 0)
|
||||
const auto textWidth = qCeil(metrics.horizontalAdvance(text));
|
||||
_padding = int(_rect.height() / 5);
|
||||
const auto fullWidth = (_emoji ? (_emojiSize - _padding) : 0)
|
||||
+ textWidth
|
||||
+ (2 * _padding);
|
||||
+ (4 * _padding);
|
||||
const auto left = _rect.x() + (_rect.width() - fullWidth) / 2;
|
||||
_wrapped = QRect(left, _rect.y(), fullWidth, _rect.height());
|
||||
|
||||
|
@ -725,7 +726,7 @@ void WeatherView::cacheBackground() {
|
|||
p.setPen(_fg);
|
||||
p.setFont(_font);
|
||||
p.drawText(_wrapped.marginsRemoved(
|
||||
{ _padding + (_emoji ? _emojiSize : 0), 0, _padding, 0 }),
|
||||
{ 2 * _padding + (_emoji ? (_emojiSize - _padding) : 0), 0, 2 * _padding, 0 }),
|
||||
text,
|
||||
style::al_center);
|
||||
}
|
||||
|
|
|
@ -24,10 +24,10 @@ std::optional<QColor> MaybeColorFromSerialized(quint32 serialized) {
|
|||
|
||||
QColor Color32FromSerialized(quint32 serialized) {
|
||||
return QColor(
|
||||
int((serialized >> 24) & 0xFFU),
|
||||
int((serialized >> 16) & 0xFFU),
|
||||
int(serialized & 0xFFU),
|
||||
int((serialized >> 8) & 0xFFU),
|
||||
int(serialized & 0xFFU));
|
||||
int((serialized >> 16) & 0xFFU),
|
||||
int((serialized >> 24) & 0xFFU));
|
||||
}
|
||||
|
||||
} // namespace Ui
|
||||
|
|
Loading…
Add table
Reference in a new issue