Commit Graph

3589 Commits

Author SHA1 Message Date
Michael Natterer 056e09a6cb Remove the makefile.msc build system, it is unmaintained since 2008 2011-12-16 15:53:56 +01:00
Alexia Death aa9806c687 app: Make resource subfolders elements in the tag cloud
This patch does following things for this purpose:
* Adds intrernal flag to GimpTag api
* Modifies GimpData gimp_data_set_filename to use the last element
  of the path, unless blacklisted, as internal tag for the resource.
* Modify tag cache to not save internal tags
* Removes a check for existing tags when objects are added to tag cache
2011-12-04 20:36:05 +02:00
Michael Natterer ed1ed0e6bc app: make destroying a GimpFilteredContainer not crash
It was never disconnecting from any of the src_container objects'
signals.

GimpFilteredContainer: unref the src_container in finalize() instead
of dispose() because the parent dispose() impl now needs it via
calling gimp_container_clear().

GimpTaggedContainer: implement GimpContainer::clear() and disconnect
from all the src_container objects' signals.
2011-12-01 21:12:55 +01:00
Michael Natterer 70376b7528 app: GimpTagCache: move variable to local scope 2011-12-01 20:34:18 +01:00
Michael Natterer 9781aa65ea Bug 658467 - Replace g_format_size_for_display() by g_format_size()
Use g_format_size() instead of g_format_size_for_display() because
the latter is deprecated.
2011-11-30 23:37:55 +01:00
Michael Natterer 88befd3082 Bug 664591 - Spyrogimp script crashes GIMP
Don't let resetting the tool options reset away their name to NULL.
Found by massimo.
2011-11-23 20:55:55 +01:00
Michael Natterer 3669acf0be Bug 658904 - Wrong behaviour in hidding layers with shift + left mouse click
Fix "exclusive visible" for layer trees. Doesn't touch the visibility
of any non-toplevel items that is not in the exclusive item's ancestry.
2011-11-16 22:38:39 +01:00
Massimo Valentini 834225803a Bug 662219 Rotate does not rotate; the image is ...
gone except for a small rectangle

atan2 returns an angle between -pi, pi. Here it is needed
between 0, 2pi. Simpler to invert both axes.
2011-11-02 17:55:57 +01:00
Michael Natterer 30f638516e app: add gimp_get_paint_info_iter(), I need it later for PDB context fixing 2011-10-29 19:37:58 +02:00
Michael Natterer 846392b66c app: move the "exclusive visible" logic to the core
but don't fix it for item trees yet (refactoring only). Kill the
"exclusive liked" function which only existed because it was so easy
to have, but was always utterly useless. Prove me wrong and I will
revive it.
2011-10-12 16:05:57 +02:00
Mukund Sivaraman e922a7bfda app: Update Jarvis march implementation
The output of transforms can result in the transformed points being
passed out of order to gimp_transform_resize_crop().  The Jarvis march
method is used to find the convex hull of the points to get them in a
known order, before performing the crop operation.

Static analysis found a bug in the Jarvis march algorithm, but when we
looked at the code, we could no longer follow it. So a slightly
rewritten version is committed here without the static analysis bug.
2011-10-10 09:19:49 +05:30
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