Commit Graph

25698 Commits

Author SHA1 Message Date
Sven Neumann 2d5792d1da app: increase the timeout for temporary status-bar messages to 8 seconds 2009-08-04 20:29:07 +02:00
Kevin Cozens bf3d355fd7 Applied changes based on official version of TinyScheme (CVS commit dated
2007/12/22 10:48) which makes string output ports conform to SRFI-6.
NOTE: SRFI-6 compliance is incomplete in official version of TinyScheme.
      (See SourceForge bug #2832150)

Also included two minor additions/corrections to old ChangeLog files.
2009-08-04 14:23:55 -04:00
Michael Natterer 57f44b89e8 Use GimpTreeHandler to connect to all items' "visible" and "linked" callbacks
Makes the visibility and link buttons work for all items in a tree.
2009-08-04 20:20:09 +02:00
Michael Natterer 00682ee7cf Replace the hash table of container handlers by a single GimpTreeHandler 2009-08-04 20:19:13 +02:00
Michael Natterer aaab0d40a9 Add GimpTreeHandler, a signal connection helper for object trees
A tree-enabled replacement for gimp_container_add,remove_handler(),
slightly more sane to a degree that makes me think it could replace
GimpContainer's own handler stuff. Public API consists of two
function:

- gimp_tree_handler_connect() which connects recursively to a specific
  signal of all items in a container tree.

- gimp_tree_handler_disconnect() is just a wrapper around unrefing the
  handler, but makes sure that dispose() is really executed (which
  actually disconnects things).
2009-08-04 20:12:34 +02:00
Michael Natterer e8c6e3dbd3 Expand the treeview to newly inserted items 2009-08-04 09:06:03 +02:00
Michael Natterer 3c0df851d0 Make the preview column the expander column 2009-08-04 00:21:07 +02:00
Michael Natterer ea7c07647b Some group layer fixes
- call new group layers "Group Layer" by default.
- when duplicating, don't forget to set the duplicated childrens'
  parent viewable.
2009-08-04 00:14:53 +02:00
Michael Natterer ac052aabf4 Add items at the right place again (did not affect item treeviews) 2009-08-04 00:13:58 +02:00
Michael Natterer 8a578354fe Show expanders in treeviews showing actual trees 2009-08-03 23:46:19 +02:00
Michael Natterer ad806713ae Add a per-class flags that indicates that a container view's model is a tree
* app/widgets/gimpcontainerview.h: add "gboolean model_is_tree"
  to GimpContainerViewInterface.

* app/widgets/gimpcontainerview.c: default to FALSE and enable the
  commented-out optimization in remove_container() for list-only
  container views.
2009-08-03 23:42:55 +02:00
Michael Natterer 7dafae7f26 Add a GimpGroupLayer class (not used yet) 2009-08-03 23:24:46 +02:00
Michael Natterer 6f555cc407 Make sure duplicated item groups end up at the right place
Use the actual parent item when adding to the image, not
GIMP_IMAGE_ACTIVE_PARENT because the latter would add a duplicated
group inside itself instead of above it
2009-08-03 23:19:25 +02:00
Michael Natterer a53d4566da Use GIMP_IMAGE_ACTIVE_PARENT instead of a NULL parent in all obvious places 2009-08-03 22:30:36 +02:00
Sven Neumann 45529d4886 Bug 590638 – Changing palettes from list to grid view loses "locked to dock" status
Transfer the 'locked' state to the newly created dockable in
dockable_toggle_view_cmd_callback().
2009-08-03 22:16:33 +02:00
Michael Natterer 3e1c13bc96 Support GIMP_IMAGE_ACTIVE_PARENT in the vectors import functions 2009-08-03 22:06:40 +02:00
Michael Natterer a3b4b595d0 Add infrastructure to add items to the active item's parent container
* app/core/gimpimage.h: add define GIMP_IMAGE_ACTIVE_PARENT for magic
  the value ((gpointer) 1) which can be passed as parent item to
  add_layer(), add_channel() and add_vectors().

* app/core/gimpimage.c: add utility function
  gimp_image_get_insert_pos() which honors above new special value and
  figures all of parent container, parent item and insert position.
  Remove lots of duplicated code from add_layer(), add_channel() and
  add_vectors().
2009-08-03 21:47:21 +02:00
Sven Neumann 2a74fc1bca use a shorter description in the gimp.doap file
A shorter description seems more appropriate for the projects list at
http://git.gnome.org/cgit/
2009-08-03 20:42:50 +02:00
Michael Natterer c4075975bf Bring parent items to the public API in the core
* app/core/gimpimage.[ch]: make the parent parameter public in
add_layer(), add_layers(), add_channel() and add_vectors().

* app/vectors/gimpvectors-import.[ch]: add parent parameters to
  the vectors import functions.

* app/core/gimpchannelundo.[ch]
* app/core/gimplayerundo.[ch]
* app/vectors/gimpvectorsundo.[ch]
* app/core/gimpimage-undo-push.[ch]: remember the parent item when
  removing layers, channels and vectors.

* app/actions/channels-commands.c
* app/actions/debug-commands.c
* app/actions/edit-commands.c
* app/actions/layers-commands.c
* app/actions/vectors-commands.c
* app/core/gimp-edit.c
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-merge.c
* app/core/gimpimage-quick-mask.c
* app/core/gimplayer-floating-sel.c
* app/core/gimpselection.c
* app/core/gimptemplate.c
* app/dialogs/file-open-dialog.c
* app/display/gimpdisplayshell-dnd.c
* app/text/gimptext-compat.c
* app/tools/gimptexttool.c
* app/tools/gimpvectortool.c
* app/widgets/gimptoolbox-dnd.c
* app/xcf/xcf-load.c
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/paths.pdb
* tools/pdbgen/pdb/vectors.pdb: pass NULL as parent item to above
  functions and add FIXMEs all over the place because there is some
  more hacking needed to make adding with index = -1 (on top of the
  current item) work again.

* app/pdb/image-cmds.c
* app/pdb/paths-cmds.c
* app/pdb/vectors-cmds.c: regenerated.

* app/core/gimpimage-duplicate.c: duplicate the original image's
  tree structure in the copy.

* app/widgets/gimpitemtreeview.[ch]: add parent to GimpAddItemFunc,
  add utility function gimp_item_tree_view_get_drop_index() which
  figures where to add something dropped to an item tree.

* app/widgets/gimpchanneltreeview.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimpvectorstreeview.c: changed accordingly, using above
  new GimpItemTreeView API.
2009-08-03 19:21:51 +02:00
Martin Nordholts 18603ac192 Bug 401754 – Port Hue, Saturation, Value to CIE LCH
When using GEGL for the projection, use CIE LCH for the Hue,
Saturation and Value layer modes, just as we already do for the Color
layer mode. The Value layer mode will later be renamed to Lightness
since that is the semantics it has now.
2009-08-02 21:36:00 +02:00
Michael Natterer 87d463aed0 Iterate over all an image's items recursively
Use gimp_image_get_layer,channel,vectors_list() instead of
gimp_image_get_layer,channel,vectors_iter(). As a side-effect,
simplified some code that was making sure we don't modify the list
returned by the old functions (the new functions return newly
allocated lists so we can safely remove items from the image while
iterating it). Some places will need adjusting once we really have
item trees.
2009-08-02 17:44:05 +02:00
Michael Natterer ec21c2880c Remove gimp_image_get_layer,channel,vectors_by_index()
The don't make sense any longer with item trees and I just fixed the
last places where they were used.
2009-08-02 15:56:06 +02:00
Michael Natterer 3c76b2797b Get rid of using gimp_container_get_vectors_by_index() in xcf-load.c
One of the places needs changing if we ever support trees of vectors,
the other one deals with compat paths which can't be in a tree anyway.
2009-08-02 15:48:27 +02:00
Michael Natterer d7fa10c708 Get rid of using gimp_image_get_layer_by_index() in gimpimage.c 2009-08-02 15:43:04 +02:00
Michael Natterer 49b7f6b436 Implement adding/removing items to/from trees of items
Change gimp_image_add,remove_layer,channel,vectors() to deal with
parent items and insert/remove things to/from the right containers.
The "parent" parameter to the add_foo() functions is currently a local
variable that defaults to NULL, so nothing has chaged yet.
2009-08-02 15:36:00 +02:00
Barak Itkin e7e5a6d19d Bug 304399 – Color Palette Export to TXT, CSS, XML, or XHTML
Add a palette export script which allows exporting palettes to .css,
.php, .py, .txt and .java by adding a Export to menu item in the
palette context menu in the Palettes dockable.
2009-08-02 15:11:28 +02:00
Martin Nordholts f026c52478 Bug 568445 – Closing the Toolbox causes the program to close
Instead of invoking the file-quit action when closing the toolbox, use
gimp_dialog_factory_hide_dialog().
2009-08-02 14:57:46 +02:00
Martin Nordholts 8fb779aeaa app: Formating 2009-08-02 14:09:37 +02:00
Martin Nordholts 5a8c46840b Regenerate gimprc 2009-08-02 14:07:54 +02:00
Christopher Howard cc7e372a84 Bug 589665 – Minor mistakes in gimprc documentation
Adjust code which auto-generates the gimprc man page to:
 - fix spelling mistakes.
 - remove unintentional indentation.
 - remove out of place punctuation.
2009-08-02 14:07:54 +02:00
Michael Natterer c1c882b4ec Change control+tab layer cycling to work within one group
This is probably wrong and should use a flattened list of all layers,
but at least it will not be buggy code when we actually get layer
trees.
2009-08-02 13:16:31 +02:00
Michael Natterer 72cfe6c701 Use gimp_image_get_channels() instead of image->channels 2009-08-02 13:03:52 +02:00
Michael Natterer ccc167994c Remove some old and unused GimpImage API cruft
Get rid of gimp_image_active_layer,channel,vectors_changed(),
they are unused and it's even conceptually wrong to have them
in the public API.
2009-08-02 12:45:04 +02:00
Michael Natterer 7805bd2186 Use the new item counting functions where appropriate 2009-08-02 12:24:06 +02:00
Michael Natterer 6be068ceab Add functions to count the items in an image
* app/core/gimpitemstack.[ch]: add gimp_item_stack_get_n_items()
  which counts a stack's items recursively.

* app/core/gimpimage.[ch]: add get_n_layers(), get_n_channels()
  and get_n_vectors().
2009-08-02 12:13:55 +02:00
NISHIBORI Kiyotaka d2e781f375 Updated Japanese translation
Author: NISHIBORI Kiyotaka.
Closed bug #588342.
2009-08-02 19:09:27 +09:00
Michael Natterer b3e0147598 Make layer selecting by actions work on the right container 2009-08-02 12:02:18 +02:00
Martin Nordholts 77e233f4c7 Bug 325564 – Use CIE LCH instead of HSL for layer mode "Color"
When GEGL is used for the projection, use CIE LCH instead of HSL for
the "Color" layer mode. This give much more accurate and intuitive
results. Requires at least 12d5cc4c1bcfb of babl.
2009-08-02 11:07:40 +02:00
Michael Natterer 251ee3a7be Move get_item_by_tattoo() and by_name() functions from GimpImage to GimpItemStack 2009-08-02 01:39:51 +02:00
Michael Natterer 9381358b6b Make setting the active layer, channel, vectors work for items in groups 2009-08-02 01:03:58 +02:00
Michael Natterer 99ceaf984a Make getting items by name work on trees 2009-08-02 00:21:31 +02:00
Michael Natterer 227076b6d1 Make getting items by tattoo work on trees 2009-08-02 00:15:53 +02:00
Michael Natterer 01c77b18d5 Use the new item iter API instead of the image APIs in some straightforward places 2009-08-01 23:07:07 +02:00
Michael Natterer 603d3441e7 Use gimp_item_get_container_iter() instead of the GimpImage iter APIs
Using the new function makes sure the sensitivity of the raise and
lower actions corresponds to what is possible (raising and lowering
within the group).
2009-08-01 22:54:49 +02:00
Michael Natterer 5f66faf953 Should try the code before pushing... 2009-08-01 22:53:31 +02:00
Michael Natterer 6e29b94bd0 Add gimp_item_get_container_iter()
This is just a utility function like gimp_image_get_layer_iter()
in order to avoid including "core/gimplist.h" whenever a file needs
access to the actual GList inside the container.
2009-08-01 22:40:32 +02:00
Michael Natterer 571d26a198 Add functions for getting lists of all an image's items
* app/core/gimpitemstack.[ch]: add gimp_item_stack_get_item_list()
  which returns a GList of all the stack's items, in depth-first
  order if the stack is in fact a tree.

* app/core/gimpimage.[ch]: add gimp_image_get_layer_list(),
  channel_list(), vectors_list() which use above new function.
2009-08-01 21:59:45 +02:00
Michael Natterer 2f018dfcc2 Use the new item APIs for layer/channel/vectors reordering
Don't use image->layers, ->channels and ->vectors in the raise, lower
and position functions; use gimp_item_get_container() and
gimp_item_get_index() instead.
2009-08-01 21:37:19 +02:00
Michael Natterer 88f49a5ddb Use gimp_item_get_index() all over the place
Remove gimp_image_get_layer,channel,vectors_index() and
use the new function everywhere.
2009-08-01 20:49:55 +02:00
Michael Natterer a3cb1191b9 Actually assign the new get_container() impl to the vtable 2009-08-01 20:32:13 +02:00