Commit Graph

14510 Commits

Author SHA1 Message Date
Michael Natterer fb2ba3f289 app: remove display parameters from all virtual GimpTransformTool functions 2011-03-27 22:39:31 +02:00
Michael Natterer eb4f01039a app: add utility function gimp_transform_polygon_is_convex()
and use it in GimpTransformTool and GimpCanvasTransformPreview.
2011-03-27 22:04:33 +02:00
Michael Natterer caa8cdd4c1 app: add gimp_transform_options_show_preview()
which returns whether or not to show a transform preview. Also clean
up gimp_transform_tool_draw() a bit and add a stroke group for the
center handle.
2011-03-27 21:49:34 +02:00
Michael Natterer 8a09fd1f34 app: refactor GimpCanvasTransformPreview to not know GimpTransformTool any more
Instead, add drawable, transform, x1, y1 etc. properties. This is
cleaner and has the nice side effect of not leaving artifacts, because
the changed state of the transform tool doesn't affect the extents
calculation any longer.
2011-03-27 21:19:38 +02:00
Michael Natterer 6fe9430cab app: remove members "type" and "direction" from GimpTransformTool
and use the stuff from GimpTransformOptions directly. The copied
values were only there because of XOR drawing. Also did some more
cleanup and junk removal.
2011-03-27 17:38:49 +02:00
Michael Natterer 1d9f95ac98 app: code cleanup and streamlining in GimpCanvasTransformPreview 2011-03-27 16:54:21 +02:00
Michael Natterer 92aeeadecf app: remove unused macros from gimpdrawable-transform.c 2011-03-27 16:53:48 +02:00
Michael Natterer f09be52c1b app: turn the transform preview into a GimpCanvasItem
And remove all the complicated handling code entirely. This makes
GimpTransformTool a lot less complex. As a nice side effect, the
preview is now always 100% in sync with the grid and handles.
2011-03-27 16:40:41 +02:00
Michael Natterer cf28e07b64 app: move enum TransformAction from tools-enums.h to gimptransformtool.h
Moving it to tools-enums.h was a mistake, it's actually supposed to be
a private enum, accessible only by subclasses. And it's ugly.
2011-03-26 22:32:35 +01:00
Michael Natterer f632c4a8aa app: transform the transform grid lines on the fly
which is much less code than keeping the transformed lines around.
2011-03-26 22:14:07 +01:00
Michael Natterer 74f276fe4f app: make sure GimpTransformTool draws correctly after options changes 2011-03-26 21:53:06 +01:00
Michael Natterer deafe3d341 app: remove some entirely useless members from GimpTransformTool 2011-03-26 20:40:35 +01:00
Michael Natterer 6c524ea1db app: GimpSessionInfo: use brute force to position dialogs
Window managers are such a crap. So on top of all friendly hinting and
geometry setting, simply use gtk_window_move() whenever a session
managed GtkDialog is shown. It should be very hard to ignore that, but
of course the WM has the last word no matter how hard we try.

Note: this code should be more complex and the signal connection
should happen in GimpDialogFactory. Left it in GimpSessionInfo for now
until it got a bit of testing.
2011-03-26 19:47:44 +01:00
Michael Natterer c629cbeb89 app: some formatting cleanup in GimpDialogFactory 2011-03-26 19:32:59 +01:00
Michael Natterer 6606d10be1 app: gimp_transform_tool_transform(): don't unref NULL orig_tiles 2011-03-26 18:57:31 +01:00
Michael Natterer ae72971866 app: pass the orig_tiles and their offset to GimpTransformTool::transform()
instead of keeping them around as members. This is another artifact
from ancient times. Also get rid of some more legacy junk
code. Disable more code in GimpTransformToolUndo but keep it around
even though it does nothing at the moment.
2011-03-26 18:45:58 +01:00
Michael Natterer 88ee23aa29 app: move some of the new tile offset variables to local scopes 2011-03-26 18:37:34 +01:00
Michael Natterer 047d31fa68 app: gimp_drawable_transform: place new the tiles at offset_x, offset_y
and not at offset_y, offset_y (typo).
2011-03-26 16:50:38 +01:00
Michael Natterer bc8d5f84d6 app: remove the "offset" API from TileManager
It made the transform code hard to read and never belonged into the
tile manager anyway. It's a simple pixel buffer that should not know
about any position in an image. Instead, pass around the offsets of
tile managers explicitly, so everything is less obscure for the price
of having more parameters. This will also help replacing TileManagers
with GeglBuffers.
2011-03-26 08:30:15 +01:00
Mukund Sivaraman 41ab7d8e10 Remove broken include 2011-03-26 10:55:21 +05:30
Michael Natterer 6ec5190da2 app: remove unused files base/tile-manager-crop.[ch] 2011-03-26 00:10:19 +01:00
Michael Natterer 9424d42d36 pdb: apply recent fixes to the deprecated transform procedures
Don't transform the tiles of group layers, use the item transform API
instead. Go the same code path if there is no selection.
2011-03-25 22:35:46 +01:00
Michael Natterer 1a359a138d pdb: don't recommend deprecated replacement procedures for deprecated procedures 2011-03-25 22:03:14 +01:00
Michael Natterer 4d7dbe233d pdb: do the same optimization as in the transform tool in the commit below 2011-03-25 21:57:56 +01:00
Michael Natterer 3ed87015a6 app: if there is no selection, don't cut/transform/paste in the transform tool
instead, take the easy path that simply calls gimp_item_transform()
and does exactly the same, just less weird.
2011-03-25 21:50:58 +01:00
Michael Natterer bef6d5716a app: use a tool progress for GimpTransformTool 2011-03-25 21:35:19 +01:00
Michael Natterer f078a7416c app: remove some junk from GimpTransformTool
which was there for the purpose of transfomring the same buffer
multiple times (which would be nice but is broken and disabled for
ages). Also remove some junk that was there for unknown reasons, this
tool has a long history.
2011-03-25 21:32:08 +01:00
Michael Natterer a5549ece52 app: don't pause/resume the shell (and the active tool) around expose()
This was only there to make sure XOR drawing works, and is now
complete overhead since cairo drawing is done *in* expose, and not in
some hack around it.
2011-03-25 21:28:21 +01:00
Michael Natterer 6fdcc5f465 app: add a progress indicator for cage transform
- add a double "progress" property to GimpOperationCageTransform
  and update it every 20 rows
