Commit Graph

3207 Commits

Author SHA1 Message Date
Michael Natterer b5b6d37742 app: move the entire mouse-selection apparatus to gimptexttool-editor.[ch] 2010-02-20 23:20:18 +01:00
Michael Natterer 75f7e25e3a app: don't call update_layout() from buffer_changed()
because the layout gets updated anyway when the model changes, and the
buffer is not the model, its changes are applied to the model.
2010-02-20 22:48:51 +01:00
Michael Natterer 6c3e385cac app: fix line navigation for lines that are not left-aligned
Take the X position of the lines into account when navigating up and
down by lines, so we end up at the right x-pos also for centered and
right-aligned lines.
2010-02-20 22:18:38 +01:00
Michael Natterer e91f27a0fd app: simplify selection drawing a lot 2010-02-20 22:11:06 +01:00
Michael Natterer bd151ac84e app: add background curves when editing the R, B or G curve
Show the other two RGB channels in the background.
2010-02-20 20:32:19 +01:00
Michael Natterer 42de0453da app: when disconnecting from the text layer, also empty our text buffer
or the remaining text will be added to the next text layer which is
created.
2010-02-20 19:43:17 +01:00
Michael Natterer 487336fc09 app: remove gimp_text_tool_update_proxy()
and move its code into gimp_text_tool_buffer_changed() which was its
only caller.
2010-02-20 19:31:27 +01:00
Michael Natterer c91b026384 app: re-add gimp_text_tool_editor_get_text()
Return the entire buffer and use it in even more places than before to
get rid code duplication.
2010-02-20 19:25:07 +01:00
Michael Natterer ec0f3bdcb8 app: buncha more text tool fixes
- hide the generated "empty" menu item in the IM submenu
- pause/resume the text tool around all selection/cursor/buffer changes
  (fixes most drawing artifacts)
2010-02-20 16:18:41 +01:00
Michael Natterer 2e0f4e8938 app: make the preedit overlay better readable (text/base instead of fg/bg) 2010-02-20 15:37:54 +01:00
Michael Natterer 4704c18739 app: implement IM preedit using an overlay widget
This has several advantages:

- it's always readable, no matter how sick font/colors are.
- it does not mess up the buffer, which is a model that should not
  contain temporary edit states.
- preediting does not clutter undo.
- it fixes the remaining bugs in the old preediting code because that
  code is completely gone now.
2010-02-20 15:15:53 +01:00
Martin Nordholts 8b458fb591 app: Merge "toplevel" and "dock" dialog factories
Merge "toplevel" and "dock" dialog factories. The end goal is to have
only one dialog factory.
2010-02-20 09:28:26 +01:00
Michael Natterer a8a732f753 app: fix IM context reset
- Reset the IM context in much more situations, like on button_press
  and when the text editor is initialized and halted (pretty much what
  GtkTextView does).
- As a consequence, halt the rectangle text tool after the text tool
  in control() because cancelling the IM preedit might cause a
  re-framing of the layer because it resized.
- pause()/resume() the draw tool around gimp_text_tool_halt() so we
  definitely avoid drawing atrifacts when the text tool is shut down
  in the middle of an IM preedit. That pause/resume pair should have
  been there from the beginning actually.
2010-02-19 20:13:25 +01:00
Michael Natterer a8548fa7fd app: remove member text_tool->preedit_len
because it is always strlen(text_tool->preedit_string)
2010-02-19 20:13:24 +01:00
Michael Natterer 99b3af1cd2 app: re-frame the layer on each text change
because just about any text change can also change the text layer size.
2010-02-19 20:13:22 +01:00
Michael Natterer 5feec1dd9f app: some signal handling/updating fixes that also make undo mostly work
- most importantly, when the text changes and we set the buffer (as
  happens when undoing), block the "changed" signal on the *buffer*
  and not on the proxy (which doesn't even have a "changed"
  signal). This was apparently something that happened during the
  on-canvas editor merging.
- don't update the proxy when the layout changes, that's the wrong way
  around. Instead, update the layout whenever the proxy changes,
  remove lots of calls to update_layout() from the text editor and let
  the "changed" callback on the buffer do its job of updating
  everything.
2010-02-19 20:13:21 +01:00
Michael Natterer 92ba7b262a app: remove "return" at the end of a void function 2010-02-19 20:13:19 +01:00
Michael Natterer 21e2462b2c app: only resize the text layer if the rectangle size has actually changed
Like when the user just clicked a handle and didn't actually move it.
2010-02-19 20:13:18 +01:00
Michael Natterer 9f03c457e1 app: no reason to translate the newly created text layer
because a few lines up we set its offsets correctly before adding it
to the image.
2010-02-19 20:13:17 +01:00
Michael Natterer e4d63ce11a app: don't create new text layers on double and triple clicks 2010-02-19 20:13:16 +01:00
Michael Natterer c69459f13e app: adapt button_release() to the new realities
Like that we start selecting on the very first click on an unframed
text layer alreadyand that we ignore clicks in dead space which had
unexpected results before. Also update all comments and move them
into the function.
2010-02-19 20:13:14 +01:00
Michael Natterer 7e3b090c32 app: request and process key_release events
Feed them into the text editor's IM context and into the proxy text
view's key bindings. Fixes input methods (e.g. entering of unicode
sequences seems to work flawlessly now).
2010-02-18 20:50:37 +01:00
Michael Natterer c0aa4498d2 app: add intrastructure to send key_release events to tools
The code is 100% identical to the key_press handling and simply
dispatches key_release events too tools which selected them via
GimpToolControl.
2010-02-18 20:50:11 +01:00
Michael Natterer e616ebad4d app: move tons of code out of the line iter loop
when drawing the selection and preedit underline (there is no reason
to calculate constants again for each line)
2010-02-18 20:16:11 +01:00
Michael Natterer becc85683c app: remove "mark_set" callback
There is no reason to recreate the layout when the cursor or selection
bound move, so remove the entire callback and all the signal
blocking/unblocking.
2010-02-18 19:53:44 +01:00
Michael Natterer fa6e9e6653 app: avoid to do things twice when double or triple clicks arrive
In button_press(), don't frame the item again and switch to selecting
mode on double and triple click events, we already did that when
receiving the normal button-press. Also clarify a comment.
2010-02-18 19:44:52 +01:00
Michael Natterer 051deba82d app: more minor cleanups 2010-02-18 11:47:16 +01:00
Michael Natterer 2ca9aab14c app: get rid of one indentation level in gimp_text_tool_motion() 2010-02-18 11:34:08 +01:00
Michael Natterer 3d0f2d8d1b app: clean up text editing members of struct GimpTextTool 2010-02-18 09:51:45 +01:00
Michael Natterer 5c9b660c24 app: turn text editing debug spew into proper GIMP_LOG() output 2010-02-18 09:39:25 +01:00
Michael Natterer 5794041ceb app: turn off clipping for the text cursor and the preedit strings
so they are visible also when partly out-of-layer.
2010-02-18 09:27:08 +01:00
Michael Natterer 468ea629a6 app: use image and rect_tool utility functions instead of duplicating them
and some random cleanups
2010-02-18 09:13:27 +01:00
Michael Natterer 838f2d567d app: cleanup 2010-02-17 21:39:33 +01:00
Michael Natterer 8f27ec48c6 app: split the text editor code out to a separate file 2010-02-17 21:24:09 +01:00
Martin Nordholts 50ef39a01f app: Make gimpgegltool.c compile 2010-02-17 20:45:20 +01:00
Michael Natterer 31659758d1 app: do the setting of the text box mode properly
- remove the button again.
- add a "box-mode" property to GimpTextOptions and a combo box.
- let the normal options -> proxy -> text mechanism do the setting.
- make sure we update the rectangle in some more situations.
- add utility function gimp_text_tool_frame_item().
2010-02-17 20:28:13 +01:00
Michael Natterer d28ed195a3 app: make the "Dynamic Text Box" button insensitive by default 2010-02-17 20:28:13 +01:00
Sven Neumann dbae9c58a0 Bug 610282 - GEGL Operation tool's help-id
Assign a help ID to the GEGL tool.
2010-02-17 19:23:10 +01:00
Michael Natterer 2dc577d606 app: clean up the text options notify callback 2010-02-17 16:05:45 +01:00
Michael Natterer 8574f4c4e8 app: allow to set the text layer back to dynamic resizing
Add a "Dynamic Text Box" button to the tool options which sets the
text box' mode back to dynamically resizing with the text.  This badly
needs UI review but is at least possible now.
2010-02-17 15:50:03 +01:00
Michael Natterer 9974fe36d1 app: improve cursor movement by positions when there is a selection
Port over the patch I did for GtkTextView and move *to* the end of the
selection and not *from* it when there is a selection and we are
moving by characters.
2010-02-17 13:17:46 +01:00
Michael Natterer 3efd20de77 app: move gimp_text_tool_set_layer() to the public functions 2010-02-17 13:08:53 +01:00
Michael Natterer dd1ec8ff9d app: rename editor related functions
so the on-canvas editor's functions are just called "editor" because
it's the default and the dialog's functions are called "editor_dialog".
2010-02-17 12:03:18 +01:00
Michael Natterer 94d9dca2a3 app: more text tool fixes
- bail out and don't warn like crazy in draw() when there is no text.
- fix crash in button_press() when clicking a modified text layer
  bring up the confirm dialog and thus didn't set text_tool->text.
- pull setting the right text on text_tool->text_buffer into
  gimp_text_tool_canvas_editor() (fixes editing after confirming a
  modified text layer edit).
- add lots of missing calls to gimp_text_tool_set_layer() so the
  tool will actually start editing.
2010-02-17 11:57:32 +01:00
Michael Natterer 1fa6497922 app: don't try to hide a NULL transform dialog 2010-02-17 09:52:15 +01:00
Michael Natterer c2a8f51768 app: lots of text tool fixes
- Add gimp_text_tool_halt() to shut down the tool and call it
  from gimp_tool_control(HALT).
- call control(HALT) when escape is pressed to reset the tool
  (can finally switch to other tools again now).
- fix button_press() to handle clicks on already existing
  text layers well.
- also button_press(): fix the condition that sets the previously
  existing text on the canvas editor so we don't end up with weird
  ui states where displayed and internally used text differ.
- remove some redundant code.
2010-02-16 22:48:27 +01:00
Simon Budig 7bfa3272ab Give a hint what pressing shift over a vector handle does. 2010-02-09 23:21:42 +01:00
Michael Natterer 09c897262e Move all undo-related members to GimpImagePrivate
Also add some new API to access them.
2010-02-04 20:06:49 +01:00
Michael Natterer b6ce5d075d Remove macros SCREEN_XRES() and SCREEN_YRES()
and add gimp_display_shell_get_screen_resolution() instead. The times
when these macros were used in inner loops have long passed.
2010-02-03 19:50:46 +01:00
Michael Natterer 08b7709535 Bug 604820 - GEGL Operation "path" crashes GIMP
Blacklist "gegl:path".
2010-01-31 17:36:56 +01:00
Martin Nordholts c331d5f9eb Bug 598454 - Improve visual feedback for Free Select Tool handles
Highlight the handle for the first vertex in the Free Select Tool even
with button1 down, since releasing the button on the first point will
close the polygon, so it's a significant state which we must give
feedback for.
2009-12-21 22:24:26 +01:00
Martin Nordholts 50525e4543 app: Fill Free Select Tool handles when mouse is over them
Right now the Free Select Tool vertex handles are shown when the
cursor is in the proximity. Extend this a bit, so when the cursor is
_on_ a vertex handle, fill it completely. See bug 598454.
2009-12-21 21:27:54 +01:00
Martin Nordholts 90d7ffde1a app: Make all GimpDialogFactory members private
Add necessary trivial API that allows us to make remaining
GimpDialogFactory instance members private, and make them private.
2009-12-20 20:21:26 +01:00
Martin Nordholts 6eb3e65445 app: Remove unused variables in gradient_options_gui() 2009-12-19 09:29:49 +01:00
Alexia Death d2ad292848 app: Remove repeat options from gradient for paint tools
Repeat for gradient/color or any other dynamic driving is provided by fade.
2009-12-18 20:51:23 +02:00
Martin Nordholts c7a5195bdf Bug 604078 - Crash when pressing Backspace with Free Select Tool
Make sure we never call gimp_free_select_tool_remove_last_segment()
with priv->n_segment_indices being negative, and increase robustness
of the code in general.

