Aggregate similar state events

This commit is contained in:
Tobias Fella
2022-02-25 20:10:07 +00:00
parent 37c7fe380b
commit db8b2fd64b
9 changed files with 181 additions and 32 deletions

View File

@@ -0,0 +1,23 @@
// SPDX-FileCopyrightText: 2022 Tobias Fella <fella@posteo.de>
// SPDX-License-Identifier: LGPL-2.0-or-later
#pragma once
#include <QPair>
#include <QSortFilterProxyModel>
#include "messageeventmodel.h"
class CollapseStateProxyModel : public QSortFilterProxyModel
{
Q_OBJECT
public:
enum Roles {
AggregateDisplayRole = MessageEventModel::LastRole + 1,
};
[[nodiscard]] bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const override;
[[nodiscard]] QHash<int, QByteArray> roleNames() const override;
[[nodiscard]] QVariant data(const QModelIndex &idx, int role = Qt::DisplayRole) const override;
[[nodiscard]] QString aggregateEventToString(int row) const;
};