File indexing completed on 2024-05-12 05:11:12

0001 /*
0002     SPDX-FileCopyrightText: 2009 Constantin Berzan <exit3219@gmail.com>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "specialmailcollections.h"
0008 #include "specialmailcollectionssettings.h"
0009 #include "specialmailcollectionstesting_p.h"
0010 
0011 #include <Akonadi/SpecialCollection>
0012 
0013 using namespace Akonadi;
0014 
0015 typedef SpecialMailCollectionsSettings Settings;
0016 
0017 SpecialMailCollectionsTesting *SpecialMailCollectionsTesting::_t_self()
0018 {
0019     static SpecialMailCollectionsTesting instance;
0020     return &instance;
0021 }
0022 
0023 void SpecialMailCollectionsTesting::_t_setDefaultResourceId(const QString &resourceId)
0024 {
0025     Settings::self()->defaultResourceIdItem()->setValue(resourceId);
0026     Settings::self()->save();
0027 }
0028 
0029 void SpecialMailCollectionsTesting::_t_forgetFoldersForResource(const QString &resourceId)
0030 {
0031     static_cast<SpecialCollections *>(SpecialMailCollections::self())->d->forgetFoldersForResource(resourceId);
0032 }
0033 
0034 void SpecialMailCollectionsTesting::_t_beginBatchRegister()
0035 {
0036     static_cast<SpecialCollections *>(SpecialMailCollections::self())->d->beginBatchRegister();
0037 }
0038 
0039 void SpecialMailCollectionsTesting::_t_endBatchRegister()
0040 {
0041     static_cast<SpecialCollections *>(SpecialMailCollections::self())->d->endBatchRegister();
0042 }
0043 
0044 int SpecialMailCollectionsTesting::_t_knownResourceCount() const
0045 {
0046     return static_cast<SpecialCollections *>(SpecialMailCollections::self())->d->mFoldersForResource.count();
0047 }
0048 
0049 int SpecialMailCollectionsTesting::_t_knownFolderCount() const
0050 {
0051     const SpecialCollectionsPrivate *d = static_cast<SpecialCollections *>(SpecialMailCollections::self())->d;
0052     int ret = 0;
0053 
0054     QHashIterator<QString, QHash<QByteArray, Collection>> resourceIt(d->mFoldersForResource);
0055     while (resourceIt.hasNext()) {
0056         resourceIt.next();
0057 
0058         QHashIterator<QByteArray, Collection> it(resourceIt.value());
0059         while (it.hasNext()) {
0060             it.next();
0061             if (it.value().isValid()) {
0062                 ret++;
0063             }
0064         }
0065     }
0066     return ret;
0067 }