AccountSwitcher: make table sortable

This commit is contained in:
tobtoht
2021-05-26 00:08:32 +02:00
parent afd29c81fc
commit 4dcd34e4bf
5 changed files with 61 additions and 4 deletions
+12
View File
@@ -5,6 +5,8 @@
#include "SubaddressAccount.h"
#include <QDebug>
#include <QFont>
#include "ModelUtils.h"
SubaddressAccountModel::SubaddressAccountModel(QObject *parent, SubaddressAccount *subaddressAccount)
: QAbstractTableModel(parent)
@@ -50,6 +52,11 @@ QVariant SubaddressAccountModel::data(const QModelIndex &index, int role) const
if (role == Qt::DisplayRole || role == Qt::EditRole || role == Qt::UserRole) {
result = parseSubaddressAccountRow(row, index, role);
}
else if (role == Qt::FontRole) {
if (index.column() == Column::Balance || index.column() == Column::UnlockedBalance) {
result = ModelUtils::getMonospaceFont();
}
}
});
if (!found) {
@@ -135,4 +142,9 @@ Qt::ItemFlags SubaddressAccountModel::flags(const QModelIndex &index) const
Monero::SubaddressAccountRow* SubaddressAccountModel::entryFromIndex(const QModelIndex &index) const {
Q_ASSERT(index.isValid() && index.row() < m_subaddressAccount->count());
return m_subaddressAccount->row(index.row());
}
SubaddressAccountProxyModel::SubaddressAccountProxyModel(QObject *parent)
: QSortFilterProxyModel(parent)
{
}
+9
View File
@@ -6,6 +6,7 @@
#include "Subaddress.h"
#include <QAbstractTableModel>
#include <QSortFilterProxyModel>
class SubaddressAccount;
@@ -45,4 +46,12 @@ private:
SubaddressAccount *m_subaddressAccount;
};
class SubaddressAccountProxyModel : public QSortFilterProxyModel
{
Q_OBJECT
public:
explicit SubaddressAccountProxyModel(QObject *parent = nullptr);
};
#endif // SUBADDRESSACCOUNTMODEL_H