X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Fnetworkmodelactionprovider.cpp;h=9c817bfa3967e56b9d7e2bc1c9aef0edb5b05d6f;hp=6061e38261c23406a92c4c82f587de05e3acf2e5;hb=e32fd68ac69cada52a65598d4781f1cc735145fc;hpb=efb5981cf15bee1de651abcf757ab763117e82b4 diff --git a/src/uisupport/networkmodelactionprovider.cpp b/src/uisupport/networkmodelactionprovider.cpp index 6061e382..9c817bfa 100644 --- a/src/uisupport/networkmodelactionprovider.cpp +++ b/src/uisupport/networkmodelactionprovider.cpp @@ -144,17 +144,13 @@ void NetworkModelActionProvider::registerAction(ActionType type, const QPixmap & void NetworkModelActionProvider::addActions(QMenu *menu, BufferId bufId, QObject *receiver, const char *method) { if(!bufId.isValid()) return; - _messageFilter = 0; - _contextItem = QString(); addActions(menu, Client::networkModel()->bufferIndex(bufId), receiver, method); } void NetworkModelActionProvider::addActions(QMenu *menu, const QModelIndex &index, QObject *receiver, const char *method, bool isCustomBufferView) { if(!index.isValid()) return; - _messageFilter = 0; - _contextItem = QString(); - addActions(menu, QList() << index, receiver, method, isCustomBufferView); + addActions(menu, QList() << index, 0, QString(), receiver, method, isCustomBufferView); } void NetworkModelActionProvider::addActions(QMenu *menu, MessageFilter *filter, BufferId msgBuffer, QObject *receiver, const char *slot) { @@ -164,14 +160,18 @@ void NetworkModelActionProvider::addActions(QMenu *menu, MessageFilter *filter, void NetworkModelActionProvider::addActions(QMenu *menu, MessageFilter *filter, BufferId msgBuffer, const QString &chanOrNick, QObject *receiver, const char *method) { if(!filter) return; - _messageFilter = filter; - _contextItem = chanOrNick; - addActions(menu, QList() << Client::networkModel()->bufferIndex(msgBuffer), receiver, method); + addActions(menu, QList() << Client::networkModel()->bufferIndex(msgBuffer), filter, chanOrNick, receiver, method, false); +} + +void NetworkModelActionProvider::addActions(QMenu *menu, const QList &indexList, QObject *receiver, const char *method, bool isCustomBufferView) { + addActions(menu, indexList, 0, QString(), receiver, method, isCustomBufferView); } // add a list of actions sensible for the current item(s) void NetworkModelActionProvider::addActions(QMenu *menu, const QList &indexList, + MessageFilter *filter, + const QString &contextItem, QObject *receiver, const char *method, bool isCustomBufferView) @@ -180,6 +180,8 @@ void NetworkModelActionProvider::addActions(QMenu *menu, return; _indexList = indexList; + _messageFilter = filter; + _contextItem = contextItem; _receiver = receiver; _method = method; @@ -262,6 +264,7 @@ void NetworkModelActionProvider::addNetworkItemActions(QMenu *menu, const QModel void NetworkModelActionProvider::addBufferItemActions(QMenu *menu, const QModelIndex &index, bool isCustomBufferView) { BufferInfo bufferInfo = index.data(NetworkModel::BufferInfoRole).value(); + menu->addSeparator(); switch(bufferInfo.type()) { case BufferInfo::ChannelBuffer: addAction(BufferJoin, menu, index, InactiveState);