24QT_FORWARD_DECLARE_CLASS(QLineEdit)
25QT_FORWARD_DECLARE_CLASS(QListView)
26QT_FORWARD_DECLARE_CLASS(QTextEdit)
27QT_FORWARD_DECLARE_CLASS(QModelIndex)
28QT_FORWARD_DECLARE_CLASS(QTextDocument)
30class IrcClient :
public QSplitter
35 IrcClient(QWidget* parent =
nullptr);
36 ~IrcClient()
override;
41 void onDisconnected();
47 void onCompleted(
const QString& text,
int cursor);
49 void onBufferAdded(IrcBuffer* buffer);
50 void onBufferRemoved(IrcBuffer* buffer);
52 void onBufferActivated(
const QModelIndex& index);
53 void onUserActivated(
const QModelIndex& index);
55 void receiveMessage(IrcMessage* message);
59 void createCompleter();
61 void createUserList();
62 void createBufferList();
63 void createConnection();
68 QListView* bufferList;
70 IrcCompleter* completer;
71 IrcCommandParser* parser;
72 IrcConnection* connection;
73 IrcBufferModel* bufferModel;
74 QHash<IrcBuffer*, IrcUserModel*> userModels;
75 QHash<IrcBuffer*, QTextDocument*> documents;
Keeps track of buffers.
Definition ircbuffermodel.h:48
Keeps track of buffer status.
Definition ircbuffer.h:50
Parses commands from user input.
Definition irccommandparser.h:43
Provides command and name completion.
Definition irccompleter.h:44
Provides means to establish a connection to an IRC server.
Definition ircconnection.h:49
The base class of all messages.
Definition ircmessage.h:48
Keeps track of channel users.
Definition ircusermodel.h:46