Commit Graph

48019 Commits

Author SHA1 Message Date
5a93168a96 icons: actually remove all the now-generated icons.
These are all generated from their SVG source, either with colorsvg2png
(for the Color icons) or gtk-encode-symbolic-svg (for Symbolic icons).
2022-01-31 21:31:12 +01:00
a0ffddf7fd icons: argh I should not have touched the Legacy theme!
Bad usage of `find`. I didn't pay attention that I removed icons from
the Legacy icon theme which is frozen. Obviously the previous commit was
only expecting to touch Color and Symbolic icon themes.
2022-01-31 20:32:48 +01:00
b6e0ebc663 icons: removing some now unused icons. 2022-01-31 19:25:24 +01:00
8f136abb01 icons: clean the icon list a bit.
- Remove some forgotten lines related to 24x24 vector icons which were
  removed a few days ago already.
- Don't install the 64x64 icons anymore as PNG when in the vector icon
  case. Not sure why we ever did this, but it doesn't look useful.
- This should also fix the CI which was not looking for the tool
  gtk-encode-symbolic-svg in vector icon install.
2022-01-31 18:54:32 +01:00
cb6ae8526b Update Chinese (China) translation 2022-01-31 17:10:11 +00:00
ddd9fe8bdc icons, tools: new icon lists for modules. 2022-01-31 17:59:11 +01:00
c0431df6f5 icons, tools: new 'templates' icon list.
Some points to note:
- gimp-web and gimp-toilet-paper had some usage elsewhere so I also left
  them in 2 of the more generic size files.
- I remove gimp-floppy altogether as it's used nowhere in any of our
  code or data files.
2022-01-31 16:12:19 +01:00
9052762225 icons: tool icons are another big group of icons handled all the same. 2022-01-31 15:18:10 +01:00
d2db539591 icons, tools: start grouping icons by their usage.
There are some clear and obvious groups in the icons. For instance, the
Preferences icons are one of them. Looking up the code, we only use them
in 16px (in Preferences side menu) and 48px (in Preferences page
headers). Until now, we were storing in other unrelated size (22px) and
also the lists per-sizes were not consistent. Some icons were missing
here, other there.

With this new organization, the Preferences icons are listed in a single
file, ensuring usage and contents consistency. Also it allows to install
them only for the needed sizes (note that it is possible that they might
be needed in different size, for instance with custom themes; but we
can't just randomly distribute icons in all sizes; or to be more
accurate, this is exactly why we encourage rather the SVG/scalable
icons, so if some people explicitly go for raster icons, they also get
the drawbacks which come with).

Last note: it may be possible that some icons end up in different
"semantic" icon group. This is not a problem with this new organization
as my scripts handle duplicates gracefully.
2022-01-31 14:52:42 +01:00
bc999325be icons, tools: new colorsvg2png tool to build PNG out of SVG.
Build-time tool, which basically just rasterize SVG images (it doesn't
do anything special like gtk-encode-symbolic-svg which creates special
PNG for GTK to recolor them).

It looks like I had this prepared since 2018 according to file header,
but I just never finished doing it! :P

Basically now PNG icons of the Color icon themes do not need anymore to
be committed in the repository. They will be generated from the SVG
icons.

Also adding a missing icon from the 16px list (the Playground icon for
Preferences dialog was needed in 16x16 as well, yet missing).
2022-01-31 14:52:42 +01:00
3e47e395a5 app: some typo fix.
Found while looking at this part of the code.
2022-01-31 14:52:42 +01:00
0747db5bff icons: 24x24 SVG icons are redundant.
It may actually be meaningful to have redundant vector icons at specific
size, for instance when you want sligthly different designs (e.g. more
details at bigger size). But here looking at our 24x24 vector icons, it
doesn't look like it at all. It's mostly the exact same icons,
duplicated (with some forgotten).

