diff --git a/js/gdm/authPrompt.js b/js/gdm/authPrompt.js index a0a4a21d6..fcb1a585b 100644 --- a/js/gdm/authPrompt.js +++ b/js/gdm/authPrompt.js @@ -127,8 +127,7 @@ var AuthPrompt = new Lang.Class({ this._initButtons(); - let spinnerIcon = Gio.File.new_for_uri('resource:///org/gnome/shell/theme/process-working.svg'); - this._spinner = new Animation.AnimatedIcon(spinnerIcon, DEFAULT_BUTTON_WELL_ICON_SIZE); + this._spinner = new Animation.Spinner(DEFAULT_BUTTON_WELL_ICON_SIZE); this._spinner.actor.opacity = 0; this._spinner.actor.show(); this._defaultButtonWell.add_child(this._spinner.actor); diff --git a/js/ui/animation.js b/js/ui/animation.js index fbd2cafdf..ebd7972c1 100644 --- a/js/ui/animation.js +++ b/js/ui/animation.js @@ -1,6 +1,7 @@ // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- const GLib = imports.gi.GLib; +const Gio = imports.gi.Gio; const Lang = imports.lang; const Mainloop = imports.mainloop; const St = imports.gi.St; @@ -86,3 +87,13 @@ var AnimatedIcon = new Lang.Class({ this.parent(file, size, size, ANIMATED_ICON_UPDATE_TIMEOUT); } }); + +var Spinner = new Lang.Class({ + Name: 'Spinner', + Extends: AnimatedIcon, + + _init(size) { + let file = Gio.File.new_for_uri('resource:///org/gnome/shell/theme/process-working.svg'); + this.parent(file, size); + } +}); diff --git a/js/ui/components/keyring.js b/js/ui/components/keyring.js index 3dd58e828..037bc097a 100644 --- a/js/ui/components/keyring.js +++ b/js/ui/components/keyring.js @@ -114,8 +114,7 @@ var KeyringDialog = new Lang.Class({ ShellEntry.addContextMenu(this._passwordEntry, { isPassword: true }); this._passwordEntry.clutter_text.connect('activate', this._onPasswordActivate.bind(this)); - let spinnerIcon = Gio.File.new_for_uri('resource:///org/gnome/shell/theme/process-working.svg'); - this._workSpinner = new Animation.AnimatedIcon(spinnerIcon, WORK_SPINNER_ICON_SIZE); + this._workSpinner = new Animation.Spinner(WORK_SPINNER_ICON_SIZE); this._workSpinner.actor.opacity = 0; if (rtl) { diff --git a/js/ui/components/polkitAgent.js b/js/ui/components/polkitAgent.js index 7a0682c4b..4bcbe30e7 100644 --- a/js/ui/components/polkitAgent.js +++ b/js/ui/components/polkitAgent.js @@ -117,8 +117,7 @@ var AuthenticationDialog = new Lang.Class({ this._passwordBox.add(this._passwordEntry, { expand: true }); - let spinnerIcon = Gio.File.new_for_uri('resource:///org/gnome/shell/theme/process-working.svg'); - this._workSpinner = new Animation.AnimatedIcon(spinnerIcon, WORK_SPINNER_ICON_SIZE); + this._workSpinner = new Animation.Spinner(WORK_SPINNER_ICON_SIZE); this._workSpinner.actor.opacity = 0; this._passwordBox.add(this._workSpinner.actor); diff --git a/js/ui/status/network.js b/js/ui/status/network.js index d5567dc3c..92a00301b 100644 --- a/js/ui/status/network.js +++ b/js/ui/status/network.js @@ -865,8 +865,7 @@ var NMWirelessDialog = new Lang.Class({ x_align: Clutter.ActorAlign.CENTER, y_align: Clutter.ActorAlign.CENTER }); - let file = Gio.File.new_for_uri('resource:///org/gnome/shell/theme/process-working.svg'); - this._noNetworksSpinner = new Animation.AnimatedIcon(file, 16, 16); + this._noNetworksSpinner = new Animation.Spinner(16); this._noNetworksBox.add_actor(this._noNetworksSpinner.actor); this._noNetworksBox.add_actor(new St.Label({ style_class: 'no-networks-label', text: _("No Networks") }));