Commit Graph

41522 Commits

Author SHA1 Message Date
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
Ell 0e19f159f5 app: restore font list in async callback, not async-set notify handler
When font loading is finished, restore the font list in the
corresponding async completion callback, and not in the
"notify::empty" signal handler of the fonts async set

This solves a problem arising when gimp_fonts_wait() is called
*inside* a "notify::empty" signal handler, emitted when reloading
fonts (causing the "empty" property of the fonts async set to
switch from TRUE to FALSE):  When the wait is over, "empty" will
switch back from FALSE to TRUE, however, since the "notify" signal
is non-recursive, the corresponding handler will not be called,
gimp_fonts_wait() will return *before* the font list is restored,
and the caller will see an empty font list.  This can happen under
certain circumstances when reloading fonts while the text tool is
active.
2018-05-30 12:58:09 -04:00
Anders Jonsson 321d7735f6 Update Swedish translation
(cherry picked from commit 35d2d52fe2)
2018-05-30 16:52:11 +00:00
Alan Mortensen 0fd2120819 Updated Danish translation of gimp-plug-ins 2018-05-30 17:08:21 +02:00
Alan Mortensen 22a54933f8 Updated Danish translation of gimp-script-fu 2018-05-30 17:08:21 +02:00
Jehan f3347d6961 libgimpwidgets: making GimpCellRenderer symbolic and DPI aware.
This commit makes 2 improvements to this renderer. First it will allow
it to find symbolic variants of icons. Second it properly renders icons
when the display is scaled, by producing pixbuf size double to logical
drawing size and making cairo rendering it at the expected logical size.
2018-05-30 16:16:32 +02:00
Jehan 368e5b4935 icons: fixing more icons.
Invisible squares everywhere!
2018-05-30 13:43:05 +02:00
Hannie Dumoleyn 1345f6d0f9 Update Dutch translation 2018-05-30 11:34:23 +00:00
Michael Natterer 29fbed1654 modules: undeprecate GimpColorWheel 2018-05-30 12:47:55 +02:00
Jehan da3ae4cf75 configure: remove Symbolic-Inverted's Makefile from configure! 2018-05-30 12:36:32 +02:00
Jehan 75b226775e authors: adding Simon Müller who did some nice patches on the Win32...
... screenshot plug-in.
2018-05-30 12:11:40 +02:00
Jehan ff6d7a7550 plug-ins: renaming Win32 implementation files to follow namespacing. 2018-05-30 11:57:31 +02:00
Gil Eliyahu 2caa400a96 Issue #1458 - Small border on side of single-window screenshot on...
... Windows.

Reviewer note (Jehan): I have not built on Windows because I need to
refresh my crossbuild environment, but it looks sane enough, and Gil
previously did good patches. I push as-is, hoping it still builds fine
on Windows. :-)
2018-05-30 11:57:31 +02:00
Jehan 0c3659c5f1 icons: fix symbolic icons.
With the symbolic-awareness of GTK+, vector icons are recolored (using
fg, success, warning and error colors). Unfortunately it was also
recoloring some rectangles with neither fill nor stroke, which were
using only to get appropriate icon size (these icons were therefore
displayed as just a square).

I made a quick pass in our icons to "fix" these. I expect I may have
missed some icons, or at the opposite, I may have broken other icons by
removing rectangles which should not have been removed. If you find any
such icon, please fix.
Also some icons do not look quite right just now. We will have to create
new guidelines on how to make symbolic icons and fix/redesign some, I
guess.
2018-05-30 11:57:31 +02:00
Jehan 9e5d9df1cb .gitlab: add package information.
We regularly get bugs which are package specific. Let's ask people where
they got GIMP from!
2018-05-30 11:57:30 +02:00
Jehan b4df21785a app: fix gimp_widget_load_icon() to work with symbolic icons too.
There is more work to be done, especially when scaling icons. But that's
a first step to prevent getting a gimp-wilber-eek icon all over the
place.
2018-05-30 11:57:30 +02:00
Jehan 6ef9cd5359 build: the dev flatpak has been removed now. 2018-05-30 11:57:30 +02:00
Jehan 64e3fd712a icons: make "Symbolic" icons seen as such by GTK+ and remove...
... Symbolic-Inverted.
Symbolic icons must simply end with "-symbolic".
2018-05-30 11:57:30 +02:00
Piotr Drąg f7cf054c4a Update Polish translation 2018-05-30 10:48:12 +02:00
Ell e806a92c49 app: more cleanup 2018-05-30 03:01:59 -04:00
Ell c27316093e app: code cleanup in previous commits 2018-05-30 02:22:34 -04:00
Michael Natterer 0ff95b66b7 Issue #1520 - GIMP 2.10 Crashes when trying to convert 8bit colour...
...mode image to 1 bit.

