+++ /dev/null
-/***************************************************************************
- * Copyright (C) 2005-07 by The Quassel IRC Development Team *
- * devel@quassel-irc.org *
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program; if not, write to the *
- * Free Software Foundation, Inc., *
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
- ***************************************************************************/
-
-#ifndef _GUI_H_
-#define _GUI_H_
-
-#include <QtCore>
-#include <QtGui>
-#include <QtNetwork>
-
-#include "global.h"
-#include "buffer.h"
-#include "message.h"
-#include "guiproxy.h"
-#include "bufferviewwidget.h"
-
-class MainWin;
-class ClientProxy;
-//class BufferTreeModel;
-
-class Client : public QObject {
- Q_OBJECT
-
- public:
- static Client *instance();
- static void destroy();
-
- static Buffer *buffer(BufferId);
- static BufferId statusBufferId(QString net);
- static BufferId bufferId(QString net, QString buf);
-
- static BufferTreeModel *bufferModel();
-
- signals:
- void sendInput(BufferId, QString message);
- void showBuffer(Buffer *);
- void bufferSelected(Buffer *);
- void bufferUpdated(Buffer *);
- void bufferActivity(Buffer::ActivityLevel, Buffer *);
- void bufferDestroyed(Buffer *);
- void backlogReceived(Buffer *, QList<Message>);
- void requestBacklog(BufferId, QVariant, QVariant);
-
- void recvPartialItem(quint32 avail, quint32 size);
- void coreConnectionError(QString errorMsg);
-
- public slots:
- //void selectBuffer(Buffer *);
- void connectToCore(QString host, quint16 port);
- void disconnectFromCore();
-
- private slots:
- void updateCoreData(UserId, QString);
- void updateLocalData(QString, QVariant);
- void recvProxySignal(ClientSignal sig, QVariant arg1, QVariant arg2, QVariant arg3);
-
- void serverError(QAbstractSocket::SocketError);
- void serverHasData();
- void coreConnected();
- void coreDisconnected();
-
- void userInput(BufferId, QString);
- void networkConnected(QString);
- void networkDisconnected(QString);
- void recvNetworkState(QString, QVariant);
- void recvMessage(Message message);
- void recvStatusMsg(QString network, QString message);
- void setTopic(QString net, QString buf, QString);
- void addNick(QString net, QString nick, VarMap props);
- void removeNick(QString net, QString nick);
- void renameNick(QString net, QString oldnick, QString newnick);
- void updateNick(QString net, QString nick, VarMap props);
- void setOwnNick(QString net, QString nick);
- void recvBacklogData(BufferId, QList<QVariant>, bool);
- void updateBufferId(BufferId);
-
- void layoutMsg();
-
- private:
- Client();
- ~Client();
- void init();
- static Client *instanceptr;
-
- void syncToCore();
-
- enum ClientMode { LocalCore, RemoteCore };
- static ClientMode clientMode;
-
- MainWin *mainWin;
- ClientProxy *clientProxy;
- BufferTreeModel *_bufferModel;
-
- QTcpSocket socket;
- quint32 blockSize;
-
- static QHash<BufferId, Buffer *> buffers;
- static QHash<uint, BufferId> bufferIds;
- static QHash<QString, QHash<QString, VarMap> > nicks;
- static QHash<QString, bool> connected;
- static QHash<QString, QString> ownNick;
- static QList<BufferId> coreBuffers;
-
- QTimer *layoutTimer;
- QList<Message> layoutQueue;
-};
-
-#endif