mirror of
https://github.com/redstrate/Astra.git
synced 2025-04-22 12:47:44 +00:00
When launching via Steam, disable the wine options that do nothing
This commit is contained in:
parent
8dc37ed24b
commit
59a66932e7
1 changed files with 83 additions and 75 deletions
|
@ -217,16 +217,18 @@ void SettingsWindow::reloadControls() {
|
||||||
|
|
||||||
// wine
|
// wine
|
||||||
#if defined(Q_OS_LINUX) || defined(Q_OS_MAC)
|
#if defined(Q_OS_LINUX) || defined(Q_OS_MAC)
|
||||||
if (!profile.isWineInstalled()) {
|
if(!core.isSteam) {
|
||||||
wineVersionLabel->setText("Wine is not installed.");
|
if (!profile.isWineInstalled()) {
|
||||||
} else {
|
wineVersionLabel->setText("Wine is not installed.");
|
||||||
wineVersionLabel->setText(profile.wineVersion);
|
} else {
|
||||||
}
|
wineVersionLabel->setText(profile.wineVersion);
|
||||||
|
}
|
||||||
|
|
||||||
wineTypeCombo->setCurrentIndex((int)profile.wineType);
|
wineTypeCombo->setCurrentIndex((int)profile.wineType);
|
||||||
selectWineButton->setEnabled(profile.wineType == WineType::Custom);
|
selectWineButton->setEnabled(profile.wineType == WineType::Custom);
|
||||||
winePathLabel->setText(profile.winePath);
|
winePathLabel->setText(profile.winePath);
|
||||||
winePrefixDirectory->setText(profile.winePrefixPath);
|
winePrefixDirectory->setText(profile.winePrefixPath);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(Q_OS_LINUX)
|
#if defined(Q_OS_LINUX)
|
||||||
|
@ -472,83 +474,89 @@ void SettingsWindow::setupLoginTab(QFormLayout& layout) {
|
||||||
|
|
||||||
void SettingsWindow::setupWineTab(QFormLayout& layout) {
|
void SettingsWindow::setupWineTab(QFormLayout& layout) {
|
||||||
#if defined(Q_OS_MAC) || defined(Q_OS_LINUX)
|
#if defined(Q_OS_MAC) || defined(Q_OS_LINUX)
|
||||||
winePathLabel = new QLabel();
|
if(!core.isSteam) {
|
||||||
winePathLabel->setTextInteractionFlags(Qt::TextInteractionFlag::TextSelectableByMouse);
|
winePathLabel = new QLabel();
|
||||||
layout.addRow("Wine Executable", winePathLabel);
|
winePathLabel->setTextInteractionFlags(Qt::TextInteractionFlag::TextSelectableByMouse);
|
||||||
|
layout.addRow("Wine Executable", winePathLabel);
|
||||||
|
|
||||||
wineTypeCombo = new QComboBox();
|
wineTypeCombo = new QComboBox();
|
||||||
|
|
||||||
#if defined(Q_OS_MAC)
|
#if defined(Q_OS_MAC)
|
||||||
wineTypeCombo->insertItem(2, "FFXIV for Mac (Official)");
|
wineTypeCombo->insertItem(2, "FFXIV for Mac (Official)");
|
||||||
wineTypeCombo->insertItem(3, "XIV on Mac");
|
wineTypeCombo->insertItem(3, "XIV on Mac");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if(core.isSteam) {
|
if (core.isSteam) {
|
||||||
wineTypeCombo->insertItem(0, "Steam Proton");
|
wineTypeCombo->insertItem(0, "Steam Proton");
|
||||||
wineTypeCombo->setEnabled(false);
|
wineTypeCombo->setEnabled(false);
|
||||||
} else {
|
} else {
|
||||||
wineTypeCombo->insertItem(0, "System Wine");
|
wineTypeCombo->insertItem(0, "System Wine");
|
||||||
|
|
||||||
// custom wine selection is broken under flatpak
|
// custom wine selection is broken under flatpak
|
||||||
#ifndef FLATPAK
|
#ifndef FLATPAK
|
||||||
wineTypeCombo->insertItem(1, "Custom Wine");
|
wineTypeCombo->insertItem(1, "Custom Wine");
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
layout.addWidget(wineTypeCombo);
|
||||||
|
|
||||||
|
selectWineButton = new QPushButton("Select Wine Executable");
|
||||||
|
|
||||||
|
#ifndef FLATPAK
|
||||||
|
layout.addWidget(selectWineButton);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
connect(
|
||||||
|
wineTypeCombo, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [this](int index) {
|
||||||
|
getCurrentProfile().wineType = (WineType)index;
|
||||||
|
|
||||||
|
this->core.readWineInfo(getCurrentProfile());
|
||||||
|
this->core.saveSettings();
|
||||||
|
this->reloadControls();
|
||||||
|
});
|
||||||
|
|
||||||
|
connect(selectWineButton, &QPushButton::pressed, [this] {
|
||||||
|
getCurrentProfile().winePath = QFileDialog::getOpenFileName(this, "Open Wine Executable");
|
||||||
|
|
||||||
|
this->core.saveSettings();
|
||||||
|
this->reloadControls();
|
||||||
|
});
|
||||||
|
|
||||||
|
// wine version is reported incorrectly under flatpak too
|
||||||
|
wineVersionLabel = new QLabel();
|
||||||
|
#ifndef FLATPAK
|
||||||
|
wineVersionLabel->setTextInteractionFlags(Qt::TextInteractionFlag::TextSelectableByMouse);
|
||||||
|
layout.addRow("Wine Version", wineVersionLabel);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
winePrefixDirectory = new QLabel();
|
||||||
|
winePrefixDirectory->setTextInteractionFlags(Qt::TextInteractionFlag::TextSelectableByMouse);
|
||||||
|
layout.addRow("Wine Prefix", winePrefixDirectory);
|
||||||
|
|
||||||
|
auto winePrefixButtonLayout = new QHBoxLayout();
|
||||||
|
auto winePrefixButtonContainer = new QWidget();
|
||||||
|
winePrefixButtonContainer->setLayout(winePrefixButtonLayout);
|
||||||
|
layout.addWidget(winePrefixButtonContainer);
|
||||||
|
|
||||||
|
auto selectPrefixButton = new QPushButton("Select Wine Prefix");
|
||||||
|
connect(selectPrefixButton, &QPushButton::pressed, [this] {
|
||||||
|
getCurrentProfile().winePrefixPath = QFileDialog::getExistingDirectory(this, "Open Wine Prefix");
|
||||||
|
|
||||||
|
this->core.saveSettings();
|
||||||
|
this->reloadControls();
|
||||||
|
});
|
||||||
|
winePrefixButtonLayout->addWidget(selectPrefixButton);
|
||||||
|
|
||||||
|
auto openPrefixButton = new QPushButton("Open Wine Prefix");
|
||||||
|
connect(openPrefixButton, &QPushButton::pressed, [this] {
|
||||||
|
window.openPath(getCurrentProfile().winePrefixPath);
|
||||||
|
});
|
||||||
|
winePrefixButtonLayout->addWidget(openPrefixButton);
|
||||||
|
} else {
|
||||||
|
auto label = new QLabel("You are launching Astra via Steam. Proton is used automatically and can not be configured.");
|
||||||
|
layout.addWidget(label);
|
||||||
}
|
}
|
||||||
|
|
||||||
layout.addWidget(wineTypeCombo);
|
|
||||||
|
|
||||||
selectWineButton = new QPushButton("Select Wine Executable");
|
|
||||||
|
|
||||||
#ifndef FLATPAK
|
|
||||||
layout.addWidget(selectWineButton);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
connect(wineTypeCombo, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [this](int index) {
|
|
||||||
getCurrentProfile().wineType = (WineType)index;
|
|
||||||
|
|
||||||
this->core.readWineInfo(getCurrentProfile());
|
|
||||||
this->core.saveSettings();
|
|
||||||
this->reloadControls();
|
|
||||||
});
|
|
||||||
|
|
||||||
connect(selectWineButton, &QPushButton::pressed, [this] {
|
|
||||||
getCurrentProfile().winePath = QFileDialog::getOpenFileName(this, "Open Wine Executable");
|
|
||||||
|
|
||||||
this->core.saveSettings();
|
|
||||||
this->reloadControls();
|
|
||||||
});
|
|
||||||
|
|
||||||
// wine version is reported incorrectly under flatpak too
|
|
||||||
wineVersionLabel = new QLabel();
|
|
||||||
#ifndef FLATPAK
|
|
||||||
wineVersionLabel->setTextInteractionFlags(Qt::TextInteractionFlag::TextSelectableByMouse);
|
|
||||||
layout.addRow("Wine Version", wineVersionLabel);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
winePrefixDirectory = new QLabel();
|
|
||||||
winePrefixDirectory->setTextInteractionFlags(Qt::TextInteractionFlag::TextSelectableByMouse);
|
|
||||||
layout.addRow("Wine Prefix", winePrefixDirectory);
|
|
||||||
|
|
||||||
auto winePrefixButtonLayout = new QHBoxLayout();
|
|
||||||
auto winePrefixButtonContainer = new QWidget();
|
|
||||||
winePrefixButtonContainer->setLayout(winePrefixButtonLayout);
|
|
||||||
layout.addWidget(winePrefixButtonContainer);
|
|
||||||
|
|
||||||
auto selectPrefixButton = new QPushButton("Select Wine Prefix");
|
|
||||||
connect(selectPrefixButton, &QPushButton::pressed, [this] {
|
|
||||||
getCurrentProfile().winePrefixPath = QFileDialog::getExistingDirectory(this, "Open Wine Prefix");
|
|
||||||
|
|
||||||
this->core.saveSettings();
|
|
||||||
this->reloadControls();
|
|
||||||
});
|
|
||||||
winePrefixButtonLayout->addWidget(selectPrefixButton);
|
|
||||||
|
|
||||||
auto openPrefixButton = new QPushButton("Open Wine Prefix");
|
|
||||||
connect(openPrefixButton, &QPushButton::pressed, [this] {
|
|
||||||
window.openPath(getCurrentProfile().winePrefixPath);
|
|
||||||
});
|
|
||||||
winePrefixButtonLayout->addWidget(openPrefixButton);
|
|
||||||
|
|
||||||
auto enableDXVKhud = new QCheckBox("Enable DXVK HUD");
|
auto enableDXVKhud = new QCheckBox("Enable DXVK HUD");
|
||||||
layout.addRow("Wine Tweaks", enableDXVKhud);
|
layout.addRow("Wine Tweaks", enableDXVKhud);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue