Commit graph

3578 commits

Author SHA1 Message Date
Mukund Sivaraman 9a39d84e96 app: Remove dead assignment 2011-10-03 19:13:22 +05:30
Mukund Sivaraman f33dcf2df2 app: Don't care about return value of g_string_append() 2011-10-03 19:06:37 +05:30
Mukund Sivaraman 9dd857d996 app: Remove dead assignments (and variable) 2011-10-03 13:11:09 +05:30
Massimo Valentini 0f03ed9e05 Bug 616416: hidden layer groups appear again after an image change
Introduced two virtual functions to a GimpViewable

'set_expanded' and 'get_expanded'

and a PROP_GROUP_ITEM_FLAGS to load/save the expanded state
of layer_groups and use them.
2011-09-25 21:57:20 +02:00
Massimo Valentini a67bb11cf5 Revert "Bug 616416: hidden layer groups appear again after an image change"
This reverts commit 359c9c22d9.
2011-09-25 21:49:36 +02:00
Massimo Valentini 359c9c22d9 Bug 616416: hidden layer groups appear again after an image change 2011-09-25 21:38:50 +02:00
Michael Natterer d995fefb7c app: add gimp_item_is_visible()
which returns TRUE if an item is effectively visible (it is visible
and all its parents are visible).
2011-09-23 23:43:42 +02:00
Michael Natterer 0e1d07d129 Bug 659446 - Missing plural handling for...
Use ngettext() instead of simply _().
2011-09-23 23:09:26 +02:00
Michael Natterer 944f6a529d Bug 656512 - Moving a floating selection - objects disappear
Fix typo in gimp_drawable_fs_update(): use the drawable's x and y
offsets to calculate the intersection with the fs' update area, and
not the y offset for both axes.
2011-09-23 22:34:25 +02:00
Michael Natterer 578e6402b8 app: don't detach the floating selection if it's not attached
Fix the commit two down in the log: a layer can be a floating
selection even if it's not attached to anything (when it is on the
undo stack).  Don't detach it if it is not the underlying drawable's
current fs.
2011-09-23 22:24:23 +02:00
Michael Natterer 208fedd7ea app: don't add GimpLayer's source node to two different parents
When the layer is a floating selection, its source node is being
hijacked by the underlying drawable to be composited on top of it.
This can happen before the layer's own layer node is being created; in
this case we must not add the source node to the layer node. Detaching
the floating selection in any way will fix up things later.
2011-09-23 21:58:00 +02:00
Michael Natterer e8f64664c9 app: properly detach floating selection in dispose()
We crash when closing an image that has a floating selection and the
GEGL projection is being used. Detach the floating selection when
either the FS or the drawable it's attached to are disposed. This fix
only makes it crash later, but makes sense as separate commit.
2011-09-23 19:55:24 +02:00
Michael Natterer 5c8ded8960 app: let the drawable keep around a pointer to its floating selection
Instead of getting the floating selection from the image. Change
gimp_drawable_has_floating_sel() to get_floating_sel() and remove the
"floating_sel" parameter from gimp_drawable_deatch_floating_sel().
This cleanup is one more step towards sanitizing floating selections,
and makes the crash fix in the next commit much much simpler.
2011-09-23 19:31:50 +02:00
Massimo Valentini 9199432eda Bug 659376: wrong behavior of the channel visibility button 2011-09-18 15:46:19 +02:00
Alexia Death 2528f656b5 app: remove call to possibly buggy and un-needed scale clamp
It's likely that the removed call and function were causing
random drawing artefacts, but as this was once in a blue
moon bug, I have just a guess to go by however, testing
revealed no regressions, so pushing.
2011-09-10 21:47:52 +03:00
Martin Nordholts 9f1187f6a5 app: Prefix TileManager functions
read_pixel_data() -> tile_manager_read_pixel_data()
write_pixel_data() -> tile_manager_write_pixel_data()
read_pixel_data_1() -> tile_manager_read_pixel_data_1()
write_pixel_data_1() -> tile_manager_write_pixel_data_1()