- connect to the notify::progress in the tool and display a tool
  progress
2011-03-25 15:41:53 +01:00
Michael Natterer 41b905baa8 app: make GimpTool implement the GimpProgress interface properly
and remove the previously added quick hack. Change the cage progress
code to standard progress code, and use the tool progress also in
blend.
2011-03-25 10:55:07 +01:00
Michael Natterer 8daee72518 app: various GimpCageTool fixes
- completely halt the tool before starting it
- bail out on options changes when the tool is not active
- initialy set the mode to CAGE_CHANGE
- indentation, formatting, various small cleanups
2011-03-25 10:18:56 +01:00
Michael Natterer e9dd30127a app: add an on-canvas progress facility to GimpTool
and use it in GimpCageTool.
2011-03-25 09:48:26 +01:00
Michael Natterer 927ce61ce1 app: use a data delete dialog in the tool options' preset delete menu 2011-03-24 21:54:40 +01:00
Michael Natterer 920d1a42e9 app: move the GimpData delete confirm dialog to its own files 2011-03-24 21:46:40 +01:00
Michael Natterer afa8a416c9 app: don't crash if GimpBrushTool has no dynamics to paint a brush outline
Also, set the BAD cursor when there isn't both brush and dynamics
available.
2011-03-24 20:21:57 +01:00
Michael Muré 8b87e633b3 gimp:cage-transform : iterate over y then x, to follow memory organisation 2011-03-24 19:57:47 +01:00
Michael Muré b6ef32f580 gimp:cage-transform : when pre-filling the buffer, do a check if the pixel is
inside of the bounding box before computing if it's inside the cage
2011-03-24 19:38:14 +01:00
Michael Muré 635d1ba37d gimp:cage-transform : fusion of two loop that didn't need to be seperate 2011-03-24 19:13:39 +01:00
Michael Muré b87e5c10b3 gimp:cagetransform : move a call to babl_format_n outside of loops 2011-03-24 19:00:45 +01:00
Mikael Magnusson 5a5f47d903 cagetool: move malloc out of inner loop 2011-03-24 17:02:57 +01:00
Michael Natterer b590804212 app: move GimpFilteredContainer's match logic to a utility function 2011-03-24 13:10:43 +01:00
Michael Natterer aec66d0c26 app: make GimpTaggedContainer properly memory manage the filter list
instead of leaking it. Also make the fact that tags in the list can
validly be NULL obvious by adding utility functions
gimp_tag_or_null_ref/unref().
2011-03-24 12:28:45 +01:00
Michael Natterer 7eda388fec app: fix possible GimpTagEntry crash by keeping the query idle ID around
Remove it in gimp_tag_query_dispose().
2011-03-24 09:55:32 +01:00
Michael Natterer ac7aab2376 app: forgot to remove member GimpTaggedContainer:src_container 2011-03-24 09:43:21 +01:00
Michael Natterer d64eae8c4e app: use gimp_tagged_has_tag() instead of imlementing the same
and some general cleanup.
2011-03-24 09:17:44 +01:00
Michael Natterer 39d2067058 app: add gimp_tagged_has_tag(), and some cleanup in GimpTagged 2011-03-24 09:17:39 +01:00
Michael Natterer 1659f62e2c app: small style cleanup in the merged cage code 2011-03-23 22:29:00 +01:00
Michael Natterer f2d5831ee2 app: virtualize the add/remove/freeze/thaw logic of GimpFilteredContainer
and derive GimpTaggedContainer from it, removing a lot od code
dupliucation.
2011-03-23 22:12:49 +01:00
Michael Natterer 014a333d27 app: fix GimpTaggedContainer's base class
And make it use the sort_func from the src_container which must
now be a GimpList (which is likely temporary).
2011-03-23 21:51:56 +01:00
Michael Natterer b49fdd4fd0 app: fix GimpTaggedContainer to work with multiple views
Refactor the container so it dynamically inserts/removes items when
their tags change, rather than implicitly relying on the filter logic
that was only triggered when the view called set_filter(). Before,
another view on the same original container would not update
automatically.
2011-03-23 20:57:04 +01:00
Michael Muré 2aeac1cf4e Merge branch 'soc-2010-cage-2' 2011-03-23 20:07:17 +01:00
Michael Natterer 91195e8593 app: remove the old tool presets system
Instead, keep around a GimpFilteredContainer in GimpToolInfo that
maintains a per-tool list of presets from the global preset factory.
Turn the tool options dialog's preset Save/Restore/Edit/Delete menus
and buttons into shortcuts for managing the active tool's presets.
2011-03-23 09:27:29 +01:00
Michael Natterer f3a99ed8f7 app: turn GimpFilteredContainer into a general purpose filter 2011-03-22 23:41:42 +01:00
Michael Natterer 051ef0ebcb app: add GimpTaggedContainer
which is a copy of GimpFilteredContainer with s/Filtered/Tagged/ and
no other change. #if 0 GimpFilteredContainer for now and use
GimpTaggedContainer instead all over the place.
2011-03-22 23:11:46 +01:00
Michael Natterer 49710c1cd4 app: cosmetic cleanups in GimpFilteredContainer 2011-03-22 22:26:30 +01:00
Michael Natterer 7cf14bd390 app: allow to change GimpToolPreset's icon
Also add an image and label that show what tool the preset is for.
This clearly needs more work...
2011-03-22 22:09:03 +01:00
Michael Natterer fa9453eea1 app: add gimp_prop_icon_picker_new()
and use it in GimpTemplateEditor instead of handling the icon picker
manually.
2011-03-22 15:20:03 +01:00
Michael Natterer ab9cb53be8 app: gimp_tool_preset_new(): ignore the passed name
and use GimpToolInfo's blurb, so new presets are by default called
"Blend", "Paintbrush" etc. and not simply "Untitled".
2011-03-22 15:08:11 +01:00
Michael Natterer 33dd20750f Bug 645456 - Inconsistent window (role) naming scheme
"preferences" -> "gimp-preferences"
2011-03-21 21:49:08 +01:00
Omari Stephens cc04620b96 Adjust Bug 559716 bugfix to not test exact double equality 2011-03-21 16:53:35 +01:00
Michael Natterer ec1108d62a Bug 559716 - Changing crop size in Crop Tool Options can make UI unresponsive
In gimp_rectangle_tool_update_options(), freeze()/thaw() notifications
around setting setting x, y, width, height, so all values are
up-to-date when "notify" is emitted. Also, only set the values that
have actually changed so we don't process notifications when no change
was done.
2011-03-21 14:38:26 +01:00
Michael Natterer a90961ef4a app: make GimpTextStyleEditor look a bit nicer
Add some spacing and move the color button to the bottom.
2011-03-21 01:00:37 +01:00
Michael Natterer 38287ba9f4 app: GimpTextTool: use the highlight color for the selected text 2011-03-20 23:59:19 +01:00
Michael Natterer 6378e9fc4d app: rename member GimpImageMapTool->shell to ->dialog
"shell" has confused me once too often today...
2011-03-20 18:27:11 +01:00
Michael Natterer 4149452279 Bug 643155 - Tool dialogs don't stay on top of the image window
Change the "GtkWidget *parent" parameter of GimpToolDialog to
"GimpDisplayShell". Also add API gimp_tool_dialog_set_shell() so an
existing dialog can be used on different images. Make sure the dialog
closes when the shell is unmapped (like when switching tabs in SWM),
and make the dialog transient for the toplevel GimpImageWindow.