Note that we always halt the tool when backspace is pressed and there
are no vertices left. This is to minimize the risk of ending up in an
invalid tool state.
2009-12-09 22:33:03 +01:00
Alexia Death a736b8f972 Adding repeat option to fade.
Now fade can be applied either as sawtooth or triangular wave.
Also fade can be reversed.
2009-12-06 20:06:34 +02:00
Michael Natterer ae70da3e72 Remove unused #define STATUSBAR_SIZE 200 2009-11-03 15:43:32 +01:00
Michael Natterer 398607ee94 Bug 599765 - F1 key on gimp-tool-align in menu have wrong link and it open gimp-tool-move
Add help ID "gimp-tool-align" and use it for the align tool.
2009-10-27 18:54:34 +01:00
Michael Natterer 8a377be277 Turn legacy tranlation context "tool|_Zoom" into a proper one 2009-10-19 00:13:56 +02:00
Michael Natterer 84ab7454b5 Put the image map tool dialogs into overlay boxes when in fullscreen mode 2009-10-18 22:42:21 +02:00
Alexia Death 210a4b5044 Merge resolution 2009-10-17 21:42:02 +03:00
Michael Natterer fb1fdf49b4 Build with GSEAL_ENABLE 2009-10-17 19:33:46 +02:00
Alexia Death 4e018eaa18 Merge commit 'origin/master' into soc-2009-dynamics 2009-10-15 22:58:25 +03:00
Michael Natterer 473b5122ae Move the cursor to the logical end of the selection when cancelling it
gimp_text_tool_move_cursor(): when there is something selected, and
cursor movement does not extend that selection, move the cursor to the
end of the selection that is in moving direction. This it *not*
how GtkTextView behaves, but it should, see bug #50942.
2009-10-15 12:04:09 +02:00
Michael Natterer 36523134f5 Resurrect the paint option's "use-fade" property and UI
Whether to use fade at all is a user input, so should be controllable
independently from its dynamic mapping. The reborn property is not
used again yet.
2009-10-13 19:19:12 +02:00
Michael Natterer 488c52c16a Remove dynamics cruft that is now done elsewhere 2009-10-12 12:23:07 +02:00
Michael Natterer 42b66678f5 Honor the "global-dynamics" setting 2009-10-11 01:44:38 +02:00
Alexia Death 11d6219776 Merge commit 'origin/master' into soc-2009-dynamics 2009-10-10 10:23:25 +03:00
Michael Natterer 2da2c510d2 Use gtk_widget_get_window() instead of widget->window 2009-10-09 21:19:05 +02:00
Michael Natterer 33150b4a1b Use gtk_widget_get_window() instead of widget->window 2009-10-09 21:19:05 +02:00
Alexia Death 2eab9f2ca4 Merge fixes 2009-10-09 20:38:43 +03:00
Michael Natterer e57b0eee63 Don't call gimp_display_get_image() on a NULL display 2009-10-07 19:46:01 +02:00
Michael Natterer 08f35de4ac Use gimp_display_get_image() instead of display->image 2009-10-07 19:00:42 +02:00
Alexia Death 88e7d5396d Merge commit 'origin/master' into soc-2009-dynamics 2009-10-07 19:42:04 +03:00
Michael Natterer c5b856f16f Use gimp_display_get_image() instead of display->image 2009-10-06 19:20:44 +02:00
Michael Natterer d1ded0617f More gimp_display_get_shell() instead of display->shell 2009-10-05 19:58:03 +02:00
Michael Natterer 7d878f6f4b Use the GimpDisplayConfig from GimpDisplay where possible
...instead of going via display->gimp and casting.
2009-10-04 20:22:06 +02:00
Michael Natterer 8ba18309eb Use display->gimp intead of display->image->gimp 2009-10-04 20:05:28 +02:00
Michael Natterer ac98c2c234 Use gimp_display_get_shell() instead of directly accessing it 2009-10-04 19:56:39 +02:00
Michael Natterer dee0afed79 Move the statusbar back to GimpDisplayShell
Keeping it in GimpImageWindow was a bad idea because
- it wasted space
- it produced evil code because
- it conceptually didn't belong there
2009-10-04 15:33:03 +02:00
Alexia Death 3a041ad252 Lots of improvements on dynamics 2009-10-03 18:53:25 +03:00
Alexia Death 155393491b Merge commit 'origin/master' into soc-2009-dynamics 2009-10-03 14:12:53 +03:00
Michael Natterer f6fd3aed51 Move GimpDisplayShell's expose functions to separate files 2009-10-02 23:55:26 +02:00
Michael Natterer 1c430a2b19 Move all GimpImageWindow members to a private struct
Add accessor functions for publically available members and visibility
functions for menubar and statusbar.
2009-09-29 21:44:43 +02:00
Michael Natterer 253b8e2cbe Use gimp_display_shell_get_window() instead of gtk_widget_get_toplevel()
The new function does the right thing, unlike get_toplevel() which
returns the shell itself if it is not in a window. Check the return
value of get_window() for being non-NULL.
2009-09-29 20:32:26 +02:00
Michael Natterer 54edc20113 Add missing #include "gimpimagewindow.h" 2009-09-28 22:55:54 +02:00
Michael Natterer 0b12978761 Go via gtk_widget_get_toplevel() to get to the statusbar 2009-09-28 22:55:42 +02:00
Michael Natterer 10b98034d4 Move the statusbar to GimpImageWindow
As with the menubar, port some code properly, and add some
horrible /* FIXME image window */ hacks to make it work.
2009-09-28 22:55:38 +02:00
Alexia Death e75d44c77c Merge commit 'origin/master' into soc-2009-dynamics 2009-09-28 20:30:17 +03:00
Martin Nordholts 8bfcd14f9a app: Add GimpSessionInfo getters and setters 2009-09-20 14:51:03 +02:00
Alexia Death be78fe3b1d Merge commit 'origin/master' into soc-2009-dynamics 2009-09-20 14:32:32 +03:00
Michael Natterer 9e18f771c4 Replace "Group Layer" by "Layer Group" in all user visible strings 2009-09-03 14:57:18 +02:00
Michael Natterer 0b09278c17 Don't access item->width and ->height directly 2009-09-03 01:00:14 +02:00
Michael Natterer a12a9fa70e gimp_vector_tool_button_press(): don't edit locked vectors 2009-09-01 12:43:43 +02:00
Michael Natterer 02903d6970 Use gimp_item_is_content_locked() instead of gimp_item_get_lock_content()
Use the new API whenever we want to determine the item's effective
lock state (whether we can write to the item's content or not). Use
gimp_item_get_lock_content() only in code that actually deals with
*this* item's locked state, which is only the PDB wrappers and GUI to
modify the flag on the item itself.
2009-08-29 15:27:04 +02:00
Michael Natterer e979c08133 Start separating the logic for "locked" and "is group" again
The idea that group layers count as locked was a bad one, start adding
separate checks for group layers, and refuse to modify them with
distinct error messages.
2009-08-28 20:07:14 +02:00
Michael Natterer 6aadd0bbc9 Rename gimp_image_pick_correlate_layer() to gimp_image_pick_layer() 2009-08-25 23:18:34 +02:00
Michael Natterer f61f435699 Filter out linked children of linked items to translate 2009-08-25 15:57:04 +02:00
Michael Natterer 9040afc0fc Set BAD cursors if the active drawable is locked 2009-08-21 19:34:59 +02:00
Michael Natterer ed2c002fd8 Make the checks in GimpTool::initialize() work reliably
Set tool->display and tool->drawable to NULL in button_release()
so initialize() is actually called before each button_press().
2009-08-21 19:04:45 +02:00
Michael Natterer c9c28be9df Make the checks in GimpTool::initialize() work reliably
Set tool->display and tool->drawable to NULL in button_release()
so initialize() is actually called before each button_press().
2009-08-21 18:27:50 +02:00
Alexia Death d2143b8886 Merging master to current state 2009-08-21 19:26:05 +03:00
Michael Natterer cca194ed04 Don't transform the item if it was locked while using the tool
Add additional check to gimp_transform_tool_doit() so it won't
transform an item that was locked while we were adjusting the
transform.
2009-08-21 12:07:55 +02:00
Michael Natterer 7b5e176eee Really don't paint on locked drawables
Remove GimpTool::initialize() implementation again and check for the
drawable being locked in GimpTool::button_press() so we can't paint if
the tool has been used before on the same drawable when it was
unlocked.
2009-08-21 11:55:18 +02:00
Michael Natterer e95b5d9f72 When cropping the active layer, error out if there is none or it is locked 2009-08-20 22:43:01 +02:00
Michael Natterer ec6600a0b3 Refuse to edit locked drawables
Check whether the drawable to edit is locked in GimpTool::initialize()
and bail out with an appropriate error if it is. This currently
prevents cloning from locked drawables, will fix that later.
2009-08-20 17:05:23 +02:00
Michael Natterer d53aad9ffb Use gimp_image_get_layer_list() instead of layer_iter(), some cleanup 2009-08-10 12:15:54 +02:00
Sven Neumann 57ceb04b32 Only add the language entry if the iso-codes package is available 2009-08-04 22:46:02 +02:00
Sven Neumann 516735f10c add a blurb to the GimpText:language property 2009-08-04 22:46:02 +02:00
Sven Neumann bf8885f637 Bug 132509 – Allow to choose language in text tool
Remove the commented out language entry from the text editor and add
one to the text tool options instead. Work in progress...
2009-08-04 22:46:01 +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
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
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
Alexia Death 01df67298a Clean off gui creation for props that no longer exist 2009-07-22 21:01:44 +03:00
Alexia Death cea52220ea Merge branch 'master' into soc-2009-dynamics
Conflicts:
	.gitignore
	NEWS
	app/widgets/gimptagpopup.c
	po/ru.po
2009-07-21 20:12:35 +03:00
Michael Natterer 997111bf0a Use gtk_dialog_get_content_area() instead of dialog->vbox 2009-07-15 16:19:32 +02:00
Michael Natterer 3d6b86eef1 Clean up various calls to the response() callback
(gimp_image_map_tool_control): call gimp_image_map_tool_response() directly
instead of gtk_dialog_response().

(gimp_image_map_tool_key_press): must not call response() if there is
no dialog (if the tool wasn't used yet).
2009-07-12 19:26:18 +03:00
Michael Natterer 53bdcab4d8 Move dialog destruction to a utility function 2009-07-12 19:26:18 +03:00
Michael Natterer c9171a3fbf Clean up various calls to the response() callback
(gimp_image_map_tool_control): call gimp_image_map_tool_response() directly
instead of gtk_dialog_response().

(gimp_image_map_tool_key_press): must not call response() if there is
no dialog (if the tool wasn't used yet).
2009-07-12 17:14:08 +02:00
Michael Natterer 669d26ee39 Move dialog destruction to a utility function 2009-07-12 16:45:18 +02:00
zhenfeng zhao 96baac783f Fade dynamics. Add fade as one more dynamics driving factor on GUI. Implement fading dynamics calculation. Let fade work with all driven factors. Add pixel_dist parameter to get_dynamic_x. Adjusted function calls for get_dynamic_x.
* app/paint/gimppaintoptions.c: Add initialization for fading dynamics. Add fading related variables similar to Random. Adjust get_dynamics_mix function. Add fading calculation in get_dynamics_x functions. Adjust get_dynamic_x functions for fade dynamics.

	* app/paint/gimppaintoptions.h: Add fading_options in GimpDynamicOptions.

	* app/tools/gimppaintoptions-gui.c: Add the function fading_options_gui.

	* app/paint/gimpclone.c
	* app/paint/gimpdodgeburn.c
	* app/paint/gimperaser.c
	* app/paint/gimpheal.c
	* app/paint/gimppaintbrush.c
	* app/paint/gimpsmudge.c
	* app/paint/gimpairbrush.c
	* app/paint/gimpbrushcore.c
	* app/paint/gimpconvolve.c: Adjust function calls. get_dynamic_opacity function calls were adjusted to have one more parameter, paint_core->pixel_dist.

some key words:
get_dynamic_
pixel_dist
paint_core->pixel_dist
2009-07-11 15:45:54 -03:00
Sven Neumann 05537763ef Bug 567393 – Rectangle select tool size shrinks to 0 if size is larger than
the image and the up or down arrow is pressed.

Applied patch from Massimo as found in bug #567393. This changes ROUND()
to RINT() to correct rounding for negative numbers. Also did this change
in gimp_rectangle_tool_adjust_coord().
2009-06-30 23:19:13 +02:00
Michael Natterer 4c5c158bfa Fix corner case of text tool up/down navigation
(gimp_text_tool_move_cursor): really go to the beginning/end of the
buffer when there are no further lines to go up/down to.
2009-06-28 17:27:02 +02:00
Michael Natterer bcfaed96d2 Simplify and clean up text tool clipboard handling. 2009-06-27 21:51:52 +02:00
Michael Natterer 8e09c53637 Some more text tool cleanup
- keep around more local "buffer" variables to improve readability
- fix all comparisons between coordinates and bounding boxes,
  they were off-by-one on one or both sides.
2009-06-27 21:31:06 +02:00
Michael Natterer 6d3522c737 Make up/down work within wrapped lines
(gimp_text_tool_move_cursor): use PangoLayoutLines and byte indices to
calculate x positions when moving the cursor up or down. text_tool->x_pos
is not in terms of device units within a PangoLayoutLine.
2009-06-27 15:38:30 +02:00
Michael Natterer 285c25a257 Some minor cleanup 2009-06-27 14:55:45 +02:00
Michael Natterer 1a2136408e Implement overwrite-mode in the text tool
* app/widgets/gimptextproxy.c: also swallow the "toggle-overwrite"
signal.

* app/tools/gimpdrawtool. [ch] (gimp_draw_tool_draw_text_cursor): add
"gboolean overwrite" which causes the cursor to be drawn as block.

* app/tools/gimptexttool.[ch]: implement overwriting, toggling it,
and changing the text cursor accordingly.
2009-06-25 13:22:25 +02:00
Michael Natterer 0ecf3b24d6 Some text tool code cleanup
- add some local "buffer" variables to avoid writing text_tool->text_buffer
  all the time.
- text_tool->text_buffer always exists, no need to check for it.
2009-06-25 10:45:06 +02:00
Michael Natterer 877844214c Implement select-all / unselect-all bindings 2009-06-25 10:21:56 +02:00
Michael Natterer e78bda44b3 Implement insert_at_cursor() so bindings can insert text 2009-06-24 21:31:39 +02:00
Michael Natterer 92a89666cf Implement GTK_DELETE_WHITESPACE (code stolen from GtkTextView) 2009-06-24 21:06:31 +02:00
Michael Natterer b5079eb1b7 Move the GimpTextProxy widget from app/tools/ to app/widgets/ 2009-06-24 19:34:36 +02:00
Michael Natterer 512c80cb05 Keep the proxy text view from doing anything
Add GimpTextProxy, a GtkTextView subclass which does nothing but
overriding the binding methods with empty implementations, so the text
view has no chance of letting e.g. the display beep or doing anything
else.
2009-06-24 19:26:24 +02:00
Michael Natterer e170ad77b1 Remove the newly added tool clipboard facility again, we don't need it 2009-06-24 19:08:24 +02:00
Michael Natterer 919c875d65 Implement cut/copy/paste via the proxy text buffer's signals 2009-06-24 19:04:18 +02:00
Michael Natterer 5f65026f94 Implement GTK_DELETE_PARAGRAPH_ENDS (Ctrl+K in emacs) 2009-06-24 18:48:27 +02:00
Michael Natterer 1dcd5a6eaa Implement GTK_DELETE_WORD_ENDS and GTK_DELETE_WORDS 2009-06-24 13:58:40 +02:00
Michael Natterer 2d8ced10c0 Some text deleteion refactoring
Change public text tool API to gimp_text_tool_delete_selection() and
move delete and backspace code to their own handlers in preparation of
handling all text deletion types.
2009-06-24 13:51:25 +02:00
Michael Natterer 1b69070556 Make key themes really work this time
* app/widgets/gimpwindow.c: treat GimpCanvas as a text widget and
  dispatch all key events to it before invoking menu shortcuts.

* app/display/gimpdisplayshell-callbacks.c: treat all events on the
  empty display as unhandled, not handled.

* app/tools/gimptexttool.c: use the right API for invoking the proxy
  text view's bindings. Handle some more cursor navigation request and
  swallow text deletion requests we don't handle instead of always
  doing what the delete key does.
2009-06-23 23:25:09 +02:00
Michael Natterer e24793a666 Move the proxy text view to its own offscreen window
Add the proxy text view to a toplevel window so it can pick up the
key theme. Remove various hacks and the #ifdef TEXT_TOOL_HACK stuff.
2009-06-23 21:57:59 +02:00
Michael Natterer cfbfb4a6c0 Don't go to the end of the line if we are already there
(gimp_text_tool_move_cursor): for GTK_MOVEMENT_DISPLAY_LINE_ENDS,
check if we are an the end of a line, or the cursor will end up on the
end of the next line.
2009-06-23 14:05:50 +02:00
Michael Natterer 25963fb1e1 Add some temp debug output 2009-06-23 14:00:23 +02:00
Michael Natterer 6e57a67218 Fix moving back by words 2009-06-23 00:18:31 +02:00
Michael Natterer a235998165 Actually use the hack from the last commit
require a hacked GTK+ ;)
2009-06-22 23:52:42 +02:00
Michael Natterer 64d6ebca00 Make the text tool use GtkTextView's key bindings
* app/core/gimpmarshal.list: add marshallers needed for the binding
  singnals.

* app/tools/gimptexttool.[ch]: add binding signals "move-cursor",
  "delete-from-cursor" and "backspace" and hijack GtkTextView's
  binding set to invoke them. Move code from the key_press() handler
  to the signals' default handlers. This is how it should work. In
  fact that code is #ifdef'ed away and we need an evil proxy
  GtkTextView to invoke the bindings on because of reasons stated in
  comments in the code. Ugly but works just fine.
2009-06-22 23:47:04 +02:00
Michael Natterer 0ced7020d3 Add naive handling of PageUp/PageDown in the text tool 2009-06-22 13:55:52 +02:00
Michael Natterer 0f55bf15bc Enable cut/copy/paste for the text tool
* app/tools/tools-enums.[ch]: add enum GimpClipboardAction which can be
{ CUT, COPY, PASTE }

* app/tools/gimptool.[ch]
* app/tools/tool_manager.[ch]: add GimpTool::clipboard_action() which
returns a boolean indicating whether the tool handled the action.

* app/tools/gimptexttool.c: implement clipboard_action().

* app/actions/edit-commands.c: try the active tool first in the cut,
copy and paste callbacks.
2009-06-21 23:37:18 +02:00
Michael Natterer 1f91136e35 Make sure mouse selections work together nicely with keyboard navigation
(gimp_text_tool_motion): always keep the "insert" mark at the mouse
location and the "selection_bound" one at the other end of the
selection.

(gimp_text_tool_key_press): make cursor navigation always move the
"insert" mark, and move "selection_bound" along with it unless shift
is pressed. It was exactly the other way around.
2009-06-21 17:33:25 +02:00
Michael Natterer a7271e6b25 Handle double and triple click and enable selecting words and lines 2009-06-21 16:20:16 +02:00
Michael Natterer cd880b3946 Rename member "text_cursor_changing" to "selecting" and remove unreachable code 2009-06-21 14:31:49 +02:00
Michael Natterer 1a16b48c93 Add infrastructure for sending double and triple clicks to tools
* app/tools/tools-enums.[ch]: add enum GimpButtonPressType which can
be { NORMAL, DOUBLE, TRIPLE }

* app/tools/gimptool.[ch]: add press_type paramater to GimpTool::button_press()

* app/tools/gimp*tool.c
* app/tools/tool_manager.[ch]: changed accordingly.

* app/tools/gimptoolcontrol.[ch]: add members and API so tools can choose
to receive double and triple clicks.

* app/display/gimpdisplayshell-callbacks.c (gimp_display_shell_tool_events):
dispatch double and triple clicks to tools if they want them, and if they
became active by the preceding normal button press.
2009-06-20 17:37:31 +02:00
Michael Natterer 2a88723a40 Bug 573256 - Text tool appearance doesn't account for DPI
* app/text/gimptextlayout-render.c: remove private function which
creates the transform matrix.

* app/text/gimptextlayout.[ch]: add it here as public API. Also add
function which transform and untransform PangoRectangles, points and
distances using the transform matrix.

* app/tools/gimptexttool.c: convert coordinates using above new
transform functions when drawing selection and cursor, and when
processing mouse events.
2009-06-19 17:08:34 +02:00
Michael Natterer 294154ed76 Remove unused code without any effect 2009-05-25 21:14:33 +02:00
Michael Natterer 53c661312b Add GimpCoords* parameter to gimp_paint_core_interpolate()
Pass the current coords to the function instead of setting them
on the paint core before calling it. Doesn't exactly make the code
in the paint tool  simpler, but that needs further refactoring anyway.
2009-05-25 20:49:34 +02:00
Sven Neumann ef8dabcc7f tools: improve status-bar hints for the Curves tool 2009-05-24 18:20:01 +02:00
Stephen Griffiths 2ff4bbd111 make action_message() visible externally and use it.
* app/actions/actions.h: added prototype for action_message()
* app/actions/actions.c: removed static keyword from action_message()
removed private prototype for action_message()
made action_message() use icons for objects derived from GimpViewable

* app/actions/context-commands.c:
context_brush_radius_cmd_callback()
context_brush_angle_cmd_callback()
context_paint_mode_cmd_callback()
context_brush_shape_cmd_callback()
call acton_message(), these callbacks had use cases where they could not
use generic code

* app/tools/gimpcoloroptions.c: added "average-radius" blurb
and mark for translarion
2009-05-16 15:34:41 +02:00
Alexia Death 6aafd34380 Adds dynamic aspect ratio for brushes. 2009-04-25 20:53:09 +03:00
Michael Natterer 42b28066b8 Move the straight line constrain code to GimpPaintCore.
* app/paint/gimppaintcore.[ch]: add gimp_paint_core_round_line()

* app/tools/gimppainttool.c: remove gimp_paint_tool_round_line() and call
above new function instead.
2009-04-22 21:22:08 +02:00
Michael Natterer 090e06ecdd Move the stuff in tools-utils to the core so it can be used from
app/paint/ in the next step.

* app/tools/Makefile.am
* app/tools/tools-utils.[ch]: removed.

* app/core/gimp-utils.[ch]: add gimp_constrain_line() instead.

* app/tools/gimpblendtool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpfreeselecttool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimppainttool.c: changed accordingly.
2009-04-22 21:08:42 +02:00
Michael Natterer 83b37fb4f9 Bug 577575 – transform tool fills underlying extracted area wrongly
2009-04-03  Michael Natterer  <mitch@gimp.org>

	Bug 577575 – transform tool fills underlying extracted area wrongly

	* app/tools/gimpfliptool.c
	* app/tools/gimpperspectivetool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpscaletool.c (gimp_*_tool_register): pass
	GIMP_CONTEXT_BACKGROUND_MASK to the register callback to the tools
	use the global background color.


svn path=/trunk/; revision=28236
2009-04-03 14:03:38 +00:00
Sven Neumann 2e7c80384b Bug 566443 – diagonal method guidelines for crop tool
2009-03-14  Sven Neumann  <sven@gimp.org>

	Bug 566443 – diagonal method guidelines for crop tool

	* app/tools/tools-enums.[ch]
	* app/tools/gimprectangletool.c 
(gimp_rectangle_tool_draw_guides):
	applied a slightly modified patch from Lukasz Hladowski, based 
on
	a patch from Tim Jedlicka. This adds diagonal guidelines as
	described by Edwin Westhoff to the rectangle tools.


svn path=/trunk/; revision=28156
2009-03-14 12:59:34 +00:00
Michael Natterer e0f1bf375c Bug 572156 – top left pixel position/coordinate is not 0,0 but 1,1
2009-02-20  Michael Natterer  <mitch@gimp.org>

	Bug 572156 – top left pixel position/coordinate is not 0,0 but 1,1

	* app/display/gimpstatusbar.c
	(gimp_statusbar_push_coords)
	(gimp_statusbar_update_cursor): fix braino for
	GIMP_CURSOR_PRECISION_PIXEL_CENTER: going to the pixel's
	center doesn't need any rounding, it simply needs clipping
	the coordinates' fractional parts, gah...

	Review all tools' cursor precision:

	* app/tools/gimpblendtool.c (gimp_blend_tool_init): set cursor
	precision to SUBPIXEL.

	* app/tools/gimptexttool.c (gimp_text_tool_init)
	* app/tools/gimpmeasuretool.c (gimp_measure_tool_init)
	* app/tools/gimpeditselectiontool.c (gimp_edit_selection_tool_init):
	set cursor precision to PIXEL_BORDER.


svn path=/trunk/; revision=28053
2009-02-20 16:57:26 +00:00
Sven Neumann d1684f5424 Bug 99457 – Support for dynamics on tilt
2009-02-18  Sven Neumann  <sven@gimp.org>

	Bug 99457 – Support for dynamics on tilt

	* app/tools/gimppaintoptions-gui.c
	* app/paint/gimppaintoptions.[ch]: applied patch from Alexia 
Death
	that allows to map tilt to the dynamic brush parameters.


svn path=/trunk/; revision=28049
2009-02-18 20:19:47 +00:00
Sven Neumann b7bf06029c seems pointless to include the GIMP-specific GEGL operations as they can't
2009-02-09  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpgegltool.c (gimp_gegl_tool_dialog): seems
	pointless to include the GIMP-specific GEGL operations as they
	can't be reasonably controlled by the generic GEGL tool user
	interface.


svn path=/trunk/; revision=28005
2009-02-09 10:53:19 +00:00
Michael Natterer 051c051234 Bug 569470 – pls, introduce an option 'how many latest presets for color
2009-02-09  Michael Natterer  <mitch@gimp.org>

	Bug 569470 – pls, introduce an option 'how many latest presets for
	color curves should be saved'

	* app/config/gimprc-blurbs.h
	* app/config/gimpguiconfig.[ch]: add integer property
	"image-map-tool-max-recent" which defaults to ten. Adding a GUI
	for this IMO needs discussion, the value of ten seems appropriate.

	* app/widgets/gimpsettingsbox.[ch]
	(gimp_settings_box_add_current): add "gint max_recent" parameter
	and limit the number of recent settings to this number.

	* app/tools/gimpimagemaptool.c (gimp_image_map_tool_response):
	pass the new settings property to above function.


svn path=/trunk/; revision=28004
2009-02-08 23:19:12 +00:00
Michael Natterer f9c64f092b if the curve view didn't handle the key press, chain up so the normal
2009-02-08  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpcurvestool.c (gimp_curves_tool_key_press): if the
	curve view didn't handle the key press, chain up so the normal
	GimpImageMapTool keys for reset/cancel/ok works.


svn path=/trunk/; revision=28003
2009-02-08 20:28:41 +00:00
Martin Nordholts 45aef9a352 Fix stack overwrites in gimp_paint_options_gui()
svn path=/trunk/; revision=28002
2009-02-08 19:26:25 +00:00
Michael Natterer 9999ccf790 Bug 520078 – Rotate brushes
2009-02-08  Michael Natterer  <mitch@gimp.org>

	Bug 520078 – Rotate brushes

	Applied a slightly modified patch from Alexia Death:

	* app/core/core-types.h (struct GimpCoords): add "direction" member.

	* app/core/gimpcoords.c: take direction into account in mix(),
	scalarprod(), length_squared(), manhattan_dist() and equal().

	* app/core/gimpcoords-interpolate.c
	(gimp_coords_interpolate_catmull): same here.
	* app/display/gimpdisplayshell-coords.c

	(gimp_display_shell_eval_event): same here.

	* app/paint/gimppaintoptions.[ch]: add properties for direction
	dynamics and adapt dynamics mixing accordingly.

	* app/paint/gimpbrushcore.c (gimp_brush_core_interpolate):
	"interpolate" direction too (in fact, just copy it from
	last_coords since it doesn't change along a straight line).

	* app/paint/gimppaintcore-stroke.c
	(gimp_paint_core_stroke_emulate_dynamics): emulate direction too.

	* app/tools/gimppaintoptions-gui.c: add GUI for direction dynamics.


svn path=/trunk/; revision=28001
2009-02-08 12:55:20 +00:00
Sven Neumann 30c118b53c Bug 520078 – Rotate brushes
2009-02-05  Sven Neumann  <sven@gimp.org>

	Bug 520078 – Rotate brushes

	Applied patch from Alexia Death:

	* app/core/gimpbrush.[ch]
	* app/core/gimpbrushgenerated.c
	* app/core/gimpbrush-transform.[ch]: affine transformations for
	brushes. So far only scaling and rotation is supported. The
	transformation is done using nearest-neighbour. This is a
	regression and we need to add back interpolation before the next
	release.

	* app/paint/gimpsmudge.c
	* app/paint/gimppaintoptions.[ch]
	* app/paint/gimpbrushcore.[ch]: allow to control the brush
	rotation angle.

	* app/tools/gimppaintoptions-gui.c
	* app/tools/gimpbrushtool.c: added UI for controlling the
	brush rotation angle.

	* app/actions/tools-actions.c
	* app/actions/tools-commands.[ch]: add actions for controlling 
the
	brush rotation angle.


svn path=/trunk/; revision=27987
2009-02-05 21:47:57 +00:00
Martin Nordholts 4d7a6b10d1 Added .gitignore files generated with git svn create-ignore.
svn path=/trunk/; revision=27972
2009-01-31 11:37:44 +00:00
Sven Neumann b25b979fc9 removed gimp_image_get_type_string() again.
2009-01-29  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage.[ch]: removed gimp_image_get_type_string()
	again.
	
	* app/display/gimpdisplayshell-title.c
	(gimp_display_shell_format_title): use the GimpImageBaseType 
enum
	instead.

	* app/tools/gimptool.c (gimp_tool_oper_update): if the image is
	empty and the tool can't handle that, display a message in the
	statusbar telling the user about this.


svn path=/trunk/; revision=27970
2009-01-29 21:32:30 +00:00
Michael Natterer 0af5d238ae move variables to local scope.
2009-01-26  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpregionselecttool.c
	(gimp_region_select_tool_button_release): move variables to local
	scope.


svn path=/trunk/; revision=27951
2009-01-25 23:32:21 +00:00
Michael Natterer 6584aba5c2 app/core/Makefile.am new files implementing gimp_param_spec_duplicate()
2009-01-25  Michael Natterer  <mitch@gimp.org>

	* app/core/Makefile.am
	* app/core/gimpparamspecs-duplicate.[ch]: new files implementing
	gimp_param_spec_duplicate() which is supposed to duplicate any
	gimp or gegl GParamSpec (but doesn't do this yet).

	* app/tools/gimpgegltool.c: remove the code form here.


svn path=/trunk/; revision=27945
2009-01-25 18:01:47 +00:00
Michael Natterer e8a7882585 gegl_color_get_rgba() takes pointers to doubles now, not floats.
2009-01-25  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpgegltool.c (gimp_param_spec_duplicate):
	gegl_color_get_rgba() takes pointers to doubles now, not floats.


svn path=/trunk/; revision=27944
2009-01-25 17:45:05 +00:00
Michael Natterer d9b5207aa2 Change licence to GPLv3 (and to LGPLv3 for libgimp).
2009-01-17  Michael Natterer  <mitch@gimp.org>

	* all files with a GPL header and all COPYING files:

	Change licence to GPLv3 (and to LGPLv3 for libgimp).

	Cleaned up some copyright headers and regenerated the parsers in
	the ImageMap plugin.


svn path=/trunk/; revision=27913
2009-01-17 22:28:01 +00:00
Kevin Cozens 7a6ae0855e Corrected spelling error spotted by David Gowers.
2009-01-13  Kevin Cozens  <kcozens@cvs.gimp.org>

	* app/tools/gimpforegroundselecttool.c: Corrected spelling error
	spotted by David Gowers.

svn path=/trunk/; revision=27900
2009-01-13 16:12:17 +00:00
Martin Nordholts c2b1a61628 Bug 562213 – Align Tool doesn't work properly if it is the active
tool at startup

* app/tools/gimpaligntool.c: Perform NULL-pointer dodging to avoid
crashing.

svn path=/trunk/; revision=27889
2009-01-04 12:03:57 +00:00
Sven Neumann 6ee74726a2 removed unused include.
2009-01-01  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptexttool.c: removed unused include.


svn path=/trunk/; revision=27873
2009-01-01 17:00:39 +00:00
Martin Nordholts de38a9887b New offset getters for inline use.
* app/core/gimpitem.c
(gimp_item_get_offset_x)
(gimp_item_get_offset_y): New offset getters for inline use.

* app/core/gimpchannel.c
* app/core/gimpdrawable.c
* app/core/gimpimage-merge.c
* app/core/gimpimage-resize.c
* app/tools/gimptexttool.c: Don't access GimpItem offset members
directly, use gimp_item_set_offset() and
gimp_item_get_offset_[xy]() instead.

svn path=/trunk/; revision=27848
2008-12-28 12:43:07 +00:00
Martin Nordholts d37193fe18 Use gimp_item_set/get_image() instead of accessing the instance
member directly.

* app/core/gimpchannel.c
* app/core/gimpdrawable-brightness-contrast.c
* app/core/gimpdrawable-color-balance.c
* app/core/gimpdrawable-colorize.c
* app/core/gimpdrawable-curves.c
* app/core/gimpdrawable-desaturate.c
* app/core/gimpdrawable-hue-saturation.c
* app/core/gimpdrawable-invert.c
* app/core/gimpdrawable-levels.c
* app/core/gimpdrawable-posterize.c
* app/core/gimpdrawable-threshold.c
* app/core/gimplayer.c
* app/core/gimplayermask.c
* app/core/gimpselection.c
* app/dialogs/layer-add-mask-dialog.c
* app/text/gimptextlayer-xcf.c
* app/tools/gimprectangletool.c
* app/tools/gimptexttool.c
* app/tools/gimpvectortool.c
* app/vectors/gimpvectors-preview.c
* app/vectors/gimpvectors.c
* tools/pdbgen/pdb/layer.pdb

* app/pdb/layer-cmds.c: Regenerated.

svn path=/trunk/; revision=27840
2008-12-28 00:09:33 +00:00
Sven Neumann 6b74d79844 Bug 564869 – GIMP crashes on selecting Tools->GEGL operation
2008-12-21  Sven Neumann  <sven@gimp.org>

	Bug 564869 – GIMP crashes on selecting Tools->GEGL operation

	* app/tools/gimptool.c (gimp_tool_initialize): check if the tool
	has set an error.


svn path=/trunk/; revision=27819
2008-12-21 15:49:12 +00:00
Sven Neumann bd909141ed removed 'gegl:stress' from the blacklist. It was put here on wrong
2008-12-16  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpgegltool.c 
(gimp_gegl_tool_operation_blacklisted):
	removed 'gegl:stress' from the blacklist. It was put here on 
wrong
	assumptions.


svn path=/trunk/; revision=27796
2008-12-16 08:04:09 +00:00
Martin Nordholts ddaa0b48ec s/temp_buf_data/temp_buf_get_data/
* app/base/pixel-region.c
* app/base/temp-buf.c
* app/base/temp-buf.h
* app/core/gimpbrush-load.c
* app/core/gimpbrush-scale.c
* app/core/gimpbrush.c
* app/core/gimpbrushgenerated.c
* app/core/gimpgradient.c
* app/core/gimpimage.c
* app/core/gimppalette.c
* app/core/gimppattern-load.c
* app/core/gimppattern.c
* app/core/gimppreviewcache.c
* app/core/gimpviewable.c
* app/paint-funcs/paint-funcs-generic.h
* app/paint/gimpbrushcore.c
* app/paint/gimpclone.c
* app/paint/gimperaser.c
* app/paint/gimpheal.c
* app/paint/gimpink.c
* app/paint/gimppaintbrush.c
* app/pdb/brush-cmds.c
* app/pdb/brushes-cmds.c
* app/pdb/drawable-cmds.c
* app/pdb/image-cmds.c
* app/pdb/pattern-cmds.c
* app/pdb/patterns-cmds.c
* app/text/gimpfont.c
* app/tools/gimpiscissorstool.c
* app/vectors/gimpvectors-preview.c
* app/widgets/gimpbrushselect.c
* app/widgets/gimppatternselect.c
* app/widgets/gimpviewrenderer.c

svn path=/trunk/; revision=27782
2008-12-13 10:35:53 +00:00
Michael Natterer 558e2e17a9 make the entire selection API take GimpSelection arguments, not
2008-11-22  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpselection.[ch]: make the entire selection
	API take GimpSelection arguments, not GimpChannel.
	Clean up gimp_selection_load() a bit.

	* app/actions/select-commands.c
	* app/core/gimp-edit.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpimage-quick-mask.c
	* app/tools/gimpeditselectiontool.c
	* tools/pdbgen/pdb/selection.pdb: add the needed casts.

	* app/pdb/selection-cmds.c: regenerated.


svn path=/trunk/; revision=27711
2008-11-22 22:07:55 +00:00
Sven Neumann 8d11c0c3e0 removed unused methods gimp_draw_tool_set_vectors() and
2008-11-21  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpdrawtool.[ch]: removed unused methods
	gimp_draw_tool_set_vectors() and gimp_draw_tool_set_transform()
	and related infrastructure.


svn path=/trunk/; revision=27704
2008-11-21 21:43:43 +00:00
Sven Neumann ebc39ee055 moved vectors drawing to its own function.
2008-11-21  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpdrawtool.c (gimp_draw_tool_real_draw): moved
	vectors drawing to its own function.


svn path=/trunk/; revision=27702
2008-11-21 21:07:48 +00:00
Sven Neumann cdb30fb4e1 reordered functions to keep those that actually draw together.
2008-11-21  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpdrawtool.[ch]: reordered functions to keep those
	that actually draw together.


svn path=/trunk/; revision=27698
2008-11-21 19:01:58 +00:00
Martin Nordholts 5aeb568650 s/gimp_container_children_type/gimp_container_get_children_type/
s/gimp_container_policy/gimp_container_get_policy/
s/gimp_container_num_children/gimp_container_get_n_children/

* app/actions/actions.c
* app/actions/file-actions.c
* app/actions/file-commands.c
* app/actions/tool-options-actions.c
* app/actions/tools-actions.c
* app/actions/tools-commands.c
* app/actions/vectors-actions.c
* app/core/gimpcontainer-filter.c
* app/core/gimpcontainer.c
* app/core/gimpcontainer.h
* app/core/gimpimage-convert.c
* app/core/gimpimage-flip.c
* app/core/gimpimage-merge.c
* app/core/gimpimage-resize.c
* app/core/gimpimage-rotate.c
* app/core/gimpimage-scale.c
* app/core/gimpimage-undo.c
* app/core/gimpimage.c
* app/core/gimpimagefile.c
* app/core/gimplist.c
* app/core/gimpundostack.c
* app/dialogs/palette-import-dialog.c
* app/dialogs/quit-dialog.c
* app/display/gimpdisplay.c
* app/display/gimpdisplayshell-layer-select.c
* app/display/gimpdisplayshell-title.c
* app/gui/gui-vtable.c
* app/menus/tool-options-menu.c
* app/tools/gimp-tools.c
* app/widgets/gimpcontrollerlist.c
* app/widgets/gimpimagepropview.c
* app/widgets/gimpsettingsbox.c
* app/widgets/gimpviewablebutton.c
* app/xcf/xcf-load.c
* app/xcf/xcf-save.c

svn path=/trunk/; revision=27692
2008-11-20 22:45:19 +00:00
Michael Natterer 176f4c5689 app/dialogs/module-dialog.c app/display/gimpscalecombobox.c
2008-11-16  Michael Natterer  <mitch@gimp.org>

	* app/dialogs/module-dialog.c
	* app/display/gimpscalecombobox.c
	* app/tools/gimpgegltool.c
	* app/tools/gimprectangleoptions.c
	* app/widgets/gimpactionview.[ch]
	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimpcontainerentry.[ch]
	* app/widgets/gimpcontrollereditor.c
	* app/widgets/gimpcontrollerlist.c
	* app/widgets/gimpfileprocview.c: s/NUM_COLUMNS/N_COLUMNS/


svn path=/trunk/; revision=27674
2008-11-16 20:17:43 +00:00
Michael Natterer fb1660a4ea rename gimp_image_floating_sel() to gimp_image_get_floating_selection().
2008-11-14  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage.[ch]: rename gimp_image_floating_sel() to
	gimp_image_get_floating_selection().

	* app/actions/channels-actions.c
	* app/actions/image-actions.c
	* app/actions/layers-actions.c
	* app/actions/layers-commands.c
	* app/actions/select-actions.c
	* app/core/gimpdrawable.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/display/gimpdisplayshell-layer-select.c
	* app/display/gimpdisplayshell.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimprectangleselecttool.c
	* app/tools/gimpregionselecttool.c
	* app/tools/gimpselectiontool.c
	* app/tools/gimptexttool.c
	* app/widgets/gimpdrawabletreeview.c
	* app/widgets/gimplayertreeview.c
	* app/xcf/xcf-save.c
	* tools/pdbgen/pdb/image.pdb: changed accordingly, replaced some
	instances of direct acces by the accessor.

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


svn path=/trunk/; revision=27649
2008-11-14 15:01:44 +00:00
Sven Neumann b37c8bcf0a app/core/Makefile.am added GIMP_ERROR as general error domain.
2008-11-12  Sven Neumann  <sven@gimp.org>

	* app/core/Makefile.am
	* app/core/gimperror.[ch]: added GIMP_ERROR as general error 
domain.

	* app/core/gimpchannel.c
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimplayer.c
	* app/core/gimplayermask.c
	* app/core/gimpselection.c
	* app/core/gimptooloptions.c
	* app/paint/gimpbrushcore.c
	* app/paint/gimpclone.c
	* app/paint/gimpheal.c
	* app/paint/gimppaintcore-stroke.c
	* app/paint/gimpperspectiveclone.c
	* app/paint/gimpsourcecore.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcolorizetool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimpdesaturatetool.c
	* app/tools/gimpgegltool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimpthresholdtool.c
	* app/vectors/gimpvectors-import.c: use GIMP_ERROR as error 
domain
	instead of 0, which is not accepted by g_set_error_literal().

	* app/gui/session.c
	* app/menus/menus.c
	* app/vectors/gimpvectors-export.c
	* app/widgets/gimpdevices.c: use G_FILE_ERROR as error domain 
for
	file errors.


svn path=/trunk/; revision=27628
2008-11-12 10:56:06 +00:00
Martin Nordholts d85d7ac785 Align static function prototypes.
* app/tools/gimptransformtool.c: Align static function prototypes.

svn path=/trunk/; revision=27625
2008-11-12 06:17:01 +00:00
Martin Nordholts bb85dbbf24 Bug 559716 – Changing crop size in Crop Tool Options can make UI
unresponsive

* app/tools/gimprectangletool.c: Accept a broader range of x, y,
width and height values from the tool options so we don't end up
in an infinite signal emission loop.

svn path=/trunk/; revision=27605
2008-11-10 20:10:50 +00:00
Michael Natterer 40f27d6b81 app/core/gimpdrawable.c app/core/gimpimage-convert.c
2008-11-09  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable.c
	* app/core/gimpimage-convert.c
	* app/core/gimpprojection-construct.c
	* app/tools/gimpeditselectiontool.c
	* app/widgets/gimplayertreeview.c
	* app/xcf/xcf-save.c: remove inclusion of "gimplayer-floating-sel.h"


svn path=/trunk/; revision=27582
2008-11-09 18:36:29 +00:00
Sven Neumann 02817081ff use NC_() to mark enum values for translation. Use a lower-case short form
2008-11-06  Sven Neumann  <sven@gimp.org>

	* tools/gimp-mkenums: use NC_() to mark enum values for 
translation.
	Use a lower-case short form of the type name as translation 
context.

	* libgimp/libgimp-intl.h: define the NC_() macro as noop.

	* libgimpbase/gimpbasetypes.[ch]
	* libgimpbase/gimpbase.def: added new functions to set and
	get a translation context on an enum type.

	* app/base/Makefile.am
	* app/core/Makefile.am
	* app/display/Makefile.am
	* app/paint/Makefile.am
	* app/plug-in/Makefile.am
	* app/text/Makefile.am
	* app/tools/Makefile.am
	* app/widgets/Makefile.am
	* libgimp/Makefile.am
	* libgimpbase/Makefile.am:
	* libgimpconfig/Makefile.am
	* libgimpthumb/Makefile.am
	* libgimpwidgets/Makefile.am: register the translation context
	with the enum types.

	* app/display/display-enums.h
	* libgimpbase/gimpbaseenums.h
	* libgimpconfig/gimpcolorconfig-enums.h: removed old-style 
explicit
	translation context.

	* app/base/base-enums.c
	* app/core/core-enums.c
	* app/display/display-enums.c
	* app/paint/paint-enums.c
	* app/plug-in/plug-in-enums.c
	* app/text/text-enums.c
	* app/tools/tools-enums.c
	* app/widgets/widgets-enums.c
	* libgimpbase/gimpbaseenums.c
	* libgimpconfig/gimpcolorconfig-enums.c
	* libgimpwidgets/gimpwidgetsenums.c: regenerated.


svn path=/trunk/; revision=27562
2008-11-06 08:28:28 +00:00
Sven Neumann 4762b73403 bumped minimum required version of GLib to 2.18.0.
2008-11-04  Sven Neumann  <sven@sven>

	* configure.in: bumped minimum required version of GLib to 
2.18.0.

	* INSTALL: document the updated dependency.

	* app/core/gimp.[ch]: introduced gimp_message_literal(), a 
variant
	of gimp_message() that takes a literal string.

	* app/errors.[ch]: removed format arguments from 
gimp_fatal_error()
	and gimp_terminate() and let them take a literal string instead.

	* app/tools/gimptool.[ch]: introduced 
gimp_tool_message_literal(),
	a variant of gimp_tool_message() that takes a literal string.

	* app/actions/documents-commands.c
	* app/actions/drawable-commands.c
	* app/actions/edit-commands.c
	* app/actions/error-console-commands.c
	* app/actions/file-commands.c
	* app/actions/gradients-commands.c
	* app/actions/image-commands.c
	* app/actions/layers-commands.c
	* app/actions/palettes-commands.c
	* app/actions/plug-in-commands.c
	* app/actions/select-commands.c
	* app/actions/vectors-commands.c
	* app/config/gimprc.c
	* app/core/gimp-modules.c
	* app/core/gimp-parasites.c
	* app/core/gimp-templates.c
	* app/core/gimp-units.c
	* app/core/gimpchannel.c
	* app/core/gimpcontainer-filter.c
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage.c
	* app/core/gimpimagefile.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimplayer.c
	* app/core/gimpselection.c
	* app/dialogs/convert-dialog.c
	* app/dialogs/dialogs.c
	* app/dialogs/palette-import-dialog.c
	* app/dialogs/preferences-dialog.c
	* app/dialogs/quit-dialog.c
	* app/dialogs/stroke-dialog.c
	* app/display/gimpdisplayshell-dnd.c
	* app/file/file-open.c
	* app/file/file-procedure.c
	* app/file/file-save.c
	* app/file/file-utils.c
	* app/gegl/gimpcurvesconfig.c
	* app/gegl/gimplevelsconfig.c
	* app/gui/gui-message.c
	* app/gui/gui.c
	* app/gui/session.c
	* app/paint/gimpbrushcore.c
	* app/paint/gimpclone.c
	* app/paint/gimpheal.c
	* app/paint/gimpperspectiveclone.c
	* app/paint/gimpsourcecore.c
	* app/pdb/gimppdb-utils.c
	* app/pdb/gimpprocedure.c
	* app/plug-in/gimpplugin-message.c
	* app/plug-in/gimpplugin.c
	* app/plug-in/gimppluginmanager-restore.c
	* app/plug-in/gimppluginprocedure.c
	* app/text/gimptextlayer.c
	* app/tools/gimp-tools.c
	* app/tools/gimpaligntool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimpdesaturatetool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpforegroundselecttool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpgegltool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimpimagemaptool-settings.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimppainttool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimpselectiontool.c
	* app/tools/gimpsourcetool.c
	* app/tools/gimpthresholdtool.c
	* app/tools/gimptransformtool.c
	* app/tools/gimpvectortool.c
	* app/widgets/gimpactionview.c
	* app/widgets/gimpcontrollerlist.c
	* app/widgets/gimpcontrollers.c
	* app/widgets/gimpdataeditor.c
	* app/widgets/gimpdevices.c
	* app/widgets/gimpdnd-xds.c
	* app/widgets/gimperrordialog.c
	* app/widgets/gimphelp.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimppdbdialog.c
	* app/widgets/gimpsettingsbox.c
	* app/widgets/gimpvectorstreeview.c
	* app/widgets/gimpwidgets-utils.c
	* app/xcf/xcf-load.c
	* tools/pdbgen/pdb/convert.pdb
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/floating_sel.pdb
	* tools/pdbgen/pdb/image.pdb: use the _literal variants for
	g_set_error(), gimp_message() and gimp_tool_message().

	* app/pdb/convert-cmds.c
	* app/pdb/edit-cmds.c
	* app/pdb/floating-sel-cmds.c
	* app/pdb/image-cmds.c: regenerated.


svn path=/trunk/; revision=27548
2008-11-04 12:33:09 +00:00
Sven Neumann 2409d06ddb app/text/Makefile.am removed this header file.
2008-11-04  Sven Neumann  <sven@gimp.org>

	* app/text/Makefile.am
	* app/text/gimptext-private.h: removed this header file.

	* app/text/gimptextlayout.[ch]: added getters to access the
	resolution, text and PangoLayout.

	* app/text/gimptextlayout-render.c
	* app/tools/gimptexttool.c: use the new getters instead of 
poking
	into the GimpTextLayout struct.


svn path=/trunk/; revision=27543
2008-11-03 23:44:19 +00:00
Sven Neumann fe520925b7 app/base/Makefile.am app/core/Makefile.am app/display/Makefile.am
2008-11-03  Sven Neumann  <sven@gimp.org>

	
	* app/base/Makefile.am
	* app/core/Makefile.am
	* app/display/Makefile.am
	* app/paint/Makefile.am
	* app/plug-in/Makefile.am
	* app/text/Makefile.am
	* app/tools/Makefile.am
	* app/widgets/Makefile.am
	* libgimp/Makefile.am
	* libgimpbase/Makefile.am: 
	* libgimpconfig/Makefile.am
	* libgimpthumb/Makefile.am
	* libgimpwidgets/Makefile.am: micro-optimization in the 
generated
	enum registration code.

	* app/base/base-enums.c
	* app/core/core-enums.c
	* app/display/display-enums.c
	* app/paint/paint-enums.c
	* app/plug-in/plug-in-enums.c
	* app/text/text-enums.c
	* app/tools/tools-enums.c
	* app/widgets/widgets-enums.c
	* libgimpbase/gimpbaseenums.c
	* libgimpconfig/gimpcolorconfig-enums.c
	* libgimpwidgets/gimpwidgetsenums.c: regenerated.


svn path=/trunk/; revision=27538
2008-11-03 21:38:13 +00:00
Michael Natterer 56b5909c8a add "GimpImageType type" parameter because there are only a few calls to
2008-11-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable.[ch] (gimp_drawable_set_tiles): add
	"GimpImageType type" parameter because there are only a few calls
	to this function which (can easily pass the current type); however
	most calls to gimp_drawable_set_tiles_full() were just using the
	function because of the type argument and passed in the item's
	current offsets (which means peeking into the item struct or using
	temp variables).

	* app/core/gimpdrawable-offset.c (gimp_drawable_offset)
	* app/text/gimptextlayer.c (gimp_text_layer_render)
	* app/tools/gimptransformtool.c (gimp_transform_tool_doit): pass
	the type to set_tiles().

	* app/core/gimpchannel.c (gimp_channel_convert)
	* app/core/gimpimage-convert.c (gimp_image_convert)
	* app/core/gimplayer.c (gimp_layer_convert,add_alpha,flatten):
	change calls to set_tiles_full() into set_tiles() because the
	offset doesn't change.


svn path=/trunk/; revision=27535
2008-11-03 20:51:46 +00:00
Michael Natterer 847de4dda6 Bug 559015 – Move tool gives bad information about px moved
2008-11-03  Michael Natterer  <mitch@gimp.org>

	Bug 559015 – Move tool gives bad information about px moved

	* app/tools/gimpeditselectiontool.c (gimp_edit_selection_tool_init):
	set cursor precision to PIXEL_BORDER because that's what the move
	tool snaps to.

	Unrelated: set CENTER_CROSS_SIZE to an odd number so it's drawn
	symmetrically.


svn path=/trunk/; revision=27533
2008-11-03 19:31:58 +00:00
Michael Natterer 740ab5e633 renamed gimp_item_width() to gimp_item_get_width() and gimp_item_height()
2008-11-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem.[ch]: renamed
	gimp_item_width() to gimp_item_get_width() and
	gimp_item_height() to gimp_item_get_height().

	* app/actions/channels-commands.c
	* app/actions/drawable-commands.c
	* app/actions/layers-commands.c
	* app/core/<many>.c
	* app/dialogs/offset-dialog.c
	* app/dialogs/resize-dialog.c
	* app/dialogs/scale-dialog.c
	* app/display/gimpdisplayshell-dnd.c
	* app/display/gimpdisplayshell.c
	* app/paint/gimpbrushcore.c
	* app/paint/gimpdodgeburn.c
	* app/paint/gimpink.c
	* app/paint/gimppaintcore.c
	* app/paint/gimpsmudge.c
	* app/text/gimptextlayer-xcf.c
	* app/text/gimptextlayer.c
	* app/tools/gimpaligntool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpforegroundselecttool.c
	* app/tools/gimpimagemaptool.c
	* app/tools/gimprectangletool.c
	* app/tools/gimpregionselecttool.c
	* app/tools/gimptexttool.c
	* app/vectors/gimpvectors.c
	* app/vectors/gimpvectorsmodundo.c
	* app/widgets/gimptoolbox-dnd.c
	* app/widgets/gimpviewrendererdrawable.c
	* app/widgets/gimpviewrenderervectors.c
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c
	* tools/pdbgen/pdb/drawable.pdb: changed accordingly.

	* app/pdb/drawable-cmds.c: regenerated.


svn path=/trunk/; revision=27531
2008-11-03 00:09:01 +00:00
Michael Natterer 5b68a1d0eb renamed gimp_item_offsets() to gimp_item_get_offset() and
2008-11-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem.[ch]: renamed
	gimp_item_offsets() to gimp_item_get_offset() and
	gimp_item_set_offsets() to gimp_item_set_offset().

	* app/actions/drawable-commands.c
	* app/actions/layers-commands.c
	* app/core/<many>.c
	* app/display/gimpdisplayshell-dnd.c
	* app/display/gimpdisplayshell-preview.c
	* app/display/gimpdisplayshell-transform.c
	* app/display/gimpdisplayshell.c
	* app/paint/gimppaintcore-stroke.c
	* app/paint/gimppaintcore.c
	* app/paint/gimpsourcecore.c
	* app/text/gimptextlayer-xcf.c
	* app/tools/<many>.c
	* app/widgets/gimptoolbox-dnd.c
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/drawable_transform.pdb
	* tools/pdbgen/pdb/selection.pdb
	* tools/pdbgen/pdb/transform_tools.pdb
	* tools/pdbgen/pdb/vectors.pdb: changed accordingly.

	* app/pdb/drawable-cmds.c
	* app/pdb/drawable-transform-cmds.c
	* app/pdb/selection-cmds.c
	* app/pdb/vectors-cmds.c
	* app/pdb/transform-tools-cmds.c: regenerated.


svn path=/trunk/; revision=27529
2008-11-02 23:03:29 +00:00
Michael Natterer a748e3f58e add new functions gimp_get_image_iter(), display_iter() and
2008-11-02  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.[ch]: add new functions gimp_get_image_iter(),
	display_iter() and tool_info_iter().

	* app/tools/gimp-tools.c
	* app/tools/gimptexttool.c
	* app/tools/gimpvectortool.c
	* app/dialogs/quit-dialog.c
	* app/gui/gui.c
	* app/menus/windows-menu.c
	* app/actions/images-commands.c
	* app/actions/tools-actions.c
	* app/actions/windows-actions.c
	* app/actions/tool-options-commands.c
	* app/display/gimpdisplay.c
	* app/display/gimpdisplay-foreach.c
	* app/widgets/gimptoolbox.c
	* tools/pdbgen/pdb/image.pdb: use them here.

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


svn path=/trunk/; revision=27526
2008-11-02 21:34:14 +00:00
Michael Natterer d1ca165b4e add new functions gimp_image_get_layer_iter(), channel_iter() and
2008-11-02  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage.[ch]: add new functions
	gimp_image_get_layer_iter(), channel_iter() and vectors_iter()
	which return the GList inside the resp. GimpList.

	* app/actions/channels-actions.c
	* app/actions/layers-actions.c
	* app/actions/vectors-actions.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage-crop.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-flip.c
	* app/core/gimpimage-item-list.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-resize.c
	* app/core/gimpimage-rotate.c
	* app/core/gimpimage-scale.c
	* app/core/gimpimage.c
	* app/core/gimpimage.h
	* app/core/gimpprojection-construct.c
	* app/display/gimpdisplayshell-draw.c
	* app/file/file-open.c
	* app/tools/gimpaligntool.c
	* app/tools/gimpdrawtool.c
	* app/vectors/gimpvectors-compat.c
	* app/vectors/gimpvectors-export.c
	* app/widgets/gimplayertreeview.c
	* app/xcf/xcf-save.c
	* tools/pdbgen/pdb/image.pdb: use the new functions instead of
	peeking both into the image and the list. Remove inclusions of
	"gimplist.h" or change them into "gimpcontainer.h" if needed.

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


svn path=/trunk/; revision=27524
2008-11-02 20:46:57 +00:00
Michael Natterer 5fdbd3f58e set the MOVE cursor when we are in MOVING mode.
2008-11-01  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_cursor_update): set the MOVE cursor when we
	are in MOVING mode.

	* app/tools/gimptexttool.[ch]: remove members x1,x2,y1,y2 and use
	the rectangle tool's bounding box for creating the text layer (x2
	and y2) were unused anyway. Add boolean member "moving". Implement
	oper_update() and set the tool to moving mode when ALT is pressed.
	Changed button_press(), button_release() and motion() accordingly.
	Some more cleanup and removal of comented out code.


svn path=/trunk/; revision=27519
2008-11-01 19:05:56 +00:00
Michael Natterer f7287be7b5 app/tools/gimptool.[ch] made all GimpCoords* in the tool API const.
2008-11-01  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptool.[ch]
	* app/tools/tool_manager.[ch]: made all GimpCoords* in the tool
	API const.

	* app/tools/gimpaligntool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpbrushtool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpcolortool.c
	* app/tools/gimpconvolvetool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimpdodgeburntool.c
	* app/tools/gimpeditselectiontool.[ch]
	* app/tools/gimperasertool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpforegroundselecttool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimppainttool.c
	* app/tools/gimpperspectiveclonetool.c
	* app/tools/gimprectangleselecttool.c
	* app/tools/gimprectangletool.[ch]
	* app/tools/gimpregionselecttool.c
	* app/tools/gimpselectiontool.[ch]
	* app/tools/gimpsourcetool.c
	* app/tools/gimptexttool.c
	* app/tools/gimptransformtool.c
	* app/tools/gimpvectortool.c: changed accordingly and added const
	to all GimpCoords* in utility functions too.

	* app/tools/gimptexttool.c: don't modify the passed coords. In
	fact, simply removed the code that did because it had no effect.


svn path=/trunk/; revision=27517
2008-11-01 15:17:36 +00:00
Martin Nordholts a9e187586b Prefix the GIMP GEGL operations with "gimp:" instead of "gimp-" so we
* app/gegl/gimpoperation*.c: Prefix the GIMP GEGL operations with
"gimp:" instead of "gimp-" so we follow the GEGL prefix style and
better serialize to XML.

* app/tools/gimp*tool.c

* app/core/gimpdrawable-*.c
* app/core/gimpdrawable.c
* app/core/gimpimagemap.c
* app/core/gimpprojection.c: Changed accordingly.

svn path=/trunk/; revision=27512
2008-11-01 12:08:35 +00:00
Michael Natterer 5400234712 bail out when the passed display is != tool->display. Makes the keyboard
2008-10-31  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptexttool.c (gimp_text_tool_key_press): bail out
	when the passed display is != tool->display. Makes the keyboard
	work in other displays while the text tools is active.


svn path=/trunk/; revision=27498
2008-10-31 16:49:59 +00:00
Michael Natterer f971d31ff1 add gimp_draw_tool_draw_text_cursor() which draws a properly transformed
2008-10-31  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpdrawtool.[ch]: add gimp_draw_tool_draw_text_cursor()
	which draws a properly transformed cursor that always has the same
	line width.

	* app/tools/gimptexttool.c (gimp_text_tool_draw): use it instead
	of drawing a cursor here that is broken at anything but 1:1 zoom.


svn path=/trunk/; revision=27497
2008-10-31 16:48:29 +00:00
Michael Natterer 106b09f5ae bail out instead of crashing if the tool has no display.
2008-10-31  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptexttool.c (gimp_text_tool_key_press): bail out
	instead of crashing if the tool has no display.

	(gimp_text_tool_draw)
	(gimp_text_tool_draw_preedit)
	(gimp_text_tool_draw_selection)
	(gimp_text_tool_xy_to_offset): need to adjust all drawing and
	event coordinates by a possible negative offset between logical
	rectangle and ink rectangle (if the ink rectangle is larger than
	the logical one).

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_tool_events): continue normally if
	tool_manager_key_press_active() returns FALSE.


svn path=/trunk/; revision=27484
2008-10-30 23:13:24 +00:00
Michael Natterer 7ee008bc48 remove lots of unused variables, apparently my builds were without proper
2008-10-30  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptexttool.c: remove lots of unused variables,
	apparently my builds were without proper warnings for some time.
	Some formatting cleanup and code reordering.

	* app/actions/text-tool-actions.c
	* menus/text-tool-menu.xml: rename "text-tool-input-methods"
	to "text-tool-input-methods-menu".


svn path=/trunk/; revision=27482
2008-10-30 22:18:16 +00:00
Sven Neumann b1ff252ca9 Bug 558451 – Cannot build GIMP using Sun CC on Solaris 2.8
2008-10-29  Sven Neumann  <sven@gimp.org>

	Bug 558451 – Cannot build GIMP using Sun CC on Solaris 2.8

	* app/pdb/gimp-pdb-compat.c
	* app/gegl/gimpoperationtilesink.c
	* app/gegl/gimpoperationtilesource.c
	* app/tools/gimpgegltool.c: applied patches from Eric Lamarque
	fixing the build using Sun CC on Solaris.


svn path=/trunk/; revision=27467
2008-10-29 22:24:08 +00:00
Michael Natterer 5530ef6376 turn nested if()s into a switch(release_type).
2008-10-28  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpmagnifytool.c (gimp_magnify_tool_button_release):
	turn nested if()s into a switch(release_type).


svn path=/trunk/; revision=27455
2008-10-28 18:32:40 +00:00
Martin Nordholts cf660f3e94 Bug 556603 – Zoom region always zooms in center of image
* app/tools/gimpmagnifytool.c (gimp_magnify_tool_button_release):
When zooming with a click, use gimp_display_shell_scale() instead
of local zoom logic.

svn path=/trunk/; revision=27452
2008-10-28 18:12:20 +00:00
Michael Natterer 88db29948b added "gboolean below" to gimp_enum_radio_frame_add() and
2008-10-28  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpwidgets-utils.[ch]: added "gboolean below" to
	gimp_enum_radio_frame_add() and gimp_enum_radio_box_add() and
	place the widget right of the radio button unless "below" is TRUE.

	* app/dialogs/convert-dialog.c
	* app/dialogs/layer-add-mask-dialog.c
	* app/tools/gimpbucketfilloptions.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpperspectiveclonetool.c
	* app/widgets/gimpfilleditor.c: pass TRUE so everything stays as-is.


svn path=/trunk/; revision=27450
2008-10-28 17:40:32 +00:00
Michael Natterer 73410cef60 some minor cleanups.
2008-10-27  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptexttool.c: some minor cleanups.

	(gimp_text_tool_draw): draw a cursor of two pixels width which is
	between glyphs so it is visible both at the left and the right
	border or the rectangle. Also make it look a little more
	cursor-like.


svn path=/trunk/; revision=27446
2008-10-27 21:22:50 +00:00
Michael Natterer c0cb7c1409 menus/text-tool-menu.xml app/actions/text-tool-actions.c add "Text along
2008-10-27  Michael Natterer  <mitch@gimp.org>

	* menus/text-tool-menu.xml
	* app/actions/text-tool-actions.c
	* app/actions/text-tool-commands.[ch]: add "Text along Path" to the
	text tool context menu.

	* app/tools/gimptextoptions.[ch]: remove the text along path
	button here.

	* app/tools/gimptexttool.c: changed accordingly.

	* app/tools/gimptexttool.[ch]: move public functions together,
	move all virtual function implementations together and put them in
	order, made the text along path function public, factor out
	gimp_text_tool_xy_to_offset() instead of duplicaing this code
	three times, remove gimp_rectangle_tool_frame_item() because it
	doesn't belong here.

	* app/tools/gimprectangletool.[ch]: add
	gimp_rectangle_tool_frame_item() here. Enselic, please process ;)


