refactor: some more Application refactors (#5551)

This commit is contained in:
pajlada
2024-08-25 13:04:48 +02:00
committed by GitHub
parent f4d6845587
commit 3e510fd9e9
14 changed files with 199 additions and 169 deletions
+16 -3
View File
@@ -1,6 +1,7 @@
#pragma once
#include "common/FlagsEnum.hpp"
#include "util/SignalListener.hpp"
#include "widgets/splits/SplitContainer.hpp"
#include <pajlada/settings/settinglistener.hpp>
@@ -23,6 +24,8 @@ using ChannelPtr = std::shared_ptr<Channel>;
struct Message;
using MessagePtr = std::shared_ptr<const Message>;
class WindowLayout;
class Theme;
class Fonts;
enum class MessageElementFlag : int64_t;
using MessageElementFlags = FlagsEnum<MessageElementFlag>;
@@ -33,10 +36,13 @@ class FramelessEmbedWindow;
class WindowManager final
{
Theme &themes;
public:
static const QString WINDOW_LAYOUT_FILENAME;
explicit WindowManager(const Paths &paths);
explicit WindowManager(const Paths &paths, Settings &settings,
Theme &themes_, Fonts &fonts);
~WindowManager();
WindowManager(const WindowManager &) = delete;
@@ -102,7 +108,7 @@ public:
void setEmotePopupBounds(QRect bounds);
// Set up some final signals & actually show the windows
void initialize(Settings &settings);
void initialize();
void save();
void closeAll();
@@ -164,10 +170,17 @@ private:
Window *selectedWindow_{};
MessageElementFlags wordFlags_{};
pajlada::SettingListener wordFlagsListener_;
QTimer *saveTimer;
pajlada::Signals::SignalHolder signalHolder;
SignalListener updateWordTypeMaskListener;
SignalListener forceLayoutChannelViewsListener;
SignalListener layoutChannelViewsListener;
SignalListener invalidateChannelViewBuffersListener;
SignalListener repaintVisibleChatWidgetsListener;
friend class Window; // this is for selectedWindow_
};