Change all tool dialog users accordingly.
2011-03-20 18:15:42 +01:00
Michael Natterer 13bedf69e2 app: minor cleanups in GimpColorPickerTool 2011-03-20 16:57:23 +01:00
Michael Natterer 1f5e180334 app: move GimpToolDialog from app/widgets/ to app/display/
Zero logic changes yet, just a rename.
2011-03-20 13:34:03 +01:00
Michael Natterer c469dbb206 libgimpwidgets: turn GimpDialog's "parent" into a property
and remove the parent peoperty from GimpViewableDialog.
2011-03-20 12:44:03 +01:00
Michael Natterer 6d97fd3887 app: use a size entry instead of a spinbutton in GimpTextStyleEditor
so it's finally clear what unit the text size has.
2011-03-20 12:37:01 +01:00
Alexia Death 5f546938b6 app: Fix whitespace in last commit 2011-03-19 23:27:08 +02:00
Alexia Death 6d6ab78d2a app: Fix stroking brush size to brush default 2011-03-19 23:26:34 +02:00
Alexia Death ce606d9561 app: Fix a dynamics leak from new pdb fix 2011-03-19 22:48:17 +02:00
Alexia Death 5d5430e110 app: Fix pdb size and dynamics brush stuff
[ Mikael: deduplicated brush size setting and fixed some whitespace ]
2011-03-19 18:39:02 +01:00
Michael Natterer b3a597c7de Revert "app: Fix pdb size and dynamics issues"
This reverts commit 9bae2a15cb.
2011-03-19 16:43:09 +01:00
Michael Natterer bb80dfdc8e Revert "app: Fix pdb properly this time"
This reverts commit 1a8edd7d1d.
2011-03-19 16:42:53 +01:00
Alexia Death 1a8edd7d1d app: Fix pdb properly this time 2011-03-19 17:12:14 +02:00
Alexia Death 9bae2a15cb app: Fix pdb size and dynamics issues 2011-03-19 15:14:23 +02:00
Michael Natterer 4f62bdf436 app: paint the text cursor in the highlight color
so it can be distinguished from the text box rectangle more easily.
2011-03-19 10:11:47 +01:00
Michael Natterer 0789ee2669 app: add a 1px FG border around overlay frames
so they work on any background. Also remove disabled bling code.
2011-03-18 22:57:13 +01:00
Michael Natterer 140c9aae91 Bug 625273 - Insert Font and font-size into the Texteditor's Menubar
If the cursor position (or the current selection), doesn't contain any
font, font-size or color tags, display the default values from the
GimpText object instead of "nothing". Still display nothing if the
selection contains different fonts, sizes or colors.
2011-03-18 22:13:34 +01:00
Michael Natterer f09360ba80 app: GimpTextLayout: use the unit conversion functions from gimpunit.[ch]
instead of duplicating them. Multiply by PANGO_SCALE in the callers
and ceil() fixed text box pixel extents so we don't cut off stuff by
fractions of a pixel.
2011-03-18 21:39:28 +01:00
Michael Natterer ecbfb4a9e8 app: add a GimpText property and construct param to GimpTextStyleEditor
which will be used to get default values from.
2011-03-18 21:16:53 +01:00
Michael Natterer 61aa1854fd app: make GimpSpinScale's slow part change the value 10x slower than the fast part 2011-03-18 15:42:50 +01:00
Michael Natterer f1d1bb610d app: experimentally add fine-tuning to GimpSpinScale
by making the lower part change things in small steps.
2011-03-18 15:07:44 +01:00
Michael Natterer df731912a5 app: add a GimpTextStyleEditor to the text tool's editor dialog
so it's an alternative to on-screen editing for esoteric use cases
that can do everything on-screen editing is capable of.
2011-03-18 12:58:32 +01:00
Michael Natterer f13abfa3f0 app: change image parameter in gimp_text_layout_new() to xres,yres
Because GimpTextLayout doesn't depend on any image, it only needs a
resolution.
2011-03-18 02:31:20 +01:00
Michael Natterer 1c8149a553 Bug 632568 - 'gimp-drawable-transform-rotate-simple' makes GIMP crash in some cases
Applied modified patch from Massimo that makes sure we don't use
negative width/height if source and dest regions don't overlap.
2011-03-18 00:53:21 +01:00
Michael Natterer e24795f167 Bug 600554 - Implement layer group transforms
Same fix for the PDB: if the item to transform is a group layer, call
gimp_item_transform()/rotate()/... directly instead of going through
the wrong cut/transform/paste code path.
2011-03-17 22:00:38 +01:00
Michael Natterer 503acbae54 Bug 600554 - Implement layer group transforms
When transforming layer groups, don't cut out a buffer to transform.
Instead, simply call GimpTransformTool::transform() with
tr_tool->original being NULL, just as when we are transforming a
path. In the transform() implementations, simplify the code to not
look at the type of item to be transformed; instead, simply look at
tr_tool->original and transform it if it exists, otherwise call
gimp_item_transform() which does the right thing for all sorts of
items automatically.
2011-03-17 21:52:43 +01:00
Michael Natterer d3153960df app: rename gimp_transform_tool_doit() to gimp_transform_tool_transform() 2011-03-17 21:39:11 +01:00
Michael Natterer d7c66c66d0 Bug 142697 - Dock separators move between sessions
Removing my old and evil "fix" for the issue from 2004-06-01 seems
to make things work as they should.
2011-03-17 21:03:20 +01:00
Martin Nordholts 0d0ffd1265 Bug 644891 - Ctrl+e crashes gimp
Don't freak out if setting an URI on GimpImage that was getted with
the corresponding getter. Fix by Massimo.
2011-03-17 20:25:43 +01:00
Mukund Sivaraman 56d8850d38 Use a proper int to pointer cast 2011-03-18 00:06:14 +05:30
Michael Natterer 075c7d4a4d app: avoid the deprecated gdk_drawable_get_size() on GTK+ >= 2.24
Use gdk_window_get_width/height() instead.
2011-03-17 15:10:17 +01:00
Michael Natterer fdde231869 app: use gtk_widget_get_allocation() instead of gdk_drawable_get_size() 2011-03-17 15:09:19 +01:00
Michael Natterer 42b2498a06 app: add a cast when comparing GdkCursorType with GimpCursorType 2011-03-17 14:42:44 +01:00
Alexia Death 41b1bd36da app: Fix smooth intreaction with airbrush 2011-03-16 22:08:19 +02:00
Michael Natterer c07811f0a3 app: remove unused variables in gimp_drawable_duplicate() 2011-03-16 02:06:21 +01:00
Michael Natterer 9f30550f9a app: move drawable->type to private 2011-03-16 02:02:47 +01:00
Michael Natterer a62071e9eb app: remove mamber GimpDrawable::bytes
because it's always the same as GIMP_IMAGE_TYPE_BYTES(drawable->type)
2011-03-16 00:16:31 +01:00
Michael Natterer 54c7725417 app: GimpTextTool: remove disabled testing code 2011-03-14 14:28:08 +01:00
Michael Natterer 22808b996f app: GimpTextOptions: implement GimpToolOptions::reset()
and avoid resetting the rectangle options, so the text box keeps its
position.
2011-03-14 14:12:43 +01:00
Michael Natterer 90058cded7 app: add missing tooltips in the text style overlay widget 2011-03-14 13:05:30 +01:00
Michael Natterer 75548264d0 app: set the text option's unit menu to "plural"
It gets changed to "abbreviation" for the permanently displayed
string automatically.
2011-03-14 12:58:34 +01:00
Michael Natterer 8184296b3c app: add gimp_container_get_neighbor_of() to GimpContainer
instead of gimp_container_get_neighbor_of_active() in gimp-utils.c.
Move the additional GimpContext logic of the old function into the
callers, but use the new function in more places.
2011-03-13 02:14:44 +01:00
Mikael Magnusson b81276ca83 app: fix goption warning
Using G_OPTION_FLAG_NO_ARG with G_OPTION_ARG_NONE is not a valid combination,
glib 2.28.2 warns about it.

