Skip to content

Commit c04eb1c

Browse files
committed
better deal with home dir changes #151
1 parent 11bc16a commit c04eb1c

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

prefs.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ function buildPrefsWidget() {
167167
log("fileChooser returned: "+fileURI);
168168
fileChooserBtn.set_label(fileURI);
169169
Utils.moveImagesToNewFolder(settings, settings.get_string('download-folder'), fileURI);
170-
settings.set_string('download-folder', fileURI);
170+
Utils.setWallpaperDir(settings, fileURI);
171171
});
172172
// in Gtk 4 instead we use a DropDown, but we need to treat it a bit special
173173
let market_grid = buildable.get_object('market_grid');
@@ -191,7 +191,7 @@ function buildPrefsWidget() {
191191
fileChooserBtn.add_shortcut_folder_uri("file://" + GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_PICTURES)+"/BingWallpaper");
192192
fileChooserBtn.connect('file-set', (widget) => {
193193
Utils.moveImagesToNewFolder(settings, settings.get_string('download-folder'), widget.get_filename());
194-
settings.set_string('download-folder', widget.get_filename());
194+
Utils.setWallpaperDir(settings,widget.get_filename());
195195
});
196196
Utils.markets.forEach((bingmarket, index) => { // add markets to dropdown list (aka a GtkComboText)
197197
marketEntry.append(bingmarket, bingmarket+": "+Utils.marketName[index]);

utils.js

+8-1
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,8 @@ function cleanupImageList(settings) {
312312
}
313313

314314
function getWallpaperDir(settings) {
315-
let BingWallpaperDir = settings.get_string('download-folder');
315+
let homeDir = GLib.get_home_dir();
316+
let BingWallpaperDir = settings.get_string('download-folder').replace('$HOME', homeDir);
316317
let userPicturesDir = GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_PICTURES);
317318
if (BingWallpaperDir == '') {
318319
BingWallpaperDir = userPicturesDir + '/BingWallpaper/';
@@ -330,6 +331,12 @@ function getWallpaperDir(settings) {
330331
return BingWallpaperDir;
331332
}
332333

334+
function setWallpaperDir(settings, uri) {
335+
let homeDir = GLib.get_home_dir();
336+
let relUri = uri.replace(homeDir, '$HOME');
337+
settings.set_string('download-folder', relUri);
338+
}
339+
333340
function imageToFilename(settings, image, resolution = null) {
334341
return getWallpaperDir(settings) + image.startdate + '-' +
335342
image.urlbase.replace(/^.*[\\\/]/, '').replace('th?id=OHR.', '') + '_'

0 commit comments

Comments
 (0)