1 /* This file is part of the KDE project 2 Copyright 2008 Stefan Nikolaus stefan.nikolaus@kdemail.net 3 4 This library is free software; you can redistribute it and/or 5 modify it under the terms of the GNU Library General Public 6 License as published by the Free Software Foundation; either 7 version 2 of the License, or (at your option) any later version. 8 9 This library is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 Library General Public License for more details. 13 14 You should have received a copy of the GNU Library General Public License 15 along with this library; see the file COPYING.LIB. If not, write to 16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 17 Boston, MA 02110-1301, USA. 18 */ 19 20 #ifndef KSPREAD_CONDITIONS_STORAGE 21 #define KSPREAD_CONDITIONS_STORAGE 22 23 #include "Condition.h" 24 #include "RectStorage.h" 25 26 namespace Calligra 27 { 28 namespace Sheets 29 { 30 31 /** 32 * \class ConditionsStorage 33 * \ingroup Storage 34 * Stores conditional cell styles. 35 */ 36 class ConditionsStorage : public QObject, public RectStorage<Conditions> 37 { 38 Q_OBJECT 39 public: ConditionsStorage(Map * map)40 explicit ConditionsStorage(Map* map) : QObject(map), RectStorage<Conditions>(map) {} ConditionsStorage(const ConditionsStorage & other)41 ConditionsStorage(const ConditionsStorage& other) : QObject(other.parent()), RectStorage<Conditions>(other) {} 42 43 protected Q_SLOTS: triggerGarbageCollection()44 void triggerGarbageCollection() override { 45 QTimer::singleShot(g_garbageCollectionTimeOut, this, SLOT(garbageCollection())); 46 } garbageCollection()47 void garbageCollection() override { 48 RectStorage<Conditions>::garbageCollection(); 49 } 50 }; 51 52 } // namespace Sheets 53 } // namespace Calligra 54 55 #endif // KSPREAD_CONDITIONS_STORAGE 56