diff --git a/schemas/gschemas.compiled b/schemas/gschemas.compiled index bdd63d2..a24c7b5 100644 Binary files a/schemas/gschemas.compiled and b/schemas/gschemas.compiled differ diff --git a/schemas/org.gnome.shell.extensions.bingwallpaper.gschema.xml b/schemas/org.gnome.shell.extensions.bingwallpaper.gschema.xml index b01c105..63b3a25 100644 --- a/schemas/org.gnome.shell.extensions.bingwallpaper.gschema.xml +++ b/schemas/org.gnome.shell.extensions.bingwallpaper.gschema.xml @@ -69,6 +69,12 @@ Save disk space + + True + Keep previous wallpapers if they are favourites + Sensible default behaivour + + 8 Number of days to keep wallpapers diff --git a/utils.js b/utils.js index 1ebe159..6f1c43a 100644 --- a/utils.js +++ b/utils.js @@ -550,6 +550,7 @@ export function deleteImage(to_delete) { // add image to persistant list so we can delete it later (in chronological order), delete the oldest image (if user wants this) export function purgeImages(settings) { let deletepictures = settings.get_boolean('delete-previous'); + let keepfavorites = settings.get_boolean('keep-favourites'); if (deletepictures === false) return; let imagelist = imageListSortByDate(getImageList(settings)); @@ -557,7 +558,8 @@ export function purgeImages(settings) { let origlength = imagelist.length; while (imagelist.length > maxpictures) { var to_delete = imagelist.shift(); // get the first (oldest item from the list) - if (deletepictures && to_delete != '') { + var ok_to_delete = keepfavorites && (to_delete.favourite && to_delete.favourite === true); + if (deletepictures && to_delete != '' && ok_to_delete) { let imageFilename = imageToFilename(settings, to_delete); BingLog('deleting '+imageFilename); deleteImage(imageFilename);