Commit graph

4139 commits

Author SHA1 Message Date
Bill Kendrick
75ea1b1833 Merge branch 'master' into sdl2.0 2022-07-02 22:19:50 -07:00
Mark Kim
633a3628d6 Compatibility with SDL2_Pango 0.1.3
Include all headers needed by SDL2_Pango when building the fonts file by
querying pkg-config.
2022-07-02 22:29:47 -04:00
Mark Kim
28888c1842 Update CHANGES.txt 2022-07-02 22:10:13 -04:00
Mark Kim
ed885f887d macOS: move deleted file to Trash
As opposed to permanently deleting it.  As requested:

  https://sourceforge.net/p/tuxpaint/feature-requests/148/
2022-07-02 22:09:55 -04:00
Mark Kim
c936a5a810 Update CHANGES.txt 2022-07-02 22:08:50 -04:00
Mark Kim
98198591b5 macOS: move deleted file to Trash
As opposed to permanently deleting it.  As requested:

  https://sourceforge.net/p/tuxpaint/feature-requests/148/
2022-07-02 22:03:41 -04:00
Bill Kendrick
d289d407ad Merge branch 'master' into sdl2.0 2022-06-29 21:04:32 -07:00
Bill Kendrick
59ef64b4e5 Doc stuff merged in "Use RHEL 7-compatible appdata filename"
https://sourceforge.net/p/tuxpaint/tuxpaint/merge-requests/13/
2022-06-29 20:56:03 -07:00
Will Thompson
38bc3b27d8 Fix detection of xdg-icon-resource
If given more than one argument, 'which' prints the path to each one (if
found). Previously, which was passed two arguments: 'xdg-icon-resource',
and 'install'. But in the contained block of statements, 'install' is
an argument passed to 'xdg-icon-resource'. Pass only 'xdg-icon-resource'
to which.
2022-06-29 13:05:59 +01:00
Will Thompson
4120af3b5f Rename metainfo file to appdata
gettext 0.19.7 gained support for translating appdata files, whereas
support for metainfo files was added in 0.20. These file formats are
effectively the same: as documented in the AppStream specification,
desktop applications can install files with the suffix .appdata.xml
rather than .metainfo.xml and these will still be handled correctly.

It is desirable for this project to support RHEL 7, which has gettext
0.19.8.1, so let's use the older filename.

As noted in the same section of the specification, appdata files were
previously installed to /usr/share/appdata rather than
/usr/share/metainfo, but the spec asserts that the newer metainfo path
works all the way back to RHEL 7, so we keep the newer installation
path.

Thanks to Shin-ichi TOYAMA for flagging this issue.