svn path=/trunk/; revision=27444
2008-10-27 16:21:03 +00:00
Sven Neumann 4ce3a62572 removed unused includes.
2008-10-27  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptexttool.c: removed unused includes.

	* app/actions/text-tool-commands.c 
(text_tool_load_cmd_callback):
	fixed file dialog for opening text files.


svn path=/trunk/; revision=27441
2008-10-27 12:23:40 +00:00
Michael Natterer b258af7af8 take the layout line's x coordinate into account so the stuff works for
2008-10-27  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptexttool.c (gimp_text_tool_key_press): take the
	layout line's x coordinate into account so the stuff works for
	right-aligned or centered text.


svn path=/trunk/; revision=27440
2008-10-27 11:49:19 +00:00
Michael Natterer 50f043c3a2 argh, need to speak in byte offsets not character offsets. Do so and avoid
2008-10-27  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptexttool.c (gimp_text_tool_key_press): argh, need
	to speak in byte offsets not character offsets. Do so and avoid
	getting the buffer's text on each keystroke just to do the
	char/byte conversion. Will use the same method for all the other
	places which do similar things.

	(gimp_text_tool_connect): minor cleanup.


svn path=/trunk/; revision=27439
2008-10-27 11:00:15 +00:00
Sven Neumann 033fcf1628 added new enum GimpTextHintStyle.
2008-10-27  Sven Neumann  <sven@gimp.org>

	* libgimpbase/gimpbaseenums.[ch]: added new enum 
