/* Copyright (C) 2018 * swift project Community / Contributors * * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level * directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project, * including this file, may be copied, modified, propagated, or distributed except according to the terms * contained in the LICENSE file. */ //! \file #ifndef BLACKGUI_MODELS_LISTMODELTIMESTAMPOBJECTS_H #define BLACKGUI_MODELS_LISTMODELTIMESTAMPOBJECTS_H #include "blackgui/models/listmodelbase.h" #include #include #include class QModelIndex; class QObject; namespace BlackGui { namespace Models { //! List model for timestamp based objects with offset template class CListModelTimestampObjects : public CListModelBase { protected: //! Constructor CListModelTimestampObjects(const QString &translationContext, QObject *parent = nullptr); //! Standard timestamp columns void addTimestampColumns(); }; //! List model for timestamp based objects with offset template class CListModelTimestampWithOffsetObjects : public CListModelTimestampObjects { public: //! Destructor virtual ~CListModelTimestampWithOffsetObjects() {} //! Insert as first element by keeping maxElements and the latest first void push_frontKeepLatestAdjustedFirst(const ObjectType &object, int max); protected: //! Constructor CListModelTimestampWithOffsetObjects(const QString &translationContext, QObject *parent = nullptr); //! Standard timestamp offset columns void addTimestampOffsetColumns(); }; } // namespace } // namespace #endif // guard