(gimp:20379): GLib-WARNING **: goption.c:2132: ignoring no-arg, optional-arg or filename flags (8) on option "debug-handlers" of type 0
2011-03-09 15:37:18 +01:00
Massimo Valentini 166c76b62d Bug 630069 - In single-window mode, canvas badly positioned in all successive tabs
The problem is that gimp_image_window_keep_canvas_pos() connects a
signal handler too early, with data not yet valid, the handler is
executed after the canvas position is computed correctly and so
invalid data overrides the valid.

Checks the return value of gtk_widget_translate_coordinates() to avoid
connecting handlers when their execution is considered harmful.
2011-03-09 07:34:27 +01:00
Michael Natterer 62f2ae80c8 app: move GimpItem's width and height members to private 2011-03-08 18:10:59 +01:00
Michael Natterer f7ce31d62f app: fake the size of a gruop layer by overriding GimpViewable::get_size()
instead of messing with GimpItem's width and height members.
2011-03-08 18:04:23 +01:00
Michael Natterer 5bd1b318af app: cosmetic cleanup 2011-03-08 17:15:47 +01:00
Michael Natterer b1d6f1b0fd app: lose "default" from protected GimpViewRenderer rendering API
and rename render_surface() to render_temp_buf().
2011-03-08 17:12:39 +01:00
Michael Natterer a2d27983d6 app: remove widget parameter from gimp_view_renderer_default_render_surface() 2011-03-08 17:03:30 +01:00
Michael Natterer 2281645f5b app: remove unused function temp_buf_new_check() 2011-03-08 16:50:58 +01:00
Michael Natterer 3e93f45703 app: keep the preview TempBuf and GdkPixbuf in GimpViewablePrivate
instead of attaching them as object data.
2011-03-08 16:38:25 +01:00
Michael Natterer 383cc27f30 app: move all GimpViewable members to private 2011-03-08 16:23:53 +01:00
Michael Natterer bb6436cb44 libgimp: deprecate and rename the global pararasite functions
just as it was done for items and images. Remove the "parasite" PDB
group completely.
2011-03-08 14:31:04 +01:00
Michael Natterer 7fae2b2d40 libgimp: rename the "misc" pdb group to "gimp"
So we finally have a proper place for PDB procedures that don't act on
an object like image, item, ...
2011-03-08 13:58:56 +01:00
Michael Natterer 87646e9ace libgimp: deprecate and rename the image parasite functions
in exactly the way the drawable functios were turned into item ones.
2011-03-08 13:19:21 +01:00
Michael Natterer e69ecba237 app: move all GimpSettingsBox members to private 2011-03-08 11:32:49 +01:00
Michael Natterer b8d148283b app: move all GimpSettingsEditor members to private 2011-03-08 02:32:14 +01:00
Michael Natterer fcfb7cf160 Use the new g_[s]list_free_full() instead of foreach() and free() 2011-03-07 17:11:28 +01:00
Michael Natterer 514a5548cd configure: require GLib >= 2.28.1 2011-03-07 17:11:28 +01:00
Michael Natterer fc7bd98d92 app: move all GimpStrokeOptions members to private 2011-03-05 21:00:28 +01:00
Michael Natterer 5ad45dae03 app: move all GimpFillOptions members to private 2011-03-05 20:26:41 +01:00
Michael Natterer 616285fa7d app: fix possible warning when removing layers, channels or vectors
Don't call gimp_viewable_is_ancestor() on a NULL ancestor.
2011-03-04 01:49:32 +01:00
Michael Natterer 7a47e36c63 app: fix "grabbing" of extended devices
If grabbing fails with GDK_GRAB_ALREADY_GRABBED (which it always
does), simply silently ignore that and assume the grab succeesed
anyway (puke).
2011-03-03 22:38:50 +01:00
Michael Natterer e3c0a4e549 app: move all GimpDynamics members to private 2011-03-03 18:43:56 +01:00
Michael Natterer c31d675ac1 app: move all GimpDynamicsOutput members to private 2011-03-03 11:48:35 +01:00
Michael Natterer 672286515c app: remove gimp_data_name_compare() prototype, the function doesn't exist 2011-03-03 11:32:45 +01:00
Michael Natterer 21ad9d33b7 app: don't ref the layer mask twice when keeping it around while loading
Don't g_object_ref() *and* g_object_ref_sink() it when temporatily
attaching it as object data to its layer.
2011-03-03 10:57:38 +01:00
Michael Muré fe7aa4e113 Merge branch 'master' into soc-2010-cage-2 2011-03-02 15:08:11 +01:00
Michael Natterer c550eae5e1 app: move all GimpImagefile members to private 2011-03-02 12:26:04 +01:00
Michael Natterer 5b09e61c46 app: move all GimpTemplate members to private 2011-03-02 10:16:43 +01:00
Kevin Cozens 8438bc5bb7 Commiting auto-generated files with recently corrected PDB help text. 2011-03-01 17:06:59 -05:00
Michael Natterer 7faaf4df41 libgimp: rename the newly added item parasite functions
gimp-item-find-parasite -> gimp-item-get-parasite
gimp-item-list-parasites -> gimp-item-get-parasite-list