GimpTextHintStyle.

	* libgimp/gimpenums.c.tail
	* tools/pdbgen/enums.pl: regenerated.

	* app/text/gimptext.[ch]: added new property "hint-style". 
Removed
	"autohint" property and mapped the boolean property "hinting" to
	the new enum property "hint-style".

	* app/text/gimptextlayout-render.c 
(gimp_text_layout_render_flags):
	use "hint-style".

	* app/tools/gimptextoptions.[ch]: changed tool options 
accordingly.

	* tools/pdbgen/pdb/text_layer.pdb: deprecated the "hinting" API
	and introduced getters and setters for "hint-style".

	* app/pdb/text-layer-cmds.c
	* app/pdb/internal-procs.c
	* libgimp/gimptextlayer_pdb.[ch]: regenerated.


svn path=/trunk/; revision=27432
2008-10-27 07:59:32 +00:00
Michael Natterer cd0885518b add gimp_draw_tool_set_clip_rect() which transforms the passed in
2008-10-27  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpdrawtool.[ch]: add gimp_draw_tool_set_clip_rect()
	which transforms the passed in GdkRectangle before setting it
	on the canvas.

	* app/tools/gimptexttool.c (gimp_text_tool_draw): use it instead
	of gimp_canvas_set_clip_rect().


