diff --git a/src/utils/keysfiles.cpp b/src/utils/keysfiles.cpp index 39081bc..72171ac 100644 --- a/src/utils/keysfiles.cpp +++ b/src/utils/keysfiles.cpp @@ -19,7 +19,7 @@ using namespace std::chrono; -WalletKeysFiles::WalletKeysFiles(const QFileInfo &info, quint8 networkType, QString address) : +WalletKeysFiles::WalletKeysFiles(const QFileInfo &info, int networkType, QString address) : m_fileName(info.fileName()), m_modified(info.lastModified().toSecsSinceEpoch()), m_path(QDir::toNativeSeparators(info.absoluteFilePath())), @@ -42,7 +42,7 @@ QString WalletKeysFiles::path() const { return m_path; } -quint8 WalletKeysFiles::networkType() const { +int WalletKeysFiles::networkType() const { return m_networkType; } @@ -168,7 +168,7 @@ QVariant WalletKeysFilesModel::data(const QModelIndex &index, int role) const { } else if(role == Qt::UserRole) { switch(index.column()) { case ModelColumns::NetworkType: - return static_cast(walletKeyFile.networkType()); + return static_cast(walletKeyFile.networkType()); case ModelColumns::FileName: return walletKeyFile.fileName(); case ModelColumns::Modified: @@ -201,9 +201,15 @@ QVariant WalletKeysFilesModel::headerData(int section, Qt::Orientation orientati return QVariant(); } -WalletKeysFilesProxyModel::WalletKeysFilesProxyModel(QObject *parent) : - QSortFilterProxyModel(parent) {} +WalletKeysFilesProxyModel::WalletKeysFilesProxyModel(QObject *parent, NetworkType::Type nettype) + : QSortFilterProxyModel(parent) + , m_nettype(nettype) +{ +} bool WalletKeysFilesProxyModel::filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const { - return true; + QModelIndex nettypeIndex = sourceModel()->index(sourceRow, WalletKeysFilesModel::NetworkType, sourceParent); + NetworkType::Type nettype = static_cast(sourceModel()->data(nettypeIndex, Qt::UserRole).toInt()); + + return (m_nettype == nettype); } \ No newline at end of file diff --git a/src/utils/keysfiles.h b/src/utils/keysfiles.h index 4ce9a30..5277ab9 100644 --- a/src/utils/keysfiles.h +++ b/src/utils/keysfiles.h @@ -12,19 +12,19 @@ class WalletKeysFiles { public: - WalletKeysFiles(const QFileInfo &info, quint8 networkType, QString address); + WalletKeysFiles(const QFileInfo &info, int networkType, QString address); QString fileName() const; qint64 modified() const; QString path() const; - quint8 networkType() const; + int networkType() const; QString address() const; private: QString m_fileName; qint64 m_modified; QString m_path; - quint8 m_networkType; + int m_networkType; QString m_address; }; @@ -64,8 +64,11 @@ class WalletKeysFilesProxyModel : public QSortFilterProxyModel { Q_OBJECT public: - explicit WalletKeysFilesProxyModel(QObject *parent = nullptr); + explicit WalletKeysFilesProxyModel(QObject *parent, NetworkType::Type nettype); bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const override; + +private: + NetworkType::Type m_nettype; }; #endif // KEYSFILES_H diff --git a/src/wizard/openwallet.cpp b/src/wizard/openwallet.cpp index 397d552..7092917 100644 --- a/src/wizard/openwallet.cpp +++ b/src/wizard/openwallet.cpp @@ -49,11 +49,12 @@ OpenWalletPage::OpenWalletPage(AppContext *ctx, QWidget *parent) : this->walletKeysFilesModel = new WalletKeysFilesModel(m_ctx); this->walletKeysFilesModel->refresh(); - m_keysProxy = new WalletKeysFilesProxyModel(); + m_keysProxy = new WalletKeysFilesProxyModel(this, m_ctx->networkType); m_keysProxy->setSourceModel(this->walletKeysFilesModel); m_keysProxy->setSortRole(Qt::UserRole); ui->walletTable->setModel(m_keysProxy); + ui->walletTable->hideColumn(WalletKeysFilesModel::NetworkType); ui->walletTable->header()->setSectionResizeMode(QHeaderView::ResizeToContents); ui->walletTable->header()->setSectionResizeMode(WalletKeysFilesModel::Path, QHeaderView::Stretch); ui->walletTable->setSortingEnabled(true);