Sanitize topic message
[quassel.git] / src / qtui / chatmonitorview.cpp
index 4316486..2c73e35 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-09 by the Quassel Project                          *
+ *   Copyright (C) 2005-2013 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -15,7 +15,7 @@
  *   You should have received a copy of the GNU General Public License     *
  *   along with this program; if not, write to the                         *
  *   Free Software Foundation, Inc.,                                       *
- *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.         *
  ***************************************************************************/
 
 #include "chatmonitorview.h"
 #include "clientignorelistmanager.h"
 
 ChatMonitorView::ChatMonitorView(ChatMonitorFilter *filter, QWidget *parent)
-  : ChatView(filter, parent),
+    : ChatView(filter, parent),
     _filter(filter)
 {
-  scene()->setSenderCutoffMode(ChatScene::CutoffLeft);
-  connect(Client::instance(), SIGNAL(coreConnectionStateChanged(bool)), this, SLOT(coreConnectionStateChanged(bool)));
+    scene()->setSenderCutoffMode(ChatScene::CutoffLeft);
+    connect(Client::instance(), SIGNAL(coreConnectionStateChanged(bool)), this, SLOT(coreConnectionStateChanged(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(pos) == ChatLineModel::SenderColumn) {
+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(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 *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 = menu->addAction(tr("Show Buffer Name"), this, SLOT(showFieldsChanged(bool)));
-    showBufferAction->setCheckable(true);
-    showBufferAction->setChecked(_filter->showFields() & ChatMonitorFilter::BufferField);
-    showBufferAction->setData(ChatMonitorFilter::BufferField);
-  }
+        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);
+    }
 
-  menu->addSeparator();
-  menu->addAction(SmallIcon("configure"), tr("Configure..."), this, SLOT(showSettingsPage()));
+    menu->addSeparator();
+    menu->addAction(SmallIcon("configure"), tr("Configure..."), this, SLOT(showSettingsPage()));
 }
 
-void ChatMonitorView::mouseDoubleClickEvent(QMouseEvent *event) {
-  if(scene()->columnByScenePos(event->pos()) != ChatLineModel::SenderColumn) {
-    ChatView::mouseDoubleClickEvent(event);
-    return;
-  }
 
-  ChatItem *chatItem = scene()->chatItemAt(mapToScene(event->pos()));
-  if(!chatItem) {
-    event->ignore();
-    return;
-  }
+void ChatMonitorView::mouseDoubleClickEvent(QMouseEvent *event)
+{
+    if (scene()->columnByScenePos(event->pos()) != ChatLineModel::SenderColumn) {
+        ChatView::mouseDoubleClickEvent(event);
+        return;
+    }
+
+    ChatItem *chatItem = scene()->chatItemAt(mapToScene(event->pos()));
+    if (!chatItem) {
+        event->ignore();
+        return;
+    }
+
+    event->accept();
+    BufferId bufferId = chatItem->data(MessageModel::BufferIdRole).value<BufferId>();
+    if (!bufferId.isValid())
+        return;
+
+    Client::bufferModel()->switchToBuffer(bufferId);
+}
 
-  event->accept();
-  BufferId bufferId = chatItem->data(MessageModel::BufferIdRole).value<BufferId>();
-  if(!bufferId.isValid())
-    return;
 
-  Client::bufferModel()->switchToBuffer(bufferId);
+void ChatMonitorView::showFieldsChanged(bool checked)
+{
+    QAction *showAction = qobject_cast<QAction *>(sender());
+    if (!showAction)
+        return;
+
+    if (checked)
+        _filter->addShowField(showAction->data().toInt());
+    else
+        _filter->removeShowField(showAction->data().toInt());
 }
 
-void ChatMonitorView::showFieldsChanged(bool checked) {
-  QAction *showAction = qobject_cast<QAction *>(sender());
-  if(!showAction)
-    return;
 
-  if(checked)
-    _filter->addShowField(showAction->data().toInt());
-  else
-    _filter->removeShowField(showAction->data().toInt());
+void ChatMonitorView::showSettingsPage()
+{
+    SettingsPageDlg dlg(new ChatMonitorSettingsPage(), this);
+    dlg.exec();
 }
 
-void ChatMonitorView::showSettingsPage() {
-  SettingsPageDlg dlg(new ChatMonitorSettingsPage(), this);
-  dlg.exec();
-}
 
 // connect only after client is synced to core since ChatMonitorView is created before
 // the ignoreListManager
-void ChatMonitorView::coreConnectionStateChanged(bool connected) {
-  if(connected)
-    connect(Client::ignoreListManager(), SIGNAL(ignoreListChanged()), _filter, SLOT(invalidateFilter()));
+void ChatMonitorView::coreConnectionStateChanged(bool connected)
+{
+    if (connected)
+        connect(Client::ignoreListManager(), SIGNAL(ignoreListChanged()), _filter, SLOT(invalidateFilter()));
 }