Makes no sense here. So let's simply install the scalable/ icons for all
size, and that's it.
2022-01-31 14:52:42 +01:00
069393d49f Update Chinese (China) translation 2022-01-31 04:18:17 +00:00
96855390f3 Updated Danish translation of gimp-plug-ins 2022-01-30 16:15:07 +01:00
64361f9852 Updated Danish translation 2022-01-30 16:15:07 +01:00
89b4592750 Updated Danish translation of gimp-windows-installer 2022-01-30 15:58:02 +01:00
015da415e8 Updated Danish translation of gimp-script-fu 2022-01-30 15:58:02 +01:00
ee9b35f910 Update Danish translation 2022-01-30 12:54:54 +01:00
4a00c109a0 icons: clean up old lists.
Argh I had forgotten to clean up old icon lists on meson (now that it
uses the common icons/icon-lists/ listing.
2022-01-27 21:10:56 +01:00
f3702a7ec9 gitlab-ci: add a new GIMP_CI_RASTER_ICONS to test raster icon build.
Since this is probably much less tested than the default vector icon
case, any bug there might go unseen for some time. So let's add a new
pipeline to check this. I make so this pipeline is not actually run on
every commit (i.e. manually only), then I'll just add a scheduled
pipeline to check the non-vector icon case at regular intervals.

This pipeline also test the icon-list.mk files are not outdated.
2022-01-27 17:06:56 +01:00
6e9b137f50 icons, tools: allow newlines in the icon lists.
This is nicer for icon organization, allowing to group them by
categories (Freedesktop, GTK and GIMP namespace icons).
2022-01-27 16:18:55 +01:00
8a5120e021 Update Spanish translation 2022-01-27 10:23:47 +00:00
b37fad26c7 Update Spanish translation 2022-01-27 10:11:05 +00:00
2b843aa674 devel-docs: update icons docs. 2022-01-27 02:13:13 +01:00
cfc770b85e Coding Style: update regarding tabs in Makefile-s.
Possibly the only place where we expect them?
2022-01-27 01:19:26 +01:00
7a2f4b82f0 icons, tools: add a comment to generated icon-list.mk.
Just so that someone who happens to look in there is not tempted to
modify these files directly and get some instructions.
The comment is inspired from other similarly generated Makefile.am (i.e.
in plug-ins/commons/).
2022-01-27 01:00:20 +01:00
3ed7c92f25 icons: regenerate the icon-list.mk-s with the new tool.
The lists are still exactly the same (except for one icon file whose
name the script fixed, which proves its usage/need even starting this
initial commit).

Now we also get more consistent tabbing than the manual one. Only
missing thing is that it was nice to separate some icons by categories
for easy reading. Maybe later.
2022-01-27 00:49:51 +01:00
fc12d9e414 tools: new tool to generate the icon-list.mk-s from icons/icon-lists/…
… listing.

This way, both the Color and Symbolic icon themes, both on meson and
autotools build systems all share the exact same list of icons.

I think there are still improvements to be done on what we list and
chosen sizes and icon categories. But this step is about just getting on
the same state as we currently are, simply with shared listings. Once we
are there, we can go forward.
2022-01-27 00:49:12 +01:00
8aee873c95 icons: remove use of meson 'fs' module.
I realize that this module is available since meson 0.53.0 though our
current requirement is meson 0.50.0.
Note sure why meson was not popping any warning (normally it does when
we use a feature younger than the minimum requirement; but maybe this
doesn't work for modules).

Anyway this does the same thing without the 'fs' module, and maybe even
better (we know which icons should be converted or used from source, no
need to add any test logics here).
2022-01-26 16:43:18 +01:00
8f0d67779c meson: rename -Dvec-icons to -Dvector-icons.
Should we really be that stingy for letters that we don't want to use
full words?! :-D
Let's have clear option names.
2022-01-26 02:55:27 +01:00
784a209ba2 icons: share the same list for symbolic and color icons in meson.
Now we get back (slowly) to something a bit saner, with a common list
shared on both icon themes. This way, we make sure we won't miss any
icon when we will add/remove/change any icon.

This is only for the meson build right now, but next step is to use the
same list in the autotools build as well. This will get maximum
consistency across build systems.
2022-01-26 02:48:30 +01:00
11183f4fa4 icons: have -Dvec-icons=false option work with meson.
The whole logics of creating specially prepared PNG images for vector
icons (with gtk-encode-symbolic-svg) was absent. This option was
basically completely broken, yet we now know that we need the ability to
install PNG alternatives for the icons (see #6821).

This is a continuation of previous commit which is straightening a bit
our whole icon theme builds. Note though that more needs to be done
because I definitely still see room for more mess and far too much
duplication.
2022-01-26 01:04:27 +01:00
ae861e01cd icons: sync all icon lists between autotools and meson.
Some icons were missing on one side or another side, though mostly on
the meson build. Also the option -Dvec-icons=false was basically
completely broken and clearly untested, most likely ever since the
original meson build contribution.

This commit doesn't even completely fix the non-vector icon rule,
because even the file names are wrong, and the bitmap icons are not even
constructed from their vector counterpart! I am going to fix this in the
next commit.
2022-01-25 22:12:38 +01:00
d266100ab7 devel-docs: update icons.txt and icon theme section in README. 2022-01-25 17:27:48 +01:00
a08224f7b3 INSTALL: update the install instructions regarding librsvg.
Currently it's a mandatory option (and it has been the case for years,
ever since commit 43e218859b) so let's update the info.

Note that there are still discussions going on about this dependency and
it being hard or impossible to build on many platforms (which are stuck
on old C version, before the move to Rust). See #6821.
We'll see how it goes.
2022-01-25 01:33:34 +01:00
650e0fa7f3 build: sync nightly flatpak with updates from the dev flatpak.
This includes:
- "copy-icon" set
- Permission and cleanup rules updated
- Exiv2 bumped to 0.27.5
- Adding an x-checker-data for OpenEXR
- Poppler bumped to 22.01.00
- OpenBlas bumped to 0.3.19
- graphviz bumped to 2.50.0
2022-01-25 01:21:55 +01:00
54e2c30f82 Update Slovenian translation 2022-01-24 19:57:55 +00:00
996e5ef1eb icons: fix missing icons with the --disable-vector-icons option.
We should really get back to a single shared list as we have in
gimp-2-10.

Also just keeping the "no SVG icons" option feels wrong to me, yet it
turns out librsvg is quite a problem because of Rust, so recent versions
are just not available on many platforms (see #6821). This is what
blocked me so far to remove this whole listing of PNG variants for our
vector icon themes. Otherwise they would be gone by now.

I really wonder as well about all these size categories. Not that they
are not needed when in PNG format, but because it feels like nobody has
really taken the time to list which icons are needed in which size for
years. We really need to do some cleaning in this area.
2022-01-24 17:21:08 +01:00
96c23903bc macos: support standard fullscreen
This moves to standard fullscreen behavior for Gimp.

Added benefit is that it no longer requires gdkquartz-cocoa-access.h
which the Gtk team wish to stop supporting https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4303.

Bug 756178 also no longer manifests, cdc7542d46
so it is now safe to do.

Finally, removes dependency on objective c in the app/display directory.
2022-01-24 14:49:42 +00:00
84d298d4d3 devel-docs: fix autotools dist rules.
Since I removed some files and forgot to change these rules. Though I
actually wonder if this still makes sense to distribute all these files
within the tarball anymore. It made sense in the way software was
distributed 20 years ago, but nowadays people who want to develop would
clone the git repo not get a tarball. We'll see.
2022-01-24 15:45:43 +01:00
c2ef33e63c Update Chinese (China) translation 2022-01-24 13:55:14 +00:00
ce90cc28a1 macos: support python plugins in meson
This change makes sure that plugins can load when gimp is built with
meson. This is because .typelibs and .gir files do not have full library
paths when build using meson (this is different from autotools).
2022-01-24 02:12:22 +00:00
10fe910728 Update Polish translation 2022-01-23 12:34:01 +01:00
4065c33bf0 devel-docs: update the developer documentation further.
Add some more text and links to existing documents.

I also remove 3 files which are now either outdated or whose contents is
also written (with more or less similar text) in other more up-to-date
files.
2022-01-23 01:05:58 +01:00
67a1d9f4d0 devel-docs: update further the devel docs.
Add more links to other files after I reviewed they were still relevant.

The `gitlab-milestones.txt` in particular had to be updated because the
contents was outdated (though we still need to manage milestones, simply
now we are a bit more fine-grained).
2022-01-22 23:00:50 +01:00
e4cb7e12b4 devel-docs: add CI info in developer docs.
Also remove the now deprecated Jenkins tutorial. We have not had this CI
system running for some time now, and the Gitlab CI has totally replaced
it.
2022-01-22 21:55:50 +01:00
fac84db028 devel-docs: add directory structure of the repo to developer docs.
Loosely based on the old structure.xml, except it was widely outdated.
So I removed or updated what was obsolete and added missing folders.

Obviously getting rid of the old `structure.xml` (now we have easier doc
generation through Gitlab).

Finally, I fix the table of contents and replaced the title with some
metadata-style stuff which Gitlab docs suggest (otherwise the document
title ends up in the table of contents, which is a bit silly).
2022-01-22 17:44:38 +01:00
66cfa75291 tools: add a flatpak-releases tool for quick testing with Flatpak.
Sometimes we want to make quick tests on old versions of GIMP.
Rebuilding from source is definitely still an option, yet with flatpak,
we have many past builds available easily to us (at time of writing: 19
stable builds, 12 dev point-release builds and at least 3 nightlies —
though I seem to have issues with signatures on gnome-nightly right now,
so maybe there are more!).

There are some command lines needed to check the build history, then to
install a specific build, which I explained in developer docs (see
devel-docs/debugging-tips.txt, section "Testing older GIMP versions").
Yet it's clearly cumbersome and slow so I wrote this script today to
automatize the process a bit.

Running simply this command will list all available releases on the
Flathub repository (adding --beta or --nightly will list the development
releases and nightly builds instead):

$ tools/flatpak-releases

The listing will contain a topic describing the build as well as the
date, all this prefixed by a number. For instance, this is an excerpt of
the output for the dev releases:

$ tools/flatpak-releases --beta
 0: Update dependencies (127a0fa7) [2022-01-13 16:59:43 +0000]
 1: Issue #106:  File->Create->From Screenshot not working. (9c831b14) [2021-12-14 21:46:52 +0000]
 2: Release GIMP 2.99.8. (908bf5b0) [2021-10-20 20:29:00 +0000]
 3: Release GIMP 2.99.6. (e04355dd) [2021-04-26 14:08:32 +0000]
 …

The last build updates dependencies, the previous one fixes some
specific issue and the 2 previous ones are point releases.
Now say I needed to test/compare some behavior with how it was in 2.99.6
(e.g. to verify a regression), I would then run:

$ tools/flatpak-releases --beta -3

This would install this specific dev build number 3. In just 2
easy-to-remember commands and a few seconds, we can therefore list and
install specific Flatpak builds.
2022-01-22 16:04:35 +01:00
db5964ba90 Update Swedish translation 2022-01-21 20:19:58 +00:00
998479706b Issue #4107: Removing titlebar/borders from Windows Splash Screen 2022-01-21 13:49:18 +00:00