for consistency.
2011-09-07 12:08:43 +02:00
Martin Nordholts 80beaa6b5a Bug 612931 - Moving individual layer in layer group not possible with Move Tool in 'pick a layer' mode
When using GimpPickable::get_opacity_at(), don't consider group layers
as having content.
2011-08-20 17:57:12 +02:00
Eric Grivel da37e9ff3e Bug 596410 - gimp-image-get-filename returns NULL for imported files
Make gimp_image_get_uri() and gimp_image_get_filename() behave as in
the GIMP 2.6 days. Add new functions gimp_image_get_xcf_uri(),
gimp_image_get_exported_uri() and gimp_image_get_imported_uri().
2011-08-12 21:15:16 +02:00
Alexia Death c6f0a66de8 app: fix wheel input weirdness hack - corrected in driver 2011-08-11 17:21:44 +03:00
Massimo Valentini d697c0bdb9 app/core: do not offset cairo_path_data_t's headers
Stroking a rectangular selection doesn't work, for example.
2011-07-19 13:00:07 +02:00
Martin Nordholts 07556242b0 app: Make positioning of new dockables depend on window mode
Add GimpWindowingStrategy with create_dockable_dialog() and use it in
dialogs_create_dockable_cmd_callback(). There are two implementations:
GimpSingleWindowStrategy and GimpMultiWindowStrategy. Depending on the
window mode, we want new dockables to appear in different places when
created. In single-window mode, they should appear inside the single
image window. In multi-window mode, a new dock window is created.
2011-07-03 21:20:36 +02:00
Michael Natterer e0e2befd17 Bug 651462 - On first attempt to save tool preset, stops with an error
Create the "tool-presets" directory in gimp-user-install.
2011-06-23 19:21:08 +02:00
Michael Natterer dd0042f76b app: implement error handling in gimp_imagefile_icon_callback()
Particularly, don't crash if the async operation got cancelled in
dispose().
2011-06-19 23:31:29 +02:00
Michael Natterer ab607a0adc app: add gimp_imagegile_get_gicon() which uses async API and can't block
and use it in gimp_view_renderer_imagefile_get_icon().
2011-06-19 23:06:33 +02:00
Michael Natterer 3c28ed4303 app: speed up GimpTagCache saving
Use g_list_prepend() and g_list_reverse() instead of g_list_append().
2011-06-16 20:22:36 +02:00
Michael Natterer ea27c7bc83 app: add the MIN4() and MAX4() macros to gimp-utils.h
instead of having them in 5 .c files.
2011-06-04 17:16:21 +02:00
Michael Natterer cebd34293c app: don't populate the tool preset factory with data in no-interface mode
but keep the factory around anyway so the code stays simple.
2011-05-17 14:54:40 +02:00
Martin Nordholts c4097d4ff4 app: void * -> gpointer in GimpIdTable 2011-05-04 23:14:21 +02:00
Martin Nordholts 0d529f7956 app: Use GimpIdTable 2011-05-04 22:54:35 +02:00
Martin Nordholts 9fefa22efe app: Add GimpIdTable utility class
Not written in Vala... ;)
2011-05-04 22:54:35 +02:00
Michael Natterer c35ff719a7 app/libgimp*: remove stuff found by -Wunused-but-set-variable 2011-05-01 23:23:19 +02:00
Michael Natterer cc47b2a600 libgimpwidgets/color: move the cairo color utility functions to libgimpcolor
Add CAIRO_CFLAGS to a lot of Makefiles to make this possible, and
because they pull in cairo via the libgimp headers.
2011-04-28 15:50:39 +02:00
Michael Natterer 2af539020b app: don't include individual files from libgimp* 2011-04-28 14:23:33 +02:00
Michael Natterer 92ce59e1c1 app: gimp_layer_new_from_pixbuf(): refuse to create layers of wrong type 2011-04-28 01:27:04 +02:00
Martin Nordholts e75cfd044a app: Sort core/.gitignore 2011-04-25 16:08:15 +02:00
Michael Natterer 3fbbb9b333 app: GimpMotionBuffer API cleanup and refactoring
- start_stroke()/finih_stroke() -> begin_stroke()/end_stroke()
- process_event_queue() -> process_stroke()
- GimpMotionBuffer::motion() -> GimpMotionBuffer::stroke()
- add GimpMotionBuffer::hover() and process_hover()
- remove push_event_history() and pop_event_queue() from API