Also changed the signature of gimp-item-get-parasite-list's C wrapper
in libgimp to be sane.
2011-03-01 22:19:48 +01:00
Michael Natterer 0bb5a76405 app: fix wilber dawing offset on widgets that don't have a window 2011-03-01 17:11:22 +01:00
Michael Natterer ebe4b4102f Bug 643587 - Opening two xcf with vectors crashes gimp
Fix the crash and the warning pointed out in the bug.
2011-03-01 17:05:58 +01:00
Michael Natterer 30e847c921 app: forgot to implement dragging from GimpContainerIconView 2011-03-01 15:32:08 +01:00
Michael Natterer f45e171f09 app: place the gimpview-popup at the button event's root coordinates
instead of fiddling with the widget's and its window's positions.
2011-03-01 14:53:54 +01:00
Michael Natterer f82daa557a app: pack stuff in boxes instead of tables in GimpDeviceStatus
Makes the widget work correctly in all allocation situations.
2011-03-01 13:28:58 +01:00
Michael Natterer 30100cf613 app: add new widget GimpIconPicker, ripped out of GimpTemplateEditor 2011-03-01 12:31:17 +01:00
Michael Natterer f0f94ba6a1 app: move all GimpTemplateEditor members to private 2011-03-01 11:50:16 +01:00
Michael Natterer d3a83c9940 app: fix export and delete sensitivity in GimpSettingsEditor
and make sure "select-item" is emitted also when NULL is selected,
so the sensitivity is set correctly.
2011-03-01 01:29:35 +01:00
Michael Natterer 145db8d57c Bug 639305 - Image tabs pushes toolbox to left
Set the notebook to scrollable. Not a final fix, but enough to fix the
immediate problem.
2011-03-01 00:56:23 +01:00
Michael Natterer 9b5dc7559a app: set GimpFreeSelectTool active only while mouse-1 is down
First step towards tightening the tool state machine...
2011-02-28 21:04:42 +01:00
Michael Natterer 9cac8e7b42 app: GimpDeviceStatus: don't call gdk_display_get_name() on a NULL display 2011-02-28 17:36:53 +01:00
Michael Natterer 3a767c0c15 app: get rid of the arrow in GimpDeviceStatus
Instead, use an event box and set its state to SELECTED when the
device is active. Also cleaned up spacings and general appearance a
bit. Still a mess.
2011-02-28 16:43:21 +01:00
Michael Natterer a1712a0ec7 app: emit "changed" when GimpDeviceInfo's device gets (un)set 2011-02-28 16:08:12 +01:00
Michael Natterer b21f5be73f app: use GimpDeviceInfo's accessors 2011-02-28 15:55:02 +01:00
Michael Natterer c49a7113e5 app: set the device manager's sort_func via g_object_new()
Setting it in init() had it overwritten by NULL because it's a
construct property.
2011-02-28 15:48:13 +01:00
Michael Natterer ee844c6395 app: GimpDeviceManager refactoring part two
- change gimp_devices_get_list() to gimp_devices_get_manager()
- remove gimp_devices_get_current()
- let GimpDeviceStatus connect to the manager's "notify::current-device"
  directly and remove device status updating code from gui.c
