1
Fork 0
mirror of https://github.com/redstrate/Astra.git synced 2025-04-23 21:07:45 +00:00
astra/launcher/desktop/include/settingswindow.h
Joshua Goins 5a1171fca3 Remove nativelauncher support, use Dalamud injector instead
It turns out that Dalamud has it's own injector (since when??) and Astra
will now use that instead of my own solution. Thanks to marzent of the
XIV-on-Mac team, as that's how I learned this existed :-p

Not only does this remove quite a bit of code cruft, this should make
launching the game if you're using Dalamud more stable too :-)
2022-09-05 16:51:46 -04:00

82 lines
2.2 KiB
C++

#pragma once
#include <QCheckBox>
#include <QComboBox>
#include <QDialog>
#include <QFormLayout>
#include <QLabel>
#include <QLineEdit>
#include <QListWidget>
#include <QPushButton>
class LauncherCore;
class LauncherWindow;
struct ProfileSettings;
class SettingsWindow : public QDialog {
public:
SettingsWindow(int defaultTab, LauncherWindow& window, LauncherCore& core, QWidget* parent = nullptr);
public slots:
void reloadControls();
private:
void setupAccountsTab(QFormLayout& layout);
// profile specific tabs
void setupGameTab(QFormLayout& layout);
void setupLoginTab(QFormLayout& layout);
void setupWineTab(QFormLayout& layout);
void setupDalamudTab(QFormLayout& layout);
ProfileSettings& getCurrentProfile();
QListWidget* profileWidget = nullptr;
QPushButton* deleteProfileButton = nullptr;
// general
QCheckBox* closeWhenLaunched = nullptr;
QCheckBox* showBanner = nullptr;
QCheckBox* showNewsList = nullptr;
// game
QLineEdit* nameEdit = nullptr;
QComboBox* directXCombo = nullptr;
QLabel* currentGameDirectory = nullptr;
QLabel* expansionVersionLabel = nullptr;
QPushButton* gameDirectoryButton = nullptr;
// wine
QComboBox* wineTypeCombo;
QPushButton* selectWineButton;
QLabel* winePathLabel;
QLabel* winePrefixDirectory;
QPushButton* configureGamescopeButton;
QLabel* wineVersionLabel;
QCheckBox *useGamescope, *useEsync, *useGamemode;
QCheckBox* enableWatchdog;
// login
QCheckBox* encryptArgumentsBox = nullptr;
QComboBox* serverType = nullptr;
QLineEdit* lobbyServerURL = nullptr;
QCheckBox *rememberUsernameBox = nullptr, *rememberPasswordBox = nullptr, *rememberOTPSecretBox = nullptr;
QPushButton* otpSecretButton = nullptr;
QComboBox* gameLicenseBox = nullptr;
QCheckBox* freeTrialBox = nullptr;
QCheckBox* useOneTimePassword = nullptr;
QCheckBox* autoLoginBox = nullptr;
// dalamud
QCheckBox* enableDalamudBox = nullptr;
QLabel* dalamudVersionLabel = nullptr;
QLabel* dalamudAssetVersionLabel = nullptr;
QCheckBox* dalamudOptOutBox = nullptr;
QComboBox* dalamudChannel = nullptr;
bool currentlyReloadingControls = false;
LauncherWindow& window;
LauncherCore& core;
};