.pot rework
* .pot file can be generated automaticaly from new locale/POTFILES.in. * move shortcuts key and strings to new shortcut.js
This commit is contained in:
parent
2dd900bddf
commit
03b73862cc
7
area.js
7
area.js
|
|
@ -42,6 +42,7 @@ const Elements = Me.imports.elements;
|
||||||
const Files = Me.imports.files;
|
const Files = Me.imports.files;
|
||||||
const Menu = Me.imports.menu;
|
const Menu = Me.imports.menu;
|
||||||
const _ = imports.gettext.domain(Me.metadata['gettext-domain']).gettext;
|
const _ = imports.gettext.domain(Me.metadata['gettext-domain']).gettext;
|
||||||
|
const pgettext = imports.gettext.domain(Me.metadata['gettext-domain']).pgettext;
|
||||||
|
|
||||||
const CAIRO_DEBUG_EXTENDS = false;
|
const CAIRO_DEBUG_EXTENDS = false;
|
||||||
const SVG_DEBUG_EXTENDS = false;
|
const SVG_DEBUG_EXTENDS = false;
|
||||||
|
|
@ -392,6 +393,7 @@ var DrawingArea = new Lang.Class({
|
||||||
event.get_key_symbol() == Clutter.KEY_KP_Enter ||
|
event.get_key_symbol() == Clutter.KEY_KP_Enter ||
|
||||||
event.get_key_symbol() == Clutter.KEY_Control_L) {
|
event.get_key_symbol() == Clutter.KEY_Control_L) {
|
||||||
if (this.currentElement.points.length == 2)
|
if (this.currentElement.points.length == 2)
|
||||||
|
// Translators: %s is a key label
|
||||||
this.emit('show-osd', null, _("Press <i>%s</i> to get\na fourth control point")
|
this.emit('show-osd', null, _("Press <i>%s</i> to get\na fourth control point")
|
||||||
.format(Gtk.accelerator_get_label(Clutter.KEY_Return, 0)), "", -1, true);
|
.format(Gtk.accelerator_get_label(Clutter.KEY_Return, 0)), "", -1, true);
|
||||||
this.currentElement.addPoint();
|
this.currentElement.addPoint();
|
||||||
|
|
@ -594,7 +596,8 @@ var DrawingArea = new Lang.Class({
|
||||||
color: this.currentColor.to_string(),
|
color: this.currentColor.to_string(),
|
||||||
eraser: eraser,
|
eraser: eraser,
|
||||||
font: this.currentFont.to_string(),
|
font: this.currentFont.to_string(),
|
||||||
text: _("Text"),
|
// Translators: initial content of the text area
|
||||||
|
text: pgettext("text-area-content", "Text"),
|
||||||
textRightAligned: this.currentTextRightAligned,
|
textRightAligned: this.currentTextRightAligned,
|
||||||
points: []
|
points: []
|
||||||
});
|
});
|
||||||
|
|
@ -626,6 +629,7 @@ var DrawingArea = new Lang.Class({
|
||||||
this.currentElement.startDrawing(startX, startY);
|
this.currentElement.startDrawing(startX, startY);
|
||||||
|
|
||||||
if (this.currentTool == Shapes.POLYGON || this.currentTool == Shapes.POLYLINE)
|
if (this.currentTool == Shapes.POLYGON || this.currentTool == Shapes.POLYLINE)
|
||||||
|
// Translators: %s is a key label
|
||||||
this.emit('show-osd', null, _("Press <i>%s</i> to mark vertices")
|
this.emit('show-osd', null, _("Press <i>%s</i> to mark vertices")
|
||||||
.format(Gtk.accelerator_get_label(Clutter.KEY_Return, 0)), "", -1, true);
|
.format(Gtk.accelerator_get_label(Clutter.KEY_Return, 0)), "", -1, true);
|
||||||
|
|
||||||
|
|
@ -687,6 +691,7 @@ var DrawingArea = new Lang.Class({
|
||||||
let [x, y] = [this.currentElement.x, this.currentElement.y];
|
let [x, y] = [this.currentElement.x, this.currentElement.y];
|
||||||
this.currentElement.text = '';
|
this.currentElement.text = '';
|
||||||
this.currentElement.cursorPosition = 0;
|
this.currentElement.cursorPosition = 0;
|
||||||
|
// Translators: %s is a key label
|
||||||
this.emit('show-osd', null, _("Type your text and press <i>%s</i>")
|
this.emit('show-osd', null, _("Type your text and press <i>%s</i>")
|
||||||
.format(Gtk.accelerator_get_label(Clutter.KEY_Escape, 0)), "", -1, true);
|
.format(Gtk.accelerator_get_label(Clutter.KEY_Escape, 0)), "", -1, true);
|
||||||
this._updateTextCursorTimeout();
|
this._updateTextCursorTimeout();
|
||||||
|
|
|
||||||
|
|
@ -342,6 +342,7 @@ const AreaManager = new Lang.Class({
|
||||||
if (Main._findModal(this.activeArea) != -1) {
|
if (Main._findModal(this.activeArea) != -1) {
|
||||||
Main.popModal(this.activeArea);
|
Main.popModal(this.activeArea);
|
||||||
if (source && source == global.display)
|
if (source && source == global.display)
|
||||||
|
// Translators: "released" as the opposite of "grabbed"
|
||||||
this.showOsd(null, 'touchpad-disabled-symbolic', _("Keyboard and pointer released"), null, null, false);
|
this.showOsd(null, 'touchpad-disabled-symbolic', _("Keyboard and pointer released"), null, null, false);
|
||||||
this.setCursor('DEFAULT');
|
this.setCursor('DEFAULT');
|
||||||
this.activeArea.reactive = false;
|
this.activeArea.reactive = false;
|
||||||
|
|
@ -388,7 +389,8 @@ const AreaManager = new Lang.Class({
|
||||||
|
|
||||||
this.activeArea.enterDrawingMode();
|
this.activeArea.enterDrawingMode();
|
||||||
this.osdDisabled = Me.settings.get_boolean('osd-disabled');
|
this.osdDisabled = Me.settings.get_boolean('osd-disabled');
|
||||||
let label = _("<small>Press <i>%s</i> for help</small>").format(this.activeArea.helper.helpKeyLabel) + "\n\n" + _("Entering drawing mode");
|
// Translators: %s is a key label
|
||||||
|
let label = "<small>" + _("Press <i>%s</i> for help").format(this.activeArea.helper.helpKeyLabel) + "</small>\n\n" + _("Entering drawing mode");
|
||||||
this.showOsd(null, this.enterGicon, label, null, null, true);
|
this.showOsd(null, this.enterGicon, label, null, null, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
43
helper.js
43
helper.js
|
|
@ -31,7 +31,7 @@ const Tweener = imports.ui.tweener;
|
||||||
|
|
||||||
const Me = ExtensionUtils.getCurrentExtension();
|
const Me = ExtensionUtils.getCurrentExtension();
|
||||||
const Convenience = ExtensionUtils.getSettings ? ExtensionUtils : Me.imports.convenience;
|
const Convenience = ExtensionUtils.getSettings ? ExtensionUtils : Me.imports.convenience;
|
||||||
const Prefs = Me.imports.prefs;
|
const Shortcuts = Me.imports.shortcuts.Shortcuts;
|
||||||
const _ = imports.gettext.domain(Me.metadata['gettext-domain']).gettext;
|
const _ = imports.gettext.domain(Me.metadata['gettext-domain']).gettext;
|
||||||
|
|
||||||
const GS_VERSION = Config.PACKAGE_VERSION;
|
const GS_VERSION = Config.PACKAGE_VERSION;
|
||||||
|
|
@ -87,49 +87,54 @@ var DrawingHelper = new Lang.Class({
|
||||||
this.add_actor(this.vbox);
|
this.add_actor(this.vbox);
|
||||||
this.vbox.add_child(new St.Label({ text: _("Global") }));
|
this.vbox.add_child(new St.Label({ text: _("Global") }));
|
||||||
|
|
||||||
for (let settingKey of Prefs.GLOBAL_KEYBINDINGS) {
|
Shortcuts.GLOBAL_KEYBINDINGS.forEach((settingKeys, index) => {
|
||||||
if (!Me.settings.get_strv(settingKey)[0])
|
if (index)
|
||||||
continue;
|
this.vbox.add_child(new St.BoxLayout({ vertical: false, style_class: 'draw-on-your-screen-helper-separator' }));
|
||||||
|
|
||||||
let hbox = new St.BoxLayout({ vertical: false });
|
settingKeys.forEach(settingKey => {
|
||||||
let [keyval, mods] = Gtk.accelerator_parse(Me.settings.get_strv(settingKey)[0]);
|
if (!Me.settings.get_strv(settingKey)[0])
|
||||||
hbox.add_child(new St.Label({ text: Me.settings.settings_schema.get_key(settingKey).get_summary() }));
|
return;
|
||||||
hbox.add_child(new St.Label({ text: Gtk.accelerator_get_label(keyval, mods), x_expand: true }));
|
|
||||||
this.vbox.add_child(hbox);
|
let hbox = new St.BoxLayout({ vertical: false });
|
||||||
}
|
let [keyval, mods] = Gtk.accelerator_parse(Me.settings.get_strv(settingKey)[0]);
|
||||||
|
hbox.add_child(new St.Label({ text: Me.settings.settings_schema.get_key(settingKey).get_summary() }));
|
||||||
|
hbox.add_child(new St.Label({ text: Gtk.accelerator_get_label(keyval, mods), x_expand: true }));
|
||||||
|
this.vbox.add_child(hbox);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
this.vbox.add_child(new St.BoxLayout({ vertical: false, style_class: 'draw-on-your-screen-helper-separator' }));
|
this.vbox.add_child(new St.BoxLayout({ vertical: false, style_class: 'draw-on-your-screen-helper-separator' }));
|
||||||
this.vbox.add_child(new St.Label({ text: _("Internal") }));
|
this.vbox.add_child(new St.Label({ text: _("Internal") }));
|
||||||
|
|
||||||
Prefs.OTHER_SHORTCUTS.forEach((object, index) => {
|
Shortcuts.OTHERS.forEach((pairs, index) => {
|
||||||
if (index)
|
if (index)
|
||||||
this.vbox.add_child(new St.BoxLayout({ vertical: false, style_class: 'draw-on-your-screen-helper-separator' }));
|
this.vbox.add_child(new St.BoxLayout({ vertical: false, style_class: 'draw-on-your-screen-helper-separator' }));
|
||||||
|
|
||||||
for (let key in object) {
|
pairs.forEach(pair => {
|
||||||
let hbox = new St.BoxLayout({ vertical: false });
|
let hbox = new St.BoxLayout({ vertical: false });
|
||||||
hbox.add_child(new St.Label({ text: _(key) }));
|
hbox.add_child(new St.Label({ text: pair[0] }));
|
||||||
hbox.add_child(new St.Label({ text: object[key], x_expand: true }));
|
hbox.add_child(new St.Label({ text: pair[1], x_expand: true }));
|
||||||
hbox.get_children()[0].get_clutter_text().set_use_markup(true);
|
hbox.get_children()[0].get_clutter_text().set_use_markup(true);
|
||||||
this.vbox.add_child(hbox);
|
this.vbox.add_child(hbox);
|
||||||
}
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
this.vbox.add_child(new St.BoxLayout({ vertical: false, style_class: 'draw-on-your-screen-helper-separator' }));
|
this.vbox.add_child(new St.BoxLayout({ vertical: false, style_class: 'draw-on-your-screen-helper-separator' }));
|
||||||
|
|
||||||
Prefs.INTERNAL_KEYBINDINGS.forEach((object, index) => {
|
Shortcuts.INTERNAL_KEYBINDINGS.forEach((settingKeys, index) => {
|
||||||
if (index)
|
if (index)
|
||||||
this.vbox.add_child(new St.BoxLayout({ vertical: false, style_class: 'draw-on-your-screen-helper-separator' }));
|
this.vbox.add_child(new St.BoxLayout({ vertical: false, style_class: 'draw-on-your-screen-helper-separator' }));
|
||||||
|
|
||||||
for (let settingKey of object) {
|
settingKeys.forEach(settingKey => {
|
||||||
if (!Me.internalShortcutSettings.get_strv(settingKey)[0])
|
if (!Me.internalShortcutSettings.get_strv(settingKey)[0])
|
||||||
continue;
|
return;
|
||||||
|
|
||||||
let hbox = new St.BoxLayout({ vertical: false });
|
let hbox = new St.BoxLayout({ vertical: false });
|
||||||
let [keyval, mods] = Gtk.accelerator_parse(Me.internalShortcutSettings.get_strv(settingKey)[0]);
|
let [keyval, mods] = Gtk.accelerator_parse(Me.internalShortcutSettings.get_strv(settingKey)[0]);
|
||||||
hbox.add_child(new St.Label({ text: Me.internalShortcutSettings.settings_schema.get_key(settingKey).get_summary() }));
|
hbox.add_child(new St.Label({ text: Me.internalShortcutSettings.settings_schema.get_key(settingKey).get_summary() }));
|
||||||
hbox.add_child(new St.Label({ text: Gtk.accelerator_get_label(keyval, mods), x_expand: true }));
|
hbox.add_child(new St.Label({ text: Gtk.accelerator_get_label(keyval, mods), x_expand: true }));
|
||||||
this.vbox.add_child(hbox);
|
this.vbox.add_child(hbox);
|
||||||
}
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
let mediaKeysSettings;
|
let mediaKeysSettings;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
# xgettext --from-code=UTF-8 --add-comments="Translators: " --no-location --package-name="Draw On Your Screen" --msgid-bugs-address="https://framagit.org/abakkk/DrawOnYourScreen/issues" -f locale/POTFILES.in
|
||||||
|
area.js
|
||||||
|
extension.js
|
||||||
|
helper.js
|
||||||
|
menu.js
|
||||||
|
prefs.js
|
||||||
|
shortcuts.js
|
||||||
|
schemas/org.gnome.shell.extensions.draw-on-your-screen.gschema.xml
|
||||||
|
|
@ -8,9 +8,9 @@
|
||||||
# You are free to translate them or not.
|
# You are free to translate them or not.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Draw On Your Screen VERSION\n"
|
"Project-Id-Version: Draw On Your Screen\n"
|
||||||
"Report-Msgid-Bugs-To: https://framagit.org/abakkk/DrawOnYourScreen/issues\n"
|
"Report-Msgid-Bugs-To: https://framagit.org/abakkk/DrawOnYourScreen/issues\n"
|
||||||
"POT-Creation-Date: 2019-03-04 16:40+0100\n"
|
"POT-Creation-Date: 2020-09-09 08:40+0200\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
|
@ -19,177 +19,338 @@ msgstr ""
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
msgid "About"
|
#. Translators: %s is a key label
|
||||||
|
#, javascript-format
|
||||||
|
msgid ""
|
||||||
|
"Press <i>%s</i> to get\n"
|
||||||
|
"a fourth control point"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# You are free to translate the extension name, that is displayed in About page, or not.
|
msgid "Mark a point of symmetry"
|
||||||
msgid "Draw On You Screen"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Version %d"
|
msgid "Draw a line of symmetry"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Start drawing with Super+Alt+D and save your beautiful work by taking a screenshot"
|
#. Translators: initial content of the text area
|
||||||
|
msgctxt "text-area-content"
|
||||||
|
msgid "Text"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# Add your name here, for example:
|
#. Translators: %s is a key label
|
||||||
# (add "\n" as separator if there is many translators)
|
#, javascript-format
|
||||||
# msgid "translator-credits"
|
msgid "Press <i>%s</i> to mark vertices"
|
||||||
# msgstr "Me"
|
|
||||||
# or, with mail:
|
|
||||||
# msgid "translator-credits"
|
|
||||||
# msgstr "<a href=\"mailto:me@mail.org\">Me</a>"
|
|
||||||
# or, with page:
|
|
||||||
# msgid "translator-credits"
|
|
||||||
# msgstr "<a href=\"https://...\">Me</a>"
|
|
||||||
# else keep it empty.
|
|
||||||
# It will be displayed in about page
|
|
||||||
msgid "translator-credits"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Drawing"
|
#. Translators: %s is a key label
|
||||||
|
#, javascript-format
|
||||||
|
msgid "Type your text and press <i>%s</i>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Palettes"
|
#. Translators: "released" as the opposite of "grabbed"
|
||||||
|
msgid "Keyboard and pointer released"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Color palettes"
|
msgid "Keyboard and pointer grabbed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "The palettes of drawing colors"
|
msgid "Leaving drawing mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Translators: %s is a key label
|
||||||
|
#, javascript-format
|
||||||
|
msgid "Press <i>%s</i> for help"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Entering drawing mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Global"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Internal"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "System"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Dashed line"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Translators: as the alternative to "Dashed line"
|
||||||
|
msgid "Full line"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Fill"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Translators: as the alternative to "Fill"
|
||||||
|
msgid "Outline"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Translators: fill-rule SVG attribute
|
||||||
|
msgid "Nonzero"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Evenodd"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Translators: generic font-family SVG attribute
|
||||||
|
msgctxt "font-family"
|
||||||
|
msgid "Sans-Serif"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "font-family"
|
||||||
|
msgid "Serif"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "font-family"
|
||||||
|
msgid "Monospace"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "font-family"
|
||||||
|
msgid "Cursive"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "font-family"
|
||||||
|
msgid "Fantasy"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Translators: font-style SVG attribute
|
||||||
|
msgctxt "font-style"
|
||||||
|
msgid "Normal"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "font-style"
|
||||||
|
msgid "Oblique"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "font-style"
|
||||||
|
msgid "Italic"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Translators: font-weight SVG attribute
|
||||||
|
msgctxt "font-weight"
|
||||||
|
msgid "Thin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "font-weight"
|
||||||
|
msgid "Ultra Light"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "font-weight"
|
||||||
|
msgid "Light"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "font-weight"
|
||||||
|
msgid "Semi Light"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "font-weight"
|
||||||
|
msgid "Book"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "font-weight"
|
||||||
|
msgid "Normal"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "font-weight"
|
||||||
|
msgid "Medium"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "font-weight"
|
||||||
|
msgid "Semi Bold"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "font-weight"
|
||||||
|
msgid "Bold"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "font-weight"
|
||||||
|
msgid "Ultra Bold"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "font-weight"
|
||||||
|
msgid "Heavy"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "font-weight"
|
||||||
|
msgid "Ultra Heavy"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Translators: stroke-linecap SVG attribute
|
||||||
|
msgctxt "stroke-linecap"
|
||||||
|
msgid "Butt"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "stroke-linecap"
|
||||||
|
msgid "Round"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "stroke-linecap"
|
||||||
|
msgid "Square"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Translators: stroke-linejoin SVG attribute
|
||||||
|
msgctxt "stroke-linejoin"
|
||||||
|
msgid "Miter"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "stroke-linejoin"
|
||||||
|
msgid "Round"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "stroke-linejoin"
|
||||||
|
msgid "Bevel"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Translators: value in pixel unit (e.g. "5 px")
|
||||||
|
#, javascript-format
|
||||||
|
msgid "%f px"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Translators: text alignment
|
||||||
|
msgid "Right aligned"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Left aligned"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "drawing-tool"
|
||||||
|
msgid "Free drawing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "drawing-tool"
|
||||||
|
msgid "Line"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "drawing-tool"
|
||||||
|
msgid "Ellipse"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "drawing-tool"
|
||||||
|
msgid "Rectangle"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "drawing-tool"
|
||||||
|
msgid "Text"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "drawing-tool"
|
||||||
|
msgid "Polygon"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "drawing-tool"
|
||||||
|
msgid "Polyline"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "drawing-tool"
|
||||||
|
msgid "Image"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "drawing-tool"
|
||||||
|
msgid "Move"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "drawing-tool"
|
||||||
|
msgid "Resize"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "drawing-tool"
|
||||||
|
msgid "Mirror"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Undo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Redo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Erase"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Smooth"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Palette"
|
msgid "Palette"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Open drawing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Translators: "Preferences" page in preferences
|
||||||
|
msgid "Preferences"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Translators: "Drawing" page in preferences
|
||||||
|
msgid "Drawing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Translators: "About" page in preferences
|
||||||
|
msgid "About"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Translators: you are free to translate the extension name, that is displayed in About page, or not
|
||||||
|
msgid "Draw On You Screen"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Translators: version number in "About" page
|
||||||
|
#, javascript-format
|
||||||
|
msgid "Version %d"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Translators: you are free to translate the extension description, that is displayed in About page, or not
|
||||||
|
msgid ""
|
||||||
|
"Start drawing with Super+Alt+D and save your beautiful work by taking a "
|
||||||
|
"screenshot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Translators: add your name here or keep it empty, it will be displayed in about page, e.g.
|
||||||
|
#. msgstr ""
|
||||||
|
#. "translator1\n"
|
||||||
|
#. "<a href=\"mailto:translator2@mail.org\">translator2</a>\n"
|
||||||
|
#. "<a href=\"https://...\">translator3</a>"
|
||||||
|
msgid "translator-credits"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Palettes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Add a new palette"
|
msgid "Add a new palette"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "New palette"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Rename the palette"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Remove the palette"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Auto"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Area"
|
msgid "Area"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Square area size"
|
msgid "Auto"
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Automatic square area size"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Compute the size of the square area from the screen size"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "The size of the square area in pixels"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Background color"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "The color of the drawing area background"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Grid overlay line"
|
msgid "Grid overlay line"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Automatic grid overlay line"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Compute the lengths from the screen size"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Grid overlay line spacing"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "The line width in pixels"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Grid overlay line width"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "The gap between lines in pixels"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Grid overlay color"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "The color of the lines"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Tools"
|
msgid "Tools"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Dash array"
|
msgid "Dash array"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Automatic dash array"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Compute the lengths from the line width"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Dash array on"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "The dash length in pixels"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Dash array off"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "The gap between the dashes in pixels"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Dash offset"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "The dash offset in pixels"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Reset settings"
|
msgid "Reset settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Preferences"
|
msgid "Rename the palette"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Global"
|
msgid "Remove the palette"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Enter/leave drawing mode"
|
#. Translators: default name of a new palette
|
||||||
|
msgid "New palette"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# There is a similar text in GNOME Boxes (https://gitlab.gnome.org/GNOME/gnome-boxes/tree/master/po)
|
msgid "In drawing mode"
|
||||||
msgid "Grab/ungrab keyboard and pointer"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Erase all drawings"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Persistent"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Persistent drawing through session restart"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Drawing on the desktop"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "<i>Draw On Your Screen</i> becomes <i>Draw On Your Desktop</i>"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Disable on-screen notifications"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Disable panel indicator"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Draw"
|
msgid "Draw"
|
||||||
|
|
@ -213,17 +374,19 @@ msgstr ""
|
||||||
msgid "Scroll"
|
msgid "Scroll"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. Translators: %s are key labels (Ctrl+F1 and Ctrl+F9)
|
||||||
msgid "Select color"
|
msgid "Select color"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# %s are key labels (Ctrl+F1 and Ctrl+F9)
|
#, javascript-format
|
||||||
msgid "%s … %s"
|
msgid "%s … %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. Translators: %s is a key label
|
||||||
msgid "Ignore pointer movement"
|
msgid "Ignore pointer movement"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# %s is a key label
|
#, javascript-format
|
||||||
msgid "%s held"
|
msgid "%s held"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -257,22 +420,137 @@ msgstr ""
|
||||||
msgid "Inverse <span alpha=\"50%\">(while mirroring)</span>"
|
msgid "Inverse <span alpha=\"50%\">(while mirroring)</span>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Internal"
|
msgid "Drawing on the desktop"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "In drawing mode"
|
msgid "<i>Draw On Your Screen</i> becomes <i>Draw On Your Desktop</i>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Undo last brushstroke"
|
msgid "Erase all drawings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Redo last brushstroke"
|
msgid "Disable panel indicator"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Disable on-screen notifications"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Persistent"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Persistent drawing through session restart"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Enter/leave drawing mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Translators: there is a similar text in GNOME Boxes (https://gitlab.gnome.org/GNOME/gnome-boxes/tree/master/po)
|
||||||
|
msgid "Grab/ungrab keyboard and pointer"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Background color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "The color of the drawing area background"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Automatic dash array"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Compute the lengths from the line width"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Dash array on"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "The dash length in pixels"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Dash array off"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "The gap between the dashes in pixels"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Dash offset"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "The dash offset in pixels"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Grid overlay color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "The color of the lines"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Automatic grid overlay line"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Compute the lengths from the screen size"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Grid overlay line spacing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "The gap between lines in pixels"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Grid overlay line width"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "The line width in pixels"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Color palettes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "The palettes of drawing colors"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Automatic square area size"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Compute the size of the square area from the screen size"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Square area size"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "The size of the square area in pixels"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Decrement line width"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Decrement line width even more"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Erase last brushstroke"
|
msgid "Erase last brushstroke"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Smooth last brushstroke"
|
msgid "Increment line width"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Increment line width even more"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Open next drawing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Open preferences"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Open previous drawing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Redo last brushstroke"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Save drawing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Save drawing as a SVG file"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Select color 1"
|
msgid "Select color 1"
|
||||||
|
|
@ -317,6 +595,9 @@ msgstr ""
|
||||||
msgid "Select move tool"
|
msgid "Select move tool"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Select free drawing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Select polygon tool"
|
msgid "Select polygon tool"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -332,10 +613,7 @@ msgstr ""
|
||||||
msgid "Select text tool"
|
msgid "Select text tool"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Toggle fill/outline"
|
msgid "Smooth last brushstroke"
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Toggle fill rule"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Change color palette"
|
msgid "Change color palette"
|
||||||
|
|
@ -344,22 +622,10 @@ msgstr ""
|
||||||
msgid "Change color palette (reverse)"
|
msgid "Change color palette (reverse)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Increment line width"
|
msgid "Toggle fill/outline"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Decrement line width"
|
msgid "Toggle fill rule"
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Increment line width even more"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Decrement line width even more"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Change linejoin"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Change linecap"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Change font family"
|
msgid "Change font family"
|
||||||
|
|
@ -368,19 +634,22 @@ msgstr ""
|
||||||
msgid "Change font family (reverse)"
|
msgid "Change font family (reverse)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Change font weight"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Change font style"
|
msgid "Change font style"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Toggle text alignment"
|
msgid "Change font weight"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Change image file"
|
msgid "Change image file"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Hide panel and dock"
|
msgid "Change linecap"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Change linejoin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Toggle text alignment"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Add a drawing background"
|
msgid "Add a drawing background"
|
||||||
|
|
@ -389,251 +658,14 @@ msgstr ""
|
||||||
msgid "Add a grid overlay"
|
msgid "Add a grid overlay"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Square drawing area"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Open previous drawing"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Open next drawing"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Save drawing as a SVG file"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Open preferences"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Show help"
|
msgid "Show help"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Screenshot"
|
msgid "Hide panel and dock"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Screenshot to clipboard"
|
msgid "Square drawing area"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Area screenshot"
|
msgid "Undo last brushstroke"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Area screenshot to clipboard"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "System"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Undo"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Redo"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Erase"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Smooth"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Free drawing"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Line"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Ellipse"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Rectangle"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Text"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Polygon"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Polyline"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Image"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Move"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Resize"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Mirror"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Color"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Fill"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
# fill-rule SVG attribute
|
|
||||||
msgid "Evenodd"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "%d px"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
# stroke-linejoin SVG attribute
|
|
||||||
msgid "Miter"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
# stroke-linejoin and stroke-linecap SVG attribute
|
|
||||||
msgid "Round"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
# stroke-linejoin SVG attribute
|
|
||||||
msgid "Bevel"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
# stroke-linecap SVG attribute
|
|
||||||
msgid "Butt"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
# stroke-linecap SVG attribute
|
|
||||||
msgid "Square"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
# generic font-family SVG attribute
|
|
||||||
msgid "Sans-Serif"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
# generic font-family SVG attribute
|
|
||||||
msgid "Serif"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
# generic font-family SVG attribute
|
|
||||||
msgid "Monospace"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
# generic font-family SVG attribute
|
|
||||||
msgid "Cursive"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
# generic font-family SVG attribute
|
|
||||||
msgid "Fantasy"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
# font-weight SVG attribute
|
|
||||||
msgid "Thin"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
# font-weight SVG attribute
|
|
||||||
msgid "Ultra-light"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
# font-weight SVG attribute
|
|
||||||
msgid "Light"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
# font-weight SVG attribute
|
|
||||||
msgid "Semi-light"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
# font-weight SVG attribute
|
|
||||||
msgid "Book"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
# font-weight and font-style SVG attribute
|
|
||||||
msgid "Normal"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
# font-weight SVG attribute
|
|
||||||
msgid "Medium"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
# font-weight SVG attribute
|
|
||||||
msgid "Semi-bold"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
# font-weight SVG attribute
|
|
||||||
msgid "Bold"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
# font-weight SVG attribute
|
|
||||||
msgid "Ultra-bold"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
# font-weight SVG attribute
|
|
||||||
msgid "Heavy"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
# font-style SVG attribute
|
|
||||||
msgid "Italic"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
# font-style SVG attribute
|
|
||||||
msgid "Oblique"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Right aligned"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Open drawing"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Save drawing"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Leaving drawing mode"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
# %s is a key label
|
|
||||||
msgid "<small>Press <i>%s</i> for help</small>"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Entering drawing mode"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
# "released" as the opposite of "grabbed"
|
|
||||||
msgid "Keyboard and pointer released"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Keyboard and pointer grabbed"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
# %s is a key label
|
|
||||||
msgid ""
|
|
||||||
"Press <i>%s</i> to get\n"
|
|
||||||
"a fourth control point"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Mark a point of symmetry"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Draw a line of symmetry"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
# %s is a key label
|
|
||||||
msgid ""
|
|
||||||
"Press <i>%s</i> to mark vertices"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
# %s is a key label
|
|
||||||
msgid ""
|
|
||||||
"Type your text and press <i>%s</i>"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
# as the alternative to "Fill"
|
|
||||||
msgid "Outline"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Dashed line"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Full line"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Left aligned"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Nonzero"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
44
menu.js
44
menu.js
|
|
@ -39,6 +39,7 @@ const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
const Me = ExtensionUtils.getCurrentExtension();
|
const Me = ExtensionUtils.getCurrentExtension();
|
||||||
const Files = Me.imports.files;
|
const Files = Me.imports.files;
|
||||||
const _ = imports.gettext.domain(Me.metadata['gettext-domain']).gettext;
|
const _ = imports.gettext.domain(Me.metadata['gettext-domain']).gettext;
|
||||||
|
const pgettext = imports.gettext.domain(Me.metadata['gettext-domain']).pgettext;
|
||||||
|
|
||||||
const GS_VERSION = Config.PACKAGE_VERSION;
|
const GS_VERSION = Config.PACKAGE_VERSION;
|
||||||
|
|
||||||
|
|
@ -71,29 +72,37 @@ const getSummary = function(settingKey) {
|
||||||
// Used by both menu and osd notifications.
|
// Used by both menu and osd notifications.
|
||||||
var DisplayStrings = {
|
var DisplayStrings = {
|
||||||
getDashedLine: function(dashed) {
|
getDashedLine: function(dashed) {
|
||||||
return dashed ? _("Dashed line") : _("Full line");
|
return dashed ? _("Dashed line") :
|
||||||
|
// Translators: as the alternative to "Dashed line"
|
||||||
|
_("Full line");
|
||||||
},
|
},
|
||||||
|
|
||||||
getFill: function(fill) {
|
getFill: function(fill) {
|
||||||
return fill ? _("Fill") : _("Outline");
|
return fill ? _("Fill") :
|
||||||
|
// Translators: as the alternative to "Fill"
|
||||||
|
_("Outline");
|
||||||
},
|
},
|
||||||
|
|
||||||
get FillRule() {
|
get FillRule() {
|
||||||
if (!this._fillRules)
|
if (!this._fillRules)
|
||||||
|
// Translators: fill-rule SVG attribute
|
||||||
this._fillRules = { 0: _("Nonzero"), 1: _("Evenodd") };
|
this._fillRules = { 0: _("Nonzero"), 1: _("Evenodd") };
|
||||||
return this._fillRules;
|
return this._fillRules;
|
||||||
},
|
},
|
||||||
|
|
||||||
getFontFamily: function(family) {
|
getFontFamily: function(family) {
|
||||||
if (!this._fontGenericFamilies)
|
if (!this._fontGenericFamilies)
|
||||||
this._fontGenericFamilies = { 'Sans-Serif': _("Sans-Serif"), 'Serif': _("Serif"), 'Monospace': _("Monospace"),
|
// Translators: generic font-family SVG attribute
|
||||||
'Cursive': _("Cursive"), 'Fantasy': _("Fantasy") };
|
this._fontGenericFamilies = { 'Sans-Serif': pgettext("font-family", "Sans-Serif"), 'Serif': pgettext("font-family", "Serif"),
|
||||||
|
'Monospace': pgettext("font-family", "Monospace"), 'Cursive': pgettext("font-family", "Cursive"),
|
||||||
|
'Fantasy': pgettext("font-family", "Fantasy") };
|
||||||
return this._fontGenericFamilies[family] || family;
|
return this._fontGenericFamilies[family] || family;
|
||||||
},
|
},
|
||||||
|
|
||||||
get FontStyle() {
|
get FontStyle() {
|
||||||
if (!this._fontStyles)
|
if (!this._fontStyles)
|
||||||
this._fontStyles = { 0: _("Normal"), 1: _("Oblique"), 2: _("Italic") };
|
// Translators: font-style SVG attribute
|
||||||
|
this._fontStyles = { 0: pgettext("font-style", "Normal"), 1: pgettext("font-style", "Oblique"), 2: pgettext("font-style", "Italic") };
|
||||||
return this._fontStyles;
|
return this._fontStyles;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -101,37 +110,44 @@ var DisplayStrings = {
|
||||||
|
|
||||||
get FontWeight() {
|
get FontWeight() {
|
||||||
if (!this._fontWeights)
|
if (!this._fontWeights)
|
||||||
this._fontWeights = { 100: _("Thin"), 200: _("Ultra Light"), 300: _("Light"), 350: _("Semi Light"),
|
// Translators: font-weight SVG attribute
|
||||||
380: _("Book"), 400: _("Normal"), 500: _("Medium"), 600: _("Semi Bold"),
|
this._fontWeights = { 100: pgettext("font-weight", "Thin"), 200: pgettext("font-weight", "Ultra Light"), 300: pgettext("font-weight", "Light"),
|
||||||
700: _("Bold"), 800: _("Ultra Bold"), 900: _("Heavy"), 1000:_("Ultra Heavy") };
|
350: pgettext("font-weight", "Semi Light"), 380: pgettext("font-weight", "Book"), 400: pgettext("font-weight", "Normal"),
|
||||||
|
500: pgettext("font-weight", "Medium"), 600: pgettext("font-weight", "Semi Bold"), 700: pgettext("font-weight", "Bold"),
|
||||||
|
800: pgettext("font-weight", "Ultra Bold"), 900: pgettext("font-weight", "Heavy"), 1000: pgettext("font-weight", "Ultra Heavy") };
|
||||||
return this._fontWeights;
|
return this._fontWeights;
|
||||||
},
|
},
|
||||||
|
|
||||||
get LineCap() {
|
get LineCap() {
|
||||||
if (!this._lineCaps)
|
if (!this._lineCaps)
|
||||||
this._lineCaps = { 0: _("Butt"), 1: _("Round"), 2: _("Square") };
|
// Translators: stroke-linecap SVG attribute
|
||||||
|
this._lineCaps = { 0: pgettext("stroke-linecap", "Butt"), 1: pgettext("stroke-linecap", "Round"), 2: pgettext("stroke-linecap", "Square") };
|
||||||
return this._lineCaps;
|
return this._lineCaps;
|
||||||
},
|
},
|
||||||
|
|
||||||
get LineJoin() {
|
get LineJoin() {
|
||||||
if (!this._lineJoins)
|
if (!this._lineJoins)
|
||||||
this._lineJoins = { 0: _("Miter"), 1: _("Round"), 2: _("Bevel") };
|
// Translators: stroke-linejoin SVG attribute
|
||||||
|
this._lineJoins = { 0: pgettext("stroke-linejoin", "Miter"), 1: pgettext("stroke-linejoin", "Round"), 2: pgettext("stroke-linejoin", "Bevel") };
|
||||||
return this._lineJoins;
|
return this._lineJoins;
|
||||||
},
|
},
|
||||||
|
|
||||||
getPixels(value) {
|
getPixels(value) {
|
||||||
return _("%d px").format(value);
|
// Translators: value in pixel unit (e.g. "5 px")
|
||||||
|
return _("%f px").format(value);
|
||||||
},
|
},
|
||||||
|
|
||||||
getTextAlignment: function(rightAligned) {
|
getTextAlignment: function(rightAligned) {
|
||||||
|
// Translators: text alignment
|
||||||
return rightAligned ? _("Right aligned") : _("Left aligned");
|
return rightAligned ? _("Right aligned") : _("Left aligned");
|
||||||
},
|
},
|
||||||
|
|
||||||
get Tool() {
|
get Tool() {
|
||||||
if (!this._tools)
|
if (!this._tools)
|
||||||
this._tools = { 0: _("Free drawing"), 1: _("Line"), 2: _("Ellipse"), 3: _("Rectangle"),
|
this._tools = { 0: pgettext("drawing-tool", "Free drawing"), 1: pgettext("drawing-tool", "Line"), 2: pgettext("drawing-tool", "Ellipse"),
|
||||||
4: _("Text"), 5: _("Polygon"), 6: _("Polyline"), 7: _("Image"),
|
3: pgettext("drawing-tool", "Rectangle"), 4: pgettext("drawing-tool", "Text"), 5: pgettext("drawing-tool", "Polygon"),
|
||||||
100: _("Move"), 101: _("Resize"), 102: _("Mirror") };
|
6: pgettext("drawing-tool", "Polyline"), 7: pgettext("drawing-tool", "Image"),
|
||||||
|
100: pgettext("drawing-tool", "Move"), 101: pgettext("drawing-tool", "Resize"), 102: pgettext("drawing-tool", "Mirror") };
|
||||||
return this._tools;
|
return this._tools;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
106
prefs.js
106
prefs.js
|
|
@ -1,5 +1,5 @@
|
||||||
/* jslint esversion: 6 */
|
/* jslint esversion: 6 */
|
||||||
/* exported GLOBAL_KEYBINDINGS, INTERNAL_KEYBINDINGS, OTHER_SHORTCUTS, init, buildPrefsWidget */
|
/* exported init, buildPrefsWidget */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright 2019 Abakkk
|
* Copyright 2019 Abakkk
|
||||||
|
|
@ -27,10 +27,10 @@ const GLib = imports.gi.GLib;
|
||||||
const GObject = imports.gi.GObject;
|
const GObject = imports.gi.GObject;
|
||||||
const Gtk = imports.gi.Gtk;
|
const Gtk = imports.gi.Gtk;
|
||||||
|
|
||||||
const Config = imports.misc.config;
|
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
const Me = ExtensionUtils.getCurrentExtension();
|
const Me = ExtensionUtils.getCurrentExtension();
|
||||||
const Convenience = ExtensionUtils.getSettings && ExtensionUtils.initTranslations ? ExtensionUtils : Me.imports.convenience;
|
const Convenience = ExtensionUtils.getSettings && ExtensionUtils.initTranslations ? ExtensionUtils : Me.imports.convenience;
|
||||||
|
const Shortcuts = Me.imports.shortcuts.Shortcuts;
|
||||||
const gettext = imports.gettext.domain(Me.metadata['gettext-domain']).gettext;
|
const gettext = imports.gettext.domain(Me.metadata['gettext-domain']).gettext;
|
||||||
const _ = function(string) {
|
const _ = function(string) {
|
||||||
if (!string)
|
if (!string)
|
||||||
|
|
@ -39,51 +39,9 @@ const _ = function(string) {
|
||||||
};
|
};
|
||||||
const _GTK = imports.gettext.domain('gtk30').gettext;
|
const _GTK = imports.gettext.domain('gtk30').gettext;
|
||||||
|
|
||||||
const GS_VERSION = Config.PACKAGE_VERSION;
|
|
||||||
const MARGIN = 10;
|
const MARGIN = 10;
|
||||||
const ROWBOX_MARGIN_PARAMS = { margin_top: MARGIN / 2, margin_bottom: MARGIN / 2, margin_left: MARGIN, margin_right: MARGIN };
|
const ROWBOX_MARGIN_PARAMS = { margin_top: MARGIN / 2, margin_bottom: MARGIN / 2, margin_left: MARGIN, margin_right: MARGIN };
|
||||||
|
|
||||||
var GLOBAL_KEYBINDINGS = ['toggle-drawing', 'toggle-modal', 'erase-drawings'];
|
|
||||||
var INTERNAL_KEYBINDINGS = [
|
|
||||||
['undo', 'redo', 'delete-last-element', 'smooth-last-element'],
|
|
||||||
['select-none-shape', 'select-line-shape', 'select-ellipse-shape', 'select-rectangle-shape', 'select-polygon-shape', 'select-polyline-shape',
|
|
||||||
'select-text-shape', 'select-image-shape', 'select-move-tool', 'select-resize-tool', 'select-mirror-tool'],
|
|
||||||
['switch-fill', 'switch-fill-rule', 'switch-color-palette', 'switch-color-palette-reverse'],
|
|
||||||
['increment-line-width', 'increment-line-width-more', 'decrement-line-width', 'decrement-line-width-more',
|
|
||||||
'switch-linejoin', 'switch-linecap', 'switch-dash'],
|
|
||||||
['switch-font-family', 'switch-font-family-reverse', 'switch-font-weight', 'switch-font-style', 'switch-text-alignment', 'switch-image-file'],
|
|
||||||
['toggle-panel-and-dock-visibility', 'toggle-background', 'toggle-grid', 'toggle-square-area'],
|
|
||||||
['open-next-json', 'open-previous-json', 'save-as-json', 'save-as-svg', 'open-preferences', 'toggle-help']
|
|
||||||
];
|
|
||||||
|
|
||||||
if (GS_VERSION < '3.36')
|
|
||||||
delete INTERNAL_KEYBINDINGS[INTERNAL_KEYBINDINGS.length - 1]['open-preferences'];
|
|
||||||
|
|
||||||
const getKeyLabel = function(accel) {
|
|
||||||
let [keyval, mods] = Gtk.accelerator_parse(accel);
|
|
||||||
return Gtk.accelerator_get_label(keyval, mods);
|
|
||||||
};
|
|
||||||
|
|
||||||
var OTHER_SHORTCUTS = [{
|
|
||||||
get "Draw"() { return _("Left click"); },
|
|
||||||
get "Menu"() { return _("Right click"); },
|
|
||||||
get "Toggle fill/outline"() { return _("Center click"); },
|
|
||||||
get "Increment/decrement line width"() { return _("Scroll"); },
|
|
||||||
get "Select color"() { return _("%s … %s").format(getKeyLabel('<Primary>1'), getKeyLabel('<Primary>9')); },
|
|
||||||
get "Ignore pointer movement"() { return _("%s held").format(getKeyLabel('space')); },
|
|
||||||
"Leave": getKeyLabel('Escape'),
|
|
||||||
}, {
|
|
||||||
"Select eraser <span alpha=\"50%\">(while starting drawing)</span>": getKeyLabel('<Shift>'),
|
|
||||||
"Duplicate <span alpha=\"50%\">(while starting handling)</span>": getKeyLabel('<Shift>'),
|
|
||||||
"Rotate rectangle, polygon, polyline": getKeyLabel('<Primary>'),
|
|
||||||
"Extend circle to ellipse": getKeyLabel('<Primary>'),
|
|
||||||
"Curve line": getKeyLabel('<Primary>'),
|
|
||||||
"Smooth free drawing outline": getKeyLabel('<Primary>'),
|
|
||||||
"Rotate <span alpha=\"50%\">(while moving)</span>": getKeyLabel('<Primary>'),
|
|
||||||
"Stretch <span alpha=\"50%\">(while resizing)</span>": getKeyLabel('<Primary>'),
|
|
||||||
"Inverse <span alpha=\"50%\">(while mirroring)</span>": getKeyLabel('<Primary>'),
|
|
||||||
}];
|
|
||||||
|
|
||||||
function init() {
|
function init() {
|
||||||
Convenience.initTranslations();
|
Convenience.initTranslations();
|
||||||
}
|
}
|
||||||
|
|
@ -110,10 +68,13 @@ const TopStack = new GObject.Class({
|
||||||
_init: function(params) {
|
_init: function(params) {
|
||||||
this.parent({ transition_type: 1, transition_duration: 500, expand: true });
|
this.parent({ transition_type: 1, transition_duration: 500, expand: true });
|
||||||
this.prefsPage = new PrefsPage();
|
this.prefsPage = new PrefsPage();
|
||||||
|
// Translators: "Preferences" page in preferences
|
||||||
this.add_titled(this.prefsPage, 'prefs', _("Preferences"));
|
this.add_titled(this.prefsPage, 'prefs', _("Preferences"));
|
||||||
this.drawingPage = new DrawingPage();
|
this.drawingPage = new DrawingPage();
|
||||||
|
// Translators: "Drawing" page in preferences
|
||||||
this.add_titled(this.drawingPage, 'drawing', _("Drawing"));
|
this.add_titled(this.drawingPage, 'drawing', _("Drawing"));
|
||||||
this.aboutPage = new AboutPage();
|
this.aboutPage = new AboutPage();
|
||||||
|
// Translators: "About" page in preferences
|
||||||
this.add_titled(this.aboutPage, 'about', _("About"));
|
this.add_titled(this.aboutPage, 'about', _("About"));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -129,9 +90,12 @@ const AboutPage = new GObject.Class({
|
||||||
let vbox= new Gtk.Box({ orientation: Gtk.Orientation.VERTICAL, margin: MARGIN * 3 });
|
let vbox= new Gtk.Box({ orientation: Gtk.Orientation.VERTICAL, margin: MARGIN * 3 });
|
||||||
this.add(vbox);
|
this.add(vbox);
|
||||||
|
|
||||||
let name = "<b> " + _(Me.metadata.name) + "</b>";
|
// Translators: you are free to translate the extension name, that is displayed in About page, or not
|
||||||
|
let name = "<b> " + _("Draw On You Screen") + "</b>";
|
||||||
|
// Translators: version number in "About" page
|
||||||
let version = _("Version %d").format(Me.metadata.version);
|
let version = _("Version %d").format(Me.metadata.version);
|
||||||
let description = _(Me.metadata.description);
|
// Translators: you are free to translate the extension description, that is displayed in About page, or not
|
||||||
|
let description = _("Start drawing with Super+Alt+D and save your beautiful work by taking a screenshot");
|
||||||
let link = "<span><a href=\"" + Me.metadata.url + "\">" + Me.metadata.url + "</a></span>";
|
let link = "<span><a href=\"" + Me.metadata.url + "\">" + Me.metadata.url + "</a></span>";
|
||||||
let licenceName = _GTK("GNU General Public License, version 2 or later");
|
let licenceName = _GTK("GNU General Public License, version 2 or later");
|
||||||
let licenceLink = "https://www.gnu.org/licenses/old-licenses/gpl-2.0.html";
|
let licenceLink = "https://www.gnu.org/licenses/old-licenses/gpl-2.0.html";
|
||||||
|
|
@ -153,6 +117,11 @@ const AboutPage = new GObject.Class({
|
||||||
creditBox.pack_start(rightBox, true, true, 5);
|
creditBox.pack_start(rightBox, true, true, 5);
|
||||||
vbox.add(creditBox);
|
vbox.add(creditBox);
|
||||||
|
|
||||||
|
// Translators: add your name here or keep it empty, it will be displayed in about page, e.g.
|
||||||
|
// msgstr ""
|
||||||
|
// "translator1\n"
|
||||||
|
// "<a href=\"mailto:translator2@mail.org\">translator2</a>\n"
|
||||||
|
// "<a href=\"https://...\">translator3</a>"
|
||||||
if (_("translator-credits") != "translator-credits" && _("translator-credits") != "") {
|
if (_("translator-credits") != "translator-credits" && _("translator-credits") != "") {
|
||||||
leftBox.pack_start(new Gtk.Label(), false, false, 0);
|
leftBox.pack_start(new Gtk.Label(), false, false, 0);
|
||||||
rightBox.pack_start(new Gtk.Label(), false, false, 0);
|
rightBox.pack_start(new Gtk.Label(), false, false, 0);
|
||||||
|
|
@ -162,7 +131,6 @@ const AboutPage = new GObject.Class({
|
||||||
rightBox.pack_start(rightLabel, false, false, 0);
|
rightBox.pack_start(rightLabel, false, false, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const DrawingPage = new GObject.Class({
|
const DrawingPage = new GObject.Class({
|
||||||
|
|
@ -375,6 +343,7 @@ const DrawingPage = new GObject.Class({
|
||||||
|
|
||||||
_addNewPalette: function() {
|
_addNewPalette: function() {
|
||||||
let colors = Array(9).fill('Black');
|
let colors = Array(9).fill('Black');
|
||||||
|
// Translators: default name of a new palette
|
||||||
this.palettes.push([_("New palette"), colors]);
|
this.palettes.push([_("New palette"), colors]);
|
||||||
this._savePalettes();
|
this._savePalettes();
|
||||||
},
|
},
|
||||||
|
|
@ -407,10 +376,15 @@ const PrefsPage = new GObject.Class({
|
||||||
listBox.get_style_context().add_class('background');
|
listBox.get_style_context().add_class('background');
|
||||||
globalFrame.add(listBox);
|
globalFrame.add(listBox);
|
||||||
|
|
||||||
let globalKeybindingsRow = new Gtk.ListBoxRow({ activatable: false });
|
Shortcuts.GLOBAL_KEYBINDINGS.forEach((settingKeys, index) => {
|
||||||
let globalKeybindingsWidget = new KeybindingsWidget(GLOBAL_KEYBINDINGS, settings);
|
if (index)
|
||||||
globalKeybindingsRow.add(globalKeybindingsWidget);
|
listBox.add(new Gtk.Box(ROWBOX_MARGIN_PARAMS));
|
||||||
listBox.add(globalKeybindingsRow);
|
|
||||||
|
let globalKeybindingsRow = new Gtk.ListBoxRow({ activatable: false });
|
||||||
|
let globalKeybindingsWidget = new KeybindingsWidget(settingKeys, settings);
|
||||||
|
globalKeybindingsRow.add(globalKeybindingsWidget);
|
||||||
|
listBox.add(globalKeybindingsRow);
|
||||||
|
});
|
||||||
|
|
||||||
let persistentKey = schema.get_key('persistent-drawing');
|
let persistentKey = schema.get_key('persistent-drawing');
|
||||||
let persistentRow = new PrefRow({ label: persistentKey.get_summary(), desc: persistentKey.get_description() });
|
let persistentRow = new PrefRow({ label: persistentKey.get_summary(), desc: persistentKey.get_description() });
|
||||||
|
|
@ -447,28 +421,28 @@ const PrefsPage = new GObject.Class({
|
||||||
listBox.get_style_context().add_class('background');
|
listBox.get_style_context().add_class('background');
|
||||||
internalFrame.add(listBox);
|
internalFrame.add(listBox);
|
||||||
|
|
||||||
OTHER_SHORTCUTS.forEach((object, index) => {
|
Shortcuts.OTHERS.forEach((pairs, index) => {
|
||||||
if (index)
|
if (index)
|
||||||
listBox.add(new Gtk.Box(ROWBOX_MARGIN_PARAMS));
|
listBox.add(new Gtk.Box(ROWBOX_MARGIN_PARAMS));
|
||||||
|
|
||||||
for (let key in object) {
|
pairs.forEach(pair => {
|
||||||
let otherBox = new Gtk.Box({ margin_left: MARGIN, margin_right: MARGIN });
|
let otherBox = new Gtk.Box({ margin_left: MARGIN, margin_right: MARGIN });
|
||||||
let otherLabel = new Gtk.Label({ label: _(key), use_markup: true });
|
let otherLabel = new Gtk.Label({ label: pair[0], use_markup: true });
|
||||||
otherLabel.set_halign(1);
|
otherLabel.set_halign(1);
|
||||||
let otherLabel2 = new Gtk.Label({ label: object[key] });
|
let otherLabel2 = new Gtk.Label({ label: pair[1] });
|
||||||
otherBox.pack_start(otherLabel, true, true, 4);
|
otherBox.pack_start(otherLabel, true, true, 4);
|
||||||
otherBox.pack_start(otherLabel2, false, false, 4);
|
otherBox.pack_start(otherLabel2, false, false, 4);
|
||||||
listBox.add(otherBox);
|
listBox.add(otherBox);
|
||||||
}
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
listBox.add(new Gtk.Box(ROWBOX_MARGIN_PARAMS));
|
listBox.add(new Gtk.Box(ROWBOX_MARGIN_PARAMS));
|
||||||
|
|
||||||
INTERNAL_KEYBINDINGS.forEach((array, index) => {
|
Shortcuts.INTERNAL_KEYBINDINGS.forEach((settingKeys, index) => {
|
||||||
if (index)
|
if (index)
|
||||||
listBox.add(new Gtk.Box(ROWBOX_MARGIN_PARAMS));
|
listBox.add(new Gtk.Box(ROWBOX_MARGIN_PARAMS));
|
||||||
|
|
||||||
let internalKeybindingsWidget = new KeybindingsWidget(array, internalShortcutSettings);
|
let internalKeybindingsWidget = new KeybindingsWidget(settingKeys, internalShortcutSettings);
|
||||||
listBox.add(internalKeybindingsWidget);
|
listBox.add(internalKeybindingsWidget);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -552,7 +526,7 @@ const PixelSpinButton = new GObject.Class({
|
||||||
|
|
||||||
// Add 'px' unit.
|
// Add 'px' unit.
|
||||||
vfunc_output: function() {
|
vfunc_output: function() {
|
||||||
this.text = _("%d px").format(Math.round(this.value * 100) / 100);
|
this.text = _("%f px").format(Number(this.value).toFixed(2));
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -603,11 +577,11 @@ const KeybindingsWidget = new GObject.Class({
|
||||||
GTypeName: 'DrawOnYourScreenKeybindingsWidget',
|
GTypeName: 'DrawOnYourScreenKeybindingsWidget',
|
||||||
Extends: Gtk.Box,
|
Extends: Gtk.Box,
|
||||||
|
|
||||||
_init: function(keybindings, settings) {
|
_init: function(settingKeys, settings) {
|
||||||
this.parent(ROWBOX_MARGIN_PARAMS);
|
this.parent(ROWBOX_MARGIN_PARAMS);
|
||||||
this.set_orientation(Gtk.Orientation.VERTICAL);
|
this.set_orientation(Gtk.Orientation.VERTICAL);
|
||||||
|
|
||||||
this._keybindings = keybindings;
|
this._settingKeys = settingKeys;
|
||||||
this._settings = settings;
|
this._settings = settings;
|
||||||
|
|
||||||
this._columns = {
|
this._columns = {
|
||||||
|
|
@ -706,9 +680,9 @@ const KeybindingsWidget = new GObject.Class({
|
||||||
_refresh: function() {
|
_refresh: function() {
|
||||||
this._store.clear();
|
this._store.clear();
|
||||||
|
|
||||||
for(let settings_key of this._keybindings) {
|
this._settingKeys.forEach(settingKey => {
|
||||||
let [key, mods] = Gtk.accelerator_parse(
|
let [key, mods] = Gtk.accelerator_parse(
|
||||||
this._settings.get_strv(settings_key)[0]
|
this._settings.get_strv(settingKey)[0]
|
||||||
);
|
);
|
||||||
|
|
||||||
let iter = this._store.append();
|
let iter = this._store.append();
|
||||||
|
|
@ -720,12 +694,12 @@ const KeybindingsWidget = new GObject.Class({
|
||||||
this._columns.KEY
|
this._columns.KEY
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
settings_key,
|
settingKey,
|
||||||
this._settings.settings_schema.get_key(settings_key).get_summary(),
|
this._settings.settings_schema.get_key(settingKey).get_summary(),
|
||||||
mods,
|
mods,
|
||||||
key
|
key
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
}
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -31,10 +31,82 @@
|
||||||
</key>
|
</key>
|
||||||
<key type="as" name="toggle-modal">
|
<key type="as" name="toggle-modal">
|
||||||
<default>["<Primary><Alt><Super>d"]</default>
|
<default>["<Primary><Alt><Super>d"]</default>
|
||||||
|
<!-- Translators: there is a similar text in GNOME Boxes (https://gitlab.gnome.org/GNOME/gnome-boxes/tree/master/po) -->
|
||||||
<summary>Grab/ungrab keyboard and pointer</summary>
|
<summary>Grab/ungrab keyboard and pointer</summary>
|
||||||
<description></description>
|
<description></description>
|
||||||
</key>
|
</key>
|
||||||
</schema>
|
</schema>
|
||||||
|
<schema path="/org/gnome/shell/extensions/draw-on-your-screen/drawing/" id="org.gnome.shell.extensions.draw-on-your-screen.drawing">
|
||||||
|
<key type="s" name="background-color">
|
||||||
|
<default>"#2e2e2e"</default>
|
||||||
|
<summary>Background color</summary>
|
||||||
|
<description>The color of the drawing area background</description>
|
||||||
|
</key>
|
||||||
|
<key type="b" name="dash-array-auto">
|
||||||
|
<default>true</default>
|
||||||
|
<summary>Automatic dash array</summary>
|
||||||
|
<description>Compute the lengths from the line width</description>
|
||||||
|
</key>
|
||||||
|
<key type="d" name="dash-array-on">
|
||||||
|
<default>5</default>
|
||||||
|
<summary>Dash array on</summary>
|
||||||
|
<description>The dash length in pixels</description>
|
||||||
|
</key>
|
||||||
|
<key type="d" name="dash-array-off">
|
||||||
|
<default>15</default>
|
||||||
|
<summary>Dash array off</summary>
|
||||||
|
<description>The gap between the dashes in pixels</description>
|
||||||
|
</key>
|
||||||
|
<key type="d" name="dash-offset">
|
||||||
|
<default>0</default>
|
||||||
|
<summary>Dash offset</summary>
|
||||||
|
<description>The dash offset in pixels</description>
|
||||||
|
</key>
|
||||||
|
<key type="s" name="grid-color">
|
||||||
|
<default>"Gray"</default>
|
||||||
|
<summary>Grid overlay color</summary>
|
||||||
|
<description>The color of the lines</description>
|
||||||
|
</key>
|
||||||
|
<key type="b" name="grid-line-auto">
|
||||||
|
<default>true</default>
|
||||||
|
<summary>Automatic grid overlay line</summary>
|
||||||
|
<description>Compute the lengths from the screen size</description>
|
||||||
|
</key>
|
||||||
|
<key type="u" name="grid-line-spacing">
|
||||||
|
<default>10</default>
|
||||||
|
<summary>Grid overlay line spacing</summary>
|
||||||
|
<description>The gap between lines in pixels</description>
|
||||||
|
</key>
|
||||||
|
<key type="d" name="grid-line-width">
|
||||||
|
<default>0.5</default>
|
||||||
|
<summary>Grid overlay line width</summary>
|
||||||
|
<description>The line width in pixels</description>
|
||||||
|
</key>
|
||||||
|
<key type="a(sas)" name="palettes">
|
||||||
|
<default>
|
||||||
|
[
|
||||||
|
("Palette", ["HotPink","Cyan","yellow","Orangered","Chartreuse","DarkViolet","White","Gray","Black"]),
|
||||||
|
("GNOME HIG lighter", ["rgb(153,193,241)","rgb(143,240,164)","rgb(249,240,107)","rgb(255,190,111)","rgb(246,97,81)","rgb(220,138,221)","rgb(205,171,143)","rgb(255,255,255)","rgb(119,118,123)"]),
|
||||||
|
("GNOME HIG light", ["rgb(98,160,241)","rgb(87,227,137)","rgb(248,228,92)","rgb(255,163,72)","rgb(237,51,59)","rgb(192,97,203)","rgb(181,131,90)","rgb(246,245,244)","rgb(94,92,100)"]),
|
||||||
|
("GNOME HIG normal", ["rgb(53,132,228)","rgb(51,209,122)","rgb(246,211,45)","rgb(255,120,0)","rgb(224,27,36)","rgb(145,65,172)","rgb(152,106,68)","rgb(222,221,218)","rgb(61,56,70)"]),
|
||||||
|
("GNOME HIG dark", ["rgb(28,113,216)","rgb(46,194,126)","rgb(245,194,17)","rgb(230,97,0)","rgb(192,28,40)","rgb(129,61,156)","rgb(134,94,60)","rgb(192,191,188)","rgb(36,31,49)"]),
|
||||||
|
("GNOME HIG darker", ["rgb(26,095,180)","rgb(38,162,105)","rgb(229,165,10)","rgb(198,70,0)","rgb(165,29,45)","rgb(97,53,131)","rgb(99,69,44)","rgb(154,153,150)","rgb(0,0,0)"])
|
||||||
|
]
|
||||||
|
</default>
|
||||||
|
<summary>Color palettes</summary>
|
||||||
|
<description>The palettes of drawing colors</description>
|
||||||
|
</key>
|
||||||
|
<key type="b" name="square-area-auto">
|
||||||
|
<default>true</default>
|
||||||
|
<summary>Automatic square area size</summary>
|
||||||
|
<description>Compute the size of the square area from the screen size</description>
|
||||||
|
</key>
|
||||||
|
<key type="u" name="square-area-size">
|
||||||
|
<default>512</default>
|
||||||
|
<summary>Square area size</summary>
|
||||||
|
<description>The size of the square area in pixels</description>
|
||||||
|
</key>
|
||||||
|
</schema>
|
||||||
<schema path="/org/gnome/shell/extensions/draw-on-your-screen/internal-shortcuts/" id="org.gnome.shell.extensions.draw-on-your-screen.internal-shortcuts">
|
<schema path="/org/gnome/shell/extensions/draw-on-your-screen/internal-shortcuts/" id="org.gnome.shell.extensions.draw-on-your-screen.internal-shortcuts">
|
||||||
<key type="as" name="decrement-line-width">
|
<key type="as" name="decrement-line-width">
|
||||||
<default><![CDATA[['<Primary>KP_Subtract','<Primary>minus','<Primary><Shift>minus']]]></default>
|
<default><![CDATA[['<Primary>KP_Subtract','<Primary>minus','<Primary><Shift>minus']]]></default>
|
||||||
|
|
@ -139,7 +211,7 @@
|
||||||
</key>
|
</key>
|
||||||
<key type="as" name="select-none-shape">
|
<key type="as" name="select-none-shape">
|
||||||
<default>["<Primary>p"]</default>
|
<default>["<Primary>p"]</default>
|
||||||
<summary>Free drawing</summary>
|
<summary>Select free drawing</summary>
|
||||||
</key>
|
</key>
|
||||||
<key type="as" name="select-polygon-shape">
|
<key type="as" name="select-polygon-shape">
|
||||||
<default>["<Primary>y"]</default>
|
<default>["<Primary>y"]</default>
|
||||||
|
|
@ -242,75 +314,4 @@
|
||||||
<summary>Undo last brushstroke</summary>
|
<summary>Undo last brushstroke</summary>
|
||||||
</key>
|
</key>
|
||||||
</schema>
|
</schema>
|
||||||
<schema path="/org/gnome/shell/extensions/draw-on-your-screen/drawing/" id="org.gnome.shell.extensions.draw-on-your-screen.drawing">
|
|
||||||
<key type="s" name="background-color">
|
|
||||||
<default>"#2e2e2e"</default>
|
|
||||||
<summary>Background color</summary>
|
|
||||||
<description>The color of the drawing area background</description>
|
|
||||||
</key>
|
|
||||||
<key type="b" name="dash-array-auto">
|
|
||||||
<default>true</default>
|
|
||||||
<summary>Automatic dash array</summary>
|
|
||||||
<description>Compute the lengths from the line width</description>
|
|
||||||
</key>
|
|
||||||
<key type="d" name="dash-array-on">
|
|
||||||
<default>5</default>
|
|
||||||
<summary>Dash array on</summary>
|
|
||||||
<description>The dash length in pixels</description>
|
|
||||||
</key>
|
|
||||||
<key type="d" name="dash-array-off">
|
|
||||||
<default>15</default>
|
|
||||||
<summary>Dash array off</summary>
|
|
||||||
<description>The gap between the dashes in pixels</description>
|
|
||||||
</key>
|
|
||||||
<key type="d" name="dash-offset">
|
|
||||||
<default>0</default>
|
|
||||||
<summary>Dash offset</summary>
|
|
||||||
<description>The dash offset in pixels</description>
|
|
||||||
</key>
|
|
||||||
<key type="s" name="grid-color">
|
|
||||||
<default>"Gray"</default>
|
|
||||||
<summary>Grid overlay color</summary>
|
|
||||||
<description>The color of the lines</description>
|
|
||||||
</key>
|
|
||||||
<key type="b" name="grid-line-auto">
|
|
||||||
<default>true</default>
|
|
||||||
<summary>Automatic grid overlay line</summary>
|
|
||||||
<description>Compute the lengths from the screen size</description>
|
|
||||||
</key>
|
|
||||||
<key type="u" name="grid-line-spacing">
|
|
||||||
<default>10</default>
|
|
||||||
<summary>Grid overlay line spacing</summary>
|
|
||||||
<description>The gap between lines in pixels</description>
|
|
||||||
</key>
|
|
||||||
<key type="d" name="grid-line-width">
|
|
||||||
<default>0.5</default>
|
|
||||||
<summary>Grid overlay line width</summary>
|
|
||||||
<description>The line width in pixels</description>
|
|
||||||
</key>
|
|
||||||
<key type="a(sas)" name="palettes">
|
|
||||||
<default>
|
|
||||||
[
|
|
||||||
("Palette", ["HotPink","Cyan","yellow","Orangered","Chartreuse","DarkViolet","White","Gray","Black"]),
|
|
||||||
("GNOME HIG lighter", ["rgb(153,193,241)","rgb(143,240,164)","rgb(249,240,107)","rgb(255,190,111)","rgb(246,97,81)","rgb(220,138,221)","rgb(205,171,143)","rgb(255,255,255)","rgb(119,118,123)"]),
|
|
||||||
("GNOME HIG light", ["rgb(98,160,241)","rgb(87,227,137)","rgb(248,228,92)","rgb(255,163,72)","rgb(237,51,59)","rgb(192,97,203)","rgb(181,131,90)","rgb(246,245,244)","rgb(94,92,100)"]),
|
|
||||||
("GNOME HIG normal", ["rgb(53,132,228)","rgb(51,209,122)","rgb(246,211,45)","rgb(255,120,0)","rgb(224,27,36)","rgb(145,65,172)","rgb(152,106,68)","rgb(222,221,218)","rgb(61,56,70)"]),
|
|
||||||
("GNOME HIG dark", ["rgb(28,113,216)","rgb(46,194,126)","rgb(245,194,17)","rgb(230,97,0)","rgb(192,28,40)","rgb(129,61,156)","rgb(134,94,60)","rgb(192,191,188)","rgb(36,31,49)"]),
|
|
||||||
("GNOME HIG darker", ["rgb(26,095,180)","rgb(38,162,105)","rgb(229,165,10)","rgb(198,70,0)","rgb(165,29,45)","rgb(97,53,131)","rgb(99,69,44)","rgb(154,153,150)","rgb(0,0,0)"])
|
|
||||||
]
|
|
||||||
</default>
|
|
||||||
<summary>Color palettes</summary>
|
|
||||||
<description>The palettes of drawing colors</description>
|
|
||||||
</key>
|
|
||||||
<key type="b" name="square-area-auto">
|
|
||||||
<default>true</default>
|
|
||||||
<summary>Automatic square area size</summary>
|
|
||||||
<description>Compute the size of the square area from the screen size</description>
|
|
||||||
</key>
|
|
||||||
<key type="u" name="square-area-size">
|
|
||||||
<default>512</default>
|
|
||||||
<summary>Square area size</summary>
|
|
||||||
<description>The size of the square area in pixels</description>
|
|
||||||
</key>
|
|
||||||
</schema>
|
|
||||||
</schemalist>
|
</schemalist>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,102 @@
|
||||||
|
/* jslint esversion: 6 */
|
||||||
|
/* exported Shortcuts */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright 2019 Abakkk
|
||||||
|
*
|
||||||
|
* This file is part of DrawOnYourScreen, a drawing extension for GNOME Shell.
|
||||||
|
* https://framagit.org/abakkk/DrawOnYourScreen
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
const Gtk = imports.gi.Gtk;
|
||||||
|
|
||||||
|
const GS_VERSION = imports.misc.config.PACKAGE_VERSION;
|
||||||
|
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 internalShortcutsSchema = Convenience.getSettings(Me.metadata['settings-schema'] + '.internal-shortcuts').settings_schema;
|
||||||
|
|
||||||
|
const getKeyLabel = function(accel) {
|
||||||
|
let [keyval, mods] = Gtk.accelerator_parse(accel);
|
||||||
|
return Gtk.accelerator_get_label(keyval, mods);
|
||||||
|
};
|
||||||
|
|
||||||
|
// It is used by helper and prefs.
|
||||||
|
var Shortcuts = {
|
||||||
|
|
||||||
|
// The setting keys of the "org.gnome.shell.extensions.draw-on-your-screen" schema.
|
||||||
|
GLOBAL_KEYBINDINGS: [
|
||||||
|
['toggle-drawing', 'toggle-modal', 'erase-drawings']
|
||||||
|
],
|
||||||
|
|
||||||
|
// The setting keys of the "org.gnome.shell.extensions.draw-on-your-screen.internal-shortcuts" schema.
|
||||||
|
INTERNAL_KEYBINDINGS: [
|
||||||
|
['undo', 'redo', 'delete-last-element', 'smooth-last-element'],
|
||||||
|
['select-none-shape', 'select-line-shape', 'select-ellipse-shape', 'select-rectangle-shape', 'select-polygon-shape', 'select-polyline-shape',
|
||||||
|
'select-text-shape', 'select-image-shape', 'select-move-tool', 'select-resize-tool', 'select-mirror-tool'],
|
||||||
|
['switch-fill', 'switch-fill-rule', 'switch-color-palette', 'switch-color-palette-reverse'],
|
||||||
|
['increment-line-width', 'increment-line-width-more', 'decrement-line-width', 'decrement-line-width-more',
|
||||||
|
'switch-linejoin', 'switch-linecap', 'switch-dash'],
|
||||||
|
['switch-font-family', 'switch-font-family-reverse', 'switch-font-weight', 'switch-font-style', 'switch-text-alignment', 'switch-image-file'],
|
||||||
|
['toggle-panel-and-dock-visibility', 'toggle-background', 'toggle-grid', 'toggle-square-area'],
|
||||||
|
['open-next-json', 'open-previous-json', 'save-as-json', 'save-as-svg', 'open-preferences', 'toggle-help']
|
||||||
|
],
|
||||||
|
|
||||||
|
// Use functions to get the translations "at runtime".
|
||||||
|
_otherFunctions: [[
|
||||||
|
() => [_("Draw"), _("Left click")],
|
||||||
|
() => [_("Menu"), _("Right click")],
|
||||||
|
() => [internalShortcutsSchema.get_key('switch-fill').get_summary(), _("Center click")],
|
||||||
|
() => [_("Increment/decrement line width"), _("Scroll")],
|
||||||
|
// Translators: %s are key labels (Ctrl+F1 and Ctrl+F9)
|
||||||
|
() => [_("Select color"), _("%s … %s").format(getKeyLabel('<Primary>1'), getKeyLabel('<Primary>9'))],
|
||||||
|
// Translators: %s is a key label
|
||||||
|
() => [_("Ignore pointer movement"), _("%s held").format(getKeyLabel('space'))],
|
||||||
|
() => [_("Leave"), getKeyLabel('Escape')],
|
||||||
|
], [
|
||||||
|
() => [_("Select eraser <span alpha=\"50%\">(while starting drawing)</span>"), getKeyLabel('<Shift>')],
|
||||||
|
() => [_("Duplicate <span alpha=\"50%\">(while starting handling)</span>"), getKeyLabel('<Shift>')],
|
||||||
|
() => [_("Rotate rectangle, polygon, polyline"), getKeyLabel('<Primary>')],
|
||||||
|
() => [_("Extend circle to ellipse"), getKeyLabel('<Primary>')],
|
||||||
|
() => [_("Curve line"), getKeyLabel('<Primary>')],
|
||||||
|
() => [_("Smooth free drawing outline"), getKeyLabel('<Primary>')],
|
||||||
|
() => [_("Rotate <span alpha=\"50%\">(while moving)</span>"), getKeyLabel('<Primary>')],
|
||||||
|
() => [_("Stretch <span alpha=\"50%\">(while resizing)</span>"), getKeyLabel('<Primary>')],
|
||||||
|
() => [_("Inverse <span alpha=\"50%\">(while mirroring)</span>"), getKeyLabel('<Primary>')],
|
||||||
|
]],
|
||||||
|
|
||||||
|
get OTHERS() {
|
||||||
|
if (!this._others) {
|
||||||
|
this._others = [];
|
||||||
|
this._otherFunctions.forEach(getPairFunctions => {
|
||||||
|
let pairs = [];
|
||||||
|
getPairFunctions.forEach(getPairFunction => pairs.push(getPairFunction()));
|
||||||
|
this._others.push(pairs);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return this._others;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
if (GS_VERSION < '3.36')
|
||||||
|
// Remove 'open-preferences' keybinding.
|
||||||
|
Shortcuts.INTERNAL_KEYBINDINGS.forEach(settingKeys => {
|
||||||
|
let index = settingKeys.indexOf('open-preferences');
|
||||||
|
if (index != -1)
|
||||||
|
settingKeys.splice(index, 1);
|
||||||
|
});
|
||||||
Loading…
Reference in New Issue