- cleanup in gimpdevices.c
2011-02-28 14:37:00 +01:00
Michael Natterer 21a0e55005 app: device manager refactoring part one
Add a GimpDeviceManager object and take over most code from
gimpdevices.c, but leave all functions in gimpdevices.c there as
wrappers in order to make rebasing in gtk3-port simpler.
2011-02-28 12:57:15 +01:00
Michael Natterer 4f59bb3431 Bug 581338 - Layer size does not change using the pdb 'gimp-text-layer-resize'
Fix the fix: use box-unit, not unit, for the box extents.
2011-02-28 00:41:48 +01:00
Michael Natterer d136b9f7d2 app: redo the last commit and call proximity_in() at all logical places
Keep the comment at the place where calling it isn't immediately
obvious, and add checks to proximity_in() and out() so they bail out
when the proximity state is already set correctly.
2011-02-27 12:16:51 +01:00
Michael Natterer 75add92218 app: add utility functions proximity_in() and proximity_out()
and use them instead of manually setting proximity. Also add comments
about why we call the proximity functions where we call them (instead
of calling them where it seems more logical).
2011-02-27 12:08:09 +01:00
Michael Natterer ca618093cf app: don't show the line to the next free select point when not in proximity
like when leaving the canvas or crossing a window above (tools receive
one oper_update() with proximity = FALSE to indicate the pointer
leaving the canvas).
2011-02-27 11:49:54 +01:00
Michael Natterer 955fecc3cd app: replace a wrong G_LIKELY() by G_UNLIKELY() in tool_events() 2011-02-27 11:08:36 +01:00
Michael Natterer 85af450b3c app: forgot to #include "widgets/gimpwidgets-utils.h" 2011-02-24 16:54:39 +01:00
Michael Natterer c11b0d2a79 app: move tool event debug output to a utility function
to reduce clutter in gimp_display_shell_canvas_tool_events().
2011-02-24 12:34:57 +01:00
Michael Natterer ef905d4b9e app: pick another GDK_KEY_foo key name commit from gtk3-port 2011-02-24 03:29:12 +01:00
Michael Natterer de8a07703a app: name display scrollbar callbacks like the signal they are handling
instead of calling them all foo_update() which means absolutely nothing.
Also rename nav_button_press() to navigation_button_press().
2011-02-24 02:15:53 +01:00
Michael Natterer 3c0453b3c0 app: clean up static functions in the new tool-events.c file 2011-02-24 02:15:53 +01:00
Michael Natterer c09ad998a4 app: split tool event handling out into an own file
it was simply getting too hairy in the callbacks.c file.
2011-02-24 02:15:53 +01:00
Michael Natterer 09947733d6 app: use some of the new GDK_KEY_foo #defines from GTK+ 2.22
and use them in gimpdisplayshell-callbacks.c so I can do some
refactoring there without making rebasing the gtk3-port branch almost
impossible.
2011-02-24 02:15:53 +01:00
Michael Natterer 8f294661b2 app: don't #include "core/gimpprogress.h" when not needed 2011-02-22 17:32:33 +01:00
Michael Natterer ac9ffde880 app: formatting and other minor cleanups 2011-02-22 16:27:18 +01:00
Michael Natterer 7a8600e6bd app: use gdk_flush() in gimp_widget_flush_expose()
instead of a completely bogus event processing loop which had no
effect but flushing the event queue implicitly.
2011-02-22 15:07:17 +01:00
Michael Natterer ca2fde3950 app: move default icon assignment a few lines up 2011-02-22 01:57:52 +01:00
Alexia Death 56dd924b9c app: add default dynamics icon 2011-02-20 18:47:40 +02:00
Michael Natterer 4030e3f446 app: make gimp_display_shell_flush_event_queue() private 2011-02-20 16:58:37 +01:00
Michael Natterer 9151899aab app: move variable to local scope in gimp_display_shell_canvas_tool_events() 2011-02-20 16:33:46 +01:00
Michael Natterer 36cc10c4dc app: rename gimp_display_shell_[un]transform_coordiante() to _coords() 2011-02-20 16:29:20 +01:00
Michael Natterer 4bf3a136e0 app: factor out GimpDisplayShell tool event retrieval and untransforming 2011-02-20 16:23:17 +01:00
Michael Natterer 7bb58aedf9 app: make input GimpCoords const in gimpdisplayshell-transform.[ch] 2011-02-20 16:11:20 +01:00
Michael Natterer d300882401 app: factor out GimpDisplayShell cursor updating to a utility function 2011-02-20 15:38:58 +01:00
Michael Natterer f7bb5f460c app: rename the functions dealing with GimpDisplayShell's software cursor
to gimp_display_shell_foo_software_cursor() in order to remove
confusion with the functions that deal with the windowing system's
cursor.
2011-02-20 14:46:52 +01:00
Michael Natterer b338aa0e71 app: forgot precondition checks in gimpdisplayshell-grab.c 2011-02-20 13:16:46 +01:00
Michael Natterer d504eeb048 app: move GimpDisplayShell pointer/keyboard grabbing to utility functions
Spit warnings in the functions if grabbing fails and return a boolean
success value. Bail out in the callers upon grab failure instead of
assuming that grabbing always succeeds and running into an
inconsistent state that can cause all sorts of problems.
2011-02-20 12:12:48 +01:00
Michael Natterer 8333dfde7b Add some #if GTK_CHECK_VERSION (2, 24, 0) for creating foreign window
so we don't use deprecated API and make the gtk3 port simpler.
2011-02-16 22:51:02 +01:00
Michael Natterer 31b4d3801e libgimpwidgets: add properties GimpColorButton:area-width and :area-height 2011-02-15 20:55:32 +01:00
Michael Natterer c3ff71df8b app: connect the blob editor's and the ink option's properties explicitly
instead of using gimp_config_connect(model,view,NULL) because that
also connected the model's name to the view's *widget* name, which is
a really bad idea.
2011-02-15 18:48:38 +01:00
Alexia Death 8136bdb914 app: fix an error in aspect ratio dynamics 2011-02-14 21:17:54 +02:00
Michael Natterer 95f14f5de8 app: add an "edit-name" binding signal and default to F2 2011-02-14 20:01:08 +01:00
Michael Natterer 543b97bfb3 Bug 641761 - "Smooth Stroke" option in Blend tool
Show the smooth stroke options only for paint tools.
2011-02-14 10:38:32 +01:00
Michael Natterer 02477f5563 Bug 625167 - Problem exporting floating selections from within layer groups
Add "gboolean merge_active_group" to gimp_image_merge_visible_layers()
and pass FALSE from the PDB wrapper so plug-in invoked layer merging
always acts on the toplevel container as it did in 2.6. Do the same
when opening an image as layer.

