Commit Graph

14812 Commits

Author SHA1 Message Date
Michael Natterer 896e29c5f1 app: gimp_session_info_dock_restore(): remove empty dockbooks after restoring
so we don't end up with empty windows if restoring all dockables in
the dock failed.
2011-05-12 21:23:07 +02:00
Michael Natterer 6bf7f7e429 app: ref the session info in gimp_dialog_factory_add_session_info()
and unref it in the callers after adding it. That's the proper way of
doing it and fixes another warning when restoring a dock fails.
2011-05-12 21:23:07 +02:00
Michael Natterer 9e60dd547d app: keep a ref to the session info in gimp_session_info_restore()
because failing to restore a dock can destroy the newly created dock
and implicitly unref the session info.
2011-05-12 21:23:06 +02:00
Michael Natterer 68a56a861e app: gimp_session_info_book_restore(): don't set a non-existing current page
Don't set the first page of the restored dockbook active if there are
less than two pages. Also add a comment that explains why we return
the dockbook even though we know that all its dockables failed to
restore.
2011-05-12 21:23:06 +02:00
Michael Natterer 80cf95319e app: gimp_session_info_dockable_restore(): don't return existing singletons
Instead, return NULL. The singleton dockable can't be restored in this
dock because it's already open in another dock.
2011-05-12 21:23:06 +02:00
Martin Nordholts c70dc8f86d app: Add NULL check in gimp_dock_container_get_docks() 2011-05-12 06:51:40 +02:00
Mikael Magnusson 80e18bdee0 app: Fix tooltip for "Use editor" checkbox 2011-05-11 22:09:21 +02:00
Michael Natterer 3184c0f339 app: use g_object_bind_property() to set sensitivity here too 2011-05-11 11:43:19 +02:00
Martin Nordholts 6d421f9d4d app: Add and use gimp_session_info_get_info_with_widget()
Add and use helper function
gimp_session_info_get_info_with_widget(). Might need it for
GimpImageWindow later...
2011-05-09 19:55:51 +02:00
Martin Nordholts 4b9243fc60 app: Make GimpDockWindow implement GimpDockContainer
Make GimpDockWindow implement the GimpDockContainer interface. The
plan is to make GimpImageWindow also implement the GimpDockContainer
interface when we start to session manage docks in single-window mode.
2011-05-09 19:55:51 +02:00
Martin Nordholts 2287b6e008 app: Add a GimpDockContainer interface
We now have to classes that contain docks, GimpDockWindow and
GimpImageWindow (in single-window mode). Introduce a GimpDockContainer
interface so we can cope with these in an abstract way.
2011-05-09 19:43:28 +02:00
Martin Nordholts 1d12dc8e86 app: Sort widgets/widgets-types.h 2011-05-09 18:37:40 +02:00
Michael Natterer e91890f659 app: always use the first display's image window as single-window
so the tabs are in the order of the global display list which is the
order of the image menu items and their ALT+number shortcuts.
2011-05-08 21:41:06 +02:00
Michael Natterer 3b71b71c4c app: always add ALT+number accelerators to the image window menu items
There is no reason why we should have them only in single-window-mode.
The accels are numbered in the order the displays are opened, which is
also the order they appear in the menu. The only thing that needs to
be taken care of is that switching to SWM swallows the image windows
into the single window in the right order. Fixes bug #647524.
2011-05-08 00:00:55 +02:00
Michael Natterer 1ebd2b5113 Revert "app: Make alt+[number] switch tabs in single-window mode"
This reverts commit 110b3daa97.
2011-05-07 23:54:54 +02:00
Michael Natterer d7b8f8e81f app: formatting in gimpdisplayshell-selection.c 2011-05-07 22:33:05 +02:00
Mukund Sivaraman 24ac01bfa9 app: Fix corruption while in use of imported uri 2011-05-07 05:52:31 +05:30
Mikael Magnusson a4cf150191 Bug 649610 - Gimp does not initialize as long as the splash screen is not mapped
app: don't use gtk_widget_show_now as that blocks until the window maps.
2011-05-07 00:14:59 +02:00
Martin Nordholts dfc11599d1 app: Small --dump-pdb-procedures-deprecated cleanup 2011-05-06 07:29:01 +02:00
Martin Nordholts d9264c6bd5 app/tests: Fixup test-gimpidtable.c
Fixup of test-gimpidtable.c of things sleepy eyes and brains missed.
2011-05-06 07:23:16 +02:00
Michael Natterer b77b94d3ed app: don't rely on gimp_brush_tool_create_outline() returning an outline
It can just as well return NULL.
2011-05-05 12:19:25 +02:00
Martin Nordholts ed01101429 app: Add hidden --dump-pdb-procedures-deprecated option
Allow to dump the names of all internal deprecated PDB
procedures. This enables us to do static analysis on *.scm files and
look for usage of deprecated procedures.
2011-05-05 01:01:17 +02:00
Martin Nordholts 3474a385f2 app: Add gimp_pdb_get_deprecated_procedures() 2011-05-05 01:01:17 +02:00
Martin Nordholts be91f01291 app: Add gimp_procedure_name_compare() 2011-05-05 01:01:17 +02:00
Michael Natterer 91550117c7 app: fix GimpSourceTool's source position drawing for other displays
by adding the source outline's canvas item to the source display
directly. Poking in GimpDrawTool internals is gone and generally not
possible any longer since GimpCanvasItem based drawing.
2011-05-04 23:25:55 +02:00
Martin Nordholts c4097d4ff4 app: void * -> gpointer in GimpIdTable 2011-05-04 23:14:21 +02:00
Martin Nordholts 0d529f7956 app: Use GimpIdTable 2011-05-04 22:54:35 +02:00
Martin Nordholts 9fefa22efe app: Add GimpIdTable utility class
Not written in Vala... ;)
2011-05-04 22:54:35 +02:00
Michael Natterer 85c0fd1166 app: replace gimp_dock_get_dock_columns() by gtk_widget_get_ancestor() 2011-05-04 22:41:40 +02:00
Michael Muré 989b85988b Cage tool: allow to add handle by clicking on an edge 2011-05-03 00:46:42 +02:00
Michael Muré cc247b3e66 Cage tool: in cage mode, remove selected handles when hitting backspace 2011-05-03 00:46:42 +02:00
Michael Muré bcd76a3d5b GimpCageConfig: add function to remove all selected points 2011-05-03 00:46:42 +02:00
Michael Muré b0cedaa677 GimpCageConfig: add function to add and remove point at arbitrary index 2011-05-03 00:46:42 +02:00
Michael Natterer 909e7833a3 app: remove some more -Wunused-but-set-variable 2011-05-02 13:53:58 +02:00
Michael Natterer c35ff719a7 app/libgimp*: remove stuff found by -Wunused-but-set-variable 2011-05-01 23:23:19 +02:00
Michael Natterer 092e26935b app: GimpForegroundSelectToolUndo: shorten local variable names 2011-05-01 23:19:49 +02:00
Michael Natterer 99df9e114e app: GimpCanvasLayerBoundary: actually use the figured "edit_mask" boolean
instead of always passing FALSE when changing to a different
layer. For some reason we were displaying the right state anyway,
which can only mean that we do things redundantly here and call this
function twice.
2011-05-01 22:36:25 +02:00
Michael Natterer cc47b2a600 libgimpwidgets/color: move the cairo color utility functions to libgimpcolor
Add CAIRO_CFLAGS to a lot of Makefiles to make this possible, and
because they pull in cairo via the libgimp headers.
2011-04-28 15:50:39 +02:00
Michael Natterer 2af539020b app: don't include individual files from libgimp* 2011-04-28 14:23:33 +02:00
Michael Natterer 81911a7b02 app: allow to drop buffers and components to empty displays
and simply create new images from them.
2011-04-28 01:59:38 +02:00
Michael Natterer 10b4155b95 app: never make Edit -> Buffers -> Paste Named insensitive
because it simply opens the buffers dockable, which is always
possible.
2011-04-28 01:56:37 +02:00
Michael Natterer 69d3aa5b36 Bug 648820 - drag and drop grayscale/greyscale image causes image corruption
gimp_display_shell_drop_pixbuf(): use the image's type to create the
layer, not the dropped pixbuf's.
2011-04-28 01:44:48 +02:00
Michael Natterer 92ce59e1c1 app: gimp_layer_new_from_pixbuf(): refuse to create layers of wrong type 2011-04-28 01:27:04 +02:00
Martin Nordholts e75cfd044a app: Sort core/.gitignore 2011-04-25 16:08:15 +02:00
Mukund Sivaraman cdb66ccbdc app: Reformat dirty protos 2011-04-25 19:19:25 +05:30
Mukund Sivaraman 54e2d5fb68 app: Use a properly typed callback function
This fixes a compiler warning with the typeless proto arg.
2011-04-25 19:16:28 +05:30
Mukund Sivaraman 10b37cbcaa app: Remove unused variables 2011-04-25 19:10:04 +05:30
Martin Nordholts 4988a97257 app: Add gimp_dock_set_id() 2011-04-21 19:57:14 +02:00
Martin Nordholts c84d26667b app: Add missing gimp_dock_get_id() implementation 2011-04-21 18:59:12 +02:00
Martin Nordholts f75f61779c app: GimpSessionInfoDock::identifier -> dock_type
Rename GimpSessionInfoDock::identifier to dock_type, because it isn't
really an identifier; there might be several instance with dock_type
being "gimp-dock". This is a preparation for adding an actual
'identifier' member.
2011-04-21 18:59:12 +02:00
Alexandre Prokoudine b18d638000 More tooltips for tools options
Added previously missing tooltips for transformation tools, Flip tool,
text tool and Bucket Fill tool.
2011-04-21 15:28:05 +04:00
Mukund Sivaraman aaea0805e1 app: Initialize orig_tiles to NULL for GIMP_TRANSFORM_TYPE_PATH case 2011-04-21 14:08:36 +05:30
Alexandre Prokoudine 58016e0a02 More tooltips for tools options
Added previously missing tooltips for options of the following tools:
Scissors Select tool, Foreground Select tool, Color Picker tool,
Zoom tool, Measurement tool, Align tool, Crop tool.

