2005-09-09 Michael Natterer <mitch@gimp.org>
Added parent window API to the GimpProgress interface and to
the libgimp progress stuff. Might look strange, but does
the right thing in almost all cases (image window, file dialog,
script-fu dialog etc). Fixes bug #62988.
* app/core/gimpprogress.[ch]: added GimpProgress::get_window()
which should return a toplevel window ID if the progress is in a
window that wants to be the transient parent of plug-in dialogs.
* app/widgets/gimpwidgets-utils.[ch] (gimp_window_get_native): new
function which returns the window handle of a GtkWindow's GdkWindow.
* app/widgets/gimpfiledialog.c: implement ::get_window().
* app/display/gimpdisplay.[ch]: ditto. Removed window handle API.
* app/gui/gui-vtable.c: changed accordingly.
* libgimpbase/gimpbaseenums.[ch] (enum GimpProgressCommand):
added GIMP_PROGRESS_COMMAND_GET_WINDOW.
* app/plug-in/plug-in-progress.[ch] (plug_in_progress_get_window):
new function. Also renamed some functions to match the
GimpProgress interface, and not the legacy PDB procedure names.
* tools/pdbgen/pdb/progress.pdb
* app/core/gimppdbprogress.c: implement get_window() on both
sides of the wire, keeping backward compatibility (hopefully).
* libgimp/gimpprogress.[ch]: deprecated gimp_progress_install()
and added gimp_progress_install_vtable() which takes a vtable with
padding to be extensible. Added get_window() vtable entry and
dispatch it accordingly. Also added pulse() which was implemented
in a hackish way before. Everything is of course backward
compatible.
* libgimp/gimpprogressbar.c: inmplement the get_window() stuff
so a plug-in dialog containing a progress can be the transient
parent of another dialog in another plug-in.
* libgimp/gimpui.[ch] (gimp_ui_get_progress_window): new function
which returns a foreign GdkWindow of this plug-ins progress
window.
Renamed gimp_window_set_transient_for_default_display() to
gimp_window_set_transient() and make it use the progress' window
handle instead of the display's (which is the right thing to do in
almost all cases).
* libgimp/gimp.def
* libgimp/gimpui.def: add the new functions.
* tools/pdbgen/enums.pl
* app/pdb/internal_procs.c
* app/pdb/progress_cmds.c
* libgimp/gimpprogress_pdb.[ch]: regenerated.
* libgimp/gimpexport.c
* plug-ins/*/*.c: follow API change.
2005-09-08 Michael Natterer <mitch@gimp.org>
* app/core/gimplayer-floating-sel.c (floating_sel_boundary): if
the floating selection has no alpha, manually create BoundSegs of
its outline instead of calling boundary_find() (which creates a
boundary of the last channel). Fixes bug #145373.
* app/widgets/gimplayertreeview.c
(gimp_layer_tree_view_floating_selection_changed): update all
layer names' text attributes, not only for layers with alpha.
Fixes layer name display when making a new layer out of a floating
selection without alpha.
2005-09-08 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainertreeview.c: allow to popup the context
menu from the views' empty area. Fixes bug #314719.
2005-09-07 Sven Neumann <sven@gimp.org>
* app/widgets/gimperrordialog.[ch]: don't set a window icon, the
dialog should be transient anyway.
* app/dialogs/dialogs-constructors.c: changed accordingly.
2005-09-04 Michael Natterer <mitch@gimp.org>
Cleaned up and fixed the order in which default tool options and
user context values are initialized, and added loading / saving of
the global user context. Fixes bug #165078.
* app/core/Makefile.am
* app/core/gimp-contexts.[ch]: new files which manage the global
contexts. Contains gimp_contexts_init/exit/load/save/clear().
* app/core/gimp.c: use the new init/exit functions instead of
implementing the stuff here.
* app/tools/gimp-tools.c: load/save/clear the user context from
here so it follows the same logic as the tool options. Reset all
tool options before loading the user context and copy the user
context's property to all tool options before loading tool
options.
* app/core/gimptoolinfo.c (gimp_tool_info_new): don't initialize
the tool options with the users context's properties. It's way too
early here and they will be overwritten later.
* app/widgets/gimpdevices.c (gimp_devices_restore): initialize all
device contexts with the user context's properties before loading
the devices and copying the active one back to the user context.
2005-09-03 Michael Natterer <mitch@gimp.org>
* app/core/gimp-edit.[ch] (gimp_edit_paste_as_new): don't create a
display here.
(gimp_edit_named_cut)
(gimp_edit_named_copy)
(gimp_edit_named_copy_visible): new functions containing named
buffer wrappers around the functions affecting the global buffer
only.
* app/actions/edit-commands.c: use the new functions instead of
implementing them here, create a display for the image returned
by paste as new.
* app/actions/buffers-commands.c
* app/widgets/gimptoolbox-dnd.c: create displays here too.
* tools/pdbgen/pdb/edit.pdb: added wrappers for paste as new and
wrappers for all the cut/copy/paste named stuff.
Fixes bug #315130. Cleaned up and de-obfuscated.
* libgimp/gimp.def: changed accordingly.
* app/pdb/edit_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpedit_pdb.[ch]: regenerated.
2005-09-02 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainertreeview.c: allow to popup menus on
empty container views using the standard Shift-F10 keybinding.
2005-09-02 Sven Neumann <sven@gimp.org>
* app/tools/gimptextoptions.c
* app/widgets/gimpwidgets-utils.[ch]: dropped the labels from text
tool options that have icons. Reduces visual clutter.
2005-08-27 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpviewrendererpalette.c
(gimp_view_renderer_palette_init): initialize renderer->columns
to != 0 to avoid floating point exceptions on initial layout
calculation. Fixes bug #314663.
2005-08-21 Michael Natterer <mitch@gimp.org>
* app/paint/gimppencil.h
* app/paint/gimppenciloptions.h
* app/widgets/widgets-types.h
* app/widgets/gimptooldialog.h: don't simply typedef object
instance structs which add no members as their parent instance
structs. Give them their own instance structs. Fixes gtk-doc
confusion.
2005-08-20 Sven Neumann <sven@gimp.org>
* app/widgets/gimpfiledialog.c (gimp_file_dialog_proc_changed):
when looking for the file extension, only look at the part after
the last directory separator.
2005-08-18 Sven Neumann <sven@gimp.org>
* app/core/gimptemplate.c: go back to using dpi as the default
resolution unit.
* app/core/gimp-utils.[ch]: moved the code to determine the unit
from the locale settings here as gimp_get_default_unit().
* app/dialogs/print-size-dialog.c
* app/widgets/gimpimagepropview.c: use the unit returned by the
new function to display the print size (bug #107497).
2005-08-17 Michael Natterer <mitch@gimp.org>
* app/widgets/gimppaletteview.c (gimp_palette_view_focus): when
focussing the widget, select the palette's first entry if none is
selected. Enables cursor navigation after tabbing in.
2005-08-17 Michael Natterer <mitch@gimp.org>
* app/widgets/gimppaletteview.c (gimp_palette_view_focus): return
FALSE on TAB_FORWARD and TAB_BACKWARD. Enables tabbing out of the
widget.
2005-08-09 Michael Natterer <mitch@gimp.org>
* cursors/gimp-tool-cursors.xcf: changed path tool cursor to
actually show a path and added 3 new cursors which are supposed
to show a path's anchor, handle and segments. Someone really
needs to beautify these...
* cursors/tool-paths.png
* cursors/xbm/tool-paths-mask.xbm
* cursors/xbm/tool-paths.xbm: changed accordingly.
* cursors/Makefile.am
* cursors/tool-paths-anchor.png
* cursors/tool-paths-control.png
* cursors/tool-paths-segment.png
* cursors/xbm/tool-paths-anchor-mask.xbm
* cursors/xbm/tool-paths-anchor.xbm
* cursors/xbm/tool-paths-control-mask.xbm
* cursors/xbm/tool-paths-control.xbm
* cursors/xbm/tool-paths-segment-mask.xbm
* cursors/xbm/tool-paths-segment.xbm: new files.
* app/widgets/widgets-enums.h (enum GimpToolCursorType): added
PATH_ANCHOR, PATH_CONTROL and PATH_SEGMENTS.
* app/widgets/gimpcursor.c: added the new cursors.
* app/tools/gimpvectortool.c (gimp_vector_tool_cursor_update):
use them.
2005-08-08 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdataeditor.c: made hitting Escape in the name
entry restore the data's original name. Enables undoing of
accidential editing. Addresses bug #169257.
2005-08-06 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpuimanager.c (gimp_ui_manager_ui_popup): applied
patch from Robert Ögren that frees the event returned by
gtk_get_current_event(). Fixes bug #312017.
2005-08-06 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimppropwidgets.[ch]
* libgimpwidgets/gimpwidgets.def: added gimp_prop_hscale_new().
* app/tools/gimpforegroundselectoptions.c: added a control for the
stroke width.
* app/tools/gimpforegroundselecttool.c: cancel the tool if the
active drawable or the image size changes.
* app/widgets/gimpcontrollerlist.c: fixed signedness warning.
2005-07-29 Sven Neumann <sven@gimp.org>
* app/core/gimpscanconvert.[ch]: added
gimp_scan_convert_render_value(), a variant of
gimp_scan_convert_render() that allows to pass the foreground value.
* app/tools/gimpfreeselecttool.[ch]: added a virtual "select" method.
* app/tools/Makefile.am
* app/tools/gimp-tools.c
* app/tools/gimpforegroundselecttool.[ch]: added a rough first
version of foreground selection tool based on the SIOX algorithm.
Work in progress...
* app/widgets/gimphelp-ids.h: added help-id for the new tool.
2005-07-25 Michael Natterer <mitch@gimp.org>
Some DND fixes / cleanup:
* app/widgets/widgets-enums.h: renamed GIMP_DND_TYPE_TOOL to
GIMP_DND_TYPE_TOOL_INFO.
* app/widgets/gimpselectiondata.[ch]: s/tool/tool_info/g. Moved
private functions to the end of the file. Include GIMP's PID in
all GtkSelectionData strings which are used to pass around stuff
by reference. For things which are referenced by name, also encode
the object's address in the GtkSelectionData so having a brush
called "Standard" or a named buffer called "Global Buffer" will
work together with DND.
* app/widgets/gimpdnd.[ch]: s/tool/tool_info/g. Renamed
gimp_dnd_get_data_data() to gimp_dnd_get_object_data() since it's
not limited to GimpData objects. Follow above selection data API
changes. Cleanup.
* libgimp/gimpbrushmenu.c
* libgimp/gimpdrawablecombobox.c
* libgimp/gimpfontselectbutton.c
* libgimp/gimpgradientmenu.c
* libgimp/gimpimagecombobox.c
* libgimp/gimppalettemenu.c
* libgimp/gimppatternmenu.c: follow GtkSelectionData format change
and check the dropped things' PID against the return value of
gimp_getpid().
2005-07-23 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpselectiondata.c
(gimp_selection_data_get_buffer): special case the global buffer
so it can be dropped, not only dragged around.
2005-07-22 Michael Natterer <mitch@gimp.org>
* app/widgets/gimppaletteeditor.c (gimp_palette_editor_init):
allow to drop palettes onto the palette view again.
2005-07-22 Sven Neumann <sven@gimp.org>
* app/widgets/gimppaletteeditor.c (gimp_palette_editor_zoom):
fixed the GIMP_ZOOM_TO case for palettes with a number of colors
that is not a multiple of the number of columns.
2005-07-22 Sven Neumann <sven@gimp.org>
* app/widgets/gimpviewrendererpalette.c
(gimp_view_renderer_palette_render): reverted my last change here
and replaced it with a better fix.
2005-07-22 Michael Natterer <mitch@gimp.org>
* app/widgets/gimppaletteview.c: setup the dnd stuff in
GimpView::set_viewable() and remove GimpView's automatically added
GimpPalette drag source. Fixes color dragging (bug #113237).
2005-07-19 Sven Neumann <sven@gimp.org>
* app/widgets/gimphistogrameditor.c: try a different style for the
info labels below the histogram; mainly to avoid repositioning.
2005-07-14 Michael Natterer <mitch@gimp.org>
* app/widgets/gimppaletteview.[ch]: added "entry-clicked" and
"color-dropped" signals. Completely handle color DND. Cleanup.
* app/core/gimpmarshal.list: marshallers for above signals.
* app/widgets/gimppaletteeditor.[ch]: chopped and reassembled.
Remove tons of code and use a GimpPaletteView instead of the
deprecated GtkPreview. Addresses bug #102204.
2005-07-14 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimppaletteview.[ch]: new widget which manages the
selected palette entry itself and emits "selected", "activated"
and "context" signals. Not used yet.
* app/widgets/gimpviewrendererpalette.[ch]: reimplemented palette
drawing: added optional grid drawing and APIs to configure the
renderer. Should be ready for the palette editor now.
2005-07-13 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpviewrendererpalette.c
(gimp_view_renderer_palette_render): implement it the same way as
gimp_palette_get_preview(). Can't be used for the palette editor
yet.
2005-07-13 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpviewrendererpalette.[ch]: new view renderer,
does nothing yet except chaining up in ::render().
* app/widgets/gimpviewrenderer-utils.c
(gimp_view_renderer_type_by_viewable_type): use it for palettes.
2005-07-13 Michael Natterer <mitch@gimp.org>
* app/core/gimppalette.c (gimp_palette_add_entry): actually return
the added entry, and not always the palette's last entry (argh!).
* app/widgets/gimppaletteeditor.c: make sure the cursor is always
on the newly added color. Really fixes#15060 this time.
2005-07-13 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdockable.[ch]: added new public function
gimp_dockable_blink_cancel() which stops title blinking.
* app/tools/gimpcolorpickertool.c (gimp_color_picker_tool_picked):
cancel blinking when updating a picked color so the dockable
doesn't flicker for each cursor movement.
2005-07-13 Michael Natterer <mitch@gimp.org>
* app/widgets/gimppaletteeditor.c (gimp_palette_editor_pick_color):
add colors after the cursor. Fixes bug #150608.
2005-07-10 Michael Natterer <mitch@gimp.org>
* app/widgets/gimplayertreeview.c (gimp_layer_tree_view_init):
moved the lock alpha toggle to a separate "Lock:" line.
2005-07-10 Hans Breuer <hans@breuer.org>
* **/makefile.msc app/gimpcore.def : updated
* app/widgets/gimpcontrollerlist.c : dont include
"gimpmessagedialog.c" to avoid redefinitions.
Instead include gimpmessagebox.h and gimpmessagedialog.h
* plug-ins/common/raw.c : include <io.h>
* plug-ins/common/screenshot.c : make it compile. It
still has no code to actually work on win32.
2005-07-09 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpsamplepointeditor.[ch]: added "sample-merged"
property and API. Pass it to gimp_image_pick_color().
* app/actions/Makefile.am
* app/actions/actions.c
* app/actions/sample-point-editor-actions.[ch]
* app/actions/sample-point-editor-commands.[ch]: actions and
callbacks for the sample point editor's menu.
* app/widgets/gimphelp-ids.h: its help IDs.
* app/menus/menus.c
* menus/Makefile.am
* menus/sample-point-editor-menu.xml: the sample point editor menu.
2005-07-09 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-pick-color.c (gimp_image_pick_color): if
sample_merged is FALSE and drawable is NULL, just get the image's
active drawable instead of bailing out.
* app/widgets/gimpcursorview.c (gimp_cursor_view_update_cursor):
use gimp_image_pick_color() insted of duplicating its code.
2005-07-09 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcursorview.[ch]: added boolean "sample-merged"
property, API and GUI. Pick from the active drawable if it's
FALSE.
* app/actions/Makefile.am
* app/actions/actions.c
* app/actions/cursor-info-actions.[ch]
* app/actions/cursor-info-commands.[ch]: new files with actions
and callbacks for the cursor info dialog's menu.
* app/widgets/gimphelp-ids.h: help IDs for above actions.
* app/dialogs/dialogs.c: follow help ID change.
* app/menus/menus.c
* menus/Makefile.am
* menus/cursor-info-menu.xml: add the cursor-info menu.
* app/dialogs/dialogs-constructors.c: pass the menu factory to
gimp_cursor_view_new().
2005-07-08 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcursorview.c (gimp_cursor_view_update_cursor):
pass the color index value to gimp_color_frame_set_color() so it
would show up in the frame if we actually picked from indexed
things.
2005-07-08 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpfiledialog.c (gimp_file_dialog_new): enable
remote files: set local_only to FALSE if the PDB has
"file_uri_load/save" procedures (yes, this is questionable).
2005-07-07 Michael Natterer <mitch@gimp.org>
* app/actions/documents-actions.c
* app/actions/documents-commands.[ch]
* app/widgets/gimphelp-ids.h
* menus/documents-menu.xml: added "Copy Image Location" to the
document history popup menu which copies the image's URI to
clipbpard and primary.
2005-07-07 Sven Neumann <sven@gimp.org>
* app/actions/gradient-editor-commands.c
* app/widgets/gimpcolordialog.c
* app/widgets/gimpdock.c
* plug-ins/gflare/gflare.c
* plug-ins/script-fu/script-fu-server.c: specify alternative
button order in some places that were missed earlier (spotted by
Stephan Binner).
2005-06-27 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpenumcombobox.[ch]: added new constructor
gimp_enum_combo_box_new_with_model(). Also override the "model"
property to make it clear that GimpEnumComboBox expects to be
used with GimpEnumStore.
* libgimpwidgets/gimpwidgets.def: updated.
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* app/widgets/gimpwidgets-constructors.c: use the new constructor.
* libgimpwidgets/gimpenumlabel.h
* libgimpwidgets/gimpenumstore.h
* libgimpwidgets/gimpintcombobox.h
* libgimpwidgets/gimpintstore.h: use "parent_class", not
"parent_instance" when including the parent struct.
2005-06-25 Sven Neumann <sven@gimp.org>
* app/widgets/gimpimagepropview.c (gimp_image_prop_view_update):
use gimp_enum_get_value() to avoid string duplication.
2005-06-15 Sven Neumann <sven@gimp.org>
* app/core/gimpimagefile.c (gimp_imagefile_load_thumb):
* app/widgets/gimpthumbbox.c (gimp_thumb_box_auto_thumbnail):
don't display a preview and don't attempt to create one if the
image file does not exist any longer (bug #307672).
2005-06-11 Michael Natterer <mitch@gimp.org>
Allow to use the selected font in the text editor (bug #170299):
* app/widgets/gimptexteditor.[ch]: added a "Use selected font"
toggle and an API to set/get the selected font name.
* app/tools/gimptextoptions.c: update the editor's font when the
text option's font changes. Renamed text editor callbacks to
gimp_text_options_editor_foo().
2005-06-05 Sven Neumann <sven@gimp.org>
* app/widgets/gimpviewrendererbrush.c
(gimp_view_renderer_brush_render_timeout): if the area is larger
than the brush, center the brush.
2005-06-05 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcoloreditor.c
* app/widgets/gimpcursorview.c
* app/widgets/gimpdataeditor.c
* app/widgets/gimpeditor.c
* app/widgets/gimphistogrameditor.c
* app/widgets/gimppaletteeditor.c: peek at the default interface to
get the parent interface. Unconditionally chain up in get_aux_info()
and set_aux_info() methods.
2005-06-05 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdocked.[ch]
* app/widgets/gimpeditor.[ch]: moved button-bar API to the
GimpDocked interface.
* app/widgets/gimpcontainereditor.c: implement the new interface
methods and proxy them to the embedded docked.
* app/actions/dockable-actions.c
* app/actions/dockable-commands.c: changed accordingly.
2005-06-04 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcontainerview.h: don't include gimpeditor.h.
* app/widgets/gimpbufferview.c
* app/widgets/gimpdocumentview.c
* app/widgets/gimpfontview.c
* app/widgets/gimpimageview.c: include it here instead.
2005-06-04 Sven Neumann <sven@gimp.org>
* app/actions/dockable-actions.c
* app/actions/dockable-commands.[ch]
* app/widgets/gimpeditor.[ch]
* app/widgets/gimphelp-ids.h
* menus/dockable-menu.xml.in: allow to show/hide the button-bar in
GimpEditor. Should be merged into the GimpDocked interface.
2005-06-04 Sven Neumann <sven@gimp.org>
* app/widgets/gimpwidgets-utils.c (gimp_text_buffer_load):
validate the iter after appending to the text buffer.
2005-06-04 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdnd.c (gimp_dnd_get_viewable_icon): use the
viewable's description in the drag icon. Use a larger preview.
* app/widgets/gimpdockbook.c: tweak spacing and border-width of
the tab widget if it is being used as drag icon.
2005-06-04 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdnd.c (gimp_dnd_get_viewable_icon): reduced the
number of characters to show before ellipsizing the label.
* libgimpwidgets/gimpcolorarea.c: added a "draw-border" property.
* app/widgets/gimpcolorframe.c: draw a border around the color area.
2005-06-04 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcolorframe.[ch]: added property for "mode",
fixed some implementation issues.
* app/widgets/gimpsamplepointeditor.c: create the color frames
using g_object_new().
* app/widgets/gimpcolorframe.[ch]: add "has-color-area" property,
FALSE by default.
* app/widgets/gimpsamplepointeditor.c: explicitly add a color
area to the color frames.
2005-06-04 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainertreeview-dnd.c
(gimp_container_tree_view_drop_status): bail out early if the view
has no container (instead of crashing).
2005-06-04 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcolorframe.[ch]: added API to show a number in
front of the color area.
* app/widgets/gimpsamplepointeditor.c: use the new API to put the
sample points' numbers there.
2005-06-03 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcolorframe.c (gimp_color_frame_init): pack the
color area and the labels into different vboxes to make the widget
compact again.
2005-05-31 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpaction.c (gimp_action_set_proxy): re-enabled
tooltips on the "Open Recent" menu items, using an evil but
documented heuristic.
2005-05-29 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdnd.c (gimp_dnd_get_color_icon): pass
GIMP_COLOR_AREA_CHECKS_SMALL instead of TRUE for the type of the
GimpColorArea.
* app/widgets/gimpcoloreditor.c: added a "context" property.
* libgimpwidgets/gimpcolorarea.c (gimp_color_area_set_color):
always use gimp_rgba_distance(), regardless of the area's type.
2005-05-27 Sven Neumann <sven@gimp.org>
* app/widgets/gimphistogrameditor.[ch]: connect to "name-changed"
of the active drawable and change the name displayed in the editor.
2005-05-27 Sven Neumann <sven@gimp.org>
* app/widgets/gimpeditor.[ch]: added a name label (with properties
to show/hide and to set it).
* app/widgets/gimpcontainergridview.[ch]
* app/widgets/gimphistogrameditor.[ch]: removed the label here and
use the functionality now provided by GimpEditor instead.
* app/widgets/gimpcontainerpopup.c: changed accordingly.
2005-05-25 Michael Natterer <mitch@gimp.org>
* app/core/gimpviewable.[ch]: added virtual function
GimpViewable::get_size() and public API gimp_viewable_get_size()
which return width and height and a boolean indicating if the
viewable has a size at all.
Added default implementation of GimpViewable::get_popup_size()
using the new get_size() API.
* app/core/gimpbrush.c
* app/core/gimpbuffer.c
* app/core/gimpdrawable.c
* app/core/gimpimage.c
* app/core/gimppattern.c: implement GimpViewable::get_size().
* app/core/gimpbrush.c
* app/core/gimppattern.c: removed GimpViewable::get_popup_size()
implementations, the default one is good enough.
* app/core/gimpbrushpipe.c (gimp_brush_pipe_get_popup_size):
redirect to gimp_viewable_get_size() instead of duplicating its
return values.
* app/widgets/gimpcontainertreeview.c
* app/widgets/gimpview.c: allow pixbuf dragging out of any
viewable that has a size.
* app/widgets/gimpdrawabletreeview.c: removed pixbuf dragging code
here.
* app/widgets/gimpdnd.c: set gimp busy around encoding/decoding
pixbufs into/from GtkSelectionData, because it can be a time
consuming operation.
2005-05-25 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdockable.c: ellipsize the dockable title if it
is too wide.
* app/widgets/gimpstrokeeditor.c: added mnemonic for the presets
combo.
2005-05-25 Michael Natterer <mitch@gimp.org>
* app/widgets/gimptoolbox-dnd.c: implemented dropping of pixbufs.
Bail out early from all callbacks if gimp->busy is TRUE.
2005-05-23 Sven Neumann <neumann@jpk.com>
* app/widgets/gimpcellrendererdashes.[ch]: we don't actually need to
keep a pointer to the dashes array.
(gimp_cell_renderer_dashes_render): respect horizontal padding.
* app/widgets/gimpstrokeeditor.c: added 2 pixels horizontal
padding for the dashes cell-renderer.
2005-05-22 Sven Neumann <sven@gimp.org>
* app/core/gimpdashpattern.c: minor cleanup.
* app/widgets/gimpcellrendererdashes.c: don't draw a background,
draw the dash pattern twice, use the correct widget state.
2005-05-21 Sven Neumann <sven@gimp.org>
* app/core/gimpdashpattern.[ch]: added utility functions to copy
and to free a dash pattern.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpcellrendererdashes.[ch]: added a simple cell
renderer to visualize a dash pattern.
* app/widgets/gimpstrokeeditor.c: show previews of the dash
presets in the combo-box.
2005-05-20 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcoloreditor.c: moved the color picker button out
of the row of notebook switching buttons next to the hex entry.
2005-05-19 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpcolorscales.c: removed the hex entry from the
GimpColorScales widget.
* libgimpwidgets/gimpcolorselection.c: added it here instead.
* app/widgets/gimpcoloreditor.[ch]: and here, next to the FG/BG
editor.
2005-05-19 Sven Neumann <sven@gimp.org>
* app/core/gimpstrokeoptions.[ch]: renamed property "miter" to
"miter-limit" and added a description to be used as a tooltip in
the stroke editor.
* app/core/gimpdrawable-stroke.c
* app/widgets/gimpstrokeeditor.c: changed accordingly.
2005-05-19 Sven Neumann <sven@gimp.org>
* app/core/gimpstrokeoptions.[ch]
* app/widgets/gimpdasheditor.c
* app/widgets/gimpstrokeeditor.c: small change to the internal API
to reduce code and conversion between GArray and GValueArray.
2005-05-19 Sven Neumann <sven@gimp.org>
* app/core/gimpdashpattern.[ch]
* app/widgets/gimpdasheditor.c: moved more code out of
GimpDashEditor to gimpdashpattern.c. Fixed bug in last commit.
2005-05-19 Sven Neumann <sven@gimp.org>
* app/core/gimpdashpattern.[ch]
* app/widgets/gimpdasheditor.c: moved code out of GimpDashEditor
to gimpdashpattern.c.
2005-05-16 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpclipboard.[ch]: added gimp_clipboard_has_svg()
and gimp_clipboard_get_svg().
* app/actions/edit-commands.c (edit_paste_cmd_callback): enabled
pasting of SVG data using gimp_vectors_import_buffer().
2005-05-13 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontrollerlist.c
(gimp_controller_list_remove_clicked): implement removing of
controllers, confirmed by a dialog.
* app/widgets/gimpcontrollereditor.c
(gimp_controller_editor_edit_clicked): set an alternative button
order for the event mapping dialog.
2005-05-12 Sven Neumann <sven@gimp.org>
* app/widgets/gimpimagedock.c: request notification about changes
to the "transient-docks" preference and drop the transient
relationship if it is disabled.
plus some other changes / fixes to my previous commit
2005-05-12 Sven Neumann <sven@gimp.org>
* app/config/gimpguiconfig.[ch]
* app/config/gimprc-blurbs.h: added new gimprc option
"transient-docks".
* app/widgets/gimpimagedock.c (gimp_image_dock_display_changed):
as an experiment
, obey the "transient-docks" preference and set
the dock window transient to the active display shell. Please
comment on the behaviour you observe.
* app/dialogs/preferences-dialog.c (prefs_dialog_new): added a
view on the new gimprc property.
* app/config/gimpguiconfig.[ch]: set the IGNORE flag on the
"info-window-per-display" property; it isn't used any longer.
* app/config/gimpconfig-dump.c (dump_gimprc_system): don't dump
properties that have the GIMP_CONFIG_PARAM_IGNORE flag set.
2005-05-11 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpuimanager.c (gimp_ui_manager_find_action): allow
to pass a NULL group_name and iterate all action groups to find
the action in that case.
* app/widgets/gimpcontrollereditor.c: show the action's stock icon
in the "Action" column, using above function.
2005-05-11 Michael Natterer <mitch@gimp.org>
Some dock refactoring which separates the docking logic from
active image and UI manager stuff:
* app/widgets/gimpmenudock.[ch]: new widget renamed from
GimpImageDock, zero changes except the name change.
* app/widgets/gimpimagedock.[ch]: new widget derived from
GimpDock. Keeps the UI manager.
* app/widgets/gimpdock.[ch]: removed the UI manager. GimpDock only
contains the basic docking logic again.
* app/widgets/gimpmenudock.[ch]
* app/widgets/gimptoolbox.[ch]: derive them from GimpImageDock.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/actions/dialogs-commands.c
* app/actions/dock-actions.c
* app/actions/dock-commands.c
* app/actions/dockable-commands.c
* app/dialogs/dialogs-constructors.c: changed accordingly.
2005-05-11 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontrollerinfo.[ch]: added API to set an event
snooper which, if set, receives any controller event first, even
if event dispatching is disabled for the controller.
* app/widgets/gimpcontrollereditor.[ch]: use the new API to
implement a "Grab Event" button, which takes the next event from
the controller and selects it in the event mapping tree view.
2005-05-10 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontrollerlist.[ch]: some more stuff: up/down
buttons, remember the dialogs' size and positions, misc stuff.
* app/widgets/gimpcontrollereditor.c
(gimp_controller_editor_edit_clicked): use a GimpViewableDialog
now that GimpControllerInfo is a GimpViewable.
* app/dialogs/dialogs.c: added a foreign entry for the controller
editor dialog. Allow the controller editors and its event mapping
dialogs to exist multiple times.
* app/dialogs/preferences-dialog.c (prefs_notebook_append_page):
create the pages' event boxes with input-only windows.
2005-05-09 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpcontrollerlist.[ch]: new widget which allows
adding/removing controllers using two lists of available/active
controllers. Work in progress...
* app/widgets/gimpcontrollerinfo.[ch]: derive it from GimpVieable
so it can have an icon (unfinished). Added convenience constructor
gimp_controller_info_new().
* app/dialogs/preferences-dialog.c: use a GimpControllerList
instead of a notebook of GimpControllerEditors.
2005-05-06 Sven Neumann <sven@gimp.org>
* app/actions/layers-actions.c
* app/core/gimpimage.c (gimp_image_position_layer)
* app/widgets/gimplayertreeview.c (gimp_layer_tree_view_drop_possible):
drop the limitation that layers not at the bottom of the stack
have to have an alpha channel. Allow the user to move the
background layer up in the stack or reposition it using DND.
* tips/gimp-tips.xml.in: changed the relevant tip and some more.
2005-05-06 Michael Natterer <mitch@gimp.org>
* app/actions/gradient-editor-commands.h: added enum for the
"load_color" actions.
* app/actions/gradient-editor-actions.c
* app/actions/gradient-editor-commands.c: use the new enum instead
of magic values, cleanup.
* app/actions/palette-editor-commands.c: cleanup.
* app/widgets/gimpbrusheditor.c
* app/widgets/gimpdataeditor.c: cleanup.
* app/widgets/gimpgradienteditor.c: added GtkObject::destroy() and
GtkWidget::unmap() implementations which destroy the color dialog.
Destroy color dialogs by cancelling them via gtk_dialog_response(),
so temporarily changed colors are restored correctly. Refactored
my last commit below a bit. Various cleanups.
* app/widgets/gimppaletteeditor.[ch]: no need to remember the
buttons in the GimpPaletteEditor struct.
2005-05-05 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpgradienteditor.c (control_draw)
(control_draw_normal_handle)
(control_draw_middle_handle): changed handle colors to be always
black and white. Fixes bug #303118. Also changed the handle bar's
background and the handles' outlines to theme colors which should
make the handles distinguishable from the background for all
themes.
Various unrelated cleanups.
2005-05-03 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcolordisplayeditor.h: include the parent class,
not gimpeditor.h
* app/widgets/gimpcolordisplayeditor.c: include gimpeditor.h here
2005-04-27 Sven Neumann <sven@gimp.org>
* app/widgets/gimpunitstore.c: don't call va_arg() too often.
* libgimpconfig/gimpcolorconfig.c (gimp_color_config_finalize):
free the string allocated for the display module.
2005-04-24 Hans Breuer <hans@breuer.org>
* menus/makefile.msc : build menus with nmake, too
menus/Makefile.am : added to EXTRA_DIST
* **/makefile.msc app/gimpcore.def : updated
* app/base/tmp-buf.c : there is no pid_t with msvc so typedef one
2005-04-18 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpsamplepointeditor.[ch]: Connect to the
GimpImage::update-sample-point and GimpProjection::update signals
and idle-pick colors at the sample points' coordinates.
Addresses bug #137776.
2005-04-16 Michael Natterer <mitch@gimp.org>
* app/core/gimpcontext.c (gimp_context_real_set_brush)
(gimp_context_real_set_pattern): no need to get base_config twice
in the same function.
* app/widgets/gimpblobeditor.h: include the parent class.
* app/widgets/gimpdataeditor.c (gimp_data_editor_init): set the
name entry insensitive.
2005-04-16 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdataeditor.[ch]: implement
GimpDocked::get_title() and add "(read only)" to the dialog's
title if the data is not editable. Fixes bug #164003.
(gimp_data_editor_real_set_data): call gimp_docked_title_changed()
when the editable state changes.
(struct GimpDataEditorClass): added "const gchar *title" member.
* app/widgets/gimpbrusheditor.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimppaletteeditor.c (class_init): set titles.
2005-04-13 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpimagedock.c (gimp_image_dock_image_changed):
don't use the image container as display container.
2005-04-09 Michael Natterer <mitch@gimp.org>
Implement dragging and dropping in any GdkPixbuf supported
format. Fixes bug #172794 and bug #172795.
* app/core/gimplayer.[ch] (gimp_layer_new_from_region): new
function which contains all stuff that was in
gimp_layer_new_from_tiles().
(gimp_layer_new_from_tiles): use above function.
(gimp_layer_new_from_pixbuf): new function.
* app/widgets/Makefile.am
* app/widgets/gimppixbuf.[ch]: new files containing GdkPixbuf
utility functions for clipboard and DnD.
* app/widgets/gimpselectiondata.[ch]: removed
gimp_selection_data_set,get_pixbuf(), GTK+ provides the same API.
Also removed GdkAtom parameters all over the place because it's
always the same as selection_data->target.
* app/widgets/gimpclipboard.c: use the new pixbuf utility
functions and gtk_selection_data_set,get_pixbuf().
* app/widgets/widgets-enums.h
* app/widgets/gimpdnd.[ch]: removed never-implemented
GIMP_DND_TYPE_PNG and added a generic GIMP_DND_TYPE_PIXBUF
instead. Added API to drag and drop GdkPixbufs which transparently
converts from/to and GdkPixbuf-supported image format. Removed
passing around of GdkAtoms, since they were always the same
as selection_data->target.
* app/widgets/gimpdnd-xds.[ch]: follow GdkAtom parameter removal.
* app/widgets/gimpcontainertreeview.[ch]: added virtual function
GimpContainerTreeView::drop_pixbuf().
* app/widgets/gimpcontainertreeview-dnd.c: dispatch drop_pixbuf().
* app/widgets/gimplayertreeview.c: implement drop_pixbuf().
* app/widgets/gimpdrawabletreeview.c: allow to drag all drawables
as pixbufs.
* app/display/gimpdisplayshell-dnd.c: allow dropping of pixbufs.
2005-04-07 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcolorframe.c (gimp_color_frame_set_color): only
update the view if there's actually a change.
2005-04-07 Sven Neumann <sven@gimp.org>
* app/widgets/gimpmessagebox.c: plugged a small memleak.
* libgimpwidgets/gimpcontroller.c: added a finalizer and free the
allocated strings.
2005-04-05 Michael Natterer <mitch@gimp.org>
More unfinished replacement for the info window:
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpimagepropview.[ch]: new widget showing an image's
size, resolution, mode, memsize etc.
* app/dialogs/Makefile.am
* app/dialogs/image-properties-dialog.[ch]: a dialog keeping the
widget.
* app/widgets/gimphelp-ids.h: a help ID for the dialog.
* app/actions/image-actions.c
* app/actions/image-commands.[ch]
* menus/image-menu.xml.in: action and menu entry for the dialog.
2005-04-04 Tor Lillqvist <tml@novell.com>
* app/widgets/gimpclipboard.c (gimp_clipboard_format_compare): On
Win32, move the "bmp" format to the front. Means less conversion
in most cases, as other apps on Win32 typically provide/want the
BMP format on the Clipboard. (Actually CF_DIB, but that's the
same, just without the BMP file header.) See also bug #168173.
2005-04-03 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcursorview.[ch]: fixed spacings and update them
in GtkWidget::style_set(). Removed lots of cruft from the widget
this files were copied from, including the GimpContext param
to gimp_cursor_view_new(). Remember the state of the two color
frames as aux-info in sessionrc.
* app/dialogs/dialogs-constructors.c: changed accordingly.
2005-04-03 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcolorframe.c (gimp_color_frame_init): switch
from a table to a vbox containing hboxes, so the widget's width is
not determined by the longest label *plus* the longest value.
2005-04-03 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage.[ch]: added new signals "sample-point-added"
and "sample-point-removed" and public functions to emit them.
* app/core/gimpimage-sample-points.c (gimp_image_add_sample_point)
(gimp_image_remove_sample_point): emit them accordingly.
* app/core/gimpimage-undo-push.c (undo_pop_image_sample_point):
ditto.
(undo_pop_image_guide)
(undo_pop_image_sample_point): added comments why we add/remove
stuff manually instead of using the GimpImage APIs.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpcursorview.[ch]
* app/widgets/gimpsamplepointeditor.[ch]: new widgets.
GimpCursorView is a replacement for the info window's "Cursor"
page, GimpSamplePointEditor is a view on an image's sample points.
The sample point editor does nothing yet except keeping a 2x2 grid
of GimpColorFrames. Addresses bug #137776.
* app/dialogs/dialogs.c
* app/dialogs/dialogs-constructors.[ch]: register the new widgets
as dockable dialogs.
* app/actions/dialogs-actions.c (dialogs_dockable_actions)
* menus/dialogs-menuitems.xml: added actions and menu items for
the new dialogs.
* app/display/gimpdisplayshell-cursor.c
(gimp_display_shell_update_cursor)
(gimp_display_shell_clear_cursor): update the new cursor view.
* app/widgets/gimphelp-ids.h: help IDs for the new dialogs.
* app/widgets/widgets-enums.[ch] (enum GimpColorFrameMode):
changed description "Pixel values" to "Pixel" because the former
was too long.
2005-03-31 Sven Neumann <sven@gimp.org>
* app/widgets/Makefile.am
* app/widgets/gimpfgbgview.[ch]
* app/widgets/widgets-types.h: added new widget GimpFgBgView;
somewhat similar to GimpFgBgEditor but a lot simpler.
* app/widgets/gimpcoloreditor.c: use GimpFgBgView as preview widget.
Closes bug #168592.
* app/widgets/gimpfgbgeditor.c: gracefully handle a very small
size allocation.
2005-03-26 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdnd.c: don't add the same target multiple times.
This used to happen when gimp_dnd_foo_source_add() is called
after calling gimp_dnd_drag_source_set_by_type().
2005-03-25 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdockable.c (gimp_dockable_add): initialize the
tab style to a supported one. Fixes bug #171562.
2005-03-25 Sven Neumann <sven@gimp.org>
* app/dialogs/file-save-dialog.c
* app/widgets/gimpfiledialog.[ch]: moved overwrite confirmation
dialog to app/widgets.
* app/widgets/gimpdnd-xds.c: set "Untitled.xcf" as default name
for untitled images; ask for confirmation before overwriting a
local file.
2005-03-25 Sven Neumann <sven@gimp.org>
* app/core/gimpmarshal.list: added VOID: OBJECT, OBJECT.
* app/widgets/gimpview.[ch]: pass old and new viewable in the
"set-viewable" signal.
* app/widgets/gimptoolbox-image-area.c: don't add the XDS drag source
more than once.
2005-03-25 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdnd-xds.c (gimp_dnd_xds_save_image): in case of
an error, answer with E (error) instead of F (failure).
2005-03-25 Sven Neumann <sven@gimp.org>
* app/widgets/gimpview.[ch]: virtualized GimpView::set_viewable.
* app/widgets/gimptoolbox-image-area.c: hook into "set_viewable"
and add an XDS drag source.
* app/widgets/gimpdnd-xds.c
* app/widgets/gimpdnd.c: unset the XdndDirectSave0 property when
the drag ends, minor cleanups.
2005-03-25 Sven Neumann <sven@gimp.org>
* app/widgets/Makefile.am
* app/widgets/gimpdnd-xds.[ch]: new files.
* app/widgets/gimpdnd.[ch]
* app/widgets/widgets-enums.h: added a basic XDS (Direct Save
Protocol) implementation.
* app/widgets/gimpimageview.c: allow to save images by dragging
them from the Images dialog to an XDS capable file manager.
2005-03-24 Sven Neumann <sven@gimp.org>
Merged from gimp-2-2 branch:
* app/widgets/gimphistogrameditor.c: change to the Value channel
if the current channel becomes invalid due to an image mode change.
Fixes bug #170116.
2005-03-23 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpselectiondata.c (gimp_selection_data_get_image)
(gimp_selection_data_get_component)
(gimp_selection_data_get_item): same fix as below for ID-based DND
types.
2005-03-23 Sven Neumann <sven@gimp.org>
* libgimp/gimpbrushmenu.c
* libgimp/gimpfontmenu.c
* libgimp/gimpgradientmenu.c
* libgimp/gimppalettemenu.c
* libgimp/gimppatternmenu.c: accept names passed over DND no matter
whether they are NULL-terminated or not.
* app/widgets/gimpselectiondata.c: same change here, also
UTF8-validate the selection data before accepting it.
2005-03-22 Sven Neumann <sven@gimp.org>
* app/widgets/gimpactiongroup.c
* app/widgets/gimpcolorpanel.c: use gtk_action_set_sensitive()
and gtk_action_set_visible() instead of setting the respective
properties.
2005-03-21 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcontainertreeview.c
(gimp_container_tree_view_constructor): disable search for tree
views so that treeview typeahead doesn't collide with global
accelerators. Fixes bug #169339 and would suck less if bug #170435
got fixed.
* app/widgets/gimpviewrenderergradient.c:
(gimp_view_renderer_gradient_render): Make sure specified
point lies within specified gradient segment; should
fix bug #167604.
2005-03-08 Sven Neumann <sven@gimp.org>
* app/core/gimppalette.[ch]: renamed gimp_palette_[gs]et_n_columns
to gimp_palette_[gs]et_num_columns().
* app/dialogs/palette-import-dialog.c
* app/widgets/gimppaletteeditor.c: changed accordingly.
* tools/pdbgen/pdb/palette.pdb: added new PDB function to control
the number of columns used when displaying a palette (bug #169370).
* app/pdb/internal_procs.c
* app/pdb/palette_cmds.c
* libgimp/gimppalette_pdb.[ch]: regenerated.
* libgimp/gimp.def: updated.
2005-02-28 Sven Neumann <sven@gimp.org>
* app/widgets/gimphelp.c (gimp_help_get_locales): use
g_get_language_names().
* plug-ins/help/locales.c (locales_parse): simplified;
g_get_language_names() already takes care of this.
2005-02-27 Sven Neumann <sven@gimp.org>
* app/core/gimpgradient.[ch]: removed the "last_visited" field
from GimpGradient. Instead added the new function
gimp_gradient_get_color_at_segment() that allows the caller to do
the same optimization.
* app/actions/gradient-editor-commands.c
* app/core/gimpdrawable-blend.c
* app/core/gimppalette-import.c
* app/paint/gimppaintoptions.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimpgradientselect.c
* app/widgets/gimpviewrenderergradient.c: changed accordingly.
* app/pdb/gradient_cmds.c
* app/pdb/gradients_cmds.c: regenerated.
2005-02-21 Michael Natterer <mitch@gimp.org>
* app/widgets/gimptoolbox.c (toolbox_area_notify): apply evil
size_request hacks to the color/image/foo areas' wrapbox because
its child requisition/allocation code is apparently broken. Works
around bug #162500.