Commit Graph

37 Commits

Author SHA1 Message Date
abakkk 27e194905b add gpl import
* Import palettes from a .gpl file (one palette for each column).
* Add possibility to use more than 9 palettes.
* Color display names support.
* color.toJSON for svg and drawing saves, color.toString for display.
2020-09-22 17:31:48 +02:00
abakkk af694382c8 add color picker
It wraps the upstream color picker, that is designed for DBus access.
There is a shortcut and a menu button.
2020-09-20 15:40:45 +02:00
abakkk 23eea44661 add "Persistent over toggles' setting
* Rename "Persistent" to "Persistent over restarts".
* If disabled, "Persistent over toggles" has priority over "Persistent over restarts" and "Drawing on the desktop".

Close issue #42.
2020-09-17 17:30:30 +02:00
abakkk 072adde856 group menu items at the bottom
In addition, 'Save as a SVG file' -> "Export to a SVG file'.
2020-09-17 17:29:59 +02:00
abakkk 99964991c0 change some shortcuts
Replace some `Shift + Ctrl + ...` to `Ctrl + Alt + ...`.
2020-09-15 02:06:39 +02:00
abakkk 771bad2d59 improve images
* Let the user choose the directory.
* Rework of Files.Images.
* area.currentImage is now an ... image, not an index.
* Add 'switch-image-file-reverse' keybinding.
* Add image gicons (from thumbnails) in the submenu.
* Images are reset on drawing mode left or on images added from the clipboard.
2020-09-11 14:22:18 +02:00
abakkk 442d20b387 paste image files from clipboard 2020-09-09 22:25:56 +02:00
abakkk 56008f3041 add ranges to drawing settings schema
* It is no longer required to clamp the setting value in area.js.
* Add a "range" property, completed with another 'step' property, to PixelSpinButton in order to directly initiate the lower and upper values of the adjustment from the relevant setting range.
* Not related: fix an inversion between Pango and Cairo in element.js.
2020-09-09 12:12:29 +02:00
abakkk c1689cac75 rework prefs, settings, locales
Although there is a lot of changes, nothing is important.
2020-09-02 16:16:23 +02:00
abakkk ecab1e2bed 'open-previous/next-drawing' shortcuts
Reuse `Ctrl + O` keybinding that have been freed by the previous commit (remove 'open-user-stylesheet')
2020-08-31 10:04:43 +02:00
abakkk b3a1a77160 replace user stylesheet with proper drawing settings
Since the most drawing params can be changed via menu or shortcuts, remove default.css and user.css.

* Missing params like palettes, dash, grid, etc, are added to prefs.
* Add palette choice to menu and shortcuts.
* Some defaults like fonts, line width, etc, are no longer modifiable by the user.
2020-08-31 09:43:00 +02:00
abakkk 01701538bb minor, rework settings 2020-08-23 11:49:26 +02:00
abakkk a1ce4aaf79 Add font family reversed switching 2020-08-06 00:26:10 +02:00
abakkk 39ec1ba888 toggle -> switch 2020-08-06 00:06:01 +02:00
abakkk 1172e9da6f new image shape
Images files are picked from `~/DrawOnYourScreen/images/` (and `extensiondir/images/`)
svg, png, jpeg, ...(pixbuf)
2020-08-01 14:08:17 +02:00
abakkk fbe044a2b9 Add text alignment
Left or right.
Replace unused `rtl`.
2020-06-27 15:10:01 +02:00
abakkk 98832cec72 toggle modeless / modal
Keybinding to ungrab keyboard and mouse while drawing remains at the top.
To be aware that this create some problems with the shell (DnD #1 and maybe more ?).

related to #6, #9, #20, #24, #33
2020-06-21 01:08:45 +02:00
abakkk fa4223b7ce Introduce mirror manipulations
* Reflection (symmetry axis)
* Inversion (symmetry point)

`transformingElement` is locked after selecting it.
2020-06-19 16:54:31 +02:00
abakkk 4907e35778 Introduce resize manipulation
* `SCALE_PRESERVE` (preserve ratio)
* `SCALE` (vertical, horizontal or both)

There is a third transformation, `SCALE_ANGLE`, that is not used because it causes problems to the `elementFinder`. Probably a bug of Cairo.inStroke that do no consider scales.
2020-06-15 22:13:03 +02:00
abakkk 443d1f8662 Introduce move manipulation
* 'Shapes' -> 'Tools' ('Shapes' + 'Manipulations')
* 'TextState' -> 'TextStates'
* Rotation centers are now computed dynamically (when building Cairo or SVG paths).
* Text rotation center is now located at the beginning of the text.
* Text elements gain a 'lineIndex' attribute to retrieve the rotation center of the first line.
2020-06-15 21:09:30 +02:00
abakkk 04894a9031 add "file-rule" drawing element attribute 2020-06-08 22:25:26 +02:00
abakkk 9bde4d3013 add "Open preferences" shortcut
Available since GS 3.36, so the shortcut is hidden for previous versions.
2020-06-08 15:26:55 +02:00
abakkk 5b7d1eedf4 new polyline shape
Mark vertices with `Enter` and finish drawing by releasing clic, like other shapes.
2020-06-07 20:05:30 +02:00
abakkk b69c4ccf97 new polygon shape
Mark vertices with `Enter` and finish drawing by releasing clic, like other shapes.
2020-06-07 18:57:11 +02:00
abakkk 360ac081ce Add grid overlay 2020-06-05 15:58:58 +02:00
abakkk 662f229a64 user.css outside extension directory
* Move drawing style to `default.css`.
* Generate (when opening) and handle `user.css` in `~/.local/share/drawOnYourScreen/`.
2020-01-06 21:24:29 +01:00
abakkk 8f3fbe7aa9 replace 'smoothed-stroke' pref with 'Ctrl' key modifier 2020-01-05 13:42:05 +01:00
abakkk 5b1816d29a change some keybindings
* increment/decrement line width more: `Primary + Page_Up/Down` --> `Primary + Shift + KP_Add/Subtract`
* open previous/next json: `Primary + Left/Right` --> `Primary + Page_Up/Down`
* save drawing as svg file: `Primary + S` --> `Primary + Shift + S`
* save drawing: `Primary + Shift + S` --> `Primary + S`
2020-01-05 12:40:35 +01:00
abakkk 17bbe345af new "Open" and "Save" drawing features
* Use a "drawOnYourScreen" subdir in the xdg user data dir
* Info item with the name of the last saved/open json file
* "Open drawing" sub menu with data dir content
* "Save drawing" sub menu with entry
* "Save", "Open previous" and "Open next" keybindings
2020-01-04 00:16:20 +01:00
abakkk d2c285154b add panel indicator and prefs to disable osd notifications and indicator 2019-03-28 22:01:39 +01:00
abakkk 05e6c7b33f reinstate fill and change dashed shortcut 2019-03-27 00:59:48 +01:00
abakkk da52cfa260 Drawing is hidden by default when leaving drawing mode
It doesn't stay on top of windows because of problems with "desktop"
extensions.
2019-03-12 00:29:14 +01:00
abakkk 2b25958d8c add persistence feature 2019-03-11 17:53:35 +01:00
abakkk 0c17e2cfbe move-drawing-on-desktop pref 2019-03-10 22:16:11 +01:00
abakkk 0e2360591c add square area 2019-03-07 16:32:06 +01:00
abakkk c59f499b4c add smooth feature 2019-03-05 21:08:43 +01:00
abakkk 7f9a3195b4 init 2019-03-05 12:36:59 +01:00