screenShield: Remove arrows
They are not present anywhere in the new mockups. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
This commit is contained in:
parent
34207cc457
commit
e90940ae10
@ -2,18 +2,6 @@
|
||||
|
||||
$_screenshield_shadow: 0px 0px 6px rgba(0, 0, 0, 0.726);
|
||||
|
||||
.screen-shield-arrows {
|
||||
padding-bottom: 3em;
|
||||
}
|
||||
|
||||
.screen-shield-arrows Gjs_Arrow {
|
||||
color: white;
|
||||
width: 80px;
|
||||
height: 48px;
|
||||
-arrow-thickness: 12px;
|
||||
-arrow-shadow: $_screenshield_shadow;
|
||||
}
|
||||
|
||||
.screen-shield-clock {
|
||||
color: white;
|
||||
text-shadow: $_screenshield_shadow;
|
||||
@ -80,4 +68,4 @@ $_screenshield_shadow: 0px 0px 6px rgba(0, 0, 0, 0.726);
|
||||
&:hover, &:focus { background-color: transparentize($bg_color,0.5); }
|
||||
&:active { background-color: transparentize($selected_bg_color,0.5); }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2,7 +2,6 @@
|
||||
|
||||
const { AccountsService, Clutter, Gio, GLib,
|
||||
GnomeDesktop, GObject, Graphene, Meta, Shell, St } = imports.gi;
|
||||
const Cairo = imports.cairo;
|
||||
const Signals = imports.signals;
|
||||
|
||||
const Background = imports.ui.background;
|
||||
@ -31,12 +30,6 @@ const LOCKED_STATE_STR = 'screenShield.locked';
|
||||
// the slide up automatically
|
||||
var ARROW_DRAG_THRESHOLD = 0.1;
|
||||
|
||||
// Parameters for the arrow animation
|
||||
var N_ARROWS = 3;
|
||||
var ARROW_ANIMATION_TIME = 600;
|
||||
var ARROW_ANIMATION_PEAK_OPACITY = 0.4;
|
||||
var ARROW_IDLE_TIME = 30000; // ms
|
||||
|
||||
var SUMMARY_ICON_SIZE = 48;
|
||||
|
||||
// ScreenShield animation time
|
||||
@ -346,82 +339,6 @@ var NotificationsBox = GObject.registerClass({
|
||||
}
|
||||
});
|
||||
|
||||
var Arrow = GObject.registerClass(
|
||||
class ScreenShieldArrow extends St.Bin {
|
||||
_init(params) {
|
||||
super._init(params);
|
||||
|
||||
this._drawingArea = new St.DrawingArea({
|
||||
x_expand: true,
|
||||
y_expand: true,
|
||||
});
|
||||
this._drawingArea.connect('repaint', this._drawArrow.bind(this));
|
||||
this.child = this._drawingArea;
|
||||
|
||||
this._shadowHelper = null;
|
||||
this._shadowWidth = this._shadowHeight = 0;
|
||||
}
|
||||
|
||||
_drawArrow(arrow) {
|
||||
let cr = arrow.get_context();
|
||||
let [w, h] = arrow.get_surface_size();
|
||||
let node = this.get_theme_node();
|
||||
let thickness = node.get_length('-arrow-thickness');
|
||||
|
||||
Clutter.cairo_set_source_color(cr, node.get_foreground_color());
|
||||
|
||||
cr.setLineCap(Cairo.LineCap.ROUND);
|
||||
cr.setLineWidth(thickness);
|
||||
|
||||
cr.moveTo(thickness / 2, h - thickness / 2);
|
||||
cr.lineTo(w / 2, thickness);
|
||||
cr.lineTo(w - thickness / 2, h - thickness / 2);
|
||||
cr.stroke();
|
||||
cr.$dispose();
|
||||
}
|
||||
|
||||
vfunc_get_paint_volume(volume) {
|
||||
if (!super.vfunc_get_paint_volume(volume))
|
||||
return false;
|
||||
|
||||
if (!this._shadow)
|
||||
return true;
|
||||
|
||||
let shadowBox = new Clutter.ActorBox();
|
||||
this._shadow.get_box(this._drawingArea.get_allocation_box(), shadowBox);
|
||||
|
||||
volume.set_width(Math.max(shadowBox.x2 - shadowBox.x1, volume.get_width()));
|
||||
volume.set_height(Math.max(shadowBox.y2 - shadowBox.y1, volume.get_height()));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
vfunc_style_changed() {
|
||||
let node = this.get_theme_node();
|
||||
this._shadow = node.get_shadow('-arrow-shadow');
|
||||
if (this._shadow)
|
||||
this._shadowHelper = St.ShadowHelper.new(this._shadow);
|
||||
else
|
||||
this._shadowHelper = null;
|
||||
|
||||
super.vfunc_style_changed();
|
||||
}
|
||||
|
||||
vfunc_paint(paintContext) {
|
||||
if (this._shadowHelper) {
|
||||
this._shadowHelper.update(this._drawingArea);
|
||||
|
||||
let allocation = this._drawingArea.get_allocation_box();
|
||||
let paintOpacity = this._drawingArea.get_paint_opacity();
|
||||
let framebuffer = paintContext.get_framebuffer();
|
||||
|
||||
this._shadowHelper.paint(framebuffer, allocation, paintOpacity);
|
||||
}
|
||||
|
||||
this._drawingArea.paint(paintContext);
|
||||
}
|
||||
});
|
||||
|
||||
function clamp(value, min, max) {
|
||||
return Math.max(min, Math.min(max, value));
|
||||
}
|
||||
@ -468,24 +385,6 @@ var ScreenShield = class {
|
||||
this._updateBackgrounds();
|
||||
Main.layoutManager.connect('monitors-changed', this._updateBackgrounds.bind(this));
|
||||
|
||||
this._arrowAnimationId = 0;
|
||||
this._arrowWatchId = 0;
|
||||
this._arrowActiveWatchId = 0;
|
||||
this._arrowContainer = new St.BoxLayout({ style_class: 'screen-shield-arrows',
|
||||
vertical: true,
|
||||
x_align: Clutter.ActorAlign.CENTER,
|
||||
y_align: Clutter.ActorAlign.END,
|
||||
// HACK: without these, ClutterBinLayout
|
||||
// ignores alignment properties on the actor
|
||||
x_expand: true,
|
||||
y_expand: true });
|
||||
|
||||
for (let i = 0; i < N_ARROWS; i++) {
|
||||
let arrow = new Arrow({ opacity: 0 });
|
||||
this._arrowContainer.add_actor(arrow);
|
||||
}
|
||||
this._lockScreenContents.add_actor(this._arrowContainer);
|
||||
|
||||
this._dragAction = new Clutter.GestureAction();
|
||||
this._dragAction.connect('gesture-begin', this._onDragBegin.bind(this));
|
||||
this._dragAction.connect('gesture-progress', this._onDragMotion.bind(this));
|
||||
@ -736,30 +635,6 @@ var ScreenShield = class {
|
||||
}
|
||||
}
|
||||
|
||||
_animateArrows() {
|
||||
let arrows = this._arrowContainer.get_children();
|
||||
let unitaryDelay = ARROW_ANIMATION_TIME / (arrows.length + 1);
|
||||
let maxOpacity = 255 * ARROW_ANIMATION_PEAK_OPACITY;
|
||||
for (let i = 0; i < arrows.length; i++) {
|
||||
arrows[i].opacity = 0;
|
||||
arrows[i].ease({
|
||||
opacity: maxOpacity,
|
||||
delay: unitaryDelay * (N_ARROWS - (i + 1)),
|
||||
duration: ARROW_ANIMATION_TIME / 2,
|
||||
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
|
||||
onComplete: () => {
|
||||
arrows[i].ease({
|
||||
opacity: 0,
|
||||
duration: ARROW_ANIMATION_TIME / 2,
|
||||
mode: Clutter.AnimationMode.EASE_IN_QUAD,
|
||||
});
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
return GLib.SOURCE_CONTINUE;
|
||||
}
|
||||
|
||||
_onDragBegin() {
|
||||
this._lockScreenGroup.remove_all_transitions();
|
||||
this._lockScreenState = MessageTray.State.HIDING;
|
||||
@ -1034,63 +909,12 @@ var ScreenShield = class {
|
||||
Main.sessionMode.pushMode('lock-screen');
|
||||
}
|
||||
|
||||
_startArrowAnimation() {
|
||||
this._arrowActiveWatchId = 0;
|
||||
|
||||
if (!this._arrowAnimationId) {
|
||||
this._arrowAnimationId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, 6000, this._animateArrows.bind(this));
|
||||
GLib.Source.set_name_by_id(this._arrowAnimationId, '[gnome-shell] this._animateArrows');
|
||||
this._animateArrows();
|
||||
}
|
||||
|
||||
if (!this._arrowWatchId) {
|
||||
this._arrowWatchId = this.idleMonitor.add_idle_watch(ARROW_IDLE_TIME,
|
||||
this._pauseArrowAnimation.bind(this));
|
||||
}
|
||||
}
|
||||
|
||||
_pauseArrowAnimation() {
|
||||
if (this._arrowAnimationId) {
|
||||
GLib.source_remove(this._arrowAnimationId);
|
||||
this._arrowAnimationId = 0;
|
||||
}
|
||||
|
||||
if (!this._arrowActiveWatchId)
|
||||
this._arrowActiveWatchId = this.idleMonitor.add_user_active_watch(this._startArrowAnimation.bind(this));
|
||||
}
|
||||
|
||||
_stopArrowAnimation() {
|
||||
if (this._arrowAnimationId) {
|
||||
GLib.source_remove(this._arrowAnimationId);
|
||||
this._arrowAnimationId = 0;
|
||||
}
|
||||
if (this._arrowActiveWatchId) {
|
||||
this.idleMonitor.remove_watch(this._arrowActiveWatchId);
|
||||
this._arrowActiveWatchId = 0;
|
||||
}
|
||||
if (this._arrowWatchId) {
|
||||
this.idleMonitor.remove_watch(this._arrowWatchId);
|
||||
this._arrowWatchId = 0;
|
||||
}
|
||||
}
|
||||
|
||||
_checkArrowAnimation() {
|
||||
let idleTime = this.idleMonitor.get_idletime();
|
||||
|
||||
if (idleTime < ARROW_IDLE_TIME)
|
||||
this._startArrowAnimation();
|
||||
else
|
||||
this._pauseArrowAnimation();
|
||||
}
|
||||
|
||||
_lockScreenShown(params) {
|
||||
if (this._dialog && !this._isGreeter) {
|
||||
this._dialog.destroy();
|
||||
this._dialog = null;
|
||||
}
|
||||
|
||||
this._checkArrowAnimation();
|
||||
|
||||
let motionId = global.stage.connect('captured-event', (stage, event) => {
|
||||
if (event.type() == Clutter.EventType.MOTION) {
|
||||
this._cursorTracker.set_pointer_visible(true);
|
||||
@ -1164,8 +988,6 @@ var ScreenShield = class {
|
||||
this._notificationsBox = null;
|
||||
}
|
||||
|
||||
this._stopArrowAnimation();
|
||||
|
||||
this._lockScreenContentsBox.destroy();
|
||||
|
||||
this._hasLockScreen = false;
|
||||
|
Loading…
Reference in New Issue
Block a user