Reset note Quick Copy pref on upgrade if set to Markdown + Rich Text

The default JSON pref value used spaces, but changing the drop-down
resulted in a version without spaces, so simply changing the default to
include the new link options wouldn't change all existing installs and
the "Include App Links" checkbox wouldn't show as enabled for Markdown.
This adds a pref migration step to reset the pref to the new default if
it's set to Markdown + Rich Text, regardless of whitespace differences.
This commit is contained in:
Dan Stillman 2022-10-21 04:18:30 -04:00
parent da7c73b662
commit a95a2937c1

View file

@ -49,7 +49,7 @@ Zotero.Prefs = new function(){
if (!fromVersion) {
fromVersion = 0;
}
var toVersion = 5;
var toVersion = 6;
if (fromVersion < toVersion) {
for (var i = fromVersion + 1; i <= toVersion; i++) {
switch (i) {
@ -85,6 +85,24 @@ Zotero.Prefs = new function(){
case 5:
this.clear('extensions.spellcheck.inline.max-misspellings', true);
break;
// If the note Quick Copy setting was set to Markdown + Rich Text but in a
// non-default way (e.g., because of whitespace differences), clear the pref
// to pick up the new app-link options
case 6:
var o = this.get('export.noteQuickCopy.setting');
try {
o = JSON.parse(o);
if (o.mode == 'export'
&& o.id == Zotero.Translators.TRANSLATOR_ID_MARKDOWN_AND_RICH_TEXT) {
this.clear('export.noteQuickCopy.setting');
}
}
catch (e) {
Zotero.logError(e);
this.clear('export.noteQuickCopy.setting');
}
break;
}
}
this.set('prefVersion', toVersion);