From e94ef7f5bc7943a301128c590f9e79c26939f0de Mon Sep 17 00:00:00 2001 From: Zener Date: Tue, 9 Apr 2019 12:52:38 +0200 Subject: [PATCH 01/12] combatiblity for gnome-shell 3.32 (maybe break for earlier versions) --- src/extension.js | 481 +++++++++++++++++++++++---------------------- src/icon.js | 122 ++++++------ src/metadata.json | 2 +- src/prefs.js | 487 +++++++++++++++++++++++----------------------- src/utils.js | 5 +- 5 files changed, 552 insertions(+), 545 deletions(-) diff --git a/src/extension.js b/src/extension.js index 18708d9..09e0349 100644 --- a/src/extension.js +++ b/src/extension.js @@ -4,7 +4,6 @@ */ const Gio = imports.gi.Gio; -const Lang = imports.lang; const Mainloop = imports.mainloop; // timer const Shell = imports.gi.Shell; const St = imports.gi.St; @@ -29,10 +28,8 @@ const N_ = function (e) { -const TeaTimeFullscreenNotification = new Lang.Class({ - Name: 'TeaTimeFullscreenNotification', - - _init: function () { +class TeaTimeFullscreenNotification { + constructor() { // this spans the whole monitor and contains // the actual layout, which it displays in // the center of itself @@ -80,7 +77,7 @@ const TeaTimeFullscreenNotification = new Lang.Class({ reactive: true, keep_aspect_ratio: true }); - this._texture.connect("button-release-event", Lang.bind(this, this.hide)); + this._texture.connect("button-release-event", this.hide.bind(this)); this._layout.add_child(this._texture); this._timeline = new Clutter.Timeline({ @@ -88,7 +85,7 @@ const TeaTimeFullscreenNotification = new Lang.Class({ repeat_count: -1, progress_mode: Clutter.AnimationMode.LINEAR }); - this._timeline.connect("new-frame", Lang.bind(this, this._newFrame)); + this._timeline.connect("new-frame", this._newFrame.bind(this)); this._label = new St.Label({ text: _("Your tea is ready!"), @@ -98,19 +95,19 @@ const TeaTimeFullscreenNotification = new Lang.Class({ this._lightbox = new imports.ui.lightbox.Lightbox(Main.uiGroup); // Seems not to work on Gnome 3.10 { fadeInTime: 0.5, fadeOutTime: 0.5 } this._lightbox.highlight(this._bin); - }, - destroy: function () { + } + destroy() { this.hide(); Main.popModal(this._bin); this._bin.destroy(); this._lightbox.hide(); - }, - _newFrame: function (timeline, msecs, user) { + } + _newFrame(timeline, msecs, user) { let progress = timeline.get_progress(); let idx = Math.round(progress * this._textureFiles.length) % this._textureFiles.length; this._texture.set_from_file(this._textureFiles[idx]); - }, - show: function () { + } + show() { if (typeof Layout.MonitorConstraint != 'undefined') { this._monitorConstraint.index = global.screen.get_current_monitor() } @@ -118,22 +115,19 @@ const TeaTimeFullscreenNotification = new Lang.Class({ this._timeline.start(); this._lightbox.show(); this._bin.show_all(); - }, - hide: function () { + } + hide() { Main.popModal(this._bin); this._bin.hide(); this._lightbox.hide(); this._timeline.stop(); } -}) +}; -const PopupTeaMenuItem = new Lang.Class({ - Name: 'PopupTeaMenuItem', - Extends: PopupMenu.PopupBaseMenuItem, - - _init: function (sTeaname, nBrewtime, params) { - this.parent(params); +class PopupTeaMenuItem extends PopupMenu.PopupBaseMenuItem { + constructor(sTeaname, nBrewtime, params) { + super(params); this.tealabel = new St.Label({ text: sTeaname @@ -163,259 +157,270 @@ const PopupTeaMenuItem = new Lang.Class({ } } } -}); +}; +var TeaTime = class extends PanelMenu.Button { -const TeaTime = new Lang.Class({ - Name: 'TeaTime', - Extends: PanelMenu.Button, + constructor() { + super(null, "TeaTime"); - _init: function () { - this.parent(null, "TeaTime"); + this.myinit = function () { - this._settings = Utils.getSettings(); + this._settings = Utils.getSettings(); - this._logo = new Icon.TwoColorIcon(24, Icon.TeaPot); + this._logo = new Icon.TwoColorIcon(24, Icon.TeaPot); - // set timer widget - this._textualTimer = new St.Label({ - text: "", - x_align: Clutter.ActorAlign.END, - y_align: Clutter.ActorAlign.CENTER - }); - this._graphicalTimer = new Icon.TwoColorIcon(24, Icon.Pie); + // set timer widget + this._textualTimer = new St.Label({ + text: "", + x_align: Clutter.ActorAlign.END, + y_align: Clutter.ActorAlign.CENTER + }); + this._graphicalTimer = new Icon.TwoColorIcon(24, Icon.Pie); - this.actor.add_actor(this._logo); - this.actor.add_style_class_name('panel-status-button'); - this.actor.connect('style-changed', Lang.bind(this, this._onStyleChanged)); + this.actor.add_actor(this._logo); + this.actor.add_style_class_name('panel-status-button'); + this.actor.connect('style-changed', this._onStyleChanged.bind(this)); - this._idleTimeout = null; + this._idleTimeout = null; - this._createMenu(); - }, - _createMenu: function () { - this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); - this._settings.connect("changed::" + this.config_keys.steep_times, - Lang.bind(this, this._updateTeaList)); - this._settings.connect("changed::" + this.config_keys.graphical_countdown, - Lang.bind(this, this._updateCountdownType)); + this._createMenu(); + }; - this.teaItemCont = new PopupMenu.PopupMenuSection(); + this._createMenu = function () { + this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); + this._settings.connect("changed::" + this.config_keys.steep_times, + this._updateTeaList.bind(this)); + this._settings.connect("changed::" + this.config_keys.graphical_countdown, + this._updateCountdownType.bind(this)); - /*******************/ - // maybe one day the PopupImageMenuItem works^^ - let head = new PopupMenu.PopupMenuSection(); - let item = new PopupMenu.PopupMenuItem(_("Show settings")); //, 'gtk-preferences'); - // item._icon.icon_size = 15; - item.connect('activate', Lang.bind(this, this._showPreferences)); - head.addMenuItem(item); + this.teaItemCont = new PopupMenu.PopupMenuSection(); - /*******************/ - let bottom = new PopupMenu.PopupMenuSection(); - this._customEntry = new St.Entry({ - style_class: 'teatime-custom-entry', - track_hover: true, - hint_text: _("min:sec") - }); - this._customEntry.get_clutter_text().set_max_length(10); - this._customEntry.get_clutter_text().connect("key-press-event", Lang.bind(this, this._createCustomTimer)); - bottom.box.add(this._customEntry); - bottom.actor.set_style("padding: 0px 18px;") + /*******************/ + // maybe one day the PopupImageMenuItem works^^ + let head = new PopupMenu.PopupMenuSection(); + let item = new PopupMenu.PopupMenuItem(_("Show settings")); //, 'gtk-preferences'); + // item._icon.icon_size = 15; + item.connect('activate', this._showPreferences.bind(this)); + head.addMenuItem(item); - /*******************/ + /*******************/ + let bottom = new PopupMenu.PopupMenuSection(); + this._customEntry = new St.Entry({ + style_class: 'teatime-custom-entry', + track_hover: true, + hint_text: _("min:sec") + }); + this._customEntry.get_clutter_text().set_max_length(10); + this._customEntry.get_clutter_text().connect("key-press-event", this._createCustomTimer.bind(this)); + bottom.box.add(this._customEntry); + bottom.actor.set_style("padding: 0px 18px;") - this.menu.addMenuItem(head); - this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); - this.menu.addMenuItem(this.teaItemCont); - this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); - this.menu.addMenuItem(bottom); + /*******************/ - this._updateTeaList(); - }, - _updateTeaList: function (config, output) { - // make sure the menu is empty - this.teaItemCont.removeAll(); + this.menu.addMenuItem(head); + this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); + this.menu.addMenuItem(this.teaItemCont); + this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); + this.menu.addMenuItem(bottom); - // fill with new teas - let list = this._settings.get_value(this.config_keys.steep_times).unpack(); - let menuItem = new PopupTeaMenuItem("Stop Timer", 0); - menuItem.connect('activate', Lang.bind(this, function () { - this._stopCountdown(); - })); - this.teaItemCont.addMenuItem(menuItem); - for (let teaname in list) { - let time = list[teaname].get_uint32(); + this._updateTeaList(); + }; + this._updateTeaList = function (config, output) { + // make sure the menu is empty + this.teaItemCont.removeAll(); - let menuItem = new PopupTeaMenuItem(_(teaname), time); - menuItem.connect('activate', Lang.bind(this, function () { - this._initCountdown(time); - })); + // fill with new teas + let list = this._settings.get_value(this.config_keys.steep_times).unpack(); + let menuItem = new PopupTeaMenuItem("Stop Timer", 0); + menuItem.connect('activate', function () { + this._stopCountdown(); + }.bind(this)); this.teaItemCont.addMenuItem(menuItem); - } - }, - _updateCountdownType: function (config, output) { - let bWantGraphicalCountdown = this._settings.get_boolean(this.config_keys.graphical_countdown); + for (let teaname in list) { + let time = list[teaname].get_uint32(); - if (bWantGraphicalCountdown != this._bGraphicalCountdown) { - if (this._idleTimeout != null) { - // we have a running countdown, replace the display - this.actor.remove_actor(this._bGraphicalCountdown ? - this._graphicalTimer : this._textualTimer); - this._bGraphicalCountdown = bWantGraphicalCountdown; - this.actor.add_actor(this._bGraphicalCountdown ? - this._graphicalTimer : this._textualTimer); - - this._updateTimerDisplay(this._getRemainingSec()); - } // if timeout active - } // value changed - }, - _createCustomTimer: function (text, event) { - if (event.get_key_symbol() == Clutter.KEY_Enter || - event.get_key_symbol() == Clutter.KEY_Return) { - - let customTime = text.get_text(); - let seconds = 0; - let match = customTime.match(/^(?:(\d+)(?::(\d{0,2}))?|:(\d+))$/) - if (match) { - let factor = 1; - for (var i = match.length - 2; i > 0; i--) { - let s = match[i].replace(/^0/, ''); // fix for elder GNOME <= 3.10 which don't like leading zeros - seconds += factor * parseInt(s); - factor *= 60; - } - if (seconds > 0) { - this._initCountdown(seconds); - this.menu.close(); - } + let menuItem = new PopupTeaMenuItem(_(teaname), time); + menuItem.connect('activate', function () { + this._initCountdown(time); + }.bind(this)); + this.teaItemCont.addMenuItem(menuItem); } - this._customEntry.set_text(""); - } - }, - _showNotification: function (subject, text) { - let source = (Utils.isGnome34()) ? - new MessageTray.Source(_("TeaTime applet")) : - new MessageTray.Source(_("TeaTime applet"), 'utilities-teatime'); + }; + this._updateCountdownType = function (config, output) { + let bWantGraphicalCountdown = this._settings.get_boolean(this.config_keys.graphical_countdown); - if (Utils.isGnome34()) { - source.createNotificationIcon = - function () { - let iconBox = new St.Bin(); - iconBox._size = this.ICON_SIZE; - iconBox.child = new St.Icon({ - icon_name: 'utilities-teatime', - icon_type: St.IconType.FULLCOLOR, - icon_size: iconBox._size - }); - return iconBox; - } // createNotificationIcon - } + if (bWantGraphicalCountdown != this._bGraphicalCountdown) { + if (this._idleTimeout != null) { + // we have a running countdown, replace the display + this.actor.remove_actor(this._bGraphicalCountdown ? + this._graphicalTimer : this._textualTimer); + this._bGraphicalCountdown = bWantGraphicalCountdown; + this.actor.add_actor(this._bGraphicalCountdown ? + this._graphicalTimer : this._textualTimer); - Main.messageTray.add(source); + this._updateTimerDisplay(this._getRemainingSec()); + } // if timeout active + } // value changed + }; + this._createCustomTimer = function (text, event) { + if (event.get_key_symbol() == Clutter.KEY_Enter || + event.get_key_symbol() == Clutter.KEY_Return || + event.get_key_symbol() == Clutter.KEY_KP_Enter) { - let notification = new MessageTray.Notification(source, subject, text); - notification.setTransient(true); - source.notify(notification); - }, - _initCountdown: function (time) { - this._startTime = new Date(); - this._stopTime = new Date(); - this._cntdownStart = time; + let customTime = text.get_text(); + let seconds = 0; + let match = customTime.match(/^(?:(\d+)(?::(\d{0,2}))?|:(\d+))$/) + if (match) { + let factor = 1; + if (match[3] === undefined) { // minutes and seconds? + for (var i = match.length - 2; i > 0; i--) { + let s = match[i] === undefined ? "" : match[i].replace(/^0/, ''); // fix for elder GNOME <= 3.10 which don't like leading zeros + if (s.match(/^\d+$/)) { // only if something left + seconds += factor * parseInt(s); + } + factor *= 60; + } + } else { // only seconds? + let s = match[3].replace(/^0/, ''); + seconds = parseInt(s); + } + if (seconds > 0) { + this._initCountdown(seconds); + this.menu.close(); + } + } + this._customEntry.set_text(""); + } + }; + this._showNotification = function (subject, text) { + let source = (Utils.isGnome34()) ? + new MessageTray.Source(_("TeaTime applet")) : + new MessageTray.Source(_("TeaTime applet"), 'utilities-teatime'); - this._bGraphicalCountdown = this._settings.get_boolean(this.config_keys.graphical_countdown); + if (Utils.isGnome34()) { + source.createNotificationIcon = + function () { + let iconBox = new St.Bin(); + iconBox._size = this.ICON_SIZE; + iconBox.child = new St.Icon({ + icon_name: 'utilities-teatime', + icon_type: St.IconType.FULLCOLOR, + icon_size: iconBox._size + }); + return iconBox; + } // createNotificationIcon + } - let dt = this._bGraphicalCountdown ? - Math.max(1.0, time / 90) // set time step to fit animation - : - 1.0; // show every second for the textual countdown + Main.messageTray.add(source); - this._stopTime.setTime(this._startTime.getTime() + time * 1000); // in msec + let notification = new MessageTray.Notification(source, subject, text); + notification.setTransient(true); + source.notify(notification); + }; + this._initCountdown = function (time) { + this._startTime = new Date(); + this._stopTime = new Date(); + this._cntdownStart = time; - this.actor.remove_actor(this._logo); // show timer instead of default icon + this._bGraphicalCountdown = this._settings.get_boolean(this.config_keys.graphical_countdown); - this._updateTimerDisplay(time); + let dt = this._bGraphicalCountdown ? + Math.max(1.0, time / 90) // set time step to fit animation + : + 1.0; // show every second for the textual countdown - this.actor.add_actor(this._bGraphicalCountdown ? - this._graphicalTimer : this._textualTimer); + this._stopTime.setTime(this._startTime.getTime() + time * 1000); // in msec - if (this._idleTimeout != null) Mainloop.source_remove(this._idleTimeout); - this._idleTimeout = Mainloop.timeout_add_seconds(dt, Lang.bind(this, this._doCountdown)); - }, - _stopCountdown: function () { - if (this._idleTimeout != null) Mainloop.source_remove(this._idleTimeout); - this.actor.remove_actor(this._bGraphicalCountdown ? - this._graphicalTimer : this._textualTimer); - this.actor.add_actor(this._logo); - this._idleTimeout = null; - }, - _getRemainingSec: function () { - let a = new Date(); - return (this._stopTime.getTime() - a.getTime()) * 1e-3; - }, - _updateTimerDisplay: function (remainingTime) { - if (this._bGraphicalCountdown) { - this._graphicalTimer.setStatus((this._cntdownStart - remainingTime) / this._cntdownStart); - } else { - this._textualTimer.text = Utils.formatTime(remainingTime); - } - }, - _doCountdown: function () { - let remainingTime = this._getRemainingSec(); + this.actor.remove_actor(this._logo); // show timer instead of default icon - if (remainingTime <= 0) { - // count down finished, switch display again - this._stopCountdown(); - this._playSound(); + this._updateTimerDisplay(time); - if (!Utils.isGnome34() && this._settings.get_boolean(this.config_keys.fullscreen_notification)) { - this.dialog = new TeaTimeFullscreenNotification(); - this.dialog.show(); + this.actor.add_actor(this._bGraphicalCountdown ? + this._graphicalTimer : this._textualTimer); + + if (this._idleTimeout != null) Mainloop.source_remove(this._idleTimeout); + this._idleTimeout = Mainloop.timeout_add_seconds(dt, this._doCountdown.bind(this)); + }; + this._stopCountdown = function () { + if (this._idleTimeout != null) Mainloop.source_remove(this._idleTimeout); + this.actor.remove_actor(this._bGraphicalCountdown ? + this._graphicalTimer : this._textualTimer); + this.actor.add_actor(this._logo); + this._idleTimeout = null; + }; + this._getRemainingSec = function () { + let a = new Date(); + return (this._stopTime.getTime() - a.getTime()) * 1e-3; + }; + this._updateTimerDisplay = function (remainingTime) { + if (this._bGraphicalCountdown) { + this._graphicalTimer.setStatus((this._cntdownStart - remainingTime) / this._cntdownStart); } else { - this._showNotification(_("Your tea is ready!"), - _("Drink it, while it is hot!")); + this._textualTimer.text = Utils.formatTime(remainingTime); } - return false; - } else { - this._updateTimerDisplay(remainingTime); - return true; // continue timer - } - }, - _playSound: function () { - let bPlayAlarmSound = this._settings.get_boolean(this.config_keys.use_alarm_sound); - if (bPlayAlarmSound) { - Utils.playSound(this._settings.get_string(this.config_keys.alarm_sound)); - } - }, - _showPreferences: function () { - imports.misc.util.spawn(["gnome-shell-extension-prefs", ExtensionUtils.getCurrentExtension().metadata['uuid']]); - return 0; - }, - _onStyleChanged: function (actor) { - let themeNode = actor.get_theme_node(); - let color = themeNode.get_foreground_color() - let [bHasPadding, padding] = themeNode.lookup_length("-natural-hpadding", false); + }; + this._doCountdown = function () { + let remainingTime = this._getRemainingSec(); - this._primaryColor = color; - this._secondaryColor = new Clutter.Color({ - red: color.red, - green: color.green, - blue: color.blue, - alpha: color.alpha * 0.3 - }); - this._logo.setPadding(bHasPadding * padding); - this._graphicalTimer.setPadding(bHasPadding * padding); - this._textualTimer.margin_right = bHasPadding * padding; - this._textualTimer.margin_left = bHasPadding * padding; + if (remainingTime <= 0) { + // count down finished, switch display again + this._stopCountdown(); + this._playSound(); - this._logo.setColor(this._primaryColor, this._secondaryColor); - this._graphicalTimer.setColor(this._primaryColor, this._secondaryColor); + if (!Utils.isGnome34() && this._settings.get_boolean(this.config_keys.fullscreen_notification)) { + this.dialog = new TeaTimeFullscreenNotification(); + this.dialog.show(); + } else { + this._showNotification(_("Your tea is ready!"), + _("Drink it, while it is hot!")); + } + return false; + } else { + this._updateTimerDisplay(remainingTime); + return true; // continue timer + } + }; + this._playSound = function () { + let bPlayAlarmSound = this._settings.get_boolean(this.config_keys.use_alarm_sound); + if (bPlayAlarmSound) { + Utils.playSound(this._settings.get_string(this.config_keys.alarm_sound)); + } + }; + this._showPreferences = function () { + const currExt = ExtensionUtils.getCurrentExtension(); + imports.misc.util.spawn(["gnome-shell-extension-prefs", currExt.metadata['uuid']]); + return 0; + }; + this._onStyleChanged = function (actor) { + let themeNode = actor.get_theme_node(); + let color = themeNode.get_foreground_color() + let [bHasPadding, padding] = themeNode.lookup_length("-natural-hpadding", false); - // forward (possible) scaling style change to child - let scaling = Utils.getGlobalDisplayScaleFactor(); - this._logo.setScaling(scaling); - this._graphicalTimer.setScaling(scaling); - }, - config_keys: Utils.GetConfigKeys() -}); + this._primaryColor = color; + this._secondaryColor = new Clutter.Color({ + red: color.red, + green: color.green, + blue: color.blue, + alpha: color.alpha * 0.3 + }); + this._logo.setPadding(bHasPadding * padding); + this._graphicalTimer.setPadding(bHasPadding * padding); + this._textualTimer.margin_right = bHasPadding * padding; + this._textualTimer.margin_left = bHasPadding * padding; + + this._logo.setColor(this._primaryColor, this._secondaryColor); + this._graphicalTimer.setColor(this._primaryColor, this._secondaryColor); + + // forward (possible) scaling style change to child + let scaling = Utils.getGlobalDisplayScaleFactor(); + this._logo.setScaling(scaling); + this._graphicalTimer.setScaling(scaling); + }; + this.config_keys = Utils.GetConfigKeys(); + this.myinit(); + } +}; function init(metadata) { let theme = imports.gi.Gtk.IconTheme.get_default(); diff --git a/src/icon.js b/src/icon.js index 0f3f277..4490234 100644 --- a/src/icon.js +++ b/src/icon.js @@ -10,86 +10,90 @@ * If there is a better way for that stuff, please let me know ;) ********************************************************************/ -const Lang = imports.lang; const St = imports.gi.St; const Clutter = imports.gi.Clutter; const ExUt = imports.misc.extensionUtils; const Me = ExUt.getCurrentExtension(); const Utils = Me.imports.utils; -var TwoColorIcon = new Lang.Class({ - Name: 'TwoColorIcon', - Extends: St.DrawingArea, - - _init: function (size, drawingObject) { - this.parent({ +var TwoColorIcon = class extends St.DrawingArea { + constructor(size, drawingObject) { + super({ reactive: true, style: 'padding: 0px 2px' }); - this._base_size = size; - this.setScaling(Utils.getGlobalDisplayScaleFactor()); + this.myinit = function () { + this._base_size = size; + //this.setScaling(Utils.getGlobalDisplayScaleFactor()); - this._drawingObject = drawingObject; + this._drawingObject = drawingObject; - this.connect('repaint', Lang.bind(this, this._drawIcon)); + this.connect('repaint', function () { + this._drawIcon(); + }.bind(this)); - // some fallback color - this._primaryColor = new Clutter.Color({ - red: 150, - green: 150, - blue: 150, - alpha: 255 - }); - this._secundaryColor = this._primaryColor; - this._customStatus = null; - }, - setPadding: function (padding) { - this.margin_left = padding; - this.margin_right = padding; - }, - setColor: function (primary, secundary) { - this._primaryColor = primary; - this._secundaryColor = secundary; - this.queue_repaint(); - }, - setScaling: function (newScale) { - this._default_scale = newScale; - this.set_width(this._base_size * this._default_scale); - this.set_height(this._base_size * this._default_scale); - this.queue_repaint(); - }, - setStatus: function (newStatus) { - this._customStatus = newStatus; - this.queue_repaint(); - }, - _drawIcon: function () { - let cr = this.get_context(); - let orWdt = this._drawingObject.width; - let orHgt = this._drawingObject.height; - let [width, height] = this.get_surface_size(); + // some fallback color + this._primaryColor = new Clutter.Color({ + red: 150, + green: 150, + blue: 150, + alpha: 255 + }); + this._secundaryColor = this._primaryColor; + this._customStatus = null; + }; + this.setPadding = function (padding) { + this.margin_left = padding; + this.margin_right = padding; + }; + this.setColor = function (primary, secundary) { + this._primaryColor = primary; + this._secundaryColor = secundary; + this.queue_repaint(); + }; + this.setScaling = function (newScale) { + this._default_scale = newScale; + this.set_width(this._base_size * this._default_scale); + this.set_height(this._base_size * this._default_scale); + this.queue_repaint(); + }; + this.setStatus = function (newStatus) { + this._customStatus = newStatus; + this.queue_repaint(); + }; + this._drawIcon = function () { + let cr = this.get_context(); + let orWdt = this._drawingObject.width; + let orHgt = this._drawingObject.height; + let [width, height] = this.get_surface_size(); - cr.save(); + cr.save(); - let object_longest_edge = Math.max(orWdt, orHgt); - let surface_shortest_edge = Math.min(width, height); - let scaling = surface_shortest_edge / object_longest_edge; - let padding_x = (width - orWdt * scaling) * 0.5; - let padding_y = (height - orHgt * scaling) * 0.5; + let object_longest_edge = Math.max(orWdt, orHgt); + let surface_shortest_edge = Math.min(width, height); + let scaling = surface_shortest_edge / object_longest_edge; + let padding_x = (width - orWdt * scaling) * 0.5; + let padding_y = (height - orHgt * scaling) * 0.5; - cr.translate(padding_x, padding_y); - cr.scale(scaling, scaling); + cr.translate(padding_x, padding_y); + try { + cr.scale(scaling, scaling); - this._drawingObject.draw(cr, this._customStatus, this._primaryColor, this._secundaryColor); + this._drawingObject.draw(cr, this._customStatus, this._primaryColor, this._secundaryColor); - cr.restore(); + cr.restore(); + } catch (e) { + // ignore + } + }; + this.myinit(); } - -}); +}; var TeaPot = { width: 484, height: 295, - draw: function (cr, stat, primary, secundary) { + draw(cr, stat, primary, secundary) { // draw TeaPot // cairo commands generated from svg2cairo // https://github.com/akrinke/svg2cairo @@ -133,7 +137,7 @@ var TeaPot = { var Pie = { width: 1, height: 1, - draw: function (cr, stat, primary, secundary) { + draw(cr, stat, primary, secundary) { const pi = Math.PI; const r = 0.5; diff --git a/src/metadata.json b/src/metadata.json index 71ecc8f..6fca53b 100644 --- a/src/metadata.json +++ b/src/metadata.json @@ -1 +1 @@ -{"shell-version": ["3.4", "3.6", "3.8", "3.10", "3.12", "3.14", "3.16", "3.18", "3.20", "3.22", "3.24", "3.26"], "uuid": "TeaTime@oleid.mescharet.de", "name": "TeaTime", "settings-schema": "org.gnome.shell.extensions.teatime", "gettext-domain": "TeaTime", "description": "A tea steeping timer"} +{"shell-version": ["3.32"], "uuid": "TeaTime@oleid.mescharet.de", "name": "TeaTime", "settings-schema": "org.gnome.shell.extensions.teatime", "gettext-domain": "TeaTime", "description": "A tea steeping timer"} diff --git a/src/prefs.js b/src/prefs.js index c3ffa57..9916017 100644 --- a/src/prefs.js +++ b/src/prefs.js @@ -3,7 +3,6 @@ Thomas Liebetraut */ -const Lang = imports.lang; const Gtk = imports.gi.Gtk; const GObject = imports.gi.GObject; @@ -23,12 +22,9 @@ const Columns = { ADJUSTMENT: 2 } -const TeaTimePrefsWidget = new Lang.Class({ - Name: 'TeaTimePrefsWidget', - Extends: Gtk.Grid, - - _init: function () { - this.parent({ +var TeaTimePrefsWidget = class extends Gtk.Grid { + constructor() { + super({ orientation: Gtk.Orientation.VERTICAL, column_homogeneous: false, vexpand: true, @@ -36,278 +32,281 @@ const TeaTimePrefsWidget = new Lang.Class({ row_spacing: 5 }); - this._tealist = new Gtk.ListStore(); - this._tealist.set_column_types([ - GObject.TYPE_STRING, - GObject.TYPE_INT, - Gtk.Adjustment - ]); + this.myinit = function () { + this._tealist = new Gtk.ListStore(); + this._tealist.set_column_types([ + GObject.TYPE_STRING, + GObject.TYPE_INT, + Gtk.Adjustment + ]); - this.set_column_spacing(3); + this.set_column_spacing(3); - this._settings = Utils.getSettings(); - this._inhibitUpdate = true; - this._settings.connect("changed", Lang.bind(this, this._refresh)); + this._settings = Utils.getSettings(); + this._inhibitUpdate = true; + this._settings.connect("changed", this._refresh.bind(this)); - this._initWindow(); - this._inhibitUpdate = false; - this._refresh(); - this._tealist.connect("row-changed", Lang.bind(this, this._save)); - this._tealist.connect("row-deleted", Lang.bind(this, this._save)); - }, - _initWindow: function () { - let curRow = 0; - let labelFN = new Gtk.Label({ - label: _("Fullscreen Notifications"), - hexpand: true, - halign: Gtk.Align.START - }); - let labelGC = new Gtk.Label({ - label: _("Graphical Countdown"), - hexpand: true, - halign: Gtk.Align.START - }); + this._initWindow(); + this._inhibitUpdate = false; + this._refresh(); + this._tealist.connect("row-changed", this._save.bind(this)); + this._tealist.connect("row-deleted", this._save.bind(this)); + }; + this._initWindow = function () { + let curRow = 0; + let labelFN = new Gtk.Label({ + label: _("Fullscreen Notifications"), + hexpand: true, + halign: Gtk.Align.START + }); + let labelGC = new Gtk.Label({ + label: _("Graphical Countdown"), + hexpand: true, + halign: Gtk.Align.START + }); - let labelAS = new Gtk.Label({ - label: _("Alarm sound"), - hexpand: true, - halign: Gtk.Align.START - }); + let labelAS = new Gtk.Label({ + label: _("Alarm sound"), + hexpand: true, + halign: Gtk.Align.START + }); - this.fullscreenNotificationSwitch = new Gtk.Switch(); - this.fullscreenNotificationSwitch.connect("notify::active", Lang.bind(this, this._saveFullscreenNotifications)); + this.fullscreenNotificationSwitch = new Gtk.Switch(); + this.fullscreenNotificationSwitch.connect("notify::active", this._saveFullscreenNotifications.bind(this)); - this.graphicalCountdownSwitch = new Gtk.Switch(); - this.graphicalCountdownSwitch.connect("notify::active", Lang.bind(this, this._saveGraphicalCountdown)); + this.graphicalCountdownSwitch = new Gtk.Switch(); + this.graphicalCountdownSwitch.connect("notify::active", this._saveGraphicalCountdown.bind(this)); - // alarm sound file chooser - this.alarmSoundSwitch = new Gtk.Switch(); - this.alarmSoundSwitch.connect("notify::active", Lang.bind(this, this._saveUseAlarm)); + // alarm sound file chooser + this.alarmSoundSwitch = new Gtk.Switch(); + this.alarmSoundSwitch.connect("notify::active", this._saveUseAlarm.bind(this)); - this.alarmSoundFile = new Gtk.FileChooserButton({ - title: _("Select alarm sound file"), - action: Gtk.FileChooserAction.OPEN - }); - this.alarmSoundFileFilter = new Gtk.FileFilter(); - this.alarmSoundFile.set_filter(this.alarmSoundFileFilter); - this.alarmSoundFileFilter.add_mime_type("audio/*"); - this.alarmSoundFile.connect("selection_changed", Lang.bind(this, this._saveSoundFile)); + this.alarmSoundFile = new Gtk.FileChooserButton({ + title: _("Select alarm sound file"), + action: Gtk.FileChooserAction.OPEN + }); + this.alarmSoundFileFilter = new Gtk.FileFilter(); + this.alarmSoundFile.set_filter(this.alarmSoundFileFilter); + this.alarmSoundFileFilter.add_mime_type("audio/*"); + this.alarmSoundFile.connect("selection_changed", this._saveSoundFile.bind(this)); - if (!Utils.isGnome34()) { - // Full screen notifications currently not working on GNOME 3.4, thus don't show the switch - this.attach(labelFN, 0 /*col*/ , curRow /*row*/ , 2 /*col span*/ , 1 /*row span*/ ); - this.attach(this.fullscreenNotificationSwitch, 2, curRow, 1, 1); + if (!Utils.isGnome34()) { + // Full screen notifications currently not working on GNOME 3.4, thus don't show the switch + this.attach(labelFN, 0 /*col*/ , curRow /*row*/ , 2 /*col span*/ , 1 /*row span*/ ); + this.attach(this.fullscreenNotificationSwitch, 2, curRow, 1, 1); + curRow += 1; + } + + this.attach(labelGC, 0 /*col*/ , curRow /*row*/ , 2 /*col span*/ , 1 /*row span*/ ); + this.attach(this.graphicalCountdownSwitch, 2, curRow, 1, 1); curRow += 1; - } - this.attach(labelGC, 0 /*col*/ , curRow /*row*/ , 2 /*col span*/ , 1 /*row span*/ ); - this.attach(this.graphicalCountdownSwitch, 2, curRow, 1, 1); - curRow += 1; + this.attach(labelAS, 0 /*col*/ , curRow /*row*/ , 1 /*col span*/ , 1 /*row span*/ ); + this.attach(this.alarmSoundFile, 1, curRow, 1, 1); + this.attach(this.alarmSoundSwitch, 2, curRow, 1, 1); + curRow += 1; - this.attach(labelAS, 0 /*col*/ , curRow /*row*/ , 1 /*col span*/ , 1 /*row span*/ ); - this.attach(this.alarmSoundFile, 1, curRow, 1, 1); - this.attach(this.alarmSoundSwitch, 2, curRow, 1, 1); - curRow += 1; + this.treeview = new Gtk.TreeView({ + model: this._tealist, + expand: true + }); + this.treeview.set_reorderable(true); + this.treeview.get_selection().set_mode(Gtk.SelectionMode.MULTIPLE); + this.attach(this.treeview, 0, curRow, 3, 1); + curRow += 1; - this.treeview = new Gtk.TreeView({ - model: this._tealist, - expand: true - }); - this.treeview.set_reorderable(true); - this.treeview.get_selection().set_mode(Gtk.SelectionMode.MULTIPLE); - this.attach(this.treeview, 0, curRow, 3, 1); - curRow += 1; + let teaname = new Gtk.TreeViewColumn({ + title: _("Tea"), + expand: true + }); + let renderer = new Gtk.CellRendererText({ + editable: true + }); + // When the renderer is done editing it's value, we first write + // the new value to the view's model, i.e. this._tealist. + // This makes life a little harder due to chaining of callbacks + // and the need for this._inhibitUpdate, but it feels a lot cleaner + // when the UI does not know about the config storage backend. + renderer.connect("edited", function (renderer, pathString, newValue) { + let [store, iter] = this._tealist.get_iter(Gtk.TreePath.new_from_string(pathString)); + this._tealist.set(iter, [Columns.TEA_NAME], [newValue]); + }.bind(this)); + teaname.pack_start(renderer, true); + teaname.add_attribute(renderer, "text", Columns.TEA_NAME); + this.treeview.append_column(teaname); - let teaname = new Gtk.TreeViewColumn({ - title: _("Tea"), - expand: true - }); - let renderer = new Gtk.CellRendererText({ - editable: true - }); - // When the renderer is done editing it's value, we first write - // the new value to the view's model, i.e. this._tealist. - // This makes life a little harder due to chaining of callbacks - // and the need for this._inhibitUpdate, but it feels a lot cleaner - // when the UI does not know about the config storage backend. - renderer.connect("edited", Lang.bind(this, function (renderer, pathString, newValue) { - let [store, iter] = this._tealist.get_iter(Gtk.TreePath.new_from_string(pathString)); - this._tealist.set(iter, [Columns.TEA_NAME], [newValue]); - })); - teaname.pack_start(renderer, true); - teaname.add_attribute(renderer, "text", Columns.TEA_NAME); - this.treeview.append_column(teaname); + let steeptime = new Gtk.TreeViewColumn({ + title: _("Steep time"), + min_width: 150 + }); + let spinrenderer = new Gtk.CellRendererSpin({ + editable: true + }); + // See comment above. + spinrenderer.connect("edited", function (renderer, pathString, newValue) { + let [store, iter] = this._tealist.get_iter(Gtk.TreePath.new_from_string(pathString)); + this._tealist.set(iter, [Columns.STEEP_TIME], [parseInt(newValue)]); + }.bind(this)); - let steeptime = new Gtk.TreeViewColumn({ - title: _("Steep time"), - min_width: 150 - }); - let spinrenderer = new Gtk.CellRendererSpin({ - editable: true - }); - // See comment above. - spinrenderer.connect("edited", Lang.bind(this, function (renderer, pathString, newValue) { - let [store, iter] = this._tealist.get_iter(Gtk.TreePath.new_from_string(pathString)); - this._tealist.set(iter, [Columns.STEEP_TIME], [parseInt(newValue)]); - })); - - steeptime.pack_start(spinrenderer, true); - steeptime.add_attribute(spinrenderer, "adjustment", Columns.ADJUSTMENT); - steeptime.add_attribute(spinrenderer, "text", Columns.STEEP_TIME); - this.treeview.append_column(steeptime); + steeptime.pack_start(spinrenderer, true); + steeptime.add_attribute(spinrenderer, "adjustment", Columns.ADJUSTMENT); + steeptime.add_attribute(spinrenderer, "text", Columns.STEEP_TIME); + this.treeview.append_column(steeptime); - this.toolbar = new Gtk.Toolbar({ - icon_size: 1 - }); - this.toolbar.get_style_context().add_class("inline-toolbar"); - this.attach(this.toolbar, 0 /*col*/ , curRow /*row*/ , 3 /*col span*/ , 1 /*row span*/ ); - this.addButton = new Gtk.ToolButton({ - icon_name: "list-add-symbolic", - use_action_appearance: false - }); - this.addButton.connect("clicked", Lang.bind(this, this._addTea)); - this.toolbar.insert(this.addButton, -1); - this.removeButton = new Gtk.ToolButton({ - icon_name: "list-remove-symbolic", - use_action_appearance: false - }); - this.removeButton.connect("clicked", Lang.bind(this, this._removeSelectedTea)); - this.toolbar.insert(this.removeButton, -1); - }, - _refresh: function () { - // don't update the model if someone else is messing with the backend - if (this._inhibitUpdate) - return; + this.toolbar = new Gtk.Toolbar({ + icon_size: 1 + }); + this.toolbar.get_style_context().add_class("inline-toolbar"); + this.attach(this.toolbar, 0 /*col*/ , curRow /*row*/ , 3 /*col span*/ , 1 /*row span*/ ); + this.addButton = new Gtk.ToolButton({ + icon_name: "list-add-symbolic", + use_action_appearance: false + }); + this.addButton.connect("clicked", this._addTea.bind(this)); + this.toolbar.insert(this.addButton, -1); + this.removeButton = new Gtk.ToolButton({ + icon_name: "list-remove-symbolic", + use_action_appearance: false + }); + this.removeButton.connect("clicked", this._removeSelectedTea.bind(this)); + this.toolbar.insert(this.removeButton, -1); + }; + this._refresh = function () { + // don't update the model if someone else is messing with the backend + if (this._inhibitUpdate) + return; - this.fullscreenNotificationSwitch.active = this._settings.get_boolean(this.config_keys.fullscreen_notification) + this.fullscreenNotificationSwitch.active = this._settings.get_boolean(this.config_keys.fullscreen_notification) - this.graphicalCountdownSwitch.active = this._settings.get_boolean(this.config_keys.graphical_countdown) - this.alarmSoundSwitch.active = this._settings.get_boolean(this.config_keys.use_alarm_sound) - let list = this._settings.get_value(this.config_keys.steep_times).unpack(); - let file_name = this._settings.get_string(this.config_keys.alarm_sound); - this.alarmSoundFile.set_uri(file_name); + this.graphicalCountdownSwitch.active = this._settings.get_boolean(this.config_keys.graphical_countdown) + this.alarmSoundSwitch.active = this._settings.get_boolean(this.config_keys.use_alarm_sound) + let list = this._settings.get_value(this.config_keys.steep_times).unpack(); + let file_name = this._settings.get_string(this.config_keys.alarm_sound); + this.alarmSoundFile.set_uri(file_name); - // stop everyone from reacting to the changes we are about to produce - // in the model - this._inhibitUpdate = true; + // stop everyone from reacting to the changes we are about to produce + // in the model + this._inhibitUpdate = true; - this._tealist.clear(); - for (let teaname in list) { - let time = list[teaname].get_uint32(); + this._tealist.clear(); + for (let teaname in list) { + let time = list[teaname].get_uint32(); + let adj = new Gtk.Adjustment({ + lower: 1, + step_increment: 1, + upper: 65535, + value: time + }); + this._tealist.set(this._tealist.append(), [Columns.TEA_NAME, Columns.STEEP_TIME, Columns.ADJUSTMENT], [teaname, time, adj]); + } + + this._inhibitUpdate = false; + }; + this._addTea = function () { let adj = new Gtk.Adjustment({ lower: 1, step_increment: 1, upper: 65535, - value: time + value: 1 }); - this._tealist.set(this._tealist.append(), [Columns.TEA_NAME, Columns.STEEP_TIME, Columns.ADJUSTMENT], [teaname, time, adj]); - } - - this._inhibitUpdate = false; - }, - _addTea: function () { - let adj = new Gtk.Adjustment({ - lower: 1, - step_increment: 1, - upper: 65535, - value: 1 - }); - let item = this._tealist.append(); - this._tealist.set(item, [Columns.TEA_NAME, Columns.STEEP_TIME, Columns.ADJUSTMENT], ["", 1, adj]); - this.treeview.set_cursor(this._tealist.get_path(item), - this.treeview.get_column(Columns.TEA_NAME), - true); - }, - _removeSelectedTea: function () { - let [selection, store] = this.treeview.get_selection().get_selected_rows(); - let iters = []; - for (let i = 0; i < selection.length; ++i) { - let [isSet, iter] = store.get_iter(selection[i]); - if (isSet) { - iters.push(iter); + let item = this._tealist.append(); + this._tealist.set(item, [Columns.TEA_NAME, Columns.STEEP_TIME, Columns.ADJUSTMENT], ["", 1, adj]); + this.treeview.set_cursor(this._tealist.get_path(item), + this.treeview.get_column(Columns.TEA_NAME), + true); + }; + this._removeSelectedTea = function () { + let [selection, store] = this.treeview.get_selection().get_selected_rows(); + let iters = []; + for (let i = 0; i < selection.length; ++i) { + let [isSet, iter] = store.get_iter(selection[i]); + if (isSet) { + iters.push(iter); + } } - } - // it's ok not to inhibit updates here as remove != change - iters.forEach(function (value, index, array) { - store.remove(value) - }); + // it's ok not to inhibit updates here as remove != change + iters.forEach(function (value, index, array) { + store.remove(value) + }); - this.treeview.get_selection().unselect_all(); - }, - _saveFullscreenNotifications: function (sw, data) { - // don't update the backend if someone else is messing with the model - if (this._inhibitUpdate) - return; - this._inhibitUpdate = true; - this._settings.set_boolean(this.config_keys.fullscreen_notification, - sw.active); - this._inhibitUpdate = false; - }, - _saveGraphicalCountdown: function (sw, data) { - // don't update the backend if someone else is messing with the model - if (this._inhibitUpdate) - return; - this._inhibitUpdate = true; - this._settings.set_boolean(this.config_keys.graphical_countdown, - sw.active); - this._inhibitUpdate = false; - }, - _saveUseAlarm: function (sw, data) { - // don't update the backend if someone else is messing with the model - if (this._inhibitUpdate) - return; - this._inhibitUpdate = true; - this._settings.set_boolean(this.config_keys.use_alarm_sound, - sw.active); - this._inhibitUpdate = false; - }, - _saveSoundFile: function (sw, data) { - // don't update the backend if someone else is messing with the model - if (this._inhibitUpdate) - return; - let alarm_sound = this.alarmSoundFile.get_uri(); - Utils.debug(this._settings.get_string(this.config_keys.alarm_sound) + "-->" + alarm_sound); + this.treeview.get_selection().unselect_all(); + }; + this._saveFullscreenNotifications = function (sw, data) { + // don't update the backend if someone else is messing with the model + if (this._inhibitUpdate) + return; + this._inhibitUpdate = true; + this._settings.set_boolean(this.config_keys.fullscreen_notification, + sw.active); + this._inhibitUpdate = false; + }; + this._saveGraphicalCountdown = function (sw, data) { + // don't update the backend if someone else is messing with the model + if (this._inhibitUpdate) + return; + this._inhibitUpdate = true; + this._settings.set_boolean(this.config_keys.graphical_countdown, + sw.active); + this._inhibitUpdate = false; + }; + this._saveUseAlarm = function (sw, data) { + // don't update the backend if someone else is messing with the model + if (this._inhibitUpdate) + return; + this._inhibitUpdate = true; + this._settings.set_boolean(this.config_keys.use_alarm_sound, + sw.active); + this._inhibitUpdate = false; + }; + this._saveSoundFile = function (sw, data) { + // don't update the backend if someone else is messing with the model + if (this._inhibitUpdate) + return; + let alarm_sound = this.alarmSoundFile.get_uri(); + Utils.debug(this._settings.get_string(this.config_keys.alarm_sound) + "-->" + alarm_sound); - let have_value = Utils.isType(alarm_sound, "string"); - let setting_is_different = - this._settings.get_string(this.config_keys.alarm_sound) != alarm_sound; - if (have_value && setting_is_different) { + let have_value = Utils.isType(alarm_sound, "string"); + let setting_is_different = + this._settings.get_string(this.config_keys.alarm_sound) != alarm_sound; + if (have_value && setting_is_different) { + this._inhibitUpdate = true; + + Utils.playSound(alarm_sound); + this._settings.set_string(this.config_keys.alarm_sound, alarm_sound); + this._inhibitUpdate = false; + } + }; + this._save = function (store, path_, iter_) { + const GLib = imports.gi.GLib; + + // don't update the backend if someone else is messing with the model + if (this._inhibitUpdate) + return; + + let values = []; + this._tealist.foreach(function (store, path, iter) { + values.push(GLib.Variant.new_dict_entry( + GLib.Variant.new_string(store.get_value(iter, Columns.TEA_NAME)), + GLib.Variant.new_uint32(store.get_value(iter, Columns.STEEP_TIME)))) + }); + let settingsValue = GLib.Variant.new_array(GLib.VariantType.new("{su}"), values); + + // all changes have happened through the UI, we can safely + // disable updating it here to avoid an infinite loop this._inhibitUpdate = true; - Utils.playSound(alarm_sound); - this._settings.set_string(this.config_keys.alarm_sound, alarm_sound); + this._settings.set_value(this.config_keys.steep_times, settingsValue); + this._inhibitUpdate = false; - } - }, - _save: function (store, path_, iter_) { - const GLib = imports.gi.GLib; - - // don't update the backend if someone else is messing with the model - if (this._inhibitUpdate) - return; - - let values = []; - this._tealist.foreach(function (store, path, iter) { - values.push(GLib.Variant.new_dict_entry( - GLib.Variant.new_string(store.get_value(iter, Columns.TEA_NAME)), - GLib.Variant.new_uint32(store.get_value(iter, Columns.STEEP_TIME)))) - }); - let settingsValue = GLib.Variant.new_array(GLib.VariantType.new("{su}"), values); - - // all changes have happened through the UI, we can safely - // disable updating it here to avoid an infinite loop - this._inhibitUpdate = true; - - this._settings.set_value(this.config_keys.steep_times, settingsValue); - - this._inhibitUpdate = false; - }, - config_keys: Utils.GetConfigKeys() -}); + }; + this.config_keys = Utils.GetConfigKeys(); + this.myinit(); + } +}; function init() {} diff --git a/src/utils.js b/src/utils.js index 290284c..7388418 100644 --- a/src/utils.js +++ b/src/utils.js @@ -116,7 +116,6 @@ function formatTime(sec_num) { function playSound(uri) { const Gst = imports.gi.Gst; - const Lang = imports.lang; debug("Playing " + uri); @@ -125,7 +124,7 @@ function playSound(uri) { this.player = Gst.ElementFactory.make("playbin", "player"); this.playBus = this.player.get_bus(); this.playBus.add_signal_watch(); - this.playBus.connect("message", Lang.bind(this, + this.playBus.connect("message", function (playBus, message) { if (message != null) { // IMPORTANT: to reuse the player, set state to READY @@ -134,7 +133,7 @@ function playSound(uri) { this.player.set_state(Gst.State.READY); } } // message handler - })); + }.bind(this)); } // if undefined this.player.set_property('uri', uri); this.player.set_state(Gst.State.PLAYING); From 5cb25b44eb5d8d4ef2d572b1fbc3f761d2db98d5 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Tue, 7 May 2019 10:35:15 +0200 Subject: [PATCH 02/12] Fix vertical squashing of the panel icons The teapot and especially the progress circle icon in the panel are squashed with GNOME-3.32. The problem appears to be that the padding which we are requesting gets applied not only to the surface-size which we are being passed (which is 20 px wide for our 24 px size), but gets applied a second time using scaling squashing the image and making the progress circle non round. This commit fixes this by removing the padding, as gnome shell automatically adds plenty of padding and directly requesting 20x20 as surface size, which results in a 20x27 surface as we are given the full height of the panel as height, but our own padding code takes care of that. Signed-off-by: Hans de Goede --- src/extension.js | 4 ++-- src/icon.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/extension.js b/src/extension.js index c6a1e06..e27e354 100644 --- a/src/extension.js +++ b/src/extension.js @@ -173,7 +173,7 @@ var TeaTime = class extends PanelMenu.Button { this._settings = Utils.getSettings(); - this._logo = new Icon.TwoColorIcon(24, Icon.TeaPot); + this._logo = new Icon.TwoColorIcon(20, Icon.TeaPot); // set timer widget this._textualTimer = new St.Label({ @@ -181,7 +181,7 @@ var TeaTime = class extends PanelMenu.Button { x_align: Clutter.ActorAlign.END, y_align: Clutter.ActorAlign.CENTER }); - this._graphicalTimer = new Icon.TwoColorIcon(24, Icon.Pie); + this._graphicalTimer = new Icon.TwoColorIcon(20, Icon.Pie); this.actor.add_actor(this._logo); this.actor.add_style_class_name('panel-status-button'); diff --git a/src/icon.js b/src/icon.js index 4490234..eda72d8 100644 --- a/src/icon.js +++ b/src/icon.js @@ -20,7 +20,7 @@ var TwoColorIcon = class extends St.DrawingArea { constructor(size, drawingObject) { super({ reactive: true, - style: 'padding: 0px 2px' + style: 'padding: 0px 0px' }); this.myinit = function () { this._base_size = size; From f02770da31a68f57cf77d607950c799304d66620 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 17 Feb 2020 16:08:12 +0100 Subject: [PATCH 03/12] Fix TeaTime not working with gnome-shell 3.35.90 and newer This commit contains the minimum amount of changes for TeaTime to mostly work with gnome-shell 3.35.90 and newer. There is one big remaining issue after this, the fullscreen notifications are not working anymore. Fixing this unfortunately is non trivial, so I plan to remove it in a separate commit. There are also some JS warnings, I will fix those in separate commits. Signed-off-by: Hans de Goede --- src/extension.js | 89 +++++++++++++++++++++++++++--------------------- src/icon.js | 38 ++++++++++++--------- src/prefs.js | 61 ++++++++++++++++++--------------- 3 files changed, 105 insertions(+), 83 deletions(-) diff --git a/src/extension.js b/src/extension.js index e27e354..5ca3e60 100644 --- a/src/extension.js +++ b/src/extension.js @@ -4,6 +4,7 @@ */ const Gio = imports.gi.Gio; +const GObject = imports.gi.GObject; const Mainloop = imports.mainloop; // timer const Shell = imports.gi.Shell; const St = imports.gi.St; @@ -130,9 +131,10 @@ class TeaTimeFullscreenNotification { }; +let PopupTeaMenuItem = GObject.registerClass( class PopupTeaMenuItem extends PopupMenu.PopupBaseMenuItem { - constructor(sTeaname, nBrewtime, params) { - super(params); + _init(sTeaname, nBrewtime, params) { + super._init(params); this.tealabel = new St.Label({ text: sTeaname @@ -162,14 +164,14 @@ class PopupTeaMenuItem extends PopupMenu.PopupBaseMenuItem { } } } -}; +}); -var TeaTime = class extends PanelMenu.Button { +let TeaTime = GObject.registerClass( +class TeaTime extends PanelMenu.Button { + _init() { + super._init(1.0, "TeaTime"); - constructor() { - super(null, "TeaTime"); - - this.myinit = function () { + this.config_keys = Utils.GetConfigKeys(); this._settings = Utils.getSettings(); @@ -190,9 +192,9 @@ var TeaTime = class extends PanelMenu.Button { this._idleTimeout = null; this._createMenu(); - }; + } - this._createMenu = function () { + _createMenu() { this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); this._settings.connect("changed::" + this.config_keys.steep_times, this._updateTeaList.bind(this)); @@ -230,8 +232,9 @@ var TeaTime = class extends PanelMenu.Button { this.menu.addMenuItem(bottom); this._updateTeaList(); - }; - this._updateTeaList = function (config, output) { + } + + _updateTeaList(config, output) { // make sure the menu is empty this.teaItemCont.removeAll(); @@ -251,8 +254,9 @@ var TeaTime = class extends PanelMenu.Button { }.bind(this)); this.teaItemCont.addMenuItem(menuItem); } - }; - this._updateCountdownType = function (config, output) { + } + + _updateCountdownType(config, output) { let bWantGraphicalCountdown = this._settings.get_boolean(this.config_keys.graphical_countdown); if (bWantGraphicalCountdown != this._bGraphicalCountdown) { @@ -267,8 +271,9 @@ var TeaTime = class extends PanelMenu.Button { this._updateTimerDisplay(this._getRemainingSec()); } // if timeout active } // value changed - }; - this._createCustomTimer = function (text, event) { + } + + _createCustomTimer(text, event) { if (event.get_key_symbol() == Clutter.KEY_Enter || event.get_key_symbol() == Clutter.KEY_Return || event.get_key_symbol() == Clutter.KEY_KP_Enter) { @@ -297,8 +302,9 @@ var TeaTime = class extends PanelMenu.Button { } this._customEntry.set_text(""); } - }; - this._showNotification = function (subject, text) { + } + + _showNotification(subject, text) { let source = (Utils.isGnome34()) ? new MessageTray.Source(_("TeaTime applet")) : new MessageTray.Source(_("TeaTime applet"), 'utilities-teatime'); @@ -322,8 +328,9 @@ var TeaTime = class extends PanelMenu.Button { let notification = new MessageTray.Notification(source, subject, text); notification.setTransient(true); source.notify(notification); - }; - this._initCountdown = function (time) { + } + + _initCountdown(time) { this._startTime = new Date(); this._stopTime = new Date(); this._cntdownStart = time; @@ -346,26 +353,30 @@ var TeaTime = class extends PanelMenu.Button { if (this._idleTimeout != null) Mainloop.source_remove(this._idleTimeout); this._idleTimeout = Mainloop.timeout_add_seconds(dt, this._doCountdown.bind(this)); - }; - this._stopCountdown = function () { + } + + _stopCountdown() { if (this._idleTimeout != null) Mainloop.source_remove(this._idleTimeout); this.actor.remove_actor(this._bGraphicalCountdown ? this._graphicalTimer : this._textualTimer); this.actor.add_actor(this._logo); this._idleTimeout = null; - }; - this._getRemainingSec = function () { + } + + _getRemainingSec() { let a = new Date(); return (this._stopTime.getTime() - a.getTime()) * 1e-3; - }; - this._updateTimerDisplay = function (remainingTime) { + } + + _updateTimerDisplay(remainingTime) { if (this._bGraphicalCountdown) { this._graphicalTimer.setStatus((this._cntdownStart - remainingTime) / this._cntdownStart); } else { this._textualTimer.text = Utils.formatTime(remainingTime); } - }; - this._doCountdown = function () { + } + + _doCountdown() { let remainingTime = this._getRemainingSec(); if (remainingTime <= 0) { @@ -385,19 +396,22 @@ var TeaTime = class extends PanelMenu.Button { this._updateTimerDisplay(remainingTime); return true; // continue timer } - }; - this._playSound = function () { + } + + _playSound() { let bPlayAlarmSound = this._settings.get_boolean(this.config_keys.use_alarm_sound); if (bPlayAlarmSound) { Utils.playSound(this._settings.get_string(this.config_keys.alarm_sound)); } - }; - this._showPreferences = function () { + } + + _showPreferences() { const currExt = ExtensionUtils.getCurrentExtension(); imports.misc.util.spawn(["gnome-shell-extension-prefs", currExt.metadata['uuid']]); return 0; - }; - this._onStyleChanged = function (actor) { + } + + _onStyleChanged(actor) { let themeNode = actor.get_theme_node(); let color = themeNode.get_foreground_color() let [bHasPadding, padding] = themeNode.lookup_length("-natural-hpadding", false); @@ -421,11 +435,8 @@ var TeaTime = class extends PanelMenu.Button { let scaling = Utils.getGlobalDisplayScaleFactor(); this._logo.setScaling(scaling); this._graphicalTimer.setScaling(scaling); - }; - this.config_keys = Utils.GetConfigKeys(); - this.myinit(); } -}; +}); function init(metadata) { let theme = imports.gi.Gtk.IconTheme.get_default(); @@ -442,4 +453,4 @@ function enable() { function disable() { if (_TeaTime._idleTimeout != null) Mainloop.source_remove(_TeaTime._idleTimeout); _TeaTime.destroy(); -}; +} diff --git a/src/icon.js b/src/icon.js index eda72d8..3706ca8 100644 --- a/src/icon.js +++ b/src/icon.js @@ -10,19 +10,20 @@ * If there is a better way for that stuff, please let me know ;) ********************************************************************/ +const GObject = imports.gi.GObject; const St = imports.gi.St; const Clutter = imports.gi.Clutter; const ExUt = imports.misc.extensionUtils; const Me = ExUt.getCurrentExtension(); const Utils = Me.imports.utils; -var TwoColorIcon = class extends St.DrawingArea { - constructor(size, drawingObject) { - super({ +var TwoColorIcon = GObject.registerClass( +class TwoColorIcon extends St.DrawingArea { + _init(size, drawingObject) { + super._init({ reactive: true, style: 'padding: 0px 0px' }); - this.myinit = function () { this._base_size = size; //this.setScaling(Utils.getGlobalDisplayScaleFactor()); @@ -41,27 +42,32 @@ var TwoColorIcon = class extends St.DrawingArea { }); this._secundaryColor = this._primaryColor; this._customStatus = null; - }; - this.setPadding = function (padding) { + } + + setPadding(padding) { this.margin_left = padding; this.margin_right = padding; - }; - this.setColor = function (primary, secundary) { + } + + setColor(primary, secundary) { this._primaryColor = primary; this._secundaryColor = secundary; this.queue_repaint(); - }; - this.setScaling = function (newScale) { + } + + setScaling(newScale) { this._default_scale = newScale; this.set_width(this._base_size * this._default_scale); this.set_height(this._base_size * this._default_scale); this.queue_repaint(); - }; - this.setStatus = function (newStatus) { + } + + setStatus(newStatus) { this._customStatus = newStatus; this.queue_repaint(); - }; - this._drawIcon = function () { + } + + _drawIcon() { let cr = this.get_context(); let orWdt = this._drawingObject.width; let orHgt = this._drawingObject.height; @@ -85,10 +91,8 @@ var TwoColorIcon = class extends St.DrawingArea { } catch (e) { // ignore } - }; - this.myinit(); } -}; +}); var TeaPot = { width: 484, diff --git a/src/prefs.js b/src/prefs.js index 9916017..cccab95 100644 --- a/src/prefs.js +++ b/src/prefs.js @@ -22,9 +22,10 @@ const Columns = { ADJUSTMENT: 2 } -var TeaTimePrefsWidget = class extends Gtk.Grid { - constructor() { - super({ +var TeaTimePrefsWidget = GObject.registerClass( +class TeaTimePrefsWidget extends Gtk.Grid { + _init() { + super._init({ orientation: Gtk.Orientation.VERTICAL, column_homogeneous: false, vexpand: true, @@ -32,7 +33,8 @@ var TeaTimePrefsWidget = class extends Gtk.Grid { row_spacing: 5 }); - this.myinit = function () { + this.config_keys = Utils.GetConfigKeys(); + this._tealist = new Gtk.ListStore(); this._tealist.set_column_types([ GObject.TYPE_STRING, @@ -51,8 +53,9 @@ var TeaTimePrefsWidget = class extends Gtk.Grid { this._refresh(); this._tealist.connect("row-changed", this._save.bind(this)); this._tealist.connect("row-deleted", this._save.bind(this)); - }; - this._initWindow = function () { + } + + _initWindow() { let curRow = 0; let labelFN = new Gtk.Label({ label: _("Fullscreen Notifications"), @@ -173,8 +176,9 @@ var TeaTimePrefsWidget = class extends Gtk.Grid { }); this.removeButton.connect("clicked", this._removeSelectedTea.bind(this)); this.toolbar.insert(this.removeButton, -1); - }; - this._refresh = function () { + } + + _refresh() { // don't update the model if someone else is messing with the backend if (this._inhibitUpdate) return; @@ -205,8 +209,9 @@ var TeaTimePrefsWidget = class extends Gtk.Grid { } this._inhibitUpdate = false; - }; - this._addTea = function () { + } + + _addTea() { let adj = new Gtk.Adjustment({ lower: 1, step_increment: 1, @@ -218,8 +223,9 @@ var TeaTimePrefsWidget = class extends Gtk.Grid { this.treeview.set_cursor(this._tealist.get_path(item), this.treeview.get_column(Columns.TEA_NAME), true); - }; - this._removeSelectedTea = function () { + } + + _removeSelectedTea() { let [selection, store] = this.treeview.get_selection().get_selected_rows(); let iters = []; for (let i = 0; i < selection.length; ++i) { @@ -234,8 +240,9 @@ var TeaTimePrefsWidget = class extends Gtk.Grid { }); this.treeview.get_selection().unselect_all(); - }; - this._saveFullscreenNotifications = function (sw, data) { + } + + _saveFullscreenNotifications(sw, data) { // don't update the backend if someone else is messing with the model if (this._inhibitUpdate) return; @@ -243,8 +250,9 @@ var TeaTimePrefsWidget = class extends Gtk.Grid { this._settings.set_boolean(this.config_keys.fullscreen_notification, sw.active); this._inhibitUpdate = false; - }; - this._saveGraphicalCountdown = function (sw, data) { + } + + _saveGraphicalCountdown(sw, data) { // don't update the backend if someone else is messing with the model if (this._inhibitUpdate) return; @@ -252,8 +260,9 @@ var TeaTimePrefsWidget = class extends Gtk.Grid { this._settings.set_boolean(this.config_keys.graphical_countdown, sw.active); this._inhibitUpdate = false; - }; - this._saveUseAlarm = function (sw, data) { + } + + _saveUseAlarm(sw, data) { // don't update the backend if someone else is messing with the model if (this._inhibitUpdate) return; @@ -261,8 +270,9 @@ var TeaTimePrefsWidget = class extends Gtk.Grid { this._settings.set_boolean(this.config_keys.use_alarm_sound, sw.active); this._inhibitUpdate = false; - }; - this._saveSoundFile = function (sw, data) { + } + + _saveSoundFile(sw, data) { // don't update the backend if someone else is messing with the model if (this._inhibitUpdate) return; @@ -279,8 +289,9 @@ var TeaTimePrefsWidget = class extends Gtk.Grid { this._settings.set_string(this.config_keys.alarm_sound, alarm_sound); this._inhibitUpdate = false; } - }; - this._save = function (store, path_, iter_) { + } + + _save(store, path_, iter_) { const GLib = imports.gi.GLib; // don't update the backend if someone else is messing with the model @@ -302,12 +313,8 @@ var TeaTimePrefsWidget = class extends Gtk.Grid { this._settings.set_value(this.config_keys.steep_times, settingsValue); this._inhibitUpdate = false; - }; - this.config_keys = Utils.GetConfigKeys(); - this.myinit(); } -}; - +}); function init() {} From 89a04a36fb8e7eefe2fe2033fd480086511a93fb Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 17 Feb 2020 17:53:56 +0100 Subject: [PATCH 04/12] Fix indendation After the "Fix TeaTime not working with gnome-shell 3.35.90 and newer" commit, a bunch of blocks no longer have correct indentation. These blocks were left as is on purpose to make the diff of that commit easier to read. This commit fixes the indentation of these blocks. This commit makes no changes other then the indentation changes and as such contains no functional changes. Signed-off-by: Hans de Goede --- src/extension.js | 368 ++++++++++++++++++++-------------------- src/icon.js | 88 +++++----- src/prefs.js | 432 +++++++++++++++++++++++------------------------ 3 files changed, 444 insertions(+), 444 deletions(-) diff --git a/src/extension.js b/src/extension.js index 5ca3e60..489027e 100644 --- a/src/extension.js +++ b/src/extension.js @@ -173,268 +173,268 @@ class TeaTime extends PanelMenu.Button { this.config_keys = Utils.GetConfigKeys(); - this._settings = Utils.getSettings(); + this._settings = Utils.getSettings(); - this._logo = new Icon.TwoColorIcon(20, Icon.TeaPot); + this._logo = new Icon.TwoColorIcon(20, Icon.TeaPot); - // set timer widget - this._textualTimer = new St.Label({ - text: "", - x_align: Clutter.ActorAlign.END, - y_align: Clutter.ActorAlign.CENTER - }); - this._graphicalTimer = new Icon.TwoColorIcon(20, Icon.Pie); + // set timer widget + this._textualTimer = new St.Label({ + text: "", + x_align: Clutter.ActorAlign.END, + y_align: Clutter.ActorAlign.CENTER + }); + this._graphicalTimer = new Icon.TwoColorIcon(20, Icon.Pie); - this.actor.add_actor(this._logo); - this.actor.add_style_class_name('panel-status-button'); - this.actor.connect('style-changed', this._onStyleChanged.bind(this)); + this.actor.add_actor(this._logo); + this.actor.add_style_class_name('panel-status-button'); + this.actor.connect('style-changed', this._onStyleChanged.bind(this)); - this._idleTimeout = null; + this._idleTimeout = null; - this._createMenu(); + this._createMenu(); } _createMenu() { - this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); - this._settings.connect("changed::" + this.config_keys.steep_times, - this._updateTeaList.bind(this)); - this._settings.connect("changed::" + this.config_keys.graphical_countdown, - this._updateCountdownType.bind(this)); + this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); + this._settings.connect("changed::" + this.config_keys.steep_times, + this._updateTeaList.bind(this)); + this._settings.connect("changed::" + this.config_keys.graphical_countdown, + this._updateCountdownType.bind(this)); - this.teaItemCont = new PopupMenu.PopupMenuSection(); + this.teaItemCont = new PopupMenu.PopupMenuSection(); - /*******************/ - // maybe one day the PopupImageMenuItem works^^ - let head = new PopupMenu.PopupMenuSection(); - let item = new PopupMenu.PopupMenuItem(_("Show settings")); //, 'gtk-preferences'); - // item._icon.icon_size = 15; - item.connect('activate', this._showPreferences.bind(this)); - head.addMenuItem(item); + /*******************/ + // maybe one day the PopupImageMenuItem works^^ + let head = new PopupMenu.PopupMenuSection(); + let item = new PopupMenu.PopupMenuItem(_("Show settings")); //, 'gtk-preferences'); + // item._icon.icon_size = 15; + item.connect('activate', this._showPreferences.bind(this)); + head.addMenuItem(item); - /*******************/ - let bottom = new PopupMenu.PopupMenuSection(); - this._customEntry = new St.Entry({ - style_class: 'teatime-custom-entry', - track_hover: true, - hint_text: _("min:sec") - }); - this._customEntry.get_clutter_text().set_max_length(10); - this._customEntry.get_clutter_text().connect("key-press-event", this._createCustomTimer.bind(this)); - bottom.box.add(this._customEntry); - bottom.actor.set_style("padding: 0px 18px;") + /*******************/ + let bottom = new PopupMenu.PopupMenuSection(); + this._customEntry = new St.Entry({ + style_class: 'teatime-custom-entry', + track_hover: true, + hint_text: _("min:sec") + }); + this._customEntry.get_clutter_text().set_max_length(10); + this._customEntry.get_clutter_text().connect("key-press-event", this._createCustomTimer.bind(this)); + bottom.box.add(this._customEntry); + bottom.actor.set_style("padding: 0px 18px;") - /*******************/ + /*******************/ - this.menu.addMenuItem(head); - this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); - this.menu.addMenuItem(this.teaItemCont); - this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); - this.menu.addMenuItem(bottom); + this.menu.addMenuItem(head); + this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); + this.menu.addMenuItem(this.teaItemCont); + this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); + this.menu.addMenuItem(bottom); - this._updateTeaList(); + this._updateTeaList(); } _updateTeaList(config, output) { - // make sure the menu is empty - this.teaItemCont.removeAll(); + // make sure the menu is empty + this.teaItemCont.removeAll(); - // fill with new teas - let list = this._settings.get_value(this.config_keys.steep_times).unpack(); - let menuItem = new PopupTeaMenuItem("Stop Timer", 0); + // fill with new teas + let list = this._settings.get_value(this.config_keys.steep_times).unpack(); + let menuItem = new PopupTeaMenuItem("Stop Timer", 0); + menuItem.connect('activate', function () { + this._stopCountdown(); + }.bind(this)); + this.teaItemCont.addMenuItem(menuItem); + for (let teaname in list) { + let time = list[teaname].get_uint32(); + + let menuItem = new PopupTeaMenuItem(_(teaname), time); menuItem.connect('activate', function () { - this._stopCountdown(); + this._initCountdown(time); }.bind(this)); this.teaItemCont.addMenuItem(menuItem); - for (let teaname in list) { - let time = list[teaname].get_uint32(); - - let menuItem = new PopupTeaMenuItem(_(teaname), time); - menuItem.connect('activate', function () { - this._initCountdown(time); - }.bind(this)); - this.teaItemCont.addMenuItem(menuItem); - } + } } _updateCountdownType(config, output) { - let bWantGraphicalCountdown = this._settings.get_boolean(this.config_keys.graphical_countdown); + let bWantGraphicalCountdown = this._settings.get_boolean(this.config_keys.graphical_countdown); - if (bWantGraphicalCountdown != this._bGraphicalCountdown) { - if (this._idleTimeout != null) { - // we have a running countdown, replace the display - this.actor.remove_actor(this._bGraphicalCountdown ? - this._graphicalTimer : this._textualTimer); - this._bGraphicalCountdown = bWantGraphicalCountdown; - this.actor.add_actor(this._bGraphicalCountdown ? - this._graphicalTimer : this._textualTimer); + if (bWantGraphicalCountdown != this._bGraphicalCountdown) { + if (this._idleTimeout != null) { + // we have a running countdown, replace the display + this.actor.remove_actor(this._bGraphicalCountdown ? + this._graphicalTimer : this._textualTimer); + this._bGraphicalCountdown = bWantGraphicalCountdown; + this.actor.add_actor(this._bGraphicalCountdown ? + this._graphicalTimer : this._textualTimer); - this._updateTimerDisplay(this._getRemainingSec()); - } // if timeout active - } // value changed + this._updateTimerDisplay(this._getRemainingSec()); + } // if timeout active + } // value changed } _createCustomTimer(text, event) { - if (event.get_key_symbol() == Clutter.KEY_Enter || - event.get_key_symbol() == Clutter.KEY_Return || - event.get_key_symbol() == Clutter.KEY_KP_Enter) { + if (event.get_key_symbol() == Clutter.KEY_Enter || + event.get_key_symbol() == Clutter.KEY_Return || + event.get_key_symbol() == Clutter.KEY_KP_Enter) { - let customTime = text.get_text(); - let seconds = 0; - let match = customTime.match(/^(?:(\d+)(?::(\d{0,2}))?|:(\d+))$/) - if (match) { - let factor = 1; - if (match[3] === undefined) { // minutes and seconds? - for (var i = match.length - 2; i > 0; i--) { - let s = match[i] === undefined ? "" : match[i].replace(/^0/, ''); // fix for elder GNOME <= 3.10 which don't like leading zeros - if (s.match(/^\d+$/)) { // only if something left - seconds += factor * parseInt(s); - } - factor *= 60; + let customTime = text.get_text(); + let seconds = 0; + let match = customTime.match(/^(?:(\d+)(?::(\d{0,2}))?|:(\d+))$/) + if (match) { + let factor = 1; + if (match[3] === undefined) { // minutes and seconds? + for (var i = match.length - 2; i > 0; i--) { + let s = match[i] === undefined ? "" : match[i].replace(/^0/, ''); // fix for elder GNOME <= 3.10 which don't like leading zeros + if (s.match(/^\d+$/)) { // only if something left + seconds += factor * parseInt(s); } - } else { // only seconds? - let s = match[3].replace(/^0/, ''); - seconds = parseInt(s); - } - if (seconds > 0) { - this._initCountdown(seconds); - this.menu.close(); + factor *= 60; } + } else { // only seconds? + let s = match[3].replace(/^0/, ''); + seconds = parseInt(s); + } + if (seconds > 0) { + this._initCountdown(seconds); + this.menu.close(); } - this._customEntry.set_text(""); } + this._customEntry.set_text(""); + } } _showNotification(subject, text) { - let source = (Utils.isGnome34()) ? - new MessageTray.Source(_("TeaTime applet")) : - new MessageTray.Source(_("TeaTime applet"), 'utilities-teatime'); + let source = (Utils.isGnome34()) ? + new MessageTray.Source(_("TeaTime applet")) : + new MessageTray.Source(_("TeaTime applet"), 'utilities-teatime'); - if (Utils.isGnome34()) { - source.createNotificationIcon = - function () { - let iconBox = new St.Bin(); - iconBox._size = this.ICON_SIZE; - iconBox.child = new St.Icon({ - icon_name: 'utilities-teatime', - icon_type: St.IconType.FULLCOLOR, - icon_size: iconBox._size - }); - return iconBox; - } // createNotificationIcon - } + if (Utils.isGnome34()) { + source.createNotificationIcon = + function () { + let iconBox = new St.Bin(); + iconBox._size = this.ICON_SIZE; + iconBox.child = new St.Icon({ + icon_name: 'utilities-teatime', + icon_type: St.IconType.FULLCOLOR, + icon_size: iconBox._size + }); + return iconBox; + } // createNotificationIcon + } - Main.messageTray.add(source); + Main.messageTray.add(source); - let notification = new MessageTray.Notification(source, subject, text); - notification.setTransient(true); - source.notify(notification); + let notification = new MessageTray.Notification(source, subject, text); + notification.setTransient(true); + source.notify(notification); } _initCountdown(time) { - this._startTime = new Date(); - this._stopTime = new Date(); - this._cntdownStart = time; + this._startTime = new Date(); + this._stopTime = new Date(); + this._cntdownStart = time; - this._bGraphicalCountdown = this._settings.get_boolean(this.config_keys.graphical_countdown); + this._bGraphicalCountdown = this._settings.get_boolean(this.config_keys.graphical_countdown); - let dt = this._bGraphicalCountdown ? - Math.max(1.0, time / 90) // set time step to fit animation - : - 1.0; // show every second for the textual countdown + let dt = this._bGraphicalCountdown ? + Math.max(1.0, time / 90) // set time step to fit animation + : + 1.0; // show every second for the textual countdown - this._stopTime.setTime(this._startTime.getTime() + time * 1000); // in msec + this._stopTime.setTime(this._startTime.getTime() + time * 1000); // in msec - this.actor.remove_actor(this._logo); // show timer instead of default icon + this.actor.remove_actor(this._logo); // show timer instead of default icon - this._updateTimerDisplay(time); + this._updateTimerDisplay(time); - this.actor.add_actor(this._bGraphicalCountdown ? - this._graphicalTimer : this._textualTimer); + this.actor.add_actor(this._bGraphicalCountdown ? + this._graphicalTimer : this._textualTimer); - if (this._idleTimeout != null) Mainloop.source_remove(this._idleTimeout); - this._idleTimeout = Mainloop.timeout_add_seconds(dt, this._doCountdown.bind(this)); + if (this._idleTimeout != null) Mainloop.source_remove(this._idleTimeout); + this._idleTimeout = Mainloop.timeout_add_seconds(dt, this._doCountdown.bind(this)); } _stopCountdown() { - if (this._idleTimeout != null) Mainloop.source_remove(this._idleTimeout); - this.actor.remove_actor(this._bGraphicalCountdown ? - this._graphicalTimer : this._textualTimer); - this.actor.add_actor(this._logo); - this._idleTimeout = null; + if (this._idleTimeout != null) Mainloop.source_remove(this._idleTimeout); + this.actor.remove_actor(this._bGraphicalCountdown ? + this._graphicalTimer : this._textualTimer); + this.actor.add_actor(this._logo); + this._idleTimeout = null; } _getRemainingSec() { - let a = new Date(); - return (this._stopTime.getTime() - a.getTime()) * 1e-3; + let a = new Date(); + return (this._stopTime.getTime() - a.getTime()) * 1e-3; } _updateTimerDisplay(remainingTime) { - if (this._bGraphicalCountdown) { - this._graphicalTimer.setStatus((this._cntdownStart - remainingTime) / this._cntdownStart); - } else { - this._textualTimer.text = Utils.formatTime(remainingTime); - } + if (this._bGraphicalCountdown) { + this._graphicalTimer.setStatus((this._cntdownStart - remainingTime) / this._cntdownStart); + } else { + this._textualTimer.text = Utils.formatTime(remainingTime); + } } _doCountdown() { - let remainingTime = this._getRemainingSec(); + let remainingTime = this._getRemainingSec(); - if (remainingTime <= 0) { - // count down finished, switch display again - this._stopCountdown(); - this._playSound(); + if (remainingTime <= 0) { + // count down finished, switch display again + this._stopCountdown(); + this._playSound(); - if (!Utils.isGnome34() && this._settings.get_boolean(this.config_keys.fullscreen_notification)) { - this.dialog = new TeaTimeFullscreenNotification(); - this.dialog.show(); - } else { - this._showNotification(_("Your tea is ready!"), - _("Drink it, while it is hot!")); - } - return false; + if (!Utils.isGnome34() && this._settings.get_boolean(this.config_keys.fullscreen_notification)) { + this.dialog = new TeaTimeFullscreenNotification(); + this.dialog.show(); } else { - this._updateTimerDisplay(remainingTime); - return true; // continue timer + this._showNotification(_("Your tea is ready!"), + _("Drink it, while it is hot!")); } + return false; + } else { + this._updateTimerDisplay(remainingTime); + return true; // continue timer + } } _playSound() { - let bPlayAlarmSound = this._settings.get_boolean(this.config_keys.use_alarm_sound); - if (bPlayAlarmSound) { - Utils.playSound(this._settings.get_string(this.config_keys.alarm_sound)); - } + let bPlayAlarmSound = this._settings.get_boolean(this.config_keys.use_alarm_sound); + if (bPlayAlarmSound) { + Utils.playSound(this._settings.get_string(this.config_keys.alarm_sound)); + } } _showPreferences() { - const currExt = ExtensionUtils.getCurrentExtension(); - imports.misc.util.spawn(["gnome-shell-extension-prefs", currExt.metadata['uuid']]); - return 0; + const currExt = ExtensionUtils.getCurrentExtension(); + imports.misc.util.spawn(["gnome-shell-extension-prefs", currExt.metadata['uuid']]); + return 0; } _onStyleChanged(actor) { - let themeNode = actor.get_theme_node(); - let color = themeNode.get_foreground_color() - let [bHasPadding, padding] = themeNode.lookup_length("-natural-hpadding", false); + let themeNode = actor.get_theme_node(); + let color = themeNode.get_foreground_color() + let [bHasPadding, padding] = themeNode.lookup_length("-natural-hpadding", false); - this._primaryColor = color; - this._secondaryColor = new Clutter.Color({ - red: color.red, - green: color.green, - blue: color.blue, - alpha: color.alpha * 0.3 - }); - this._logo.setPadding(bHasPadding * padding); - this._graphicalTimer.setPadding(bHasPadding * padding); - this._textualTimer.margin_right = bHasPadding * padding; - this._textualTimer.margin_left = bHasPadding * padding; + this._primaryColor = color; + this._secondaryColor = new Clutter.Color({ + red: color.red, + green: color.green, + blue: color.blue, + alpha: color.alpha * 0.3 + }); + this._logo.setPadding(bHasPadding * padding); + this._graphicalTimer.setPadding(bHasPadding * padding); + this._textualTimer.margin_right = bHasPadding * padding; + this._textualTimer.margin_left = bHasPadding * padding; - this._logo.setColor(this._primaryColor, this._secondaryColor); - this._graphicalTimer.setColor(this._primaryColor, this._secondaryColor); + this._logo.setColor(this._primaryColor, this._secondaryColor); + this._graphicalTimer.setColor(this._primaryColor, this._secondaryColor); - // forward (possible) scaling style change to child - let scaling = Utils.getGlobalDisplayScaleFactor(); - this._logo.setScaling(scaling); - this._graphicalTimer.setScaling(scaling); + // forward (possible) scaling style change to child + let scaling = Utils.getGlobalDisplayScaleFactor(); + this._logo.setScaling(scaling); + this._graphicalTimer.setScaling(scaling); } }); diff --git a/src/icon.js b/src/icon.js index 3706ca8..0a4a403 100644 --- a/src/icon.js +++ b/src/icon.js @@ -24,73 +24,73 @@ class TwoColorIcon extends St.DrawingArea { reactive: true, style: 'padding: 0px 0px' }); - this._base_size = size; - //this.setScaling(Utils.getGlobalDisplayScaleFactor()); + this._base_size = size; + //this.setScaling(Utils.getGlobalDisplayScaleFactor()); - this._drawingObject = drawingObject; + this._drawingObject = drawingObject; - this.connect('repaint', function () { - this._drawIcon(); - }.bind(this)); + this.connect('repaint', function () { + this._drawIcon(); + }.bind(this)); - // some fallback color - this._primaryColor = new Clutter.Color({ - red: 150, - green: 150, - blue: 150, - alpha: 255 - }); - this._secundaryColor = this._primaryColor; - this._customStatus = null; + // some fallback color + this._primaryColor = new Clutter.Color({ + red: 150, + green: 150, + blue: 150, + alpha: 255 + }); + this._secundaryColor = this._primaryColor; + this._customStatus = null; } setPadding(padding) { - this.margin_left = padding; - this.margin_right = padding; + this.margin_left = padding; + this.margin_right = padding; } setColor(primary, secundary) { - this._primaryColor = primary; - this._secundaryColor = secundary; - this.queue_repaint(); + this._primaryColor = primary; + this._secundaryColor = secundary; + this.queue_repaint(); } setScaling(newScale) { - this._default_scale = newScale; - this.set_width(this._base_size * this._default_scale); - this.set_height(this._base_size * this._default_scale); - this.queue_repaint(); + this._default_scale = newScale; + this.set_width(this._base_size * this._default_scale); + this.set_height(this._base_size * this._default_scale); + this.queue_repaint(); } setStatus(newStatus) { - this._customStatus = newStatus; - this.queue_repaint(); + this._customStatus = newStatus; + this.queue_repaint(); } _drawIcon() { - let cr = this.get_context(); - let orWdt = this._drawingObject.width; - let orHgt = this._drawingObject.height; - let [width, height] = this.get_surface_size(); + let cr = this.get_context(); + let orWdt = this._drawingObject.width; + let orHgt = this._drawingObject.height; + let [width, height] = this.get_surface_size(); - cr.save(); + cr.save(); - let object_longest_edge = Math.max(orWdt, orHgt); - let surface_shortest_edge = Math.min(width, height); - let scaling = surface_shortest_edge / object_longest_edge; - let padding_x = (width - orWdt * scaling) * 0.5; - let padding_y = (height - orHgt * scaling) * 0.5; + let object_longest_edge = Math.max(orWdt, orHgt); + let surface_shortest_edge = Math.min(width, height); + let scaling = surface_shortest_edge / object_longest_edge; + let padding_x = (width - orWdt * scaling) * 0.5; + let padding_y = (height - orHgt * scaling) * 0.5; - cr.translate(padding_x, padding_y); - try { - cr.scale(scaling, scaling); + cr.translate(padding_x, padding_y); + try { + cr.scale(scaling, scaling); - this._drawingObject.draw(cr, this._customStatus, this._primaryColor, this._secundaryColor); + this._drawingObject.draw(cr, this._customStatus, this._primaryColor, this._secundaryColor); - cr.restore(); - } catch (e) { - // ignore - } + cr.restore(); + } catch (e) { + // ignore + } } }); diff --git a/src/prefs.js b/src/prefs.js index cccab95..23044e1 100644 --- a/src/prefs.js +++ b/src/prefs.js @@ -35,284 +35,284 @@ class TeaTimePrefsWidget extends Gtk.Grid { this.config_keys = Utils.GetConfigKeys(); - this._tealist = new Gtk.ListStore(); - this._tealist.set_column_types([ - GObject.TYPE_STRING, - GObject.TYPE_INT, - Gtk.Adjustment - ]); + this._tealist = new Gtk.ListStore(); + this._tealist.set_column_types([ + GObject.TYPE_STRING, + GObject.TYPE_INT, + Gtk.Adjustment + ]); - this.set_column_spacing(3); + this.set_column_spacing(3); - this._settings = Utils.getSettings(); - this._inhibitUpdate = true; - this._settings.connect("changed", this._refresh.bind(this)); + this._settings = Utils.getSettings(); + this._inhibitUpdate = true; + this._settings.connect("changed", this._refresh.bind(this)); - this._initWindow(); - this._inhibitUpdate = false; - this._refresh(); - this._tealist.connect("row-changed", this._save.bind(this)); - this._tealist.connect("row-deleted", this._save.bind(this)); + this._initWindow(); + this._inhibitUpdate = false; + this._refresh(); + this._tealist.connect("row-changed", this._save.bind(this)); + this._tealist.connect("row-deleted", this._save.bind(this)); } _initWindow() { - let curRow = 0; - let labelFN = new Gtk.Label({ - label: _("Fullscreen Notifications"), - hexpand: true, - halign: Gtk.Align.START - }); - let labelGC = new Gtk.Label({ - label: _("Graphical Countdown"), - hexpand: true, - halign: Gtk.Align.START - }); + let curRow = 0; + let labelFN = new Gtk.Label({ + label: _("Fullscreen Notifications"), + hexpand: true, + halign: Gtk.Align.START + }); + let labelGC = new Gtk.Label({ + label: _("Graphical Countdown"), + hexpand: true, + halign: Gtk.Align.START + }); - let labelAS = new Gtk.Label({ - label: _("Alarm sound"), - hexpand: true, - halign: Gtk.Align.START - }); + let labelAS = new Gtk.Label({ + label: _("Alarm sound"), + hexpand: true, + halign: Gtk.Align.START + }); - this.fullscreenNotificationSwitch = new Gtk.Switch(); - this.fullscreenNotificationSwitch.connect("notify::active", this._saveFullscreenNotifications.bind(this)); + this.fullscreenNotificationSwitch = new Gtk.Switch(); + this.fullscreenNotificationSwitch.connect("notify::active", this._saveFullscreenNotifications.bind(this)); - this.graphicalCountdownSwitch = new Gtk.Switch(); - this.graphicalCountdownSwitch.connect("notify::active", this._saveGraphicalCountdown.bind(this)); + this.graphicalCountdownSwitch = new Gtk.Switch(); + this.graphicalCountdownSwitch.connect("notify::active", this._saveGraphicalCountdown.bind(this)); - // alarm sound file chooser - this.alarmSoundSwitch = new Gtk.Switch(); - this.alarmSoundSwitch.connect("notify::active", this._saveUseAlarm.bind(this)); + // alarm sound file chooser + this.alarmSoundSwitch = new Gtk.Switch(); + this.alarmSoundSwitch.connect("notify::active", this._saveUseAlarm.bind(this)); - this.alarmSoundFile = new Gtk.FileChooserButton({ - title: _("Select alarm sound file"), - action: Gtk.FileChooserAction.OPEN - }); - this.alarmSoundFileFilter = new Gtk.FileFilter(); - this.alarmSoundFile.set_filter(this.alarmSoundFileFilter); - this.alarmSoundFileFilter.add_mime_type("audio/*"); - this.alarmSoundFile.connect("selection_changed", this._saveSoundFile.bind(this)); + this.alarmSoundFile = new Gtk.FileChooserButton({ + title: _("Select alarm sound file"), + action: Gtk.FileChooserAction.OPEN + }); + this.alarmSoundFileFilter = new Gtk.FileFilter(); + this.alarmSoundFile.set_filter(this.alarmSoundFileFilter); + this.alarmSoundFileFilter.add_mime_type("audio/*"); + this.alarmSoundFile.connect("selection_changed", this._saveSoundFile.bind(this)); - if (!Utils.isGnome34()) { - // Full screen notifications currently not working on GNOME 3.4, thus don't show the switch - this.attach(labelFN, 0 /*col*/ , curRow /*row*/ , 2 /*col span*/ , 1 /*row span*/ ); - this.attach(this.fullscreenNotificationSwitch, 2, curRow, 1, 1); - curRow += 1; - } - - this.attach(labelGC, 0 /*col*/ , curRow /*row*/ , 2 /*col span*/ , 1 /*row span*/ ); - this.attach(this.graphicalCountdownSwitch, 2, curRow, 1, 1); + if (!Utils.isGnome34()) { + // Full screen notifications currently not working on GNOME 3.4, thus don't show the switch + this.attach(labelFN, 0 /*col*/ , curRow /*row*/ , 2 /*col span*/ , 1 /*row span*/ ); + this.attach(this.fullscreenNotificationSwitch, 2, curRow, 1, 1); curRow += 1; + } - this.attach(labelAS, 0 /*col*/ , curRow /*row*/ , 1 /*col span*/ , 1 /*row span*/ ); - this.attach(this.alarmSoundFile, 1, curRow, 1, 1); - this.attach(this.alarmSoundSwitch, 2, curRow, 1, 1); - curRow += 1; + this.attach(labelGC, 0 /*col*/ , curRow /*row*/ , 2 /*col span*/ , 1 /*row span*/ ); + this.attach(this.graphicalCountdownSwitch, 2, curRow, 1, 1); + curRow += 1; - this.treeview = new Gtk.TreeView({ - model: this._tealist, - expand: true - }); - this.treeview.set_reorderable(true); - this.treeview.get_selection().set_mode(Gtk.SelectionMode.MULTIPLE); - this.attach(this.treeview, 0, curRow, 3, 1); - curRow += 1; + this.attach(labelAS, 0 /*col*/ , curRow /*row*/ , 1 /*col span*/ , 1 /*row span*/ ); + this.attach(this.alarmSoundFile, 1, curRow, 1, 1); + this.attach(this.alarmSoundSwitch, 2, curRow, 1, 1); + curRow += 1; - let teaname = new Gtk.TreeViewColumn({ - title: _("Tea"), - expand: true - }); - let renderer = new Gtk.CellRendererText({ - editable: true - }); - // When the renderer is done editing it's value, we first write - // the new value to the view's model, i.e. this._tealist. - // This makes life a little harder due to chaining of callbacks - // and the need for this._inhibitUpdate, but it feels a lot cleaner - // when the UI does not know about the config storage backend. - renderer.connect("edited", function (renderer, pathString, newValue) { - let [store, iter] = this._tealist.get_iter(Gtk.TreePath.new_from_string(pathString)); - this._tealist.set(iter, [Columns.TEA_NAME], [newValue]); - }.bind(this)); - teaname.pack_start(renderer, true); - teaname.add_attribute(renderer, "text", Columns.TEA_NAME); - this.treeview.append_column(teaname); + this.treeview = new Gtk.TreeView({ + model: this._tealist, + expand: true + }); + this.treeview.set_reorderable(true); + this.treeview.get_selection().set_mode(Gtk.SelectionMode.MULTIPLE); + this.attach(this.treeview, 0, curRow, 3, 1); + curRow += 1; - let steeptime = new Gtk.TreeViewColumn({ - title: _("Steep time"), - min_width: 150 - }); - let spinrenderer = new Gtk.CellRendererSpin({ - editable: true - }); - // See comment above. - spinrenderer.connect("edited", function (renderer, pathString, newValue) { - let [store, iter] = this._tealist.get_iter(Gtk.TreePath.new_from_string(pathString)); - this._tealist.set(iter, [Columns.STEEP_TIME], [parseInt(newValue)]); - }.bind(this)); + let teaname = new Gtk.TreeViewColumn({ + title: _("Tea"), + expand: true + }); + let renderer = new Gtk.CellRendererText({ + editable: true + }); + // When the renderer is done editing it's value, we first write + // the new value to the view's model, i.e. this._tealist. + // This makes life a little harder due to chaining of callbacks + // and the need for this._inhibitUpdate, but it feels a lot cleaner + // when the UI does not know about the config storage backend. + renderer.connect("edited", function (renderer, pathString, newValue) { + let [store, iter] = this._tealist.get_iter(Gtk.TreePath.new_from_string(pathString)); + this._tealist.set(iter, [Columns.TEA_NAME], [newValue]); + }.bind(this)); + teaname.pack_start(renderer, true); + teaname.add_attribute(renderer, "text", Columns.TEA_NAME); + this.treeview.append_column(teaname); - steeptime.pack_start(spinrenderer, true); - steeptime.add_attribute(spinrenderer, "adjustment", Columns.ADJUSTMENT); - steeptime.add_attribute(spinrenderer, "text", Columns.STEEP_TIME); - this.treeview.append_column(steeptime); + let steeptime = new Gtk.TreeViewColumn({ + title: _("Steep time"), + min_width: 150 + }); + let spinrenderer = new Gtk.CellRendererSpin({ + editable: true + }); + // See comment above. + spinrenderer.connect("edited", function (renderer, pathString, newValue) { + let [store, iter] = this._tealist.get_iter(Gtk.TreePath.new_from_string(pathString)); + this._tealist.set(iter, [Columns.STEEP_TIME], [parseInt(newValue)]); + }.bind(this)); + + steeptime.pack_start(spinrenderer, true); + steeptime.add_attribute(spinrenderer, "adjustment", Columns.ADJUSTMENT); + steeptime.add_attribute(spinrenderer, "text", Columns.STEEP_TIME); + this.treeview.append_column(steeptime); - this.toolbar = new Gtk.Toolbar({ - icon_size: 1 - }); - this.toolbar.get_style_context().add_class("inline-toolbar"); - this.attach(this.toolbar, 0 /*col*/ , curRow /*row*/ , 3 /*col span*/ , 1 /*row span*/ ); - this.addButton = new Gtk.ToolButton({ - icon_name: "list-add-symbolic", - use_action_appearance: false - }); - this.addButton.connect("clicked", this._addTea.bind(this)); - this.toolbar.insert(this.addButton, -1); - this.removeButton = new Gtk.ToolButton({ - icon_name: "list-remove-symbolic", - use_action_appearance: false - }); - this.removeButton.connect("clicked", this._removeSelectedTea.bind(this)); - this.toolbar.insert(this.removeButton, -1); + this.toolbar = new Gtk.Toolbar({ + icon_size: 1 + }); + this.toolbar.get_style_context().add_class("inline-toolbar"); + this.attach(this.toolbar, 0 /*col*/ , curRow /*row*/ , 3 /*col span*/ , 1 /*row span*/ ); + this.addButton = new Gtk.ToolButton({ + icon_name: "list-add-symbolic", + use_action_appearance: false + }); + this.addButton.connect("clicked", this._addTea.bind(this)); + this.toolbar.insert(this.addButton, -1); + this.removeButton = new Gtk.ToolButton({ + icon_name: "list-remove-symbolic", + use_action_appearance: false + }); + this.removeButton.connect("clicked", this._removeSelectedTea.bind(this)); + this.toolbar.insert(this.removeButton, -1); } _refresh() { - // don't update the model if someone else is messing with the backend - if (this._inhibitUpdate) - return; + // don't update the model if someone else is messing with the backend + if (this._inhibitUpdate) + return; - this.fullscreenNotificationSwitch.active = this._settings.get_boolean(this.config_keys.fullscreen_notification) + this.fullscreenNotificationSwitch.active = this._settings.get_boolean(this.config_keys.fullscreen_notification) - this.graphicalCountdownSwitch.active = this._settings.get_boolean(this.config_keys.graphical_countdown) - this.alarmSoundSwitch.active = this._settings.get_boolean(this.config_keys.use_alarm_sound) - let list = this._settings.get_value(this.config_keys.steep_times).unpack(); - let file_name = this._settings.get_string(this.config_keys.alarm_sound); - this.alarmSoundFile.set_uri(file_name); + this.graphicalCountdownSwitch.active = this._settings.get_boolean(this.config_keys.graphical_countdown) + this.alarmSoundSwitch.active = this._settings.get_boolean(this.config_keys.use_alarm_sound) + let list = this._settings.get_value(this.config_keys.steep_times).unpack(); + let file_name = this._settings.get_string(this.config_keys.alarm_sound); + this.alarmSoundFile.set_uri(file_name); - // stop everyone from reacting to the changes we are about to produce - // in the model - this._inhibitUpdate = true; + // stop everyone from reacting to the changes we are about to produce + // in the model + this._inhibitUpdate = true; - this._tealist.clear(); - for (let teaname in list) { - let time = list[teaname].get_uint32(); + this._tealist.clear(); + for (let teaname in list) { + let time = list[teaname].get_uint32(); - let adj = new Gtk.Adjustment({ - lower: 1, - step_increment: 1, - upper: 65535, - value: time - }); - this._tealist.set(this._tealist.append(), [Columns.TEA_NAME, Columns.STEEP_TIME, Columns.ADJUSTMENT], [teaname, time, adj]); - } - - this._inhibitUpdate = false; - } - - _addTea() { let adj = new Gtk.Adjustment({ lower: 1, step_increment: 1, upper: 65535, - value: 1 + value: time }); - let item = this._tealist.append(); - this._tealist.set(item, [Columns.TEA_NAME, Columns.STEEP_TIME, Columns.ADJUSTMENT], ["", 1, adj]); - this.treeview.set_cursor(this._tealist.get_path(item), - this.treeview.get_column(Columns.TEA_NAME), - true); + this._tealist.set(this._tealist.append(), [Columns.TEA_NAME, Columns.STEEP_TIME, Columns.ADJUSTMENT], [teaname, time, adj]); + } + + this._inhibitUpdate = false; + } + + _addTea() { + let adj = new Gtk.Adjustment({ + lower: 1, + step_increment: 1, + upper: 65535, + value: 1 + }); + let item = this._tealist.append(); + this._tealist.set(item, [Columns.TEA_NAME, Columns.STEEP_TIME, Columns.ADJUSTMENT], ["", 1, adj]); + this.treeview.set_cursor(this._tealist.get_path(item), + this.treeview.get_column(Columns.TEA_NAME), + true); } _removeSelectedTea() { - let [selection, store] = this.treeview.get_selection().get_selected_rows(); - let iters = []; - for (let i = 0; i < selection.length; ++i) { - let [isSet, iter] = store.get_iter(selection[i]); - if (isSet) { - iters.push(iter); - } + let [selection, store] = this.treeview.get_selection().get_selected_rows(); + let iters = []; + for (let i = 0; i < selection.length; ++i) { + let [isSet, iter] = store.get_iter(selection[i]); + if (isSet) { + iters.push(iter); } - // it's ok not to inhibit updates here as remove != change - iters.forEach(function (value, index, array) { - store.remove(value) - }); + } + // it's ok not to inhibit updates here as remove != change + iters.forEach(function (value, index, array) { + store.remove(value) + }); - this.treeview.get_selection().unselect_all(); + this.treeview.get_selection().unselect_all(); } _saveFullscreenNotifications(sw, data) { - // don't update the backend if someone else is messing with the model - if (this._inhibitUpdate) - return; - this._inhibitUpdate = true; - this._settings.set_boolean(this.config_keys.fullscreen_notification, - sw.active); - this._inhibitUpdate = false; + // don't update the backend if someone else is messing with the model + if (this._inhibitUpdate) + return; + this._inhibitUpdate = true; + this._settings.set_boolean(this.config_keys.fullscreen_notification, + sw.active); + this._inhibitUpdate = false; } _saveGraphicalCountdown(sw, data) { - // don't update the backend if someone else is messing with the model - if (this._inhibitUpdate) - return; - this._inhibitUpdate = true; - this._settings.set_boolean(this.config_keys.graphical_countdown, - sw.active); - this._inhibitUpdate = false; + // don't update the backend if someone else is messing with the model + if (this._inhibitUpdate) + return; + this._inhibitUpdate = true; + this._settings.set_boolean(this.config_keys.graphical_countdown, + sw.active); + this._inhibitUpdate = false; } _saveUseAlarm(sw, data) { - // don't update the backend if someone else is messing with the model - if (this._inhibitUpdate) - return; - this._inhibitUpdate = true; - this._settings.set_boolean(this.config_keys.use_alarm_sound, - sw.active); - this._inhibitUpdate = false; + // don't update the backend if someone else is messing with the model + if (this._inhibitUpdate) + return; + this._inhibitUpdate = true; + this._settings.set_boolean(this.config_keys.use_alarm_sound, + sw.active); + this._inhibitUpdate = false; } _saveSoundFile(sw, data) { - // don't update the backend if someone else is messing with the model - if (this._inhibitUpdate) - return; - let alarm_sound = this.alarmSoundFile.get_uri(); - Utils.debug(this._settings.get_string(this.config_keys.alarm_sound) + "-->" + alarm_sound); + // don't update the backend if someone else is messing with the model + if (this._inhibitUpdate) + return; + let alarm_sound = this.alarmSoundFile.get_uri(); + Utils.debug(this._settings.get_string(this.config_keys.alarm_sound) + "-->" + alarm_sound); - let have_value = Utils.isType(alarm_sound, "string"); - let setting_is_different = - this._settings.get_string(this.config_keys.alarm_sound) != alarm_sound; - if (have_value && setting_is_different) { - this._inhibitUpdate = true; + let have_value = Utils.isType(alarm_sound, "string"); + let setting_is_different = + this._settings.get_string(this.config_keys.alarm_sound) != alarm_sound; + if (have_value && setting_is_different) { + this._inhibitUpdate = true; - Utils.playSound(alarm_sound); - this._settings.set_string(this.config_keys.alarm_sound, alarm_sound); - this._inhibitUpdate = false; - } + Utils.playSound(alarm_sound); + this._settings.set_string(this.config_keys.alarm_sound, alarm_sound); + this._inhibitUpdate = false; + } } _save(store, path_, iter_) { - const GLib = imports.gi.GLib; + const GLib = imports.gi.GLib; - // don't update the backend if someone else is messing with the model - if (this._inhibitUpdate) - return; + // don't update the backend if someone else is messing with the model + if (this._inhibitUpdate) + return; - let values = []; - this._tealist.foreach(function (store, path, iter) { - values.push(GLib.Variant.new_dict_entry( - GLib.Variant.new_string(store.get_value(iter, Columns.TEA_NAME)), - GLib.Variant.new_uint32(store.get_value(iter, Columns.STEEP_TIME)))) - }); - let settingsValue = GLib.Variant.new_array(GLib.VariantType.new("{su}"), values); + let values = []; + this._tealist.foreach(function (store, path, iter) { + values.push(GLib.Variant.new_dict_entry( + GLib.Variant.new_string(store.get_value(iter, Columns.TEA_NAME)), + GLib.Variant.new_uint32(store.get_value(iter, Columns.STEEP_TIME)))) + }); + let settingsValue = GLib.Variant.new_array(GLib.VariantType.new("{su}"), values); - // all changes have happened through the UI, we can safely - // disable updating it here to avoid an infinite loop - this._inhibitUpdate = true; + // all changes have happened through the UI, we can safely + // disable updating it here to avoid an infinite loop + this._inhibitUpdate = true; - this._settings.set_value(this.config_keys.steep_times, settingsValue); + this._settings.set_value(this.config_keys.steep_times, settingsValue); - this._inhibitUpdate = false; + this._inhibitUpdate = false; } }); From 0580b73fa4847fe70c16b7ebf971fda8725c5602 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 17 Feb 2020 18:04:02 +0100 Subject: [PATCH 05/12] Remove fullscreen notification option Unfortunatly gnome-3.35.9x has dropped ClutterTexture, so this needs to be completely rewritten, lets just remove it for now. Note patches re-introducing this are welcome. Signed-off-by: Hans de Goede --- src/data/cup00.png | Bin 15094 -> 0 bytes src/data/cup01.png | Bin 14929 -> 0 bytes src/data/cup02.png | Bin 14204 -> 0 bytes src/data/cup03.png | Bin 14067 -> 0 bytes src/data/cup04.png | Bin 14040 -> 0 bytes src/data/cup05.png | Bin 14012 -> 0 bytes src/data/cup06.png | Bin 14000 -> 0 bytes src/data/cup07.png | Bin 13584 -> 0 bytes src/data/cup08.png | Bin 13964 -> 0 bytes src/data/cup09.png | Bin 14288 -> 0 bytes src/data/cup10.png | Bin 14137 -> 0 bytes src/data/cup11.png | Bin 13947 -> 0 bytes src/data/cup12.png | Bin 13505 -> 0 bytes src/data/cup13.png | Bin 13186 -> 0 bytes src/data/cup14.png | Bin 13096 -> 0 bytes src/data/cup15.png | Bin 13167 -> 0 bytes src/data/cup16.png | Bin 13157 -> 0 bytes src/data/cup17.png | Bin 13330 -> 0 bytes src/data/cup18.png | Bin 13569 -> 0 bytes src/data/cup19.png | Bin 13765 -> 0 bytes src/data/cup20.png | Bin 13616 -> 0 bytes src/data/cup21.png | Bin 13976 -> 0 bytes src/data/cup22.png | Bin 14548 -> 0 bytes src/data/cup23.png | Bin 14894 -> 0 bytes src/extension.js | 113 +-------------------------------------------- src/prefs.js | 28 ----------- src/utils.js | 1 - 27 files changed, 2 insertions(+), 140 deletions(-) delete mode 100644 src/data/cup00.png delete mode 100644 src/data/cup01.png delete mode 100644 src/data/cup02.png delete mode 100644 src/data/cup03.png delete mode 100644 src/data/cup04.png delete mode 100644 src/data/cup05.png delete mode 100644 src/data/cup06.png delete mode 100644 src/data/cup07.png delete mode 100644 src/data/cup08.png delete mode 100644 src/data/cup09.png delete mode 100644 src/data/cup10.png delete mode 100644 src/data/cup11.png delete mode 100644 src/data/cup12.png delete mode 100644 src/data/cup13.png delete mode 100644 src/data/cup14.png delete mode 100644 src/data/cup15.png delete mode 100644 src/data/cup16.png delete mode 100644 src/data/cup17.png delete mode 100644 src/data/cup18.png delete mode 100644 src/data/cup19.png delete mode 100644 src/data/cup20.png delete mode 100644 src/data/cup21.png delete mode 100644 src/data/cup22.png delete mode 100644 src/data/cup23.png diff --git a/src/data/cup00.png b/src/data/cup00.png deleted file mode 100644 index ed0ff544b6073e2e93d8ab289980c893466b9b2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15094 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 diff --git a/src/data/cup01.png b/src/data/cup01.png deleted file mode 100644 index 5015295d163da01bb9eeffa835af9ae99033d76f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14929 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 diff --git a/src/data/cup02.png b/src/data/cup02.png deleted file mode 100644 index 88e7551644daf2c2d6dc54d3b7495c7b0e79f607..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14204 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 diff --git a/src/data/cup03.png b/src/data/cup03.png deleted file mode 100644 index 7d621b7b30c5877ae4651824cba2ec53f548f55b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14067 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 Qb7cToNhOI|F~i{h0RX*rMF0Q* diff --git a/src/data/cup06.png b/src/data/cup06.png deleted file mode 100644 index a176d5471c2cff2883f47a2a23ec51b21179d008..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14000 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 JS1)54@_#3@VcP%z diff --git a/src/data/cup07.png b/src/data/cup07.png deleted file mode 100644 index 97d6ce951a20338075324efa36ccb7b8b5eb8e7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13584 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 diff --git a/src/data/cup08.png b/src/data/cup08.png deleted file mode 100644 index 3ea94d8e51af9df57dbb704ecffb83f37c336fc8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13964 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 F{13AQPnZAz diff --git a/src/data/cup09.png b/src/data/cup09.png deleted file mode 100644 index 56e36a32378c22193106d9ccf5c8d6590fc495eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14288 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 S!3WxF2PPw-C|)aS6!Je*YuGse diff --git a/src/data/cup10.png b/src/data/cup10.png deleted file mode 100644 index 6f7b8cd2afa6dacc6b3d16f66138c4f6448e745d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14137 zcmZ`=WmH>T)5Wd0QyhX*+}*8Mk>c*f-Q9x~w<5&}CAho0m*Vd3Zf~Cd-=D+P&=&y!?ZAS56=$?3R4L4Csh?}DCP3wVY6iRdP;B#k%=jfTz5-Gr2G3I#<0 zB`+ne;kA6$;rYwJJ?G;?=0|cZXuqQB&Ug)4TJiu;;!q66Px?drD~Xm+Qr^ zmV?!)mpAY9g*FmCF7!Cbo$3E4yvw2M%5$)gaX$w`6Ru&?w zeXidR%Iwz9N3@1c8K%<+GBKvB##3lBt`0KbSmga~aso#7xL~TWDjEm-OE;coZ4x{< zq@lBSliQGVHLEil%}%U#T22btP+m0y?FDfaXo(FMrL!3cbIP!_xKBZodmqkt#xO7_ z*-x{9XWOoM?~$;b>*`aYJ+Da%-Og3`8xb-;8PEsYu{-(!n z-Ew*no~rh*?%tWY*xRzYmyaae{qUy{BlaxG?u9j3 zf!{UnS4wuv{8w~Cn1Mn$9WG*in*{^gV;>tt5=fL}AIshn&7xQdcI{fPGzp?YA3>P^ z68hDRM2(Or`@8(M6|c@+38Ft~p+=TU`uiQ_spOWoeyA${Eq z$Hco5wbck?xZZwDj>jn`-k=OyWPX1SEd@6H5m5ZYSMrcBhaj zR_Ry<^pX_yn~<*yvv2b|{G~IlRP5b;Af#;I&3Mz6M&{C8O2mpTGEph|L1UHCWi}0R znV-m(r{Ox+?lO3;GYzU!`9*^e2^6}kym?&j|Hdc7ygfrCWZu3@N3%ZVd%aRsQM=cNC1?*G6~3pn{Ek z$>a7`e?2pvNgCb5u~g2o9C5s<(bS$AQ6(` zE32!2ehgseFx-0RdMDu(1v~G9@T`xx_#2Q(!{Ov9-am_Y%Z63En12kJLP7H(c0(zf zlaoyOq%OErm#O_$K#7c2OQa(YNRcHEOk>(uos2&4%RIm5>Uw%ZKT-igEAxY7HQZxt zyPlv8*$7-mfypENoMmO!8SlkeRQ)R(UMv!F7N577J`xDKqcQarsr;yEk$6@D1Fx8X zfz>q(rqtEb)dtyWHT_>iJL2Xn&-VPuKSU;!kk5Vn9!}nq5S1uxf#c-oAJ_}4>ZUW> zeKpLVJ`uyiTi*;6Hs+~3!d}8%){EA}HI7LA?s@59^rw!P+a&AfLY+G#ffhm*LKhO4 z;MS)ISD-^)R#mNLCZ4P3bKi@8y*x)rSbtGLa&{6L2sMTM<)e`RDb?%suCDZ^_8U{h zzJ9JRb}PN#?M?aq!mwiHGHsxNV6GO6^fDbxiIu?hd9Kj+j|Xz^4K&>__b@odDU`W` zpU~Z39vEmVFVD3o8A@Kz;|P6(Gt!zYzCRt%P@P)(il&8I=w?L7TWKL)Jg>A7O`QCC zFEMn!Fso8QA;CqE>(>N7oku=3k=qyQ&Xj)#0o3JHP|A4N?T)D&UmQX+5J1OR{dg3- zx@U9p!N#JyICn%82c(XHlP`75!Bn9;&x$2tdds4$pNfKrFdZL6r(k$sY4V|PXv%br zm-FR}+t#f{u*dmVtzw0$0lmzXFNua|o#{+s*Igf%0@F$v-rq={zO3lImDrdP($*bJ zTHcK5H6J}QwOp%feH?i~H=fm6Ur{m7nVWlsnKR0BWOgg-@-5Q$Z$9OTQ6WS(i)Ml! z_6C@g7NcbK-)Q8_jd#Y#D47v!8RUNa{36+cG9kZMP0Tfrr@ydL!D09L4qRN$jUx_Z z&KLWGvSqa1#k&xAhN8U+kF!ES6bVG$^EGMT_3zy2-S$>x5dYCRMK}>hw0zgqMt%Ii zx*k=TT{gy2UKudf%k>3yEnlrXpB|<0j0BhIAfK%p>*mGl#rGq*DR5U|Hk0f55lOOF zs-abWy616@H(6m&o@RTUpn>#aOc$LHogOIqggwj=8-G1);OV*wq+Wa(=K)42F_TfJ zM<*%`F=)Ewu5kgGgPG;!lEQY$WsSZj?IH($@YVYimnZ3k-4ckbg*Snv&l*Y?0X!Gt zy!N^r$XxTuKb)1MQ!O}dR!p2QQc&s7B0$jW@c4JhU5?Z(sil&j;>PDML)o8(?g)FW zV21E;7mOrZ3i^`fs;{NT{erI#+4j`JC(o7F-Jf{*+@JikyWT#8VPgs0S}lth6n96g zv9I=-=RuQ`2EOzn&gA79N#?x(GG4iUE>m_iO-)tJR4+xzS&dV*;L+jl<2BAQK-weo zUj|cW{o>W`D$vqtKP?ivfu~qH6qJAjYiu! zDCPTciJ((Jw2eEa{4DV&+pRET9>V*V$bxNjF$JJs*WkHDuQ^!j3I1AAS0@8;S66)G zY4>E8`Fu5Q`m_pMAYO!v>tdZRYhPdCYTybQNt+vsQCmRAZ3J6)A2B($u>Tq$85tno z>rA59CslQvqF`~2JQO?88lFd`&=YskO{k;;cMaInGPLPsK-#o4knCW&e_Q}zHbii4Pkx-Orw1o ztHlC`+AgIqSu_$7oj(sGXnXg<@SG7I9CUf_Z*p`uRXvq7-*#M3NRHK0NQa})6e^Z$ z7qERZwsVWUcs=lZdQx#nTzBo6Dd-X$DUG7RHZgwP+sO#t zVKd}XwII^GYCKfH7t^osMz8JiGs_AA1Um?n)rNtF3DZIW@&Hqmw6lm0R{7w`2fPr> z;abJ{>O=q=bEF+(gb9B}W9SKrDJbL|M>z?=yds_kxVY$)s!wYHD50MfYY$tMVB(T%kq!mIUSy9KMu-hbclN&by(=B}NNU~uY}ss72p9Yvs7qcY;5*HmJRfV5oS zKt8@}^$eQhszSPrO#=2qchZ%_Kr?9fXYL#_LvK6o%2gbMDF$91!I4^2L*_t}9*91Dds~K6UHrjG6GT zxJ@_|B=_pJhLEI-ucSGROC+5ZZG!@=n!_{KM+PiNOUootFUGQp6qnTz{Bhb!rait< zasK$+7BN>FopBowr5F9#LF%@{XNHvuY-$W>4LJyA&@Iqzp_ zj_1y)FeaC@l_odd^N_WB3STeYxJ}7%)-ipxWeGMBSan*#S^RDaoUdZ!$YLyHKpAO{ zun_F$hSy1w>(@|u_%!7ZRh}D%IVbc-v>!Q4Ow$~IBu+f!F1f%A6;HAtokpV%ohdcW zdkvGrY9gqdGwea#93&QYAHCz_5o#i+-57J`HAn+98nIW764-!vOhv})y}~b>q+lJZ zsIgefG_|Rk_|98dR9F|P&>~TzZE5Nka<<}ex#I3g?uUScgjj7pB9!azF?Z5By!92G zK$f&Fwvni^zM*Mmb~*N>8Ia_>9nH5iYqsispnmJlJ+qNo%$?rv4&Su)hC1c&nU-iw zMpbBo`*r|CHTL`Bg4DM$jOy!Qi4rXlHPM_z9|s$c1+sc|X);z~U-d#|`!AQ~ z*=ovM<^@%EIZIrOBb6do4l`jWYQVJL^z*;_4VQ%+mARFr{?l9%VN#;nBfiER4i3XT zt1h3At#1rrXT|jSJDjpCIY@V4s}e;7Ra@HI&auL z#3tM>y)aWDkgAXh836jFa&uNZYtH`}bvZMbtPB~+XllAlw1i&w6c+B(dp4@GXbp1} z+vLmuzs)<7A}%=h;Uy9BMY`_)3I~<9S6{(r?Vi1^5jbx3&W~lRCGUl%{}S{43e-^R zbB7G=9@Gh>)QW^ z+K1CV-56|8$o%24OeHia{Fv9s{txLcRk z9%VXYs?6_C*=XUb9cmHoy3L0kzhk_jOb9nyAz)Ux<0uy)$>;uYAlk(&@>bKe(?RY< z(DkuK-Tu0L!s@60vVYS*{%$DHCTQbeKUia*Gy-=e^~-DZ#Qd&qlgoX@ynY5jX7P`GT*Qcf9UX~F_J0F>$FU@P3acq()(AkWM%BnwVzZr?^})5| z9_#RSpwq5q<+T(LkB-$mStP+MjeMuY zJ^6dx4j*4*6Nq$Wu+g4551M&QLgIS+t@Y^SopH}49Fn=6!jh+}H7EIcA816I!F1=? z(dHqwhgg0 zBhp;&^yz#&ax_X>cS3-AH2S#p^m`n|P-D=F9x{_l0+4y*9UBj@cNElpnOJ>ixsOZp z4%lE*n&7_$#oG`rmLMl7a%58AX+_i3tHK;w3ga|OP#`Abi`7f~ozD2l4gkpi#rzG0 z3GD4miZVx&L*s;(GWf2F`(8e!h7H4^l=+#`fEV{I-f>qTKJ;wyee~gbhv`yom;_Za z&@79#*pvt!aU~37lYfG+2UKqOp~|9_Nl3i63%}-fRtLL161TF{P&I6j(Anb-ErE1( zIf&@BjiJK9!8Pg_=uU^R_VMy&=yrGYR=_|?4Q42sRnm7Fu#&UVBV6X~bzFGMa-)^D z(xQXpN%MESm0+pfK6oL7OBZB0GC2#iT>H%x2$qFogW!pDz8`CZ;O?Ui%O$ea z9Iz-*3jV#H8-nfMy(7i@0H1_Ph`>s@1&FEfr^sImBB&s?K*xwM2B z&VR#mQf1hW!9|gdc!;~Ktn%kYn!n;ruPkZchh)`-WkG)3dC$THxFXKPP##+XNs@Qz zcGi-`@8s#1*Kzdr#`}X-u}qlb2rZjpjKsiJ^2cixv&avI8n0gytoA$q^43BuR*GgB zQ2X*V7?TxfM~Z~EZL?$ql6yHoNLt2OJRlGyfM~8BOQM&}UPF^6HP$y%sxxx)SuCM| zkt~dvfqr<4_Nf8J`xZf`U%gl?<*}!NS^h%X#Tkzv(%980tm?oXS?7DT{gU2Qyi|?d z=Az-^QthvwSc+rfX*3uJ2{fwpgu{#=eAxx}SQosx+G+RDnwqkc^zDiTAtVj{hrcu= z{{74x3`)B(v|aCSwpGL$r9;ocw5qt7q$?gt%B4@GRes{HRVr_Va8BE^EbJA6G1~&M zDfZy51L$Q_dt3%6Yz~eD;cI#bOdmIk2NZ}=Wpg<&HDw z5QmTnWC=Tb>qW(!BR@5QF<9j>W4vSY|mRtit1bM4jzqc17oQJnv;*3T~s?@EQrqu++2whc%V68Q(SyX2E~*CE|*}F%2#I@Min=VNu7bnT+LY@ z9@m`X2kHQwYbCnzb>oK}AAB$ejo{MPHxB^8Ct_m6HLeblFm2SKRCasf1?b=qK&Y9Z zbxl|)iXG>zY5}OP4$qIZhZTw)HB_Q=*o;+VI2-?$(1ft%<6UTW4Z~GpQ)Q7hdyCUR zQ1e}bC&(L3nF5-sImm=C1xTZIgu7&ymi{2(Du#M_MlReNI%Q}1VhpXB%Kxytw4Kl1 zorPl+y+hzRn|f;XwB=}e|4Ya1&TUq(E`3LZKk?)7T+{uasj*>pW#L4!lWdxkon4tR z)zZ$5#DJF`|0~}+qcbTlHutWra=-+$T^ zaozvra>%wjAn<+sT0-&_VLgo9~8Tve3~I!=NK)T-c6h;q~-K zr{Da?JuDOYQ3=;u-HT23j0|lu)xs}}ll?Ea*YKcJ#&Qh~+;r~Uae`tIxotS?-z;w+ zo)PXY1I6rZntMGfq_|^DY3hx@tgdK=c`2-tsDeoF6dYQJNF(W=fMl0)37&=B6};Rc zFOQ*}s?q9~H}$rs>w}G+&KZt_oZ3M7{8Qcx*HIF7A;Ya~t&TizrmF5*rB+`bugk4S zzPrOYn<;lnnhuR)ZAI!FW!EWKPfpkGRq11;Hs)DEurnM=w6s8tQM~#L8OGG>d_zsN zn)fV2t#<9e3~aKiE6JRTmxtO@(y_aMfDV)>u(wST9G_~0b-pEuUtkS=Q$(|)jN=_BIB{Q zA_*$ypfReljqdSuqdl`@Ios<;U$Ri^JJvqxcu_}P+=c!Fsj{In_S-~cjnkIj^YhE$ z@tOH#H*;>lwYP}x-p56Y3~+p0$A6qCV`5yVLoxP%0Z&1r!mxg<(S8cW;|F2ui2%1X zA!hGg)8M7k&#-SsF@nNaMsWa4brI)T%>sU?zZ-cc8=l(2xR_k6&tIzES)JZQZfhQ1 z`aPXiv%>toQ1joQkab*qMNQD;J181V%BO_YZ@rg;cDnrr+bmpavVwl(mIWWPU-upy z>E-t3L*{)*sjI8^c+b625KY8L9f_gYGb)$vSaymre!}U6m(+YL}?Y{7W|OL96^rdFw@X% zDG<*u+duX>|6TgxzGi%}PN}=1oA}eOs@I@kRqk9VF! z<4q=?;;eVf2z(wDg$yPM;EitkrdMD*m}p#&O^h*>DpfvFkw!9|jg5?3DMktfR*o-; zHJ_dgb2l=|LMJ-I$)z9u&jZSCM059Ub^OZZa9ofS_$2H+Z>JgSbc6Gpd1dgPI^YhR zmwv9vphchFky16Y#r{3VU%>y(U%dv#=*O>W^8sj0JIwXph&I9fwfr5o?mRPd^OFr9 z1{Dk$RL}?ys5{LeOrq@w(uw}m#g>1pvj%?!^F#7MQk|#oG&pmd-;VZ6CI2L!Ee(UN z_HzI{#t%*`!KM3?4v_j~2eB(kFn6tKddW{DGe!DC%9 zz*G;%8DIZJ1b)85c}mAbokC=80+zn3=AQv+#{IIYj7_>@#;& z`i(`Jd*F*w#SE|CEn|$B10Qmaok6(j_m&!~tU*LZlud^GI=zw>Qz>{~Yix)S&CgV0 zkEr9}e6oE3qk~^RVNIPrR%0=TZ>~dyACpMV>U0ioOP|WP8u;)w&i5xS(nlbgZW|Xx zzVqo~!^G);Z2cMBG~3w_s#dPZk&0SpPO{RY`4;VBkP`J6i?2JZ-aGL36pBH6NNsI7 zP2yT99-4&kif#cGQ=a@25jzO98g=eTCyQ*`8Tj+s{e9pdY0~_7>Q1Zkr1h7}U(g#{ z)k69(GEEB3(;2(T0dk-c^Sc4+-2R)Rh|KF|+E6hAc0NsdzBZ4x>;A0nwge!iIKcHM zUiecCzEl6~z<0{mvAtGY-SR|*}nS$UlL^_rTBzjHvRA1!|pll;+u3bhe9xyw)_5mXypl|9a1Qb~Z5@=B$j(b2pw#^&tlZ3(Wx zBue|QJDSPpTl3xaMkekfva!(^Y=DgHQ1dJBfoep};9Abj!JcWkXtozk%g1d%Pa7O= zp|^E_=!|%=X!$a%41Su7bka}XNyyS;h2G9;nq?8Vux1{UNu!x;*(5R7*>BWysL;D| zSL?pJ2XB)y)k5%{^XUA{awYAoAIDkk2w?Pf9jMB1vg&)#v3k{}w^ZX!2N|9t$^ByO zSYm8+`X$Y#zm}+KHn4=ZTVetuVllC0K}$E>gj!*2Gj2R$W_8X!ZyVE4s7#Tx(eF_k zsmj;FnIGG!3ADJz;Tlsj6x0OT1fq7>A9d{#MS1pq-CvvG?uEGDY?b=bI^8N285aJ+QT6z#i=Iig8!@mZ$C|lGQXlMkl zAw(^?&>_c}Xey37i_l}Cda&C9>j4u_xwc*_Uz%R9Dfnc?oh_#Hob+*}2i!7ToOarm7)N#ia2Qz8XmBP9SA}huO69+F;9BGtmCt@k!qbksqDb67Xpxb6fK- z&bm$Yv+cTugnE0e_eXXZs__a7i0URjMrD(~!w^P_SN4ifJk7%4L%JJ@1+1?ADW1BJ zo~8DLJ)~gR&BGl67b7uK9b!~ibjeDtlMqP68(X~`Bfl;VeB_15?+V(TxK78jAlq}} zF9@t*t5BaySd6@Cx3s$6F%*duOFv4xJ7-4X30-E&^7bBHE528dc+S?)*T!1txWgrI zbT8lhGd0~pvO-CgGDG{l!WZ{Q@b2&KzB{c^6<-q%jXJiqXyM9lb9c~k{G9hwq4XGr zE$;RstHFwz38m>{+k-?}#`#B}C+Wfp6MB4MK7Fpaw%4PCTc7b<4C~x-mf6NS*1G%F z-tE*mb>396B8`wUVGKB=oJ3d}Ua@hKZV6g_#At)j?jtS8OZub>0eWHkeFl&yu%NTOzg`mLlK}G{$OktY39>DHaSH)pHAOV3=p@dqKqn&`VPKL5t;nLi6$W2v zT|CGRv{+5}wr;q-$wbIT4ee-`Xx_ZgEkQ+C$m~;S-^E24VGw_6>IuPODR)cLr;R^B zL7f9*Ad241uCtQ(drch>pt-3L`Fv*JC6NAh9F#E<95=FUvEJ)FZp4=7{psMUcaQ+W z!^gx*8_Tdma3K46Pk*dy@nnpHFLZgMR$b5B5IIuYnlf^PAkH3!#^a$ zjP#9?uC6#rOU!#N@RGbj>1>u}w#o)5se+JPC>?|=i}|GZ9h$2i`rhi5`|rnJ;-F+4 z3EFgT#F_4z8RzeR1mOGFUVq66QoS4e`(qFaCcZH&M&|EgYlh%uV`cc6=@7zlnOSP3IatBA$)rQpRuQ`)afg9N+=)cv!VAvGfAR;e zG^C#O2^j7*RP9-dDr`Q}<@k{N=Z$)@TR-7(Sg{V)&JIBbB7kT@rjTm9rQeQYMFZ~+Zs3;%muK9`-%tzvS*)sri47J`?DFVma-wRqvOi&! zOiOqC)TK!tdmLPWhyxHwK++7)a5*zigv4)xl`K7Ci1C-#IMl~=pu_%Sa(Z&!uzKZp zTTnNbWFk498{|Q3G#$K=Q8M&4_g!G>K@OA1W^XPSO7};(PQ7Aqp3KbC|8C)zp zH|A0}YX97a9s@m&*c)!Qjx*Gdzmzvmet?mXaa2(Yq^AYL6JB_fse&fu}<{REIE@!(> zLyef=IQxu00=AlGW8dR`e*0;BCT*q8j60&TD~wS613O>D-VU4U5WySzr4F_~z%}%9 z^gF|hXn#QEN2_j-+<6|D7_tR&usK5IH}Zi5N~;WyipR7nv?GGeKJ%r8+b-<00sc5b z3B*e>=13*Nfllq4(UY810R(f^UiU`_Pd(}HX>$oi-IvsKIdtLyBQz_ zzWC4rpQ$HE`wWpQXJ=<)O)~o5=uIe)3mA3_z@TBe2#*&lff27VN&RmkY84NYrf6vMo`` z?GAhqy019V@xR_WC1$FFm_TC$uV*Vjs6H3rvN7lPs5zB3x&Gci=hmN)>oc}_f1o^H zDNr_&@cg*!8;w9ZgaIr@6dD-~$f(9(8J&b}M4$!LF0JlZvb~->B3oeUnxl;9_ zS^1<9Ky=ZD^=K9SZ2j{-wmV*blH#pwmKvXgfpVY$sj)%Se9qrflcWl(jEsO{m4;*Y zCwjcE5DJ%ekd|Y0W}DNe-~h7eChc zMeuQg+i36a-c381wD0w+Th@B-OXa8L`+syr!hJLlT3v^uEAqFj!)`_1Q<1E;&}5yz zd4-ew*?bu?!T;u@9aDR=U@2`506XK zz<(PR2J&zm9faIB%jH%YZEsFjbmDh>5b8lxa3-cB@n>yMtB9;-+vP^p+s#j>L@a0N zkBIuj&DI`ud=Iw+5G4#Nf#LNUY~{63DngDgxE;#c>n;f^)$DM{g1~#?Tpja=-h?!8 zljlcPL;*eO*~(Xz^gd@&NQVUdZ1pfVJFCbHPE;tBD^}0NMe_aB|5+~hd0iqo@P}HE zKs}o-G@<-ke>85TK)mosYnAX6gk8P`Y8_}Xrq+DPj=mDo<8|Dr=TzR>uG@e{I)7Yi zRRt;z@CnW1d+7uVMp7_0-R!pxhNZe>&LkqAw`^rYws>s2A(I#5TqDs-Ay&J*pN6g` za%?iRx2&+5pAz}(}LCLGy$a3z#H?7YDQ(hA@I;Wt>SR5k< z^Gv)jed;^1Pnz}p-UqD92nkm&>+&Fo{S9{>(e=lXDG(GEhCaFp%WhPWavgsM>Ipf; zcWA!~nAE8ul#cK>!~4&wejbT#H{a!efHasC{N1@H^DD&1Q^1|x?GB$HQkPs)Fp@pl z@h2kt1;gypwp|!Z&`|1))YVY2+ZLU+AzsIjeWm*kcCS{e(Z8>O7b1Dd(c;`r<&Hq8 znfm%h3VF3ft$bSe6kSJg+%D%ZjRiV@Ds;e?>%a5lGarp+3pyVlP(-CcMJnUVJ$jA* z2|7#Xt|?rI24l1nyy(jnYX)JSSkM9~4K{;@<^`5VEdU3iFjmA-pW8!N-4%?kk=~Zd zKm2D%T$+~V?Y;ljyaU`fWOCOy-m|Q|Ra=!vxdS7bo$h9@N%AJ*ExCTEG5j<1gUIsvS{-78aSIz!VY|_RT|>rHiTQOE zp=piy%a-+t3dIn)F&CJa62TFK;9%@_*H(aV-jBmxRo|fs;RQkxx3D07ubsjjMMd1^ z-L-Tt12q>VBxuMg96!Tgkqvyl@MB9l!jmhi z;iirQZ1HAHx=mX+?EjcwY=~%xDx@xK28V7*Ho80HI!2wXvk%i;c*}Z` zD=ncW0bD0M1L1;fGIr@uO!m}-h-CR#B5bf@Yye5}3HzO&QNboUJc8t1qyr6n7qU)pH3Jue0qlpcA*pnFHRgYjpCsr&T)k;psB;Dfru8Q-Uzt%mzqo?;gi)v- z?dd$6i6uCKyoOjEVSb3^)<$8V9g#In5h3zxkqZ&e#pfYAeth{f`gBHWQBmB5<>S&93W7j?FAZS^kp>Tk=~o&ZZj7y^e>+-|=NRO;AN<7<;HX`qg$r?f zdwIxM_0XvLF6^lsWTWeTSqqSda0(hq1MUX8m2s%I4Q%YcN~`Lk)9gs(lju{>Ag54j zEz;@s=@bxHI}~=#RYIU?L*+TMlE+U+XE)ZQ7GhCb6l0U)a}pf9NShEN6~=QH`m7BP zI@39RyOqh_3CTp!VFz9Imqk5Z22dOp=Div}o}q+qLyL0Jd+F;NXBTlYR1y3HT*Xxd zMC!J+F5hZaXaa;n5Vbp_*qk?4@;qbvV)a7~a+j2itkUk&03%_eW-5**?fG@SW&Mq7 z-i;RwYy!W#sG@GH2B7X7%|lst`;J-Y@u zXXU~>qQ)AqDlC2DT4h|Bbk6LU;O`;(UFzOUq;jm4sVO;EXY0$%8fF82VM5 zohuHxeljI^WS4{8MalVnD@N2p#x+Tk?n^--_rSh=DB0p(GvwSvO~_>D3`*NQ-cn2H z@cD0Sv!`QQkB#>NLgVY^=R8)tjhCyO`X<0pRwBgOqhzI*75@)6$DTpA78%=lKCu7K zLlDD?GZE_{YJwKw)Cn#V?H));vuRo>GVt|&A&3P@x2r(i7Vki+V23@>XfH;~FGxzC zCRJ6Qj=MIK@2ryHSs?o`H&I5tqx7e4V<;xeQ_@K87PhY}BWhgglAxNUQ}a0FzHdiU zRq?^8f$< diff --git a/src/data/cup11.png b/src/data/cup11.png deleted file mode 100644 index 0c755183879e610172ecc6ca08d021117f0961a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13947 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 J>ZHuV{ty285Xb-k diff --git a/src/data/cup12.png b/src/data/cup12.png deleted file mode 100644 index dd4f740f6d276c9e7b9d10f079bce6e407f3753b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13505 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 diff --git a/src/data/cup13.png b/src/data/cup13.png deleted file mode 100644 index c7f8516a7de729714b8172a553e4c38c6585593e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13186 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 diff --git a/src/data/cup15.png b/src/data/cup15.png deleted file mode 100644 index 5cb82d8e422e02e5b8c6b7153cd814e2fef1cdef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13167 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

