Use QDir in more places
This commit is contained in:
parent
1a0b6b8dd0
commit
892d6a7fff
6 changed files with 23 additions and 15 deletions
|
@ -18,8 +18,10 @@
|
||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
#include <QTextEdit>
|
#include <QTextEdit>
|
||||||
|
|
||||||
ArtDetailWindow::ArtDetailWindow(const QString& filename, const QString& assetDirectory, QWidget* parent) : QDialog(parent) {
|
ArtDetailWindow::ArtDetailWindow(const QString &filename, const QDir &assetDirectory, QWidget *parent)
|
||||||
setMinimumWidth(800);
|
: QDialog(parent)
|
||||||
|
{
|
||||||
|
setMinimumWidth(800);
|
||||||
setMinimumHeight(600);
|
setMinimumHeight(600);
|
||||||
setWindowModality(Qt::WindowModality::WindowModal);
|
setWindowModality(Qt::WindowModality::WindowModal);
|
||||||
setWindowTitle(filename);
|
setWindowTitle(filename);
|
||||||
|
@ -37,7 +39,7 @@ ArtDetailWindow::ArtDetailWindow(const QString& filename, const QString& assetDi
|
||||||
mainLayout->addWidget(formLayoutWidget);
|
mainLayout->addWidget(formLayoutWidget);
|
||||||
|
|
||||||
QImage image;
|
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"));
|
auto previewBox = new QGroupBox(i18nc("@title:group", "Preview"));
|
||||||
mainLayout->addWidget(previewBox);
|
mainLayout->addWidget(previewBox);
|
||||||
|
|
|
@ -6,17 +6,18 @@
|
||||||
|
|
||||||
#include <QCheckBox>
|
#include <QCheckBox>
|
||||||
#include <QDateEdit>
|
#include <QDateEdit>
|
||||||
|
#include <QDialog>
|
||||||
|
#include <QDir>
|
||||||
#include <QJsonObject>
|
#include <QJsonObject>
|
||||||
#include <QLineEdit>
|
#include <QLineEdit>
|
||||||
#include <QListWidget>
|
#include <QListWidget>
|
||||||
#include <QStringListModel>
|
#include <QStringListModel>
|
||||||
#include <QTextEdit>
|
#include <QTextEdit>
|
||||||
#include <QDialog>
|
|
||||||
|
|
||||||
class ArtDetailWindow : public QDialog {
|
class ArtDetailWindow : public QDialog {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
ArtDetailWindow(const QString& filename, const QString& assetDirectory, QWidget* parent = nullptr);
|
ArtDetailWindow(const QString &filename, const QDir &assetDirectory, QWidget *parent = nullptr);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void loadData(const QString& filename);
|
void loadData(const QString& filename);
|
||||||
|
|
|
@ -14,8 +14,10 @@
|
||||||
#include <QPixmap>
|
#include <QPixmap>
|
||||||
#include <QtConcurrent>
|
#include <QtConcurrent>
|
||||||
|
|
||||||
ArtModel::ArtModel(const QString& definitionDirectory, const QString& assetDirectory) : QAbstractTableModel() {
|
ArtModel::ArtModel(const QDir &definitionDirectory, const QDir &assetDirectory)
|
||||||
piecesFuture = new QFutureWatcher<ArtPiece>(this);
|
: QAbstractTableModel()
|
||||||
|
{
|
||||||
|
piecesFuture = new QFutureWatcher<ArtPiece>(this);
|
||||||
connect(piecesFuture, &QFutureWatcher<ArtPiece>::resultReadyAt, this, &ArtModel::pieceFinished);
|
connect(piecesFuture, &QFutureWatcher<ArtPiece>::resultReadyAt, this, &ArtModel::pieceFinished);
|
||||||
connect(piecesFuture, &QFutureWatcher<ArtPiece>::finished, this, &ArtModel::finished);
|
connect(piecesFuture, &QFutureWatcher<ArtPiece>::finished, this, &ArtModel::finished);
|
||||||
|
|
||||||
|
@ -31,9 +33,9 @@ ArtModel::ArtModel(const QString& definitionDirectory, const QString& assetDirec
|
||||||
continue;
|
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);
|
beginInsertRows(QModelIndex(), m_artPieces.size(), m_artPieces.size() + 1);
|
||||||
|
|
||||||
m_artPieces.push_back(ArtPiece{});
|
m_artPieces.push_back(ArtPiece{});
|
||||||
|
|
||||||
|
|
|
@ -5,9 +5,10 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <QAbstractTableModel>
|
#include <QAbstractTableModel>
|
||||||
|
#include <QDir>
|
||||||
|
#include <QFutureWatcher>
|
||||||
#include <QImage>
|
#include <QImage>
|
||||||
#include <QJsonObject>
|
#include <QJsonObject>
|
||||||
#include <QFutureWatcher>
|
|
||||||
|
|
||||||
struct ArtPiece {
|
struct ArtPiece {
|
||||||
QString filename, jsonFilename;
|
QString filename, jsonFilename;
|
||||||
|
@ -23,9 +24,9 @@ struct ArtPiece {
|
||||||
class ArtModel : public QAbstractTableModel {
|
class ArtModel : public QAbstractTableModel {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
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 rowCount(const QModelIndex &parent) const override;
|
||||||
[[nodiscard]] int columnCount(const QModelIndex &parent) const override;
|
[[nodiscard]] int columnCount(const QModelIndex &parent) const override;
|
||||||
|
|
||||||
[[nodiscard]] QVariant data(const QModelIndex &index, int role) const override;
|
[[nodiscard]] QVariant data(const QModelIndex &index, int role) const override;
|
||||||
|
|
|
@ -13,7 +13,8 @@
|
||||||
#include "ArtDetailWindow.h"
|
#include "ArtDetailWindow.h"
|
||||||
#include "ArtModel.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"));
|
setWindowTitle(i18nc("@title:window", "Redai"));
|
||||||
setMinimumSize(1280, 720);
|
setMinimumSize(1280, 720);
|
||||||
|
|
||||||
|
@ -24,7 +25,7 @@ MainWindow::MainWindow(const QString& definitionDirectory, const QString& assetD
|
||||||
|
|
||||||
auto editConfigAction = manageMenu->addAction(i18nc("@action:inmenu", "Edit Config..."));
|
auto editConfigAction = manageMenu->addAction(i18nc("@action:inmenu", "Edit Config..."));
|
||||||
connect(editConfigAction, &QAction::triggered, this, [this, dataDirectory] {
|
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();
|
window->show();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -4,10 +4,11 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include <QDir>
|
||||||
#include <QMainWindow>
|
#include <QMainWindow>
|
||||||
|
|
||||||
class MainWindow : public QMainWindow {
|
class MainWindow : public QMainWindow {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit MainWindow(const QString& definitionDirectory, const QString& assetDirectory, const QString& dataDirectory);
|
explicit MainWindow(const QDir &definitionDirectory, const QDir &assetDirectory, const QDir &dataDirectory);
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Reference in a new issue