screenShield: Move Clock to UnlockDialog
Move the clock to UnlockDialog, as per the latest mockups.
This commit is contained in:
parent
be5ab24e97
commit
c9e2afcf65
@ -1,7 +1,7 @@
|
|||||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||||
|
|
||||||
const { AccountsService, Clutter, Cogl, Gio, GLib,
|
const { AccountsService, Clutter, Cogl, Gio, GLib,
|
||||||
GnomeDesktop, GObject, Meta, Shell, St } = imports.gi;
|
GObject, Meta, Shell, St } = imports.gi;
|
||||||
const Cairo = imports.cairo;
|
const Cairo = imports.cairo;
|
||||||
const Signals = imports.signals;
|
const Signals = imports.signals;
|
||||||
|
|
||||||
@ -45,39 +45,6 @@ var STANDARD_FADE_TIME = 10000;
|
|||||||
var MANUAL_FADE_TIME = 300;
|
var MANUAL_FADE_TIME = 300;
|
||||||
var CURTAIN_SLIDE_TIME = 300;
|
var CURTAIN_SLIDE_TIME = 300;
|
||||||
|
|
||||||
var Clock = class {
|
|
||||||
constructor() {
|
|
||||||
this.actor = new St.BoxLayout({ style_class: 'screen-shield-clock',
|
|
||||||
vertical: true });
|
|
||||||
|
|
||||||
this._time = new St.Label({ style_class: 'screen-shield-clock-time' });
|
|
||||||
this._date = new St.Label({ style_class: 'screen-shield-clock-date' });
|
|
||||||
|
|
||||||
this.actor.add(this._time, { x_align: St.Align.MIDDLE });
|
|
||||||
this.actor.add(this._date, { x_align: St.Align.MIDDLE });
|
|
||||||
|
|
||||||
this._wallClock = new GnomeDesktop.WallClock({ time_only: true });
|
|
||||||
this._wallClock.connect('notify::clock', this._updateClock.bind(this));
|
|
||||||
|
|
||||||
this._updateClock();
|
|
||||||
}
|
|
||||||
|
|
||||||
_updateClock() {
|
|
||||||
this._time.text = this._wallClock.clock;
|
|
||||||
|
|
||||||
let date = new Date();
|
|
||||||
/* Translators: This is a time format for a date in
|
|
||||||
long format */
|
|
||||||
let dateFormat = Shell.util_translate_time_string(N_("%A, %B %d"));
|
|
||||||
this._date.text = date.toLocaleFormat(dateFormat);
|
|
||||||
}
|
|
||||||
|
|
||||||
destroy() {
|
|
||||||
this.actor.destroy();
|
|
||||||
this._wallClock.run_dispose();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
var NotificationsBox = class {
|
var NotificationsBox = class {
|
||||||
constructor() {
|
constructor() {
|
||||||
this.actor = new St.BoxLayout({ vertical: true,
|
this.actor = new St.BoxLayout({ vertical: true,
|
||||||
@ -978,9 +945,6 @@ var ScreenShield = class {
|
|||||||
y_expand: true,
|
y_expand: true,
|
||||||
vertical: true,
|
vertical: true,
|
||||||
style_class: 'screen-shield-contents-box' });
|
style_class: 'screen-shield-contents-box' });
|
||||||
this._clock = new Clock();
|
|
||||||
this._lockScreenContentsBox.add(this._clock.actor, { x_fill: true,
|
|
||||||
y_fill: true });
|
|
||||||
|
|
||||||
this._lockScreenContents.add_actor(this._lockScreenContentsBox);
|
this._lockScreenContents.add_actor(this._lockScreenContentsBox);
|
||||||
|
|
||||||
@ -999,9 +963,6 @@ var ScreenShield = class {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_clearLockScreen() {
|
_clearLockScreen() {
|
||||||
this._clock.destroy();
|
|
||||||
this._clock = null;
|
|
||||||
|
|
||||||
if (this._notificationsBox) {
|
if (this._notificationsBox) {
|
||||||
this._notificationsBox.disconnect(this._wakeUpScreenId);
|
this._notificationsBox.disconnect(this._wakeUpScreenId);
|
||||||
this._notificationsBox.destroy();
|
this._notificationsBox.destroy();
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||||
/* exported UnlockDialog */
|
/* exported UnlockDialog */
|
||||||
|
|
||||||
const { AccountsService, Atk, Clutter,
|
const { AccountsService, Atk, Clutter, Gdm, Gio, GLib,
|
||||||
Gdm, Gio, GLib, GObject, Meta, Shell, St } = imports.gi;
|
GnomeDesktop, GObject, Meta, Shell, St } = imports.gi;
|
||||||
|
|
||||||
const Layout = imports.ui.layout;
|
const Layout = imports.ui.layout;
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
@ -12,6 +12,41 @@ const AuthPrompt = imports.gdm.authPrompt;
|
|||||||
// The timeout before going back automatically to the lock screen (in seconds)
|
// The timeout before going back automatically to the lock screen (in seconds)
|
||||||
const IDLE_TIMEOUT = 2 * 60;
|
const IDLE_TIMEOUT = 2 * 60;
|
||||||
|
|
||||||
|
var Clock = class {
|
||||||
|
constructor() {
|
||||||
|
this.actor = new St.BoxLayout({
|
||||||
|
style_class: 'screen-shield-clock',
|
||||||
|
vertical: true,
|
||||||
|
});
|
||||||
|
|
||||||
|
this._time = new St.Label({ style_class: 'screen-shield-clock-time' });
|
||||||
|
this._date = new St.Label({ style_class: 'screen-shield-clock-date' });
|
||||||
|
|
||||||
|
this.actor.add(this._time, { x_align: St.Align.MIDDLE });
|
||||||
|
this.actor.add(this._date, { x_align: St.Align.MIDDLE });
|
||||||
|
|
||||||
|
this._wallClock = new GnomeDesktop.WallClock({ time_only: true });
|
||||||
|
this._wallClock.connect('notify::clock', this._updateClock.bind(this));
|
||||||
|
|
||||||
|
this._updateClock();
|
||||||
|
}
|
||||||
|
|
||||||
|
_updateClock() {
|
||||||
|
this._time.text = this._wallClock.clock;
|
||||||
|
|
||||||
|
let date = new Date();
|
||||||
|
/* Translators: This is a time format for a date in
|
||||||
|
long format */
|
||||||
|
let dateFormat = Shell.util_translate_time_string(N_("%A, %B %d"));
|
||||||
|
this._date.text = date.toLocaleFormat(dateFormat);
|
||||||
|
}
|
||||||
|
|
||||||
|
destroy() {
|
||||||
|
this.actor.destroy();
|
||||||
|
this._wallClock.run_dispose();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
var UnlockDialog = GObject.registerClass({
|
var UnlockDialog = GObject.registerClass({
|
||||||
Signals: { 'failed': {} },
|
Signals: { 'failed': {} },
|
||||||
}, class UnlockDialog extends St.Widget {
|
}, class UnlockDialog extends St.Widget {
|
||||||
@ -30,12 +65,17 @@ var UnlockDialog = GObject.registerClass({
|
|||||||
this._userName = GLib.get_user_name();
|
this._userName = GLib.get_user_name();
|
||||||
this._user = this._userManager.get_user(this._userName);
|
this._user = this._userManager.get_user(this._userName);
|
||||||
|
|
||||||
this._promptBox = new St.BoxLayout({ vertical: true,
|
this._mainBox = new St.BoxLayout({
|
||||||
x_align: Clutter.ActorAlign.CENTER,
|
x_align: Clutter.ActorAlign.CENTER,
|
||||||
y_align: Clutter.ActorAlign.CENTER,
|
y_align: Clutter.ActorAlign.CENTER,
|
||||||
x_expand: true,
|
x_expand: true,
|
||||||
y_expand: true });
|
y_expand: true,
|
||||||
this.add_child(this._promptBox);
|
vertical: true,
|
||||||
|
});
|
||||||
|
this.add_child(this._mainBox);
|
||||||
|
|
||||||
|
this._clock = new Clock();
|
||||||
|
this._mainBox.add_child(this._clock.actor);
|
||||||
|
|
||||||
this._authPrompt = new AuthPrompt.AuthPrompt(new Gdm.Client(), AuthPrompt.AuthPromptMode.UNLOCK_ONLY);
|
this._authPrompt = new AuthPrompt.AuthPrompt(new Gdm.Client(), AuthPrompt.AuthPromptMode.UNLOCK_ONLY);
|
||||||
this._authPrompt.connect('failed', this._fail.bind(this));
|
this._authPrompt.connect('failed', this._fail.bind(this));
|
||||||
@ -44,7 +84,7 @@ var UnlockDialog = GObject.registerClass({
|
|||||||
this._authPrompt.setPasswordChar('\u25cf');
|
this._authPrompt.setPasswordChar('\u25cf');
|
||||||
this._authPrompt.nextButton.label = _("Unlock");
|
this._authPrompt.nextButton.label = _("Unlock");
|
||||||
|
|
||||||
this._promptBox.add_child(this._authPrompt.actor);
|
this._mainBox.add_child(this._authPrompt.actor);
|
||||||
|
|
||||||
this.allowCancel = false;
|
this.allowCancel = false;
|
||||||
|
|
||||||
@ -59,7 +99,7 @@ var UnlockDialog = GObject.registerClass({
|
|||||||
x_align: St.Align.START,
|
x_align: St.Align.START,
|
||||||
x_fill: false });
|
x_fill: false });
|
||||||
this._otherUserButton.connect('clicked', this._otherUserClicked.bind(this));
|
this._otherUserButton.connect('clicked', this._otherUserClicked.bind(this));
|
||||||
this._promptBox.add_child(this._otherUserButton);
|
this._mainBox.add_child(this._otherUserButton);
|
||||||
} else {
|
} else {
|
||||||
this._otherUserButton = null;
|
this._otherUserButton = null;
|
||||||
}
|
}
|
||||||
@ -114,6 +154,9 @@ var UnlockDialog = GObject.registerClass({
|
|||||||
_onDestroy() {
|
_onDestroy() {
|
||||||
this.popModal();
|
this.popModal();
|
||||||
|
|
||||||
|
this._clock.destroy();
|
||||||
|
this._clock = null;
|
||||||
|
|
||||||
if (this._idleWatchId) {
|
if (this._idleWatchId) {
|
||||||
this._idleMonitor.remove_watch(this._idleWatchId);
|
this._idleMonitor.remove_watch(this._idleWatchId);
|
||||||
this._idleWatchId = 0;
|
this._idleWatchId = 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user