From: Manuel Nickschas Date: Wed, 13 Aug 2008 12:33:44 +0000 (+0200) Subject: Fix doubleclicks in empty spaces in ChatMonitorView as well, thanks al_! X-Git-Tag: 0.3.0~52 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=eeced31ae5f16ddb4600c8fbd07c14d4e2e08824;hp=5cb0dfcd0cb0d5ee49fc4ca0de6c0116134326a7 Fix doubleclicks in empty spaces in ChatMonitorView as well, thanks al_! --- diff --git a/src/qtui/chatmonitorview.cpp b/src/qtui/chatmonitorview.cpp index e004e0cb..3f31591e 100644 --- a/src/qtui/chatmonitorview.cpp +++ b/src/qtui/chatmonitorview.cpp @@ -43,7 +43,7 @@ ChatMonitorView::ChatMonitorView(ChatMonitorFilter *filter, QWidget *parent) void ChatMonitorView::contextMenuEvent(QContextMenuEvent *event) { if(scene()->sectionByScenePos(event->pos()) != ChatLineModel::SenderColumn) return; - + int showFields = _filter->showFields(); QMenu contextMenu(this); @@ -51,7 +51,7 @@ void ChatMonitorView::contextMenuEvent(QContextMenuEvent *event) { showNetworkAction->setCheckable(true); showNetworkAction->setChecked(showFields & ChatMonitorFilter::NetworkField); showNetworkAction->setData(ChatMonitorFilter::NetworkField); - + QAction *showBufferAction = contextMenu.addAction(tr("Show buffer name"), this, SLOT(showFieldsChanged(bool))); showBufferAction->setCheckable(true); showBufferAction->setChecked(showFields & ChatMonitorFilter::BufferField); @@ -66,12 +66,17 @@ void ChatMonitorView::mouseDoubleClickEvent(QMouseEvent *event) { return; } - event->accept(); ChatItem *chatItem = dynamic_cast(itemAt(event->pos())); + if(!chatItem) { + event->ignore(); + return; + } + + event->accept(); BufferId bufferId = chatItem->data(MessageModel::BufferIdRole).value(); if(!bufferId.isValid()) return; - + QModelIndex bufferIdx = Client::networkModel()->bufferIndex(bufferId); if(!bufferIdx.isValid()) return; @@ -87,5 +92,5 @@ void ChatMonitorView::showFieldsChanged(bool checked) { if(checked) _filter->addShowField(showAction->data().toInt()); else - _filter->removeShowField(showAction->data().toInt()); + _filter->removeShowField(showAction->data().toInt()); }