/***************************************************************************
- * Copyright (C) 2005-08 by the Quassel Project *
+ * Copyright (C) 2005-09 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
addActions(menu, QList<QModelIndex>() << Client::networkModel()->bufferIndex(msgBuffer), receiver, method);
}
+void NetworkModelActionProvider::addActions(QMenu *menu, const QList<QModelIndex> &indexList, QObject *receiver, const char *method, bool isCustomBufferView) {
+ addActions(menu, indexList, 0, receiver, method, isCustomBufferView);
+}
+
// add a list of actions sensible for the current item(s)
void NetworkModelActionProvider::addActions(QMenu *menu,
const QList<QModelIndex> &indexList,
+ MessageFilter *filter,
QObject *receiver,
const char *method,
bool isCustomBufferView)
return;
_indexList = indexList;
+ _messageFilter = filter;
_receiver = receiver;
_method = method;
void NetworkModelActionProvider::removeBuffers(const QModelIndexList &indexList) {
QList<BufferInfo> inactive;
foreach(QModelIndex index, indexList) {
- if(!index.data(NetworkModel::ItemActiveRole).toBool()) {
- BufferInfo info = index.data(NetworkModel::BufferInfoRole).value<BufferInfo>();
- if(info.isValid())
- inactive << info;
+ BufferInfo info = index.data(NetworkModel::BufferInfoRole).value<BufferInfo>();
+ if(info.isValid()) {
+ if(info.type() == BufferInfo::QueryBuffer
+ || (info.type() == BufferInfo::ChannelBuffer && !index.data(NetworkModel::ItemActiveRole).toBool()))
+ inactive << info;
}
}
QString msg;