From a99eef68f5e621f78df3b8f54e0b44a6178437f5 Mon Sep 17 00:00:00 2001 From: xiphon Date: Fri, 24 Apr 2020 00:43:40 +0000 Subject: always use native directory separators in paths --- src/libwalletqt/Wallet.cpp | 2 +- src/main/main.cpp | 3 ++- src/qt/KeysFiles.cpp | 22 +++++++++++++++------- src/qt/KeysFiles.h | 7 +++++-- 4 files changed, 23 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/libwalletqt/Wallet.cpp b/src/libwalletqt/Wallet.cpp index c3f7cb97..8eacb113 100644 --- a/src/libwalletqt/Wallet.cpp +++ b/src/libwalletqt/Wallet.cpp @@ -227,7 +227,7 @@ QString Wallet::address(quint32 accountIndex, quint32 addressIndex) const QString Wallet::path() const { - return QString::fromStdString(m_walletImpl->path()); + return QDir::toNativeSeparators(QString::fromStdString(m_walletImpl->path())); } bool Wallet::store(const QString &path) diff --git a/src/main/main.cpp b/src/main/main.cpp index 2a64abdd..9de20ce4 100644 --- a/src/main/main.cpp +++ b/src/main/main.cpp @@ -210,6 +210,7 @@ int main(int argc, char *argv[]) qCritical() << "Error: accounts root directory could not be set"; return 1; } + moneroAccountsDir = QDir::toNativeSeparators(moneroAccountsDir); #if defined(Q_OS_LINUX) if (isDesktop) app.setWindowIcon(QIcon(":/images/appicon.ico")); @@ -241,7 +242,7 @@ Verify update binary using 'shasum'-compatible (SHA256 algo) output signed by tw Monero::Utils::onStartup(); // Log settings - const QString logPath = getLogPath(parser.value(logPathOption)); + const QString logPath = QDir::toNativeSeparators(getLogPath(parser.value(logPathOption))); Monero::Wallet::init(argv[0], "monero-wallet-gui", logPath.toStdString().c_str(), true); qInstallMessageHandler(messageHandler); diff --git a/src/qt/KeysFiles.cpp b/src/qt/KeysFiles.cpp index e3d8810a..edfed985 100644 --- a/src/qt/KeysFiles.cpp +++ b/src/qt/KeysFiles.cpp @@ -43,11 +43,20 @@ #include "KeysFiles.h" -WalletKeysFiles::WalletKeysFiles(const qint64 &modified, const QString &path, const quint8 &networkType, const QString &address) - : m_modified(modified), m_path(path), m_networkType(networkType), m_address(address) +WalletKeysFiles::WalletKeysFiles(const QFileInfo &info, quint8 networkType, QString address) + : m_fileName(info.fileName()) + , m_modified(info.lastModified().toSecsSinceEpoch()) + , m_path(QDir::toNativeSeparators(info.absoluteFilePath())) + , m_networkType(networkType) + , m_address(std::move(address)) { } +QString WalletKeysFiles::fileName() const +{ + return m_fileName; +} + qint64 WalletKeysFiles::modified() const { return m_modified; @@ -127,11 +136,7 @@ void WalletKeysFilesModel::findWallets(const QString &moneroAccountsDir) file.close(); } - const QFileInfo info(wallet); - const QDateTime modifiedAt = info.lastModified(); - - this->addWalletKeysFile(WalletKeysFiles(modifiedAt.toSecsSinceEpoch(), - info.absoluteFilePath(), networkType, address)); + this->addWalletKeysFile(WalletKeysFiles(wallet, networkType, std::move(address))); } } @@ -152,6 +157,8 @@ QVariant WalletKeysFilesModel::data(const QModelIndex & index, int role) const { return QVariant(); const WalletKeysFiles &walletKeyFile = m_walletKeyFiles[index.row()]; + if (role == FileNameRole) + return walletKeyFile.fileName(); if (role == ModifiedRole) return walletKeyFile.modified(); else if (role == PathRole) @@ -165,6 +172,7 @@ QVariant WalletKeysFilesModel::data(const QModelIndex & index, int role) const { QHash WalletKeysFilesModel::roleNames() const { QHash roles; + roles[FileNameRole] = "fileName"; roles[ModifiedRole] = "modified"; roles[PathRole] = "path"; roles[NetworkTypeRole] = "networktype"; diff --git a/src/qt/KeysFiles.h b/src/qt/KeysFiles.h index 6a9339e3..fca10003 100644 --- a/src/qt/KeysFiles.h +++ b/src/qt/KeysFiles.h @@ -37,14 +37,16 @@ class WalletKeysFiles { public: - WalletKeysFiles(const qint64 &modified, const QString &path, const quint8 &networkType, const QString &address); + WalletKeysFiles(const QFileInfo &info, quint8 networkType, QString address); + QString fileName() const; qint64 modified() const; QString path() const; quint8 networkType() const; QString address() const; private: + QString m_fileName; qint64 m_modified; QString m_path; quint8 m_networkType; @@ -56,7 +58,8 @@ class WalletKeysFilesModel : public QAbstractListModel Q_OBJECT public: enum KeysFilesRoles { - ModifiedRole = Qt::UserRole + 1, + FileNameRole = Qt::UserRole + 1, + ModifiedRole, PathRole, NetworkTypeRole, AddressRole -- cgit v1.2.3