Also, added a "Merge within active group only" toggle to the merge
layers dialog and pass it down to the core, but default to TRUE here
so.
2011-02-14 09:45:59 +01:00
Michael Natterer 4807a1848a app: don't make flatten and merge insensitive if there is a floating selection 2011-02-14 01:45:16 +01:00
Michael Natterer d9dd65529f app: include floating selection removal in the layer merge undo group
and pull undo group starting/ending out of the
gimp_image_merge_layers() utility function.
2011-02-14 01:43:55 +01:00
Michael Natterer 9f89bda3b1 app: when removing groups, check if the active item was in the group
and set a new active item.
2011-02-14 01:25:45 +01:00
Michael Natterer 1453632678 app: add GimpTileBackendTileManager which does nothing so far
but will help GEGL migration a lot.
2011-02-13 22:48:00 +01:00
Michael Natterer 063e9e54ee Require GEGL 0.1.6 2011-02-13 21:59:27 +01:00
Michael Natterer cb615737d3 app: save-before-committing! 2011-02-13 21:33:26 +01:00
Michael Natterer 40be8ad089 Bug 581338 - Layer size does not change using the pdb 'gimp-text-layer-resize'
Set the text box mode to "fixed", and convert the passed in pixels to
the text layer's unit when setting the text box' width and height.
Spotted by Massimo.
2011-02-13 21:27:34 +01:00
Michael Natterer a604a12eb5 libgimp: fix the docs of gimp_vectors_to_selection() 2011-02-13 18:31:14 +01:00
Michael Natterer 92b6d70448 libgimp: remove the layer/channel/vectors raise/lower/position procedures
and add them to the list of compat_procs instead.
2011-02-13 18:29:08 +01:00
Michael Natterer 6818dae23e libgimp: remove the drawable and vectors parasite PDB functions completely
and simply add them to the list of "compat_procs" which have a
replacement with identical signature. Move the libgimp C functions to
non-generated files.
2011-02-13 17:48:39 +01:00
Michael Natterer b4c9987de6 libgimp: move the item parasite functions to the parasites files
and rename them yet again to be gimp_item_foo_parasite() instead of
gimp_item_parasite_foo() because the latter is just a misnaming (they
are not GimpItemParasites, they are GimpParasites attached to
GimpItems, just as layers are attached to images).
2011-02-13 17:28:30 +01:00
Michael Natterer aa667f790e app: rename gimp_image_select_fuzzy() to gimp_image_select_contiguous_color()
and update all documentation accordingly. Also reorder the
gimp_image_select procedures.
2011-02-13 17:13:28 +01:00
Eric Grivel 20279459dd Bug 634183 - GIMP crashes when editing very high images
Implemented a fix for the ink blob overflow problem.
2011-02-13 15:09:27 +01:00
Mikael Magnusson 8e49a5fafb app: fix a typo 2011-02-12 18:16:05 +01:00
Michael Natterer 014cc2140e libgimp: document which context setting affects what prodecures 2011-02-12 15:20:46 +01:00