From 9bde4d3013406984eb357b59304d8379fe5520f9 Mon Sep 17 00:00:00 2001 From: abakkk Date: Mon, 8 Jun 2020 15:26:55 +0200 Subject: [PATCH] add "Open preferences" shortcut Available since GS 3.36, so the shortcut is hidden for previous versions. --- extension.js | 12 +++++++++++- locale/draw-on-your-screen.pot | 3 +++ prefs.js | 6 ++++++ schemas/gschemas.compiled | Bin 3660 -> 3732 bytes ...extensions.draw-on-your-screen.gschema.xml | 5 +++++ 5 files changed, 25 insertions(+), 1 deletion(-) diff --git a/extension.js b/extension.js index 4330d8c..9a9afce 100644 --- a/extension.js +++ b/extension.js @@ -198,7 +198,8 @@ var AreaManager = new Lang.Class({ 'toggle-font-style': this.activeArea.toggleFontStyle.bind(this.activeArea), 'toggle-panel-and-dock-visibility': this.togglePanelAndDockOpacity.bind(this), 'toggle-help': this.activeArea.toggleHelp.bind(this.activeArea), - 'open-user-stylesheet': this.openUserStyleFile.bind(this) + 'open-user-stylesheet': this.openUserStyleFile.bind(this), + 'open-preferences': this.openPreferences.bind(this) }; for (let key in this.internalKeybindings) { @@ -229,6 +230,15 @@ var AreaManager = new Lang.Class({ } }, + openPreferences: function() { + // since GS 3.36 + if (ExtensionUtils.openPrefs) { + if (this.activeArea) + this.toggleDrawing(); + ExtensionUtils.openPrefs(); + } + }, + openUserStyleFile: function() { if (!this.userStyleFile.query_exists(null)) { if (!this.userStyleFile.get_parent().query_exists(null)) diff --git a/locale/draw-on-your-screen.pot b/locale/draw-on-your-screen.pot index baefa57..688baa7 100644 --- a/locale/draw-on-your-screen.pot +++ b/locale/draw-on-your-screen.pot @@ -241,6 +241,9 @@ msgstr "" msgid "Edit style" msgstr "" +msgid "Open preferences" +msgstr "" + msgid "Show help" msgstr "" diff --git a/prefs.js b/prefs.js index b46046a..4e958f0 100644 --- a/prefs.js +++ b/prefs.js @@ -25,12 +25,14 @@ const Gtk = imports.gi.Gtk; const Lang = imports.lang; const Mainloop = imports.mainloop; +const Config = imports.misc.config; const ExtensionUtils = imports.misc.extensionUtils; const Me = ExtensionUtils.getCurrentExtension(); const Convenience = ExtensionUtils.getSettings && ExtensionUtils.initTranslations ? ExtensionUtils : Me.imports.convenience; const _ = imports.gettext.domain(Me.metadata['gettext-domain']).gettext; const _GTK = imports.gettext.domain('gtk30').gettext; +const GS_VERSION = Config.PACKAGE_VERSION; const MARGIN = 10; var GLOBAL_KEYBINDINGS = { @@ -74,9 +76,13 @@ var INTERNAL_KEYBINDINGS = { 'save-as-json': "Save drawing", 'save-as-svg': "Save drawing as a SVG file", 'open-user-stylesheet': "Edit style", + 'open-preferences': "Open preferences", 'toggle-help': "Show help" }; +if (GS_VERSION < "3.36") + delete INTERNAL_KEYBINDINGS['open-preferences']; + function getKeyLabel(accel) { let [keyval, mods] = Gtk.accelerator_parse(accel); return Gtk.accelerator_get_label(keyval, mods); diff --git a/schemas/gschemas.compiled b/schemas/gschemas.compiled index 0f24469927fcef1b6ad543e34f371e63d8c29bd3..b90b1027f1cade72a87eb947d02a669b29e1591c 100644 GIT binary patch literal 3732 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 next json file Open next json file + + ["<Primary>comma"] + Open preferences + Open preferences + ["<Primary>F1"] toggle help