File indexing completed on 2024-05-26 05:28:54

0001 /* Copyright (C) 2012 - 2013 Peter Amidon <peter@picnicpark.org>
0002 
0003    This file is part of the Trojita Qt IMAP e-mail client,
0004    http://trojita.flaska.net/
0005 
0006    This program is free software; you can redistribute it and/or
0007    modify it under the terms of the GNU General Public License as
0008    published by the Free Software Foundation; either version 2 of
0009    the License or (at your option) version 3 or any later version
0010    accepted by the membership of KDE e.V. (or its successor approved
0011    by the membership of KDE e.V.), which shall act as a proxy
0012    defined in Section 14 of version 3 of the license.
0013 
0014    This program is distributed in the hope that it will be useful,
0015    but WITHOUT ANY WARRANTY; without even the implied warranty of
0016    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0017    GNU General Public License for more details.
0018 
0019    You should have received a copy of the GNU General Public License
0020    along with this program.  If not, see <http://www.gnu.org/licenses/>.
0021 */
0022 
0023 #include <QtTest>
0024 #include "ModelEvents.h"
0025 #include "Common/MetaTypes.h"
0026 
0027 namespace QTest
0028 {
0029     template<>
0030     char *toString(const ModelInsertRemoveEvent &event)
0031     {
0032         QString buf;
0033         QDebug(&buf) << "parent:" << event.parent
0034                      << "start:" << event.start
0035                      << "end:" << event.end;
0036         return qstrdup(buf.toUtf8().constData());
0037     }
0038 
0039     template<>
0040     char *toString(const ModelMoveEvent &event)
0041     {
0042         QString buf;
0043         QDebug(&buf) << "sourceParent:" << event.sourceParent << "sourceStart:" << event.sourceStart
0044                      << "sourceEnd:" << event.sourceEnd << "destinationParent:" << event.destinationParent
0045                      << "destinationRow:" << event.destinationRow;
0046         return qstrdup(buf.toUtf8().constData());
0047     }
0048 }
0049 
0050 ModelInsertRemoveEvent::ModelInsertRemoveEvent(const QVariantList &values)
0051 {
0052     parent = qvariant_cast<QModelIndex>(values.at(0));
0053     start = values.at(1).toInt();
0054     end = values.at(2).toInt();
0055 }
0056 
0057 ModelInsertRemoveEvent::ModelInsertRemoveEvent(const QModelIndex &parent, int start, int end) :
0058     parent(parent), start(start), end(end)
0059 {
0060 }
0061 
0062 bool ModelInsertRemoveEvent::operator==(const ModelInsertRemoveEvent &b) const
0063 {
0064     return ((parent == b.parent) && (start == b.start) && (end == b.end));
0065 }
0066 
0067 ModelMoveEvent::ModelMoveEvent(const QVariantList &values)
0068 {
0069     sourceParent = qvariant_cast<QModelIndex>(values.at(0));
0070     sourceStart = values.at(1).toInt();
0071     sourceEnd = values.at(2).toInt();
0072     destinationParent = qvariant_cast<QModelIndex>(values.at(3));
0073     destinationRow = values.at(4).toInt();
0074 }
0075 
0076 ModelMoveEvent::ModelMoveEvent(const QModelIndex &sourceParent, int sourceStart, int sourceEnd,
0077                                const QModelIndex &destinationParent, int destinationRow) :
0078     sourceParent(sourceParent), sourceStart(sourceStart), sourceEnd(sourceEnd),
0079     destinationParent(destinationParent), destinationRow(destinationRow)
0080 {
0081 }
0082 
0083 bool ModelMoveEvent::operator==(const ModelMoveEvent &b) const
0084 {
0085     return (sourceParent == b.sourceParent) && (sourceStart == b.sourceStart) && (sourceEnd == b.sourceEnd) &&
0086       (destinationParent == b.destinationParent) && (destinationRow == b.destinationRow);
0087 }