fract4d / gnofract4d

A fractal generation program for linux
Other
116 stars 27 forks source link

Use Gio.ActionMap.add_action_entries() #249

Closed cjmayo closed 1 year ago

cjmayo commented 1 year ago

Batches up the actions instead of calling add_action() multiple times.

Suggested in bug for missing override https://gitlab.gnome.org/GNOME/pygobject/-/issues/426.

codecov[bot] commented 1 year ago

Codecov Report

Merging #249 (176b021) into master (3858a6f) will decrease coverage by 0.06%. The diff coverage is 100.00%.

:exclamation: Current head 176b021 differs from pull request most recent head 655fed1. Consider uploading reports for the commit 655fed1 to get more accurate results

@@            Coverage Diff             @@
##           master     #249      +/-   ##
==========================================
- Coverage   85.93%   85.86%   -0.07%     
==========================================
  Files          55       55              
  Lines       10392    10375      -17     
==========================================
- Hits         8930     8909      -21     
- Misses       1462     1466       +4     
Impacted Files Coverage Δ
fract4dgui/application_window.py 88.67% <100.00%> (-0.47%) :arrow_down:
fract4dgui/director.py 60.72% <100.00%> (-0.80%) :arrow_down:
fract4dgui/main_window.py 63.88% <100.00%> (ø)
fract4d/messages.py 84.61% <0.00%> (-3.85%) :arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

cjmayo commented 1 year ago

So, Gio.ActionMap.add_action_entries() is using the override, it is just that Gtk.Application doesn't work with this (despite implementing GActionMap).

Meaning in this commit we swap our for loops for the override's. Saves some lines for us, at the expense of working on Ubuntu 18.04 LTS (needs PyGObject 3.29.2). Not that supporting a 4 year old OS is necessarily a desirable thing (it also uses Python 3.6), but is this worth it?

cjmayo commented 1 year ago

The Ubuntu 18.04 GitHub Actions runner image is being removed next month:

https://github.blog/changelog/2022-08-09-github-actions-the-ubuntu-18-04-actions-runner-image-is-being-deprecated-and-will-be-removed-by-12-1-22/

Maybe that answers the question above.

cjmayo commented 1 year ago

Went to just add the new minimum PyGObject requirement to the README, then tox started being more picky requiring tox.ini fixes and pytest wouldn't get started for no obvious reason - dropped from testing Python 3.6 and Ubuntu 18.04 and all works.