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 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.[ch]: added
gimp_display_shell_message() and a valist variant and decide here
where the message is shown.
* app/actions/edit-commands.c (edit_paste)
* app/tools/gimptool.c (gimp_tool_message): use the new message API.
2006-09-08 Sven Neumann <sven@gimp.org>
* app/core/gimp.[ch]: added function gimp_get_tool_info().
* app/actions/tools-commands.c
* app/actions/vectors-commands.c
* app/tools/gimppainttool.c
* app/widgets/gimpdrawabletreeview.c
* app/widgets/gimpselectioneditor.c
* app/widgets/gimptoolbox.c: use the new function instead of poking
into gimp->tool_info_list.
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell.[ch]: moved code that deals with
the space key into separate functions. Added space_shaded_tool
to GimpDisplayShell instead of using a static variable for it.
* app/tools/tool_manager.c: removed unused include.
2006-09-04 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c
* app/display/gimpdisplayshell-selection.c: more code cleanup.
Monitor the shell's window visibility and don't run the timeout
if
the shell is fully obscured.
2006-09-04 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-selection.[ch]: some cleanup.
Made
the Selection struct private and removed unused state member.
Removed redundant parameter from
gimp_display_shell_selection_start().
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell.c: changed accordingly.
2006-08-29 Michael Natterer <mitch@gimp.org>
Changed GimpViewable preview rendering to have a context to get
FG/BG/whatever from. Use the context to enable dynamic FG/BG
colors in gradients. Fixes bug #127676 and bug #352214. Addresses
bug #128367 (doesn't fix it because there's no loading/saving and
no GUI yet).
* app/core/core-enums.[ch]: added enum GimpGradientColor to enable
specifying gradient colors in terms of foreground and background.
* app/core/gimpgradient.[ch]: added color_type members to the
GimpGradientSegment struct and honor them in
gimp_gradient_get_color_at(). Added GimpContext parameters to all
functions which finally call get_color_at().
* app/core/gimp-gradients.c: use the new method to implement the
builtin gradients.
* app/core/gimpviewable.[ch]: added GimpContext parameters to all
get_preview() and get_pixbuf() functions.
* app/core/gimpbrush.c
* app/core/gimpbuffer.c
* app/core/gimpdrawable-preview.[ch]
* app/core/gimpgradient.c
* app/core/gimpimage-preview.[ch]
* app/core/gimpimagefile.c
* app/core/gimppalette.c
* app/core/gimppattern.c
* app/core/gimpundo.[ch]
* app/text/gimpfont.c
* app/vectors/gimpvectors-preview.[ch]: changed ::get_preview()
and ::get_pixbuf() implementations accordingly.
* app/core/gimpdrawable-blend.c
* app/core/gimppalette-import.[ch]
* app/dialogs/dialogs-constructors.c
* app/dialogs/palette-import-dialog.c
* app/dialogs/resize-dialog.c
* app/display/gimpdisplayshell-layer-select.c
* app/display/gimpdisplayshell.c
* app/display/gimpnavigationeditor.c
* app/paint/gimppaintoptions.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimptexttool.c
* app/actions/gradient-editor-commands.c
* app/widgets/gimpaction.c
* app/widgets/gimpbrusheditor.[ch]
* app/widgets/gimpbufferview.c
* app/widgets/gimpcellrendererviewable.c
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimpclipboard.c
* app/widgets/gimpcoloreditor.c
* app/widgets/gimpcomponenteditor.c
* app/widgets/gimpcontainerbox.c
* app/widgets/gimpcontainercombobox.c
* app/widgets/gimpcontainereditor.c
* app/widgets/gimpcontainerentry.c
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainertreeview.[ch]
* app/widgets/gimpdataeditor.[ch]
* app/widgets/gimpdevicestatus.c
* app/widgets/gimpdnd.[ch]
* app/widgets/gimpdrawabletreeview.c
* app/widgets/gimpfiledialog.c
* app/widgets/gimpgradienteditor.[ch]
* app/widgets/gimpgradientselect.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimppaletteeditor.[ch]
* app/widgets/gimppropwidgets.[ch]
* app/widgets/gimpselectioneditor.c
* app/widgets/gimpthumbbox.[ch]
* app/widgets/gimptoolbox-image-area.c
* app/widgets/gimptoolbox-indicator-area.c
* app/widgets/gimptooloptionseditor.c
* app/widgets/gimpundoeditor.c
* app/widgets/gimpvectorstreeview.c
* app/widgets/gimpview-popup.[ch]
* app/widgets/gimpview.[ch]
* app/widgets/gimpviewablebutton.c
* app/widgets/gimpviewabledialog.c
* app/widgets/gimpviewrenderer.[ch]
* app/widgets/gimpviewrenderer-frame.c
* app/widgets/gimpviewrendererbrush.c
* app/widgets/gimpviewrendererbuffer.c
* app/widgets/gimpviewrendererdrawable.c
* app/widgets/gimpviewrenderergradient.c
* app/widgets/gimpviewrendererimage.c
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/gradient.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/image.pdb: added tons of GimpContext members
and parameters, implement GimpDocked::set_context() in many
widgets. Pass these locally remembered contexts to GimpViewable
functions. Did some minor cleanups on the way. There are still
some minor FIXMEs around where the code uses a NULL context (which
is allowed by the APIs)
* app/pdb/drawable_cmds.c
* app/pdb/gradient_cmds.c
* app/pdb/gradients_cmds.c
* app/pdb/image_cmds.c: regenerated.
2006-06-29 Sven Neumann <sven@gimp.org>
* app/display/Makefile.am
* app/display/gimpdisplayshell-progress.[ch]: new files,
implementing the GimpProgress interface by delegation to
GimpStatusbar.
* app/display/gimpdisplayshell.c (G_DEFINE_TYPE): call
gimp_display_shell_progress_iface_init().
* app/display/gimpdisplay.c: delegate progress calls to
GimpDisplayShell instead of shell->statusbar.
* app/core/gimpguide.c
* app/core/gimpguide.h: new files, implementing GuideGimp as a GimpObject
* app/core/Makefile.am: add new files as sources
* app/core/gimpimage-guides.h
* app/core/gimpimage-guides.c: use the new object instead of defining
GimpGuide here as a struct.
* app/core/gimpimage-crop.c
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-flip.c
* app/core/gimpimage-resize.c
* app/core/gimpimage-rotate.c
* app/core/gimpimage-scale.c
* app/core/gimpimage-snap.c
* app/core/gimpimage-undo-push.c
* app/core/gimpimage.c
* app/display/gimpdisplayshell-draw.c
* app/display/gimpdisplayshell.c
* app/pdb/guides_cmds.c
* app/tools/gimpmovetool.c
* app/xcf/xcf-save.c
* tools/pdbgen/pdb/guides.pdb: include "core/gimpguide.h", and use
g_object_ref/unref instead of gimp_image_guide_ref/unref.
2006-03-17 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-render.c
* app/display/gimpdisplayshell.[ch]
* app/tools/gimpforegroundselectoptions.[ch]
* app/tools/gimpforegroundselecttool.c: allow to use red, green or
blue for the selection preview used by the foreground selection tool.
2006-03-09 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpuimanager.[ch]: added "show-tooltip" and
"hide-tooltip" signals. Connect to each menu item's
enter-notify-event and leave-notify-event. On enter, emit
show-tooltip, on leave emit hide-tooltip.
* app/display/gimpdisplayshell.c: connect to the menubar ui
manager's show-tooltip and hide-tooltip signals and show the tip
in the display's status bar.
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-29 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_new):
commented out gravity setting. While it's nice with
"resize-windows-on-zoom", it doesn't yield satisfying behaviour in
most cases.
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-11-26 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_unrealize):
new function which destroys the GCs kept by the shell and
unrealizes the navigation popup.
2005-11-14 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_mask_bounds):
return TRUE only if the selection intersects with the viewport, as
expected by gimp_display_shell_selection_invis(), which is the
only caller of this function. Fixes bug #319029.
2005-10-30 Michael Natterer <mitch@gimp.org>
Fixed bug #316395:
* app/actions/dialogs-actions.c (dialogs_dockable_actions)
* app/actions/quick-mask-actions.c (quick_mask_toggle_actions):
added tooltips to action entries.
* app/display/gimpdisplayshell.c (gimp_display_shell_new): use
gimp_widget_set_accel_help() to set the tooltip so it contains
the accelerator.
* app/dialogs/dialogs-constructors.c (dialogs_dockable_constructor):
attach the dialog's identifier to the dockable widget (hack).
* app/widgets/gimpdockbook.c (gimp_dockbook_get_tab_widget): use
the attached identifier to find the action for this dockable in
the dock's UI manager (HACK HACK). Use the found action to set
a tooltip with accelerator.
* app/widgets/gimpwidgets-utils.c (gimp_widget_set_accel_help):
fixed bug in fallback code what should never be used.
2005-09-26 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_new): applied
patch from Robert Ögren that works around problem creating guides
with a tablet on Windows by enabling extension events for the
rulers. Fixes the first problem described in bug #168516.
* configure.in: bumped version to 2.3.5.
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-09-25 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpwidgetsenums.h: added more values to the
GimpZoomType enum.
* libgimpwidgets/gimpzoommodel.c (gimp_zoom_model_zoom_step):
handle the new enum values.
* app/actions/view-commands.c (view_zoom_cmd_callback) use the new
values.
* app/display/gimpdisplayshell.c (gimp_display_shell_new): cosmetics.
* app/widgets/widgets-enums.h: Moved the GimpZoomType enum from here...
* libgimpwidgets/gimpwidgetsenums.h: ...to here.
* app/widgets/widgets-enums.c
* libgimpwidgets/gimpwidgetsenums.c: regenerated.
* app/display/gimpdisplayshell-scale.[ch]: removed
gimp_display_shell_scale_zoom_step and
gimp_display_shell_scale_get_fraction from here...
* libgimpwidgets/gimpzoommodel.[ch]: ... to here so we can use these
utility functions in plug-ins and in the core.
Also removed the step-size property since the zoom-model now use
gimp_zoom_model_zoom_step.
* app/actions/view-commands.c
* app/display/gimpdisplayshell-title.c
* app/display/gimpdisplayshell.c
* app/tools/gimpmagnifytool.c: modified accordingly.
* libgimp/gimpzoompreview.c: don't pass any argument to the
gimp_zoom_model_new function.
* libgimpwidgets/gimpwidgets.def: added gimp_zoom_model_zoom_step
(gimp_zoom_model_get_fraction was already there)
* devel-docs/app/app-sections.txt: removed
gimp_display_shell_scale_zoom_step and
gimp_display_shell_scale_get_fraction.
2005-08-06 Sven Neumann <sven@gimp.org>
* app/display/gimpcanvas.c (gimp_canvas_set_custom_gc) do not
drop the reference if the same custom GC is being set again.
* app/display/gimpdisplayshell-draw.[ch]
* app/display/gimpdisplayshell-handlers.c
* app/display/gimpdisplayshell.[ch]: added GC and methods to draw
on the canvas with a solid pen.
* app/tools/gimpforegroundselectoptions.[ch]
* app/tools/gimpforegroundselecttool.c: draw using the new pen
functions. Scale the stroke width with the display scale.
2005-07-31 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-render.c
* app/display/gimpdisplayshell.[ch]: removed the overlay again.
This needs to be done differently.
* app/tools/gimpforegroundselecttool.c: changed accordingly.
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().