qpZefJ=R?OfSs z)#3Nb2=UoB<+(V6uEk&Oat{fdf2=q_e;~wV=~ib+v^-B2-Bf_f>X^`W;Q&)FmsddpAk)^Bi ziY&hS3#W_q*2d8npVD1K#1^)E+r%b2J^gjp%}YaVC(vj?&R5c8R5@rg^Cx7hL!9U? z9jqOO2`n4U!IWxZNI~(NYf%x4KVi+A^q!u4vwNHZDmf1nD>P8xn>%DBx`?t2U#Vx_ z=+ae&F#hG`Wto3O!Phg+=ZVwhZhRtOMj?Tld z?P7lKv}yF)1u4^5k^W=*{^W#dxzNK)n_1SsxC&2jK+rCul>&1a{eVYaJ1DR_i6(cf z7#d_8h)1keCqR+idYwyhe0GA=6&-$H){hd!3Nyw%a?n_+!Suo7hjaeh_9cf}7hNYT zk6y3OX3tF5JMeB#nA?et!)+J+9NF=^)rBPMe>NnuG~U04GVXor`Qt?+O{(UQq6=n+g>oW(Ll^`S+KL{TL6hi4%8*2B(Bc% z9O>JD0sR(F{_xSlC^q+Mk2bj!8y(pt-#$?xOsc7%l^n;{YTG)yt2fR?q@~!2eHANo zG;T+544g8kiu_4s8IjA+?D;_Ec`YCK6zR;#d?H?>KhB#iqcfEqYx|hG;>|;*>@twq zJ-Kqb2;=nHRp*%9Cq*>{>T%JGrBLs1Pk(M*$IC}20WdYSE8dx%I~%Wc=CZKsDtlVt z8);6NuXT9l7z8}fen=T2x5UM7ZKF^#x_t9gpT81qxQ!sQ7HszY*$^2rM4_Ua)6U$U zVeUwP;W#fSRTqYzcs|(_<89O(6Z~&23~YBOMzkg%=kAKzB3hz_TFn`g{aH1{bAuH17##^=P zF`-esff0AQs+DxST2u`Z&(1%5twnZw0#K*>s-<#Qa}CTyEo|LhOTrR&y%3>_Dciqa z0e9zN?)6Yb_TfQhKGK3Q?KMUvZ<7hZnvdqQg%#68 z$Qz9G?HAS~j@geIgV;p{OHMJ*~xqDtlOKZGc#2s$9+X!479JTuXcqKm!iI9ha`sMQJ!cJH0GfvUo& zC1BAsN4!`plF{BqWW=|YzXjYdeNWi^SsX>GEs*|2R;<2QVrBN2vGjSB9BiKGz83zFXO~*q`U_sQ=||&1cHOVWToTXVr+2T4KiejO zawa+%AJdBPe1mqkcYHa?HJw^go%Yen0r~M?hwzZ#4`gWR);MXtT(03+#pg%d8hMWJ za_U|4xA;>_VGfl4eOn^AZ$l)bYR>89 z%EmOrWx?XoIz72T_?h8HT-*X7`R@kL=Fubb(D%EIuil`-^}EiTTM!-WIR9wwd!oqY zL}9U(!pwSdaRtv;M=SmS2^ka5gyKGIVBL|lxCeRZlR8HDFx@P94w-mv6=1}}Sq^N( zvSv#assuftwlM@g0JJ(3nw$Tb{D>aRmo017Ozj%`mePF0jodrlGgMQ>F9zzKA+Py> zAlP^lzegOGa|8D6w31Eox+TL!>db~=3ngxwRHac$i>e9U`vd86>Q>AX^`?L#@=xbJ z(5<_3PJSmI&EC9r_sid>0!jWol-&QleKh-&_6 diff --git a/src/data/cup16.png b/src/data/cup16.png deleted file mode 100644 index 9058b59cb8980dbaf39fdc4dd1247307b3384f85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13157 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 diff --git a/src/data/cup17.png b/src/data/cup17.png deleted file mode 100644 index e1a052700bf4ea9ad5d73f74ecf449c253261ee4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13330 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 Ht{?b6*+~lH diff --git a/src/data/cup18.png b/src/data/cup18.png deleted file mode 100644 index b955b3384ec9a77084d49251103764f939f6fd8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13569 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

