29 #ifndef IRCBUFFERMODEL_H
30 #define IRCBUFFERMODEL_H
34 #include <QtCore/qstringlist.h>
35 #include <QtCore/qabstractitemmodel.h>
44 class IrcBufferModelPrivate;
49 Q_PROPERTY(
int count READ count NOTIFY countChanged)
50 Q_PROPERTY(
bool empty READ isEmpty NOTIFY emptyChanged)
51 Q_PROPERTY(Qt::SortOrder sortOrder READ sortOrder WRITE setSortOrder)
52 Q_PROPERTY(Irc::
SortMethod sortMethod READ sortMethod WRITE setSortMethod)
53 Q_PROPERTY(
QStringList channels READ channels NOTIFY channelsChanged)
54 Q_PROPERTY(Irc::
DataRole displayRole READ displayRole WRITE setDisplayRole)
55 Q_PROPERTY(
bool persistent READ isPersistent WRITE setPersistent NOTIFY persistentChanged)
57 Q_PROPERTY(
IrcConnection* connection READ connection WRITE setConnection NOTIFY connectionChanged)
58 Q_PROPERTY(
IrcNetwork* network READ network NOTIFY networkChanged)
59 Q_PROPERTY(
IrcBuffer* bufferPrototype READ bufferPrototype WRITE setBufferPrototype NOTIFY bufferPrototypeChanged)
60 Q_PROPERTY(
IrcChannel* channelPrototype READ channelPrototype WRITE setChannelPrototype NOTIFY channelPrototypeChanged)
75 Q_INVOKABLE
IrcBuffer* get(
int index) const;
77 Q_INVOKABLE
bool contains(const
QString& title) const;
78 Q_INVOKABLE
int indexOf(
IrcBuffer* buffer) const;
82 Q_INVOKABLE
void remove(const
QString& title);
83 Q_INVOKABLE
void remove(
IrcBuffer* buffer);
85 Qt::SortOrder sortOrder() const;
86 void setSortOrder(Qt::SortOrder order);
92 void setDisplayRole(Irc::
DataRole role);
94 bool isPersistent() const;
95 void setPersistent(
bool persistent);
106 void setBufferPrototype(
IrcBuffer* prototype);
109 void setChannelPrototype(
IrcChannel* prototype);
117 void sort(
int column = 0, Qt::SortOrder order = Qt::AscendingOrder);
118 void sort(Irc::
SortMethod method, Qt::SortOrder order = Qt::AscendingOrder);
121 void countChanged(
int count);
122 void emptyChanged(
bool empty);
126 void aboutToBeRemoved(
IrcBuffer* buffer);
127 void persistentChanged(
bool persistent);
133 void bufferPrototypeChanged(
IrcBuffer* prototype);
134 void channelPrototypeChanged(
IrcChannel* prototype);
135 void destroyed(IrcBufferModel* model);
145 friend class IrcBufferLessThan;
146 friend class IrcBufferGreaterThan;
148 Q_DECLARE_PRIVATE(IrcBufferModel)
149 Q_DISABLE_COPY(IrcBufferModel)
151 Q_PRIVATE_SLOT(d_func(),
void _irc_connected())
152 Q_PRIVATE_SLOT(d_func(),
void _irc_disconnected())
153 Q_PRIVATE_SLOT(d_func(),
void _irc_bufferDestroyed(
IrcBuffer*))
158 #endif // IRCBUFFERMODEL_H
DataRole
Definition: irc.h:82
Provides means to establish a connection to an IRC server.
Definition: ircconnection.h:47
Provides network information and capability management.
Definition: ircnetwork.h:43
Q_INVOKABLE QString version()
Definition: irc.cpp:56
Keeps track of buffer status.
Definition: ircbuffer.h:49
Keeps track of channel status.
Definition: ircchannel.h:40
Keeps track of buffers.
Definition: ircbuffermodel.h:46
The base class of all messages.
Definition: ircmessage.h:47
SortMethod
Definition: irc.h:92