}
win32 {
- CONFIG = warn_on uic resources qt silent windows
- static {
- CONFIG += release static
+ static {
+ CONFIG = release warn_on uic resources qt windows static
+ } else {
+ CONFIG = warn_on uic resources qt silent windows
}
}
return _bufferInfo;
}
-QList<AbstractUiMsg *> Buffer::contents() const {
+const QList<AbstractUiMsg *> &Buffer::contents() const {
return layoutedMsgs;
}
void Buffer::prependMsg(const Message &msg) {
// check for duplicate first
- if(contents().count() > 0 && msg.msgId() >= contents().first()->msgId()) {
+ if(!layoutedMsgs.isEmpty() && msg.msgId() >= layoutedMsgs.first()->msgId()) {
return;
}
updateActivityLevel(msg);
}
bool Buffer::layoutMsg() {
- if(layoutQueue.count()) {
- AbstractUiMsg *m = Client::layoutMsg(layoutQueue.takeFirst());
- layoutedMsgs.prepend(m);
- emit msgPrepended(m);
- }
- return layoutQueue.count();
+ if(layoutQueue.isEmpty())
+ return false;
+
+ AbstractUiMsg *m = Client::layoutMsg(layoutQueue.takeFirst());
+ layoutedMsgs.prepend(m);
+ emit msgPrepended(m);
+
+ return !layoutQueue.isEmpty();
}
void Buffer::setVisible(bool visible) {
_isVisible = visible;
setActivityLevel(NoActivity);
- if(!layoutedMsgs.count()) return;
+ if(layoutedMsgs.isEmpty())
+ return;
setLastSeenMsg(layoutedMsgs.last()->msgId());
}
Buffer(BufferInfo, QObject *parent = 0);
BufferInfo bufferInfo() const;
- QList<AbstractUiMsg *> contents() const;
+ const QList<AbstractUiMsg *> &contents() const;
inline bool isVisible() const { return _isVisible; }
inline MsgId lastSeenMsg() const { return _lastSeenMsg; }
inline ActivityLevel activityLevel() const { return _activityLevel; }
MsgId _lastSeenMsg;
ActivityLevel _activityLevel;
- QList<Message> layoutQueue;
+ QLinkedList<Message> layoutQueue;
QList<AbstractUiMsg *> layoutedMsgs;
void updateActivityLevel(const Message &msg);
void Client::receiveBacklog(BufferId bufferId, const QVariantList &msgs) {
Buffer *buffer_ = buffer(bufferId);
if(!buffer_) {
- qWarning() << "Client::recvBacklogData(): received Backlog for unknown Buffer:" << bufferId;
+ qWarning() << "Client::receiveBacklog(): received Backlog for unknown Buffer:" << bufferId;
return;
}
if(buffer->layoutMsg()) {
layoutQueue.append(buffer); // Buffer has more messages in its queue --> Round Robin
return;
- }
+ }
if(layoutQueue.isEmpty())
layoutTimer->stop();
Buffer *_monitorBuffer;
QTimer *layoutTimer;
- QList<Buffer *> layoutQueue;
+ QLinkedList<Buffer *> layoutQueue;
static AccountId _currentCoreAccount;
/**
* \param m The message to be layouted and rendered
*/
-ChatLineOld::ChatLineOld(Message m) {
+QColor ChatLineOld::_highlightColor;
+ChatLineOld::ChatLineOld(const Message &m) {
hght = 0;
-
msg = m;
selectionMode = None;
isHighlight = false;
formatMsg(msg);
- QtUiSettings s("QtUi/Colors");
- _highlightColor = s.value("highlightColor", QVariant(QColor("lightcoral"))).value<QColor>();
+ if(!_highlightColor.isValid()) {
+ QtUiSettings s("QtUi/Colors");
+ _highlightColor = s.value("highlightColor", QVariant(QColor("lightcoral"))).value<QColor>();
+ }
}
ChatLineOld::~ChatLineOld() {
-
}
void ChatLineOld::formatMsg(Message msg) {
Q_OBJECT
public:
- ChatLineOld(Message message);
+ ChatLineOld(const Message &message);
virtual ~ChatLineOld();
qreal layout(qreal tsWidth, qreal nickWidth, qreal textWidth);
QList<FormatRange> calcFormatRanges(const UiStyle::StyledText &);
QList<FormatRange> calcFormatRanges(const UiStyle::StyledText &, const QTextLayout::FormatRange &additional);
- QColor _highlightColor;
+ static QColor _highlightColor;
};
#endif
# include "chatlinemodel.h"
#endif
#include "mainwin.h"
+#include "chatline-old.h"
QtUiStyle *QtUi::_style;
-QtUi::QtUi() : AbstractUi() {
+QtUi::QtUi()
+ : AbstractUi()
+{
mainWin = new MainWin(this);
_style = new QtUiStyle;
connect(mainWin, SIGNAL(connectToCore(const QVariantMap &)), this, SIGNAL(connectToCore(const QVariantMap &)));
connect(mainWin, SIGNAL(disconnectFromCore()), this, SIGNAL(disconnectFromCore()));
-
}
QtUi::~QtUi() {
}
AbstractUiMsg *QtUi::layoutMsg(const Message &msg) {
- return mainWin->layoutMsg(msg);
+ return new ChatLineOld(msg);
}
void QtUi::connectedToCore() {
***************************************************************************/
#include "nickviewfilter.h"
-
#include "networkmodel.h"
-
#include "uisettings.h"
-#include <QColor>
-
/******************************************************************************************
* NickViewFilter
******************************************************************************************/
setDynamicSortFilter(true);
setSortCaseSensitivity(Qt::CaseInsensitive);
setSortRole(TreeModel::SortRole);
+ loadColors();
+}
+
+void NickViewFilter::loadColors() {
+ UiSettings s("QtUi/Colors");
+ _FgOnlineStatus = s.value("onlineStatusFG", QVariant(QColor(Qt::black))).value<QColor>();
+ _FgAwayStatus = s.value("awayStatusFG", QVariant(QColor(Qt::gray))).value<QColor>();
+ // FIXME: use the style interface instead of qsettings
}
QVariant NickViewFilter::data(const QModelIndex &index, int role) const {
return foreground(index);
else
return QSortFilterProxyModel::data(index, role);
-// else {
-// QVariant d =
-// if(role == 0)
-// qDebug() << index << role << d;
-// return d;
-// }
}
QVariant NickViewFilter::foreground(const QModelIndex &index) const {
- UiSettings s("QtUi/Colors");
- QVariant onlineStatusFG = s.value("onlineStatusFG", QVariant(QColor(Qt::black)));
- QVariant awayStatusFG = s.value("awayStatusFG", QVariant(QColor(Qt::gray)));
-
if(!index.data(NetworkModel::ItemActiveRole).toBool())
- return awayStatusFG.value<QColor>();
-
- return onlineStatusFG.value<QColor>();
-
- // FIXME:: make colors configurable;
- // FIXME: use the style interface instead of qsettings
+ return _FgAwayStatus;
+ return _FgOnlineStatus;
}
#ifndef NICKVIEWFILTER_H
#define NICKVIEWFILTER_H
+#include <QColor>
#include <QSortFilterProxyModel>
#include "types.h"
class NetworkModel;
// This is proxymodel is purely for the sorting right now
-// the old nickmodel is stored for future reference in /devnotes
class NickViewFilter : public QSortFilterProxyModel {
Q_OBJECT
private:
BufferId _bufferId;
+ QColor _FgOnlineStatus;
+ QColor _FgAwayStatus;
+
+ void loadColors();
};
#endif
{ using namespace Global;
quasselVersion = "0.2.0-beta1-pre";
- quasselDate = "2008-04-29";
- quasselBuild = 797;
+ quasselDate = "2008-05-01";
+ quasselBuild = 803;
//! Minimum client build number the core needs
clientBuildNeeded = 731;