/***************************************************************************
- * Copyright (C) 2005/06 by The Quassel Team *
+ * Copyright (C) 2005/06 by the Quassel IRC 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. *
+ * (at your option) version 3. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
#include <QStringList>
#include <QVariantMap>
-class SignalProxy;
-class NetworkInfo;
class IrcUser;
+class NetworkInfo;
+class SignalProxy;
class IrcChannel : public QObject {
Q_OBJECT
-
+
Q_PROPERTY(QString name READ name STORED false)
Q_PROPERTY(QString topic READ topic WRITE setTopic STORED false)
public:
IrcChannel(const QString &channelname, NetworkInfo *networkInfo);
+ ~IrcChannel();
bool isKnownUser(IrcUser *ircuser) const;
bool isValidChannelUserMode(const QString &mode) const;
QString name() const;
QString topic() const;
-
+
QList<IrcUser *> ircUsers() const;
-
- QString userMode(IrcUser *ircuser) const;
- QString userMode(const QString &nick) const;
+ QString userModes(IrcUser *ircuser) const;
+ QString userModes(const QString &nick) const;
-public slots:
+public slots:
void setTopic(const QString &topic);
void join(IrcUser *ircuser);
void setUserModes(IrcUser *ircuser, const QString &modes);
void setUserModes(const QString &nick, const QString &modes);
-
+
void addUserMode(IrcUser *ircuser, const QString &mode);
void addUserMode(const QString &nick, const QString &mode);
-
+
void removeUserMode(IrcUser *ircuser, const QString &mode);
void removeUserMode(const QString &nick, const QString &mode);
// init seters
void initSetUserModes(const QVariantMap &usermodes);
-
+
void setInitialized();
signals:
void topicSet(QString topic);
void userModesSet(QString nick, QString modes);
+ //void userModesSet(IrcUser *ircuser, QString modes);
void userModeAdded(QString nick, QString mode);
+ //void userModeAdded(IrcUser *ircuser, QString mode);
void userModeRemoved(QString nick, QString mode);
+ //void userModeRemoved(IrcUser *ircuser, QString mode);
+
+ void ircUserJoined(IrcUser *ircuser);
+ void ircUserParted(IrcUser *ircuser);
+ void ircUserNickSet(IrcUser *ircuser, QString nick);
+ void ircUserModeAdded(IrcUser *ircuser, QString mode);
+ void ircUserModeRemoved(IrcUser *ircuser, QString mode);
+ void ircUserModesSet(IrcUser *ircuser, QString modes);
void initDone();
private slots:
void ircUserDestroyed();
+ void ircUserNickSet(QString nick);
private:
bool _initialized;
QString _name;
QString _topic;
- QHash<IrcUser *, QString> _userModes;
-
+ QHash<IrcUser *, QString> _userModes;
+
NetworkInfo *networkInfo;
};