KEbOH;yL$`1t$!-k3cD)EO8CCbQ;{ENh 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 diff --git a/src/data/cup19.png b/src/data/cup19.png deleted file mode 100644 index 77ef5047f019fa00a47325ad5b90f025bf963ce7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13765 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

v-AMM}uZZnXKPgxvZTdfn(pvC_r z569IXR=%sSb2?D4hhLKpz??dmg`LnBXK=N5zjWfh2kFDZ@x-ZOcDEQj4b~DhS0WPo z+N+j50sGF3Q+9p)KY48>{PLy4uau|isp)4>A!NNjlS^|Nl2V-h+3UrU4I;>-V#(hJPW%0?l(P9}elC{- z@Tsr^{HnEejJd41Mr(KONdMLfARqVv|{SkYjG|Y{Jy*8WKrLI zp_8OAWsmgxx_>2+(bdDC=pR}CQ_-{HQZ7Y9kD%9Fq4yms@1M^IGRaypNYdJaRY=rT z2(RIL7DFbcwSwy+K~0-#j!)e7SSuJ0D{OuQ2f<~xOgzpt`ah(;3*nz-`94uoP$lt< zm@8drN2yVQR5W8-JEWi5ueC~)A(xjgFbs$(nPX=KBtBr$6Vj>%%a+Lv)trBlpTUEf zFPq4$8y$HqulbqR!HKXXq$!qfpj>FPiaKM_0i$L5d_r+MHK{1@XDQRr%PX!d+p)Ol zPb{^DFIb_&pGL`h!ycPh$mE-&q6ETqHVx2-&B%yCMloe_0Xw@@rYFSK>^jz*8g<0g z-0urKr%?5p%A6i~CschW?&UySw5y8)y|(LeIwpW|%JW%AneRluu79tdpfy^W)ihB) z%S;W4LDBw5yI<${(5URM!_4+SJr!ZZ@$bHwu_}GBJaHveB0e_Tzl}X9bf$d#nf5NG n`M5D-B)9*sd1KvvLx%l@J}7y`YyZB%3PxU9S*lvX=*Ry6u9XcN diff --git a/src/data/cup20.png b/src/data/cup20.png deleted file mode 100644 index 907eecc840d1b34c4c3220e5e29aeaae951ee150..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13616 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 n!^0OY{IZ=SHLD2sI5a0?f diff --git a/src/data/cup22.png b/src/data/cup22.png deleted file mode 100644 index 1c862030606ffcfaa9ee0966dd9e0a00e102c587..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14548 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 diff --git a/src/data/cup23.png b/src/data/cup23.png deleted file mode 100644 index 3ae45bf38a2b412540c6975a622187aa67ec5cec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14894 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 Date: Mon, 17 Feb 2020 17:31:32 +0100 Subject: [PATCH 06/12] Fix utilities-teatime.svg aspect ratio and installation This commit fixes 2 issues with utilities-teatime.svg: 1. It had a non square aspect-ratio causing it to be scaled in a weird way in the notifications. 2. It was not being installed by "make install" / "make local-install" Signed-off-by: Hans de Goede --- Makefile.am | 2 ++ utilities-teatime.svg | 77 +++++++++++++++++++++++-------------------- 2 files changed, 43 insertions(+), 36 deletions(-) diff --git a/Makefile.am b/Makefile.am index 7971088..92d4ec4 100644 --- a/Makefile.am +++ b/Makefile.am @@ -62,3 +62,5 @@ SUBDIRS = @CONFIGURE_SUBDIRS@ @INTLTOOL_XML_NOMERGE_RULE@ endif +icondir = $(extensiondir)/../../../icons/gnome/scalable/apps +icon_DATA = utilities-teatime.svg diff --git a/utilities-teatime.svg b/utilities-teatime.svg index 9ee457b..dbcde37 100644 --- a/utilities-teatime.svg +++ b/utilities-teatime.svg @@ -7,40 +7,45 @@ xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - version="1.0" - width="484.0643" - height="295.29187" - viewBox="0 0 387.25145 236.23349" - preserveAspectRatio="xMidYMid meet" + sodipodi:docname="utilities-teatime.svg" + inkscape:version="1.0beta2 (unknown)" id="svg2" - inkscape:version="0.48.4 r9939" - sodipodi:docname="utilities-teatime.svg"> + preserveAspectRatio="xMidYMid meet" + viewBox="0 0 387.25143 387.25143" + height="387.25143" + width="387.25143" + version="1.0"> + inkscape:window-y="0" + inkscape:window-x="0" + inkscape:cy="17.137568" + inkscape:cx="1738.6914" + inkscape:zoom="0.26700352" + fit-margin-bottom="75.50897" + fit-margin-right="0" + fit-margin-left="0" + fit-margin-top="75.50897" + showgrid="false" + id="namedview10" + inkscape:window-height="1016" + inkscape:window-width="1920" + inkscape:pageshadow="2" + inkscape:pageopacity="0" + guidetolerance="10" + gridtolerance="10" + objecttolerance="10" + borderopacity="1" + bordercolor="#666666" + pagecolor="#ffffff" /> Created by potrace 1.10, written by Peter Selinger 2001-2011 @@ -50,19 +55,19 @@ Created by potrace 1.10, written by Peter Selinger 2001-2011 image/svg+xml - + + transform="matrix(0.1,0,0,-0.1,-57.589577,454.0802)"> + id="path8" + d="m 1599.0437,1573.9177 c -235.4892,257.2771 -410.9172,307.0416 -639.52404,523.818 -239.98241,192.756 -444.12233,501.9215 -367.10697,821.8921 38.7852,200.5961 248.27611,336.0011 446.84671,290.8161 140.2785,-17.7787 266.8099,-85.0946 387.0129,-155.5415 74.2781,124.4657 298.1841,153.0228 229.5089,329.9101 109.3355,93.2904 275.201,94.5077 412.7117,124.4857 65.4385,24.6741 304.7317,-9.5508 144.7011,56.4876 -101.917,152.0308 154.8854,242.0949 276.2029,215.2013 221.301,17.1274 185.843,-251.1767 60.175,-252.1853 248.6206,-20.1446 504.4064,-33.9528 739.5175,-123.2683 84.1199,-70.036 -35.4555,-202.8042 111.3126,-240.3189 101.8205,-78.4406 164.8623,-338.5003 310.0326,-157.8318 135.2599,104.6132 214.2352,323.1066 418.3717,295.2474 93.5126,-2.8298 436.4814,5.3717 278.6869,-142.0678 -159.5297,-98.6124 -325.2795,-228.4326 -356.5455,-425.8986 -75.7637,-262.5934 -248.0386,-367.4119 -455.0358,-567.049 -164.5176,-129.6551 -89.2139,-307.7161 -486.3504,-668.5647 -214.1213,-95.3861 -1128.9411,-129.9962 -1510.5178,74.8676 z m -356.907,736.2999 c -39.4266,157.4822 53.2887,327.3731 16.2311,476.437 -97.7858,101.3794 -355.93876,159.0896 -327.80798,-45.542 35.80376,-97.6021 218.31118,-439.8564 311.57688,-430.895 z" + style="fill:#cccccc;fill-opacity:0.941176" /> From f1e0d04631eb9b40bc22c85bc668f8d063420873 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 17 Feb 2020 18:09:09 +0100 Subject: [PATCH 07/12] Fix "Some code tried to set a deprecated GObject property." warning Recent versions of St.Label no longer have an expand property, so stop trying to set it. Signed-off-by: Hans de Goede --- src/extension.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/extension.js b/src/extension.js index f1ab940..495af33 100644 --- a/src/extension.js +++ b/src/extension.js @@ -44,9 +44,7 @@ class PopupTeaMenuItem extends PopupMenu.PopupBaseMenuItem { if (this.actor instanceof St.BoxLayout) { // will be used for gnome-shell 3.10 and possibly above where this.actor is BoxLayout - this.actor.add(this.tealabel, { - expand: true - }); + this.actor.add(this.tealabel); if (nBrewtime != 0) { this.actor.add(this.timelabel); } From aa682804aa0adf0603f6fef176d96a2390cd6cd4 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 17 Feb 2020 18:11:28 +0100 Subject: [PATCH 08/12] Fix 'reference to undefined property "_delegate"' warning Set _delegate (used for DnD) even though we do not enable DnD, this fixes a couple of 'reference to undefined property "_delegate"' warnings getting logged. Signed-off-by: Hans de Goede --- src/extension.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/extension.js b/src/extension.js index 495af33..1e218c5 100644 --- a/src/extension.js +++ b/src/extension.js @@ -58,6 +58,8 @@ class PopupTeaMenuItem extends PopupMenu.PopupBaseMenuItem { }); } } + + this._delegate = this; } }); From 029b282457b577599433234cfc66129db0c523ee Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 17 Feb 2020 20:17:46 +0100 Subject: [PATCH 09/12] Fix "Source.notify() has been moved to ..."" error Fix "Source.notify() has been moved to Source.showNotification() this code will break in the future" error. Note this is done with a check for showNotification being a function to preserve compatibility with GNOME-3.34. Signed-off-by: Hans de Goede --- src/extension.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/extension.js b/src/extension.js index 1e218c5..748a47e 100644 --- a/src/extension.js +++ b/src/extension.js @@ -224,7 +224,11 @@ class TeaTime extends PanelMenu.Button { let notification = new MessageTray.Notification(source, subject, text); notification.setTransient(true); - source.notify(notification); + if (typeof source.showNotification === 'function') { + source.showNotification(notification); + } else { + source.notify(notification); + } } _initCountdown(time) { From e46368b0843e5116c4e7aa267f577cdc78dfbb64 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 17 Feb 2020 20:19:38 +0100 Subject: [PATCH 10/12] Fix "Usage of object.actor is deprecated for ..." warnings Fix several "Usage of object.actor is deprecated for ..." warnings. Signed-off-by: Hans de Goede --- src/extension.js | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/extension.js b/src/extension.js index 748a47e..429b491 100644 --- a/src/extension.js +++ b/src/extension.js @@ -44,9 +44,9 @@ class PopupTeaMenuItem extends PopupMenu.PopupBaseMenuItem { if (this.actor instanceof St.BoxLayout) { // will be used for gnome-shell 3.10 and possibly above where this.actor is BoxLayout - this.actor.add(this.tealabel); + this.add(this.tealabel); if (nBrewtime != 0) { - this.actor.add(this.timelabel); + this.add(this.timelabel); } } else { this.addActor(this.tealabel, { @@ -82,9 +82,9 @@ class TeaTime extends PanelMenu.Button { }); this._graphicalTimer = new Icon.TwoColorIcon(20, Icon.Pie); - this.actor.add_actor(this._logo); - this.actor.add_style_class_name('panel-status-button'); - this.actor.connect('style-changed', this._onStyleChanged.bind(this)); + this.add_actor(this._logo); + this.add_style_class_name('panel-status-button'); + this.connect('style-changed', this._onStyleChanged.bind(this)); this._idleTimeout = null; @@ -159,10 +159,10 @@ class TeaTime extends PanelMenu.Button { if (bWantGraphicalCountdown != this._bGraphicalCountdown) { if (this._idleTimeout != null) { // we have a running countdown, replace the display - this.actor.remove_actor(this._bGraphicalCountdown ? + this.remove_actor(this._bGraphicalCountdown ? this._graphicalTimer : this._textualTimer); this._bGraphicalCountdown = bWantGraphicalCountdown; - this.actor.add_actor(this._bGraphicalCountdown ? + this.add_actor(this._bGraphicalCountdown ? this._graphicalTimer : this._textualTimer); this._updateTimerDisplay(this._getRemainingSec()); @@ -245,11 +245,11 @@ class TeaTime extends PanelMenu.Button { this._stopTime.setTime(this._startTime.getTime() + time * 1000); // in msec - this.actor.remove_actor(this._logo); // show timer instead of default icon + this.remove_actor(this._logo); // show timer instead of default icon this._updateTimerDisplay(time); - this.actor.add_actor(this._bGraphicalCountdown ? + this.add_actor(this._bGraphicalCountdown ? this._graphicalTimer : this._textualTimer); if (this._idleTimeout != null) Mainloop.source_remove(this._idleTimeout); @@ -258,9 +258,9 @@ class TeaTime extends PanelMenu.Button { _stopCountdown() { if (this._idleTimeout != null) Mainloop.source_remove(this._idleTimeout); - this.actor.remove_actor(this._bGraphicalCountdown ? + this.remove_actor(this._bGraphicalCountdown ? this._graphicalTimer : this._textualTimer); - this.actor.add_actor(this._logo); + this.add_actor(this._logo); this._idleTimeout = null; } From 883b6a65bb4c947ace6f077f6f0490cbcca6750a Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 17 Feb 2020 22:16:23 +0100 Subject: [PATCH 11/12] Drop compatibility with 3.10 and older With all the recent changes to fix warnings about using deprecated APIs I'm pretty sure that the code will no longer work with something like GNOME 3.10 or the even older 3.4. Drop all the code which specifically deals with older version. Signed-off-by: Hans de Goede --- src/extension.js | 37 ++++--------------------------------- src/utils.js | 4 ---- 2 files changed, 4 insertions(+), 37 deletions(-) diff --git a/src/extension.js b/src/extension.js index 429b491..39c5dbe 100644 --- a/src/extension.js +++ b/src/extension.js @@ -42,21 +42,9 @@ class PopupTeaMenuItem extends PopupMenu.PopupBaseMenuItem { }); } - if (this.actor instanceof St.BoxLayout) { - // will be used for gnome-shell 3.10 and possibly above where this.actor is BoxLayout - this.add(this.tealabel); - if (nBrewtime != 0) { - this.add(this.timelabel); - } - } else { - this.addActor(this.tealabel, { - expand: true - }); - if (nBrewtime != 0) { - this.addActor(this.timelabel, { - expand: false - }); - } + this.add(this.tealabel); + if (nBrewtime != 0) { + this.add(this.timelabel); } this._delegate = this; @@ -202,24 +190,7 @@ class TeaTime extends PanelMenu.Button { } _showNotification(subject, text) { - let source = (Utils.isGnome34()) ? - new MessageTray.Source(_("TeaTime applet")) : - new MessageTray.Source(_("TeaTime applet"), 'utilities-teatime'); - - if (Utils.isGnome34()) { - source.createNotificationIcon = - function () { - let iconBox = new St.Bin(); - iconBox._size = this.ICON_SIZE; - iconBox.child = new St.Icon({ - icon_name: 'utilities-teatime', - icon_type: St.IconType.FULLCOLOR, - icon_size: iconBox._size - }); - return iconBox; - } // createNotificationIcon - } - + let source = new MessageTray.Source(_("TeaTime applet"), 'utilities-teatime'); Main.messageTray.add(source); let notification = new MessageTray.Notification(source, subject, text); diff --git a/src/utils.js b/src/utils.js index 591c0c4..60ca334 100644 --- a/src/utils.js +++ b/src/utils.js @@ -151,7 +151,3 @@ function getGlobalDisplayScaleFactor() { function isType(value, typename) { return typeof value == typename; } - -function isGnome34() { - return imports.misc.extensionUtils.versionCheck(["3.4"], imports.misc.config.PACKAGE_VERSION); -} From e862c92eb2d141d2a85f9609a4efa9416ba8fde1 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Tue, 10 Mar 2020 11:33:02 +0100 Subject: [PATCH 12/12] Do not change the icon search path Now that we install our icon in the standard icon search path, there is no need to mess with the icon search path; and since 3.36.0 imports.gi.Gtk.IconTheme.get_default() returns null causing TeaTime to no longer works. Removing the unnecessary messing with the icon search path fixes this. Signed-off-by: Hans de Goede --- src/extension.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/extension.js b/src/extension.js index 39c5dbe..0a64a8d 100644 --- a/src/extension.js +++ b/src/extension.js @@ -305,8 +305,6 @@ class TeaTime extends PanelMenu.Button { }); function init(metadata) { - let theme = imports.gi.Gtk.IconTheme.get_default(); - theme.append_search_path(metadata.path); } let _TeaTime;