File indexing completed on 2024-04-28 16:42:52

0001 // SPDX-FileCopyrightText: 2019 Nicolas Fella <nicolas.fella@gmx.de>
0002 // SPDX-FileCopyrightText: 2021 Alexey Andreyev <aa13q@ya.ru>
0003 //
0004 // SPDX-License-Identifier: LGPL-2.1-or-later
0005 
0006 #pragma once
0007 
0008 #include "call-model.h"
0009 #include "callhistorydatabaseinterface.h"
0010 
0011 class CallHistoryModel : public CallModel
0012 {
0013     Q_OBJECT
0014 public:
0015     CallHistoryModel(QObject *parent = nullptr);
0016 
0017     Q_INVOKABLE void addCall(const DialerTypes::CallData &callData);
0018     Q_INVOKABLE void clear();
0019     Q_INVOKABLE void remove(int index);
0020 
0021     QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
0022     int rowCount(const QModelIndex &parent = QModelIndex()) const override;
0023     bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()) override;
0024 
0025 private:
0026     org::kde::telephony::CallHistoryDatabase *_databaseInterface;
0027     DialerTypes::CallDataVector _calls;
0028 
0029     void _fetchCalls();
0030 };