1
Fork 0
mirror of https://github.com/redstrate/Astra.git synced 2025-04-21 04:07:46 +00:00
astra/launcher/desktop/include/settingswindow.h

82 lines
2.2 KiB
C
Raw Normal View History

2021-11-01 13:14:00 -04:00
#pragma once
2022-02-23 21:18:53 -05:00
#include <QDialog>
2021-11-09 11:44:27 -05:00
#include <QListWidget>
#include <QComboBox>
2021-11-09 12:10:52 -05:00
#include <QLineEdit>
#include <QCheckBox>
#include <QLabel>
#include <QPushButton>
#include <QFormLayout>
2021-11-01 13:14:00 -04:00
class LauncherCore;
2021-11-01 13:14:00 -04:00
class LauncherWindow;
2021-11-09 12:10:52 -05:00
struct ProfileSettings;
2021-11-01 13:14:00 -04:00
2022-02-23 21:18:53 -05:00
class SettingsWindow : public QDialog {
2021-11-01 13:14:00 -04:00
public:
SettingsWindow(int defaultTab, LauncherWindow& window, LauncherCore& core, QWidget* parent = nullptr);
2021-11-01 13:14:00 -04:00
2021-11-09 11:44:27 -05:00
public slots:
void reloadControls();
2021-11-01 13:14:00 -04:00
private:
void setupAccountsTab(QFormLayout& layout);
// profile specific tabs
void setupGameTab(QFormLayout& layout);
void setupLoginTab(QFormLayout& layout);
void setupWineTab(QFormLayout& layout);
void setupDalamudTab(QFormLayout& layout);
2021-11-09 12:10:52 -05:00
ProfileSettings& getCurrentProfile();
QListWidget* profileWidget = nullptr;
2021-11-09 13:44:37 -05:00
QPushButton* deleteProfileButton = nullptr;
2021-11-09 12:10:52 -05:00
// general
QCheckBox* closeWhenLaunched = nullptr;
QCheckBox* showBanner = nullptr;
QCheckBox* showNewsList = nullptr;
// game
2021-11-09 12:10:52 -05:00
QLineEdit* nameEdit = nullptr;
QComboBox* directXCombo = nullptr;
QLabel* currentGameDirectory = nullptr;
QLabel* expansionVersionLabel = nullptr;
QPushButton* gameDirectoryButton = nullptr;
2021-11-09 12:38:18 -05:00
// wine
QComboBox* wineTypeCombo;
QPushButton* selectWineButton;
QLabel* winePathLabel;
QLabel* winePrefixDirectory;
QPushButton* configureGamescopeButton;
2022-04-09 17:33:37 -04:00
QLabel* wineVersionLabel;
QCheckBox* useGamescope, *useEsync, *useGamemode;
QCheckBox* enableWatchdog;
// login
2021-11-09 21:13:21 -05:00
QCheckBox* encryptArgumentsBox = nullptr;
2021-11-09 12:38:18 -05:00
QComboBox* serverType = nullptr;
2021-11-09 12:50:37 -05:00
QLineEdit* lobbyServerURL = nullptr;
QCheckBox* rememberUsernameBox = nullptr, *rememberPasswordBox = nullptr;
QComboBox* gameLicenseBox = nullptr;
QCheckBox* freeTrialBox = nullptr;
QCheckBox* useOneTimePassword = nullptr;
// dalamud
QCheckBox* enableDalamudBox = nullptr;
QLabel* dalamudVersionLabel = nullptr;
QLabel* dalamudAssetVersionLabel = nullptr;
QLabel* nativeLauncherVersionLabel = nullptr;
QCheckBox* dalamudOptOutBox = nullptr;
QComboBox* dalamudChannel = nullptr;
bool currentlyReloadingControls = false;
2021-11-09 11:44:27 -05:00
2021-11-01 13:14:00 -04:00
LauncherWindow& window;
LauncherCore& core;
};