X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fclient%2Fnetworkmodel.cpp;h=94d90b8d2c7e825bb7edaf9668f24d8776c93b1a;hb=e0872cf3b3cdb8c52c5a52f32c3140143a29409d;hp=e96e367885ea5a0fc1b25e7fc0c2f0a69b9aa213;hpb=c0bbc724cda7acf652d9d2ce80605ebb53c4a2ff;p=quassel.git
diff --git a/src/client/networkmodel.cpp b/src/client/networkmodel.cpp
index e96e3678..94d90b8d 100644
--- a/src/client/networkmodel.cpp
+++ b/src/client/networkmodel.cpp
@@ -29,8 +29,12 @@
#include "ircchannel.h"
#include "ircuser.h"
+#include "buffersettings.h"
+
#include "util.h" // get rid of this (needed for isChannelName)
+// #define PHONDEV
+
/*****************************************
* Fancy Buffer Items
*****************************************/
@@ -282,6 +286,49 @@ void BufferItem::userModeChanged(IrcUser *ircUser) {
addUserToCategory(ircUser);
}
+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(QString("Status buffer from %1").arg(netName));
+ break;
+ }
+ case BufferInfo::ChannelBuffer:
+ toolTip.append(QString("
Channel %1
").arg(bufferName()));
+ if(isActive()) {
+ //TODO: add channel modes
+ toolTip.append(QString("Users: %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(" "));
+ toolTip.append(QString("Topic: %1").arg(_topic));
+ }
+ }
+ } else {
+ toolTip.append(QString("Not active
Double-click to join"));
+ }
+ break;
+ case BufferInfo::QueryBuffer:
+ toolTip.append(QString("Query with %1").arg(bufferName()));
+ if(topic() != "") toolTip.append(QString("Away Message: %1").arg(topic()));
+ break;
+ default: //this should not happen
+ toolTip.append(QString("%1 - %2").arg(bufferInfo().bufferId().toInt()).arg(bufferName()));
+ break;
+ }
+
+ return QString(" %1
").arg(toolTip.join("
"));
+}
+
/*
void BufferItem::setLastMsgInsert(QDateTime msgDate) {
if(msgDate.isValid() && msgDate > _lastMsgInsert)
@@ -405,6 +452,18 @@ void NetworkItem::setCurrentServer(const QString &serverName) {
emit dataChanged(1);
}
+
+QString NetworkItem::toolTip(int column) const {
+ Q_UNUSED(column);
+
+ QStringList toolTip(QString("%1").arg(networkName()));
+ toolTip.append(QString("Server: %1").arg(currentServer()));
+ toolTip.append(QString("Users: %1").arg(nickCount()));
+
+ return QString(" %1
").arg(toolTip.join("
"));
+}
+
+
/*****************************************
* User Category Items (like @vh etc.)
*****************************************/