diff --git a/CHANGELOG.md b/CHANGELOG.md index 8e0a1d42..a40f4c5e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Unversioned - Bugfix: Don't create native messaging manifest file if browser directory doesn't exist. (#6116) +- Bugfix: Make reply-cancel button less coarse-grained. (#6106) - Dev: Conan will no longer generate a `CMakeUserPresets.json` file. (#6117) - Dev: Pass `--force-openssl` when installing from CMake in Qt 6.8+. (#6129) diff --git a/src/widgets/helper/Button.cpp b/src/widgets/helper/Button.cpp index cf941f49..19c7ec37 100644 --- a/src/widgets/helper/Button.cpp +++ b/src/widgets/helper/Button.cpp @@ -84,7 +84,12 @@ void Button::setSvgResource(const QString &resourcePath) return; } + if (this->svgRenderer) + { + this->svgRenderer->deleteLater(); + } this->svgRenderer = new QSvgRenderer(resourcePath, this); + this->svgRenderer->setAspectRatioMode(Qt::KeepAspectRatio); this->svgResourcePath = resourcePath; this->update(); @@ -199,15 +204,7 @@ void Button::paintButton(QPainter &painter) if (this->enableMargin_) { auto s = this->getMargin(); - auto outSize = rect.size() - QSize{2 * s, 2 * s}; - outSize = this->svgRenderer->defaultSize().scaled( - outSize, Qt::KeepAspectRatio); - auto margin = rect.size() - outSize; - - rect = QRect{ - QPoint{margin.width() / 2, margin.height() / 2}, - outSize, - }; + rect = {{s, s}, rect.size() - QSize{2 * s, 2 * s}}; } this->svgRenderer->render(&painter, rect); diff --git a/src/widgets/splits/SplitInput.cpp b/src/widgets/splits/SplitInput.cpp index b0e68489..c2013b44 100644 --- a/src/widgets/splits/SplitInput.cpp +++ b/src/widgets/splits/SplitInput.cpp @@ -112,9 +112,8 @@ void SplitInput::initLayout() replyHbox->addStretch(1); - auto replyCancelButton = replyHbox.emplace(nullptr, 4) - .assign(&this->ui_.cancelReplyButton); - replyCancelButton->getLabel().setTextFormat(Qt::RichText); + auto replyCancelButton = + replyHbox.emplace