X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fchatmonitorview.cpp;h=39439d90fc13121e3051cb6be90e78cec1aa4f54;hp=d5c37312275494bc889dc0c52e9f7a151a1f5f5d;hb=9442592230dc6c95685bc92f298068cf84eeef6f;hpb=229b87f259ab1bc2c65f481eb39c25a872080fe7 diff --git a/src/qtui/chatmonitorview.cpp b/src/qtui/chatmonitorview.cpp index d5c37312..39439d90 100644 --- a/src/qtui/chatmonitorview.cpp +++ b/src/qtui/chatmonitorview.cpp @@ -29,10 +29,13 @@ #include "chatitem.h" #include "chatscene.h" #include "client.h" +#include "iconloader.h" #include "networkmodel.h" #include "buffermodel.h" #include "messagemodel.h" #include "qtuisettings.h" +#include "settingspagedlg.h" +#include "settingspages/chatmonitorsettingspage.h" ChatMonitorView::ChatMonitorView(ChatMonitorFilter *filter, QWidget *parent) : ChatView(filter, parent), @@ -41,28 +44,29 @@ ChatMonitorView::ChatMonitorView(ChatMonitorFilter *filter, QWidget *parent) scene()->setSenderCutoffMode(ChatScene::CutoffLeft); } -void ChatMonitorView::contextMenuEvent(QContextMenuEvent *event) { - QMenu contextMenu(this); - - QAction *showOwnNicksAction = contextMenu.addAction(tr("Show own messages"), _filter, SLOT(setShowOwnMessages(bool))); +void ChatMonitorView::addActionsToMenu(QMenu *menu, const QPointF &pos) { + ChatView::addActionsToMenu(menu, pos); + menu->addSeparator(); + QAction *showOwnNicksAction = menu->addAction(tr("Show Own Messages"), _filter, SLOT(setShowOwnMessages(bool))); showOwnNicksAction->setCheckable(true); showOwnNicksAction->setChecked(_filter->showOwnMessages()); - - if(scene()->columnByScenePos(event->pos()) == ChatLineModel::SenderColumn) { - contextMenu.addSeparator(); - QAction *showNetworkAction = contextMenu.addAction(tr("Show network name"), this, SLOT(showFieldsChanged(bool))); + if(scene()->columnByScenePos(pos) == ChatLineModel::SenderColumn) { + menu->addSeparator(); + + QAction *showNetworkAction = menu->addAction(tr("Show Network Name"), this, SLOT(showFieldsChanged(bool))); showNetworkAction->setCheckable(true); showNetworkAction->setChecked(_filter->showFields() & ChatMonitorFilter::NetworkField); showNetworkAction->setData(ChatMonitorFilter::NetworkField); - QAction *showBufferAction = contextMenu.addAction(tr("Show buffer name"), this, SLOT(showFieldsChanged(bool))); + QAction *showBufferAction = menu->addAction(tr("Show Buffer Name"), this, SLOT(showFieldsChanged(bool))); showBufferAction->setCheckable(true); showBufferAction->setChecked(_filter->showFields() & ChatMonitorFilter::BufferField); showBufferAction->setData(ChatMonitorFilter::BufferField); } - contextMenu.exec(QCursor::pos()); + menu->addSeparator(); + menu->addAction(SmallIcon("configure"), tr("Configure..."), this, SLOT(showSettingsPage())); } void ChatMonitorView::mouseDoubleClickEvent(QMouseEvent *event) { @@ -95,3 +99,8 @@ void ChatMonitorView::showFieldsChanged(bool checked) { else _filter->removeShowField(showAction->data().toInt()); } + +void ChatMonitorView::showSettingsPage() { + SettingsPageDlg dlg(new ChatMonitorSettingsPage(), this); + dlg.exec(); +}