1
Fork 0
mirror of https://github.com/redstrate/Astra.git synced 2025-04-23 12:57:45 +00:00
astra/include/settingswindow.h
Joshua Goins a9c6bda52a Add "use one-time password" option that can hide the field
This is useful for users who choose to not use OTP, and the layout
is improved so the field is automatically hidden for Sapphire servers,
which don't support OTP.

The register button is also hidden automatically for Square Enix
accounts, instead of simply disabling the button.
2022-04-10 17:43:05 -04:00

70 lines
1.8 KiB
C++

#pragma once
#include <QDialog>
#include <QListWidget>
#include <QComboBox>
#include <QLineEdit>
#include <QCheckBox>
#include <QLabel>
#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:
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;
QLineEdit* currentGameDirectory = nullptr;
QLabel* expansionVersionLabel = nullptr;
QPushButton* gameDirectoryButton = nullptr;
// wine
QComboBox* wineTypeCombo;
QPushButton* selectWineButton;
QLineEdit* winePathLabel;
QLineEdit* 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;
QComboBox* gameLicenseBox = nullptr;
QCheckBox* useOneTimePassword = nullptr;
// dalamud
QCheckBox* enableDalamudBox = nullptr;
QLabel* dalamudVersionLabel = nullptr;
QLabel* dalamudAssetVersionLabel = nullptr;
QLabel* nativeLauncherVersionLabel = nullptr;
QCheckBox* dalamudOptOutBox = nullptr;
bool currentlyReloadingControls = false;
LauncherWindow& window;
LauncherCore& core;
};