Commit Graph

18353 Commits

Author SHA1 Message Date
d1e2b2c162 app: gimp_file_dialog_get_default_folder() must return a value.
Oups!
2015-09-08 23:59:13 +02:00
3c9a4a24e1 app: reorder GimpFileDialog so that method implementations are together. 2015-09-08 23:29:01 +02:00
e50103ccda Bug 754171 - cmd - missing modifier key to configure input controllers
Don't hardcode modifier masks in the wheel and keyboard input
controllers. Instead, hardcode accelerator strings and get the right
modifier mask from gtk_accelerator_parse() at runtime.

This turns e.g. "<Shift><Primary>" into Shift+Cmd on OS X and into
Shift+Ctrl on X11 and Windows.

Also rename the events accordingly and change the event names in the
default controllerrc.

Unrelated: reorder the actions so the ones with less modifiers are
listed first, and change the order of action matching to match the
actions with most modifiers (the last ones) first.
2015-09-08 23:24:48 +02:00
4441133a8b app: get_default_folder() is now a class method. 2015-09-08 23:13:03 +02:00
df2a485907 Bug 754713 - On-canvas dialog of color picker tool always displays...
...in initially active tab

gimp_tool_gui_update_shell(): implement the "overlay" case and hide the
gui on the previous shell, then show it on the new one.
2015-09-08 21:53:24 +02:00
22fc50c279 app: rename all values of enum GimpContextPropMask
from GIMP_CONTEXT_FOO_MASK to GIMP_CONTEXT_PROP_MASK_FOO.
Also rename the FIRST and LAST values of enum GimpContextPropType.
2015-09-08 21:18:49 +02:00
2c8141d96d app: reorder functions in GimpSaveDialog so method impls are together
Also, "real" is in the name of a method's default impl, not its impl
in a subclass.
2015-09-08 10:51:05 +02:00
997314d4e9 Bug 754518 - gimp-drawable-curves-spline does not take the advertised...
...number of points

gimp_curves_config_new_spline(): set the GimpCurve's n_points, not
n_samples. The bug title describes exactly what was happening.
2015-09-07 21:43:18 +02:00
55f319de04 Bug 754652 - About dialog does not credit contributors for 2.10. 2015-09-07 17:04:23 +02:00
dbe5982753 app: Always return a value from results_list_on_key_press_event 2015-09-06 19:44:33 -04:00
4479cedf13 app: rename mask enum values GIMP_COMPONENT_RED,GREEN,BLUE etc.
to GIMP_COMPONENT_MASK_RED,GREEN,BLUE etc.
2015-09-07 00:35:02 +02:00
a7e7a0bcb9 app: fix Search Popup height saving...
and implement it as the size_allocate() class method rather than
"configure-event" signal handling.
2015-09-06 23:10:26 +02:00
bead93fdb8 app: fix whitespaces.
Mitch wanted to kill me, I had no other choice than clean this quick!
2015-09-06 21:02:26 +02:00
cbef12d645 app: Action Search dialog now uses the new GimpSearchPopup widget...
... instead of making its own window. Inheriting from GimpPopup, it is
also friendlier to sloppy mouse, etc.
2015-09-06 20:48:05 +02:00
6a9d449eac app: new GimpSearchPopup widget.
Based on GimpPopup as parent, this is a generic search popup widget,
which can display any list of action. The results construction logics
is not part of the widget, and is built through a callback instead,
which could allow to use it to create different dialogs.
2015-09-06 20:48:05 +02:00
e491bf8e09 Bug 754221 - Possible preview widget bug
gimp_drawable_get_sub_preview(): both the preview buffer's scale
factor and the src coordinates in the drawable were calculated
wrongly. Found by Massimo.
2015-09-06 17:23:55 +02:00
a545a4b314 app: fix setting color profile to image after convert
While loading an image with color profile, gimp offers the possibility to convert it to the builtin profile. Setting the new color profile before converting, deletes the old one and results in a segmentation fault.
2015-09-06 11:01:20 +02:00
316d94d800 app: s/0/GDK_GRAB_SUCCESS/.
Let's use semantic names rather than raw meaningless values.
2015-09-05 22:30:56 +02:00
3f51d4eb48 app: use "map-event" if you want to make sure that a window is mapped.
The "map" signal does not mean a widget is mapped. It may be emitted
before. Yet pointer and keyboard grabs won't work on non viewable
widgets and will fail with GDK_GRAB_NOT_VIEWABLE.
For some reason, a GtkWindow with type GTK_WINDOW_POPUP was always
mapped when "map" is emitted but not yet with type GTK_WINDOW_TOPLEVEL
(at least in my tests). Thus switch to "map-event" to make sure the
widget is actually mapped.
2015-09-05 22:27:11 +02:00
a4a0ec9598 plug-ins, pdb: remove the maze plug-in and add a PDB compat proc 2015-09-04 00:34:38 +02:00
3f02b2aaf2 app: add gegl:maze to Filters -> Render -> Pattern 2015-09-03 22:12:23 +02:00
09fed0a0e5 Bug 478528 - Layer and Image previews are not color managed
Implement color management in GimpViewRenderer: if the viewable is a
GimpColorManaged (true for images and layers), keep around a
GimpColorTransform and convert the preview image to display colors.
2015-09-03 02:25:51 +02:00
b45d31072b app, libgimpcolor: refactor GimpColorManaged::get_color_profile()
to not return a reference that has to be dropped. Also allow NULL to
be returned if the managed cannot have a profile. If it can have one,
get_color_profile() still always returns a profile (either the
assigned one, or a generated built-in one).
2015-09-03 01:36:02 +02:00
7c95676f88 app: implement the GimpColorManaged interface in GimpLayer
and change GimpImage and GimpItemStack to emit the "profile-changed"
signal when the image's profile changed. Also connect GimpViewRenderer
to "profile-changed" if the viewable is a GimpColorManaged and
invalidate the preview.
2015-09-03 00:21:40 +02:00
76ff1c1584 Revert "app: add ::get_color_profile() to GimpPickable and GimpProjectable"
This reverts commit 5c8ffdf6c5.

