2021-11-01 13:14:00 -04:00
|
|
|
#pragma once
|
|
|
|
|
2021-11-09 12:32:18 -05:00
|
|
|
#include <QCheckBox>
|
2022-08-15 11:14:37 -04:00
|
|
|
#include <QComboBox>
|
|
|
|
#include <QDialog>
|
|
|
|
#include <QFormLayout>
|
2021-11-09 12:46:27 -05:00
|
|
|
#include <QLabel>
|
2022-08-15 11:14:37 -04:00
|
|
|
#include <QLineEdit>
|
|
|
|
#include <QListWidget>
|
2021-11-09 13:04:22 -05:00
|
|
|
#include <QPushButton>
|
2021-11-01 13:14:00 -04:00
|
|
|
|
2022-10-24 13:03:29 -04:00
|
|
|
#include "virtualdialog.h"
|
|
|
|
|
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-10-24 13:03:29 -04:00
|
|
|
class SettingsWindow : public VirtualDialog {
|
2021-11-01 13:14:00 -04:00
|
|
|
public:
|
2022-10-24 13:03:29 -04:00
|
|
|
SettingsWindow(DesktopInterface& interface, 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:
|
2022-06-09 09:51:50 -04:00
|
|
|
void setupAccountsTab(QFormLayout& layout);
|
|
|
|
|
|
|
|
// profile specific tabs
|
2022-06-08 11:33:18 -04:00
|
|
|
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();
|
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;
|
2022-04-10 16:58:29 -04:00
|
|
|
QCheckBox* showBanner = nullptr;
|
|
|
|
QCheckBox* showNewsList = nullptr;
|
2022-02-24 09:10:00 -05:00
|
|
|
|
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-06-09 09:44:58 -04:00
|
|
|
QLabel* currentGameDirectory = nullptr;
|
2021-12-02 15:02:59 -05:00
|
|
|
QLabel* expansionVersionLabel = nullptr;
|
2022-04-09 16:56:17 -04:00
|
|
|
QPushButton* gameDirectoryButton = nullptr;
|
2021-11-09 12:38:18 -05:00
|
|
|
|
2021-11-09 13:04:22 -05:00
|
|
|
// wine
|
2022-04-09 17:28:24 -04:00
|
|
|
QComboBox* wineTypeCombo;
|
2021-11-09 13:04:22 -05:00
|
|
|
QPushButton* selectWineButton;
|
2022-06-09 09:44:58 -04:00
|
|
|
QLabel* winePathLabel;
|
|
|
|
QLabel* winePrefixDirectory;
|
2022-02-24 08:35:31 -05:00
|
|
|
QPushButton* configureGamescopeButton;
|
2022-04-09 17:33:37 -04:00
|
|
|
QLabel* wineVersionLabel;
|
2021-11-09 13:04:22 -05:00
|
|
|
|
2022-08-15 11:14:37 -04: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;
|
2022-08-31 17:27:30 -04:00
|
|
|
QCheckBox *rememberUsernameBox = nullptr, *rememberPasswordBox = nullptr, *rememberOTPSecretBox = nullptr;
|
|
|
|
QPushButton* otpSecretButton = nullptr;
|
2022-03-16 09:59:27 -04:00
|
|
|
QComboBox* gameLicenseBox = nullptr;
|
2022-05-09 16:02:07 -04:00
|
|
|
QCheckBox* freeTrialBox = nullptr;
|
2022-04-10 17:43:05 -04:00
|
|
|
QCheckBox* useOneTimePassword = nullptr;
|
2022-08-31 17:14:54 -04:00
|
|
|
QCheckBox* autoLoginBox = 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-03-13 19:58:58 -04:00
|
|
|
QCheckBox* dalamudOptOutBox = nullptr;
|
2022-04-13 10:45:00 -04:00
|
|
|
QComboBox* dalamudChannel = 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-10-24 13:03:29 -04:00
|
|
|
|
|
|
|
DesktopInterface& interface;
|
2022-01-30 16:51:49 -05:00
|
|
|
};
|