GUI: update often used languages to v37 built-ins if not modified by user

The intention in v37 was to update both the setting "only include
often used entries" and the list of often used languages at the same
time, as long as the user hadn't modified that list.

Unfortunately only the checkbox's default value was updated, but not
the list. This lead to the confusing situation that suddenly only ~15
languages were shown in the drop-down boxes for users upgrading their
installation, such as the person in #2611.

New installations were not affected.
This commit is contained in:
Moritz Bunkus 2019-09-04 20:11:43 +02:00
parent eaed3ca555
commit 78f6727e88
No known key found for this signature in database
GPG Key ID: 74AF00ADF2E32C85
2 changed files with 16 additions and 0 deletions

View File

@ -4,6 +4,10 @@
* MKVToolNix GUI: Hebrew was added to the list of often-used languages so that
it can be selected by default again. Fixes #2610.
* MKVToolNix GUI: when updating the GUI's settings from v37.0.0 or older, the
GUI checks if the list of often-used languages equals the built-in list from
v36.0.0. If it does, it will be updated to the built-in list changed in
v37.0.0. Fixes #2611.
# Version 37.0.0 "Leave It" 2019-08-24

View File

@ -248,6 +248,18 @@ Settings::convertOldSettings() {
reg->remove(s_valCustomRegex);
reg->endGroup();
reg->endGroup();
// Update list of often-used language codes when updating from v37
// or earlier & the list wasn't modified.
reg->beginGroup(s_grpSettings);
auto oftenUsedLanguages = reg->value(s_valOftenUsedLanguages).toStringList();
oftenUsedLanguages.sort();
if ( !(version_number_t{"37"} < writtenByVersion)
&& (oftenUsedLanguages == (QStringList{} << "chi" << "dut" << "eng" << "fin" << "fre" << "ger" << "ita" << "jpn" << "mul" << "nor" << "por" << "rus" << "spa" << "swe" << "und" << "zxx")))
reg->remove(s_valOftenUsedLanguages);
reg->endGroup();
}
void