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>
|
2021-11-09 12:06:30 -05:00
|
|
|
#include <QComboBox>
|
2021-11-09 12:10:52 -05:00
|
|
|
#include <QLineEdit>
|
2021-11-09 12:32:18 -05:00
|
|
|
#include <QCheckBox>
|
2021-11-09 12:46:27 -05:00
|
|
|
#include <QLabel>
|
2021-11-09 13:04:22 -05:00
|
|
|
#include <QPushButton>
|
2021-11-01 13:14:00 -04:00
|
|
|
|
2021-11-23 15:34:23 -05: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:
|
2022-03-09 08:08:03 -05:00
|
|
|
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:
|
2021-11-09 12:10:52 -05:00
|
|
|
ProfileSettings& getCurrentProfile();
|
2021-11-03 06:31:02 -04:00
|
|
|
|
2021-11-09 12:06:30 -05:00
|
|
|
QListWidget* profileWidget = nullptr;
|
2021-11-09 13:44:37 -05:00
|
|
|
QPushButton* deleteProfileButton = nullptr;
|
2021-11-09 12:10:52 -05:00
|
|
|
|
2022-02-24 09:10:00 -05:00
|
|
|
// general
|
|
|
|
QCheckBox* closeWhenLaunched = nullptr;
|
|
|
|
|
2021-11-09 13:04:22 -05:00
|
|
|
// game
|
2021-11-09 12:10:52 -05:00
|
|
|
QLineEdit* nameEdit = nullptr;
|
2021-11-09 12:06:30 -05:00
|
|
|
QComboBox* directXCombo = nullptr;
|
2022-02-24 08:19:48 -05:00
|
|
|
QLineEdit* currentGameDirectory = nullptr;
|
2021-12-02 15:02:59 -05:00
|
|
|
QLabel* expansionVersionLabel = nullptr;
|
2021-11-09 12:38:18 -05:00
|
|
|
|
2021-11-09 13:04:22 -05:00
|
|
|
// wine
|
|
|
|
QComboBox* wineVersionCombo;
|
|
|
|
QPushButton* selectWineButton;
|
2022-02-24 08:19:48 -05:00
|
|
|
QLineEdit* winePathLabel;
|
|
|
|
QLineEdit* winePrefixDirectory;
|
2022-02-24 08:35:31 -05:00
|
|
|
QPushButton* configureGamescopeButton;
|
2021-11-09 13:04:22 -05:00
|
|
|
|
2021-11-09 13:08:25 -05:00
|
|
|
QCheckBox* useGamescope, *useEsync, *useGamemode;
|
2021-12-06 21:15:31 -05:00
|
|
|
QCheckBox* enableWatchdog;
|
2021-11-09 13:08:25 -05:00
|
|
|
|
2021-11-09 13:04:22 -05:00
|
|
|
// 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;
|
2021-11-09 12:32:18 -05:00
|
|
|
QCheckBox* rememberUsernameBox = nullptr, *rememberPasswordBox = nullptr;
|
2022-01-30 16:51:49 -05:00
|
|
|
QCheckBox* useSteamBox = nullptr;
|
2021-11-09 12:06:30 -05:00
|
|
|
|
2022-02-23 21:28:56 -05:00
|
|
|
// dalamud
|
|
|
|
QCheckBox* enableDalamudBox = nullptr;
|
|
|
|
QLabel* dalamudVersionLabel = nullptr;
|
2022-02-25 18:08:57 -05:00
|
|
|
QLabel* dalamudAssetVersionLabel = nullptr;
|
2022-02-23 21:28:56 -05:00
|
|
|
|
2021-11-09 12:06:30 -05:00
|
|
|
bool currentlyReloadingControls = false;
|
2021-11-09 11:44:27 -05:00
|
|
|
|
2021-11-01 13:14:00 -04:00
|
|
|
LauncherWindow& window;
|
2021-11-23 15:34:23 -05:00
|
|
|
LauncherCore& core;
|
2022-01-30 16:51:49 -05:00
|
|
|
};
|