animation: Add dedicated Spinner class
We use AnimatedIcon with the same resource all over the place, cut down on the duplication by providing a dedicated class. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/316
This commit is contained in:
parent
ae48f8bda9
commit
22e21ad7d1
@ -127,8 +127,7 @@ var AuthPrompt = new Lang.Class({
|
|||||||
|
|
||||||
this._initButtons();
|
this._initButtons();
|
||||||
|
|
||||||
let spinnerIcon = Gio.File.new_for_uri('resource:///org/gnome/shell/theme/process-working.svg');
|
this._spinner = new Animation.Spinner(DEFAULT_BUTTON_WELL_ICON_SIZE);
|
||||||
this._spinner = new Animation.AnimatedIcon(spinnerIcon, DEFAULT_BUTTON_WELL_ICON_SIZE);
|
|
||||||
this._spinner.actor.opacity = 0;
|
this._spinner.actor.opacity = 0;
|
||||||
this._spinner.actor.show();
|
this._spinner.actor.show();
|
||||||
this._defaultButtonWell.add_child(this._spinner.actor);
|
this._defaultButtonWell.add_child(this._spinner.actor);
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||||
|
|
||||||
const GLib = imports.gi.GLib;
|
const GLib = imports.gi.GLib;
|
||||||
|
const Gio = imports.gi.Gio;
|
||||||
const Lang = imports.lang;
|
const Lang = imports.lang;
|
||||||
const Mainloop = imports.mainloop;
|
const Mainloop = imports.mainloop;
|
||||||
const St = imports.gi.St;
|
const St = imports.gi.St;
|
||||||
@ -86,3 +87,13 @@ var AnimatedIcon = new Lang.Class({
|
|||||||
this.parent(file, size, size, ANIMATED_ICON_UPDATE_TIMEOUT);
|
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);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
@ -114,8 +114,7 @@ var KeyringDialog = new Lang.Class({
|
|||||||
ShellEntry.addContextMenu(this._passwordEntry, { isPassword: true });
|
ShellEntry.addContextMenu(this._passwordEntry, { isPassword: true });
|
||||||
this._passwordEntry.clutter_text.connect('activate', this._onPasswordActivate.bind(this));
|
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.Spinner(WORK_SPINNER_ICON_SIZE);
|
||||||
this._workSpinner = new Animation.AnimatedIcon(spinnerIcon, WORK_SPINNER_ICON_SIZE);
|
|
||||||
this._workSpinner.actor.opacity = 0;
|
this._workSpinner.actor.opacity = 0;
|
||||||
|
|
||||||
if (rtl) {
|
if (rtl) {
|
||||||
|
@ -117,8 +117,7 @@ var AuthenticationDialog = new Lang.Class({
|
|||||||
this._passwordBox.add(this._passwordEntry,
|
this._passwordBox.add(this._passwordEntry,
|
||||||
{ expand: true });
|
{ expand: true });
|
||||||
|
|
||||||
let spinnerIcon = Gio.File.new_for_uri('resource:///org/gnome/shell/theme/process-working.svg');
|
this._workSpinner = new Animation.Spinner(WORK_SPINNER_ICON_SIZE);
|
||||||
this._workSpinner = new Animation.AnimatedIcon(spinnerIcon, WORK_SPINNER_ICON_SIZE);
|
|
||||||
this._workSpinner.actor.opacity = 0;
|
this._workSpinner.actor.opacity = 0;
|
||||||
|
|
||||||
this._passwordBox.add(this._workSpinner.actor);
|
this._passwordBox.add(this._workSpinner.actor);
|
||||||
|
@ -865,8 +865,7 @@ var NMWirelessDialog = new Lang.Class({
|
|||||||
x_align: Clutter.ActorAlign.CENTER,
|
x_align: Clutter.ActorAlign.CENTER,
|
||||||
y_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.Spinner(16);
|
||||||
this._noNetworksSpinner = new Animation.AnimatedIcon(file, 16, 16);
|
|
||||||
this._noNetworksBox.add_actor(this._noNetworksSpinner.actor);
|
this._noNetworksBox.add_actor(this._noNetworksSpinner.actor);
|
||||||
this._noNetworksBox.add_actor(new St.Label({ style_class: 'no-networks-label',
|
this._noNetworksBox.add_actor(new St.Label({ style_class: 'no-networks-label',
|
||||||
text: _("No Networks") }));
|
text: _("No Networks") }));
|
||||||
|
Loading…
Reference in New Issue
Block a user