mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-08 21:07:42 +00:00
Start renaming project to Metaforce
This commit is contained in:
80
metaforce-gui/MainWindow.hpp
Normal file
80
metaforce-gui/MainWindow.hpp
Normal file
@@ -0,0 +1,80 @@
|
||||
#pragma once
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include <QMainWindow>
|
||||
#include <QProcess>
|
||||
#include <QTextCursor>
|
||||
#include <QCheckBox>
|
||||
#include <QComboBox>
|
||||
#include <QRadioButton>
|
||||
|
||||
#include "Common.hpp"
|
||||
#include "DownloadManager.hpp"
|
||||
|
||||
#include <hecl/CVarCommons.hpp>
|
||||
#include <hecl/Runtime.hpp>
|
||||
|
||||
class QPushButton;
|
||||
class QTextCharFormat;
|
||||
class QTextEdit;
|
||||
class QuaZip;
|
||||
|
||||
namespace Ui {
|
||||
class MainWindow;
|
||||
} // namespace Ui
|
||||
|
||||
class MainWindow : public QMainWindow {
|
||||
static const QStringList skUpdateTracks;
|
||||
Q_OBJECT
|
||||
std::unique_ptr<Ui::MainWindow> m_ui;
|
||||
hecl::Runtime::FileStoreManager m_fileMgr;
|
||||
hecl::CVarManager m_cvarManager;
|
||||
hecl::CVarCommons m_cvarCommons;
|
||||
QTextCursor m_cursor;
|
||||
QString m_path;
|
||||
QString m_urdePath;
|
||||
QString m_heclPath;
|
||||
QProcess m_heclProc;
|
||||
DownloadManager m_dlManager;
|
||||
QStringList m_warpSettings;
|
||||
QSettings m_settings;
|
||||
URDEVersion m_recommendedVersion;
|
||||
bool m_inContinueNote = false;
|
||||
QStringListModel m_launchOptionsModel;
|
||||
|
||||
public:
|
||||
explicit MainWindow(QWidget* parent = nullptr);
|
||||
~MainWindow() override;
|
||||
|
||||
void setTextTermFormatting(const QString& text);
|
||||
void insertContinueNote(const QString& text);
|
||||
|
||||
private slots:
|
||||
void onExtract();
|
||||
void onExtractFinished(int exitCode, QProcess::ExitStatus);
|
||||
void onPackage();
|
||||
void onPackageFinished(int exitCode, QProcess::ExitStatus);
|
||||
void onLaunch();
|
||||
void onLaunchFinished(int exitCode, QProcess::ExitStatus);
|
||||
void doHECLTerminate();
|
||||
void onReturnPressed();
|
||||
void onDownloadPressed();
|
||||
// void onUpdateURDEPressed();
|
||||
void onUpdateTrackChanged(int index);
|
||||
|
||||
private:
|
||||
bool checkDownloadedBinary();
|
||||
void setPath(const QString& path);
|
||||
void initSlots();
|
||||
void onIndexDownloaded(const QStringList& index);
|
||||
void onBinaryDownloaded(QuaZip& file);
|
||||
void onBinaryFailed();
|
||||
void disableOperations();
|
||||
void enableOperations();
|
||||
bool isPackageComplete() const;
|
||||
void initOptions();
|
||||
void initGraphicsApiOption(QRadioButton* action, bool hidden, bool isDefault);
|
||||
void initNumberComboOption(QComboBox* action, hecl::CVar* cvar);
|
||||
void initCheckboxOption(QCheckBox* action, hecl::CVar* cvar);
|
||||
};
|
||||
Reference in New Issue
Block a user