2008-04-14 Michael Natterer <mitch@gimp.org>
* app/plug-in/gimpplugin-message.c (gimp_plug_in_handle_tile_req):
made messages about killed plug-ins due to invalid tile requests
more verbose. They are good for debugging only and not translated,
so more info can't hurt. Also fail (kill the plug-in) if a tile is
requested that lives on the undo stack.
svn path=/trunk/; revision=25487
2008-04-14 Michael Natterer <mitch@gimp.org>
* app/tools/gimppolygonselecttool.c
(gimp_polygon_select_tool_button_release): simplify and fix logic
to do the "right" thing. Hard to describe, try youself ;)
svn path=/trunk/; revision=25485
2008-04-14 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c: introduced a #define for the spacing
between the icon and the statusbar label.
svn path=/trunk/; revision=25484
2008-04-14 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.[ch]: rewritten the code that draws
the icon in the statusbar label. The new code gives nicer
spacing.
svn path=/trunk/; revision=25481
2008-04-14 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.[ch]: added stock-id parameters to
all
statusbar setters.
* app/display/gimpdisplayshell-title.c: pass NULL as stock-id.
* app/tools/gimptool.c: pass the tool icon to the statusbar.
* app/tools/gimpeditselectiontool.c
(gimp_edit_selection_tool_start):
inherit the tool-info from the parent tool.
svn path=/trunk/; revision=25477
2008-04-13 Sven Neumann <sven@gimp.org>
* app/widgets/gimpunitcombobox.c: added "label-scale" style
property.
* app/display/gimpscalecombobox.[ch]: ditto. Also removed the
support for extra action items.
* app/display/gimpstatusbar.c: changed accordingly.
* themes/Default/gtkrc
* themes/Small/gtkrc: use a smaller font for the combo-box
labels
in the statusbar.
svn path=/trunk/; revision=25475
2008-04-13 Michael Natterer <mitch@gimp.org>
* app/tools/gimpiscissorstool.c: minor cosmetics.
* cursors/gimp-tool-cursors.xcf: add the new SELECT modifier.
svn path=/trunk/; revision=25474
2008-04-12 Martin Nordholts <martinn@svn.gnome.org>
Applied modified patch from Daniel Hornung that changes the mouse
cursor to a "clicking will create a selection"-icon when hovering
the center of a pending Scissors Select Tool selection (bug #493370)
* app/tools/gimpiscissorstool.c
(gimp_iscissors_tool_cursor_update): Use the new cursor icon.
* cursors/modifier-select.png
* cursors/xbm/modifier-select.xbm
* cursors/xbm/modifier-select-mask.xbm: New cursor icon.
* cursors/makefile.msc
* cursors/Makefile.am
* app/widgets/gimpcursor.c
* app/widgets/widgets-enums.h: Changed accordingly.
svn path=/trunk/; revision=25473
2008-04-12 Martin Nordholts <martinn@svn.gnome.org>
* app/core/gimpimage-snap.c (gimp_image_snap_rectangle): Applied
patch from Mark Locascio that makes the center point of rectangles
snap (bug #527659).
svn path=/trunk/; revision=25471
2008-04-11 Sven Neumann <sven@gimp.org>
* app/tools/gimptextoptions.c (gimp_text_options_gui): tweaked the
layout to save a few pixels.
svn path=/trunk/; revision=25467
2008-04-11 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-appearance.c
(gimp_display_shell_appearance_update): don't show the status
bar's resize grip in fullscreen mode.
svn path=/trunk/; revision=25465
2008-04-10 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.[ch]
(gimp_statusbar_progress_message):
improved the check if the message can be shown in the statusbar.
Do not show messages that don't fit into the given space.
* app/gui/gui-message.c (gui_message_error_dialog): if there's
already an error dialog associated with a progress, then use it.
svn path=/trunk/; revision=25461
2008-04-10 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcomponenteditor.c: implement
GimpDocked::set_context() and set the GimpViewRenderers'
contexts. Unclear how this could have been missed since it
warned badly about NULL contexts.
svn path=/trunk/; revision=25460
2008-04-09 Sven Neumann <sven@gimp.org>
* app/plug-in/plug-in-menu-path.c (plug_in_menu_path_map):
removed
function name from debug output.
svn path=/trunk/; revision=25443
2008-04-09 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-menu-path.c (plug_in_menu_path_map): enable
and improve debug output for mapped menu paths.
svn path=/trunk/; revision=25437
2008-04-09 Sven Neumann <sven@gimp.org>
* app/widgets/gimptexteditor.c (gimp_text_editor_new): disabled
the language entry until it works.
svn path=/trunk/; revision=25432
2008-04-09 Sven Neumann <sven@gimp.org>
* app/core/core-enums.[ch] (enum GimpUndoType): better descriptions
for the GIMP_UNDO_FS_RIGOR and GIMP_UNDO_FS_RELAX undo types.
* app/core/gimplayer-floating-sel.c: corrected a comment.
svn path=/trunk/; revision=25431
2008-04-09 Michael Natterer <mitch@gimp.org>
* menus/image-menu.xml.in: add "File/New" submenu and an "Acquire"
placeholder inside it. Removed "File/Acquire". Removed the "Xtns"
menu.
* app/plug-in/plug-in-menu-path.[ch] (plug_in_menu_path_map):
add "menu_label" parameter and add support for mapping around
individual menu items while preserving their translation and
mnemonics. Add mappings for the known menus from "Xtns" and map
them to "File/New".
Map everything else in "Xtns" to "Filters/Extensions".
* app/plug-in/gimppluginmanager-menu-branch.c
(gimp_plug_in_manager_add_menu_branch): pass the menu_label so
menu branches can be mapped with their translation.
* app/plug-in/gimppluginprocedure.c
(gimp_plug_in_procedure_add_menu_path): pass NULL because mapping
menu items which have no submenu makes no sense and is redundant.
* app/actions/image-actions.c: remove the "Xtns" menu action.
* app/actions/file-actions.c: add action for the "File/New" menu
and removed the "File/Acquire" action.
* app/actions/edit-actions.c: rename "Paste as New" to
"From Clipboard".
* menus/image-menu.xml.in: add the "From Clipboard" action to the
"File/New" menu.
svn path=/trunk/; revision=25427
2008-04-09 Sven Neumann <sven@gimp.org>
* app/core/gimpcontainer.[ch]: added new methods
gimp_container_get_{first,last}_child().
* app/actions/file-actions.c (file_actions_close_all_update)
* app/dialogs/layer-add-mask-dialog.c (layer_add_mask_dialog_new)
* app/dialogs/palette-import-dialog.c (palette_import_image_callback)
* app/gui/gui-vtable.c (gui_get_empty_display):
* app/widgets/gimpmenudock.c (gimp_menu_dock_image_changed): use
the new GimpContainer methods.
* app/core/gimpundostack.c: use the new GimpContainer methods and
cleaned up the code.
svn path=/trunk/; revision=25426
2008-04-09 Sven Neumann <sven@gimp.org>
* menus/image-menu.xml.in: moved Languages to the bottom. Removed
separator from the Filters list as there was really no rule as to
what goes above and what goes below.
* app/actions/plug-in-actions.c: added Filters->Decor submenu.
* plug-ins/script-fu/script-fu.c (script_fu_extension_init):
removed registration of redundant menu branches.
svn path=/trunk/; revision=25422
2008-04-08 Michael Natterer <mitch@gimp.org>
* menus/image-menu.xml.in: add placeholder "Help/Programming"
* plug-ins/common/plugin-browser.c
* plug-ins/common/procedure-browser.c: move the plug-in and
procedure browsers there.
* menus/image-menu.xml.in: moved the (now by default empty)
"Extensions" placeholder from "Xtns" to "Filters". Let's see what
cruft shows up there.
* app/plug-in/plug-in-menu-path.c: map "Xtns/Extensions" to
"Filters/Extensions".
svn path=/trunk/; revision=25415
2008-04-08 Michael Natterer <mitch@gimp.org>
Start getting rid of the "Xtns" menu:
* app/actions/dialogs-actions.c (dialogs_toplevel_actions):
renamed "Module Manager" to "Modules".
* menus/image-menu.xml.in: move it to "Edit/Preferences" for the
time being so it doesn't block the removal of the "Xtns" menu.
Move "Languages" placeholder from "Xtns" to "Filters".
* app/plug-in/plug-in-menu-path.c (menu_path_mappings): map
"Xtns/Languages" to "Filters/Languages".
svn path=/trunk/; revision=25414
2008-04-08 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdialogfactory.c
(gimp_dialog_factory_set_user_pos): set GDK_HINT_MIN_SIZE on
dialogs which had no previous sessionrc entry. Fixes the minimum
size of the very first empty display of a new GIMP installation
and shouldn't have any ill effects on other windows.
svn path=/trunk/; revision=25409
2008-04-07 Sven Neumann <sven@gimp.org>
* app/tools/gimprectangletool.[ch]:
* app/tools/gimptexttool.c removed out 'force-narrow' mode as it
is hard to use and just looks broken.
svn path=/trunk/; revision=25399
* app/tools/gimprectangletool.[ch]: add "force_narrow"
parameter.
* app/tools/gimptexttool.c: Force rectangle to always
be narrow, and squash a few bugs.
svn path=/trunk/; revision=25397
2008-04-07 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-coords.[ch]
* app/tools/gimppainttool.c
* app/tools/gimptool.[ch]: applied patch from Alexia Death as
attached to bug #508639. This change makes the smoothing depend on
the active tool.
svn path=/trunk/; revision=25392
2008-04-07 Sven Neumann <sven@gimp.org>
* app/actions/templates-actions.c
* app/actions/templates-commands.c: when creating an image from a
template, skip the New Image dialog as suggested in bug #480802.
svn path=/trunk/; revision=25391
2008-04-07 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplay-handlers.c (gimp_display_saved_handler):
use gimp_statusbar_push_temp() directly instead of going through
gimp_message(). Use the GTK_STOCK_SAVE icon for the statusbar
message.
svn path=/trunk/; revision=25388
2008-04-07 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/procedural_db.pdb (procedural_db_proc_exists):
canonicalize the procedure name and also try compat names.
* app/pdb/procedural-db-cmds.c: regenerated.
svn path=/trunk/; revision=25386
2008-04-05 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplay.[ch]: added new function
gimp_display_close() which decides if gimp_display_delete() or
gimp_display_empty() needs to be called.
* app/display/gimpdisplay-foreach.[ch]: added new function
gimp_displays_close() and removed the 'do_quit' parameter from
gimp_displays_delete().
* app/gui/gui.c (gui_exit_callback): changed accordingly.
* app/display/gimpdisplayshell-close.c: removed
gimp_display_shell_really_close() and call gimp_display_close()
instead.
* app/display/gimpdisplayshell.c (gimp_display_shell_empty):
moved
code to update the ui managers here.
* app/actions/file-commands.c (file_save_cmd_callback)
(file_close_cmd_callback)
* app/dialogs/file-save-dialog.c (file_save_dialog_response)
* app/dialogs/quit-dialog.c (quit_close_all_dialog_response):
close displays instead of deleting them.
* app/gui/gui-vtable.c (gui_display_delete): call
gimp_display_close().
svn path=/trunk/; revision=25377
2008-04-04 Sven Neumann <sven@gimp.org>
* app/core/gimpselection.c (gimp_selection_float): clear the
selection as gimp_selection_extract() doesn't do this for us any
longer (see bug #510534).
svn path=/trunk/; revision=25366
2008-04-04 Sven Neumann <sven@gimp.org>
* app/pdb/gimppdb-utils.[ch]: added test for floating items.
* tools/pdbgen/pdb/image.pdb: use it to improve error handling.
* app/pdb/image_cmds.c: regenerated.
svn path=/trunk/; revision=25356
2008-04-04 Sven Neumann <sven@gimp.org>
* app/pdb/gimppdb-utils.[ch]: added utility functions to check
the
image base type.
* tools/pdbgen/pdb/convert.pdb: use it so that we get a proper
error set on failure.
* app/pdb/convert_cmds.c: regenerated.
svn path=/trunk/; revision=25354
2008-04-03 Michael Natterer <mitch@gimp.org>
* app/pdb/gimppdb-utils.c
* tools/pdbgen/pdb/text_layer.pdb: GIMP_PDB_CALLING_ERROR and
GIMP_PDB_EXECUTION_ERROR are not from the GimpPdbErrorCode
enum. Use GIMP_PDB_INVALID_ARGUMENT instead.
* app/pdb/text_layer_cmds.c: regenerated.
svn path=/trunk/; revision=25351
2008-04-03 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-convert.c (gimp_image_convert): don't accept
palettes with more than 256 colors.
* tools/pdbgen/pdb/convert.pdb: fail here too for palettes
with > 256 colors. Fixes bug #525471.
* app/pdb/convert_cmds.c: regenerated.
svn path=/trunk/; revision=25348
* app/text/gimptextlayout.c
* app/tools/gimptexttool.[ch]
* app/tools/gimprectangletool.[ch]
* app/tools/gimptextoptions.c: allow resizing of text
box. This is work in progress, and needs some tweaks
and fixes. See bug #122707.
svn path=/trunk/; revision=25344
2008-04-02 Sven Neumann <sven@gimp.org>
* tools/pdbgen/Makefile.am
* tools/pdbgen/pdb/text_layer.pdb: new text layer PDB API
created
by Marcus Heese (see bug #164539).
* app/pdb/Makefile.am
* app/pdb/text_layer_cmds.c: new generated file.
* libgimp/Makefile.am
* libgimp/gimptextlayer_pdb.[ch]: new generated files.
* app/pdb/internal_procs.[ch]
* libgimp/gimp_pdb.h
* tools/pdbgen/groups.pl: regenerated.
svn path=/trunk/; revision=25342
2008-04-02 Sven Neumann <sven@gimp.org>
* tools/pdbgen/app.pl: special treatment for gimppdberror.h to
get
a saner include order.
* app/pdb/floating_sel_cmds.c
* app/pdb/image_cmds.c: regenerated.
svn path=/trunk/; revision=25341
2008-04-02 Sven Neumann <sven@gimp.org>
* tools/pdbgen/stddefs.pdb: added shortcut for contributions
from
Marcus Heese.
* tools/pdbgen/pdb/drawable.pdb: added
gimp_drawable_is_text_layer(),
taken from the patch attached to bug #164539.
* app/pdb/internal_procs.c
* app/pdb/drawable_cmds.c
* libgimp/gimpdrawable_pdb.[ch]: regenerated.
* libgimp/gimp.def: updated.
svn path=/trunk/; revision=25337
2008-04-02 Sven Neumann <sven@gimp.org>
* app/tools/gimpperspectiveclonetool.c: removed frame around the
mode radio buttons (bug #525747).
* app/tools/gimpdodgeburntool.c: relabelled "Mode" frame to
"Range".
svn path=/trunk/; revision=25336
2008-04-02 Sven Neumann <sven@gimp.org>
* app/actions/file-actions.c: don't set a help-id on items in the
Open Recent menu.
* app/menus/file-menu.c (file_menu_setup): show a larger thumbnail
in the tooltips for recently used images.
svn path=/trunk/; revision=25332
2008-04-01 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-title.c
(gimp_display_shell_update_title_idle): no need to translate the
empty string.
svn path=/trunk/; revision=25328
2008-03-31 Sven Neumann <sven@gimp.org>
* app/text/text-enums.[ch]
* libgimpbase/gimpbaseenums.[ch]: as a first step towards a new
text PDB API, moved GimpTextDirection and GimpTextJustification
enums to libgimpbase.
* libgimpbase/gimpbase.def: updated.
svn path=/trunk/; revision=25325
2008-03-31 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpbrusheditor.c (gimp_brush_editor_notify_brush):
Add missing code for the "spacing" property. Spotted by Jerry Baker.
svn path=/trunk/; revision=25323
2008-03-30 Martin Nordholts <martinn@svn.gnome.org>
* app/widgets/gimpcontainertreeview-dnd.c
(gimp_container_tree_view_drag_drop): Make all code paths result
in a call to gtk_drag_finish() if we return TRUE. Fixes bug
#317992.
svn path=/trunk/; revision=25320
2008-03-30 Sven Neumann <sven@gimp.org>
* app/core/gimparea.c (gimp_area_list_free): don't leak the
memory
allocated for the GSList.
svn path=/trunk/; revision=25317
2008-03-30 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcontainertreeview.c: added a finalizer that
frees
the memory allocated for the cell lists.
svn path=/trunk/; revision=25316
2008-03-30 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c
(gimp_display_shell_scale_changed):
never set the dest_inc and src_dec variables to zero.
svn path=/trunk/; revision=25313
2008-03-30 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-cursor.[ch]: added new function
gimp_display_shell_unset_cursor().
(gimp_display_shell_real_set_cursor): deal with cursor_type -1
and
change the cursor to the default desktop cursor. Fixes warnings
on
image load.
* app/display/gimpdisplayshell.c (gimp_display_shell_empty):
use gimp_display_shell_unset_cursor().
svn path=/trunk/; revision=25312
2008-03-30 Sven Neumann <sven@gimp.org>
Merged Bill's changes for bug #521433 from trunk with some minor
cleanups:
* app/paint/gimpbrushcore.[ch]: made
gimp_brush_core_get_brush_mask() public.
* app/paint/gimpheal.c: respect the brush mask.
svn path=/trunk/; revision=25309
2008-03-29 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpmenudock.c (gimp_menu_dock_auto_clicked): when
the "Auto" button gets enabled, always copy both display and image
to the local context (because there can be displays without image
now).
svn path=/trunk/; revision=25306
2008-03-29 Michael Natterer <mitch@gimp.org>
* app/gui/gui-vtable.c (gui_display_create): remove temporary
"object" variable, it's prefectly fine to say GIMP_DISPLAY() on a
NULL pointer.
svn path=/trunk/; revision=25305
2008-03-29 Mukund Sivaraman <muks@mukund.org>
* app/core/gimpdrawable-operation.c: Use #warning only if
compiler is gcc.
svn path=/trunk/; revision=25297
2008-03-28 Mukund Sivaraman <muks@mukund.org>
Fixes for some Sparse reported issues in app, libgimp*/
* app/gui/gui-vtable.c: Included <gdk/gdkx.h>
* libgimp/gimpprocview.c: author, date, copyright are pointers.
* libgimpwidgets/gimpcolorprofilestore.c: Last argument of
g_scanner_scope_add_symbol() is a pointer.
svn path=/trunk/; revision=25293
2008-03-28 Mukund Sivaraman <muks@mukund.org>
Fixes for some Sparse reported issues in app/
* app/core/gimpdrawable-operation.c: Added prototype for
gegl_node_add_child().
* app/core/gimpcurve.c: Remove C99 code
* app/tools/gimpcurvestool.c
* app/tools/gimpperspectiveclonetool.c
* app/vectors/gimpstroke.c: Mark functions as static.
* app/base/siox.c: state is a pointer.
* app/plug-in/gimppluginprocframe.c: values is a pointer.
* app/plug-in/plug-in-rc.c: plug_in_rc_parse() returns a pointer.
* app/plug-in/gimpinterpreterdb.c: Check program[0] for '\0'
instead of the pointer program itself.
svn path=/trunk/; revision=25292
2008-03-28 Sven Neumann <sven@gimp.org>
* app/dialogs/tips-parser.[ch]
* app/dialogs/tips-dialog.c: improved the creation of fallback
tips in case of an error parsing the tips file.
(tips_dialog_create): simplified dialog layout.
* app/dialogs/preferences-dialog.c: removed the check button for
the "show-tips" option.
svn path=/trunk/; revision=25270
2008-03-28 Sven Neumann <sven@gimp.org>
* data/tips/gimp-tips.dtd
* data/tips/gimp-tips.xml.in
* app/dialogs/tips-parser.[ch]: reverted some of the changes
from
yesterday. The simplification went too far and we inadvertently
lost an important feature.
svn path=/trunk/; revision=25269
2008-03-27 Sven Neumann <sven@gimp.org>
* data/tips/gimp-tips.dtd
* data/tips/gimp-tips.xml.in: simplified the gimp-tips XML
format
as we do not any longer need a special welcome tip.
* app/dialogs/tips-dialog.c
* app/dialogs/tips-parser.[ch]: changed accordingly.
svn path=/trunk/; revision=25267
2008-03-27 Sven Neumann <sven@gimp.org>
Preparing for a revamp of the "Tip of the Day" feature:
* app/config/gimpguiconfig.[ch]: removed "show-tips" property.
* app/gui/gui.[ch]: removed gui_post_init() as it's only purpose
was
to show the tips dialog.
* app/app.c: changed accordingly.
* app/dialogs/tips-dialog.c: removed some stuff that we are not
going to need any longer.
svn path=/trunk/; revision=25265
2008-03-27 Sven Neumann <sven@gimp.org>
Properly pass the focus from the core to plug-in dialogs:
* libgimpbase/gimpprotocol.[ch]: added a user_time member to the
GimpConfig struct. Bumped the protocol version to 0x0012.
* app/core/gimp-gui.[ch]
* app/gui/gui-vtable.c: added gimp_get_user_time() to get the
timestamp of the last user interaction.
* app/plug-in/gimppluginmanager-call.c
(gimp_plug_in_manager_call_run): pass the timestamp to in the
GimpConfig message.
* libgimp/gimp.[ch]:
* libgimp/gimp.def: added method to access the timestamp as set
in the config message.
* libgimp/gimpui.c (gimp_ui_init): construct a fake startup ID and
set the DESKTOP_STARTUP_ID environment variable.
svn path=/trunk/; revision=25263
2008-03-27 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdockable.c (gimp_dockable_detach): open the new
dock window at the mouse pointer position.
svn path=/trunk/; revision=25262
2008-03-27 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-dnd.c
(gimp_display_shell_drop_uri_list): don't flush if there's no image.
(gimp_display_shell_dnd_flush): use gtk_window_present() instead of
gdk_window_focus().
svn path=/trunk/; revision=25261
2008-03-27 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c: use a button with icon for the
progress cancel button.
svn path=/trunk/; revision=25260
2008-03-27 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_style_set):
added an arbitrary number to the minimum height.
svn path=/trunk/; revision=25259
2008-03-27 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c: make sure that the statusbar frame
requests enough space to hold it's children, also the invisible ones.
* app/display/gimpdisplayshell.c (gimp_display_shell_style_set):
don't add 1 pixel here, this spacing is gone.
svn path=/trunk/; revision=25258
2008-03-27 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.[ch]: derive GimpStatusbar from
GtkStatusbar. Use the normal statusbar label for statusbar
messages and only show the progressbar when progress is active.
* app/display/gimpdisplayshell.c (gimp_display_shell_new): removed
spacing from the main vertical box.
svn path=/trunk/; revision=25257
2008-03-27 Sven Neumann <sven@gimp.org>
* app/gui/gui.c (gui_init): disable automatic startup
notification.
(gui_restore_after_callback): notify the display enviroment that
the application has finished loading.
* app/gui/splash.c: no need to deal with startup notification
here
any longer.
svn path=/trunk/; revision=25254
2008-03-26 Michael Natterer <mitch@gimp.org>
* app/widgets/gimptoolbox.[ch]: store the toolbox area's vbox in
the widget struct.
* app/widgets/gimptoolbox-dnd.c (gimp_toolbox_dnd_init): use it as
DND target instead of the wbox with the tool buttons.
svn path=/trunk/; revision=25250
2008-03-26 Michael Natterer <mitch@gimp.org>
* app/widgets/gimptoolbox.[ch]: big wilber is watching you from
the toolbox! Removed forgotten menubar cruft.
svn path=/trunk/; revision=25249
2008-03-26 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcairo-wilber.c: include a better Wilber path,
thanks to Jimmac.
* app/display/gimpcanvas.c (gimp_canvas_draw_drop_zone): undid
scaling "fix", instead take the offset into account. Draw with
transparency.
svn path=/trunk/; revision=25246
2008-03-26 Sven Neumann <sven@gimp.org>
* app/widgets/Makefile.am
* app/widgets/gimpcairo-wilber.[ch]: new files that renders a
Wilber image as a Cairo path. Or at least it is supposed to do
this at some point...
* app/display/gimpcanvas.c (gimp_canvas_draw_drop_zone): use the
scalable Wilber path. Needs more work...
svn path=/trunk/; revision=25244
2008-03-26 Michael Natterer <mitch@gimp.org>
* app/display/gimpcanvas.[ch]: improve wilber scaling and remove
the drop zone layout.
* app/display/gimpdisplayshell.c: add a tooltip instead.
svn path=/trunk/; revision=25241
2008-03-26 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_canvas_realize): don't set an initial cursor
so we get the desktop default cursor after starting GIMP.
svn path=/trunk/; revision=25240
2008-03-26 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-icon.[ch]
* app/display/gimpdisplayshell-handlers.c: moved more icon code to
its new home.
svn path=/trunk/; revision=25233
2008-03-25 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.[ch]: added gimp_statusbar_peek(), a
method to access the contents of the statusbar.
* app/display/gimpdisplayshell.c
(gimp_display_shell_window_state_event): when the iconfied state
changes, call gimp_display_shell_progress_window_state_changed().
* app/display/gimpdisplayshell-progress.[ch]: when the image
window is iconified, display the progress message in the window
title so that it appears in the task bar.
* app/menus/plug-in-menus.c: formatting.
svn path=/trunk/; revision=25224
2008-03-25 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-callbacks.[ch]: remove the window
state callback here...
* app/display/gimpdisplayshell.c: ...add it here and turn it into
a GtkWidget::window_state_event() implementation instead of a
signal callback.
svn path=/trunk/; revision=25223
2008-03-25 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.[ch]:
* app/display/gimpdisplayshell.c (gimp_display_shell_init): moved
handling of window state events to a separate callback.
svn path=/trunk/; revision=25221
2008-03-25 Sven Neumann <sven@gimp.org>
* app/core/gimp-gui.[ch]
* app/gui/gui-vtable.c: added gimp_get_empty_display() to the vtable.
* app/file/file-open.c (file_open_from_command_line): use the
empty display as progress window when opening an image from the
command-line or via the DBus interface.
svn path=/trunk/; revision=25219
2008-03-25 Michael Natterer <mitch@gimp.org>
* app/actions/image-actions.c: remove "image-new-from-image"
action.
* app/actions/image-commands.[ch]: remove its callback and made
the "image-new" callback use the current image's dimensions
instead.
* menus/image-menu.xml.in: use the "image-new" action.
svn path=/trunk/; revision=25218
2008-03-25 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_style_set):
fix to work without menubar, don't reset GDK_HINT_USER_POS.
svn path=/trunk/; revision=25217
2008-03-25 Sven Neumann <sven@gimp.org>
* app/gui/gui.c (gui_restore_after_callback): focus the image
window after all docks have been created.
* app/widgets/gimpdock.c (gimp_dock_init): unset focus-on-map on
all dock windows.
* app/widgets/gimpdialogfactory.c
(gimp_dialog_factories_show_foreach): removed the focus hacks here
as they are not any longer needed.
svn path=/trunk/; revision=25216
2008-03-25 Sven Neumann <sven@gimp.org>
* app/actions/file-actions.c
* app/actions/file-commands.[ch]: renamed
file_last_opened_cmd_callaback() to file_open_recent_cmd_callback().
Use the empty display as progress object.
svn path=/trunk/; revision=25215
2008-03-25 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_new): center
the empty image window on first startup.
svn path=/trunk/; revision=25214
2008-03-25 Sven Neumann <sven@gimp.org>
* app/gui/gui-vtable.c (gui_recent_list_load): sort the list
into
MRU order on load.
svn path=/trunk/; revision=25213
2008-03-25 Sven Neumann <sven@gimp.org>
* app/actions/documents-commands.c: only fiddle with
GtkRecentManager when "save-document-history" is enabled.
* app/config/gimprc-blurbs.h
* app/dialogs/preferences-dialog.c: changed description and
label
for the "save-document-history" option.
svn path=/trunk/; revision=25212
2008-03-24 Sven Neumann <sven@gimp.org>
* app/core/gimp-user-install.c (user_install_migrate_files):
don't
migrate "documents".
* app/actions/documents-commands.c
(documents_remove_cmd_callback)
(documents_remove_dangling_foreach): remove from
GtkRecentManager
before removing the item from the documents list.
svn path=/trunk/; revision=25196
2008-03-24 Sven Neumann <sven@gimp.org>
* libgimpthumb/gimpthumbnail.c: don't reset the mime-type info
when we can't load a thumbnail.
* app/core/gimpimagefile.c (gimp_imagefile_get_new_pixbuf):
don't
set a stock-id depending on the state.
* app/widgets/gimpviewrendererimagefile.[ch]: removed commented
out hack that used to access semi-private API from
GtkFilesystem.
Instead lifted some code from GtkRecentManager that looks up
icons
by mime-type.
svn path=/trunk/; revision=25195
2008-03-24 Sven Neumann <sven@gimp.org>
* app/actions/documents-commands.c
(documents_remove_dangling_foreach): also remove the dangling
item
from GtkRecentManager.
svn path=/trunk/; revision=25191
2008-03-24 Sven Neumann <sven@gimp.org>
Do not any longer keep the document history in two places. We
only
use GtkRecentManager now:
* app/core/Makefile.am
* app/core/gimp-documents.[ch]: removed these files.
* app/core/gimpdocumentlist.c: removed code to load and save the
"documents" file.
(gimp_document_list_add_uri): call gimp_recent_list_add_uri()
here.
* app/core/gimpimagefile.[ch]: added function to set the
mime-type.
* app/core/gimp.c (gimp_restore): removed code to load the
document history.
(gimp_real_exit): removed code to save it.
* app/core/gimp-gui.[ch]: extended the vtable with a method to
populate the document list.
* app/gui/gui-vtable.c: added code to populate the document
history
from the list of recently used files kept by GtkRecentManager.
* app/gui/gui.c (gui_restore_callback): load the recent files
here.
* app/file/file-open.c
* app/file/file-save.c: no need to call
gimp_recent_list_add_uri()
any longer as gimp_document_list_add_uri() does that for us now.
* app/actions/documents-commands.c
(documents_clear_cmd_callback):
purge the items from GtkRecentManager. Also changed the dialog
to
emphasize that this operation now affects the document history
in
all applications.
* docs/gimp.1.in: removed reference to "documents" file.
svn path=/trunk/; revision=25190
2008-03-23 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdialogfactory.c (gimp_dialog_factory_add_dialog):
don't set the dialog's window geometry if it is already visible.
Fixes empty display moving and shouldn't affect anything else
since we always want to position dialogs before they are shown.
svn path=/trunk/; revision=25184
2008-03-23 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_new): use the
right GimpDisplayOptions to set the initial visibility of the
shell's widgets.
svn path=/trunk/; revision=25183
2008-03-23 Michael Natterer <mitch@gimp.org>
* app/display/gimpstatusbar.c: implement GtkWidget::size_request()
and also consider the children which can be invisible when the
display is empty.
* app/display/gimpdisplayshell.c (gimp_display_shell_style_set):
set the minimum height of the display to menubar + statusbar
height.
svn path=/trunk/; revision=25182
2008-03-23 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_scale_resize): always need to fully expose the
canvas now that "redisplay" was removed.
svn path=/trunk/; revision=25179
2008-03-23 Michael Natterer <mitch@gimp.org>
Never shrink the empty display when filling it, only grow:
* app/display/gimpdisplayshell.[ch]
* app/display/gimpdisplayshell-scale.[ch]: add "gboolean
grow_only" parameters to shrink_wrap() APIs which restricts
resizing of the window to growing.
* app/display/gimpdisplayshell-scale.[ch]
(gimp_displaY_shell_scale_resize): remove boolean "redisplay"
parameter because is was always passed as TRUE. Add boolean
"grow_only" instead and pass it on to shrink_wrap()
* app/actions/view-commands.c
* app/display/gimpdisplayshell-handlers.c: pass grow_only = FALSE.
* app/display/gimpdisplayshell.c (gimp_display_shell_idle_fill):
pass grow_only = TRUE.
svn path=/trunk/; revision=25178
2008-03-23 Michael Natterer <mitch@gimp.org>
* app/dialogs/dialogs.[ch]: added a dialog factory for displays
and register "gimp-no-image-window" with it.
* app/display/gimpdisplay.[ch]: add a GimpDialogFactory parameter
to gimp_display_new() and pass it on to gimp_display_shell_new().
* app/display/gimpdisplayshell.[ch]: keep the passed
GimpDialogFactory around. When the shell becomes empty, add it to
the dialog factory and resize it to the remembered size; when it
becomes non-empty, remove it from the dialog factory again.
* app/gui/gui-vtable.c: pass the display dialog factory to
gimp_display_new().
svn path=/trunk/; revision=25177
2008-03-23 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdialogfactory.c: cleanup (move variables to
local scopes), improve debugging outout.
(gimp_dialog_factory_remove_dialog): disconnect signal handlers
and unset any session management data which is attached to the
widget, so this function can really be used to remove a dialog
from the factory.
svn path=/trunk/; revision=25176
2008-03-23 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpsessioninfo.c (gimp_session_info_get_geometry):
use gdk_drawable_get_size() instead of looking at
widget->allocation since the latter is not yet updated if this
function is called from the dialog factory's "configure-event"
callback. Fixes remembering of dialog sizes within one session.
svn path=/trunk/; revision=25175
2008-03-23 Michael Natterer <mitch@gimp.org>
* app/core/gimpcontext.c (gimp_context_real_set_display): set the
image also if it is NULL.
svn path=/trunk/; revision=25174
2008-03-22 Sven Neumann <sven@gimp.org>
* themes/Default/gtkrc
* app/widgets/gimpmenudock.c: reduced minimum dock width to 200
pixels.
* etc/sessionrc: use -0 instead of -1, just like in X geometry
strings. Changed default dock sizes to be taller but less wide.
* app/widgets/gimpsessioninfo.c: changed code to parse -0 from
the
sessionrc file and to deal more correctly with negative offsets.
svn path=/trunk/; revision=25169
2008-03-22 Sven Neumann <sven@gimp.org>
* app/widgets/gimpsessioninfo.c
(gimp_session_info_set_geometry):
deal with negative positions read from the sessionrc file and
interpret them as a hint to align the window with the right,
respective bottom edge of the screen.
* etc/sessionrc: position the toolbox in the upper left, the
additional dock in the upper right corner of the screen.
svn path=/trunk/; revision=25167
2008-03-21 Sven Neumann <sven@gimp.org>
* app/display/gimpcanvas.c (gimp_canvas_draw_drop_zone): tweaked
opacity calculation so that the opacity is only increased with
smaller font sizes.
svn path=/trunk/; revision=25166
2008-03-21 Sven Neumann <sven@gimp.org>
* app/core/gimptemplate.[ch]: moved defines to the header file
and
changed to 640x400 which is actually almost the golden mean as
claimed by the comment.
* app/display/gimpdisplayshell.c: use the defines here.
svn path=/trunk/; revision=25165
2008-03-21 Sven Neumann <sven@gimp.org>
* app/core/gimptemplate.c: increased the size of the default
image
(to the next Fibonacci number for the development version and to
640x480 for GIMP 2.6).
svn path=/trunk/; revision=25163
2008-03-21 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_fill_idle):
gtk_window_present() the image window to make sure that images
aren't opened into a minimized image window.
svn path=/trunk/; revision=25161
2008-03-21 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-close.c (gimp_display_shell_close):
invoke the quit action instead of calling gimp_exit() so its
sensitivity is taken into account.
svn path=/trunk/; revision=25157
2008-03-21 Michael Natterer <mitch@gimp.org>
Remove the toolbox menu:
* configure.in: remove --enable-toolbox-menu option.
* menus/Makefile.am
* menus/toolbox-menu.xml.in: removed.
* menus/image-menu.xml.in: add the debug menu here.
* menus/menus.xsl: remove transformations depending on whether
there is a toolbox menu or not.
* app/menus/Makefile.am
* app/menus/toolbox-menu.[ch]: removed.
* app/menus/menus.c: remove the toolbox menu but keep the
<Toolbox> UI manager around so we can configure its actions
separate from normal docks.
* app/actions/image-actions.c (image_actions): remove the action
for the toolbox menubar.
* app/widgets/gimptoolbox.c: remove all menu code.
* app/plug-in/plug-in-menu-path.c: map plug-in registered toolbox
menu items to their new location in the image menu
unconditionally.
* plug-ins/common/screenshot.c
* plug-ins/common/uniteditor.c
* plug-ins/script-fu/script-fu.c
* plug-ins/script-fu/scripts/web-browser.scm
* plug-ins/twain/twain.c
* plug-ins/winsnap/winsnap.c: remove menu registrations under
<Toolbox>/File and change <Toolbox>/Help to <Image>/Help. Leave
<Toolbox>/Xtns untouched until its final location and name are
decided.
svn path=/trunk/; revision=25156
2008-03-21 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdock.h (struct GimpDock): added member "ID"
for themeing.
* app/widgets/gimpdock.c (gimp_dock_init): assign unique IDs
and set unique widget names based on the ID.
(gimp_dock_style_set): set individual styles for each dock based
on the widget name so docks on different screens get the correct
font size. Use PANGO_SCALE_SMALL instead of a hardcoded factor of
0.8.
svn path=/trunk/; revision=25152
2008-03-21 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdock.c (gimp_dock_style_set): some experimental
and pretty evil code which reduces the font size in docks by 20%.
svn path=/trunk/; revision=25150
2008-03-21 Michael Natterer <mitch@gimp.org>
* app/display/gimpcanvas.c (gimp_canvas_draw_drop_zone): make sure
the drop label's opacity scales with its size so we don't end up
with tiny text at 10% opacity.
svn path=/trunk/; revision=25149
2008-03-20 Michael Natterer <mitch@gimp.org>
* app/gui/gui-vtable.c (gui_display_create): add back code that
made sure the newly created display/image combo is the user
context's active one.
svn path=/trunk/; revision=25148
2008-03-20 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-close.c
(gimp_display_shell_close): gimp_exit() when closing the "no
image" window.
svn path=/trunk/; revision=25147
2008-03-20 Martin Nordholts <martinn@svn.gnome.org>
* app/gui/gui-vtable.c
(gui_display_create): Make the logic clearer.
(gui_get_empty_display): New helper function.
svn path=/trunk/; revision=25144
2008-03-20 Sven Neumann <sven@gimp.org>
* app/gui/gui.c (gui_restore_after_callback): create the empty
display before the other windows.
* app/display/gimpdisplayshell.c (gimp_display_shell_new): center
the empty window and create additional image windows under the
mouse cursor. Just an experiment ...
svn path=/trunk/; revision=25143
2008-03-20 Sven Neumann <sven@gimp.org>
* app/config/gimpguiconfig.c: changed default values for
"toolbox-window-hint" and "dock-window-hint" to "utility".
* app/widgets/gimptoolbox.c (gimp_toolbox_new): changed window
title to "Toolbox".
svn path=/trunk/; revision=25142
2008-03-20 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_new): make it
work when called with display->image == NULL. Use a randomly
picked canvas size for now, more later.
(gimp_display_shell_fill): add missing call to
gimp_display_shell_scale_changed().
* app/gui/gui.c (gui_restore_after_callback): create an empty
display.
svn path=/trunk/; revision=25141
2008-03-20 Sven Neumann <sven@gimp.org>
* app/plug-in/gimppluginprocedure.c
(gimp_plug_in_procedure_set_file_proc): don't allow "file:" to be
registered as prefix. This seems to happen with the uri-gio plug-in
when no gvfs backends are installed.
svn path=/trunk/; revision=25139
2008-03-20 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.[ch]: shrink-wrap the newly filled
empty display in an idle function.
svn path=/trunk/; revision=25138
2008-03-19 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_canvas_tool_events): enable the right click
menu on the empty display.
svn path=/trunk/; revision=25135
2008-03-19 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_empty): use
the desktop default cursor for the empty display.
svn path=/trunk/; revision=25134
2008-03-19 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_empty): the
code to reset the cursor got lost when introducing this function.
* app/display/gimpdisplayshell-dnd.c
(gimp_display_shell_dnd_init): remove redundant casts.
svn path=/trunk/; revision=25133
2008-03-19 Michael Natterer <mitch@gimp.org>
* app/display/gimpcanvas.c (gimp_canvas_draw_drop_zone): make the
scale factor of the label 4/5 instead of 2/3 of the canvas and
move the factor out of the MIN().
svn path=/trunk/; revision=25132
2008-03-19 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_canvas_expose): return FALSE so that the
default drag highlighting works.
* app/display/gimpdisplayshell-dnd.c: only set the canvas as
drop
target, not the whole shell.
* app/display/gimpdisplayshell.c: delay the call to
gimp_display_shell_dnd_init() until after the canvas has been
created.
svn path=/trunk/; revision=25127
2008-03-19 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c
* app/display/gimpdisplayshell-title.c
* app/display/gimpstatusbar.[ch]: hide/show the cursor label and
the unit and scale combo-boxes.
svn path=/trunk/; revision=25125
2008-03-19 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplay.[ch]: add gimp_display_empty()/fill()
which turns it into an empty display and back.
* app/display/gimpdisplayshell.[ch]: add same api here.
* app/display/gimpdisplayshell-close.c
* app/gui/gui-vtable.c: use the new functions instead of having
the code here.
* app/display/gimpdisplayshell-selection.c
(gimp_display_shell_selection_control): stop the timeout and free
the segments when this function is called on an empty display.
svn path=/trunk/; revision=25124
2008-03-19 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-title.c: changed to only append
GIMP_ACRONYM in the window title and not affect the status-bar.
svn path=/trunk/; revision=25120
2008-03-19 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.[ch]
* app/display/gimpdisplayshell-scale.[ch]: moved
gimp_display_shell_set_initial_scale() to gimpdisplayshell-scale.c.
* app/display/gimpdisplayoptions.c: reverted last change, we want
to keep the status-bar around.
svn path=/trunk/; revision=25119
2008-03-19 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.[ch]
(gimp_display_shell_set_initial_scale): factored out this function
which calculates the zoom factor for new images. Also returns the
size of the canvas for that zoom factor.
* app/gui/gui-vtable.c (gui_display_create): use it to set the
initial scale of images loaded into the empty display, but don't
set the display's size yet.
svn path=/trunk/; revision=25118
2008-03-19 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayoptions.c
(gimp_display_options_no_image_class_init): hide the status-bar,
at least for now.
svn path=/trunk/; revision=25117
2008-03-19 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdockable.c
* app/widgets/gimpwidgets-utils.[ch]: moved utility function for
setting attributes on a PangoLayout out of gimpdockable.c.
* app/display/gimpcanvas.c (gimp_canvas_draw_drop_zone): use a
bold font and paint the layout with transparency.
svn path=/trunk/; revision=25116
2008-03-19 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_update_icon):
deal with NULL image and unset the icon.
* app/display/gimpdisplay.c (gimp_display_set_image): unset the
icon when no image is set.
* app/display/gimpdisplayshell-title.c
(gimp_display_shell_format_title): use GIMP_NAME as the window
title when no image is set. Append GIMP_ACRONYM otherwise.
svn path=/trunk/; revision=25115
2008-03-18 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayoptions.[ch]: add new options object
for the "no image" display appearance.
* app/display/gimpdisplayshell.[ch]: keep one of them around.
* app/display/gimpdisplayshell-appearance.[ch]: use the options
object when the display is empty. Add guards against no image
to some functions. Add gimp_display_shell_appearance_update()
which sets all options according to the current display state
(normal, fullscreen, no image).
* app/actions/view-actions.c: don't allow to configure the GUI
of the empty display.
* app/display/gimpdisplayshell-callbacks.c: use the new appearance
update function instead of doing it all here.
* app/display/gimpdisplayshell-close.c
* app/gui/gui-vtable.c: update the appearance when clearing or
filling the display.
* app/display/gimpdisplayshell-selection.c: forgot some guards
against empty displays.
svn path=/trunk/; revision=25114
2008-03-18 Michael Natterer <mitch@gimp.org>
First draft of the "no image open" window, which is implemented as
a display without image (a view with NULL model). Didn't change
the display's appearance yet so I can first make sure the display
without image works properly in all details before hiding these
details.
* app/core/gimp-gui.[ch]: add "gimp" parameter to display_create()
and allow "image" to be NULL.
* app/core/gimpcontext.c (gimp_context_real_set_display): a
display's image can be NULL now.
* app/display/gimpdisplay.[ch]: add Gimp and GimpDisplayConfig
members. Add Gimp parameter to gimp_display_shell_new(). Changed
gimp_display_reconnect() to gimp_display_set_image() and allow to
set a NULL image.
* app/gui/gui-vtable.c (gui_display_create): if there is a single
display without an image, call gimp_display_set_image() on that
display instead of creating a new one.
* app/display/gimpdisplayshell-close.c: if the last display is
closed, don't close it but make it empty. Factored out that code
to gimp_display_shell_really_close().
* app/display/gimpdisplayshell-dnd.c: when dropping uris on an
empty display, open the first one into that display and the other
ones as layers of the newly opened image. This is consistent with
dropping on an existing image but maybe needs some discussion.
* app/display/gimpdisplayshell-callbacks.c: bail out early in the
tool event callback so tools never have to deal with empty
displays. In expose(), draw the drop zone on the empty display.
* app/display/gimpdisplayshell-title.c: set the empty display's
title to "Gimp - Drop Files".
* app/display/gimpdisplay-foreach.c
* app/display/gimpdisplay-handlers.c
* app/display/gimpdisplayshell-appearance.c
* app/display/gimpdisplayshell-autoscroll.c
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-cursor.c
* app/display/gimpdisplayshell-dnd.c
* app/display/gimpdisplayshell-draw.c
* app/display/gimpdisplayshell-filter-dialog.c
* app/display/gimpdisplayshell-handlers.c
* app/display/gimpdisplayshell-layer-select.c
* app/display/gimpdisplayshell-preview.c
* app/display/gimpdisplayshell-render.c
* app/display/gimpdisplayshell-scale.c
* app/display/gimpdisplayshell-scroll.c
* app/display/gimpdisplayshell-selection.c
* app/display/gimpdisplayshell-title.c
* app/display/gimpdisplayshell.c
* app/display/gimpnavigationeditor.c
* app/display/gimpstatusbar.c: use display->gimp and
display->config instead of going via the image. Guard against
empty displays in some few places (most places can't be
called). Where needed, use the canvas' dimensions instead of the
image's dimensions so scroll offsets and scrollbars still have
sane values instead of the last image's ones.
* app/actions/actions.c (action_data_get_gimp)
(action_data_get_context): use display->gimp instead of
display->image->gimp.
* app/actions/edit-commands.c (edit_paste_cmd_callback): redirect
to "paste as new" if there is an empty display.
* app/actions/tools-commands.c (tools_select_cmd_callback): don't
initialize the new tool on an empty display.
* app/actions/view-actions.c (view_actions_update): changed lots
of sensitivity settings to be insensitive when there is no image
(instead of no display).
* app/actions/view-commands.c: use the display's config object
instead of gimp's.
svn path=/trunk/; revision=25113
2008-03-18 Michael Natterer <mitch@gimp.org>
* app/display/gimpcanvas.[ch]: add gimp_canvas_draw_drop_zone()
which simply renders a big "Drop Here" on the canvas. Replaced
Gimp member and construct property by GimpDisplayConfig.
* app/display/gimpdisplayshell.c (gimp_display_shell_new): changed
accordingly.
svn path=/trunk/; revision=25112
2008-03-11 Michael Natterer <mitch@gimp.org>
* app/core/gimpbrushgenerated.c: reorder and rename local
functions and prototypes to be consistent with other objects. Misc
minor cleanup.
svn path=/trunk/; revision=25083
2008-03-10 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdockable.[ch]
* app/widgets/gimpdockbook.c: moved code for the drag widget to
GimpDockable. Use semi-bold text for the drag widget also.
svn path=/trunk/; revision=25082
2008-03-10 Michael Natterer <mitch@gimp.org>
* app/vectors/gimpanchor.c (gimp_anchor_copy): use g_slice_dup()
instead of copying the struct contents manually.
svn path=/trunk/; revision=25080
2008-03-09 Michael Natterer <mitch@gimp.org>
Fix mishandling of the "antialias" GParamSpec. Fixes bug #521069:
* app/tools/gimpselectionoptions.c: remove
gimp_selection_options_reset() which used to set the default for
"antialias" depending on the tool type (which is impossible since
the antialias GParamSpec only exists once, and not once for each
subclass).
* app/tools/gimpforegroundselectoptions.c: override the antialias
property here and default to FALSE.
svn path=/trunk/; revision=25077
2008-03-09 Michael Natterer <mitch@gimp.org>
* app/tools/gimprectangleselecttool.[ch]
* app/tools/gimprectangleselectoptions.[ch]
* app/tools/gimpellipseselecttool.[ch]
* app/tools/gimp-tools.c: s/Rect/Rectangle/ and s/rect/rectangle/
in types and function names.
svn path=/trunk/; revision=25076
2008-03-09 Michael Natterer <mitch@gimp.org>
* app/tools/Makefile.am
* app/tools/gimpiscissorsoptions.[ch]
* app/tools/gimpregionselectoptions.[ch]: new options classes.
* app/tools/gimpselectionoptions.[ch]: remove the options here.
Also remove some leftover rectangle options cruft that is in its
own files since long ago.
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpfuzzyselecttool.c
* app/tools/gimpiscissorstool.[ch]
* app/tools/gimpregionselecttool.[ch]
* app/widgets/gimpselectioneditor.c: changed accordingly.
svn path=/trunk/; revision=25071
2008-03-09 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_setup_snap_offsets): Make the GimpCoords used
for snap calculations depend on the precision mode of the
rectangle. This gives a more pleasant experience when resizing and
moving the rectangle with image zoom factor larger than 100%.
svn path=/trunk/; revision=25068
2008-03-08 Sven Neumann <sven@gimp.org>
Experimental attempt to gain a little more horizontal space for
the tool options:
* app/widgets/gimptooloptionseditor.c: removed the shadow from
the
viewport and the border from the vbox.
* app/widgets/gimpdockable.c: use a semibold label for the
title.
svn path=/trunk/; revision=25065
2008-03-08 Sven Neumann <sven@gimp.org>
* app/tools/gimpflipoptions.c
* app/tools/gimpmoveoptions.c
* app/tools/gimpselectionoptions.c
* app/tools/gimptransformoptions.c: don't add the label into the
stock box, use an extra hbox with 2 pixels spacing.
svn path=/trunk/; revision=25064
2008-03-08 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimppolygonselecttool.c: Don't draw the handle for a
vertex while it is being moved.
svn path=/trunk/; revision=25063
2008-03-08 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c: Added TODO on how to improve the
code by changing the way the rectangle is represented internally.
svn path=/trunk/; revision=25062
2008-03-06 Michael Natterer <mitch@gimp.org>
* app/pdb/gimppdb-utils.[ch]: add gimp_pdb_get_vectors_stroke()
which is a replacement for gimp_vectors_stroke_get_by_ID() and
sets an error message if the stroke doesn't exist.
* tools/pdbgen/pdb/vectors.pdb: use it.
* app/pdb/vectors_cmds.c: regenerated.
svn path=/trunk/; revision=25051
2008-03-06 Sven Neumann <sven@gimp.org>
* app/actions/tools-actions.c
* app/actions/tools-commands.[ch]
* app/tools/gimptransformtool.c: allow to control the preview
opacity by actions (defaults to < to > keys).
svn path=/trunk/; revision=25050
2008-03-06 Sven Neumann <sven@gimp.org>
* app/tools/gimptransformtool.c
* app/tools/gimptransformoptions.[ch]
* app/display/gimpdisplayshell-preview.c: take the preview opacity
from the transform tool options. Based on a patch from Tom Lechner.
Closes bug #520690.
svn path=/trunk/; revision=25049
2008-03-06 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-preview.c: don't do the blending
here, just apply the opacity on the pixbuf's alpha channel.
svn path=/trunk/; revision=25048
2008-03-05 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-preview.c: applied a modified and
further optimized version of the patch from Tom Lechner as
attached to bug #167926. This makes the transform preview take
the layer opacity into account. Needs some more work...
svn path=/trunk/; revision=25038
2008-03-05 Sven Neumann <sven@gimp.org>
* app/tools/gimptransformtool.[ch]: applied some unrelated
cleanups from a patch from Tom Lechner (from bug #167926).
svn path=/trunk/; revision=25037
2008-03-05 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.h: changed PROJ_ROUND() macros to
use RINT() so they work correctly with negative numbers.
* app/tools/gimpdrawtool.c
(gimp_draw_tool_draw_line)
(gimp_draw_tool_draw_dashed_line)
(gimp_draw_tool_draw_rectangle)
(gimp_draw_tool_draw_arc)
(gimp_draw_tool_draw_boundary): use floating-point coordinate
transform functions again. These functions were changed to use
integer transform functions in 2004 (!!) which broke sub-pixel
precision drawing for stuff like straight-line and blend tool
and also sub-pixel drawing of the brush outline.
Should be backported to 2.4 after it has shown no ill effects in
trunk.
svn path=/trunk/; revision=25036
2008-03-04 Sven Neumann <sven@gimp.org>
* app/actions/edit-commands.c (edit_copy_visible_cmd_callback)
(edit_cut_cmd_callback): added statusbar messages informing the
user that pixels have been transferred to the clipboard.
svn path=/trunk/; revision=25035
2008-03-04 Sven Neumann <sven@gimp.org>
* app/core/gimpdrawable-transform.c
(gimp_drawable_transform_cut):
clear the selection after cutting it as gimp_selection_extract()
doesn't do this for us any longer. See bug #510534.
svn path=/trunk/; revision=25034
2008-03-02 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-coords.c
(gimp_display_shell_eval_event): applied slightly modified patch
from Alexia Death as attached to bug #508639.
svn path=/trunk/; revision=25006
2008-03-01 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimppolygonselecttool.c
(gimp_polygon_select_tool_draw): Only draw the grabbed point, not
all points. Drawing all points adds unnecessary clutter to the
user interface.
(gimp_polygon_select_tool_select_closest_point): Handle drawing of
grabbed points.
svn path=/trunk/; revision=25004
2008-02-28 Michael Natterer <mitch@gimp.org>
* app/core/gimpcurve.[ch]: get rid of fixed-size arrays and
allocate the points and curve arrays dynamically. Added "n-points"
and "n-samples" CONSTRUCT_ONLY properties. Renamed member "curve"
to "samples". Lots of code changes to work with dynamic limits
rather than 17 and 256.
* app/core/gimpdrawable-curves.c
* app/gegl/gimpcurvesconfig.c
* app/tools/gimpcurvestool.c
* app/widgets/gimpcurveview.c: changed accordingly.
svn path=/trunk/; revision=24995
2008-02-27 Sven Neumann <sven@gimp.org>
* app/core/gimpdrawable-transform.c (gimp_drawable_transform_affine):
pass the direction parameter down to
gimp_drawable_transform_tiles_affine() instead of hardcoding it to
GIMP_TRANSFORM_FORWARD. Fixes bug #518910.
svn path=/trunk/; revision=24990
2008-02-27 Sven Neumann <sven@gimp.org>
* app/gui/gui-vtable.c (gui_display_create): added a sanity
check
which might help to catch the problem reported in bug #518905.
svn path=/trunk/; revision=24989
2008-02-26 Sven Neumann <sven@gimp.org>
* app/Makefile.am (gimp_2_5_LDFLAGS): don't assume that global
AM_LDFLAGS and per-target LD_FLAGS would sum up and explicitly
add
AM_LDFLAGS to gimp_2_5_LDFLAGS.
svn path=/trunk/; revision=24987
2008-02-26 Michael Natterer <mitch@gimp.org>
* app/tools/gimppolygonselecttool.c: draw handles at the corners
and use the MOVE cursor modifier when we are moving them. Fix draw
tool pause/resume in button_press() plus some minor cleanup.
svn path=/trunk/; revision=24985
2008-02-26 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-transform.[ch]
(gimp_display_shell_transform_points)
* app/tools/gimpdrawtool.[ch] (gimp_draw_tool_draw_lines): take
arrays of GimpVector2 instead of arrays of gdouble to represent
the input points.
* app/display/gimpdisplayshell-draw.c
* app/tools/gimppolygonselecttool.c
* app/tools/gimpfreeselecttool.c: don't cast the GimpVector2 arrays
to double arrays when passing them to above functions.
* app/tools/gimpiscissorstool.c: create a temporary GimpVector2
array instead of a temporary gdouble array.
svn path=/trunk/; revision=24979
2008-02-26 Michael Natterer <mitch@gimp.org>
* app/tools/gimppolygonselecttool.c: rename member num_points to
n_points and various small cleanups all over the place.
svn path=/trunk/; revision=24978
2008-02-26 Sven Neumann <sven@gimp.org>
* app/version.c (gimp_show_library_version): made the library
version information easier to translate.
svn path=/trunk/; revision=24975
2008-02-26 Tor Lillqvist <tml@novell.com>
* app/version.[ch]: New files. Rename gimp_show_version() to
gimp_version_show() and move here. When given both --version and
--verbose, print build-time and run-time versions of the most
important dependencies.
* app/Makefile.am: Add them.
* app/main.c: Call gimp_version_show().
* app/Makefile.am: Use -mwindows only for the GUI gimp, not for
gimp-console.
svn path=/trunk/; revision=24968
2008-02-24 Sven Neumann <sven@gimp.org>
* app/actions/edit-actions.c: removed default keyboard shortcuts
from actions that work with named buffers. Use Ctrl-Shift-V as
the
default keyboard shortcut for "Paste As New Image" and
Ctrl-Shift-C for "Copy Visible".
svn path=/trunk/; revision=24954
2008-02-21 Michael Natterer <mitch@gimp.org>
* app/actions/plug-in-actions.c (plug_in_actions_history_changed):
don't call plug_in_actions_update() because that updated the
sensitivity of *all* plug-in actions according to the properties
of the *current* image. Instead, look up the original GtkAction of
the history items of *this* action group and copy the sensitivity
from that action. Fixes bug #517683.
svn path=/trunk/; revision=24934
2008-02-20 Michael Natterer <mitch@gimp.org>
* app/core/gimpcurve.c: add precondition checks.
* app/core/gimpdrawable-curves.c (gimp_drawable_curves_spline):
divide values by 255 before setting them on the curve. Fixes crash
when using curves from the PDB.
svn path=/trunk/; revision=24929
2008-02-19 Sven Neumann <sven@gimp.org>
* app/app.c
* app/batch.c
* app/core/gimp.c
* app/gui/gui.c: use G_STRLOC instead of hardcoding the function
name in verbose output.
svn path=/trunk/; revision=24922
2008-02-18 Sven Neumann <sven@gimp.org>
* app/batch.c (batch_exit_after_callback): synced cleanup
procedure with app_exit_after_callback() and documented its
purpose.
svn path=/trunk/; revision=24909
2008-02-18 Michael Natterer <mitch@gimp.org>
* app/tools/gimpimagemaptool.c (gimp_image_map_tool_initialize):
don't create the recent settings menu if the tool did not set a
config object.
* app/tools/gimpgegltool.[ch]: pack the operation's settings in a
frame and add a label when there is no operation selected.
svn path=/trunk/; revision=24907
2008-02-14 Sven Neumann <sven@gimp.org>
* app/text/gimpfont.c (gimp_font_get_sample_string): check if the
font has the glyphs from the sample string. Fixes bug #514021.
svn path=/trunk/; revision=24884