1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-24 22:14:36 +02:00

Cursor type is now configurable in Launcher

This commit is contained in:
Ivan Savenko 2023-01-19 18:14:10 +02:00
parent 8d407be67f
commit f5a7f5173f
4 changed files with 53 additions and 4 deletions

View File

@ -82,7 +82,7 @@
"type" : "object",
"additionalProperties" : false,
"default": {},
"required" : [ "screenRes", "bitsPerPixel", "fullscreen", "realFullscreen", "softwareCursor", "spellbookAnimation", "driver", "showIntro", "displayIndex" ],
"required" : [ "screenRes", "bitsPerPixel", "fullscreen", "realFullscreen", "cursor", "spellbookAnimation", "driver", "showIntro", "displayIndex" ],
"properties" : {
"screenRes" : {
"type" : "object",
@ -106,9 +106,10 @@
"type" : "boolean",
"default" : false
},
"softwareCursor" : {
"type" : "boolean",
"default" : false
"cursor" : {
"type" : "string",
"enum" : [ "auto", "hardware", "software" ],
"default" : "auto"
},
"showIntro" : {
"type" : "boolean",

View File

@ -58,6 +58,13 @@ static const std::string languageTagList[] =
"ukrainian",
};
static const std::string cursorTypesList[] =
{
"auto",
"hardware",
"software"
};
void CSettingsView::setDisplayList()
{
QStringList list;
@ -89,6 +96,8 @@ void CSettingsView::loadSettings()
ui->comboBoxFullScreen->setDisabled(true);
#else
ui->comboBoxFullScreen->setCurrentIndex(settings["video"]["fullscreen"].Bool());
if (settings["video"]["realFullscreen"].Bool())
ui->comboBoxFullScreen->setCurrentIndex(2);
#endif
ui->comboBoxFriendlyAI->setCurrentText(QString::fromStdString(settings["server"]["friendlyAI"].String()));
@ -120,6 +129,10 @@ void CSettingsView::loadSettings()
size_t languageIndex = boost::range::find(languageTagList, language) - languageTagList;
if(languageIndex < ui->comboBoxLanguage->count())
ui->comboBoxLanguage->setCurrentIndex((int)languageIndex);
std::string cursorType = settings["video"]["cursor"].String();
size_t cursorTypeIndex = boost::range::find(cursorTypesList, cursorType) - cursorTypesList;
ui->comboBoxCursorType->setCurrentIndex((int)cursorTypeIndex);
}
void CSettingsView::fillValidResolutions(bool isExtraResolutionsModEnabled)
@ -339,3 +352,10 @@ void CSettingsView::changeEvent(QEvent *event)
}
QWidget::changeEvent(event);
}
void CSettingsView::on_comboBoxCursorType_currentIndexChanged(int index)
{
Settings node = settings.write["video"]["cursor"];
node->String() = cursorTypesList[index];
}

View File

@ -71,6 +71,8 @@ private slots:
void on_comboBoxLanguage_currentIndexChanged(int index);
void on_comboBoxCursorType_currentIndexChanged(int index);
private:
Ui::CSettingsView * ui;

View File

@ -638,6 +638,32 @@
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLabel" name="labelCursorType">
<property name="text">
<string>Cursor</string>
</property>
</widget>
</item>
<item row="5" column="4">
<widget class="QComboBox" name="comboBoxCursorType">
<item>
<property name="text">
<string>Default</string>
</property>
</item>
<item>
<property name="text">
<string>Hardware</string>
</property>
</item>
<item>
<property name="text">
<string>Software</string>
</property>
</item>
</widget>
</item>
</layout>
</widget>
<resources/>