projects
/
quassel.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
efa00e5
)
Make use of QtUiMessageProcessor. For now, we just directly layout the messages as...
author
Manuel Nickschas
<sputnick@quassel-irc.org>
Wed, 6 Aug 2008 19:45:10 +0000
(21:45 +0200)
committer
Manuel Nickschas
<sputnick@quassel-irc.org>
Wed, 6 Aug 2008 19:45:10 +0000
(21:45 +0200)
src/client/client.cpp
patch
|
blob
|
history
src/client/client.h
patch
|
blob
|
history
src/client/quasselui.h
patch
|
blob
|
history
src/qtui/qtui.cpp
patch
|
blob
|
history
src/qtui/qtui.h
patch
|
blob
|
history
diff --git
a/src/client/client.cpp
b/src/client/client.cpp
index
f9665c6
..
db60bcb
100644
(file)
--- a/
src/client/client.cpp
+++ b/
src/client/client.cpp
@@
-20,6
+20,7
@@
#include "client.h"
#include "client.h"
+#include "abstractmessageprocessor.h"
#include "bufferinfo.h"
#include "buffermodel.h"
#include "buffersettings.h"
#include "bufferinfo.h"
#include "buffermodel.h"
#include "buffersettings.h"
@@
-72,6
+73,7
@@
Client::Client(QObject *parent)
_bufferViewManager(0),
_ircListHelper(new ClientIrcListHelper(this)),
_messageModel(0),
_bufferViewManager(0),
_ircListHelper(new ClientIrcListHelper(this)),
_messageModel(0),
+ _messageProcessor(0),
_connectedToCore(false),
_syncedToCore(false)
{
_connectedToCore(false),
_syncedToCore(false)
{
@@
-97,6
+99,7
@@
void Client::init() {
_bufferModel = new BufferModel(_networkModel);
_messageModel = mainUi->createMessageModel(this);
_bufferModel = new BufferModel(_networkModel);
_messageModel = mainUi->createMessageModel(this);
+ _messageProcessor = mainUi->createMessageProcessor(this);
SignalProxy *p = signalProxy();
SignalProxy *p = signalProxy();
@@
-431,25
+434,23
@@
void Client::networkDestroyed() {
}
}
}
}
-void Client::recvMessage(const Message &msg_) {
- Message msg = msg_;
- checkForHighlight(msg);
- _messageModel->insertMessage(msg);
- buffer(msg.bufferInfo())->updateActivityLevel(msg);
-}
-
+// Hmm... we never used this...
void Client::recvStatusMsg(QString /*net*/, QString /*msg*/) {
//recvMessage(net, Message::server("", QString("[STATUS] %1").arg(msg)));
}
void Client::recvStatusMsg(QString /*net*/, QString /*msg*/) {
//recvMessage(net, Message::server("", QString("[STATUS] %1").arg(msg)));
}
+void Client::recvMessage(const Message &msg_) {
+ Message msg = msg_;
+ messageProcessor()->process(msg);
+}
+
void Client::receiveBacklog(BufferId bufferId, const QVariantList &msgs) {
//QTime start = QTime::currentTime();
void Client::receiveBacklog(BufferId bufferId, const QVariantList &msgs) {
//QTime start = QTime::currentTime();
+ QList<Message> msglist;
foreach(QVariant v, msgs) {
foreach(QVariant v, msgs) {
- Message msg = v.value<Message>();
- checkForHighlight(msg);
- _messageModel->insertMessage(msg);
- buffer(msg.bufferInfo())->updateActivityLevel(msg);
+ msglist << v.value<Message>();
}
}
+ messageProcessor()->process(msglist);
//qDebug() << "processed" << msgs.count() << "backlog lines in" << start.msecsTo(QTime::currentTime());
}
//qDebug() << "processed" << msgs.count() << "backlog lines in" << start.msecsTo(QTime::currentTime());
}
diff --git
a/src/client/client.h
b/src/client/client.h
index
7c42784
..
fab9a99
100644
(file)
--- a/
src/client/client.h
+++ b/
src/client/client.h
@@
-31,6
+31,7
@@
class BufferInfo;
class Message;
class MessageModel;
class BufferInfo;
class Message;
class MessageModel;
+class AbstractMessageProcessor;
class Identity;
class Network;
class Identity;
class Network;
@@
-93,6
+94,7
@@
public:
static inline NetworkModel *networkModel() { return instance()->_networkModel; }
static inline BufferModel *bufferModel() { return instance()->_bufferModel; }
static inline MessageModel *messageModel() { return instance()->_messageModel; }
static inline NetworkModel *networkModel() { return instance()->_networkModel; }
static inline BufferModel *bufferModel() { return instance()->_bufferModel; }
static inline MessageModel *messageModel() { return instance()->_messageModel; }
+ static inline AbstractMessageProcessor *messageProcessor() { return instance()->_messageProcessor; }
static inline SignalProxy *signalProxy() { return instance()->_signalProxy; }
static inline ClientBacklogManager *backlogManager() { return instance()->_backlogManager; }
static inline SignalProxy *signalProxy() { return instance()->_signalProxy; }
static inline ClientBacklogManager *backlogManager() { return instance()->_backlogManager; }
@@
-213,6
+215,7
@@
private:
ClientIrcListHelper *_ircListHelper;
MessageModel *_messageModel;
ClientIrcListHelper *_ircListHelper;
MessageModel *_messageModel;
+ AbstractMessageProcessor *_messageProcessor;
ClientMode clientMode;
ClientMode clientMode;
diff --git
a/src/client/quasselui.h
b/src/client/quasselui.h
index
bcb512b
..
a278def
100644
(file)
--- a/
src/client/quasselui.h
+++ b/
src/client/quasselui.h
@@
-25,27
+25,15
@@
#include "message.h"
class MessageModel;
#include "message.h"
class MessageModel;
-
-class AbstractUiMsg {
-
- public:
- virtual ~AbstractUiMsg() {};
- virtual QString sender() const = 0;
- virtual QString text() const = 0;
- virtual MsgId msgId() const = 0;
- virtual BufferInfo bufferInfo() const = 0;
- virtual QDateTime timestamp() const = 0;
-
-};
-
+class AbstractMessageProcessor;
class AbstractUi : public QObject {
Q_OBJECT
public:
virtual void init() {}; // called after the client is initialized
class AbstractUi : public QObject {
Q_OBJECT
public:
virtual void init() {}; // called after the client is initialized
- virtual MessageModel *createMessageModel(QObject *parent
= 0
) = 0;
- virtual Abstract
UiMsg *layoutMsg(const Message &
) = 0;
+ virtual MessageModel *createMessageModel(QObject *parent) = 0;
+ virtual Abstract
MessageProcessor *createMessageProcessor(QObject *parent
) = 0;
protected slots:
virtual void connectedToCore() {}
protected slots:
virtual void connectedToCore() {}
@@
-57,6
+45,4
@@
class AbstractUi : public QObject {
};
};
-
-
#endif
#endif
diff --git
a/src/qtui/qtui.cpp
b/src/qtui/qtui.cpp
index
a6e7ddf
..
fb1bd50
100644
(file)
--- a/
src/qtui/qtui.cpp
+++ b/
src/qtui/qtui.cpp
@@
-22,6
+22,7
@@
#include "chatlinemodel.h"
#include "mainwin.h"
#include "chatlinemodel.h"
#include "mainwin.h"
+#include "qtuimessageprocessor.h"
QtUiStyle *QtUi::_style;
QtUiStyle *QtUi::_style;
@@
-52,8
+53,8
@@
MessageModel *QtUi::createMessageModel(QObject *parent) {
return new ChatLineModel(parent);
}
return new ChatLineModel(parent);
}
-Abstract
UiMsg *QtUi::layoutMsg(const Message &msg
) {
- return
0; // FIXME obsolete?
+Abstract
MessageProcessor *QtUi::createMessageProcessor(QObject *parent
) {
+ return
new QtUiMessageProcessor(parent);
}
void QtUi::connectedToCore() {
}
void QtUi::connectedToCore() {
diff --git
a/src/qtui/qtui.h
b/src/qtui/qtui.h
index
bbe31f7
..
46f21c1
100644
(file)
--- a/
src/qtui/qtui.h
+++ b/
src/qtui/qtui.h
@@
-26,6
+26,7
@@
class MainWin;
class MessageModel;
class MainWin;
class MessageModel;
+class QtUiMessageProcessor;
//! This class encapsulates Quassel's Qt-based GUI.
/** This is basically a wrapper around MainWin, which is necessary because we cannot derive MainWin
//! This class encapsulates Quassel's Qt-based GUI.
/** This is basically a wrapper around MainWin, which is necessary because we cannot derive MainWin
@@
-38,8
+39,8
@@
class QtUi : public AbstractUi {
QtUi();
~QtUi();
//void init();
QtUi();
~QtUi();
//void init();
- MessageModel *createMessageModel(QObject *parent
= 0
);
- Abstract
UiMsg *layoutMsg(const Message &
);
+ MessageModel *createMessageModel(QObject *parent);
+ Abstract
MessageProcessor *createMessageProcessor(QObject *parent
);
static QtUiStyle *style();
static QtUiStyle *style();