Changed a bunch of _() to N_() in Foreground Select tool's options
as per agreement with mitch.
2011-04-21 02:41:59 +04:00
Michael Natterer 27d312b110 app: call gimp_tool_control_halt() early in transform_tool_button_release()
The generic shutdown triggered by shift-click executing copes with an
already halted tool, but we don't want to add checks to tons of
button_release functions.
2011-04-20 22:22:11 +02:00
Alexandre Prokoudine c5b44f6bd0 More tooltips for tools options
Added previously missing tooltips for rectangular and region
selection based tools.
2011-04-21 00:17:31 +04:00
Alexia Death 2068498b5c app: fix a bug with smooth affecting spacing 2011-04-20 22:03:49 +03:00
Alexandre Prokoudine 316c9fdd45 Reworded the Increment's tooltip
The tooltip for Increment option has a better wording now
at Alexia's suggestion.
2011-04-20 22:47:54 +04:00
Alexandre Prokoudine 3eee39c8fb Terminology fixes and missing tooltips
Options of brush-based tools now have clearer names,
and the options themselves now have tooltips that
had been missing.
2011-04-20 22:24:19 +04:00
Michael Natterer 4a8fa1ab2a app: make GimpSpinScale RTL aware 2011-04-20 20:12:21 +02:00
Michael Muré 5d771014d4 GimpCageConfig: use a GArray to store cage's point, to make easier
further improvement
2011-04-20 18:50:17 +02:00
Alexandre Prokoudine ae2ab1ff3b Fixed a typo
The brush editor used to say "Spahe" instead of "Shape".
2011-04-20 13:20:42 +04:00
Michael Natterer 3edf0cb531 app: GimpSpinScale: don't create two cairo_t in expose() 2011-04-20 00:43:30 +02:00
Michael Natterer 3bf15d32e6 app: use GimpSpinScales in GimpBrushEditor 2011-04-18 22:27:43 +02:00
Alexia Death 4d438a89de app: restore brush size scale silder visible range to 1000 2011-04-18 22:56:45 +03:00
Michael Natterer 85509f4ffb app: GimpScaleComboBox: don't derive from GtkComboBoxEntry
because it's deprecated. Derive from GtkComboBox directly, use the
"has-entry" property and move the setup code from init() to
constructed().
2011-04-18 21:49:23 +02:00
Michael Natterer 4d3e6b062d app: limit the paint options' fade length scale to 1000 2011-04-18 21:35:41 +02:00
Michael Natterer 6dd463fb02 app: gimp_spin_scale_change_value(): remove "+ lower" from step calculation
It was never noticed because lower is 0.0 or 1.0 in all use cases.
2011-04-18 21:21:45 +02:00
Michael Natterer 6a3fe9f9c5 app: restore the original brush size upper limit of 10000
but restrict the tool options sclae to 500.
2011-04-18 21:10:47 +02:00
Michael Natterer bfcecd2ef0 app: GimpBrushFactoryView: use a GimpSpinScale for spacing
and use the new scale_limits API to restrict the scale to 1..200 while
the actual range is 1..5000.
2011-04-18 21:04:05 +02:00
Michael Natterer d300ec6556 app: add a "scale_limit" API to GimpSpinScale
which allows to restrict the scale to a range that is smaller than
that of the model GtkAdjustment. This way we can enter large values in
the entry or by dragging beyond the end of the scale, but keep a
reasonably usable scale range for "normal" values.
2011-04-18 21:01:48 +02:00
Michael Natterer bc56060148 app: GimpLayerTreeView: use a GimpSpinScale for opacity 2011-04-18 20:41:02 +02:00
Michael Natterer 26d50b533b app: gimp_item_tree_view_add_options(): allow NULL labels
and pack the options widget into the vbox directly.
2011-04-18 20:40:10 +02:00
Michael Natterer 5b14564d8e app: GimpMotionBuffer: remove empty constructed()
and move buffer destruction from dispose() to finalize().
2011-04-18 15:54:03 +02:00
Michael Natterer 534b48cb0d app: add gimp_motion_buffer_get_last_motion_time() and use it
The last poking into the buffer is gone now.
2011-04-18 13:13:51 +02:00
Michael Natterer d305d000ff app: struct GimpMotionBufferClass: parent_class had the wrong type 2011-04-18 11:35:51 +02:00
Michael Natterer e028195cf3 app: rename process_stroke() and process_hover() to request_foo()
Because that's what we are doing by calling the functions: requesting
the emission of "stroke" and "hover" signals.
2011-04-18 11:32:10 +02:00
Michael Natterer 3fbbb9b333 app: GimpMotionBuffer API cleanup and refactoring
- start_stroke()/finih_stroke() -> begin_stroke()/end_stroke()
- process_event_queue() -> process_stroke()
- GimpMotionBuffer::motion() -> GimpMotionBuffer::stroke()
- add GimpMotionBuffer::hover() and process_hover()
- remove push_event_history() and pop_event_queue() from API