It was a bad idea, we have the GimpColorManaged interface for that.
2015-09-03 00:21:09 +02:00
f374377e9b app: pass the widget to all gimp_view_renderer_render_foo() functions
We will need the widget for color managing previews; it's also more
consistent to pass the widget to all render_foo() functions, not only
to render_icon().
2015-09-02 21:12:59 +02:00
9775b2083b app: simplify display update when the color management config changes
gimp_image_constructed(): connect to "notify" on GimpColorConfig
and call gimp_color_managed_profile_changed() on the image.

Remove the "notify" handler on GimpColorConfig from
gimpdisplayshell-handlers.c because it already connects to the
image's "profile-changed" signal.

Additionally, implement GimpColorManaged::profile_changed() in
GimpImage and invalidate the image and all layer previews. One step
closer to color managing image and layer previews.
2015-09-02 21:01:17 +02:00
fa584ef1c1 app: add gimp_gegl_convert_color_transform() to gimp-gegl-loops.[ch]
It's split out of gimp_gegl_convert_color_profile(), used from there,
and will also be used to color manage image and layer previews.
2015-09-02 20:46:02 +02:00
829f5ec3d6 app: GimpFileDialog state saving now implemented as a class method.
By default, it only saves the current file filter, but it allows a child
to implement its own state. It has been implemented by GimpSaveDialog to
save the preferred compatibility mode as well.
2015-09-02 20:05:11 +02:00
b17e1b1cfc app: split GimpFileDialog into Gimp(Open|Save|Export)Dialog subclasses.
The code refactoring allows better readability which will allow in turn
to add more complex specific features making good use of the save/export
split concept.
2015-09-02 20:05:01 +02:00
c7a2574136 app: parasite renamed to gimp-xcf-compatibility-mode.
Commit 0ea7d85 was misunderstanding due to foo-lang (language spoken by
Mitch and others, but not me, it would seem!). :-P
2015-09-02 11:47:51 +02:00
fd0203ce80 libgimpwidgets: change parameters of gimp_widget_get_color_transform()
Change GimpColorManaged to GimpColorProfile.
2015-09-01 23:40:57 +02:00
ebcd7cacbb app: redo widget grouping in the levels dialog, still far from good
but a bit more logical. This totally needs to change again.
2015-09-01 22:33:42 +02:00
5c8ffdf6c5 app: add ::get_color_profile() to GimpPickable and GimpProjectable
which currently all end in a call to gimp_color_managed_get_color_profile()
except for channels and masks. This is currently unused infrastructure but
will be used for things like layer previews, and return NULL if called
on a mask or channel, or if color management is disabled, or whatever.
2015-09-01 22:27:31 +02:00
0ea7d85570 app: rename compat parasite s/gimp-compatibility-mode/gimp-xcf-foo/
Not sure why, ask Mitch! :-)
2015-09-01 19:47:48 +02:00
9d9f30e7c0 app: warning message when compat mode set yet cannot be applied.
This would typically happen if the compat mode was set earlier through
the save dialog, then later changes in the image render it inapplicable.
When this happens, we unset the compat mode, and saves without error,
but still emit a warning for the user to know the compatibility got
dropped.
2015-09-01 19:36:40 +02:00
cb84d4bd7e app: save compatibility mode data in a parasite.
If one explicitely enabled the compat mode on an image, we should assume
this mode should be reused upon following saves, even after shutdown.
2015-09-01 19:27:56 +02:00
55bdd4e817 app: check the XCF compat mode is still possible before saving.
Even if you saved previously in compatibility mode, you may have used
new features since, which would cancel the compat mode flag.
2015-09-01 16:06:29 +02:00
bdece29d8c app: keep track of compatibility mode on an image.
If one explicitly enables the compatibility mode, one expects this to
be applied on following saves of the same image as well.
2015-09-01 15:20:28 +02:00
216da3b5e2 Bug 754297 - Show Layer Mask should not use the layer blend mode
Call gimp_layer_update_mode_node() also when removing a mask, and
change it to only do its magic if there actually is a mask (don't only
look at the "show_mask" boolean).
2015-09-01 10:27:43 +02:00
0ff7ab3712 app: Fix typo
Pointed out by prokoudine on irc after it was introduced in e2bdfd41
2015-08-31 20:24:50 -04:00
74bc034638 app: Clarify message shown in unstable builds 2015-08-31 18:49:37 +05:30
e2bdfd41e2 Bug 750954 - Make tips of the "Black point" and "White point" buttons...
...in the Levels dialog explain the difference between them

