1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 21:17:44 +00:00

IRCClient: Refactor window creation responsibilities.

IRCChannel and IRCQuery objects now create their own windows with the
help of an aid_create_window callback provided by IRCAppWindow.

There's still a bit of murk but this is already an improvement.
This commit is contained in:
Andreas Kling 2019-03-16 01:45:49 +01:00
parent fc7f700c20
commit 1394677528
10 changed files with 40 additions and 48 deletions

View file

@ -9,6 +9,7 @@
class IRCClient;
class IRCChannelMemberListModel;
class IRCWindow;
class IRCChannel : public Retainable<IRCChannel> {
public:
@ -38,6 +39,9 @@ public:
int member_count() const { return m_members.size(); }
String member_at(int i) { return m_members[i].name; }
IRCWindow& window() { return *m_window; }
const IRCWindow& window() const { return *m_window; }
private:
IRCChannel(IRCClient&, const String&);
@ -52,4 +56,5 @@ private:
Retained<IRCLogBuffer> m_log;
IRCChannelMemberListModel* m_member_model { nullptr };
IRCWindow* m_window { nullptr };
};