Commit graph

47710 commits

Author SHA1 Message Date
Hugo Carvalho
429d536f7a Update Portuguese translation 2021-12-26 22:09:39 +00:00
Jehan
72f0c9e128 NEWS: update. 2021-12-26 22:41:28 +01:00
Boyuan Yang
d2d7c8b94e Update Chinese (China) translation 2021-12-26 19:00:54 +00:00
Piotr Drąg
6e5414b9c4 Update Polish translation 2021-12-26 12:11:48 +01:00
Piotr Drąg
273178a5ef Update POTFILES.in 2021-12-26 12:08:03 +01:00
Anders Jonsson
3e1bdef40c Update Swedish translation 2021-12-23 20:01:42 +00:00
Yuri Chornoivan
a1beff3055 Update Ukrainian translation 2021-12-23 18:38:55 +00:00
Yuri Chornoivan
c2e9ea03a7 Update Ukrainian translation 2021-12-23 18:37:44 +00:00
Jehan
0530e26845 app: remove some signal remnant from GimpImageClass. 2021-12-23 19:11:38 +01:00
Jehan
7607261d68 app: add eye icon to the GimpItemTreeView header's visibility column.
Makes it much more obvious where you have to click for visibility, and
where each column is. Also it's more consistent.
2021-12-23 18:41:47 +01:00
Jehan
f522be35be NEWS: update. 2021-12-23 18:27:20 +01:00
Jehan
cbf979e506 app: oups, forgot to add an correspondance for XCF 16 loading handler. 2021-12-23 14:11:16 +01:00
Jehan
2329d3e86d app: labels for item search display the pattern syntax. 2021-12-23 13:45:20 +01:00
Jehan
8dd07a7d4b app: unselect all layers when a search pattern is wrong. 2021-12-23 13:45:20 +01:00
Jehan
2b54ad1bbf app: do not save an item pattern search on Enter, but Shift-Enter.
Sometimes, you just want to quickly select layers, not necessarily save
the pattern. So you'd just type a few words, followed by Enter. Don't
save the search pattern everytime.

Only save it when you hit the "Save" button or on Shift-Enter.
2021-12-23 13:45:20 +01:00
Jehan
362fae9147 app, devel-docs: saving the item sets in XCF (bumping to XCF 16).
We now save and load layer and channel item sets. Only missing set types
are path ones, but the whole path item is just its own exception in the
XCF format, and adding support for it, while keeping compatibility with
older XCF seem like a small headache. I could do it, but I actually
wonder if it is worth it. Would people really need to store sets of
paths?

Also this commit finally gets rid of any remnant of the old item "link"
concept (I think), so we are getting close to merging the branch.
2021-12-23 13:45:20 +01:00
Jehan
7c5e88323c po: removing gimpitem-linked.c from localized source.
Fixes:

> make[2]: *** No rule to make target '../../app/core/gimpitem-linked.c', needed by 'gimp30.pot'.  Stop.
2021-12-23 13:45:20 +01:00
Jehan
084906dbf1 app, devel-docs, libgimp, pdb: remove gimp_item_set_linked().
I cleaned many remaining places where the concept of linked item still
survived.
On loading an XCF file with linked items, we are now going to create a
named sets for the linked items, allowing people to easily select these
back if the relation was still needed.

We don't remove gimp_item_get_linked() yet and in particular, we don't
save stored items into XCF files. This will come in an upcoming change.
2021-12-23 13:45:20 +01:00
Jehan
aab4ea2bd6 app: more removal of item link related code.
- removing the GIMP_ITEM_SET_LINKED enum value.
- removing gimp_image_item_list_linked(). Now we should directly use
  gimp_image_item_list_filter() instead.
- "preview-linked" option for transform tools is no more.
2021-12-23 13:45:20 +01:00
Jehan
2ce84b5245 app, devel-docs, libgimp, pdb: delete gimpitem-linked.[ch].
Getting rid of the last usage from these files dedicated to outdated
item link concept.
2021-12-23 13:45:20 +01:00
Jehan
26615fde92 app, devel-docs, libgimp, pdb: now removing gimp_item_linked_rotate(). 2021-12-23 13:45:20 +01:00
Jehan
6f901dfe3e app, devel-docs, libgimp, pdb: get rid of gimp_item_linked_translate().
Similarly to the previous commit, we get rid of "item link" code for
translating items.
2021-12-23 13:45:20 +01:00
Jehan
26d696ce9d app, devel-docs, libgimp, pdb: remove item link ref in flip code.
"Item links" concept is no more in the GUI so we are progressively
removing reference and implementation of this in the core code.
2021-12-23 13:45:20 +01:00
Jehan
7f90d73d58 app: do not update the tree view editable renderer when editing.
When double-clicking the non-selected layer, the function
gimp_view_renderer_set_border_color() was being called, which in turn
called gimp_view_renderer_update() after some idle time.