svn path=/trunk/; revision=27431
2008-10-27 00:10:13 +00:00
Michael Natterer e16b92298d add integer x_pos member to remember the x cursor position when moving up
2008-10-27  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptexttool.h: add integer x_pos member to remember
	the x cursor position when moving up and down across shorter
	lines.

	* app/tools/gimptexttool.c (gimp_text_tool_key_press): implement
	moving the cursor up and down. The x_pos probably needs to be
	reset in a few more places but it seems to work pretty nicely
	already.


svn path=/trunk/; revision=27430
2008-10-26 23:30:23 +00:00
Michael Natterer cabd52129e handle Tab, some more cleanup.
2008-10-26  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptexttool.c: handle Tab, some more cleanup.


svn path=/trunk/; revision=27429
2008-10-26 21:50:20 +00:00
Michael Natterer 63b67cc716 more cleanup, mostly formatting.
2008-10-26  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptexttool.c: more cleanup, mostly formatting.


svn path=/trunk/; revision=27426
2008-10-26 20:46:50 +00:00
Michael Natterer ef66f5423f some formatting cleanup.
2008-10-26  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptexttool.c: some formatting cleanup.

	* app/tools/gimprectangletool.c: add one space.

	* app/actions/text-tool-actions.c: look at GDK_SELECTION_CLIPBOARD,
	not PRIMARY, to set the sensitivity of "Paste".


