From: Marcus Eggenberger Date: Wed, 5 Nov 2008 09:48:27 +0000 (+0100) Subject: no comment... X-Git-Tag: 0.3.1~69 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=332232bd33950eb2b63cbcd916e208515e13c35d;ds=sidebyside no comment... --- diff --git a/src/qtui/debugmessagemodelfilter.cpp b/src/qtui/debugmessagemodelfilter.cpp new file mode 100644 index 00000000..638fb1df --- /dev/null +++ b/src/qtui/debugmessagemodelfilter.cpp @@ -0,0 +1,55 @@ +/*************************************************************************** + * Copyright (C) 2005-08 by the Quassel Project * + * devel@quassel-irc.org * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) version 3. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * 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. * + ***************************************************************************/ + +#include "debugmessagemodelfilter.h" + +#include "messagemodel.h" + +DebugMessageModelFilter::DebugMessageModelFilter(QObject *parent) + : QSortFilterProxyModel(parent) +{ +} + +QVariant DebugMessageModelFilter::headerData(int section, Qt::Orientation orientation, int role) const { + if(orientation != Qt::Horizontal || role != Qt::DisplayRole) + return QVariant(); + + switch(section) { + case 0: + return "MessageId"; + case 1: + return "Sender"; + case 2: + return "Message"; + default: + return QVariant(); + } +} + +QVariant DebugMessageModelFilter::data(const QModelIndex &index, int role) const { + if(index.column() != 0 || role != Qt::DisplayRole) + return QSortFilterProxyModel::data(index, role); + + if(!sourceModel()) + return QVariant(); + + QModelIndex source_index = mapToSource(index); + return sourceModel()->data(source_index, MessageModel::MsgIdRole).value().toInt(); +} diff --git a/src/qtui/debugmessagemodelfilter.h b/src/qtui/debugmessagemodelfilter.h new file mode 100644 index 00000000..07d64f25 --- /dev/null +++ b/src/qtui/debugmessagemodelfilter.h @@ -0,0 +1,35 @@ +/*************************************************************************** + * Copyright (C) 2005-08 by the Quassel Project * + * devel@quassel-irc.org * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) version 3. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * 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. * + ***************************************************************************/ + +#ifndef DEBUGMESSAGEMODELFILTER_H +#define DEBUGMESSAGEMODELFILTER_H + +#include + +class DebugMessageModelFilter : public QSortFilterProxyModel { + Q_OBJECT + +public: + DebugMessageModelFilter(QObject *parent = 0); + QVariant headerData(int section, Qt::Orientation orientation, int role) const; + virtual QVariant data(const QModelIndex &index, int role) const; +}; + +#endif //DEBUGMESSAGEMODELFILTER_H