https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#spec-component-location
2022-06-29 13:05:40 +01:00
Will Thompson
c03b688e98 Create metainfo directory with 'install'
The -D argument to install, together with -t DEST, means "ensure DEST
exists".
2022-06-29 12:40:44 +01:00
Bill Kendrick
080d78fe45 Make sure METAINFO dir exists 2022-06-29 00:38:03 -07:00
Bill Kendrick
73d5e9b8c6 Make sure METAINFO dir exists 2022-06-29 00:33:06 -07:00
Bill Kendrick
5f4c07f7d9 Merge branch 'master' into sdl2.0 2022-06-28 20:15:39 -07:00
Bill Kendrick
f0eaaaf376 Sync INSTALL docs for sdl2 change 2022-06-28 19:22:34 -07:00
dolphin6k
747e69f7c7 tuxpaint.spec: adapted to the change of naming rule of tar ball 2022-06-29 09:45:24 +09:00
dolphin6k
8dafac02b6 Changed library requirements in tuxpaint.spec
Also Adapted to the change of naming rule of tar ball.
2022-06-29 09:43:28 +09:00
dolphin6k
b129a425bd Merge branch 'master' into sdl2.0 2022-06-29 09:38:35 +09:00
dolphin6k
5c486e90f8 Descrived changelog regarding minimum requirement for gettext in tuxpaint.spec 2022-06-29 09:37:14 +09:00
dolphin6k
4323445228 Merge branch 'master' into sdl2.0 2022-06-29 09:31:29 +09:00
dolphin6k
bd1c8c0242 Set minimum version requirement for gettext for Appstream metainfo.
This stops support for RHEL6.
2022-06-29 09:25:57 +09:00
Bill Kendrick
f0fb00a64a Stub for Android port changes in CHANGES.txt
(Pere and/or Terrence should fill in the details, e.g., things from
"Android tweaks coming from the Tuxpaint-Android repo at github [...]"
https://sourceforge.net/p/tuxpaint/tuxpaint/ci/31594dfa623849dd40894ef3f0b8f87ee85054dc/)
2022-06-26 16:50:50 -07:00
Pere Pujal i Carabantes
31594dfa62 Android tweaks coming from the Tuxpaint-Android repo at github by Terrence Sheflin. 2022-06-25 10:37:17 +02:00
Pere Pujal i Carabantes
b612fcb881 Something weird happened in load_info_about_label_surface() in some merge, fixing the merge. 2022-06-20 23:08:02 +02:00
Bill Kendrick
934f500584 Merge branch 'master' into sdl2.0 2022-06-14 01:20:23 -07:00
Bill Kendrick
416462935c Rebuilt POT/PO under new system
(See https://sourceforge.net/p/tuxpaint/tuxpaint/merge-requests/12/)

Also, updated RELEASE.txt to denote where changelog info
should be added into the new "metainfo" file for software repos.
2022-06-14 01:17:57 -07:00
Bill Kendrick
1068a33167 Mended Color Mixer random color bug
If you set a color, then come back to Color Mixer and immediately
dismiss the dialog (without setting a color), an indeterminate
color could appear due to uninitialized variables (new_r, _g, _b).

Closes https://sourceforge.net/p/tuxpaint/bugs/251/
h/t @kentonyanamin on Twitter
2022-06-14 01:14:39 -07:00
Bill Kendrick
7e6f848994 check_translations.sh FIXME: Check LINGUAS 2022-06-14 00:55:31 -07:00
Bill Kendrick
294c42bb3f Merge branch 'master' into sdl2.0 2022-06-14 00:52:44 -07:00
Bill Kendrick
a287d93609 Doc'ing Tux Paint Merge Request #12 in CHANGES.txt
"Add Appstream metadata, and port from intltool to gettext"
https://sourceforge.net/p/tuxpaint/tuxpaint/merge-requests/12/
2022-06-14 00:52:12 -07:00
Bill Kendrick
a7151c7b43 Merge commit '21bdf7de11' 2022-06-14 00:49:25 -07:00
Bill Kendrick
5532ddd2fd Merge branch 'master' into sdl2.0 2022-06-14 00:38:27 -07:00
Bill Kendrick
8bdcfc3d31 Bump version to 0.9.29 in docs (built) 2022-06-14 00:17:52 -07:00
Bill Kendrick
fbfd609665 Bumping version to 0.9.29; doc'ing recent additions
Some things snuck in to 0.9.28 binary builds, or were added
recently; making sure they're doc'd in CHANGES.txt
2022-06-14 00:15:58 -07:00
Bill Kendrick
cdba8ffbbd Adding an auto option for button sizes
Merge 333f4b05a4 sdl2.0->master

(See https://sourceforge.net/p/tuxpaint/feature-requests/218/)
2022-06-14 00:14:02 -07:00
Pere Pujal i Carabantes
333f4b05a4 Adding an auto option for button sizes, see https://sourceforge.net/p/tuxpaint/feature-requests/218/ 2022-06-13 08:13:21 +02:00
Will Thompson
21bdf7de11 Add additional .desktop file categories
These are taken from Fedora, which replaces Art with Graphics and adds
KidsGame.

In my opinion, Art is appropriate, but so are 2DGraphics (hence
Graphics) and KidsGame (hence Game).
2022-06-10 21:46:03 +01:00
Will Thompson
74506214e7 Add appstream metainfo file
This is used by software centres such as GNOME Software to display
information about the app, both before and after it is installed.

The <id> used here follows the recommendations in the Appstream
specification, with the exception of violating the spec's strong
encouragement to use only lowercase characters. This is because the
version that is already published by Flathub uses an uppercase T in the
final component of the ID.[0] The file shipped by Fedora followed an older
convention of using the desktop file name as the ID. This is
acknowledged by the <provides> section near the bottom of the file,
which will allow software centres to associate the reverse-domain-name
ID with the older ID.[1]

Many fields in this file are translatable.  This was the motivation for
the preceeding two changes:

- By using xgettext rather than intltool, the untranslated template may
  be written using the normal appstream XML tags, rather than needing to
  use (for example) <_name>Tux Paint</_name> to mark that field for
  translation, which renders the template not valid for tools like
  'appstreamcli validate'.
- Merging translations at build time, rather than committing the
  translated XML to the repo as well, avoids another potentially
  error-prone manual step when updating the source file or translations.

The release notes are taken from the press releases on the Tuxpaint
website. They will be extracted for translation. Another option is to
replace the <description> with <url type="details">...</url>, but AFAIK
no software centres currently show these URLs.[2]

[0]: https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-id-generic
[1]: https://www.freedesktop.org/software/appstream/docs/sect-Metadata-Application.html#tag-id-desktopapp
[2]: https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-releases

TODO:

- align comment

Fixes: https://sourceforge.net/p/tuxpaint/feature-requests/172/
2022-06-10 21:45:44 +01:00
dolphin6k
f838704282 Fixed jugged upscaling in full screen mode 2022-06-10 20:46:48 +09:00
Will Thompson
b4aa697474 Merge desktop file at build time
Previously, both the .desktop.in template and the final .desktop file
were checked into source control.

While in some ways convenient, the manual step of updating it may be
forgotten after updating a translation or adjusting the template. It
also potentially introduces confusion as to which file to modify.

Instead, generate the .desktop file at build time. Since this is now
done using msgfmt rather than intltool, there is no additional
dependency beyond gettext, which is already used at build time to
compile .po files to .mo files.
2022-06-10 10:36:56 +01:00
Will Thompson
3141249969 Remove intltool dependency
Since gettext 0.19, gettext itself has been able to extract strings from
and merge translations to .desktop files. As a result, there is no need
to use intltool.  More details are available on
https://wiki.gnome.org/MigratingFromIntltoolToGettext, though that page
assumes a project using Autotools, which this project does not.

One advantage of using xgettext rather than intltool is that there is no
need to prefix translatable keys in the .desktop.in file with _. This
patch adjusts tuxpaint.desktop.in accordingly, which makes the input
file itself a valid desktop file.

The LINGUAS file contains the list of supported languages. This could
in principle be generated automatically from one of the other places in
the source tree that has a manually-maintained list of languages; but in
my experience it is generally maintained by hand and checked into the
source tree.

POTFILES.in.in must be updated to remove the intltool-specific file
encoding annotation; instead this is passed to xgettext.

Finally, update-po.sh is rewritten to invoke xgettext and msgfmt rather
than intltool commands.

The mangling of POTFILES.in.in to prefix all filenames with '../' is
only necessary to minimize the churn when updating the .pot and .po
files, to simplify review of this change. The alternative is to pass
--directory=.. to xgettext. This would cause all .po files to be updated
as follows when regenerated:

     #. Response to Black (0, 0, 0) color selected
    -#: ../colors.h:86
    +#: colors.h:86
     msgid "Black!"
     msgstr "Noir !"
2022-06-10 10:36:56 +01:00
Will Thompson
e7ec1efdc8 Remove unused, no-op create_pot_file.sh
614f6573e7 made this "a no-op script, for
now", in September 2006. It seems safe to assume, 16 years later, that
if it is needed it can be recovered from the Git history.
2022-06-10 10:36:56 +01:00
dolphin6k
ff4352d575 Corrected suffix of the system-wide config file 2022-06-10 10:57:06 +09:00
Bill Kendrick
4e298483c5 Merge branch 'master' into sdl2.0 2022-06-06 21:43:20 -07:00
Bill Kendrick
e03e8a7c93 Sync doc's w/ new macOS Install changes
h/t Mark Kim
2022-06-05 13:49:58 -07:00
Mark Kim
9ab896b8df update .gitignore
Add some intermediary files created during macOS build to .gitignore.
2022-06-05 15:51:02 -04:00
Mark Kim
b410a9dbfb update .gitignore
Add some intermediary files created during macOS build to .gitignore.
2022-06-05 15:49:41 -04:00
Mark Kim
f041db9c4d Localization of SDL2.0 menu on macOS.
SDL2 initializes the macOS menu later than SDL1 (appears to be done
around the video initialization time), so we also need to call later our
routine to override the SDL menu with our localizable version.
2022-06-04 22:34:16 -04:00
Mark Kim
62fee7f58a macos build: remove the --openfolder option
`bless` no longer supports the `--openfolder` option.  It appears to be
a change in the March 2022 Xcode update.
2022-06-04 19:20:37 -04:00
Mark Kim
c5c0805d84 macos build: remove the --openfolder option
`bless` no longer supports the `--openfolder` option.  It appears to be
a change in the March 2022 Xcode update.
2022-06-04 13:07:08 -04:00