svn path=/trunk/; revision=27424
2008-10-26 20:05:11 +00:00
Michael Natterer 3a51f9b75f some general formatting cleanup.
2008-10-26  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptexttool.[ch]: some general formatting cleanup.

	(gimp_text_tool_key_press): implement ctrl-moving the cursor by
	words, handle Delete.

	(gimp_text_tool_delete_text): add boolean "backspace" parameter
	and delete forward when it's FALSE.

	* app/actions/text-tool-commands.c: pass an arbitrary TRUE to
	gimp_text_tool_delete_text() (it's not used because when called
	from here, there is always a selection).


svn path=/trunk/; revision=27423
2008-10-26 19:54:27 +00:00
Michael Natterer ee414d9e6f Merge on-canvas GSoC project:
2008-10-26  Michael Natterer  <mitch@gimp.org>

	Merge on-canvas GSoC project:

	* configure.in: check for pangocairo.

	* app/Makefile.am
	* app/text/Makefile.am: add its CFLAGS and LIBS.

	* app/text/gimptext-bitmap.[ch]
	* app/text/gimptext-private.h
	* app/text/gimptext-vectors.[ch]
	* app/text/gimptextlayer.c
	* app/text/gimptextlayout-render.c
	* app/text/gimptextlayout.c: port to pangocairo.

	* menus/Makefile.am
	* menus/text-tool-menu.xml
	* app/menus/menus.c
	* app/actions/Makefile.am
	* app/actions/actions.c
	* app/actions/text-tool-actions.[ch]
	* app/actions/text-tool-commands.[ch]: add a context menu for the
	text tool similar to GtkEntry's context menu.

	* app/tools/gimprectangletool.[ch]: add "narrow-mode" property.

	* app/tools/gimptextoptions.[ch]
	* app/widgets/gimptexteditor.[ch]: take a text buffer for the
	standalone text editor window instead of creating one internally.

	* app/tools/gimptexttool.[ch]: all the new wonderful on-canvas
	text editing logic. Wheee!


