From b28fa86e6ab633b2d3d9bfdb4642c661ff8c45fc Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Wed, 26 Oct 2022 01:10:35 +0200 Subject: Enable -Wconversion --- src/Utils.cpp | 62 ++++++++++++++++++++++++++++++++++------------------------- 1 file changed, 36 insertions(+), 26 deletions(-) (limited to 'src/Utils.cpp') diff --git a/src/Utils.cpp b/src/Utils.cpp index b92c6cce..c782fa48 100644 --- a/src/Utils.cpp +++ b/src/Utils.cpp @@ -354,8 +354,8 @@ utils::scaleImageToPixmap(const QImage &img, int size) // Deprecated in 5.13: const double sz = // std::ceil(QApplication::desktop()->screen()->devicePixelRatioF() * (double)size); - const double sz = - std::ceil(QGuiApplication::primaryScreen()->devicePixelRatio() * (double)size); + const int sz = static_cast( + std::ceil(QGuiApplication::primaryScreen()->devicePixelRatio() * (double)size)); return QPixmap::fromImage(img.scaled(sz, sz, Qt::IgnoreAspectRatio, Qt::SmoothTransformation)); } @@ -376,8 +376,8 @@ utils::scaleDown(uint64_t maxWidth, uint64_t maxHeight, const QPixmap &source) w = source.width(); h = source.height(); } else { - w = source.width() * minAspectRatio; - h = source.height() * minAspectRatio; + w = static_cast(static_cast(source.width()) * minAspectRatio); + h = static_cast(static_cast(source.height()) * minAspectRatio); } return source.scaled(w, h, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); @@ -452,7 +452,7 @@ utils::escapeBlacklistedHtml(const QString &rawStr) const auto end = data.cend(); for (auto pos = data.cbegin(); pos < end;) { auto tagStart = std::find(pos, end, '<'); - buffer.append(pos, tagStart - pos); + buffer.append(pos, static_cast(tagStart - pos)); if (tagStart == end) break; @@ -460,14 +460,15 @@ utils::escapeBlacklistedHtml(const QString &rawStr) const auto tagNameEnd = std::find_first_of(tagNameStart, end, tagNameEnds.begin(), tagNameEnds.end()); - if (allowedTags.find(QByteArray(tagNameStart, tagNameEnd - tagNameStart).toLower()) == + if (allowedTags.find( + QByteArray(tagNameStart, static_cast(tagNameEnd - tagNameStart)).toLower()) == allowedTags.end()) { // not allowed -> escape buffer.append("<"); pos = tagNameStart; continue; } else { - buffer.append(tagStart, tagNameEnd - tagStart); + buffer.append(tagStart, static_cast(tagNameEnd - tagStart)); pos = tagNameEnd; @@ -492,7 +493,8 @@ utils::escapeBlacklistedHtml(const QString &rawStr) auto attrEnd = std::find_first_of( attrStart, attrsEnd, attrNameEnds.begin(), attrNameEnds.end()); - auto attrName = QByteArray(attrStart, attrEnd - attrStart).toLower(); + auto attrName = + QByteArray(attrStart, static_cast(attrEnd - attrStart)).toLower(); auto sanitizeValue = [&attrName](QByteArray val) { if (attrName == QByteArrayLiteral("src") && !val.startsWith("mxc://")) @@ -520,8 +522,8 @@ utils::escapeBlacklistedHtml(const QString &rawStr) if (valueEnd == attrsEnd) break; - auto val = - sanitizeValue(QByteArray(attrStart, valueEnd - attrStart)); + auto val = sanitizeValue(QByteArray( + attrStart, static_cast(valueEnd - attrStart))); attrStart = consumeSpaces(valueEnd + 1); if (!val.isEmpty()) { buffer.append(' '); @@ -537,8 +539,8 @@ utils::escapeBlacklistedHtml(const QString &rawStr) if (valueEnd == attrsEnd) break; - auto val = - sanitizeValue(QByteArray(attrStart, valueEnd - attrStart)); + auto val = sanitizeValue(QByteArray( + attrStart, static_cast(valueEnd - attrStart))); attrStart = consumeSpaces(valueEnd + 1); if (!val.isEmpty()) { buffer.append(' '); @@ -553,8 +555,8 @@ utils::escapeBlacklistedHtml(const QString &rawStr) attrsEnd, attrValueEnds.begin(), attrValueEnds.end()); - auto val = - sanitizeValue(QByteArray(attrStart, valueEnd - attrStart)); + auto val = sanitizeValue(QByteArray( + attrStart, static_cast(valueEnd - attrStart))); attrStart = consumeSpaces(valueEnd); if (val.contains('"')) @@ -772,15 +774,15 @@ utils::generateContrastingHexColor(const QString &input, const QColor &backgroun auto hash = hashQString(input); // create a hue value based on the hash of the input. // Adapted to make Nico blue - auto userHue = - static_cast(static_cast(hash - static_cast(0x60'00'00'00)) / - std::numeric_limits::max() * 360.); + auto userHue = static_cast(hash - static_cast(0x60'00'00'00)) / + std::numeric_limits::max() * 360.; // start with moderate saturation and lightness values. - auto sat = 230; - auto lightness = 125; + auto sat = 230.; + auto lightness = 125.; // converting to a QColor makes the luminance calc easier. - QColor inputColor = QColor::fromHsl(userHue, sat, lightness); + QColor inputColor = QColor::fromHsl( + static_cast(userHue), static_cast(sat), static_cast(lightness)); // calculate the initial luminance and contrast of the // generated color. It's possible that no additional @@ -798,7 +800,9 @@ utils::generateContrastingHexColor(const QString &input, const QColor &backgroun if (lightness >= 242 || lightness <= 13) { qreal newSat = qBound(26.0, sat * 1.25, 242.0); - inputColor.setHsl(userHue, qFloor(newSat), lightness); + inputColor.setHsl(static_cast(userHue), + static_cast(qFloor(newSat)), + static_cast(lightness)); auto tmpLum = luminance(inputColor); auto higherContrast = computeContrast(tmpLum, backgroundLum); if (higherContrast > contrast) { @@ -806,7 +810,9 @@ utils::generateContrastingHexColor(const QString &input, const QColor &backgroun sat = newSat; } else { newSat = qBound(26.0, sat / 1.25, 242.0); - inputColor.setHsl(userHue, qFloor(newSat), lightness); + inputColor.setHsl(static_cast(userHue), + static_cast(qFloor(newSat)), + static_cast(lightness)); tmpLum = luminance(inputColor); auto lowerContrast = computeContrast(tmpLum, backgroundLum); if (lowerContrast > contrast) { @@ -817,7 +823,9 @@ utils::generateContrastingHexColor(const QString &input, const QColor &backgroun } else { qreal newLightness = qBound(13.0, lightness * 1.25, 242.0); - inputColor.setHsl(userHue, sat, qFloor(newLightness)); + inputColor.setHsl(static_cast(userHue), + static_cast(sat), + static_cast(qFloor(newLightness))); auto tmpLum = luminance(inputColor); auto higherContrast = computeContrast(tmpLum, backgroundLum); @@ -829,7 +837,9 @@ utils::generateContrastingHexColor(const QString &input, const QColor &backgroun // otherwise, try going the other way instead. } else { newLightness = qBound(13.0, lightness / 1.25, 242.0); - inputColor.setHsl(userHue, sat, qFloor(newLightness)); + inputColor.setHsl(static_cast(userHue), + static_cast(sat), + static_cast(qFloor(newLightness))); tmpLum = luminance(inputColor); auto lowerContrast = computeContrast(tmpLum, backgroundLum); if (lowerContrast > contrast) { @@ -888,8 +898,8 @@ utils::centerWidget(QWidget *widget, QWindow *parent) } auto findCenter = [childRect = widget->rect()](QRect hostRect) -> QPoint { - return QPoint(hostRect.center().x() - (childRect.width() * 0.5), - hostRect.center().y() - (childRect.height() * 0.5)); + return QPoint(static_cast(hostRect.center().x() - (childRect.width() * 0.5)), + static_cast(hostRect.center().y() - (childRect.height() * 0.5))); }; widget->move(findCenter(QGuiApplication::primaryScreen()->geometry())); } -- cgit 1.5.1 From 9a90f8868fb0413b54a8caee6d1c4ba01eaeaa2a Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Wed, 26 Oct 2022 01:14:46 +0200 Subject: lint --- src/ChatPage.cpp | 2 +- src/MxcImageProvider.cpp | 2 +- src/Utils.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'src/Utils.cpp') diff --git a/src/ChatPage.cpp b/src/ChatPage.cpp index 2ea987c2..e40274cb 100644 --- a/src/ChatPage.cpp +++ b/src/ChatPage.cpp @@ -1074,7 +1074,7 @@ ChatPage::verifyOneTimeKeyCountAfterStartup() c->second > std::numeric_limits::max() ? std::numeric_limits::max() : static_cast(c->second); - count = c->second; + count = c->second; } nhlog::crypto()->info( diff --git a/src/MxcImageProvider.cpp b/src/MxcImageProvider.cpp index 26ffb934..0dc96e5a 100644 --- a/src/MxcImageProvider.cpp +++ b/src/MxcImageProvider.cpp @@ -172,7 +172,7 @@ MxcImageProvider::download(const QString &id, opts.width = static_cast(requestedSize.width() > 0 ? requestedSize.width() : -1); opts.height = static_cast(requestedSize.height() > 0 ? requestedSize.height() : -1); - opts.method = crop ? "crop" : "scale"; + opts.method = crop ? "crop" : "scale"; http::client()->get_thumbnail( opts, [fileInfo, requestedSize, radius, then, id, crop, cropLocally]( diff --git a/src/Utils.cpp b/src/Utils.cpp index c782fa48..c19871bc 100644 --- a/src/Utils.cpp +++ b/src/Utils.cpp @@ -557,7 +557,7 @@ utils::escapeBlacklistedHtml(const QString &rawStr) attrValueEnds.end()); auto val = sanitizeValue(QByteArray( attrStart, static_cast(valueEnd - attrStart))); - attrStart = consumeSpaces(valueEnd); + attrStart = consumeSpaces(valueEnd); if (val.contains('"')) continue; -- cgit 1.5.1 From e8e475956b3d2a57981ad41536a1ddc1b7361591 Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Sat, 17 Dec 2022 01:11:19 +0100 Subject: Fix confetti in the sidebar --- src/Utils.cpp | 44 +++++++++++++------------------------------- src/Utils.h | 21 ++++++++++++++++++--- 2 files changed, 31 insertions(+), 34 deletions(-) (limited to 'src/Utils.cpp') diff --git a/src/Utils.cpp b/src/Utils.cpp index c19871bc..b0d84339 100644 --- a/src/Utils.cpp +++ b/src/Utils.cpp @@ -45,16 +45,17 @@ createDescriptionInfo(const Event &event, const QString &localUser, const QStrin const auto username = displayName; const auto ts = QDateTime::fromMSecsSinceEpoch(msg.origin_server_ts); - auto body = utils::event_body(event).trimmed(); + auto body = mtx::accessors::body(event); if (mtx::accessors::relations(event).reply_to()) - body = QString::fromStdString(utils::stripReplyFromBody(body.toStdString())); - - return DescInfo{QString::fromStdString(msg.event_id), - sender, - utils::messageDescription(username, body, sender == localUser), - utils::descriptiveTime(ts), - msg.origin_server_ts, - ts}; + body = utils::stripReplyFromBody(body); + + return DescInfo{ + QString::fromStdString(msg.event_id), + sender, + utils::messageDescription(username, QString::fromStdString(body), sender == localUser), + utils::descriptiveTime(ts), + msg.origin_server_ts, + ts}; } std::string @@ -216,6 +217,7 @@ utils::getMessageDescription(const TimelineEvent &event, using Notice = mtx::events::RoomEvent; using Text = mtx::events::RoomEvent; using Video = mtx::events::RoomEvent; + using Confetti = mtx::events::RoomEvent; using CallInvite = mtx::events::RoomEvent; using CallAnswer = mtx::events::RoomEvent; using CallHangUp = mtx::events::RoomEvent; @@ -236,6 +238,8 @@ utils::getMessageDescription(const TimelineEvent &event, return createDescriptionInfo(event, localUser, displayName); } else if (std::holds_alternative