1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
/*
* Copyright (C) 2008-2014 The Communi Project
*
* This library is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*
* This library 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 Lesser General Public
* License for more details.
*/
#ifndef IRCUSER_H
#define IRCUSER_H
#include <IrcGlobal>
#include <QtCore/qobject.h>
#include <QtCore/qmetatype.h>
#include <QtCore/qscopedpointer.h>
IRC_BEGIN_NAMESPACE
class IrcChannel;
class IrcUserPrivate;
class IRC_MODEL_EXPORT IrcUser : public QObject
{
Q_OBJECT
Q_PROPERTY(QString title READ title NOTIFY titleChanged)
Q_PROPERTY(QString name READ name NOTIFY nameChanged)
Q_PROPERTY(QString prefix READ prefix NOTIFY prefixChanged)
Q_PROPERTY(QString mode READ mode NOTIFY modeChanged)
Q_PROPERTY(bool servOp READ isServOp NOTIFY servOpChanged)
Q_PROPERTY(bool away READ isAway NOTIFY awayChanged)
Q_PROPERTY(IrcChannel* channel READ channel CONSTANT)
public:
explicit IrcUser(QObject* parent = 0);
virtual ~IrcUser();
QString title() const;
QString name() const;
QString prefix() const;
QString mode() const;
bool isServOp() const;
bool isAway() const;
IrcChannel* channel() const;
Q_SIGNALS:
void titleChanged(const QString& title);
void nameChanged(const QString& name);
void prefixChanged(const QString& prefix);
void modeChanged(const QString& mode);
void servOpChanged(bool servOp);
void awayChanged(bool away);
private:
QScopedPointer<IrcUserPrivate> d_ptr;
Q_DECLARE_PRIVATE(IrcUser)
Q_DISABLE_COPY(IrcUser)
};
#ifndef QT_NO_DEBUG_STREAM
IRC_MODEL_EXPORT QDebug operator<<(QDebug debug, const IrcUser* user);
#endif // QT_NO_DEBUG_STREAM
IRC_END_NAMESPACE
Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcUser*))
Q_DECLARE_METATYPE(QList<IRC_PREPEND_NAMESPACE(IrcUser*)>)
#endif // IRCUSER_H
|