X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Fnetworkmodelcontroller.cpp;h=58db5617ae594edd0e82cb6e64dcbd83cdbe665c;hp=ef1a020f483049451bbfa4255e7a402226914f34;hb=342b6d8a5869e438362914f3848e639ac6c70bbc;hpb=506ac9f9b636ae3baf3f8ec85ac5785cd6abde0d diff --git a/src/uisupport/networkmodelcontroller.cpp b/src/uisupport/networkmodelcontroller.cpp index ef1a020f..58db5617 100644 --- a/src/uisupport/networkmodelcontroller.cpp +++ b/src/uisupport/networkmodelcontroller.cpp @@ -232,11 +232,14 @@ void NetworkModelController::handleBufferAction(ActionType type, QAction *) { removeBuffers(indexList()); } else { + QList bufferList; // create temp list because model indexes might change foreach(QModelIndex index, indexList()) { BufferInfo bufferInfo = index.data(NetworkModel::BufferInfoRole).value(); - if(!bufferInfo.isValid()) - continue; + if(bufferInfo.isValid()) + bufferList << bufferInfo; + } + foreach(BufferInfo bufferInfo, bufferList) { switch(type) { case BufferJoin: Client::userInput(bufferInfo, QString("/JOIN %1").arg(bufferInfo.bufferName())); @@ -273,6 +276,8 @@ void NetworkModelController::handleHideAction(ActionType type, QAction *action) filter |= Message::Mode; if(NetworkModelController::action(HideDayChange)->isChecked()) filter |= Message::DayChange; + if(NetworkModelController::action(HideTopic)->isChecked()) + filter |= Message::Topic; switch(type) { case HideJoin: @@ -281,6 +286,7 @@ void NetworkModelController::handleHideAction(ActionType type, QAction *action) case HideNick: case HideMode: case HideDayChange: + case HideTopic: if(_messageFilter) BufferSettings(_messageFilter->idString()).setMessageFilter(filter); else {