+QString BufferItem::toolTip(int column) const {
+ Q_UNUSED(column);
+ QStringList toolTip;
+
+ switch(bufferType()) {
+ case BufferInfo::StatusBuffer: {
+ QString netName = Client::network(bufferInfo().networkId())->networkName();
+ toolTip.append(tr("<b>Status buffer of %1</b>").arg(netName));
+ break;
+ }
+ case BufferInfo::ChannelBuffer:
+ toolTip.append(tr("<b>Channel %1</b>").arg(bufferName()));
+ if(isActive()) {
+ //TODO: add channel modes
+ toolTip.append(tr("<b>Users:</b> %1").arg(nickCount()));
+
+ BufferSettings s;
+ bool showTopic = s.value("DisplayTopicInTooltip", QVariant(false)).toBool();
+ if(showTopic) {
+ QString _topic = topic();
+ if(_topic != "") {
+ _topic.replace(QString("<"), QString("<"));
+ _topic.replace(QString(">"), QString(">"));
+ toolTip.append(QString("<font size='-2'> </font>"));
+ toolTip.append(tr("<b>Topic:</b> %1").arg(_topic));
+ }
+ }
+ } else {
+ toolTip.append(tr("Not active <br /> Double-click to join"));
+ }
+ break;
+ case BufferInfo::QueryBuffer:
+ toolTip.append(tr("<b>Query with %1</b>").arg(bufferName()));
+ if(topic() != "") toolTip.append(tr("Away Message: %1").arg(topic()));
+ break;
+ default: //this should not happen
+ toolTip.append(tr("%1 - %2").arg(bufferInfo().bufferId().toInt()).arg(bufferName()));
+ break;
+ }
+
+ return tr("<p> %1 </p>").arg(toolTip.join("<br />"));
+}
+
+/*
+void BufferItem::setLastMsgInsert(QDateTime msgDate) {
+ if(msgDate.isValid() && msgDate > _lastMsgInsert)
+ _lastMsgInsert = msgDate;
+}
+*/
+/*
+// FIXME emit dataChanged()
+bool BufferItem::setLastSeen() {
+ if(_lastSeen > _lastMsgInsert)
+ return false;
+
+ _lastSeen = _lastMsgInsert;
+ BufferSettings(bufferInfo().bufferId()).setLastSeen(_lastSeen);
+ return true;
+}
+
+QDateTime BufferItem::lastSeen() {
+ return _lastSeen;
+}
+*/