X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fnetworkmodel.cpp;h=45cb33bba8a9b79893fcfbe7e57dfe78f219a2db;hp=9202036064785307fe8ed1c8f5315548de7d16ba;hb=7897b8623a42967511e31c68d5c102033a1dcdb9;hpb=981b43a699b4dd6da16e45f74d59443b68ad4b9c diff --git a/src/client/networkmodel.cpp b/src/client/networkmodel.cpp index 92020360..45cb33bb 100644 --- a/src/client/networkmodel.cpp +++ b/src/client/networkmodel.cpp @@ -244,7 +244,6 @@ QVariant BufferItem::data(int column, int role) const { } bool BufferItem::setData(int column, const QVariant &value, int role) { - qDebug() << "BufferItem::setData(int column, const QVariant &value, int role):" << this << column << value << role; switch(role) { case NetworkModel::BufferActivityRole: setActivityLevel((BufferInfo::ActivityLevel)value.toInt()); @@ -304,7 +303,7 @@ QueryBufferItem::QueryBufferItem(const BufferInfo &bufferInfo, NetworkItem *pare : BufferItem(bufferInfo, parent), _ircUser(0) { - setFlags(flags() | Qt::ItemIsDropEnabled); + setFlags(flags() | Qt::ItemIsDropEnabled | Qt::ItemIsEditable); const Network *net = Client::network(bufferInfo.networkId()); if(!net) @@ -326,6 +325,24 @@ QVariant QueryBufferItem::data(int column, int role) const { } } +bool QueryBufferItem::setData(int column, const QVariant &value, int role) { + switch(role) { + case Qt::EditRole: + { + QString newName = value.toString(); + if(!newName.isEmpty()) { + Client::renameBuffer(bufferId(), newName); + return true; + } else { + return false; + } + } + break; + default: + return BufferItem::setData(column, value, role); + } +} + QString QueryBufferItem::toolTip(int column) const { // pretty much code duplication of IrcUserItem::toolTip() but inheritance won't solve this... Q_UNUSED(column);