Unfortunately when this happened, the "update" handler
gimp_container_tree_store_renderer_update() would call
gtk_tree_model_row_changed() which triggers a focus out through GTK.

One way to handle this would be to call gimp_view_renderer_update()
directly when changing border color (no idle time), though it's actually
more efficient to just cancel the idle function when we start editing
the item name. It's just not necessary.
2021-12-23 13:45:20 +01:00
Jehan
ca28934dfc app: fix "%d items selected" label when multi-selecting.
This got broken in commit 28f6b1b268 because you want to always throw
the signal. Yet the context must only be updated with a grid view in the
GimpContainerEditor. Now it should work correctly (hopefully!).
2021-12-23 13:44:59 +01:00
Jehan
60bf8cd87e app: fix selecting an object in an icon view.
We must make sure to care about slight discrepancies between context
object and actually selected icon representing an object, which might be
slightly different at selection change time (just before everything
syncs up).
2021-12-23 13:43:51 +01:00
Jehan
0db6dd9f25 app: make sure the GimpContainerPopup shows the right item as selected…
… for the case of data managed by the GimpContext.

Checking stable and dev builds, it looks this just never worked and used
to just show no selection. Now it is more annoying as it shows a
selected item, but not the right one. Just make sure it shows whatever
is currently selected.
2021-12-23 13:43:51 +01:00
Jehan
28f6b1b268 app: fix gimp_container_view_multi_selected().
The whole hack for types managed by context is not needed anymore. It
works fine with generic code. Also because of this hack, there was a bug
when clicking on some button raising a container popup (such as the
"Dynamics" button in tool options) would reset the context to default
value (e.g. reset to "Basic Dynamics") on the first click, without
raising the popup. Only the second click would raise a popup.
2021-12-23 13:43:51 +01:00
Jehan
9a1a7a766c app: implement GimpContainerViewInterface's get_selected() for…
… GimpContainerComboBox and add a warning when the implementation is
missing.

Basically the default get_selected() implementation only works for
context properties, not for more generic usage of GimpContainerView. The
new warning will be a lot more informative and will help any future
cases where we might experience this bug.
2021-12-23 13:43:51 +01:00
Jehan
0a43a7063c app: add an implementation for get_selected() of GimpContainerEntry.
This fixes the container entry never showing (e.g. brush/dynamics) names
because after commit ca3c480314, the class could not properly detect if
the selection changed (as default implementation for this virtual
function does not suit this subclass).
2021-12-23 13:43:29 +01:00
Jehan
ac1721917c app: reording private functions' declarations and definitions.
Keep them all together and in the same order, instead of mixing public
and private functions.
2021-12-23 13:39:43 +01:00
Jehan
ca3c480314 app: check selected items changed before running "select-items".
This prevents repeatitively running the same signals when it is useless.

In particular, I encountered a case of infinite loops between
"floating-selection-changed" and "select-items" ending up infinitely
calling each other (then crashing GIMP).
2021-12-23 13:39:43 +01:00
Jehan
6a8910749a app: special-case icon theme loading when testing build.
It's a bit ugly, but it's not like this is run many times (only once
when loading the icon theme, or changing it).

Fixes this error appearing in various unit tests' output:

> gimp_icons_sanity_check: Icon theme path has no 'hicolor' subdirectory: /builds/GNOME/gimp/_install/share/gimp/2.99/icons

(even though it was not a test-failure error, it's still better to limit
output for debugging)
2021-12-23 13:39:43 +01:00
Jehan
86dfad30dd libgimpwidgets: GimpCellRendererToggle fallback to "image-missing"…
… when appropriate icon failed to be found.

gtk_icon_theme_lookup_icon_for_scale() apparently does all standard
fallbacks, but not the last "image-missing" one which is supposed to
always be present. To avoid crashing, let's add an explicit fallback
ourselves.

