Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/mypaint/mypaint

MyPaint is a simple drawing and painting program that works well with Wacom-style graphics tablets.
https://github.com/mypaint/mypaint

gui.symmetry: fix redraw glitch on axis adjustments

Invalidation rectangles did not account for drop shadows on
an active axis, resulting in subtle ...

284dc00a705dd8a7de0a62a77446633bec6effee authored over 4 years ago by Jesper Lloyd <[email protected]>
gui.frametool: improve redraw performance

Now redraws based on the intersections of frame lines to the viewport.
For changes where an edge...

6e64d5f72da73d59ffdf3796fafbca17e5f3180c authored over 4 years ago by Jesper Lloyd <[email protected]>
gui.frametool: queue frame adjustments

The frequency of frame ajustments made by dragging on the canvas
is now capped (as it is for sym...

6885dfcb7c054623a6d0e01f65930f3880c89461 authored over 4 years ago by Jesper Lloyd <[email protected]>
gui.framewindow: refactor frame positioning

Now makes use of the existing functions in TiledDrawWidget.

db7089fb1ca59d99b4f27f9a3e787f15e3db4ca1 authored over 4 years ago by Jesper Lloyd <[email protected]>
gui.frametool: use enum, not str, for performance

The issue was not so much string comparisons, but a ton of redundant
calls to gettext. The way t...

8336cea23fb876a86f57a077c5d3a6d270952e26 authored over 4 years ago by Jesper Lloyd <[email protected]>
gui.framewindow: replace size/dpi button+dialog

The widgets are now placed directly in the options panel, reducing
overhead by a fair bit when r...

2fda6463ab385563343cfb25b95c92b9de0b1040 authored over 4 years ago by Jesper Lloyd <[email protected]>
lib.feedback: use functions instead of properties

While properties are very nice for setting up interfaces,
we should avoid using them for class-l...

b8129655ae000eb2e15f437f2618cda83883632f authored over 4 years ago by Jesper Lloyd <[email protected]>
Revert HoundCI config to original state

This means that the opinionated string format linter will keep
being annoying, but at least the ...

5b9770ad9e50e58231faec8d6666bfcaeca2a9ed authored over 4 years ago by Jesper Lloyd <[email protected]>
Translated using Weblate (Swedish)

Currently translated at 99.8% (1270 of 1272 strings)

3abf97fab4ee419caad8c55a6da6dacf1bae32bf authored over 4 years ago by Luna Jernberg <[email protected]>
Translated using Weblate (Russian)

Currently translated at 96.7% (1231 of 1272 strings)

d2fb27a48998b4005e2718d210319bb6da708ca1 authored over 4 years ago by Дмитрий Ильченко <[email protected]>
Translated using Weblate (Turkish)

Currently translated at 100.0% (1272 of 1272 strings)

fdbd9083b330c06117c8d4223980aab0d92aa444 authored over 4 years ago by Oğuz Ersen <[email protected]>
gui.linemode: move line ends when pressing ctrl+shift

In addition to changing the curve points, the line ends can now
also be moved when pressing ctrl...

91500a71e0f4262894d1d307e7e6fee602ed04fd authored over 4 years ago by Grzegorz Wójcik <[email protected]>
Fix hound config [skip travis] [skip appveyor]

Not sure why the config failed before. Could be that `python`
instead of `flake8` was the cause,...

9e81378935c7291c208f3ef78e32c4b644692edd authored over 4 years ago by Jesper Lloyd <[email protected]>
gui.topbar: fix args in call to Gtk.Menu.popup

The call was missing either the arguments for time or for user data.
Call is now consistent with...

83418db1b2264b2cfe1e7561491fd7c303de3ffc authored over 4 years ago by Jesper Lloyd <[email protected]>
Update translation files (po template & po files)

249b0196dfbbf9429cd96a7b39b5b4ce4f362103 authored over 4 years ago by Jesper Lloyd <[email protected]>
README: add clarification about winget package

49c739e875c82fcc923575075e2a489234356086 authored over 4 years ago by Jesper Lloyd <[email protected]>
Translated using Weblate (Finnish)

Currently translated at 38.3% (488 of 1273 strings)

805c4fdcb5ba2355290f7470ca024c16769db375 authored over 4 years ago by Jiri Grönroos <[email protected]>
Translated using Weblate (Russian)

Currently translated at 96.7% (1232 of 1273 strings)

d06dc19bb5d1bc6bd4a565cb63e5858f574083cb authored over 4 years ago by Alexey Napalkov <[email protected]>
Translated using Weblate (Finnish)

Currently translated at 22.7% (290 of 1273 strings)

43bc1e9f9698ade0ca1b4931c48fbc81fd7122e5 authored over 4 years ago by Jiri Grönroos <[email protected]>
Translated using Weblate (Norwegian Bokmål)

Currently translated at 55.7% (710 of 1273 strings)

5891ab290134368c4fafb6b7caa74c6b22296016 authored over 4 years ago by Allan Nordhøy <[email protected]>
README.md: add info about winget package [skip ci]

Note for future reference: winget refers to the recently released
Microsoft Windows Package Mana...

da4da88c0db1cf3237cb8aacb9094be08bf52471 authored over 4 years ago by Jesper Lloyd <[email protected]>
Translated using Weblate (Kabyle)

Currently translated at 13.1% (168 of 1273 strings)

5741f400ec959e2f3a7bbf39b7867985dd1751fd authored over 4 years ago by Selyan Sliman Amiri <[email protected]>
Translated using Weblate (Arabic)

Currently translated at 29.2% (372 of 1273 strings)

37a094b970b1bd94f8a047bb711dae292c1b4da2 authored over 4 years ago by tamer dab <[email protected]>
Translated using Weblate (Japanese)

Currently translated at 76.1% (969 of 1273 strings)

e2be50b6674e705a39ba8c28a73b5e6c9d45c137 authored over 4 years ago by Drew T <[email protected]>
Translated using Weblate (Spanish)

Currently translated at 77.2% (983 of 1273 strings)

0e964d909a7897c1ecd228cbb6ee6305857531d9 authored over 4 years ago by Drew T <[email protected]>
gui.colorpicker: mitigate lag on drags

There are multiple reasons this code is slower than it needs to be,
but most of the lag was caus...

d6825558fc8d95de7d91fcf413e8b00b43153064 authored over 4 years ago by Jesper Lloyd <[email protected]>
gui.colorpicker: refactor hcy-component picking

Replaces the large if-else single-entry chunk by actually making
use of the existing subclasses....

9cc92eb0bf1810caa06e49a94a75d9e4bafd7f81 authored over 4 years ago by Jesper Lloyd <[email protected]>
HCYColor: keep chroma when converting to/from HSV

Specifically when converting to/from HSV when the source color
rgb is 0,0,0 but a non-0 saturati...

706af7873f85f01e3bedca9f674c9a9d3706fc60 authored over 4 years ago by Jesper Lloyd <[email protected]>
gui.colorpicker: remove unused attributes

1bfc81cd824cea5b0d211b1e67ff8ff5abc28266 authored over 4 years ago by Jesper Lloyd <[email protected]>
Translated using Weblate (Arabic)

Currently translated at 19.9% (254 of 1273 strings)

1f5dc33b8722b6436dfdb631689bbe80d4fd0750 authored over 4 years ago by tamer dab <[email protected]>
CODEQUAL: rewrite action whitelist conditionals

Makes the code a bit shorter, with consistent comments.

eeb1dd43df0f92d0a0d155c38bf27d88331b5d13 authored over 4 years ago by Jesper Lloyd <[email protected]>
inktool: prevent strokes for buttons other than 1

Bug going back to at least 1.2.1 - the nodes shows up regardless of
how the drag is initiated or...

75c2939e072bdb4f09aa22536849859b902523c7 authored over 4 years ago by Jesper Lloyd <[email protected]>
inktool: fix drag_start_cb crashing on space-drags

Same issue as: a9a92678bfe1f1b31069943ed064a7a686b797a6 but older.

27b58096e7735498b66ff88b9e548605c4968e16 authored over 4 years ago by Jesper Lloyd <[email protected]>
Fix switching to BrushResizeMode from line modes

Caused by `permitted_switch_actions` being defined twice (old bug).

21a8562940de1def842c97abf8485d1b77f4f31f authored over 4 years ago by Jesper Lloyd <[email protected]>
Translated using Weblate (Slovak)

Currently translated at 91.2% (1162 of 1273 strings)

b9bc93afca38fd9c5ede25b4a06d33a59088dfe9 authored over 4 years ago by Dušan Kazik <[email protected]>
Switch to newer appveyor build image [skip travis]

Due to a recent change of msys2 packagers[1], some keys need
updating (and this image has the up...

e981791e76babf4a065fcb1dc895d7185ee7285b authored over 4 years ago by Jesper Lloyd <[email protected]>
gui.document: cache top mode for motion_notify_cb

Another case where the property overhead can become noticeable when
the event frequency is high ...

914160f3bc269faff19795b3ed88356fc335aca1 authored over 4 years ago by Jesper Lloyd <[email protected]>
gui.device: fix _init_device_settings call order

Once a device is set up (until it is disconnected), calling the init
function does nothing, so c...

cdfe439cc5dbd1e47775cc8daa1a411daa970903 authored over 4 years ago by Jesper Lloyd <[email protected]>
gui.symmetry: queue axis updates when editing

Updates are capped to 60fps, avoiding needless recalculations.

187dbd278bb556ba1dcc47b6ffb96703648a7286 authored over 4 years ago by Jesper Lloyd <[email protected]>
gui.mode: speed up motion_notify_cb

Local `_in_drag` boolean is now checked directly, to avoid the
overhead of the `in_drag` propert...

1849559323e80f6f5e3f326807d55f3c6016c488 authored over 4 years ago by Jesper Lloyd <[email protected]>
gui.symmetry: change line styles for axis lines

The drop shadow style, though nice-looking, can make it difficult
to see the symmetry axes when ...

1ccb541ed1d5e9e54cf9e6d96c0ce956f363ce65 authored over 4 years ago by Jesper Lloyd <[email protected]>
gui.mode: add ev_x, ev_y to `drag_update_cb`

Accessing the coordinates from the event wrapper is actually
very slow (up to ~4-5x slower compa...

252891f9508b19441d570c2bf39d63a04d31f175 authored over 4 years ago by Jesper Lloyd <[email protected]>
gui.symmetry: refactor to improve gui performance

Most of the data is moved to the overlay instance, since it is always
needed there. The edit mod...

417f4404bc165e6b5cdd2d9a07d9a62c8a79dc10 authored over 4 years ago by Jesper Lloyd <[email protected]>
gui.mode: add method `popped` to InteractionMode

Like `enter` and `leave`, this method can be overridden by mode
classes to perform specific task...

678a7c80723da8ade2c310978f16cb0d956f66d1 authored over 4 years ago by Jesper Lloyd <[email protected]>
gui.fill: improve overlay redrawing

Now only invalidates the rectangle for new points while dragging.
Invalidates the full bounds wh...

824de8f2733e6efa34ec87b7852a0354a02d4e2c authored over 4 years ago by Jesper Lloyd <[email protected]>
lib.helpers.Rect: add new utility methods

ffbfca2555c195acc333148d2922a51c36a4519e authored over 4 years ago by Jesper Lloyd <[email protected]>
lib.helpers.Rect: remove deprecated method aliases

0ab6f4e2ae905dba5f7d1fe81e3078fe9c59f3df authored over 4 years ago by Jesper Lloyd <[email protected]>
gui.symmetry: replace center coord. input widgets

With keyboard input prioritizing input widgets, there is no longer
any need for the button+dialo...

8689ca7eaa21d305ae74a12c45cbc2ac9cc66a10 authored over 4 years ago by Jesper Lloyd <[email protected]>
Semi-revert previous last-event recording change

Commit of initial change: 521a828af761c90af43de9496543fe048c2f0112

Due to memory reclamation, s...

609a3b9a1d421a70d071dd3054ac807542151358 authored over 4 years ago by Jesper Lloyd <[email protected]>
Translated using Weblate (Spanish)

Currently translated at 77.0% (981 of 1273 strings)

28a26f9ae3ed29468e8a25880e85cce0b1af1f39 authored over 4 years ago by Rosemary Sumitani <[email protected]>
brush resize mode: fix small bugs, clean & comment

Following bugs fixed:

* Wrong start position used (incidentally correct, most of the time)
Ca...

7fe386a5128302dd506b56d3182981581baf2435 authored over 4 years ago by Jesper Lloyd <[email protected]>
brush resize mode: revise handle positioning

Handle is now always positioned on the right side of the circle.
A better model would probably t...

7df8696600150235ad9d83dd72f0d676f16ee6d6 authored over 4 years ago by Jesper Lloyd <[email protected]>
Add canvas-drag brush resizing

New mode for changing the brush radius by click-dragging.
The radius is visualized by an overlay...

12195c7a3d0bdc61c111e86f6ba746389026dbc8 authored over 4 years ago by Jesper Lloyd <[email protected]>
Expose indexed access to mode stack

Only __getitem__ is implemented, other manipulations should
always be handled via the public int...

aaae3e657f9d070af972d0e8b0d163bd53df6750 authored over 4 years ago by Jesper Lloyd <[email protected]>
gui.mode: clean/fix `initial_modifiers` handling

For non spring-loaded modes, the handling of initial_modifiers was
not updated to take into acco...

8e8b66c64efa0baaa448ccfac8b7cb66347b9aec authored over 4 years ago by Jesper Lloyd <[email protected]>
Split out brush radius approximation calculation

This is the value (unscaled) used to represent
the radius of the brush when used in the brush cu...

13c6eb96e7fc7b6ae79f90b3245a4b2c443831e6 authored over 4 years ago by Jesper Lloyd <[email protected]>
buttonmap: use mode's `get_name` as label fallback

The ACTION_NAME has to be defined in order for a mode class
to be registered, but when the value...

d5eab94715bee370c03e7261f69e0e519a81541f authored over 4 years ago by Jesper Lloyd <[email protected]>
Improve performance of last-event recording

Using class-protected (mangled) attributes and unpacking
data from the event is about 10 times s...

521a828af761c90af43de9496543fe048c2f0112 authored over 4 years ago by Jesper Lloyd <[email protected]>
Fix format spec errors in pt/zh_TW translations

Python brace formatting not updated in zh_TW,
and missing plural form in pt.

d43ea2560bf4df9322721506897d65032f62dc9e authored over 4 years ago by Jesper Lloyd <[email protected]>
Translated using Weblate (French)

Currently translated at 80.7% (1028 of 1273 strings)

fca32237c8461098c45c97b8495cfc0616bf7a99 authored over 4 years ago by Isabelle Lepage <[email protected]>
Translated using Weblate (Portuguese)

Currently translated at 86.4% (1101 of 1273 strings)

e82211aa598e0880ba933b63d144be4e8ea464d2 authored over 4 years ago by ssantos <[email protected]>
Translated using Weblate (Portuguese)

Currently translated at 76.1% (970 of 1273 strings)

e1830eaa456b24bee8b79df99107320b047caec2 authored over 4 years ago by ssantos <[email protected]>
Translated using Weblate (Croatian)

Currently translated at 87.5% (1115 of 1273 strings)

20438055b9acdb4ac7fa3f7994568fe97cfca560 authored over 4 years ago by Milo Ivir <[email protected]>
Translated using Weblate (Turkish)

Currently translated at 100.0% (1273 of 1273 strings)

f32bed01cc381c6c78adfb1f6c167c63932ba414 authored over 4 years ago by Oğuz Ersen <[email protected]>
Translated using Weblate (Indonesian)

Currently translated at 36.6% (466 of 1273 strings)

e995496c070432d109fd0a719f066d09bad1842c authored over 4 years ago by TA <[email protected]>
Translated using Weblate (Catalan)

Currently translated at 100.0% (1273 of 1273 strings)

ce963beb2a9fe0097fef233d7a2e716239164a30 authored over 4 years ago by Joan Montané <[email protected]>
Translated using Weblate (Chinese (Traditional))

Currently translated at 82.9% (1056 of 1273 strings)

26e8640b7ed3b640542163134ebdf00d1476e3c0 authored over 4 years ago by jjyaung <[email protected]>
Py3: fix url unquoting and remove quoting helper

The quoting function is no longer used. It should probably
have been removed in 8112f1dc4f82ae88...

8e849a61fdf77f5958749b0831f36c4fdaf1419c authored over 4 years ago by Jesper Lloyd <[email protected]>
Use setting tooltips for shared brush tool options

The tooltips are added to the labels, not the sliders, as is the case
for tooltips of many of th...

31088ee4043a0bdc80a5f8125d0cb039469be3af authored over 4 years ago by Jesper Lloyd <[email protected]>
Add dynamic tooltips to InputSlider

Shows the current value of the slider in a tooltip, to be used in
situations where a value is us...

0c722d20c6e6bf97e5febc5413495f1e3056046a authored over 4 years ago by Jesper Lloyd <[email protected]>
Replace most GtkScale instances with InputSlider

All _direct_ instances of GtkScale are replaced by Inputslider.
The sliders in GtkScaleButton in...

31a072ae6d797ae687dc6154f49db62cfe31343f authored over 4 years ago by Jesper Lloyd <[email protected]>
Add slider with keyboard input (InputSlider)

Adds a new widget which is a single-child container, normally holding
a GtkScale instance (a sli...

6a2f91a3829d91912fdfd6d0f17f632e3addee48 authored over 4 years ago by Jesper Lloyd <[email protected]>
Add focus-clearing to ToolStackWindow/BrushEditor

Omissions that should have been implemented in:
2b31860c93a640d49b8685ba635ee0584b0a0b26

9dd2bac5fd76fdccfb9aa15706ae5e12bed9b2f1 authored over 4 years ago by Jesper Lloyd <[email protected]>
Update copied `add_metaclass` decorator

Reflects the bugfix a611f60dc73d9df64fd8ebcec1daf9f7827e29db
in the original repository (https:g...

47d4aa4f5ba48eb1caeb6357151586b383b7ae98 authored over 4 years ago by Jesper Lloyd <[email protected]>
Update translation files

2b7b408aa18229da7b848a491f3b2d83fb190f79 authored over 4 years ago by Jesper Lloyd <[email protected]>
Fix pos access in two instances of drag_start_cb

Since the event _can_ be a Gdk.KeyEvent, which does not have x, y
attributes with a position, th...

a9a92678bfe1f1b31069943ed064a7a686b797a6 authored over 4 years ago by Jesper Lloyd <[email protected]>
Ignore keyboard events in layer list

This is needed when widgets can receive keyboard events, since
the default list navigation is no...

dcd8c6d9e8f839381a862a1a30ff91e66ddb822b authored over 4 years ago by Jesper Lloyd <[email protected]>
Prioritize input widgets for keyboard events

The way keyboard handling was set up, changing values in entry
widgets by using the keyboard was...

2b31860c93a640d49b8685ba635ee0584b0a0b26 authored over 4 years ago by Jesper Lloyd <[email protected]>
Translated using Weblate (French)

Currently translated at 79.2% (1008 of 1272 strings)

1356f8a771d2a32fa87b2d34ad3012a08d41c3e3 authored over 4 years ago by Isabelle Lepage <[email protected]>
Translated using Weblate (Icelandic)

Currently translated at 88.2% (1122 of 1272 strings)

33b5eb6a60296fe8be59a0d4dadc1de700aed8c1 authored over 4 years ago by Sveinn í Felli <[email protected]>
Translated using Weblate (Ukrainian)

Currently translated at 23.1% (294 of 1272 strings)

ef54b8e0a82d7b16e65c301822d46f9ab2e87182 authored over 4 years ago by ihor_ck <[email protected]>
Translated using Weblate (French)

Currently translated at 77.6% (988 of 1272 strings)

a9019692e8ab271487479feb524717223fd6fa74 authored over 4 years ago by toure youssouf <[email protected]>
Translated using Weblate (French)

Currently translated at 77.6% (988 of 1272 strings)

423ce3ee6b4e0590f999e892f002dff284f0bad1 authored over 4 years ago by Isabelle Lepage <[email protected]>
Add symmetry angle adjuster to options panel

2dd96ef0952b3975dcb0c17f7987c306c2581f42 authored over 4 years ago by Jesper Lloyd <[email protected]>
Rewrite & amend symmetry state, overlay & editing

Fairly substantial refactoring - summary of user-facing changes:

Disable button (w. trashcan ic...

7d95cfaa76cf789215fb87017efdfb62538627f8 authored over 4 years ago by Jesper Lloyd <[email protected]>
Add angle param to set_symmetry_state

First step in hooking up adjustable symmetry line angles.

b5153b93fa705d9aa9b5110cc78435efa28ede16 authored over 4 years ago by Jesper Lloyd <[email protected]>
Add function for nearest-point-in-convex-polygon

Another utility function to be used in overlay controls.

1b453568aead921d712c2c542656b560a0f1f20f authored over 4 years ago by Jesper Lloyd <[email protected]>
Add nearest-point-on-segment function

Splits out a generalized point-on/in segment function, calling it
from the old and new versions....

62121e082c4acd01b04548fd361374a9c911cabf authored over 4 years ago by Jesper Lloyd <[email protected]>
Add nearest-point-on-line function

Amends the existing private implementation to handle infinite uni-
and bidirectional lines, in a...

90c6eebccc2613c407d5cfa7eca51f4dbaaed4c3 authored over 4 years ago by Jesper Lloyd <[email protected]>
Fix symmetry lines getter

515c2fc0f2ec74a685457db77192620e08408ae9 authored over 4 years ago by Jesper Lloyd <[email protected]>
Add line + polygon intersection function

Handles segments, unidirectional and bidirectional
infinite lines and convex polygons.

The only...

ed241fc1cd1f96073a32b86e394406c2f34aee91 authored over 4 years ago by Jesper Lloyd <[email protected]>
Rewrite cursor-for-angle function

The new implementation does the same thing as the old one,
but in a more straightforward way. Un...

bfab5b39e27eacbb0e3ad85c4ef4042e10d99183 authored over 4 years ago by Jesper Lloyd <[email protected]>
Add general line intersection function

The existing segment intersection function only handles
finite segments, and interprets the inte...

73776d5f53cb74d17ea72095ae38e225e93cee04 authored over 4 years ago by Jesper Lloyd <[email protected]>
Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (1272 of 1272 strings)

1ad2022e63d5e322b522d851341b5a72a78b26d2 authored over 4 years ago by Jonathan Ferreira <[email protected]>
Translated using Weblate (Portuguese (Brazil))

Currently translated at 91.1% (1272 of 1272 strings)

2ed3ce962a235b94d738506a4aa961f5f82a0536 authored over 4 years ago by Frederyco Martins <[email protected]>
Translated using Weblate (Portuguese (Brazil))

Currently translated at 91.1% (1160 of 1272 strings)

b294c4a4e15e3a1c1589d1175b8ad4b5dd74991a authored over 4 years ago by Frederyco Martins <[email protected]>
Translated using Weblate (Portuguese (Brazil))

Currently translated at 91.1% (1160 of 1272 strings)

1609394abec67500d8234af5362d5463942c501a authored over 4 years ago by Jonathan Ferreira <[email protected]>
Translated using Weblate (Portuguese (Brazil))

Currently translated at 91.1% (1160 of 1272 strings)

4761f6459e878eb0f5f36bddb2af33e07ce03423 authored over 4 years ago by Luiza Portinho <[email protected]>
Translated using Weblate (Portuguese (Brazil))

Currently translated at 91.1% (1160 of 1272 strings)

56eb07ce87e4ac448331744a8a9dc4a63ed63e42 authored over 4 years ago by Jonathan Ferreira <[email protected]>
Translated using Weblate (Portuguese (Brazil))

Currently translated at 91.1% (1160 of 1272 strings)

48e97c02fbf737c2b17fd66736f5fede02b9bc2c authored over 4 years ago by Frederyco Martins <[email protected]>