The thing works like this:

- Motion events are continuously fed into the buffer using motion_event()
- begin_stroke()/end_stroke() correspond to BUTTON_PRESS/BUTTON_RELEASE,
  the period between them is a "stroke"
- If motion_event() returns TRUE, we request "stroke" signals by calling
  process_stroke() and "hover" signals by calling process_hover()
2011-04-18 11:08:24 +02:00
Michael Natterer 99f5dc9f18 app: move GimpCagePoint from core-types.h to gegl/
and remove the orphaned GimpCagePreview typedef from gimp-gegl-types.h.
2011-04-18 00:09:06 +02:00
Michael Natterer 6a1b93be1c app: don't include "libgimpmath/gimpvectors.h" in any header
It's types are generally known because it's already included
in core-types.h.
2011-04-17 23:44:45 +02:00
Michael Natterer 334e4c5d71 app: move process_event_queue() and flush_event_queue() to GimpMotionBuffer
and emit the buffer's "motion" signal when a motion is supposed
to happen. In GimpDisplayShell, connect to GimpMotionBuffer::motion()
and call the tool.
2011-04-17 21:46:29 +02:00
Michael Natterer ede0d26b91 app: gimp_data_create_filename(): avoid evil characters in the filename
such as forbidden ones on various platforms. List collected on #gimp
with a fair portion of paranoia involved.
2011-04-13 21:25:10 +02:00
Michael Natterer 846cc27207 app: implement begin_use()/end_use() in GimpBrushPipe
and call it on all the pipe's sub-brushes
2011-04-12 13:59:39 +02:00
Michael Natterer 5a4a741936 app: virtualize GimpBrush::begin_use() and ::end_use() 2011-04-12 13:59:04 +02:00
Michael Natterer 391c74899c app: rename gimp_brush_start_use() to gimp_brush_begin_use() 2011-04-12 09:06:22 +02:00
Michael Natterer f7646fd171 app: gimpdrawable-stroke.c: don't try to fill a dot or a line 2011-04-10 22:43:03 +02:00
Michael Natterer 0f91a11b75 app: use GimpBezierDesc in gimp_channel_select_vectors() too 2011-04-10 22:42:39 +02:00
Michael Natterer f316269f71 app: stroke vectors by gimp_vectors_get_bezier(); gimp_scan_convert_add_bezier() 2011-04-10 19:40:40 +02:00
Michael Natterer bb9efebbaf app: use the new GimpBezierDesc APIs for stroking a selection
instead of iterating the BoundSegs menually.
2011-04-10 19:19:43 +02:00
Michael Natterer 8c3698eccc app: add gimp_bezier_desc_translate() which translates all points
Also add back an internal "gboolean closed" parameter which I removed
when copying the function, it might be useful later and doesn't hurt.
2011-04-10 19:16:31 +02:00
Michael Natterer 1a4ffb3d21 app: add gimp_scan_convert_add_bezier() which adds a GimpBezierDesc
Also remove unused member num_nodes.
2011-04-10 19:07:04 +02:00
Michael Natterer 3ab59f1bff app: don't try to add a NULL boundary to GimpBrush's boundary cache 2011-04-08 21:22:55 +02:00