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-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-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/gimppaletteeditor.c (gimp_palette_editor_pick_color):
add colors after the cursor. Fixes bug #150608.
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-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-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-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.
2004-12-31 Michael Natterer <mitch@gimp.org>
* app/core/gimppalette.[ch]: removed the just added
gimp_palette_insert_entry() and added a "gint position" parameter
to gimp_palette_add_entry() instead (no need to have two almost
identical functions).
* app/actions/palette-editor-commands.c
* app/core/gimppalette-import.c
* app/widgets/gimppaletteeditor.c
* tools/pdbgen/pdb/palette.pdb: changed accordingly.
* app/pdb/palette_cmds.c: regenerated.
2004-12-31 Michael Natterer <mitch@gimp.org>
Applied modified patch from Ben Campbell which adds drop
coordinates to the color drop callback and uses it to insert
colors in the palette editor. Extended the patch to add drop
coordinates to all drop callbacks.
* app/core/gimppalette.[ch]: added gimp_palette_insert_entry().
* app/display/gimpdisplayshell-dnd.[ch]: added drop coordinates
to all drop callbacks.
* app/dialogs/palette-import-dialog.c
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimpcontainerview.c
* app/widgets/gimpdnd.[ch]
* app/widgets/gimpdrawabletreeview.c
* app/widgets/gimpfgbgeditor.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimppaletteeditor.c
* app/widgets/gimppropwidgets.c
* app/widgets/gimpselectioneditor.c
* app/widgets/gimptoolbox-dnd.c
* app/widgets/gimptoolbox-image-area.c
* app/widgets/gimptoolbox-indicator-area.c
* app/widgets/gimptooloptionseditor.c
* libgimpwidgets/gimpcolorselect.c: changed accordingly. The passed
drop coordiantes are so far unused.
* app/widgets/gimppaletteeditor.c: use the drop coordinates to
insert the new color into the palette at the right place instead
of always appending. Fixes bug #150030.
2004-12-08 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpuimanager.[ch]: renamed
gimp_ui_manager_get_action() to gimp_ui_manager_find_action().
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimppaletteeditor.c
* app/widgets/gimptoolbox.c
* app/widgets/gimptooloptionseditor.c
* app/display/gimpdisplayshell-close.c: changed accordingly.
(this change is quite useless as it stands, but will help keeping
the diff between 2.2 and 2.3 small as soon as we're branched).
* app/widgets/gimpcolormapeditor.c
(gimp_colormap_preview_button_press): invoke the "edit-color", not
"new-color" action upon double click.
(palette_editor_select_entry): update the ui manager after
selecting the entry so the entry-specific actions become sensitive
if there was no entry selected before.
2004-10-24 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpgradienteditor.[ch]
* app/widgets/gimppaletteeditor.[ch]: added public APIs for
zooming the editors. Use gimp_editor_add_action_button() to create
all buttons. Removed all button callbacks and all duplicated
button sensitivity logic.
* app/widgets/gimpdataeditor.c (gimp_data_editor_set_data): update
the editor's UI manager if it exists.
* app/actions/gradient-editor-actions.c
* app/actions/gradient-editor-commands.[ch]: added zoom actions
and callback and call gimp_gradient_editor_zoom(). Fixed
gradient_editor_actions_update() to actually set all items'
sensitivity (it was possible to modify read-only gradients and
even to crash GIMP).
* app/actions/palette-editor-actions.c
* app/actions/palette-editor-commands.[ch]: changed "new" and
"zoom" actions to actually do their job instead of calling
gtk_button_clicked(editor->foo_button).
2004-09-28 Michael Natterer <mitch@gimp.org>
* app/core/gimppalette.c: code review / cleanup.
(gimp_palette_delete_entry): don't add "Black" when the last color
gets removed, a palette can easily live with zero colors.
* app/widgets/gimppaletteeditor.c
(palette_editor_invalidate_preview): also update the entry which
shows the palette_entry's name.
2004-09-26 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdataeditor.[ch]: added "data" property.
* app/widgets/gimpbrusheditor.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimppaletteeditor.c: pass the current data to
g_object_new() so we never end up with initially empty editors.
2004-09-26 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdialogfactory.[ch]: added "name", "blurb",
"stock_id" and "help_id" to struct GimpDialogFactoryEntry and to
gimp_dialog_factory_dialog_register(). Added typedef
GimpDialogConstructor which takes a GimpDialogFactoryEntry in
addition to the parameters GimpDialogNewFunc takes. Added a
constructor function pointer to GimpDialogFactory which defaults
to a function that just returns entry->new_func(). Use that
constructor instead of entry->new_func() for creating
dialogs. Added public API gimp_dialog_factory_set_constructor().
* app/dialogs/dialogs.c: register name, blurb, stock_id and
help_id for all dockables so all the dialog info lives in one huge
ugly table now. For the global_toolbox_factory and the
global_dock_factory, set a constructor which creates a dockable
around the widget returned by entry->new_func().
* app/dialogs/dialogs-constructors.[ch]: don't create the dockable
in each dialog constructor. Removes tons of code and reduces most
constructors to a "return gimp_foo_new(...)" one-liner. Got rid of
all static variables, they were from a time when GimpDialogFactory
was unable to manage singletons.
* app/widgets/gimpbrusheditor.[ch]
* app/widgets/gimpgradienteditor.[ch]
* app/widgets/gimppaletteeditor.[ch]: return GtkWidget, not
GimpDataEditor from gimp_foo_editor_new().
* app/widgets/gimpdataeditor.c: minor cleanups.
2004-06-30 Michael Natterer <mitch@gimp.org>
Fixed a 1.2 -> 2.0 regression that was forgotten:
* app/widgets/widgets-enums.[ch]: added enum GimpColorPickState
which can be one of { NEW, UPDATE }.
* app/widgets/gimppaletteeditor.[ch]: changed #if 0'ed function
gimp_palette_editor_update_color() to
gimp_palette_editor_pick_color() and restored the functionality of
creating/updating colors via this API
Changed button_press handler to only edit the color on double
click if it's really a double click on the same color.
Fixes bug #141381.
* app/tools/gimpcolorpickeroptions.[ch]: added boolean property
"add-to-palette" and a GUI for it.
* app/core/gimpmarshal.list
* app/tools/gimpcolortool.[ch]: added a GimpColorPickState
parameter to the "color_picked" signal. Pass NEW on button_press
and UPDATE on motion.
* app/tools/gimpcurvestool.c (gimp_curves_tool_color_picked)
* app/tools/gimplevelstool.c (gimp_levels_tool_color_picked)
* app/tools/gimppainttool.c (gimp_paint_tool_color_picked):
changed accordingly
* app/tools/gimpcolorpickertool.c (gimp_color_picker_tool_picked):
If "add-to-palette" is TRUE, get the palette editor and call
gimp_palette_editor_pick_color().
2004-06-29 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpwidgets-utils.[ch]: added new function
gimp_get_mod_string() which takes a GdkModifierType and returns
correctly formated strings for all shift,control,alt combinations.
* app/tools/gimpbucketfilloptions.c
* app/tools/gimpcolorpickeroptions.c
* app/tools/gimpconvolvetool.c
* app/tools/gimpcropoptions.c
* app/tools/gimpdodgeburntool.c
* app/tools/gimperasertool.c
* app/tools/gimpflipoptions.c
* app/tools/gimpmagnifyoptions.c
* app/tools/gimpmoveoptions.c
* app/tools/gimptransformoptions.c
* app/tools/gimpvectoroptions.c
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimpdocumentview.c
* app/widgets/gimperrorconsole.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimppaletteeditor.c
* app/widgets/gimpselectioneditor.c
* app/widgets/gimpthumbbox.c
* app/widgets/gimptooloptionseditor.c
* app/widgets/gimpvectorstreeview.c: use the new function instead
of gimp_get_mod_name_shift(),control(),alt(),separator(). This
kindof addresses the issue of configurable modifier keys but is
actually indended to ease translation of format strings ("%s" is
easier to get right than "%s%s%s").
2004-05-17 Michael Natterer <mitch@gimp.org>
* menus/menus.xsl: put the image popup menu into a dummy menubar
to work around the silly GtkUIManager restriction that popup menus
can't have tearoff items.
* app/menus/menus.c
* app/menus/image-menu.c
* app/display/gimpdisplayshell-callbacks.c
* app/gui/gui-vtable.c
* app/menus/plug-in-menus.c: changed accordingly.
* app/gui/gui.c (gui_restore_after_callback): connect to
"notify::tearoff-menus" of GimpGuiConfig and reconfigure the
global image UI manager accordingly.
* app/config/gimpguiconfig.c: removed GIMP_PARAM_RESTART from the
"tearoff-menus" property because GtkUIManager can change this on
the fly.
* app/display/gimpdisplayshell.[ch]: added the menubar to the
GimpDisplayShell struct. Some cleanup in gimp_display_shell_new().
* app/display/gimpdisplayshell-appearance.c
(gimp_display_shell_set_show_menubar): use shell->menubar instead
of asking the UI manager.
* app/widgets/gimpuimanager.[ch]: changed gimp_ui_manager_ui_get()
to transparently load the XML files even if a sub-widget was
requested. Reordered parameters of gimp_ui_manager_ui_popup().
Lots of internal cleanups.
* app/widgets/gimpdockable.c
* app/widgets/gimptooloptionseditor.c: simplified accordingly.
* app/widgets/gimpeditor.[ch]: added new function
gimp_editor_popup_menu() which takes a GimpMenuPositionFunc and
updates/shows the editor's menu.
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimpcomponenteditor.c
* app/widgets/gimpcontainereditor.c
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainertreeview.c
* app/widgets/gimperrorconsole.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimppaletteeditor.c: use gimp_editor_popup_menu().
* app/widgets/gimptoolbox.c: moved all code from
gimp_toolbox_new() to GObject::constructor().
2004-04-29 Michael Natterer <mitch@gimp.org>
Switch from GtkItemFactory to GtkUIManager. The migration is
almost complete, still stuff missing/incomplete, definitely added
a bunch of new bugs...
* app/actions/*-commands.[ch]: converted all callback from
GtkItemFactory callbacks to GtkAction callbacks.
* app/actions/debug-actions.c
* app/actions/gradient-editor-actions.c
* app/actions/help-actions.c
* app/actions/plug-in-actions.c
* app/actions/qmask-actions.c
* app/actions/tool-options-actions.c: various fixes.
* app/display/gimpdisplay.[ch]
* app/display/gimpdisplayshell-appearance.[ch]
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell.[ch]: move everything from
GtkItemFactory to GtkUIManager.
* app/gui/dialogs.[ch]: added new function dialogs_get_toolbox().
Needed because the action callbacks don't have a widget parameter
and sometimes we need a parent window for showing dialogs.
* app/gui/Makefile.am
* app/gui/brushes-menu.[ch]
* app/gui/buffers-menu.[ch]
* app/gui/channels-menu.[ch]
* app/gui/colormap-editor-menu.[ch]
* app/gui/dialogs-menu.[ch]
* app/gui/documents-menu.[ch]
* app/gui/error-console-menu.[ch]
* app/gui/fonts-menu.[ch]
* app/gui/gradient-editor-menu.[ch]
* app/gui/gradients-menu.[ch]
* app/gui/images-menu.[ch]
* app/gui/layers-menu.[ch]
* app/gui/palette-editor-menu.[ch]
* app/gui/palettes-menu.[ch]
* app/gui/patterns-menu.[ch]
* app/gui/qmask-menu.[ch]
* app/gui/templates-menu.[ch]
* app/gui/vectors-menu.[ch]: removed these files.
* app/gui/gui.c: create a global UI manager for the image popup
menu and the toolbox menubar.
* app/gui/menus.[ch]: removed all GtkItemFactory code.
* app/gui/image-menu.[ch]
* app/gui/toolbox-menu.[ch]: removed everything except the trivial
setup_funcs.
* app/gui/file-open-menu.c
* app/gui/file-save-menu.c
* app/gui/tool-options-menu.c: don't use the macros from menus.h
any more, they are gone.
* app/gui/gui-vtable.c
* app/gui/plug-in-menus.[ch]: create/destroy the dynamic plug-in
menu entries.
* app/tools/gimpimagemaptool.c: s/gimp_item_factory_update/
gimp_ui_manager_update/g
* app/widgets/gimpuimanager.[ch]: added API to get an action
group by name.
* app/widgets/gimpmenufactory.c: don't choke on the item_factory
entries being NULL.
* app/widgets/gimpactiongroup.c: make sure booleans set using
g_object_set() only have TRUE or FALSE values.
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimpcomponenteditor.c
* app/widgets/gimpcontainereditor.[ch]
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainertreeview.c
* app/widgets/gimpdockable.[ch]
* app/widgets/gimpdocked.[ch]
* app/widgets/gimpeditor.[ch]
* app/widgets/gimperrorconsole.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimppaletteeditor.c
* app/widgets/gimptoolbox.c
* app/widgets/gimptooloptionseditor.c: removed all GtkItemFactory
code and enable the #if 0'ed UI manager stuff.
* menus/gradient-editor-menu.xml: fixed typos.
* menus/image-menu.xml: duplicate everything so we have both
an image menubar and an image popup menu. Badly cries for an
XSL processor.
* menus/toolbox-menu.xml: added an "Extensions" placeholder.
2004-04-22 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpuimanager.[ch]: remember and ref the created
widgets. Added gimp_ui_manager_ui_popup() which pops up a GtkMenu
with a custom GimpMenuPositionFunc and a GtkDestroyNotify which is
called on popdown.
* app/widgets/gimpmenufactory.c (gimp_menu_factory_finalize):
don't forget to free the list of managed UIs.
* app/widgets/gimpdockable.[ch]
* app/widgets/gimpdockbook.[ch]
* app/widgets/gimpdocked.[ch]
* app/widgets/gimpeditor.[ch]: added GimpUIManager stuff parallel
to the to-be-removed GtkItemFactory stuff.
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimpcomponenteditor.c
* app/widgets/gimpcontainereditor.c
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainertreeview.c
* app/widgets/gimperrorconsole.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimppaletteeditor.c
* app/widgets/gimptooloptionseditor.c: changed accordingly and added
#if 0'ed code which actually uses all the UI managers.
* app/display/gimpdisplay.c
* app/display/gimpdisplayshell.c
* app/gui/gui-vtable.c: disabled some gimp_ui_manager_update()
calls because they were invoking toggle and radio callbacks
which still have the wrong signature.
2004-04-21 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpuimanager.[ch]: new GtkUIManager subclass. Adds
API to update all action groups and knows which UIs it can create
from which XML files.
* app/widgets/gimpmenufactory.[ch]: register the XML file
basenames along with path of their toplevel menus. Create
GimpUIManagers instead of GtkUIManagers and register the
XML files and menu paths with them.
* app/gui/menus.c: register all XML files and their toplevel
menu paths.
* app/widgets/gimpeditor.[ch]: also create a GimpUIManager when
creating the GtkItemFactory. Added "const gchar *ui_identifier"
parameter to gimp_editor_create_menu().
* app/widgets/gimpcontainereditor.[ch]
* app/widgets/gimpdataeditor.[ch]
* app/widgets/gimpdatafactoryview.[ch]
* app/widgets/gimpitemtreeview.[ch]: added "ui_identifier"
parameters to all constructors.
* app/widgets/gimpbrusheditor.c
* app/widgets/gimpbrushfactoryview.c
* app/widgets/gimpbufferview.c
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimpcomponenteditor.c
* app/widgets/gimpcontainerpopup.c
* app/widgets/gimpdocumentview.c
* app/widgets/gimperrorconsole.c
* app/widgets/gimpfontview.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimpimageview.c
* app/widgets/gimppaletteeditor.c
* app/widgets/gimppatternfactoryview.c
* app/widgets/gimptemplateview.c
* app/widgets/gimptooloptionseditor.c
* app/gui/dialogs-constructors.c
* app/gui/gradient-select.c
* app/gui/palette-select.c
* app/gui/pattern-select.c: pass UI identifiers to the changed
functions above.
* app/display/gimpdisplayshell.[ch]: added a GimpUIManager for
the menubar (menubar creating code still commented out).
* app/display/gimpdisplay.c
* app/gui/gui-vtable.c: update the ui manager.
2004-03-04 Sven Neumann <sven@gimp.org>
* app/config/gimprc-blurbs.h: marked new strings for translation.
* libgimpwidgets/gimpstock.h: added #defines for missing icons.
This allows us to replace them later without changing the API.
* app/gui/dialogs-constructors.c
* app/gui/dialogs-menu.c
* app/gui/gradient-editor-commands.c
* app/gui/image-menu.c
* app/gui/toolbox-menu.c
* app/tools/gimppaintoptions-gui.c
* app/tools/gimptextoptions.c
* app/widgets/gimppaletteeditor.c: use the new stock icon names
instead of abusing GTK+ and GIMP tool stock icons.
* app/gui/preferences-dialog.c (prefs_dialog_new): added icons
to the new check buttons.
2003-11-20 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdnd.[ch]: changed drag source stuff to allow
multiple data types. Changed DND source API to speak in terms of
add()/remove() instead of set()/unset(). Added GimpDndDragFileFunc
typedef and gimp_dnd_file_source_add().
Unfortunately GTK+'s DND API lacks symmetry here (no GtkTargetList
based API for drag sources), so we cannot really change drag
sources on-the-fly and need to set GtkTargetEntry arrays manually.
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimpcontainertreeview.c
* app/widgets/gimpmenuitem.c
* app/widgets/gimppaletteeditor.c
* app/widgets/gimppreview.c
* app/widgets/gimptoolbox-color-area.c: changed accordingly.
* app/widgets/gimpdocumentview.c: ditto. Additionally offer
"text/uri-list" so it's possible to drag images from the document
history to the file manager or browser.
2003-11-08 Michael Natterer <mitch@gimp.org>
To be multihead safe, each new window or menu needs to be
associated with a GdkScreen or it will pop up on the default
screen.
* libgimpwidgets/gimpquerybox.[ch]
* app/display/gimpdisplayshell-layer-select.[ch]
* app/widgets/widgets-types.h
* app/widgets/gimpitemfactory.[ch]
* app/widgets/gimpitemtreeview.[ch]
* app/widgets/gimptemplateview.[ch]
* app/widgets/gimptooldialog.[ch]
* app/widgets/gimpviewabledialog.[ch]
* app/gui/channels-commands.[ch]
* app/gui/color-notebook.[ch]
* app/gui/convert-dialog.[ch]
* app/gui/edit-commands.[ch]
* app/gui/grid-dialog.[ch]
* app/gui/image-commands.[ch]
* app/gui/info-dialog.[ch]
* app/gui/layers-commands.[ch]
* app/gui/offset-dialog.[ch]
* app/gui/resize-dialog.[ch]
* app/gui/stroke-dialog.[ch]
* app/gui/templates-commands.[ch]
* app/gui/vectors-commands.[ch]: added "GtkWidget *parent"
paramaters to all functions which create menus, popups or windows
and pass "parent" to gimp_dialog_new() or one of the various
wrappers around it. As a side effect, this fixes bug #61092.
* app/widgets/gimpdialogfactory.[ch]: added "GdkScreen *screen"
instead of "parent" here since there are no possible parent
windows on startup.
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_origin_button_press): added a quick hack to
send a display to another screen: click the origin button with the
middle mouse button.
* app/display/gimpdisplayshell.c
(gimp_display_shell_screen_changed): don't chain up
undonditionally (don't crash).
* libgimpwidgets/gimpdialog.c (gimp_dialog_new_valist): set the
dialog's screen from a non-GtkWidget parent widget. The rest of
non-window parent widget handling is still unimplemented.
* libgimpwidgets/gimpcolorbutton.c
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimpcolorpanel.c
* app/widgets/gimpcomponenteditor.c
* app/widgets/gimpcontainereditor.c
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainerpopup.c
* app/widgets/gimpcontainertreeview.c
* app/widgets/gimpdatafactoryview.c
* app/widgets/gimpdevicestatus.c
* app/widgets/gimpdockable.c
* app/widgets/gimpdrawabletreeview.c
* app/widgets/gimperrorconsole.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimphelp.c
* app/widgets/gimppaletteeditor.c
* app/widgets/gimppreview-popup.c
* app/widgets/gimpselectioneditor.c
* app/widgets/gimpsessioninfo.c
* app/widgets/gimptoolbox-color-area.c
* app/widgets/gimptoolbox-indicator-area.c
* app/widgets/gimptoolbox.c
* app/widgets/gimptooloptionseditor.c
* app/widgets/gimpvectorstreeview.c
* app/widgets/gimpwidgets-utils.c
* app/display/gimpdisplayshell-scale.c
* app/display/gimpnavigationview.c
* app/gui/module-browser.c
* app/gui/dialogs-commands.c
* app/gui/dialogs-constructors.c
* app/gui/drawable-commands.c
* app/gui/file-commands.c
* app/gui/file-new-dialog.c
* app/gui/file-save-dialog.c
* app/gui/gradient-editor-commands.c
* app/gui/gui-vtable.c
* app/gui/gui.c
* app/gui/info-window.c
* app/gui/palette-import-dialog.c
* app/gui/palettes-commands.c
* app/gui/qmask-commands.c
* app/gui/select-commands.c
* app/gui/tool-options-commands.c
* app/gui/view-commands.c
* app/tools/gimpcolorpickertool.c
* app/tools/gimpcroptool.c
* app/tools/gimpimagemaptool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimptransformtool.c
* plug-ins/FractalExplorer/FractalExplorer.c
* plug-ins/gfig/gfig.c
* plug-ins/gflare/gflare.c: changed accordingly. Changed all
menu_position funcs to place the menu on the right screen.
2003-10-18 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpitemtreeview.c
(gimp_item_tree_view_docked_iface_init): need to set
docked_iface->get_preview to NULL explicitly now that the
interface vtable inheriting is fixed (the layers, channels and
paths dialogs can't show preview tabs because they don't always
have a container).
* app/widgets/gimpimagedock.c (gimp_image_dock_get_aux_info):
fixed typo: s/auctive/active/. Added #defines for the magic
aux-info identifiers to avoid bugs like that.
* app/widgets/gimpcoloreditor.c
* app/widgets/gimpdataeditor.c
* app/widgets/gimppaletteeditor.c. addef #defines for aux-info
identifiers here, too.
2003-10-16 Michael Natterer <mitch@gimp.org>
* app/widgets/gimppaletteeditor.c: added "realize" and
"size_allocate" callbacks and cleaned up calling of
palette_editor_redraw(). Fixes bug #110356 without a complete
re-write.
Added GimpDockedInterface::set_aux_info() and get_aux_info()
implementations and rememeber the zoom_factor in sessionrc (mainly
for testing yesterday's fix for interface upchaining).
2003-10-11 Michael Natterer <mitch@gimp.org>
* app/widgets/widgets-types.h
* app/widgets/gimpsessioninfo.[ch]: added new struct
GimpSessionInfoAux which contains "gchar *name" and "gchar *value".
Changed sessionrc "aux-info" format again to be really extendable
this time. Also breaks everybody's sessionrc again.
* app/widgets/gimpimagedock.c
* etc/sessionrc: changed accordingly.
Implemented the stuff suggested in bug #122964. Fixes bug #122964
and bug #52206:
* app/widgets/gimpdataeditor.[ch]: replaced the "Gimp" member by a
"GimpDataFactory" and changed gimp_data_editor_construct()
accordingly. Implement GimpDockedInterface::set_aux_info() and
get_aux_info() and remember the currently edited data across
sessions.
* app/gui/gradient-editor-commands.c
* app/gui/gradient-editor-menu.c
* app/widgets/gimpbrusheditor.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimppaletteeditor.c: changed accordingly.
* app/widgets/gimpcoloreditor.c: remember the active color
selector across sessions.
2003-09-26 Michael Natterer <mitch@gimp.org>
Cleaned up all places which pick colors to work consistently: the
concept of an "active color" has disappeared, instead <ctrl> picks
the BG color all over the place (fixes bug #122931).
* app/tools/tools-enums.[ch]: added enum GimpColorPickMode which
can be one of { FOREGROUND, BACKGROUND }. Reordered enums so
non-registered ones are at the end of the file. Removed trailing
whitespace.
* app/tools/gimpcolorpickeroptions.[ch]: added a "pick-mode"
property and a GUI for it. Renamed the "update-active" property to
"update-toolbox".
* app/tools/gimpcolorpickertool.c: honor the new option. Toggle
pick-mode on <ctrl>.
* app/tools/gimpcolortool.[ch]: added pick_mode member and change
the cursor accordingly.
* app/widgets/gimpcolormapeditor.[ch]: added "GdkModifierType
state" to the "selected" signal. Removed the signal's default
implementation.
* app/gui/dialogs-constructors.c: fixed the signal handler which
lives here and set BG if <ctrl> was pressed.
* app/widgets/gimppaletteeditor.c: removed weird <ctrl> <->
active_color interaction and pick BG on <ctrl>. Don't change the
toolbox color when editing a color in the palette.
* app/widgets/gimptoolbox-color-area.[ch]: made the whole
active_color stuff private. Will remove these artefacts soon...
* app/gui/colormap-editor-menu.c
* app/gui/palette-editor-menu.c: added separate menu entries
for adding a color from the current FG and BG.
* app/gui/colormap-editor-commands.c
* app/gui/palette-editor-commands.[ch]: changed callbacks
accordingly.
* cursors/background.xbm
* cursors/background_mask.xbm
* cursors/foreground.xbm
* cursors/foreground_mask.xbm
* cursors/gimp-tool-cursors.xcf: moved the FG/BG cursor modifiers
closer to the upper right corner.
* app/widgets/gimpcursor.c: ignore the cursor modifiers' hotspots
since they are not relevant and I didn't save the hotspot in the
updated cursor files for that reason.
2003-09-18 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdatafactoryview.[ch]
* app/widgets/gimpitemtreeview.[ch]
* app/widgets/gimppaletteeditor.[ch]
* app/widgets/gimptemplateview.[ch]: order the button boxes in
these dialogs like the entries their popup menus: The default
(double click) action is the first menu entry / button. In an
attack of consistency, also reordered functions and function
parameters all over the place to match the new order.
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimpvectorstreeview.c
* app/gui/dialogs-constructors.c: changed accordingly.
2003-08-25 Michael Natterer <mitch@gimp.org>
* app/widgets/gimphelp-ids.h
* app/widgets/gimppaletteeditor.c
* app/gui/palette-editor-menu.c: help IDs for the palette editor.
* app/gui/toolbox-menu.c: forgot some dialog help IDs.
2003-07-02 Michael Natterer <mitch@gimp.org>
* app/widgets/widgets-types.h: added GimpMenuPositionFunc typedef.
* app/widgets/gimpwidgets-utils.[ch]: made gimp_menu_position()
a GimpMenuPositionFunc.
* app/widgets/gimpitemfactory.[ch]
(gimp_item_factory_popup_with_data): added position_func and
position_data parameters. Use gimp_menu_position() if no
position_func is given.
* app/display/gimpdisplayshell-callbacks.c: removed
gimp_display_shell_origin_menu_popup() and call
gimp_item_factory_popup_with_data() directly from
gimp_display_shell_popup_menu(), using
gimp_display_shell_origin_menu_position() as position_func.
* app/widgets/gimpeditor.[ch]: added a GtkWidget::popup_menu()
implementation so all context menus are keyboard accessible.
Added "gpointer factory_data" member so the menu can be popped up
in the right context.
* app/gui/channels-menu.c
* app/gui/layers-menu.c
* app/gui/vectors-menu.c: make them work without an active image
since they can be popped up at any time now.
* app/gui/image-menu.c
* app/gui/toolbox-menu.c: cleanup.
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimpcomponenteditor.c
* app/widgets/gimpcontainereditor.c
* app/widgets/gimpdockbook.c
* app/widgets/gimperrorconsole.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimppaletteeditor.c: pass NULL, NULL as
position_func and position_data so the default implementation is
used.
2003-05-28 Michael Natterer <mitch@gimp.org>
* app/gui/image-menu.c
* app/gui/palette-editor-menu.c
* app/gui/view-commands.[ch]
* app/widgets/gimpgradienteditor.c
* app/widgets/gimppaletteeditor.[ch]: changed all places to show
zoom menu items and icons in ZOOM_OUT, ZOOM_IN order. In an attack
of consistency, also reordered all callbacks accordingly.
2003-05-26 Michael Natterer <mitch@gimp.org>
* app/widgets/gimppaletteeditor.[ch]
* app/gui/palette-editor-commands.[ch]
* app/gui/palette-editor-menu.c: started to clean up the palette
editor: added buttons for all menu items and menu items for all
buttons. Improved selected palette entry handling. Moved all code
to gimppaletteeditor.c and call it from the menu callbacks. Lots
of cleanup (unfinished).
2003-03-25 Sven Neumann <sven@gimp.org>
* Makefile.am
* gimpintl.h: removed this header file.
* gimpmiscui.c: include libgimp-intl.h.
* gimp.c (gimp_main): call setlocale() and bind to the libgimp
textdomain so that plug-ins don't need to do that explicitely.
* libgimp/stdplugins-intl.h: added the functionality that used to
live in gimpintl.h and removed the libgimp related stuff. Got rid
of the INIT_I18N_UI() macro.
* plug-ins/*/*.c: removed all occurances of INIT_I18N_UI().
Plug-ins simply call INIT_I18N() once in their run() function.
* plug-ins/script-fu/script-fu-intl.h: added the functionality
that used to live in gimpintl.h and removed the libgimp related
stuff.
* app/Makefile.am
* app/gimp-intl.h: new file that defines the gettext macros for
the GIMP core.
* app/*/*.c: include gimp-intl.h instead of libgimp/gimpintl.h.
* plug-ins/script-fu/scripts/test-sphere.scm: fixed typos.
2003-03-21 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpeditor.[ch]: added a GimpItemFactory to the
GimpEditor struct. Added gimp_editor_create_menu().
* app/widgets/gimpcolormapeditor.[ch]
* app/widgets/gimpcomponenteditor.[ch]
* app/widgets/gimpcontainereditor.[ch]
* app/widgets/gimpdataeditor.[ch]
* app/widgets/gimpitemtreeview.[ch]: removed item_factory pointers
and lots of inalizers which just unref'ed the item_factory. Use
gimp_editor_create_menu() instead.
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimppaletteeditor.c: changed accordingly.
2003-03-10 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdataeditor.[ch]: added "gboolean data_editable"
which gets set in gimp_data_editor_real_set_data(). Set the name
entry insensitive if the data is not editable.
* app/widgets/gimpbrusheditor.c
* app/widgets/gimppaletteeditor.c
* app/widgets/gimpgradienteditor.c: look at editor->data_editable
instead of duplicating the logic in all subclasses.
* app/widgets/gimppreview.[ch]: added "gboolean expand" and
gimp_preview_set_expand() like in GtkPreview bacause smooth auto
resizing can only be done by the widget itself, not via external
callbacks.
* app/display/gimpnavigationview.c
* app/widgets/gimpbrusheditor.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimpselectioneditor.c: set expand == TRUE. Removed
"size_allocate" callbacks. They resize *much* smoother now.
Various cleanups.
* app/widgets/gimpnavigationpreview.c: recalculate the preview
coordinates when the size changes.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimppreviewrenderer-utils.c
* app/widgets/gimppreviewrenderergradient.[ch]: new renderer which
is much faster because it projects the gradient without creating
intermediate buffers. Rendering can be restricted to an interval
from [left...right].
* app/widgets/gimpgradienteditor.[ch]: undeprecated by using
GimpPreview instead of GtkPreview. Cleanup.
* app/gui/gradient-editor-commands.c: changed accordingly.