Compare commits

...

3 commits

Author SHA1 Message Date
unknown 9b31f61de6 Merge branch 'master' of https://github.com/chatterino/chatterino2 2024-10-21 07:27:10 +02:00
unknown 79ee3dc417 update changelog 2024-10-21 07:27:00 +02:00
nerix 867e3f3ab0
fix: only invalidate buffers for chat windows (#5666) 2024-10-21 00:57:37 +02:00
6 changed files with 24 additions and 9 deletions

View file

@ -4,7 +4,7 @@
- Major: Add option to show pronouns in user card. (#5442, #5583) - Major: Add option to show pronouns in user card. (#5442, #5583)
- Major: Release plugins alpha. (#5288) - Major: Release plugins alpha. (#5288)
- Major: Improve high-DPI support on Windows. (#4868, #5391, #5664) - Major: Improve high-DPI support on Windows. (#4868, #5391, #5664, #5666)
- Major: Added transparent overlay window (default keybind: <kbd>CTRL</kbd> + <kbd>ALT</kbd> + <kbd>N</kbd>). (#4746, #5643, #5659) - Major: Added transparent overlay window (default keybind: <kbd>CTRL</kbd> + <kbd>ALT</kbd> + <kbd>N</kbd>). (#4746, #5643, #5659)
- Minor: Removed the Ctrl+Shift+L hotkey for toggling the "live only" tab visibility state. (#5530) - 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: 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)
@ -37,6 +37,7 @@
- Minor: Indicate when subscriptions and resubscriptions are for multiple months. (#5642) - Minor: Indicate when subscriptions and resubscriptions are for multiple months. (#5642)
- Minor: Proxy URL information is now included in the `/debug-env` command. (#5648) - Minor: Proxy URL information is now included in the `/debug-env` command. (#5648)
- Minor: Make raid entry message usernames clickable. (#5651) - Minor: Make raid entry message usernames clickable. (#5651)
- Minor: Tabs unhighlight when their content is read in other tabs. (#5649)
- Bugfix: Fixed tab move animation occasionally failing to start after closing a tab. (#5426, #5612) - Bugfix: Fixed tab move animation occasionally failing to start after closing a tab. (#5426, #5612)
- Bugfix: If a network request errors with 200 OK, Qt's error code is now reported instead of the HTTP status. (#5378) - Bugfix: If a network request errors with 200 OK, Qt's error code is now reported instead of the HTTP status. (#5378)
- Bugfix: Fixed restricted users usernames not being clickable. (#5405) - Bugfix: Fixed restricted users usernames not being clickable. (#5405)

View file

@ -877,10 +877,13 @@ bool BaseWindow::nativeEvent(const QByteArray &eventType, void *message,
break; break;
case WM_DPICHANGED: { case WM_DPICHANGED: {
// wait for Qt to process this message if (this->flags_.has(ClearBuffersOnDpiChange))
postToThread([] { {
getApp()->getWindows()->invalidateChannelViewBuffers(); // wait for Qt to process this message
}); postToThread([] {
getApp()->getWindows()->invalidateChannelViewBuffers();
});
}
} }
break; break;

View file

@ -37,6 +37,7 @@ public:
Dialog = 1 << 6, Dialog = 1 << 6,
DisableLayoutSave = 1 << 7, DisableLayoutSave = 1 << 7,
BoundsCheckOnShow = 1 << 8, BoundsCheckOnShow = 1 << 8,
ClearBuffersOnDpiChange = 1 << 9,
}; };
enum ActionOnFocusLoss { Nothing, Delete, Close, Hide }; enum ActionOnFocusLoss { Nothing, Delete, Close, Hide };

View file

@ -36,9 +36,9 @@ namespace {
DraggablePopup::DraggablePopup(bool closeAutomatically, QWidget *parent) DraggablePopup::DraggablePopup(bool closeAutomatically, QWidget *parent)
: BaseWindow( : BaseWindow(
closeAutomatically (closeAutomatically ? popupFlagsCloseAutomatically : popupFlags) |
? popupFlagsCloseAutomatically | BaseWindow::DisableLayoutSave BaseWindow::DisableLayoutSave |
: popupFlags | BaseWindow::DisableLayoutSave, BaseWindow::ClearBuffersOnDpiChange,
parent) parent)
, lifetimeHack_(std::make_shared<bool>(false)) , lifetimeHack_(std::make_shared<bool>(false))
, dragTimer_(this) , dragTimer_(this)

View file

@ -7,6 +7,7 @@
#include "singletons/Emotes.hpp" #include "singletons/Emotes.hpp"
#include "singletons/Settings.hpp" #include "singletons/Settings.hpp"
#include "singletons/WindowManager.hpp" #include "singletons/WindowManager.hpp"
#include "util/PostToThread.hpp"
#include "widgets/BaseWidget.hpp" #include "widgets/BaseWidget.hpp"
#include "widgets/helper/ChannelView.hpp" #include "widgets/helper/ChannelView.hpp"
#include "widgets/helper/InvisibleSizeGrip.hpp" #include "widgets/helper/InvisibleSizeGrip.hpp"
@ -312,6 +313,13 @@ bool OverlayWindow::nativeEvent(const QByteArray &eventType, void *message,
} }
break; break;
# endif # endif
case WM_DPICHANGED: {
// wait for Qt to process this message, same as in BaseWindow
postToThread([] {
getApp()->getWindows()->invalidateChannelViewBuffers();
});
}
break;
default: default:
return QWidget::nativeEvent(eventType, message, result); return QWidget::nativeEvent(eventType, message, result);

View file

@ -52,7 +52,9 @@
namespace chatterino { namespace chatterino {
Window::Window(WindowType type, QWidget *parent) Window::Window(WindowType type, QWidget *parent)
: BaseWindow(BaseWindow::EnableCustomFrame, parent) : BaseWindow(
{BaseWindow::EnableCustomFrame, BaseWindow::ClearBuffersOnDpiChange},
parent)
, type_(type) , type_(type)
, notebook_(new SplitNotebook(this)) , notebook_(new SplitNotebook(this))
{ {