diff --git a/randomwallpaper@iflow.space/extension.js b/randomwallpaper@iflow.space/extension.js index ff0947c..52c078c 100644 --- a/randomwallpaper@iflow.space/extension.js +++ b/randomwallpaper@iflow.space/extension.js @@ -152,8 +152,6 @@ var RandomWallpaperEntry = new Lang.Class({ }); this.menu.actor.connect('show', function () { - wallpaperController.update(); - this.setHistoryList(); // TODO: move this call to a new background changed hook (because overhead on close) this.newWallpaperItem.show(); }.bind(this)); @@ -167,6 +165,7 @@ var RandomWallpaperEntry = new Lang.Class({ wallpaperController.resetWallpaper(); }); + settings.observe('history', this.setHistoryList.bind(this)); }, setCurrentBackgroundElement: function () { @@ -182,6 +181,7 @@ var RandomWallpaperEntry = new Lang.Class({ }, setHistoryList: function () { + wallpaperController.update(); this.setCurrentBackgroundElement(); this.historySection.removeAll(); diff --git a/randomwallpaper@iflow.space/prefs.js b/randomwallpaper@iflow.space/prefs.js index 54d577a..baea0b1 100644 --- a/randomwallpaper@iflow.space/prefs.js +++ b/randomwallpaper@iflow.space/prefs.js @@ -245,13 +245,16 @@ var RandomWallpaperSettings = new Lang.Class({ _bindButtons: function () { let newWallpaperButton = this._builder.get_object('request-new-wallpaper'); + let origNewWallpaperText = newWallpaperButton.get_label(); newWallpaperButton.connect('clicked', () => { - let text = newWallpaperButton.get_label(); newWallpaperButton.set_label("Loading ..."); + newWallpaperButton.set_sensitive(false); + this._wallpaperController.update(); this._wallpaperController.fetchNewWallpaper(()=>{ this._wallpaperController.update(); - newWallpaperButton.set_label(text); + newWallpaperButton.set_label(origNewWallpaperText); + newWallpaperButton.set_sensitive(true); }); });