mirror of
https://github.com/Chatterino/chatterino2.git
synced 2024-11-21 22:24:07 +01:00
fix: only invalidate buffers for chat windows (#5666)
This commit is contained in:
parent
e35fabfabe
commit
867e3f3ab0
6 changed files with 23 additions and 9 deletions
|
@ -4,7 +4,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, #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)
|
||||
- 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)
|
||||
|
|
|
@ -877,11 +877,14 @@ bool BaseWindow::nativeEvent(const QByteArray &eventType, void *message,
|
|||
break;
|
||||
|
||||
case WM_DPICHANGED: {
|
||||
if (this->flags_.has(ClearBuffersOnDpiChange))
|
||||
{
|
||||
// wait for Qt to process this message
|
||||
postToThread([] {
|
||||
getApp()->getWindows()->invalidateChannelViewBuffers();
|
||||
});
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case WM_NCLBUTTONDOWN:
|
||||
|
|
|
@ -37,6 +37,7 @@ public:
|
|||
Dialog = 1 << 6,
|
||||
DisableLayoutSave = 1 << 7,
|
||||
BoundsCheckOnShow = 1 << 8,
|
||||
ClearBuffersOnDpiChange = 1 << 9,
|
||||
};
|
||||
|
||||
enum ActionOnFocusLoss { Nothing, Delete, Close, Hide };
|
||||
|
|
|
@ -36,9 +36,9 @@ namespace {
|
|||
|
||||
DraggablePopup::DraggablePopup(bool closeAutomatically, QWidget *parent)
|
||||
: BaseWindow(
|
||||
closeAutomatically
|
||||
? popupFlagsCloseAutomatically | BaseWindow::DisableLayoutSave
|
||||
: popupFlags | BaseWindow::DisableLayoutSave,
|
||||
(closeAutomatically ? popupFlagsCloseAutomatically : popupFlags) |
|
||||
BaseWindow::DisableLayoutSave |
|
||||
BaseWindow::ClearBuffersOnDpiChange,
|
||||
parent)
|
||||
, lifetimeHack_(std::make_shared<bool>(false))
|
||||
, dragTimer_(this)
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#include "singletons/Emotes.hpp"
|
||||
#include "singletons/Settings.hpp"
|
||||
#include "singletons/WindowManager.hpp"
|
||||
#include "util/PostToThread.hpp"
|
||||
#include "widgets/BaseWidget.hpp"
|
||||
#include "widgets/helper/ChannelView.hpp"
|
||||
#include "widgets/helper/InvisibleSizeGrip.hpp"
|
||||
|
@ -312,6 +313,13 @@ bool OverlayWindow::nativeEvent(const QByteArray &eventType, void *message,
|
|||
}
|
||||
break;
|
||||
# endif
|
||||
case WM_DPICHANGED: {
|
||||
// wait for Qt to process this message, same as in BaseWindow
|
||||
postToThread([] {
|
||||
getApp()->getWindows()->invalidateChannelViewBuffers();
|
||||
});
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
return QWidget::nativeEvent(eventType, message, result);
|
||||
|
|
|
@ -52,7 +52,9 @@
|
|||
namespace chatterino {
|
||||
|
||||
Window::Window(WindowType type, QWidget *parent)
|
||||
: BaseWindow(BaseWindow::EnableCustomFrame, parent)
|
||||
: BaseWindow(
|
||||
{BaseWindow::EnableCustomFrame, BaseWindow::ClearBuffersOnDpiChange},
|
||||
parent)
|
||||
, type_(type)
|
||||
, notebook_(new SplitNotebook(this))
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue