ref: merge TooltipPreviewImage and TooltipWidget (#4268)

* merge TooltipPreviewImage and TooltipWidget

* changelog

* add empty line before return

* fix signalholder include

* add changelog for bugfix

* fix custom scaling issue

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
This commit is contained in:
kornes
2022-12-29 15:07:46 +00:00
committed by GitHub
parent 448c8622e7
commit 11fdd7ed74
8 changed files with 115 additions and 174 deletions
+6 -13
View File
@@ -20,7 +20,6 @@
#include "singletons/Resources.hpp"
#include "singletons/Settings.hpp"
#include "singletons/Theme.hpp"
#include "singletons/TooltipPreviewImage.hpp"
#include "singletons/WindowManager.hpp"
#include "util/Clipboard.hpp"
#include "util/DistanceBetweenPoints.hpp"
@@ -1659,8 +1658,6 @@ void ChannelView::mouseMoveEvent(QMouseEvent *event)
}
else
{
auto &tooltipPreviewImage = TooltipPreviewImage::instance();
tooltipPreviewImage.setImageScale(0, 0);
auto badgeElement = dynamic_cast<const BadgeElement *>(element);
if ((badgeElement || emoteElement) &&
@@ -1671,18 +1668,18 @@ void ChannelView::mouseMoveEvent(QMouseEvent *event)
{
if (emoteElement)
{
tooltipPreviewImage.setImage(
tooltipWidget->setImage(
emoteElement->getEmote()->images.getImage(3.0));
}
else if (badgeElement)
{
tooltipPreviewImage.setImage(
tooltipWidget->setImage(
badgeElement->getEmote()->images.getImage(3.0));
}
}
else
{
tooltipPreviewImage.setImage(nullptr);
tooltipWidget->clearImage();
}
}
else
@@ -1705,7 +1702,7 @@ void ChannelView::mouseMoveEvent(QMouseEvent *event)
auto thumbnailSize = getSettings()->thumbnailSize;
if (!thumbnailSize)
{
tooltipPreviewImage.setImage(nullptr);
tooltipWidget->clearImage();
}
else
{
@@ -1718,13 +1715,12 @@ void ChannelView::mouseMoveEvent(QMouseEvent *event)
shouldHideThumbnail
? Image::fromResourcePixmap(getResources().streamerMode)
: element->getThumbnail();
tooltipPreviewImage.setImage(std::move(thumb));
tooltipWidget->setImage(std::move(thumb));
if (element->getThumbnailType() ==
MessageElement::ThumbnailType::Link_Thumbnail)
{
tooltipPreviewImage.setImageScale(thumbnailSize,
thumbnailSize);
tooltipWidget->setImageScale(thumbnailSize, thumbnailSize);
}
}
}
@@ -1732,10 +1728,7 @@ void ChannelView::mouseMoveEvent(QMouseEvent *event)
tooltipWidget->moveTo(this, event->globalPos());
tooltipWidget->setWordWrap(isLinkValid);
tooltipWidget->setText(element->getTooltip());
tooltipWidget->adjustSize();
tooltipWidget->setWindowFlag(Qt::WindowStaysOnTopHint, true);
tooltipWidget->show();
tooltipWidget->raise();
}
// check if word has a link