mirror of
https://github.com/vcmi/vcmi.git
synced 2024-12-24 22:14:36 +02:00
Disable fullscreen selector when borderless fullscreen is in use
This commit is contained in:
parent
4b366e1fe8
commit
ca467ea5ec
@ -191,21 +191,33 @@ void CSettingsView::fillValidResolutionsForScreen(int screenIndex)
|
||||
ui->comboBoxResolution->blockSignals(true); // avoid saving wrong resolution after adding first item from the list
|
||||
ui->comboBoxResolution->clear();
|
||||
|
||||
QVector<QSize> resolutions = findAvailableResolutions(screenIndex);
|
||||
bool fullscreen = settings["video"]["fullscreen"].Bool();
|
||||
bool realFullscreen = settings["video"]["realFullscreen"].Bool();
|
||||
|
||||
for(const auto & entry : resolutions)
|
||||
ui->comboBoxResolution->addItem(resolutionToString(entry));
|
||||
|
||||
if (!fullscreen || realFullscreen)
|
||||
{
|
||||
QVector<QSize> resolutions = findAvailableResolutions(screenIndex);
|
||||
|
||||
for(const auto & entry : resolutions)
|
||||
ui->comboBoxResolution->addItem(resolutionToString(entry));
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->comboBoxResolution->addItem(resolutionToString(getPreferredRenderingResolution()));
|
||||
}
|
||||
ui->comboBoxResolution->setEnabled(ui->comboBoxResolution->count() > 1);
|
||||
|
||||
int resX = settings["video"]["resolution"]["width"].Integer();
|
||||
int resY = settings["video"]["resolution"]["height"].Integer();
|
||||
int resIndex = ui->comboBoxResolution->findText(resolutionToString({resX, resY}));
|
||||
ui->comboBoxResolution->setCurrentIndex(resIndex);
|
||||
|
||||
ui->comboBoxResolution->blockSignals(false);
|
||||
|
||||
// if selected resolution no longer exists, force update value to the largest (last) resolution
|
||||
if(resIndex == -1)
|
||||
ui->comboBoxResolution->setCurrentIndex(ui->comboBoxResolution->count() - 1);
|
||||
|
||||
ui->comboBoxResolution->blockSignals(false);
|
||||
}
|
||||
#else
|
||||
void CSettingsView::fillValidResolutionsForScreen(int screenIndex)
|
||||
@ -238,6 +250,7 @@ void CSettingsView::on_comboBoxResolution_currentTextChanged(const QString & arg
|
||||
node["width"].Float() = list[0].toInt();
|
||||
node["height"].Float() = list[1].toInt();
|
||||
|
||||
fillValidResolutions();
|
||||
fillValidScalingRange();
|
||||
}
|
||||
|
||||
@ -248,6 +261,7 @@ void CSettingsView::on_comboBoxFullScreen_currentIndexChanged(int index)
|
||||
nodeFullscreen->Bool() = (index != 0);
|
||||
nodeRealFullscreen->Bool() = (index == 2);
|
||||
|
||||
fillValidResolutions();
|
||||
fillValidScalingRange();
|
||||
}
|
||||
|
||||
|
@ -520,6 +520,15 @@
|
||||
</item>
|
||||
<item row="11" column="1" colspan="4">
|
||||
<widget class="QComboBox" name="comboBoxFullScreen">
|
||||
<property name="toolTip">
|
||||
<string>Select display mode for game
|
||||
|
||||
Windowed - game will run inside a window that covers part of your screen
|
||||
|
||||
Borderless Windowed Mode - game will run in a window that covers entirely of your screen, using same resolution as your screen.
|
||||
|
||||
Fullscreen Exclusive Mode - game will cover entirety of your screen and will use selected resolution.</string>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
</property>
|
||||
|
Loading…
Reference in New Issue
Block a user