X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Fbufferview.cpp;h=11564b525c87d8bbc5e86637815f6f8204e777fa;hp=d93a617220fcad118b7a3b35856d593e2c6ddbac;hb=114f8a14b8bc82669ffda0599ce30fc299be9396;hpb=5c6804f291a63f978e328aeddcc8448e3443b45e diff --git a/src/uisupport/bufferview.cpp b/src/uisupport/bufferview.cpp index d93a6172..11564b52 100644 --- a/src/uisupport/bufferview.cpp +++ b/src/uisupport/bufferview.cpp @@ -22,8 +22,10 @@ #include "buffermodel.h" #include "bufferviewfilter.h" +#include "buffersettings.h" #include "buffersyncer.h" #include "client.h" +#include "iconloader.h" #include "mappedselectionmodel.h" #include "network.h" #include "networkmodel.h" @@ -60,24 +62,17 @@ BufferView::BufferView(QWidget *parent) _hideJoinAction(tr("Join Events"), this), _hidePartAction(tr("Part Events"), this), - _hideKillAction(tr("Kill Events"), this), _hideQuitAction(tr("Quit Events"), this), _hideModeAction(tr("Mode Events"), this) { _hideJoinAction.setCheckable(true); _hidePartAction.setCheckable(true); - _hideKillAction.setCheckable(true); _hideQuitAction.setCheckable(true); _hideModeAction.setCheckable(true); - _hideJoinAction.setEnabled(false); - _hidePartAction.setEnabled(false); _ignoreListAction.setEnabled(false); - _hideKillAction.setEnabled(false); - _hideQuitAction.setEnabled(false); - _hideModeAction.setEnabled(false); - showChannelList.setIcon(QIcon(":/16x16/actions/oxygen/16x16/actions/format-list-unordered.png")); + showChannelList.setIcon(SmallIcon("format-list-unordered")); connect(this, SIGNAL(collapsed(const QModelIndex &)), this, SLOT(on_collapse(const QModelIndex &))); connect(this, SIGNAL(expanded(const QModelIndex &)), this, SLOT(on_expand(const QModelIndex &))); @@ -388,12 +383,16 @@ void BufferView::addSeparatorToMenu(QMenu &menu, const QModelIndex &index, ItemA } } -QMenu *BufferView::createHideEventsSubMenu(QMenu &menu) { - // QMenu *hideEventsMenu = new QMenu(tr("Hide Events"), &menu); +QMenu *BufferView::createHideEventsSubMenu(QMenu &menu, BufferId bufferId) { + int filter = BufferSettings(bufferId).messageFilter(); + _hideJoinAction.setChecked(filter & Message::Join); + _hidePartAction.setChecked(filter & Message::Part); + _hideQuitAction.setChecked(filter & Message::Quit); + _hideModeAction.setChecked(filter & Message::Mode); + QMenu *hideEventsMenu = menu.addMenu(tr("Hide Events")); hideEventsMenu->addAction(&_hideJoinAction); hideEventsMenu->addAction(&_hidePartAction); - hideEventsMenu->addAction(&_hideKillAction); hideEventsMenu->addAction(&_hideQuitAction); hideEventsMenu->addAction(&_hideModeAction); return hideEventsMenu; @@ -409,14 +408,14 @@ void BufferView::contextMenuEvent(QContextMenuEvent *event) { const Network *network = Client::network(index.data(NetworkModel::NetworkIdRole).value()); Q_CHECK_PTR(network); - QIcon connectionStateIcon; + QPixmap connectionStateIcon; if(network) { if(network->connectionState() == Network::Initialized) { - connectionStateIcon = QIcon(":/22x22/actions/network-connect"); + connectionStateIcon = SmallIcon("network-connect"); } else if(network->connectionState() == Network::Disconnected) { - connectionStateIcon = QIcon(":/22x22/actions/network-disconnect"); + connectionStateIcon = SmallIcon("network-disconnect"); } else { - connectionStateIcon = QIcon(":/22x22/actions/gear"); + connectionStateIcon = SmallIcon("network-wired"); // FIXME network-connecting } } @@ -444,14 +443,14 @@ void BufferView::contextMenuEvent(QContextMenuEvent *event) { addItemToMenu(_hideBufferTemporarilyAction, contextMenu, (bool)config()); addItemToMenu(_hideBufferPermanentlyAction, contextMenu, (bool)config()); addItemToMenu(_removeBufferAction, contextMenu, index, InactiveState); - createHideEventsSubMenu(contextMenu); + createHideEventsSubMenu(contextMenu, bufferInfo.bufferId()); addItemToMenu(_ignoreListAction, contextMenu); break; case BufferInfo::QueryBuffer: addItemToMenu(_hideBufferTemporarilyAction, contextMenu, (bool)config()); addItemToMenu(_hideBufferPermanentlyAction, contextMenu, (bool)config()); addItemToMenu(_removeBufferAction, contextMenu); - createHideEventsSubMenu(contextMenu); + createHideEventsSubMenu(contextMenu, bufferInfo.bufferId()); break; default: addItemToMenu(_hideBufferTemporarilyAction, contextMenu, (bool)config()); @@ -525,6 +524,27 @@ void BufferView::contextMenuEvent(QContextMenuEvent *event) { return; } + if(result == & _hideJoinAction) { + BufferId bufferId = index.data(NetworkModel::BufferIdRole).value(); + BufferSettings(bufferId).filterMessage(Message::Join, _hideJoinAction.isChecked()); + return; + } + if(result == &_hidePartAction) { + BufferId bufferId = index.data(NetworkModel::BufferIdRole).value(); + BufferSettings(bufferId).filterMessage(Message::Part, _hidePartAction.isChecked()); + return; + } + if(result == &_hideQuitAction) { + BufferId bufferId = index.data(NetworkModel::BufferIdRole).value(); + BufferSettings(bufferId).filterMessage(Message::Quit, _hideQuitAction.isChecked()); + return; + } + if(result == &_hideModeAction) { + BufferId bufferId = index.data(NetworkModel::BufferIdRole).value(); + BufferSettings(bufferId).filterMessage(Message::Mode, _hideModeAction.isChecked()); + return; + } + } void BufferView::wheelEvent(QWheelEvent* event) {