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/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-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-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-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-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
2007-12-30 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.[ch]
* app/widgets/gimpprogressbox.[ch]: only update the
GtkProgressBar
if that would cause a visible change.
svn path=/trunk/; revision=24487
2007-11-14 Michael Natterer <mitch@gimp.org>
* app/display/gimpcanvas.c
* app/widgets/gimpcurveview.c: free the cached PangoLayouts in
GtkWidget::style_set().
* app/widgets/gimppaletteview.c: draw the focus rectangle in
hardcoded black/white since we also hardcode the grid color to
black.
* app/display/gimpstatusbar.c
* app/widgets/gimpdockable.c: small cleanups while reviewing
layout code.
svn path=/trunk/; revision=24156
2007-11-08 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c (gimp_statusbar_vprintf): also cut
the message at a '\r' character. Fixes the remaining aspect of
bug #492718.
svn path=/trunk/; revision=24091
2007-05-28 Michael Natterer <mitch@gimp.org>
Don't leave the user without progress bar just because the
display's statusbar is invisible:
* app/display/gimpstatusbar.[ch]: if the statusbar is invisible
when a progress wants to be shown, temporarily show it, recording
the fact in the new boolean "progress_shown" member. Added new API
gimp_statusbar_get/set_visible() which is aware of the new
temporary visibility state.
* app/display/gimpdisplayshell-appearance.c
(gimp_display_shell_set_show_statusbar)
* app/display/gimpdisplayshell-progress.c
(gimp_display_shell_progress_message): use the new API instead of
showing/hiding the widget directly.
svn path=/trunk/; revision=22642
2007-05-04 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c (gimp_statusbar_progress_message):
reverted last change, the behavior is different.
svn path=/trunk/; revision=22399
2007-05-04 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c (gimp_statusbar_progress_message):
removed code that guards us from multiline messages. This
happens
later in gimp_statusbar_vprintf() anyway.
svn path=/trunk/; revision=22398
2007-04-11 Mukund Sivaraman <muks@mukund.org>
* app/display/gimpstatusbar.c: Fixes a bug (#428493) where
gimp_statusbar_push_temp() expects vaargs and
gimp_statusbar_progress_message() directly passes a message
to it as the format string.. in this case the message
contains % (in the filename) and no arguments.
svn path=/trunk/; revision=22231
2007-03-20 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcursorview.[ch] (gimp_color_frame_update_cursor):
disallow passing a NULL image.
(gimp_color_frame_clear_cursor): new function that clears the
cursor view.
* app/widgets/gimpcolorframe.c (gimp_color_frame_update): if
color_frame->sample_valid is FALSE, don't do any color
transformations and don't construct any string because none
of them is going to be used (all labels will show "n/a").
* app/display/gimpstatusbar.[ch]: renamed set_cursor() API
to update_cursor().
* app/display/gimpdisplayshell-cursor.c
(gimp_display_shell_update_cursor): move variables to local
scopes. Follow GimpStatusbar API change. Cleanup.
(gimp_display_shell_clear_cursor): ditto. Follow GimpColorFrame
API change.
svn path=/trunk/; revision=22153
2007-03-10 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c (gimp_statusbar_update): while the
statusbar is being used as a progress bar, only show progress
messages.
svn path=/trunk/; revision=22096
2007-03-09 Michael Natterer <mitch@gimp.org>
* app/core/core-types.h: include "libgimpmath/gimpmathtypes.h"
instead of "libgimpmath/gimpmath.h".
* app/core/gimpbrush.h
* app/paint/gimppaintcore.h
* app/paint/gimpperspectiveclone.h
* app/text/gimptext.h
* app/tools/gimptransformtool.h: include gimpvector.h and
gimpmatrix.h explicitely where they are needed in public structs.
* app/*/*.c
* tools/pdbgen/pdb/paths.pdb: include "libgimpmath/gimpmath.h"
where needed.
* app/pdb/paths_cmds.c: regenerated.
svn path=/trunk/; revision=22084
2007-02-14 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c: when multi-line strings end up
being passed to the statusbar, only show the first line.
svn path=/trunk/; revision=21916
2007-01-21 Raphael Quinet <raphael@gimp.org>
* app/display/gimpstatusbar.[ch]
* app/tools/gimptool.[ch]: add optional help text at the end of
the messages generated by gimp_statusbar_push_coords() and
gimp_statusbar_push_length().
* app/tools/gimpcolortool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpmovetool.c
* app/tools/gimprectangletool.c: use the updated functions.
* app/tools/gimpblendtool.c
* app/tools/gimpcolorpickertool.c: added status bar messages.
svn path=/trunk/; revision=21745
2006-12-12 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c: only show the Cancel button while
we are displaying a cancelable progress. Also removed obsolete
workaround for a resize problem that doesn't show up any longer.
2006-10-09 Michael Natterer <mitch@gimp.org>
Added message severities and make sure all messages are routed
through a central function, so redirecting to the error console or
stderr work again:
* app/core/core-enums.[ch]: added enum GimpMessageSeverity { INFO,
WARNING, ERROR }.
* app/core/gimp.[ch] (gimp_message)
(gimp_message_valist): added severity parameter. Changed
"GimpProgress *progress" parameter to "GObject *handler", where
"handler" can be either a GimpProgress, a GtkWidget or NULL.
* app/core/gimp-gui.[ch] (gimp_show_message): ditto. Honor
--console-messages again. Always dispatch to the GUI message
handler first if it exists.
* app/gui/gui-message.[ch]: pass severity parameters around.
(gui_message_error_dialog): if "handler" is a progress, dispatch
the message to it first. If it is a widget (and *not* a progress),
use a GtkMessageDialog on top of that widget's toplevel. Fall
back to the usual GimpErrorDialog otherwise.
* app/core/gimpprogress.[ch] (gimp_progress_message): added
severity parameter. Also added boolean return value to the virtual
function so it can decide to fail if it can't handle the message.
* app/display/gimpdisplay.c: implement GimpProgress::message() and
redirect the message to GimpDisplayShell.
* app/display/gimpdisplayshell-progress.c: implement
GimpProgress::message() and redirect the message to GimpStatusbar
if it is not an error and if the status bar is visible.
* app/display/gimpstatusbar.[ch]: implement GimpProgress::message(),
but fail on messages that contain a newline. Show the right icons
for the message severities (work in progress).
* app/display/gimpdisplayshell.[ch]: removed
gimp_display_shell_message() and its _valist() variant.
* app/widgets/gimperrorconsole.[ch]: show the right icons for the
message severities.
* app/widgets/gimpthumbbox.c (gimp_thumb_box_progress_message):
return TRUE to swallow all messages.
* app/widgets/gimpwidgets-utils.[ch]: removed
gimp_show_message_dialog(). Added gimp_get_message_stock_id().
* app/errors.c
* app/actions/edit-commands.c
* app/actions/error-console-commands.c
* app/actions/file-commands.c
* app/actions/select-commands.c
* app/actions/text-editor-commands.c
* app/actions/vectors-commands.c
* app/core/gimpimage-convert.c
* app/core/gimpimagefile.c
* app/dialogs/convert-dialog.c
* app/dialogs/file-open-dialog.c
* app/dialogs/file-open-location-dialog.c
* app/dialogs/file-save-dialog.c
* app/dialogs/palette-import-dialog.c
* app/dialogs/stroke-dialog.c
* app/display/gimpdisplayshell-dnd.c
* app/pdb/gimppdb.c
* app/plug-in/gimpplugin.c
* app/tools/gimpimagemaptool.c
* app/tools/gimptool.c
* app/tools/gimpvectortool.c
* app/widgets/gimpactionview.c
* app/widgets/gimpcontrollerlist.c
* app/widgets/gimppdbdialog.c
* app/widgets/gimpvectorstreeview.c
* app/xcf/xcf-load.c
* app/xcf/xcf-save.c
* app/xcf/xcf.c
* tools/pdbgen/pdb/brush.pdb
* tools/pdbgen/pdb/gradient.pdb
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/message.pdb
* tools/pdbgen/pdb/palette.pdb: added severity parameter to
gimp_message() calls. Convert all calls to
gimp_show_message_dialog() and gimp_display_shell_message() to
gimp_message(). Also converted some more g_message() calls.
* app/pdb/brush_cmds.c
* app/pdb/gradient_cmds.c
* app/pdb/image_cmds.c
* app/pdb/message_cmds.c
* app/pdb/palette_cmds.c: regenerated.
2006-09-28 Michael Natterer <mitch@gimp.org>
* app/display/gimpstatusbar.[ch]: added _valist() variants
of all printf-style functions.
* app/tools/gimptool.[ch] (gimp_tool_push_status)
(gimp_tool_replace_status)
(gimp_tool_message): take printf-style ... arguments and use the
new valist() variants of the statusbar API to avoid additional
strdups. Revert previous commit from Sven, he will add back that
feature differently right away :)
* app/tools/gimpmeasuretool.c
* app/tools/gimppainttool.c: use the new printf-style status API
where possible.
* app/tools/gimptransformtool.c: accidentially removed
"core/gimp.h", added it back.
2006-09-22 Michael Natterer <mitch@gimp.org>
* app/display/gimpstatusbar.c (gimp_statusbar_progress_style_set):
terminate the spaces string correctly. Spotted by bill.
2006-09-22 Michael Natterer <mitch@gimp.org>
* app/display/gimpstatusbar.[ch]: changed all message setting
functions to use printf-style argument lists. Added new API to
show a temporary message that stays on top regardless of any other
message activity and disappears after 3 seconds.
* app/actions/edit-commands.c: show a statusbar message when
pasting fails because the clipboard contains no image data. Pop a
dialog when "Paste as New" fails. Addresses bug #357059 for
internal functions.
* app/display/gimpdisplayshell-title.c
* app/gui/gui.c
* app/tools/gimptool.c: changed accordingly.
2006-09-01 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c: use a hash table instead of object
data to maintain context ids. Saves lots of pointless string copies.
2006-07-13 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c (gimp_statusbar_set_cursor): set the
sensitivity of the cursor label before converting the coordinates
to the display unit (bug #347339).
2006-01-18 Michael Natterer <mitch@gimp.org>
* app/config/config-types.c: define GIMP_PARAM_STATIC_STRINGS
which is G_PARAM_STATIC_NAME|NICK|BLURB. Also define
GIMP_PARAM_READABLE, _WRITABLE and _READWRITE which include
GIMP_PARAM_STATIC_STRINGS.
* app/*/*.c: use them for all object properties so their
strings are not copied.
2005-12-10 Michael Natterer <mitch@gimp.org>
* app/config/*.c
* app/core/*.c
* app/display/*.c
* app/text/*.c
* app/vectors/*.c: port to G_DEFINE_TYPE() and friends. Some related
core reordering and cleanup.
2005-09-25 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpwidgets.def
* libgimpwidgets/gimpzoommodel.[ch]: added gimp_zoom_model_zoom()
and changed gimp_zoom_model_get_fraction() to take a model instead
of the zoom factor.
* app/display/gimpdisplayshell.[ch]: use a GimpZoomModel for the
display scale factor.
* app/actions/image-commands.c
* app/actions/view-actions.c
* app/actions/view-commands.c
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-scale.c
* app/display/gimpdisplayshell-title.c
* app/display/gimpnavigationeditor.c
* app/display/gimpstatusbar.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpmagnifytool.c: changed accordingly.
2005-05-31 Michael Natterer <mitch@gimp.org>
* app/display/gimpstatusbar.c (gimp_statusbar_init): enable
ellipsation on the progressbar. Fixes initial display width
calculation for long statusbar strings.
2005-04-01 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c (gimp_statusbar_push): do nothing if
this message is at the top of the stack already.
2005-03-24 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c (gimp_statusbar_push_coords)
(gimp_statusbar_set_cursor): use RINT() instead or ROUND() to get
proper rounding of negative values. Fixes bug #171497.
2005-02-18 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c: unset the CAN_FOCUS flag on the
combo boxes and the cancel button. Set "focus-on-click" to FALSE
for the combo boxes. Fixes bug #167809.
2005-02-12 Sven Neumann <sven@gimp.org>
* app/core/gimpprogress.[ch]: added GimpProgress::pulse.
* app/display/gimpdisplay.c
* app/display/gimpstatusbar.c
* app/widgets/gimpfiledialog.c
* app/widgets/gimpprogressbox.c
* app/widgets/gimpprogressdialog.c
* app/widgets/gimpthumbbox.c: implement it in the classes that
implement the GimpProgress interface.
* app/plug-in/plug-in-progress.[ch]: allow plug-ins to pulse their
progress.
* tools/pdbgen/pdb/progress.pdb: added a procedure for the new
functionality.
* app/pdb/internal_procs.c
* app/pdb/progress_cmds.c
* libgimp/gimpprogress_pdb.[ch]: regenerated.
* libgimp/gimp.def: updated.
2005-02-09 Sven Neumann <sven@gimp.org>
* app/display/gimpscalecombobox.[ch]
* app/display/gimpstatusbar.c: pass an action label to
gimp_scale_combo_box_add_action().
2005-02-09 Sven Neumann <sven@gimp.org>
* app/display/gimpscalecombobox.[ch]
* app/display/gimpstatusbar.c: add an "Other..." item to the scale
menu in the image window. Somewhat hackish but fixes bug #143747.