The thing works like this:

- Motion events are continuously fed into the buffer using motion_event()
- begin_stroke()/end_stroke() correspond to BUTTON_PRESS/BUTTON_RELEASE,
  the period between them is a "stroke"
- If motion_event() returns TRUE, we request "stroke" signals by calling
  process_stroke() and "hover" signals by calling process_hover()
2011-04-18 11:08:24 +02:00
Michael Natterer d62cf65030 app: rename gimp_motion_buffer_eval_event() to motion_event()
because it's feeding it motion events.
2011-04-18 01:09:57 +02:00
Michael Natterer 6f865eda2b app: add start_stroke() and finish_stroke() API to GimpMotionBuffer
where finish_stroke() is the former flush_event_queue() and
start_stroke() is used in BUTTON_PRESS instead of poking into the
motion buffer's internals. Also, call finish_stroke() also when the
tool is not active, so the event buffer is flushed (the "motion"
callback will ignore the events if the tool is not active).
2011-04-18 00:35:20 +02:00
Michael Natterer 99f5dc9f18 app: move GimpCagePoint from core-types.h to gegl/
and remove the orphaned GimpCagePreview typedef from gimp-gegl-types.h.
2011-04-18 00:09:06 +02:00
Michael Natterer 6a1b93be1c app: don't include "libgimpmath/gimpvectors.h" in any header
It's types are generally known because it's already included
in core-types.h.
2011-04-17 23:44:45 +02:00
Michael Natterer e3b1ed7728 app: remove the timeout in GObject::dispose() 2011-04-17 22:00:18 +02:00
Michael Natterer e822fb0d95 app: separate the queue flushing function from the timeout function
and add g_return_if_fail() to all public functions.
2011-04-17 21:58:03 +02:00
Michael Natterer 334e4c5d71 app: move process_event_queue() and flush_event_queue() to GimpMotionBuffer
and emit the buffer's "motion" signal when a motion is supposed
to happen. In GimpDisplayShell, connect to GimpMotionBuffer::motion()
and call the tool.
2011-04-17 21:46:29 +02:00
Michael Natterer d784ca0a59 app: don't PAUSE/RESUME the active tool around sending it motion events
That's most likely a very old artifact that was needed not even when
we used to do XOR, and these days it's even wrong because it makes
the tools think that something about the display has changed, like
zoom or scroll.
2011-04-17 21:12:02 +02:00
Michael Natterer 9f61a7d2a1 app: siplify gimp_display_shell_process_event_queue()
by using gimp_motion_buffer_pop_event_queue() here too.
2011-04-17 20:43:55 +02:00
Michael Natterer fae0589767 app: minor cleanup gimp_motion_buffer_eval_event(), no logic change 2011-04-17 20:27:54 +02:00
Michael Natterer bb3eac557d app: add gimp_motion_buffer_pop_event_queue() and use it
instead of accessing and removing the queue's first element menually.
2011-04-17 20:20:18 +02:00
Michael Natterer aa7c31b802 app: s/gdouble inertia_factor/gboolean event_fill/ in eval_event()
Also remove "gdouble max_coord_smooth" from GimpTool and simply use
the existing motion mode for deciding whether or not to fill in
events.
2011-04-17 19:59:31 +02:00
Michael Natterer 41b469fcf5 app: gimp_motion_buffer_eval_event(): always set last_read_motion_time
We need it for correctly requesting device history, so we must
remember it also when returning FALSE and ignoring the event.
2011-04-17 19:34:02 +02:00
Michael Natterer 7ab72eb54a app: flush the event queue unconditionally on BUTTON_RELEASE
The flashing function checks for a non-empty queue by itself. Also
remove the timeout source explicitly in flush_event_queue() because it
might be called directly, and its FALSE return value has no effect on
the timeout source in that case.
2011-04-17 19:21:46 +02:00
Michael Natterer 2dbaf7f490 app: set "last_read_motion_time" in gimp_motion_buffer_eval_event()
because it is called whenever we process a newly received event.
2011-04-17 19:05:49 +02:00
Michael Natterer e09520fb08 app: add GimpMotionBuffer class to swallow all the event smoothing code
This commit only adds the class and removes the members from
GimpDisplayShell, so everything looks more ugly than before, but
I wanted the member moving separate from any refactorings.
2011-04-17 18:53:42 +02:00
Kevin Cozens 139fb874a3 Fixed grammatical error in help text for gimp-context-set-feather-radius 2011-04-16 15:00:29 -04:00
Michael Natterer b04c6889ac app: remove the STRICT_TOOL_CHECKS define and ifdefs
Tools behave more predictably than before already, and whatever
remaining warnings will be sorted out before 2.8.
2011-04-16 20:21:52 +02:00
Michael Natterer f0a52f1db9 Bug 646316 - Hinting change to medium on first edit of text field
gimp_text_set_property(): Deserialize the compat "hinting" property
only if the new "hint-style" one has its default value, so we don't
overwrite a serialized new "hint-style" with a compat "hinting" that
is only there for old GIMP versions.
2011-04-16 15:17:22 +02:00
Mikael Magnusson 854dd5b6ad app: correct cast for spinbutton 2011-04-16 11:52:49 +02:00
Michael Natterer 924d647284 app: set GimpSpinScale to numeric-only input
It's the right thing to do, but also works around focus issues in SWM,
at least while the widget has the focus.
2011-04-16 02:09:37 +02:00
Mikael Magnusson bebccfc95a Bug 647897 - Marching ants only visible in single window mode
Use gdk_window_create_similar_surface instead of gdk_cairo_create in
selection_render_mask, as the latter is not entirely correct to use
outside the expose handler and may have some unwanted clipping state.
2011-04-16 01:36:32 +02:00
Michael Natterer ede0d26b91 app: gimp_data_create_filename(): avoid evil characters in the filename
such as forbidden ones on various platforms. List collected on #gimp
with a fair portion of paranoia involved.
2011-04-13 21:25:10 +02:00
Michael Natterer 846cc27207 app: implement begin_use()/end_use() in GimpBrushPipe
and call it on all the pipe's sub-brushes
2011-04-12 13:59:39 +02:00
Michael Natterer 5a4a741936 app: virtualize GimpBrush::begin_use() and ::end_use() 2011-04-12 13:59:04 +02:00
Michael Natterer 391c74899c app: rename gimp_brush_start_use() to gimp_brush_begin_use() 2011-04-12 09:06:22 +02:00
Michael Natterer 7e6c026790 Globally use GDK_KEY_foo, remove the compat defines from widgets-enums.h 2011-04-11 23:43:03 +02:00
Michael Natterer f7646fd171 app: gimpdrawable-stroke.c: don't try to fill a dot or a line 2011-04-10 22:43:03 +02:00
Michael Natterer 0f91a11b75 app: use GimpBezierDesc in gimp_channel_select_vectors() too 2011-04-10 22:42:39 +02:00
Michael Natterer f316269f71 app: stroke vectors by gimp_vectors_get_bezier(); gimp_scan_convert_add_bezier() 2011-04-10 19:40:40 +02:00
Michael Natterer bb9efebbaf app: use the new GimpBezierDesc APIs for stroking a selection
instead of iterating the BoundSegs menually.
2011-04-10 19:19:43 +02:00
Michael Natterer 8c3698eccc app: add gimp_bezier_desc_translate() which translates all points
Also add back an internal "gboolean closed" parameter which I removed
when copying the function, it might be useful later and doesn't hurt.
2011-04-10 19:16:31 +02:00
Michael Natterer 1a4ffb3d21 app: add gimp_scan_convert_add_bezier() which adds a GimpBezierDesc
Also remove unused member num_nodes.
2011-04-10 19:07:04 +02:00
Michael Natterer fde934ac58 app: s/GdkRectangle/cairo_rectangle_int_t/ in all GimpCanvasItems 2011-04-10 18:15:16 +02:00
Martin Nordholts a4aa6add43 app/tests: Assert on existance of files before trying to open them
Assert on existance of files before trying to open them so that that
reason for failure becomes clear when that is the cause.
2011-04-10 12:12:15 +02:00
Martin Nordholts 27ac2a3c38 app: Make GimpEditor instance members private 2011-04-10 12:12:01 +02:00
Michael Natterer b75b7de064 app: fix drawing artifacts in GimpCanvasRectangle
The width/height returned by gimp_canvas_rectangle_transform() were
off-by-one if the rectangle's width/height were exactly 0.0 and its
x/y exact integers, causing too much drawing and/or too little
invalidation.
2011-04-10 03:46:02 +02:00
Michael Natterer cad5c1e2fb app: indentation in GimpCanvasArc 2011-04-10 03:44:49 +02:00
Michael Natterer 30a45c05e4 app: turn double buffering off/on when filling/emptying the display
instead of turning it off unconditionally in gimp_canvas_init(), so we
have full control over buffering when we are rendering images, but let
GTK+ handle a flicker-free wilber itself.
2011-04-09 23:17:16 +02:00
Michael Natterer 1a9434cef1 app: set the rulers as track widgets for each other
so we don't end up with one ruler wrongly being stuck a few pixels off
while we are hovering the other.
2011-04-09 21:04:40 +02:00
Michael Natterer d52157b565 Bug 647235 - app/widgets/gimpcairo-wilber.c parses path data every time
Applied patch from Juan Pablo Ugarte which keeps Wilber's cairo_path_t
around instead of parsing the SVG data each time.
2011-04-09 08:30:23 +02:00
Michael Natterer 3ab59f1bff app: don't try to add a NULL boundary to GimpBrush's boundary cache 2011-04-08 21:22:55 +02:00
Michael Natterer 6e65d1a392 app: coding styls cleanup in core/gimpbrush-transform.[ch] 2011-04-08 21:18:39 +02:00
Michael Natterer 5562f840b6 Bug 646718 - gimp_curve_set_curve: assertion `y >= 0 && y <= 1.0' failed
CLAMP(value, 0.0, 1.0) in one more place. The calculation does
look correct, but we are probably running into floating point
inaccuracies.
2011-04-08 20:53:17 +02:00
Mikael Magnusson 71541db52d app: Make scale timer output depend on GIMP_UNSTABLE 2011-04-08 14:04:36 +02:00
Mikael Magnusson 61476aa20a Remove two stray semicolons making if bodies always run 2011-04-08 13:20:37 +02:00
Michael Natterer cabb6ab4d9 app: add the GdkPixbuf and Cairo versions to the output of "gimp -v" 2011-04-08 12:30:50 +02:00
Martin Nordholts a5204631f3 app/tests: Use plug-ins from build dir, in particular file-png
Use a selected set of plug-ins from the build dir rather than the
install dir. In particular 'file-png' for the
'/gimp-save-and-export/imported_file_uris' test. We might need to use
other plug-ins from the build dir as well later, but for the ones from
'plug-ins/common' is enough.
2011-04-08 08:50:59 +02:00
Martin Nordholts 5f48111af9 app: Support using plug-ins from build dir
When we run our tests we want to use plug-ins from the build dir so
the tests can pass also when no make install have been made.

Use the environment variables GIMP_TESTING_PLUGINDIRS and
GIMP_TESTING_PLUGINDIRS_BASENAME_IGNORES for this.
2011-04-08 08:50:59 +02:00
Kevin Cozens bf1eca22a6 Added PDB procedure gimp-context-set-defaults to reset context settings 2011-04-07 22:43:37 -04:00
Kevin Cozens 0d617dabea Fixed a typo (prodecure -> procedure) 2011-04-07 22:43:37 -04:00
Michael Natterer fcbc5eebeb app: add an edit button the the tool options' brush etc. selectors
which makes getting to the editor dialogs much easier.
2011-04-07 23:48:08 +02:00
Michael Natterer 4a73ac6869 app: add a newline 2011-04-07 23:47:27 +02:00
Martin Nordholts 6b5e495841 app: Remove comments about cachelines in GimpDisplayShell
Remove comments about cachelines in GimpDisplayShell that no one cares
about in 2011.
2011-04-07 07:12:32 +02:00
Martin Nordholts 3b243bdcfe app: Add gimp_display_get_action_name() utility function 2011-04-07 07:12:32 +02:00
Mikael Magnusson b00cb3be79 Remove stray semicolon 2011-04-06 23:40:56 +02:00
Mikael Magnusson ac403ce11d Add a controller for binding mouse buttons 2011-04-06 23:35:14 +02:00
Michael Natterer 7fae1b3c50 app: update the tool's state after the wheel controller has handled the event 2011-04-06 22:50:20 +02:00
Michael Natterer febc1da4be app: ignore button 1 release if we have no pointer grab
which is more correct than the previous commit
2011-04-06 22:44:08 +02:00
Michael Natterer 14d30fd795 app: ignore button releases while another button's action is going on
- ignore button 1 release if we are button-2-scrolling
- ignore button 2 release if we are not button-2-scrolling
2011-04-06 22:30:44 +02:00
Michael Natterer 754d45c357 app: completely ignore focus change events while we have a grab
in order to be safe against whatever windowing system / event manager
depending event order. Also properly update the tool's state after a
button reelease, and after a space release.
2011-04-06 21:37:46 +02:00
Martin Nordholts 18286d29ec app/tests: Use gdk_window_get_display()
Use gdk_window_get_display() (available since GTK+ 2.24 which we now
depend on) and not gdk_drawable_get_display(), which is deprecated.
2011-04-06 21:05:24 +02:00
Michael Natterer cb6b821c70 app: tool_manager: correctly preserve tool state across a push/pop
tool_manager_select_tool(): don't reset the previously active tool if
it is only temporarily pushed to the tool stack.

tool_manager_pop_tool(): don't try to restore the previously active
tool's state because it was not reset on push().
2011-04-06 20:40:26 +02:00
Michael Natterer 9778b6a440 app: GimpEditSelectionTool: activate the tool *after* pushing it
because pushing sets its focus_display which is now only possible
while the a tool is not active.
2011-04-06 20:33:23 +02:00
Michael Natterer b659aec9a7 app: GimpMoveTool: activate the tool before starting GimpEditSelectionTool
Also halt it uncontitionally in button_release() because we can't
get there any longer if the tool isn't active.
2011-04-06 20:32:04 +02:00
Michael Natterer 24ee3370b8 Depend on GTK+ >= 2.24.3, cairo >= 1.20.1, gdk-pixbuf >= 2.22.1
and completely separate configure and sanity checks for gdk-pixbuf
from GTK+, because it's now distributed as a separate package. Remove
all sorts of conditional compiling based on GDK_CHECK_VERSION() and
CAIRO_VERSION.
2011-04-06 19:58:24 +02:00
Michael Natterer a83876040d app: make GimpBrushCache debug spew depend on GIMP_LOG=brush-cache 2011-04-06 09:15:50 +02:00
Michael Natterer 0315f483e6 app: some general GimpPaintCore cleanup 2011-04-06 09:11:25 +02:00
Mukund Sivaraman 5c55f8e897 app: Fix Alt+0 case when switching tabs 2011-04-06 11:58:58 +05:30
Mukund Sivaraman 110b3daa97 app: Make alt+[number] switch tabs in single-window mode 2011-04-06 11:52:10 +05:30
Michael Natterer 21b8007b29 app: add GimpBrushCache which stores brush stuff based on transform parameters
such as masks and outlines. The cache is currently very stupid and
only cacheds the last transformed object. Add caches to GimpBrush for
its mask, its pixmap and its boundary, and remove the same caches and
a ton of members from GimpBrushCore. This involves adding lots of
const qualifiers because GimpBrush returns const pointers now for
trasnformed stuff.
2011-04-05 22:15:30 +02:00
Michael Natterer 8d5ac2c780 app: make TempBuf parameter of temp_buf_get_data() const 2011-04-05 22:15:30 +02:00
Martin Nordholts 67755ab987 app/tests: Update include for gimp_display_shell_canvas_tool_events() 2011-04-05 22:04:25 +02:00
Michael Natterer e2226e9933 app: add gimp_brush_start_use() and gimp_brush_end_use()
and use them in GimpBrushCore when setting/unsetting a brush. They
will be used for managing some caches inside GimpBrush.
2011-04-05 19:18:26 +02:00
Michael Natterer c8c1b4ece6 app: remove gimp_brush_spacing_changed(), it should never have been public 2011-04-05 19:09:56 +02:00
Michael Natterer a50f668d87 app: GimpBrushCore: simplify brush and dynamics setting
by checking for an actual change in the setters. Remove the
"foo != core->foo" checks from all callers.
2011-04-05 19:05:55 +02:00
Michael Natterer 054957a1ee app: s/nbrushes/n_brushes/ in GimpBrushPipe 2011-04-05 15:16:06 +02:00
Michael Natterer 7db7cc111c app: clean up gimpbrush-boundary.c a bit and prepare for outline approximation 2011-04-05 14:52:44 +02:00
Michael Muré 7f6d06d3e9 cagetool: fix buffer leak 2011-04-05 10:18:07 +02:00
Michael Muré 2200b80033 cagetool: fix the restoration of the image when going back to edit mode 2011-04-05 00:05:56 +02:00
Michael Muré ec25c6be42 cage tool: fix transformed area going away when setting a cage,
going back to edit mode, edit the cage then going to deform mode
2011-04-05 00:05:56 +02:00
Michael Natterer eda5cdf666 app: add gimp_bezier_desc_new_from_bound_segs() to GimpBezierDesc
and remove that code from gimpbrush-boundary.c
2011-04-04 22:06:32 +02:00
Michael Natterer 46819a05da app: fix transformation in GimpCanvasPath 2011-04-04 21:41:46 +02:00
Michael Natterer d008fcd588 app: remove the entire brush boundary code from GimpBrushCore 2011-04-04 21:24:41 +02:00
Michael Natterer 647a576cd4 app: use the new brush boundary API in GimpBrushTool 2011-04-04 21:14:57 +02:00
Michael Natterer cf52b10e9b app: implement gimp_brush_transform_boundary()
There is infinite room for optimization, but the API and pixel-perfect
functionality is there, which is step one.
2011-04-04 21:11:39 +02:00
Michael Natterer 99e0e73fc6 app: add "x" and "y" properties to GimpCanvasPath
so paths can be rendered at any position. Pass 0,0 from all places
that draw GimpVectors.
2011-04-04 20:58:38 +02:00
Michael Natterer 9e1db5dc92 app: add empty stub gimp_brush_transform_boundary()
as a separate commit because it reindents the entire header.
2011-04-04 19:21:25 +02:00
Michael Natterer 7d39d800fc app: GimpColorTool and GimpMoveTool: don't start the draw tool twice
and some minor coding style cleanup.
2011-04-04 19:20:04 +02:00
Michael Natterer ac9b487795 app: fix GimpBrush transform parameter names and coding style 2011-04-04 18:57:48 +02:00
Michael Natterer 8b4870dad7 app: move GimpBezierDesc from app/vectors/ to app/core/ 2011-04-04 18:40:12 +02:00
Michael Natterer 492e0f9cfd app: some more mostly cosmetic tool cleanup 2011-04-04 08:19:12 +02:00
Michael Natterer 39fa147c17 app: unset GimpSpinScale's context sensitive cursor when the pointer leaves 2011-04-04 01:10:44 +02:00
Enrico Schröder d4316902a2 app: DodgeBurn/Convolve: Fix error in behavior of modifier keys
Fix for bug #632816: When holding shift key to go to LineDraw mode,
then pressing ctrl and releasing shift before ctrl, the release of
ctrl switches the function of DodgeBurn and Convolute tool. This patch
adds a variable to GimpDodgeBurnTool/GimpConvolveTool to only switch
said function on releasing ctrl when it has been toggled previously.
2011-04-04 00:38:01 +02:00
Michael Natterer 036c5aff73 app: constify "color" parameter in GimpColorTool::picked() 2011-04-04 00:08:57 +02:00
Michael Natterer ea34b145e8 app: some random tool cleanup 2011-04-04 00:01:30 +02:00
Michael Natterer 32c6177c1e app: gimp_canvas_sample_point_set(): x and y are integers not doubles 2011-04-03 23:42:26 +02:00
Michael Natterer 70e5cf57a1 app: move GimpColorPickerTool's shutdown code to control(HALT) 2011-04-03 23:33:07 +02:00
Michael Natterer 6d73eead54 app: emit "notify::tool-options" when GimpToolPreset's options change
Fixes the "dirty" state and thus saving of modified presets.
2011-04-03 19:34:31 +02:00
Michael Natterer fce5c7ea26 app: add "gboolean focus_in" to gimp_display_shell_update_focus()
and use it to update the tool's state also when the canvas gets a
FOCUS_OUT.
2011-04-03 19:02:19 +02:00
Michael Natterer 5a76519c88 app: call gimp_display_shell_update_focus() in more cases
instead of duplicating its functionality.
2011-04-03 18:52:24 +02:00
Michael Natterer a0641d73d6 app: remove the hackish "button_press_before_focus" from GimpDisplayShell
and simply *always* set the tool to the right state before sending it
a button_press. GimpTool's state setting functions are now smart
enough to simply ignore setting the same state again. When recieving a
FOCUS_IN, skip state setting when the pointer is grabbed, which is a
safe indicator for tool interaction going on. This hopefully fixes
states for both click-to-focus and focus-follows-mouse *and* fixes the
previously warning case where a new image was opened into an already
focussed canvas (the warning then happened on button press, and the
tool was in an inconsistent state).
2011-04-03 18:42:50 +02:00
Michael Natterer b468bb5ec9 app: add gimp_display_shell_initialize_tool() in tool-events.c
so another big block of logic is gone from "the huge function".
2011-04-03 18:28:26 +02:00
Michael Natterer dea9176121 app: fix initial navigation popup position
so it doean't jump around on first mouse movement.
2011-04-03 18:00:12 +02:00
Martin Nordholts a8f552da2f Bug 646371 - The wrong file gets saved when exporting with overwrite
An image can not be considered both exported and imported at the same
time, so stop consider it as imported after we consider it exported.

Also add an automatic regression test.
2011-04-03 16:54:34 +02:00
Alexia Death 8bbc475eab Revert "app: initialize GimpToolPreset's tool options from the user context"
This reverts commit b458b1b5c0.

This hides preset errors form users and creates confusion in case
of presets with bugs distributed among users. It also tries to set
resources from user context when that context doesnt exist yet.
2011-04-03 12:34:52 +03:00
Michael Natterer b458b1b5c0 app: initialize GimpToolPreset's tool options from the user context
so that if deserializing wants to set an unknown brush, pattern etc.,
the previously set default value will be used instead.
2011-04-03 00:47:41 +02:00
Michael Natterer 64b9ac3f6c app: move the GimpTextTool shutdown code to control(HALT) 2011-04-03 00:40:41 +02:00
Michael Natterer 6de9615154 app: bail out in gimp_blend_tool_initialize() if there is no gradient 2011-04-03 00:33:41 +02:00
Michael Natterer 61025c6023 Bug 624824 - use gtk-image-menu-item-set-always-show-image on some menu items
Always show icons for:

- Fill FG/BG/Pattern
- Rotate
- Recently opened
- Open images
2011-04-02 15:38:55 +02:00
Michael Natterer 9ec725c297 app: move the GimpIscissorsTool shutdown code to control(HALT) 2011-04-02 11:58:29 +02:00
Michael Natterer 3056cdbc43 app: remove the entire IscissorsDraw enum and member
and simplify drawing massively. It was a pile of XOR cruft that's not
needed any longer.
2011-04-02 11:40:56 +02:00
Michael Natterer 6f4be58716 app: GimpFreeSelectTool: highlight the hovered handle 2011-04-02 08:29:53 +02:00
Michael Natterer efbbe39734 app: rmove gimp_free_select_tool_update_button_state()
and priv->button1_down. Use gimp_tool_control_is_active() instead
because it now has exactly that meaning.
2011-04-02 08:24:24 +02:00
Michael Natterer 7a6bf9b5fe app: generically call gimp_tool_control(HALT) in GObject::dispose()
so all the previously added shutdown fragments are executed when the
tool destroyed.
2011-04-01 22:56:33 +02:00
Michael Natterer 880572860a app: move shutdown code from gimp_image_map_tool_response() to control(HALT) 2011-04-01 22:56:33 +02:00
Michael Natterer d90de689fb app: GimpCageTool: in CAGE_CHANGE mode, switch to DEFORM when enter is pressed 2011-04-01 22:56:33 +02:00
Michael Natterer a7f32f2290 app: move shutdown code from gimp_cage_tool_halt() to control(HALT) 2011-04-01 22:56:33 +02:00
Michael Natterer 813392cafd app: move shutdown code from gimp_free_select_tool_halt() to control(HALT) 2011-04-01 22:56:33 +02:00
Michael Natterer 8ca28f19a3 app: move shutdown code from gimp_measure_tool_halt() to control(HALT) 2011-04-01 22:56:33 +02:00
Michael Natterer 931d2110c6 app: move shutdown code from gimp_align_tool_halt() to control(HALT)
and also remove GObject::dispose() because that's going to be
handled generically soon.
2011-04-01 22:56:33 +02:00
Michael Natterer eb9fefe505 app; move GimpTransformTool's shutdown code to control(HALT)
and remove gimp_transform_tool_halt(), including all the duplicated
parent class shutdown code.
2011-04-01 22:56:33 +02:00
Michael Natterer 8a69d4f639 app: fix GimpCanvasProgress' position, extents, and drawing, gah... 2011-04-01 22:56:33 +02:00
Michael Natterer c48c77b2e0 app: NULLify GimpRectangleOptions widget pointers upon destruction
so the NULL checks in GimpRectangleTool work no matter what the
shutdown order is.
2011-04-01 22:56:33 +02:00
Michael Natterer 0c7cd5b8a1 app: GimpPaintTool: don't call paint_core_paint(FINISH) in control(HALT)
because that simply can't happen (we call paint(FINISH) in
button_release() already and press and release are always paired. Only
call paint_core_cleanup() in control(HALT).
2011-04-01 22:56:32 +02:00
Michael Natterer e1bc19faf6 app: make state checks on tool much more strict
so wrong calls will run into precondition checks and warnings. This is
optional, but currently enabled, to reduce the risk of introducing
permanent new warnings for 2.8. See STRICT_TOOL_CHECKS in gimptool.h.
2011-04-01 22:56:32 +02:00
Michael Muré 24c117082f gimp:cage-transform : prepare optimisation for when the Gegl bug #645810 is solved 2011-03-31 23:00:23 +02:00
Michael Natterer e4daf561ac app: return TRUE after handling double and triple click tool events
so we don't redundantly update the cursor again.
2011-03-31 10:21:55 +02:00
Michael Natterer 6a046d09e4 app: GimpBrushTool: don't split brush setting in two callbacks
The need to both connect() and connect_after() to "set-brush" is gone
because XOR drawing is gone.
2011-03-30 23:38:14 +02:00
Michael Natterer 0db785c36a app: don't call control_activate()/control_halt() in GimpRectangleTool
Instead, call it in all implementors.
2011-03-30 22:13:31 +02:00
Michael Natterer 884e4868a4 app: fix calls to control_activate() and control_halt() in GimpIScissorsTool 2011-03-30 21:48:37 +02:00
Michael Natterer 55f80cd758 app: fix GimpForegroundSelectTool pen cursor drawing
It seems some of the junk removed in the last commit did have a
purpose :) Also use a tool progress because it's the result of a
canvas interaction.
2011-03-30 21:24:04 +02:00
Michael Natterer cc63337be5 app: simplify gimp_foreground_select_tool_oper_update() a lot
by removing tons of cruft. Fixes both status messages and tool drawing
with multiple displays.
2011-03-30 20:39:00 +02:00
Michael Natterer 92d7c7d8d9 app: change about dialog role from "about-dialog" to "gimp-about" 2011-03-30 20:20:47 +02:00
Enrico Schröder 074e2c088a app: GimpRectangleTool: Rounding error when moving/resizing with keyboard
Fix for bug #653186: When a rectangle selection is created or moved by
mouse at certain zoom-levels (200%, 400%, 800%), its coordinates can
become exactly .500. By then using the keyboard to move/resize in
steps of one pixel, a rounding error occurs in
gimp_rectangle_tool_update_int_rect(). This leads to the coordinate
either not beeing changed at all or changed by 2 pixels at a time. The
patch changes the function from using RINT() to ROUND() for the
calculations, which prevents the rounding error from happening.
2011-03-30 19:45:46 +02:00
Enrico Schröder aae8787ee3 app: SIOX: algorithm ignores color sensitivity changes
Fix for bug #627062: When changing the color sensitivity settings of
the Foreground Selection Tool, the SIOX algorithm gets called with
refinement=SIOX_REFINEMENT_CHANGE_SENSITIVITY, which then triggers
refinement=SIOX_REFINEMENT_RECALCULATE. However, there is no
implementation for RECALCULATE so the change is ignored. The patch
sets refinement to SIOX_REFINEMENT_ADD_FOREGROUND and _ADD_BACKGROUND
which triggers a complete recalculation.
2011-03-30 19:35:38 +02:00
Michael Natterer 2e406872c4 app: GimpBrushTool: don't set a BAD cursor permanently
by chaining up after setting it. Instead, don't set it and call
gimp_tool_set_cursor() directly when there is no brush or no dynamics.
2011-03-30 19:18:29 +02:00
Michael Natterer 96c8c35575 app: GimpFreeSelectTool: remove if (tool->display != display) checks
This can't happen in motion() and release() because they won't be
called if we didn't activate the tool.
2011-03-30 19:01:11 +02:00
Michael Natterer 9755d7d06c app: GimpForegroundSelectTool: call control_activate() unconditionally 2011-03-30 15:05:33 +02:00
Michael Natterer 3d2fb51a63 app: GimpEditSelectionTool: call control_halt() in button_release()
Just for consistency, the tool is destroyed at the end of
button_release() anyway.
2011-03-30 12:08:38 +02:00
Michael Natterer 6899b0bf60 app: GimpCageTool: go to deform mode only if the user clicked the first handle
and not if it was only moved.
2011-03-30 11:51:51 +02:00
Michael Natterer f585788e46 app: tool control cleanup in GimpCageTool
Don't call tool_control functions twice in init(). Call activate() and
halt() only on button_press() and button_release() to indicate that
the tool wants motion events.
2011-03-30 11:48:05 +02:00
Michael Natterer 28c48b1857 app: GimpBrightnessContrastTool: don't call gimp_tool_control_pause()/resume()
It must not be called directly, and is entirely useless here anyway.
2011-03-30 11:44:12 +02:00
Michael Natterer d92b22c567 app: #include "widgets-types.h" so the GDK_KEY_foo defines are there 2011-03-29 22:39:34 +02:00
Michael Natterer 1cdaa2846f app: some forgotten s/GDK_foo/GDK_KEY_foo/ 2011-03-29 18:53:02 +02:00
Michael Natterer 7c60bb5181 app: use more of the new GDK_KEY_foo key names
and move the compat defines from display-enums.h to widgets-enums.h
2011-03-29 17:24:08 +02:00
Michael Natterer 2468f9fd55 app: cancel the align tool on Escape, and some more cleanup 2011-03-29 15:16:17 +02:00
Michael Natterer bb5dea615b app: some more cleanup and namespacing in GimpAlignTool 2011-03-29 14:32:00 +02:00
Michael Natterer 0c8ff468f6 app: remove empty GimpTool::initialize() impl from GimpAlignTool 2011-03-29 14:00:10 +02:00
Michael Natterer f7bb4afbd8 app: add gimp_image_pick_layer_by_bounds() and use it in GimpAlignTool
Also do some refactoring in the align tool, like adding
gimp_align_tool_halt() and using it to shut down the tool.
2011-03-29 13:58:23 +02:00
Michael Natterer 08e409d6e3 app: move the GimpAlignTool options GUI to GimpAlignOptions
which fixes a major uglyness, it should have always been there.
Also fixes warnins on quit if the align tool is active.
2011-03-29 13:26:18 +02:00
Michael Natterer c38eb0df4a app: core-enums.h: fix type macros of the align type enums 2011-03-29 12:45:54 +02:00
Michael Natterer f32e285ea3 app: more cleanup in GimpMeasureTool
- highlight the active point while dragging
- make sure the tool is only active while dragging
- misc formatting cleanup
2011-03-29 09:16:22 +02:00
Michael Natterer f59eeb95e7 app: remove GimpMeasureTool:active_handle and use the existing :point
Also don't re-find the active point in button_press().
2011-03-29 08:52:09 +02:00
Mikael Magnusson afb68c1cea app: fix return value from NULL to FALSE 2011-03-29 00:23:27 +02:00
Michael Natterer 2b9b737686 app: add gimp_measure_tool_oper_update() which should have always been there
and add the stuff that should not be done in cursor_update(). Also add
highlighting of the currently hovered handle.
2011-03-28 20:44:30 +02:00
Michael Natterer 44a6e4f07a app: use gimp_canvas_item_hit() in GimpMeasureTool 2011-03-28 20:13:18 +02:00
Michael Natterer 365902b582 app: use gimp_canvas_item_hit() in gimp_transform_tool_oper_update()
so all the extents calculation and parameter passing is not
duplicated for the first time \o/
2011-03-28 18:55:08 +02:00
Michael Natterer e03a25caeb app: add virtual function gboolean GimpCanvasItem::hit()
and implement it for GimpCanvasHandle and GimpCanvasGroup.
2011-03-28 18:54:02 +02:00
Michael Natterer b529d556fa app: add and use more GimpCanvasItem setters 2011-03-28 15:15:43 +02:00
Michael Natterer d96091d514 app: port GimpMagnifyTool away from draw_tool_pause()/resume() 2011-03-28 12:22:29 +02:00
Michael Natterer accc12a3ca app: change GimpCanvasItem setters to take GimpCanvasItem*
not GimpCanvasLine* etc. We keep them around as items, and their
constructors return items, and it's getting more code anyway when
porting away from pause/resume, so let's keep the casting minimal at
least.
2011-03-28 12:20:36 +02:00
Michael Natterer aa5d2f8082 app: port GimpBlendTool to pause()/resume()-less drawing
Instead, keep around the created GimpCanvasItems, and update them when
the blend coordiates change. Add setters to GipmCanvasLine and
GimpCanvasHandle which take care of calling begin_change() and
end_change() on the items around the change, so thes invalidate
properly.
2011-03-28 11:08:40 +02:00
Michael Natterer 1c0fe73da4 app: gimp_transform_tool_draw(): initialize the array of handles to NULL
And update/improve some comments in the entire file.
2011-03-28 10:16:00 +02:00
Michael Natterer 20bed2c609 app: add gimp_draw_tool_add_transform_preview() and use it 2011-03-28 02:18:00 +02:00
Michael Natterer fd80b90cf0 app: more minor GimpTransformTool cleanup 2011-03-28 02:10:33 +02:00
Michael Natterer 9f6b60c29d app: draw the perspective clone handles only when they can be used 2011-03-28 01:27:02 +02:00
Michael Natterer 4097825f3c app: some more code removal and cleanup in the transform classes 2011-03-28 01:20:47 +02:00
Michael Natterer dde7d6c0ee app: remove lots of junk from GimpPerspectiveCloneTool
This is an evil transform tool copy, so do the same changes here.
2011-03-28 01:20:47 +02:00
Michael Natterer babc2186c5 app: move the enum of indexes into the trans_info array to the .c files
and turn #defines from 0 to N into enums.
2011-03-28 00:50:46 +02:00
Michael Natterer 06e0183f96 app: right-align the perspective matrix labels with the right API
Use gtk_misc_set_alignment() instead of gtk_label_set_justify().
2011-03-28 00:39:39 +02:00
Michael Natterer d36887644d app: highlight the active transform tool handle 2011-03-28 00:13:14 +02:00
Michael Natterer 32f240fa4a app: prepare GimpTransformTool for highlighting the handles 2011-03-27 23:57:12 +02:00