9 #include "pajlada/settings/settinglistener.hpp" 25 class FramelessEmbedWindow;
38 static void encodeFilters(
Split *split, QJsonArray &arr);
41 void showSettingsDialog(
46 void showAccountSelectPopup(QPoint point);
50 void layoutChannelViews(
Channel *channel =
nullptr);
55 void forceLayoutChannelViews();
56 void repaintVisibleChatWidgets(
Channel *channel =
nullptr);
57 void repaintGifEmotes();
60 Window &getSelectedWindow();
62 QWidget *parent =
nullptr);
68 void select(
Split *split);
76 void scrollToMessage(
const MessagePtr &message);
78 QPoint emotePopupPos();
79 void setEmotePopupPos(QPoint pos);
81 virtual void initialize(
Settings &settings,
Paths &paths)
override;
82 virtual void save()
override;
85 int getGeneration()
const;
89 void updateWordTypeMask();
129 const QString windowLayoutFilePath;
131 bool initialized_ =
false;
133 QPoint emotePopupPos_;
135 std::atomic<int> generation_{0};
137 std::vector<Window *> windows_;
139 std::unique_ptr<FramelessEmbedWindow> framelessEmbedWindow_;
141 Window *selectedWindow_{};
144 pajlada::SettingListener wordFlagsListener_;
147 QTimer miscUpdateTimer_;
pajlada::Signals::NoArgSignal wordFlagsChanged
Definition: WindowManager.hpp:108
int64_t FlagsEnum< MessageElementFlag > MessageElementFlags
Definition: MessageLayout.hpp:21
pajlada::Signals::Signal< Split * > selectSplit
Definition: WindowManager.hpp:114
Definition: Singleton.hpp:10
WindowType
Definition: Window.hpp:17
Definition: SplitContainer.hpp:33
Definition: Application.cpp:48
static const QString WINDOW_LAYOUT_FILENAME
Definition: WindowManager.hpp:30
Definition: WindowManager.hpp:27
Definition: SplitContainer.hpp:85
MessageElementFlag
Definition: MessageElement.hpp:29
Definition: Window.hpp:19
Definition: Channel.hpp:30
pajlada::Signals::NoArgSignal miscUpdate
Definition: WindowManager.hpp:112
Settings which are availlable for reading and writing on the gui thread.
Definition: Settings.hpp:78
Definition: WindowDescriptors.hpp:31
pajlada::Signals::Signal< const MessagePtr & > scrollToMessageSignal
Definition: WindowManager.hpp:116
pajlada::Signals::NoArgSignal gifRepaintRequested
Signals.
Definition: WindowManager.hpp:102
SettingsDialogPreference
Definition: SettingsDialog.hpp:28
std::shared_ptr< const Message > MessagePtr
Definition: Channel.hpp:18
Definition: WindowDescriptors.hpp:94
Definition: Channel.hpp:127
std::shared_ptr< Channel > ChannelPtr
Definition: Channel.hpp:125
pajlada::Signals::Signal< Channel * > layoutRequested
Definition: WindowManager.hpp:106
pajlada::Signals::Signal< SplitContainer * > selectSplitContainer
Definition: WindowManager.hpp:115