2005-07-30 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-render.c
* app/display/gimpdisplayshell.[ch]: renamed overlay to mask and
added a different overlay implementation that will be needed to
finish the new foreground-select tool.
* app/tools/gimpforegroundselecttool.c: changed accordingly.
2005-07-30 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-render.c
* app/display/gimpdisplayshell.[ch]: added
gimp_display_shell_set_overlay(); allows to overlay a mask over the
display to visualize a selection.
* app/tools/gimpforegroundselecttool.[ch]: use the new functionality
to display the selection. Escape cancels the tool, Enter applies the
selection.
2005-06-20 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_new): set the
gravity of the image window to CENTER. Gives much better behaviour
for "resize-windows-on-zoom".
2005-05-18 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-appearance.c
* app/display/gimpdisplayshell.c: removed the 2px border and
replaced it with a 1px spacing in the main vbox. Makes the screen
edges active when working in fullscreen mode (bug #165774).
2005-05-18 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell.c: hack around with gtk+ widget
styles to get rid of the menubar padding in fullscreen mode.
2005-05-11 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_shrink_wrap):
return silently instead of warning if the window hasn't been
realized. This happens as part of the setup process if
"resize-windows-on-zoom" is selected in the prefs.
2005-04-14 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_set_property):
don't call gimp_display_shell_scale() if the display isn't
completely setup yet.
* app/display/gimpdisplayshell-scale.c (gimp_display_shell_scale):
hack around to find out whether we should pass the pointer location
or the center of the display to gimp_display_shell_scale_to().
2005-04-05 Michael Natterer <mitch@gimp.org>
* app/dialogs/Makefile.am
* app/dialogs/info-window.[ch]: removed.
* app/actions/view-actions.c
* app/actions/view-commands.[ch]
* menus/image-menu.xml.in: removed its action and menu stuff.
* app/display/gimpdisplayshell-cursor.c
* app/display/gimpdisplayshell-title.c
* app/display/gimpdisplayshell.[ch]: removed info window stuff.
This was the last display -> dialogs dependency.
* app/dialogs/dialogs.c: added ugly hack that references
info_dialog. Otherwise the still existing tools -> dialogs
dependency breaks the build.
2005-03-19 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-sample-points.c
* app/display/gimpdisplayshell-draw.c
* app/display/gimpdisplayshell.c
* app/tools/gimpcolortool.c: make sure sample points always have
coordinates in the range [0..width/height-1], also added lots of
+0.5 because they live at the pixels' centers, not at their
borders. Fixed drawing of sample points at the display borders.
2005-02-21 Sven Neumann <sven@gimp.org>
Another step towards color management:
* modules/Makefile.am
* modules/cdisplay_lcms.c: added new color display module that
implements color management for the image displays. Still work
in progress...
* modules/cdisplay_proof.c: no need to include <string.h> here.
* libgimpconfig/gimpcolorconfig.[ch]: added new property
"display-module" to configure the display color management module.
* app/display/gimpdisplayshell-filter.[ch]
* app/display/gimpdisplayshell.c: create the configured color
management display filter for each display.
2005-02-08 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpuimanager.[ch]: removed gimp_ui_manager_ui_get()
and implement the new virtual functions GtkUIManager::get_widget()
and ::get_action() instead. Menu loading happens transparently now.
* app/display/gimpdisplayshell.c
* app/widgets/gimpdockable.c
* app/widgets/gimptexteditor.c
* app/widgets/gimptoolbox.c
* app/widgets/gimptooloptionseditor.c: use
gtk_ui_manager_get_widget() instead of the removed
gimp_ui_manager_ui_get().
2005-01-15 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-dnd.[ch]: added new function
gimp_display_shell_dnd_init() which connects all DND callbacks.
Made all DND callbacks static.
* app/display/gimpdisplayshell.c (gimp_display_shell_init): call
above function instead of connecting all DND callbacks here. Removed
lots of now unused #includes.
2005-01-15 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c
* app/display/gimpdisplayshell-dnd.[ch]
* app/widgets/gimptoolbox-dnd.c: enabled dropping of components
to the display and the toolbox. Addresses bug #158483.
2005-01-03 Michael Natterer <mitch@gimp.org>
Implemented "Snap to Canvas Edges" (fixes bug #152971) and
"Snap to Active Path" (half way done):
* app/core/gimpimage-snap.[ch]: added boolean snap_to_canvas and
snap_to_vectors parameters (snap_to_vectors works fine when
snapping to a point, but is unimplemented for snapping to a
rectangle).
* app/display/gimpdisplayshell.[ch] (struct GimpDisplayShell):
added snap_to_canvas and snap_to_vectors booleans.
* app/display/gimpdisplayshell-appearance.[ch]: added API to
get/set them.
* app/actions/view-actions.c
* app/actions/view-commands.[ch]
* app/widgets/gimphelp-ids.h: added actions, callbacks and help IDs.
* menus/image-menu.xml.in: added them to Image->View.
2004-11-09 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_new): don't
connect to "event" and don't connect any canvas event to
gimp_display_shell_events(). Connect all tool events separately
(doesn't include "configure-event" and thus fixes bug #141543).
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_canvas_tool_events): call
gimp_display_shell_events() manually before doing tool event
processing.
* app/display/gimpdisplayshell.c
* app/display/gimpdisplayshell-callbacks.[ch]: connect to
"size_allocate" of the canvas, not to "configure_event"
(suggested by Owen in bug #141543).
* app/display/gimpdisplayshell-callbacks.[ch]: removed
gimp_display_shell_popup_menu().
(gimp_display_shell_origin_button_press): emit "popup-menu" on the
shell manually instead of calling above function.
* app/display/gimpdisplayshell.c: added the whole menu popup code
here.
2004-10-08 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_real_scaled)
(gimp_display_shell_flush)
* app/gui/gui-vtable.c (gui_display_create): always pass a
GimpDisplay, not a GimpDisplayShell as "data" to
gimp_ui_manager_update().
* app/actions/actions.c (action_data_get_*): removed checks if the
passed data is a GimpDisplayShell and temporarily added g_assert()
to be sure. The assertions will be removed before 2.2.
2004-10-01 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.c: no need to include
gimpdisplayshell-render.h here.
* app/display/gimpdisplayshell-draw.c
* app/display/gimpdisplayshell-render.[ch]
* app/display/gimpdisplayshell.[ch]: added an API to highlight a
rectangle (specified in image coordinates). Actually it doesn't
highlight but dims the area outside the rectangle.
* app/tools/gimpcroptool.c: use the new functionality to show the
area to be cropped. Fixes bug #93360.
2004-09-25 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-qmask.h: added comment about not changing the
silly "Qmask" string because it is used to identify the Quick Mask
in the XCF.
* app/core/gimpchannel.c: implement GimpViewable::get_description()
and return "Quick Mask" if it's the Quick Mask.
* app/actions/qmask-actions.c
* app/actions/qmask-commands.c
* app/core/core-enums.[ch]
* app/core/gimpimage-qmask.c
* app/display/gimpdisplayshell.c: s/QuickMask/Quick Mask/.
2004-07-28 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_reconnect):
emit "reconnect" *before* emitting scale and scroll events so
listeners (the navigation view) can switch to the new image at the
right time.
2004-07-16 Sven Neumann <sven@gimp.org>
* app/core/gimpdata.c:
* app/display/gimpcanvas.c:
* app/display/gimpdisplayshell.c
* app/display/gimpdisplayshell-transform.c: corrected API
documentation, removed trailing whitespace.
Please do always build the documentation if you add or change any
gtk-doc comments.
* app/display/gimpcanvas.c:
* app/display/gimpdisplayshell-transform.c: added gtk-doc
comments for all public functions that lack them.
* app/display/gimpdisplayshell.c: added a couple of
gtk-doc comments.
2004-07-14 Michael Natterer <mitch@gimp.org>
* app/display/gimpstatusbar.[ch]: massively changed: removed
message_ids, the message mem chunk and all signals. Added new
function gimp_statusbar_replace() which updates a message without
moving it to the top of the stack. Fixes bug #120175.
* app/display/gimpdisplayshell-title.[ch]: renamed
gimp_display_shell_update_title() to
gimp_display_shell_title_update() and switched from pop()/push()
to replace() so the title message keeps its place in the stack.
Added new function gimp_display_shell_title_init() which push()es
the title message to the stack.
* app/display/gimpdisplayshell.c (gimp_display_shell_new): call
gimp_display_shell_title_init() so the "title" message is at the
bottom of the stack.
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-handlers.c: changed accordingly.
2004-07-14 Michael Natterer <mitch@gimp.org>
* app/display/Makefile.am
* app/display/gimpdisplayshell-close.[ch]: new files for
gimp_display_shell_close() and its dialog & callback.
* app/display/gimpdisplayshell.[ch]: removed from here.
* app/actions/view-actions.c (view_close_view_cmd_callback):
changed accordingly.
2004-06-29 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c: reordered drop destinations
so vectors are preferred over SVG.
* app/vectors/gimpvectors-import.[ch]: added "gint position"
parameter to all import functions so the imported vectors can be
added at any position in the vectors stack.
* app/actions/vectors-commands.c
* app/display/gimpdisplayshell-dnd.c
* tools/pdbgen/pdb/paths.pdb: changed accordingly (pass -1 as
position).
* app/pdb/paths_cmds.c: regenerated.
* app/widgets/gimpvectorstreeview.c: implemented SVG DND from and
to the paths dialog.
2004-06-22 Michael Natterer <mitch@gimp.org>
* app/actions/view-actions.c
* app/actions/view-commands.[ch]: added actions & callbacks to
configure the canvas padding color.
* app/widgets/gimphelp-ids.h
* menus/image-menu.xml.in: added the actions' help IDs and menu entries.
* app/display/display-enums.h: added /*< skip >*/'ed enum value
GIMP_CANVAS_PADDING_MODE_RESET.
* app/display/gimpdisplayshell-appearance.c
* app/display/gimpdisplayshell-callbacks.[ch]
* app/display/gimpdisplayshell-handlers.c
* app/display/gimpdisplayshell.[ch]: removed the canvas padding
button and its popup menu (fixes bug #142996). Instead, added a
toggle button which allows to zoom the image when the window is
resized (as known from sodipodi, except it doesn't work as nice
yet :-) improvements to the algorithm are welcome).
Cleaned up the GimpDisplayShell struct a bit and renamed some
of its members.
* libgimpwidgets/gimpstock.[ch]
* themes/Default/images/Makefile.am
* themes/Default/images/stock-zoom-follow-window-12.png: added new
icon for the new display toggle button.
2004-06-21 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpwidgets.[ch]
* libgimpwidgets/gimpwidgets.def: added new utility function
gimp_label_set_attributes().
* app/display/gimpdisplayshell.c
* app/gui/preferences-dialog.c
* app/gui/resolution-calibrate-dialog.c
* app/widgets/gimpviewabledialog.c
* app/widgets/gimpwidgets-utils.c: use the new function.
* app/widgets/gimpcontainergridview.c
* app/widgets/gimphistogrameditor.c: display the name in italic.
* plug-ins/common/jpeg.c: display the file size in italic.
2004-06-19 Sven Neumann <sven@gimp.org>
Applied a patch from Geert Jordaens that implements the
GtkStatusbar functionality in GimpStatusbar so that we can redo it
in order to fix bug #120175:
* app/core/gimpmarshal.list: added VOID: UINT, STRING.
* app/display/gimpstatusbar.[ch]: copied GtkStatusbar code.
* app/display/gimpdisplayshell.c: changed accordingly.
2004-06-17 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c: GtkUIManager makes the menu bar
visible by default, hide it if options->show_menubar is FALSE.
Fixes bug #143243.
2004-06-14 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.[ch]: remember the last used
GimpCursorFormat so changing the format in prefs applies
instantly, and not after the next tool change.
* app/display/gimpdisplayshell-cursor.[ch]
* app/tools/gimptool.[ch]
* app/tools/gimptoolcontrol.[ch]
* app/tools/gimpclonetool.c
* app/tools/gimpcolortool.c
* app/tools/gimpcroptool.c
* app/tools/gimpcurvestool.c
* app/tools/gimpiscissorstool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimpmovetool.c
* app/tools/gimptransformtool.c: s/GdkCursorType/GimpCursorType/g
2004-06-12 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_init): add
the file DND destination before all others so the DND code will
implicitly use its destination properties. Works around Konqueror
offering only file MOVE, not COPY and fixes bug #144168.
2004-06-02 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_init): accept
file/uri drops.
* app/display/gimpdisplayshell-dnd.[ch]
(gimp_display_shell_drop_files): open any kind of image and turn
it into a single layer which is added to the image (suggested by
Antenne Springborn).
2004-06-01 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/image.pdb
* app/pdb/image_cmds.c
* app/core/gimpimage.[ch]: reverted changes I did to the image
unit earlier. As in 2.0, it will continue to not accept pixels.
This makes the PDB API and the XCF format compatible again and
fixes bug #142961 (and to some extent bug #137704).
* app/core/Makefile.am
* app/core/gimpimage-unit.[ch]: removed these files. The
convenience accessors defined here aren't commonly used any
longer.
* app/display/gimpdisplay.[ch]
* app/display/gimpdisplayshell.[ch]: added a unit parameter to
gimp_display_new(). Made "unit" and "scale" properties of
GimpDisplayShell.
* app/actions/image-commands.c
* app/actions/images-commands.c
* app/actions/layers-commands.c
* app/actions/select-commands.c
* app/actions/view-commands.c
* app/core/gimp-edit.c
* app/core/gimp.[ch]
* app/core/gimptemplate.c
* app/display/gimpdisplayshell-handlers.c
* app/display/gimpdisplayshell-scale.c
* app/display/gimpdisplayshell-title.c
* app/display/gimpstatusbar.c
* app/file/file-open.c
* app/gui/gui-vtable.c
* app/gui/info-window.c
* app/gui/offset-dialog.c
* app/gui/resize-dialog.[ch]
* app/pdb/display_cmds.c
* app/tools/gimpcroptool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimppainttool.c
* app/tools/gimprectselecttool.c
* app/tools/gimprotatetool.c
* app/tools/gimpscaletool.c
* app/vectors/gimpvectors-export.c
* app/widgets/gimptoolbox-dnd.c
* tools/pdbgen/pdb/display.pdb: changed accordingly. Use the
display unit where the image unit was used before.
2004-05-17 Michael Natterer <mitch@gimp.org>
* menus/menus.xsl: put the image popup menu into a dummy menubar
to work around the silly GtkUIManager restriction that popup menus
can't have tearoff items.
* app/menus/menus.c
* app/menus/image-menu.c
* app/display/gimpdisplayshell-callbacks.c
* app/gui/gui-vtable.c
* app/menus/plug-in-menus.c: changed accordingly.
* app/gui/gui.c (gui_restore_after_callback): connect to
"notify::tearoff-menus" of GimpGuiConfig and reconfigure the
global image UI manager accordingly.
* app/config/gimpguiconfig.c: removed GIMP_PARAM_RESTART from the
"tearoff-menus" property because GtkUIManager can change this on
the fly.
* app/display/gimpdisplayshell.[ch]: added the menubar to the
GimpDisplayShell struct. Some cleanup in gimp_display_shell_new().
* app/display/gimpdisplayshell-appearance.c
(gimp_display_shell_set_show_menubar): use shell->menubar instead
of asking the UI manager.
* app/widgets/gimpuimanager.[ch]: changed gimp_ui_manager_ui_get()
to transparently load the XML files even if a sub-widget was
requested. Reordered parameters of gimp_ui_manager_ui_popup().
Lots of internal cleanups.
* app/widgets/gimpdockable.c
* app/widgets/gimptooloptionseditor.c: simplified accordingly.
* app/widgets/gimpeditor.[ch]: added new function
gimp_editor_popup_menu() which takes a GimpMenuPositionFunc and
updates/shows the editor's menu.
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimpcomponenteditor.c
* app/widgets/gimpcontainereditor.c
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainertreeview.c
* app/widgets/gimperrorconsole.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimppaletteeditor.c: use gimp_editor_popup_menu().
* app/widgets/gimptoolbox.c: moved all code from
gimp_toolbox_new() to GObject::constructor().
2004-05-13 Michael Natterer <mitch@gimp.org>
Added GimpViewable infrastructure which enables migrating from
TempBuf to GdkPixbuf for both providing and getting previews:
* app/core/gimpviewable.[ch]: added new virtual functions
GimpViewable::get_pixbuf() and GimpViewable::get_new_pixbuf()
which are implemented exactly as get_preview() and
get_new_preview() except that get_new_pixbuf() has a default
implementation which creates the pixbuf from a TempBuf.
Renamed public functions _get_preview_pixbuf() and
_get_new_preview_pixbuf() to _get_pixbuf() and _get_new_pixbuf().
Added gimp_viewable_get_dummy_pixbuf() and use it from
gimp_viewable_get_dummy_preview().
* app/core/gimpimagefile.c (gimp_imagefile_save_thumb)
* app/display/gimpdisplayshell.c (gimp_display_shell_update_icon)
* app/gui/resize-dialog.c (resize_dialog_new): changed accordingly.