X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fclient%2Fnetworkmodel.cpp;h=962c9f8fcd058f199cadc77ea67b6ff7f0353619;hb=bc5aa95a2df7cbea81bb97345717c2763c9cf21d;hp=45cb33bba8a9b79893fcfbe7e57dfe78f219a2db;hpb=7897b8623a42967511e31c68d5c102033a1dcdb9;p=quassel.git diff --git a/src/client/networkmodel.cpp b/src/client/networkmodel.cpp index 45cb33bb..962c9f8f 100644 --- a/src/client/networkmodel.cpp +++ b/src/client/networkmodel.cpp @@ -326,6 +326,9 @@ QVariant QueryBufferItem::data(int column, int role) const { } bool QueryBufferItem::setData(int column, const QVariant &value, int role) { + if(column != 0) + return BufferItem::setData(column, value, role); + switch(role) { case Qt::EditRole: { @@ -888,49 +891,6 @@ QMimeData *NetworkModel::mimeData(const QModelIndexList &indexes) const { return mimeData; } -bool NetworkModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) { - Q_UNUSED(action) - Q_UNUSED(row) - Q_UNUSED(column) - - if(!mimeContainsBufferList(data)) - return false; - - // target must be a query - BufferInfo::Type targetType = (BufferInfo::Type)parent.data(NetworkModel::BufferTypeRole).toInt(); - if(targetType != BufferInfo::QueryBuffer) - return false; - - QList< QPair > bufferList = mimeDataToBufferList(data); - - // exactly one buffer has to be dropped - if(bufferList.count() != 1) - return false; - - NetworkId netId = bufferList.first().first; - BufferId bufferId = bufferList.first().second; - - // no self merges (would kill us) - if(bufferId == parent.data(BufferIdRole).value()) - return false; - - NetworkItem *netItem = findNetworkItem(netId); - Q_ASSERT(netItem); - - BufferItem *bufferItem = netItem->findBufferItem(bufferId); - Q_ASSERT(bufferItem); - - // source must be a query too - if(bufferItem->bufferType() != BufferInfo::QueryBuffer) - return false; - - // TODO: warn user about buffermerge! - qDebug() << "merging" << bufferId << parent.data(BufferIdRole).value(); - removeRow(parent.row(), parent.parent()); - - return true; -} - void NetworkModel::attachNetwork(Network *net) { NetworkItem *netItem = networkItem(net->networkId()); netItem->attachNetwork(net);