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 }