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-18 Sven Neumann <sven@gimp.org>
* plug-ins/uri/uri-backend-gio.c: only update the progress up to
ten times per second.
svn path=/trunk/; revision=25109
2008-03-18 Sven Neumann <sven@gimp.org>
* plug-ins/uri/gimpmountoperation.c: set alternative button order
on the password dialog (same change done in GTK+).
svn path=/trunk/; revision=25108
2008-03-18 Sven Neumann <sven@gimp.org>
* plug-ins/uri/Makefile.am
* plug-ins/uri/gimpmountoperation.[ch]: added a temporary copy of
GtkMountOperation until we depend on the next stable GTK+ release.
Converted to GIMP namespace to avoid symbol collisions.
* plug-ins/uri/uri-backend-gio.c: use the new mount operation.
svn path=/trunk/; revision=25107
2008-03-13 Michael Natterer <mitch@gimp.org>
* plug-ins/common/tiff-load.c (load_image): set the original
filename only if all pages were loaded as layers; if a subset was
loaded, set the filename to "<filename>.tiff-n-of-m-pages" so a
simple "save" won't overwrite the original file without the user
changing the filename explicitely.
svn path=/trunk/; revision=25103
2008-03-13 Sven Neumann <sven@gimp.org>
* plug-ins/common/tiff-load.c (load_image): set a filename on the
image, even when not all images are imported as layers (bug #521436).
svn path=/trunk/; revision=25100
2008-03-12 Sven Neumann <sven@gimp.org>
* plug-ins/uri/uri-backend-gio.c: added password and question
dialogs needed for mounting volumes. This code is untested.
svn path=/trunk/; revision=25093
2008-03-12 Sven Neumann <sven@gimp.org>
* plug-ins/uri/uri.c: updated copyright.
* plug-ins/uri/uri-backend-gio.c: ask the GVfs backend for the
supported URI schemes.
svn path=/trunk/; revision=25091
2008-03-11 Sven Neumann <sven@gimp.org>
* configure.in: added a check for gio-2.0.
* plug-ins/uri/Makefile.am
* plug-ins/uri/uri-backend-gio.c: added a first draft of an URI
plug-in based on GIO/GVfs.
svn path=/trunk/; revision=25084
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