svn path=/trunk/; revision=27419
2008-10-26 17:39:55 +00:00
Sven Neumann b8d8f14749 added missing return value.
2008-10-26  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptool.c (gimp_tool_get_popup): added
	missing return value.


svn path=/trunk/; revision=27418
2008-10-26 16:36:01 +00:00
Sven Neumann 076541df9a added missing return value.
2008-10-26  Sven Neumann  <sven@gimp.org>

	* app/tools/tool_manager.c (tool_manager_get_popup_active): 
added
	missing return value.


svn path=/trunk/; revision=27417
2008-10-26 16:31:52 +00:00
Michael Natterer 68e6d7a610 Add some infrastructure for the on-canvas text editing GSoC project:
2008-10-26  Michael Natterer  <mitch@gimp.org>

	Add some infrastructure for the on-canvas text editing GSoC
	project:

	* app/tools/gimptoolcontrol.[ch]: add boolean wants_all_key_events
	member and API to set and get it.

	* app/tools/gimptool.[ch]: add GimpTool::get_popup() which returns
	the tool's context menu if it has one, or NULL otherwise.

	* app/tools/tool_manager.[ch]: add tool_manager_get_popup_active()
	wrapper.

	* app/display/gimpdisplayshell-callbacks.c: check if the tool has
	a popup menu and show it instead of the usual right-click menu.

	Also call the tool's key_press() unconditionally if it wants all
	key events, but this code needs more thinking.


