X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fclient%2Fnetworkmodel.cpp;h=a72b71e9e942b55ceb84bc993319649b3e5ecf95;hb=e8903b1f19c183a537d7b31b7fd709dde1a69ef5;hp=b10afd06b75a931314f2c88609bf5be6fefd98fc;hpb=04754cf669dd295205226b744bc769b94693866a;p=quassel.git
diff --git a/src/client/networkmodel.cpp b/src/client/networkmodel.cpp
index b10afd06..a72b71e9 100644
--- a/src/client/networkmodel.cpp
+++ b/src/client/networkmodel.cpp
@@ -37,6 +37,7 @@
BufferItem::BufferItem(BufferInfo bufferInfo, AbstractTreeItem *parent)
: PropertyMapItem(QStringList() << "bufferName" << "topic" << "nickCount", parent),
_bufferInfo(bufferInfo),
+ _bufferName(bufferInfo.bufferName()),
_activity(Buffer::NoActivity)
{
Qt::ItemFlags flags = Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsDragEnabled;
@@ -158,7 +159,15 @@ QString BufferItem::bufferName() const {
if(bufferType() == BufferInfo::StatusBuffer)
return tr("Status Buffer");
else
- return bufferInfo().bufferName();
+ return _bufferName;
+}
+
+void BufferItem::setBufferName(const QString &name) {
+ _bufferName = name;
+ // as long as we need those bufferInfos, we have to update that one aswell.
+ // pretty ugly though :/
+ _bufferInfo = BufferInfo(_bufferInfo.bufferId(), _bufferInfo.networkId(), _bufferInfo.type(), _bufferInfo.groupId(), _bufferInfo.bufferName());
+ emit dataChanged(0);
}
QString BufferItem::topic() const {
@@ -273,6 +282,37 @@ 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()) {
+ toolTip.append(QString("Topic: %1").arg(topic()));
+ toolTip.append(QString("Users: %1").arg(nickCount()));
+ } 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("%1
").arg(toolTip.join("