From bc1850ce2d6c31affbbdcfb6cb29b12fbf032d48 Mon Sep 17 00:00:00 2001 From: nerix Date: Sat, 12 Oct 2024 12:08:30 +0200 Subject: [PATCH] fix: copy filters to overlay window (#5643) --- CHANGELOG.md | 2 +- src/widgets/OverlayWindow.cpp | 4 +++- src/widgets/OverlayWindow.hpp | 2 +- src/widgets/splits/Split.cpp | 3 ++- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dfe4dd2c99a..82f4a511cf6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ - Major: Add option to show pronouns in user card. (#5442, #5583) - Major: Release plugins alpha. (#5288) - Major: Improve high-DPI support on Windows. (#4868, #5391) -- Major: Added transparent overlay window (default keybind: CTRL + ALT + N). (#4746) +- Major: Added transparent overlay window (default keybind: CTRL + ALT + N). (#4746, #5643) - Minor: Removed the Ctrl+Shift+L hotkey for toggling the "live only" tab visibility state. (#5530) - Minor: Add support for Shared Chat messages. Shared chat messages can be filtered with the `flags.shared` filter variable, or with search using `is:shared`. Some messages like subscriptions are filtered on purpose to avoid confusion for the broadcaster. If you have both channels participating in Shared Chat open, only one of the message triggering your highlight will trigger. (#5606, #5625) - Minor: Moved tab visibility control to a submenu, without any toggle actions. (#5530) diff --git a/src/widgets/OverlayWindow.cpp b/src/widgets/OverlayWindow.cpp index f81ebf0ca86..94811fa8719 100644 --- a/src/widgets/OverlayWindow.cpp +++ b/src/widgets/OverlayWindow.cpp @@ -85,7 +85,8 @@ namespace chatterino { using namespace std::chrono_literals; -OverlayWindow::OverlayWindow(IndirectChannel channel) +OverlayWindow::OverlayWindow(IndirectChannel channel, + const QList &filterIDs) : QWidget(nullptr, Qt::Window | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint) #ifdef Q_OS_WIN @@ -116,6 +117,7 @@ OverlayWindow::OverlayWindow(IndirectChannel channel) }); this->channelView_.installEventFilter(this); + this->channelView_.setFilters(filterIDs); this->channelView_.setChannel(this->channel_.get()); this->channelView_.setIsOverlay(true); // use overlay colors this->channelView_.setAttribute(Qt::WA_TranslucentBackground); diff --git a/src/widgets/OverlayWindow.hpp b/src/widgets/OverlayWindow.hpp index 322dae468ab..f1c61362f8e 100644 --- a/src/widgets/OverlayWindow.hpp +++ b/src/widgets/OverlayWindow.hpp @@ -21,7 +21,7 @@ class OverlayWindow : public QWidget { Q_OBJECT public: - OverlayWindow(IndirectChannel channel); + OverlayWindow(IndirectChannel channel, const QList &filterIDs); ~OverlayWindow() override; OverlayWindow(const OverlayWindow &) = delete; OverlayWindow(OverlayWindow &&) = delete; diff --git a/src/widgets/splits/Split.cpp b/src/widgets/splits/Split.cpp index 2356653d628..195e71c6b02 100644 --- a/src/widgets/splits/Split.cpp +++ b/src/widgets/splits/Split.cpp @@ -1155,7 +1155,8 @@ void Split::showOverlayWindow() { if (!this->overlayWindow_) { - this->overlayWindow_ = new OverlayWindow(this->getIndirectChannel()); + this->overlayWindow_ = + new OverlayWindow(this->getIndirectChannel(), this->getFilters()); } this->overlayWindow_->show(); }