svn path=/trunk/; revision=27416
2008-10-26 16:25:24 +00:00
Michael Natterer 39af762f61 More merging from SOC 2006's vector layer branch:
2008-10-25  Michael Natterer  <mitch@gimp.org>

	More merging from SOC 2006's vector layer branch:

	* app/core/gimpitem.[ch]: add "gboolean push_undo" to
	GimpItem::stroke().

	* app/core/gimpdrawable-stroke.[ch]
	* app/paint/gimppaintcore-stroke.[ch]
	* app/paint/gimppaintcore.[ch] (gimp_paint_core_finish): add
	"push_undo" parameters here too.

	* app/actions/select-commands.c
	* app/actions/vectors-commands.c
	* app/core/gimpchannel.c
	* app/core/gimpselection.c
	* app/dialogs/stroke-dialog.c
	* app/tools/gimppainttool.c
	* app/vectors/gimpvectors.c
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/paint_tools.pdb
	* tools/pdbgen/pdb/paths.pdb: pass TRUE all over the place.

	* app/pdb/edit-cmds.c
	* app/pdb/paint-tools-cmds.c
	* app/pdb/paths-cmds.c: regenerated.


svn path=/trunk/; revision=27398
2008-10-25 11:59:03 +00:00
Michael Natterer 3b053f79fa don't #include "libgimpwidgets/gimpwidgets.h".
2008-10-23  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.h: don't #include
	"libgimpwidgets/gimpwidgets.h".

	* app/display/gimpdisplayshell-draw.c
	* app/display/gimpdisplayshell-scale.c
	* app/tools/gimpeditselectiontool.c: include it here.


svn path=/trunk/; revision=27375
2008-10-23 09:42:55 +00:00
Sven Neumann 3bf04bd98c GEGL_IS_PARAM_SPEC_PATH() became GEGL_IS_PARAM_SPEC_FILE_PATH().
2008-10-21  Sven Neumann  <sven@sven>

	* app/tools/gimpgegltool.c (gimp_param_spec_duplicate):
	GEGL_IS_PARAM_SPEC_PATH() became GEGL_IS_PARAM_SPEC_FILE_PATH().


svn path=/trunk/; revision=27351
2008-10-21 14:25:23 +00:00
Sven Neumann 88340798f2 for the combo-box, strip known prefixes from the GEGL operation names and
2008-10-21  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpgegltool.c (gimp_gegl_tool_dialog): for the
	combo-box, strip known prefixes from the GEGL operation names 
and
	use icons instead.


svn path=/trunk/; revision=27350
2008-10-21 11:34:00 +00:00
Michael Natterer f2e93c0e78 add the gegl: prefix here too.
2008-10-15  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpgegltool.c (gimp_gegl_tool_operation_blacklisted):
	add the gegl: prefix here too.

	(gimp_gegl_tool_get_config): canonicalize the type name of the
	created config class or we crash.


svn path=/trunk/; revision=27286
2008-10-14 23:28:23 +00:00
Michael Natterer 1ccfc38561 add the gegl: prefix here too.
2008-10-15  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpgegltool.c (gimp_gegl_tool_operation_blacklisted):
	add the gegl: prefix here too.


svn path=/trunk/; revision=27285
2008-10-14 23:14:34 +00:00
Michael Natterer 880a699cae configure.in require GEGL >= 0.0.21.
2008-10-14  Michael Natterer  <mitch@gimp.org>

	* configure.in
	* app/sanity.c: require GEGL >= 0.0.21.

	* app/core/gimpchannel.c
	* app/core/gimpdrawable-brightness-contrast.c
	* app/core/gimpdrawable-invert.c
	* app/core/gimpimage.c
	* app/core/gimpimagemap.c
	* app/core/gimplayer.c
	* app/gegl/gimp-gegl-utils.c
	* app/tools/gimpbrightnesscontrasttool.c: GEGL operation names
	are now "gegl:"-prefixed.

	* app/core/gimpimagemap.c: set the node's "dont-cache" property
	unconditionally.


svn path=/trunk/; revision=27284
2008-10-14 22:44:42 +00:00
Michael Natterer ac745422b9 flush the image after setting active items back from temporarily selected
2008-10-10  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpmovetool.c (gimp_move_tool_button_release): flush
	the image after setting active items back from temporarily
	selected ones. Fixes menu item sensitivity.


svn path=/trunk/; revision=27209
2008-10-10 15:41:03 +00:00
Michael Natterer 5503e6a055 Add GEGL_CFLAGS and #includes as if gimpdrawable.h and gimpimage.h had a
2008-10-09  Michael Natterer  <mitch@gimp.org>

	Add GEGL_CFLAGS and #includes as if gimpdrawable.h and gimpimage.h
	had a GEGL dependency (they will have in the next commit, but I
	wanted to keep the commit separate).

	* app/dialogs/Makefile.am
	* app/file/Makefile.am
	* app/gui/Makefile.am
	* app/menus/Makefile.am
	* app/paint/Makefile.am
	* app/plug-in/Makefile.am
	* app/text/Makefile.am
	* app/vectors/Makefile.am
	* app/widgets/Makefile.am
	* app/xcf/Makefile.am: add GEGL_CFLAGS.

	* app/actions/*.c
	* app/core/*.c
	* app/dialogs/*.c
	* app/display/*.c
	* app/file/*.c
	* app/gui/*.c
	* app/menus/*.c
	* app/paint/*.c
	* app/pdb/gimppdb-utils.c
	* app/pdb/gimpprocedure.c
	* app/plug-in/*.c
	* app/text/*.c
	* app/tools/*.c
	* app/vectors/*.c
	* app/widgets/*.c
	* app/xcf/*.c: add <gegl.h> or replace <glib-object.h> by <gegl.h>
	to all files which include a drawable subclass or gimpimage.h

	* tools/pdbgen/app.pl: include <gegl.h> instead of <glib-object.h>
	in all generated files.

	* app/pdb/*-cmds.c: regenerated.

	* data/images/gimp-splash.png: the goat is still sleeping.
	By Aurore Derriennic.


svn path=/trunk/; revision=27202
2008-10-09 20:24:04 +00:00
Michael Natterer 0e4a35a2d8 Remove the last code duplication from the undo system (or if not the last
2008-10-09  Michael Natterer  <mitch@gimp.org>

	Remove the last code duplication from the undo system (or if not
	the last then at least the most ugly):

	* app/core/gimpimage.[ch] (gimp_image_add_layer,channel,vectors):
	add "gboolean push_undo" parameter and add the item without
	touching undo if it's TRUE. Changed assertions from
	g_object_is_floating() to !gimp_item_is_attached() so they also
	take items from the undo stack and not only newly created ones.

	(gimp_image_remove_layer,channel,vectors): add "push_undo"
	parameter here too. Also add a "new_active" parameter where an
	optional new active item can be passed.

	(gimp_image_remove_layer,channel): these functions must not be
	called with push_undo=FALSE and a floating selection attached to
	the layer/channel. This can't currently happen; added warnings in
	case other code is changed and makes it happen anyway.

	* app/core/gimpchannelundo.c
	* app/core/gimplayerundo.c
	* app/vectors/gimpvectorsundo.c: use above functions to add/remove
	items instead of duplicating (parts of) their code. Pass
	push_undo=FALSE and the previously active item to the remove()
	functions.

	* app/actions/channels-commands.c
	* app/actions/edit-commands.c
	* app/actions/layers-commands.c
	* app/actions/vectors-commands.c
	* app/core/gimp-edit.c
	* app/core/gimpchannelundo.c
	* app/core/gimpimage-crop.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-quick-mask.c
	* app/core/gimpimage-scale.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimplayerundo.c
	* app/core/gimpselection.c
	* app/core/gimptemplate.c
	* app/display/gimpdisplayshell-dnd.c
	* app/text/gimptext-compat.c
	* app/tools/gimptexttool.c
	* app/tools/gimpvectortool.c
	* app/vectors/gimpvectors-import.c
	* app/vectors/gimpvectorsundo.c
	* app/widgets/gimpchanneltreeview.c
	* app/widgets/gimpitemtreeview.[ch]
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimptoolbox-dnd.c
	* app/widgets/gimpvectorstreeview.c
	* app/xcf/xcf-load.c
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/paths.pdb: changed accordingly (pass TRUE
	unless it's a new image like when loading and XCF file).

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


svn path=/trunk/; revision=27200
2008-10-09 19:40:41 +00:00
Michael Natterer e21935a7b9 Bug 134956 – Curves tool doesn't save free curves
2008-10-09  Michael Natterer  <mitch@gimp.org>

	Bug 134956 – Curves tool doesn't save free curves

	* app/core/gimpmarshal.list
	* app/widgets/gimpsettingsbox.[ch]: add signal "file-dialog-setup"
	and emit it when the export/import file chooser is fully
	constructed. Callbacks can then do additional things to the
	dialog, like adding custom buttons.

	* app/tools/gimpcurvestool.h
	* app/tools/gimplevelstool.h: add boolean member
	"export_old_format".

	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c (gimp_*_tool_dialog): connect to
	the settings box' "file-dialog-setup".

	(gimp_*_tool_export_setup): new callback which adds a toggle to
	the file choosers that allows to export to the old format.
	Default saving the new format, we defaulted to the old one before.

	(gimp_*_tool_settings_export): check the "export_old_format"
	boolean and only save the cruft format if it is TRUE; chain up
	otherwise, which generically saves the new format.

	* app/tools/gimplevelstool.c (gimp_levels_tool_settings_import):
	add the same file format detection code as in the curves tool
	so it transparently loads old and new levels files.


svn path=/trunk/; revision=27194
2008-10-09 15:25:59 +00:00
Michael Natterer 62e7dcc640 reorder sections consistently. Remove redundant CFLAGS.
2008-10-07  Michael Natterer  <mitch@gimp.org>

	* app/*/Makefile.am: reorder sections consistently. Remove
	redundant CFLAGS.


svn path=/trunk/; revision=27163
2008-10-07 11:58:14 +00:00
Hans Breuer d94419a9fd updated include <string.h> for memcmp() include <string.h> for strcmp()
2008-10-03  Hans Breuer  <hans@breuer.org>

	* **/makefie.msc gimpdefs.msc app/gimpcore.def : updated
	* app/core/gimpcurve.c : include <string.h> for memcmp()
	* app/gegl/gimpcurvesconfig.c : include <string.h> for strcmp()

svn path=/trunk/; revision=27118
2008-10-03 19:27:54 +00:00
Sven Neumann d5be34058c add "text" to the list of blacklisted operations.
2008-10-02  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpgegltool.c 
(gimp_gegl_tool_operation_blacklisted):
	add "text" to the list of blacklisted operations.


svn path=/trunk/; revision=27114
2008-10-02 19:08:16 +00:00
Michael Natterer 52c61f6b5f keep a "default_config" object around and use it to reset the tool if it
2008-09-30  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpimagemaptool.[ch]: keep a "default_config" object
	around and use it to reset the tool if it exists.

	(gimp_image_map_tool_edit_as): set the default_config on the new
	tool so "reset" goes back to the values the tool was started with.

	* app/tools/gimpcolorbalencetool.c (gimp_color_balance_tool_reset)
	* app/tools/gimpcurvestool.c (gimp_curves_tool_reset)
	* app/tools/gimphuesaturationtool.c (gimp_hue_saturation_tool_reset)
	* app/tools/gimplevelstool.c (gimp_levels_tool_reset): use the
	default config to reset the tool here too if it exists.


svn path=/trunk/; revision=27090
2008-09-30 13:46:08 +00:00
Martin Nordholts 63ca4578b9 Bug 549925 – incorrect math: adding/substracting empty selection
deselects selection

* app/tools/gimprectangleselecttool.c
(gimp_rectangle_select_tool_execute): Be more intuitive when
clicking outside the current selection for the selection modes Add
and Subtract. More specifically, don't alter the selection mask at
all.

svn path=/trunk/; revision=27048
2008-09-24 21:15:54 +00:00
Martin Nordholts f08e322809 Added new utility function gimp_rectangle_select_tool_get_operation(), and
* app/tools/gimprectangleselecttool.c: Added new utility function
gimp_rectangle_select_tool_get_operation(), and started using it.

svn path=/trunk/; revision=27047
2008-09-24 20:55:55 +00:00