Commit Graph

41558 Commits

Author SHA1 Message Date
Michael Natterer 73da7c9a54 app: add GimpDataLoaderFactory which loads data from an array of formats
specified by GimpDataLoaderEntry structs. Remove the same code from
GimpDataFactory and make it an abstract base class that only serves as
an interface for actual implementations. Also move around some stuff
in GimpDataFactory and remove virtual functions that were a bad idea
in the first place.
2018-06-04 13:49:07 +02:00
Michael Natterer 0b4677ec58 app: make gimp_data_factory_data_foreach() public
...this time without additional shit.
2018-06-04 12:45:41 +02:00
Michael Natterer 6e19413d21 Revert "app: make gimp_data_factory_data_foreach() public"
This reverts commit f521e92d35.
2018-06-04 12:34:41 +02:00
Michael Natterer f521e92d35 app: make gimp_data_factory_data_foreach() public 2018-06-04 12:33:09 +02:00
Michael Natterer 2ca408d146 app: add "new-func" and "get-standard-func" properties to GimpDataFactory
to make it behave better, and as preparation for further subclassing.
2018-06-04 12:18:13 +02:00
Michael Natterer 792cd581a2 Issue #1531 - Zooming with mouse movement should keep track of original point
When Control-Button2-Zooming, remember the start point, pass it to
gimp_display_shell_scale_drag() and force gimp_display_shell_scale()
to zoom around that point by passing GIMP_ZOOM_FOCUS_POINTER and
faking the point using gimp_display_shell_push_zoom_focus_pointer_pos().
2018-06-04 11:42:02 +02:00
Michael Natterer d1b9f74c6f app: we always need to freeze/thaw around gimp_font_factory_data_init()
so pull it to the parent class. Also remove the "no_data" parameter
from the data_init() virtual function and handle it in
gimp_font_factory_data_init() itself.
2018-06-03 23:16:29 +02:00
Michael Natterer 1d2ff6aa1b app: handle fonts more correctly in gimp_context_deserialize_property()
The "no_data" case for fonts is gimp->no_fonts, not gimp->no_data.
2018-06-03 23:15:37 +02:00
Michael Natterer 6b5fd27943 app: call the standard font "Standard" not "Sans-serif"
Sans-serif is also an actual font from the list and the standard font
is being used when there is really no font at all.
2018-06-03 23:13:55 +02:00
Michael Natterer 40b95227af app: make gimp_font_get_standard() return a GimpData
like all other GimpData sublasses.
2018-06-03 22:46:48 +02:00
Michael Natterer f23958407c app: don't leak the identifier if gimp_data_make_internal() is called again 2018-06-03 22:43:55 +02:00
Michael Natterer c563659ed8 app: move the GimpAsyncSet and the waiting code to GimpDataFactory
it's potentially useful for all data factories.
2018-06-03 22:28:00 +02:00
Michael Natterer 3f954350d9 app: don't let gtk_tree_store_clear() mess with our selected item
gimp_container_tree_view_clear_items(): GTK+ 3.x always keeps the row
with the cursor selected, so we get a gazillion selection changed
during gtk_tree_store_clear(), block our selection changed handler
during the clear.
2018-06-03 21:45:16 +02:00
Michael Natterer 1b1739bb06 app: use gimp_data_factory_get_data_path() in GimpFontFactory
Also, make sure we freeze() and thaw() the font container correctly,
so that all places keep their fonts across a refresh.