Improve the tooltips of the pick buttons to say

"Pick FOO point for {all channels|the selected channel}"
2015-08-31 00:09:22 +02:00
bb9170bdbf Bug 754297 - Show Layer Mask should not use the layer blend mode 2015-08-30 14:10:43 -04:00
802a53fa54 Bug 723392 - Pasting an image replaces color profile with default one
gimp_image_duplicate(): set the new image's color profile *before*
copying layers to it, or the new layers will be automatically
converted to "no color profile aka sRGB", but then tagged with the
original profile anyway.
2015-08-30 01:31:59 +02:00
e83d5e7090 plug-ins, pdb: remove the lcms plug-in and add PDB compat procedures 2015-08-27 22:06:25 +02:00
4266f86e08 app: remove tons of linker workarounds from Makefilea
either linkers got smarter or our structure got better, or this breaks
on whatever other linkers again...
2015-08-27 21:44:15 +02:00
46eef4d09d app: remove references to plug_in_icc_profile_apply_rgb() from Makefiles 2015-08-27 13:52:26 +02:00
97e55692eb app: the blend tool was rendering all gradients off-by-0.5
When calculating the color of a pixel, we want to calculate the color
at its center, not at its top-left corner. Found by Raymond Jennings.
2015-08-26 23:23:16 +02:00
05add456bb app: add _gimp_image_update_color_profile() to update the cached profile
and call it when an "icc-profile" parssite is attached or detached.
This removes code duplication and creates a place to conveniently
update more cached profiles and transforms, such as from/to sRGB for
color picking and applying.
2015-08-26 19:16:17 +02:00