Use QDir in more places

This commit is contained in:
Joshua Goins 2023-08-31 13:39:00 +02:00
parent 1a0b6b8dd0
commit 892d6a7fff
6 changed files with 23 additions and 15 deletions

View file

@ -18,7 +18,9 @@
#include <QPushButton>
#include <QTextEdit>
ArtDetailWindow::ArtDetailWindow(const QString& filename, const QString& assetDirectory, QWidget* parent) : QDialog(parent) {
ArtDetailWindow::ArtDetailWindow(const QString &filename, const QDir &assetDirectory, QWidget *parent)
: QDialog(parent)
{
setMinimumWidth(800);
setMinimumHeight(600);
setWindowModality(Qt::WindowModality::WindowModal);
@ -37,7 +39,7 @@ ArtDetailWindow::ArtDetailWindow(const QString& filename, const QString& assetDi
mainLayout->addWidget(formLayoutWidget);
QImage image;
image.load(QStringLiteral("%1/%2.webp").arg(assetDirectory, withoutExtension));
image.load(assetDirectory.absoluteFilePath(QStringLiteral("%1.webp").arg(withoutExtension)));
auto previewBox = new QGroupBox(i18nc("@title:group", "Preview"));
mainLayout->addWidget(previewBox);

View file

@ -6,17 +6,18 @@
#include <QCheckBox>
#include <QDateEdit>
#include <QDialog>
#include <QDir>
#include <QJsonObject>
#include <QLineEdit>
#include <QListWidget>
#include <QStringListModel>
#include <QTextEdit>
#include <QDialog>
class ArtDetailWindow : public QDialog {
Q_OBJECT
public:
ArtDetailWindow(const QString& filename, const QString& assetDirectory, QWidget* parent = nullptr);
ArtDetailWindow(const QString &filename, const QDir &assetDirectory, QWidget *parent = nullptr);
private:
void loadData(const QString& filename);

View file

@ -14,7 +14,9 @@
#include <QPixmap>
#include <QtConcurrent>
ArtModel::ArtModel(const QString& definitionDirectory, const QString& assetDirectory) : QAbstractTableModel() {
ArtModel::ArtModel(const QDir &definitionDirectory, const QDir &assetDirectory)
: QAbstractTableModel()
{
piecesFuture = new QFutureWatcher<ArtPiece>(this);
connect(piecesFuture, &QFutureWatcher<ArtPiece>::resultReadyAt, this, &ArtModel::pieceFinished);
connect(piecesFuture, &QFutureWatcher<ArtPiece>::finished, this, &ArtModel::finished);
@ -31,7 +33,7 @@ ArtModel::ArtModel(const QString& definitionDirectory, const QString& assetDirec
continue;
}
pieceList.push_back(PieceInformation{QStringLiteral("%1/%2").arg(definitionDirectory, info.baseName()), QStringLiteral("%1/%2").arg(assetDirectory, info.baseName())});
pieceList.push_back(PieceInformation{definitionDirectory.absoluteFilePath(info.baseName()), assetDirectory.absoluteFilePath(info.baseName())});
beginInsertRows(QModelIndex(), m_artPieces.size(), m_artPieces.size() + 1);

View file

@ -5,9 +5,10 @@
#pragma once
#include <QAbstractTableModel>
#include <QDir>
#include <QFutureWatcher>
#include <QImage>
#include <QJsonObject>
#include <QFutureWatcher>
struct ArtPiece {
QString filename, jsonFilename;
@ -23,7 +24,7 @@ struct ArtPiece {
class ArtModel : public QAbstractTableModel {
Q_OBJECT
public:
explicit ArtModel(const QString& definitionDirectory, const QString& assetDirectory);
explicit ArtModel(const QDir &definitionDirectory, const QDir &assetDirectory);
[[nodiscard]] int rowCount(const QModelIndex &parent) const override;
[[nodiscard]] int columnCount(const QModelIndex &parent) const override;

View file

@ -13,7 +13,8 @@
#include "ArtDetailWindow.h"
#include "ArtModel.h"
MainWindow::MainWindow(const QString& definitionDirectory, const QString& assetDirectory, const QString& dataDirectory) {
MainWindow::MainWindow(const QDir &definitionDirectory, const QDir &assetDirectory, const QDir &dataDirectory)
{
setWindowTitle(i18nc("@title:window", "Redai"));
setMinimumSize(1280, 720);
@ -24,7 +25,7 @@ MainWindow::MainWindow(const QString& definitionDirectory, const QString& assetD
auto editConfigAction = manageMenu->addAction(i18nc("@action:inmenu", "Edit Config..."));
connect(editConfigAction, &QAction::triggered, this, [this, dataDirectory] {
auto window = new ArtConfigWindow(QStringLiteral("%1/art-config.json").arg(dataDirectory), this);
auto window = new ArtConfigWindow(dataDirectory.absoluteFilePath("art-config.json"), this);
window->show();
});

View file

@ -4,10 +4,11 @@
#pragma once
#include <QDir>
#include <QMainWindow>
class MainWindow : public QMainWindow {
Q_OBJECT
public:
explicit MainWindow(const QString& definitionDirectory, const QString& assetDirectory, const QString& dataDirectory);
explicit MainWindow(const QDir &definitionDirectory, const QDir &assetDirectory, const QDir &dataDirectory);
};