The only thing to make this actually work seems to be a bug in the
list views, grid views work perfectly.
2018-06-03 20:44:28 +02:00
Michael Natterer 68cf2641f8 app: add gimp_data_factory_get_data_path[_writable]()
which return GLists of GFiles. Use the new API in GimpDataFactory's
default implementations.
2018-06-03 20:42:21 +02:00
Jordi Mas 4ab0891be2 Update Catalan translation 2018-06-03 20:25:04 +02:00
Ell ec5f4d03fa app: strengthen gimp_async_set_{wait,cancel}()
Make sure gimp_async_set_wait() and gimp_async_set_cancel() work
correctly, even if the set changes in nontrivial ways as a result
of waiting-on/canceling individual operations.  This is purely
theoretic right now, but why not.
2018-06-03 10:05:02 -04:00
Michael Natterer e88fb8e9c7 app: remove all old font management code, switch to GimpFontFactory[View]
Biggest change in this commit is reordering stuff in GimpContext
because GimpFont is now a first class citizen.
2018-06-03 01:27:06 +02:00
Michael Natterer d153c7489e app: add GimpFontFactoryView as replacement for GimpFontView 2018-06-03 01:25:25 +02:00
Michael Natterer 9dc5c7767d app: GimpDataFactoryView: don't add buttons for actions which don't exist 2018-06-03 01:25:25 +02:00
Michael Natterer 0763ea2a69 app: add new GimpDataFactory subclass GimpFontFactory
which contains all the font loading and refreshing including all async
stuff and is a complete replacement for gimp-fonts.c and GimpFontList.
2018-06-03 01:25:25 +02:00
Michael Natterer 4d3c715990 app: derive GimpFont from GimpData 2018-06-03 00:45:06 +02:00
Michael Natterer 5280d7a277 app: change all GimpCoreConfig data paths to GIMP_CONFIG_PARAM_CONFIRM
so they can be changed without restart (see previous commit).
2018-06-03 00:45:06 +02:00
Michael Natterer 01e4104236 app: make GimpDataFactory properly derivable
Virtualize a lot of functions and move their code into the default
implementation. Also connect to changes of the "path" property and
reload data automatically when the path changes. Add "wait" method
which is by default empty but is to be implemented by fonts.
2018-06-03 00:45:06 +02:00
Ell 8e6a5298c1 plug-ins: increase input precision in guides-new-percent.scm
Increase the percision of the "position" property of
guides-new-percent.scm to two decimal places.  Currently, it only
accepts integers, which limits its accuracy to 100px.
2018-06-01 10:53:06 -04:00
Ell 8d35299410 libgimpwidgets: add exponentiation support to eevl
Add support for exponentiation (using the ^ operator) to eevl.
This is occasionally useful, e.g., in geometrically-derived
quantities involving square roots.
2018-06-01 10:53:06 -04:00
Michael Natterer 1b7d63cce9 Use g_set_object() in a lot of places, and splrinkle some g_clear_object() 2018-06-01 12:59:52 +02:00
Jehan 23ea457751 .gitlab: make double space for separate lines.
Otherwise markdown just puts everything on the same line, which makes
horrible formatting.
2018-05-31 23:22:14 +02:00
Michael Natterer ccf1c2812d configure.ac: update the logic that doesn't add FOO_DISABLE_DEPRECATED
for future glib and pango versions.
2018-05-31 20:41:03 +02:00
Michael Natterer 5ed713a367 plug-ins: undeprecate screenshot-x11.c 2018-05-31 20:38:41 +02:00
Edward E 127ad04bfa app: finish porting GdkScreen/monitor_number to GdkMonitor
gui_unique_*_idle_open were missed in
5ece7a8d1f
2018-05-31 16:33:54 +00:00
Jehan 50c623494e build: do not depend on base module for flatpak.
Let's go with a simpler manifest since soon it will be built on a better
machine (our CI server) and to make scripts simpler.
Note that I also removed the old webkitgtk dependency, but actually I
realize the GNOME runtime does not have the new dependency as well,
since the runtime actually has a webkit2gtk-4.0 instead. We'll have to
look into this.
2018-05-31 15:36:15 +02:00
Jehan 38091a5796 configure: fix "webkit_required_version".
In commit dbd9797a13, it had been renamed to webkitgtk_required_version
in some places, but not all!
2018-05-31 15:36:15 +02:00
Michael Natterer b391d24485 themes: use "large-toolbar" for toolbox buttons, "button" is too small 2018-05-31 15:24:13 +02:00
Ell e5e998e9c5 app: hide container-editor busy box when clearing async-set binding 2018-05-31 05:00:28 -04:00
Ell f847796943 app, libgimpwidgets: add generated cursor files to CLEANFILES
Needed after commit a9592a59c8.
2018-05-31 02:56:07 -04:00
Ell ebd0a14e97 configure.ac: don't generate_po_makefile([po-python])
It's skipped.  See previous commits.
2018-05-31 02:01:17 -04:00
Ell 8c4aa6f154 po-plug-ins: add skipped files to POTFILES.skip 2018-05-31 00:37:23 -04:00
Ell 8cc2aeaee4 configure.ac, Makefile.am: skip po-python/
... to fix distcheck, since we don't build pygimp ATM.
2018-05-31 00:29:36 -04:00
Ell 662b7003e8 po-plug-ins: exclude skipped plug-ins from POTFILES.in
... to fix distcheck.
2018-05-31 00:29:23 -04:00
Ell e8de6322fa po: update POTFILES.in 2018-05-31 00:21:49 -04:00
Jehan 6aebd30de1 app: remove icon sizing preferences.
With GTK+3, high or low density is taken care by the screen scale
factor. Having a separate preferences for this is redundant, and likely
even wrong.
It may be interesting though to have a new preference later, which would
allow smaller scale icon sizing since some people like their icon
slightly smaller or bigger, and also when you are using screens whose
density is at a limit scale factor. Right now, this can be done through
themes, but a GUI settings may be interesting. If I add such feature,
let's just do it from scratch later.
2018-05-31 04:12:05 +02:00
Jehan 82f7e8c6c3 app: fix application icon compositing with the canvas on display scale.
This fixes this error on gdk_pixbuf_composite():
> assertion 'dest_x >= 0 && dest_x + dest_width <= dest->width' failed
2018-05-31 00:27:23 +02:00
Jehan 6a806c39d1 icons: some more rectangle cleanup! 2018-05-31 00:06:28 +02:00
Jehan 0ac3cd01f0 libgimpwidgets: fix default icon.
gtk_window_set_default_icon_name() apparently isn't able to properly
fallback to symbolic or non-symbolic variant. So let's test both.
There is also gtk_window_set_icon_list() but it takes a list of pixbuf,
so I really doubt it is the best solution either. The proposed solution
is working ok for now, even though I feel it is again a bit hackish.
2018-05-30 23:52:24 +02:00
Jehan ee6eb194c5 icons: fix EXTRA_DIST. 2018-05-30 21:53:08 +02:00
Jehan 2e4f14decb app: fixing example icons in Preferences.
Use a cairo surface with scale factor in the list cell, instead of
pixbuf property, so that the example icon keeps sharpness even on high
density (when possible, i.e with vector icons, or available high res
version).
Also if an example icon was not set, search for the symbolic variant
first, then fallback to non-symbolic.
2018-05-30 21:17:36 +02:00
Jehan f018340dc7 icons: example item for the Symbolic theme is "gimp-wilber-symbolic". 2018-05-30 21:17:36 +02:00
Ell 7c96d4569b configure.ac: disable devel-docs and pygimp makefile generation
Commit b2df13749c disabled building
devel-docs and pygimp in the makefiles, but their makefiles are
still generated by configure, which breaks distcheck, because the
necessary Makefile.in files are missing from the tarball.

Comment out the skipped files in configure.ac too.
2018-05-30 15:08:46 -04:00
Anders Jonsson 0179f5d023 Update Swedish translation
(cherry picked from commit 2296d39bf5)
2018-05-30 17:11:50 +00:00