Don't try to remove unused colors from the mono black/white palette,
2018-05-30 02:16:54 +02:00
Michael Natterer b4e5b4ae91 app: fix GimpRectangleOptions' packing after the GimpFrame change 2018-05-30 00:39:15 +02:00
Michael Natterer 0f484ed3d5 libgimpwidgets: remove all size negotiation/allocation code from GimpFrame
Let GtkFrame handle things and simply set "spacing" and "indent" as
left and top margins on the frame's child.

This fixes all tests \o/
2018-05-30 00:37:15 +02:00
Michael Natterer 23a718c1dc app: remove all size negotiation/allocation code from GimpDockable
GtkBin does just the right thing.
2018-05-30 00:36:30 +02:00
Michael Natterer b11aac154b app: remove useless "return" in GimpSpinScale 2018-05-30 00:35:18 +02:00
Ell e75bdf3acf app: fix linking of test-config 2018-05-29 17:07:55 -04:00
Ell 987afcd6d2 po: update POTFILES.in 2018-05-29 16:35:20 -04:00
Ell 5a66d6cc74 app: fix gui_wait() cleanup 2018-05-29 16:35:20 -04:00
Ell da27632c11 pdb: change image freeze/thaw procs to "Since: 2.10.2" 2018-05-29 16:04:28 -04:00
Ell fdf330857b app: use gimp_wait() to wait for histogram in threshold and levels tools
In the threshold and levels tools, use gimp_wait() to wait for
histogram calculation to complete before applying auto-adjustment,
so that a message is displayed in the meantime.  Allow the
operation to be canceled, in which case we simply abort the auto-
adjustment, but let the histogram calculation continue.
2018-05-29 16:04:28 -04:00
Ell f2134180de app, pdb: wait for fonts to load before dependent operations
Use gimp_fonts_wait(), added in the previous commit, to wait for
fonts to finish loading before operations that depend on font
availability.  In particular, this includes font- and text-related
PDB functions, and text-layer rendering.
2018-05-29 16:04:28 -04:00
Ell 0a5a4fed03 app: add gimp_fonts_wait()
... which waits for font-loading to complete, using gimp_wait() to
show a message while waiting.

Note that we don't currently allow the wait to be canceled, since
it may have unpredictable effects on plug-ins, but the interface is
such that the wait might not complete, so calling code should be
prepared for that.
2018-05-29 16:04:28 -04:00
Ell cec17de3c2 app: add gimp_wait()
Add a GimpGui::wait() virtual function, and a corresponding
gimp_wait() function.  The function takes an object implementing
the GimpWaitable interface, and a printf-style message, and waits
for the object to become ready, displaying the message as
indication in the meantime.  The default implementation simply
prints the message to STDERR.

Implement the function in gui-vtable, using the busy-dialog plug-
in added in the previous commit, to display the message in a
dialog.  Additionally, if the object implements the GimpCancelable
interface, provide a "cancel" button in the dialog, which, when
pressed, causes gimp_cancelable_cancel() to be called on the
object.  Note that the function keeps waiting on the object even
after requesting cancelation; GimpTriviallyCancelableWaitable can
be used to stop the wait once cancelation has been requested.
2018-05-29 16:04:28 -04:00
Ell 032e95fad6 plug-ins: add busy-dialog plug-in
This plug-in is used internally to show an interactive dialog in a
separate process, while the main process is blocking waiting for an
operation to complete.  The dialog shows a custom message in a
GimpBusyBox, and potentially a "cancel" button, allowing the
operation to be canceled.  Communication with the main process is
performed through a pair of file descriptors, passed to the plug-in
as arguments.
2018-05-29 16:04:28 -04:00
Ell 97925de8eb libgimpbase, libgimp, app: pass icon theme dir to plug-ins through config
Pass the current icon theme directory to plug-ins through the
config message, and add a gimp_icon_theme_dir() libgimp function
for retrieving it.  Note that we already have a similar
gimp_icon_get_theme_dir() PDB function, which we keep around, since
it can be used to dynamically query for the current icon dir,
unlike the former, and since it returns a dynamically-allocated
string, while the rest of the config-related functions return
statically allocated strings.

Use the new function, instead of gimp_get_icon_theme_dir(), in
gimp_ui_init().  This allows gimp_ui_init() to run without making
any PDB calls.  Consequently, this allows us to start plug-ins that
call gimp_ui_init() without entering the main loop in the main app.
We're going to add a plug-in that displays an interactive dialog
while the main app is blocking waiting for an operation to
complete, and we need to be able to start the plug-in without
entering the main loop, to avoid the possibility of arbitrary code
being executed during the wait.

Bump the protocol version.
2018-05-29 16:04:28 -04:00
Ell dd096d3ce5 app: show indication during font loading in text tool and font views
While fonts are loading, show a GimpBusyBox with an appropriate
message above the text tool options, and make the options
themselves insensitive, and in font views, such as in the fonts
dialog (through gimp_container_editor_bind_to_async_set(), added in
the previous commit).
2018-05-29 16:04:28 -04:00