We also encountered this on the test-ui unit test because icons are not
installed (but this could happen anyway when running GIMP normally with
third-party icon themes).
2021-12-23 13:39:43 +01:00
Jehan
e671e3b268 libgimpwidgets: add gimp_event_triggers_context_menu() to def file. 2021-12-23 13:39:43 +01:00
Jehan
72f8e63441 app: find templaterc and controllerrc when testing the build.
This should fix these errors when running `ninja test` or `make check`:

> GIMP-Error: Failed to open file ?/builds/GNOME/gimp/_install/etc/gimp/2.99/templaterc?: open() failed: No such file or directory
> GIMP-Error: Failed to open file ?/builds/GNOME/gimp/_install/etc/gimp/2.99/controllerrc?: open() failed: No such file or directory
2021-12-23 13:39:43 +01:00
Jehan
efaf9e099e app, libgimp, libgimpwidgets: fix "Application icon missing" in tests.
When running tests, the data are not meant to be necessarily installed.
Therefore icons won't be found when calling gimp_widgets_init().

Add some special-casing to find them relatively to the install
directory.
2021-12-23 13:39:43 +01:00
Jehan
b4892931c8 app: fix critical when filtering items in Palette dockable.
An item with no path is actually not always a bug. It can very well be
normal if the tree view has a filtering logics where some items which
were selected suddenly get hidden.
2021-12-23 13:39:43 +01:00
Jehan
a6dccf5c2f app: fix icons for the "*-lock-*" actions.
Now that we have dedicated icons made by Aryeom!
2021-12-23 13:39:43 +01:00
Jehan
d9846ac9dd app: get rid of all "*-linked" actions.
I.e.: "layers-linked", "channels-linked", "vectors-linked" and
"drawable-linked".
2021-12-23 13:39:43 +01:00
Jehan
9d23216566 app: remove the "Linked" switch from the item options dialog. 2021-12-23 13:39:42 +01:00
Jehan
ed9a082a0e NEWS: update. 2021-12-23 13:39:42 +01:00
Jehan
5ac6d57b7b app: add a preferences for choosing your prefered search pattern format.
The 3 available formats are: simple text search, regular expressions and
glob patterns (cf. previous commit). I did a small step back from
previous commit by getting "is-pattern" property back in GimpItemList
instead of having this case as a value of GimpSelectMethod. The reason
is that it would render a useless value in the Preferences combo box.

Text search is the default.
2021-12-23 13:39:42 +01:00
Jehan
01b47863c2 app: GimpItemList supports glob, regular expression and simple text…
… search syntaxes.

The layer tree view is only using regexp so far, but the core code is
updated to allow more.

Simple text search is actually a bit more than "simple". It implies
tokenization of the text, Unicode normalization and case-folding. It
will also search with ASCII alternatives when possible. This includes
things like non-accented ASCII characters matching accented variants
which is neat.

Now it's not perfect. For instance tokenization seems very limited to
writing systems with spaces or alike. In particular, I tested with
Japanese and since you would typically write without spaces, a whole
group of several words would be one token. Since the text search
algorithm only search from token start, this is quite a failure as you
can't search with intermediate words only.
2021-12-23 12:55:11 +01:00
Jehan
cb11eca109 icons: fix build rules for icon theme. 2021-12-23 12:55:11 +01:00
Aryeom Han
e49c0e48bd icons: new lock icons for Color icon theme.
Will tweak them again later. It's just for a first version so that there
are no missing icons.
Unlike the Symbolic icons, the lock design is custom.
CC by-sa International 4.0.
2021-12-23 12:55:11 +01:00
Jehan
767674fc5b app: fix weird pointer behavior when clicking out of lock popover.
It was like small drag'n drop were occuring, sometimes actually ending
up in moving layers or the like.
2021-12-23 12:55:11 +01:00
Jehan
d774a8ff9d app: add multi-vectors drag'n drop ability. 2021-12-23 12:55:11 +01:00
Jehan
5c63c2478f app: duplicate and delete channel actions multi-channel aware. 2021-12-23 12:55:11 +01:00
Jehan
718177b8bc app: raise/lower channels one step or to top/bottom multi-channel aware. 2021-12-23 12:55:11 +01:00