1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 15:07:45 +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

@ -5,10 +5,10 @@
#include <AK/CircularQueue.h>
#include <AK/Function.h>
#include "IRCLogBuffer.h"
#include "IRCWindow.h"
class IRCChannel;
class IRCQuery;
class IRCWindow;
class IRCWindowListModel;
class GNotifier;
@ -32,11 +32,10 @@ public:
Function<void()> on_connect;
Function<void()> on_disconnect;
Function<void(const String& channel)> on_channel_message;
Function<void(const String& name)> on_query_message;
Function<void(const String& channel)> on_join;
Function<void()> on_server_message;
Function<IRCWindow*(void*, IRCWindow::Type, const String&)> aid_create_window;
void register_subwindow(IRCWindow&);
void unregister_subwindow(IRCWindow&);