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 };