2024-05-18 15:14:22 -04:00
|
|
|
// SPDX-FileCopyrightText: 2024 Joshua Goins <josh@redstrate.com>
|
|
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
|
|
|
|
#include "mainwindow.h"
|
|
|
|
#include "settings.h"
|
|
|
|
|
2024-05-27 18:18:54 -04:00
|
|
|
#include <KActionCollection>
|
2024-05-18 15:14:22 -04:00
|
|
|
#include <KLocalizedString>
|
|
|
|
#include <QApplication>
|
2024-05-27 18:18:54 -04:00
|
|
|
#include <QFormLayout>
|
|
|
|
#include <QLineEdit>
|
2024-05-18 15:14:22 -04:00
|
|
|
#include <QListWidget>
|
|
|
|
#include <QMenuBar>
|
|
|
|
#include <QProcess>
|
2024-05-27 18:18:54 -04:00
|
|
|
#include <QPushButton>
|
2024-05-18 15:14:22 -04:00
|
|
|
|
2024-05-27 18:18:54 -04:00
|
|
|
MainWindow::MainWindow()
|
|
|
|
: KXmlGuiWindow()
|
2024-05-18 15:14:22 -04:00
|
|
|
{
|
|
|
|
setMinimumSize(1280, 720);
|
|
|
|
|
|
|
|
process = new QProcess();
|
|
|
|
process->setWorkingDirectory(getGameDirectory());
|
|
|
|
process->setProgram(QStringLiteral("ffxiv_dx11.exe"));
|
|
|
|
|
|
|
|
auto dummyWidget = new QWidget();
|
|
|
|
setCentralWidget(dummyWidget);
|
|
|
|
|
|
|
|
auto layout = new QFormLayout();
|
|
|
|
dummyWidget->setLayout(layout);
|
|
|
|
|
|
|
|
auto argsBox = new QLineEdit();
|
|
|
|
layout->addRow(i18n("Arguments"), argsBox);
|
|
|
|
|
|
|
|
auto launchGameButton = new QPushButton(i18n("Launch Game"));
|
|
|
|
connect(launchGameButton, &QPushButton::clicked, this, [this, argsBox] {
|
|
|
|
process->setArguments(argsBox->text().split(QLatin1Char(' ')));
|
|
|
|
qInfo() << "Launching" << process->program() << process->arguments();
|
|
|
|
process->start();
|
|
|
|
});
|
|
|
|
layout->addWidget(launchGameButton);
|
2024-05-27 18:18:54 -04:00
|
|
|
|
2025-05-01 17:59:20 -04:00
|
|
|
setupActions();
|
2024-05-27 18:18:54 -04:00
|
|
|
setupGUI(Keys | Save | Create);
|
|
|
|
|
|
|
|
// We don't provide help (yet)
|
|
|
|
actionCollection()->removeAction(actionCollection()->action(KStandardAction::name(KStandardAction::HelpContents)));
|
|
|
|
// This isn't KDE software
|
|
|
|
actionCollection()->removeAction(actionCollection()->action(KStandardAction::name(KStandardAction::AboutKDE)));
|
2024-05-18 15:14:22 -04:00
|
|
|
}
|
|
|
|
|
2025-05-01 17:59:20 -04:00
|
|
|
void MainWindow::setupActions()
|
|
|
|
{
|
|
|
|
KStandardAction::quit(qApp, &QCoreApplication::quit, actionCollection());
|
|
|
|
}
|
|
|
|
|
|
|
|
#include "moc_mainwindow.cpp"
|