2006-06-15 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdockbook.c (gimp_dockbook_get_tab_widget): set
the event box' window invisible so we get the right background
with all themes.
2006-03-28 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdockbook.c (gimp_dockbook_drop_dockable):
allow
dropping of dockables from the same dockbook to the empty space
next to the notebook tabs. This moves the dockable to the end.
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-30 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdockable.[ch]: #define GIMP_DOCKABLE_DRAG_OFFSET
publically.
* app/widgets/gimpdockbook.c (gimp_dockbook_tab_drag_end): use the
define to reset the dockable's drag offsets.
2005-12-29 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdockbook.c (gimp_dockbook_dockable_added): set
the current notebook page to the dockable that was just added.
2005-12-29 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdockbook.c (gimp_dockbook_tab_drag_begin): use
the width of the source widget as the minimum width of the drag
icon.
2005-12-29 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdockable.[ch]: store coordinates of last button
press event.
* app/widgets/gimpdockbook.c (gimp_dockbook_tab_drag_begin): set
the drag hotspot to the mouse position that started the drag.
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-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.
2004-05-05 Michael Natterer <mitch@gimp.org>
* app/actions/file-actions.c
* app/actions/file-commands.[ch]: remove "file-close" action and
callback...
* app/actions/view-actions.c
* app/actions/view-commands.[ch]: ...and added it here as
"view-close" because that's what it does.
* app/actions/qmask-actions.c
* app/actions/qmask-commands.c: s/QMask/QuickMask/g
* app/gui/menus.c: add the "channels" action group to the <Image>
and <Dock> UI managers, renamed UI manager <Dialogs> to
<Dockable>.
* app/widgets/gimpdockbook.c: s/<Dialogs>/<Dockable>/.
* menus/image-menu.xml.in: s/file-close/view-close/, added
separators at the end of most menus, moved the bottom group of the
"View" menu after the zoom group.
2004-05-02 Michael Natterer <mitch@gimp.org>
* app/actions/*-actions.c: added help IDs to all actions
representing the toplevel popups and menus (as fallbacks for the
still-to-be-written help system intrgration of GimpUIManager).
* app/display/gimpdisplayshell.c (gimp_display_shell_new): removed
call to gtk_ui_manager_ensure_update() because that's done by
gimp_ui_manager_ui_get() now.
* app/widgets/gimpmenufactory.[ch]: removed API to register and
create item factories.
* app/gui/menus.c: changed accordingly.
* app/gui/dialogs.c
* app/actions/plug-in-commands.c
* app/gui/file-dialog-utils.c
* app/gui/file-save-dialog.c
* app/widgets/gimpdataeditor.c
* app/widgets/gimpdockable.c
* app/widgets/gimpdockbook.[ch]
* app/widgets/gimpimagedock.c
* app/widgets/gimpitemtreeview.c: removed leftover item factory
cruft.
* app/widgets/widgets-types.h: removed item factory typedefs...
* app/widgets/gimpitemfactory.h: ...and added them here.
* app/widgets/gimpactiongroup.[ch]: added new function
gimp_action_group_add_plug_in_actions().
* app/actions/plug-in-actions.c: use it here instead of adding
the actions manually.
* app/widgets/gimptoolbox.c: ported the code which dynamically
updates the tool button tooltips on accelerator changes to
GtkAction. Disabled the whole stuff because GTK+ lacks
gtk_action_get_accel_closure().
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.
2003-10-18 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdockbook.c: removed the "Select Tab" menu and
all the evil hacks that were needed to make it work. Now that we
have an extra dockable menu, the standard menu from GTK+ is good
enough.
* app/widgets/gimpdockable.c: added a tooltip to the close button
and removed code that used to hide the "Select Tab" menu.
* app/gui/dialogs-menu.c (dialogs_menu_entries): removed now unused
"Select Tab" entry.
2003-10-07 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdockable.[ch] (gimp_dockable_detach): new
function. Need to include ugly stuff for proper GimpImageDock
setup.
* app/widgets/gimpdockbook.c (gimp_dockbook_menu_end): use
gimp_dockable_detach() and removed the evil includes.
* app/gui/dialogs-commands.c (dialogs_detach_tab_cmd_callback):
implement it using gimp_dockable_detach().
2003-10-05 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdockbook.[ch]
* app/widgets/gimpdockable.[ch]: hide the GimpDockbook tabs when
it holds only a single dockable. Made the title area a drag source
and let the whole GimpDockable accept drops of dockables.
2003-09-23 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpmenufactory.[ch]: added a "menu_title" which is
registered with each menu.
* app/widgets/gimpitemfactory.[ch]: added the title to the
constructor and to the GimpItemFactory struct.
* app/gui/menus.c: register titles with all menus.
* app/widgets/gimpdockable.[ch]: show the tab menu, not the
contained dialog's menu when clicking on the menu button.
Embed the dialog's menu as submenu. Use the item_factory's
title and the dockable's stock_id for the submenu entry.
* app/widgets/gimpeditor.c: removed GtkWidget:popup_menu()
implementation since that's done by GimpDockable now.
* app/widgets/gimpdockbook.c: set the new menu item invisible
when showing the menu as tab menu.
* app/widgets/gimphelp-ids.h: added GIMP_HELP_DOCK_TAB_DETACH
and renamed _TAB_REMOVE to _TAB_CLOSE.
* app/gui/dialogs-menu.c: added the new menu entry for showing the
dialog's sub-menu. Added a "Detach" menu item, renamed "Remove" to
"Close". Accept both a GimpDockbook and a GimpDockable pointer as
"data" in dialogs_menu_update().
* app/gui/dialogs-commands.[ch]: changed accordingly. Never use
gtk_item_factory_popup_data_from_widget() but always the "data"
passed to the callbacks. Take care to not set the already active
preview_size, tab_style and list/grid type in the resp. callbacks
to avoid being called from dialogs_menu_update().
* app/gui/dialogs-constructors.c: removed separate
set_context_funcs and get_menu_funcs for GimpContainerView and
GimpContainerEditor widgets and simply use
gimp_container_view_get_by_dockable() to find the right widget.
2003-08-26 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdockbook.c: added gimp_dockbook_help_func()
which shows the help for the active page.
(gimp_dockbook_tab_button_press): grab the focus when a notebook
tab is clicked. Still not perfect since GtkNotebook does it
slightly different, but feels much better than before.
2003-08-25 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdockable.[ch]: added "gchar *help_id" member to
the GimpDockable struct and "const gchar *help_id" parameter to
gimp_dockable_new().
* app/widgets/gimphelp-ids.h: added help IDs for the tool list/grid
and the palette editor.
* app/widgets/gimpdockbook.c
* app/gui/dialogs-constructors.c
* app/gui/dialogs-menu.c: changed accordingly.
2003-07-08 Michael Natterer <mitch@gimp.org>
Added configurable styles for dockable tabs (fixes bug #87376):
* app/widgets/widgets-enums.[ch]: added new enum GimpTabStyle
which can be one on { ICON, NAME, ICON_NAME, ICON_BLURB }.
* app/widgets/gimpdockable.[ch]: added a GimpTabStyle member to
the GimpDockable struct which defaults to GIMP_TAB_STYLE_ICON.
Renamed "short_name" to "name" and "name" to "blurb". Renamed
GimpDockableGetTabFunc to GimpDockableGetIconFunc. Implemented all
tab styles in gimp_dockable_real_get_tab_widget() and use the
"get_icon_func" only for creating the tab's icon, not the entire
tab widget.
* app/widgets/gimpdockbook.[ch]: changed accordingly. Create the
menu widgets and the DND icon using gimp_dockable_get_tab_widget()
with tab_style == GIMP_TAB_STYLE_ICON_BLURB instead of duplicating
tons of code. Made gimp_dockbook_get_tab_widget() public because
it's needed for exchanging tabs on-the-fly.
* app/widgets/gimpimagedock.c: changed accordingly.
* app/widgets/gimpdialogfactory.c: remember the dockables' tab
style in sessionrc.
* app/gui/dialogs-menu.c: added a submenu to select the tab style
for each dockable.
* app/gui/dialogs-commands.[ch]: new callback
dialogs_tab_style_cmd_callback().
* app/gui/dialogs-constructors.[ch]: added stock_ids to all
dockables, swapped the "name" and "blurb" parameters, reordered
functions, cleanup.
* app/gui/dialogs-menu.c
* app/gui/image-menu.c
* app/gui/toolbox-menu.c: use GIMP_STOCK_DEFAULT_COLORS for the
color editor dockable and renamed it to "FG/BG Color".
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-03 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdockbook.[ch]: added "dockable_added",
"dockable_removed" and "dockable_reordered" signals and emit them.
* app/widgets/gimpimagedock.[ch]: implement GimpDock::book_added()
and GimpDock::book_removed(). Connect to the above signals and
update the window title as proposed in bug #111971. Idle-update
the title so subsequent changes are compressed. Fixes bug #111971.
* app/widgets/gimpdock.c: cleanup.
2003-04-14 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdockbook.c (gimp_dockbook_get_tab_widget): check
for !GIMP_IS_PREVIEW(widget), not for GTK_WIDGET_NO_WINDOW(widget)
when deciding whether to put the tab_widget in a GtkEventBox
because GimpPreview is NO_WINDOW now but still handles events.
Fixes dockable DND.
2003-01-10 Michael Natterer <mitch@gimp.org>
Move away from creating all item_factories statically in
menus_init() but create a new one for each place where one is
needed:
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpmenufactory.[ch]: new factory which creates and
configures the GimpItemFactories it knows about on-the-fly.
* app/widgets/gimpitemfactory.[ch]: added
gimp_item_factory_update() which calls the "update_func". Added
"gboolean update_on_popup" so item_factories can be configured to
require manual updates (used for the <Image> factory).
* app/gui/menus.[ch]: create a "global_menu_factory" and register
all menus we have with it. Added various setup functions which
do stuff like adding the "Open Recent" menu or reorder plug-in
menu entries. Removed the debugging stuff...
* app/gui/Makefile.am
* app/gui/debug-commands.[ch]: ...and added it here.
* app/gui/gui.c: create the <Toolbox>, the popup-<Image> and the
<Paths> factories here because they are still global.
* app/gui/plug-in-menus.[ch]: changed the "image_factory"
parameters to "item_factory" and create/update the entries for the
passed item_factory only. Makes the whole stuff much more
straightforward.
* app/plug-in/plug-ins.c: don't call plug_in_make_menu().
* app/display/gimpdisplay.[ch]
* app/display/gimpdisplayshell.[ch]: added "menu_factory" and
"popup_factory" parameters to gimp_display_new() and
gimp_display_shell_new(). Create the menubar_factory and the
qmask_factory dynamically. Pass the shell, not a Gimp to the QMask
callbacks. Changed gimp_display_shell_set_menu_sensitivity() to
gimp_display_shell_menu_update() and don't call it directly (it's
a GimpItemFactory update_func now). Call gimp_item_factory_update()
on the resp. factories instead.
* app/gui/qmask-commands.c
* app/display/gimpdisplayshell-callbacks.c
* app/tools/gimpimagemaptool.c: changed accordingly.
* app/widgets/gimpbrusheditor.c
* app/widgets/gimpbrushfactoryview.[ch]
* app/widgets/gimpbufferview.[ch]
* app/widgets/gimpcolormapeditor.[ch]
* app/widgets/gimpcontainereditor.[ch]
* app/widgets/gimpdataeditor.[ch]
* app/widgets/gimpdatafactoryview.[ch]
* app/widgets/gimpdialogfactory.[ch]
* app/widgets/gimpdock.c
* app/widgets/gimpdockbook.[ch]
* app/widgets/gimpdocumentview.[ch]
* app/widgets/gimpgradienteditor.[ch]
* app/widgets/gimpimageview.[ch]
* app/widgets/gimpitemlistview.[ch]
* app/widgets/gimppaletteeditor.[ch]: pass around lots of
GimpMenuFactory pointers and menu_identifiers so all views can
create their item_factories themselves. Unref the factories when
they are no longer needed because they belong to the views now.
* app/gui/dialogs-commands.c
* app/gui/dialogs-constructors.c
* app/gui/dialogs.c
* app/gui/brush-select.c
* app/gui/gradient-select.c
* app/gui/palette-select.c
* app/gui/pattern-select.c: changed accordingly.
* app/gui/file-dialog-utils.[ch] (file_dialog_new): require
menu_factory and menu_identifier parameters.
* app/gui/file-open-dialog.[ch]
* app/gui/file-save-dialog.[ch]: removed file_*_dialog_menu_init()
(they went to menus.c as setup_funcs). Added file_*_dialog_set_type()
and moved the <Load> and <Save> factory callbacks to file-commands.c
* app/gui/file-commands.[ch]: changed accordingly.
* app/gui/view-commands.c: changed the statusbar, menubar, rulers
and guides callbacks to do their job only if the setting has
actually changed. Don't update whole item factories afterwards.
Instead, just change the state of the items that actually need
update.
Unrelated:
* app/core/gimpchannel.c (gimp_channel_init): set "bounds_known"
and friends to FALSE since we don't know that the new channel will
be empty (fixes QMask and probably other stuff).
* app/gui/image-commands.c
* app/gui/vectors-commands.c: cleanup.
2003-01-05 Manish Singh <yosh@gimp.org>
* many files in app, modules and libgimp*: cleanup, removed unecessary
G_OBJECT() casts. Should do the same for plug-ins, when more of them
get undeprecated.
2002-05-10 Michael Natterer <mitch@gimp.org>
We can always create GimpPreviews for any GtkIconSize, but
not vice versa. therefore:
* app/widgets/gimpdockable.[ch]: changed the "gint size" parameter
used for tab sizes to "GtkIconSize size" all over the place. Added
"stock_id" in addition to "name" and "short_name".
* app/widgets/gimpdockbook.c
* app/widgets/gimpimagedock.c: use GtkIconSize instead of integer
preview sizes for all widget style properties. Renamed them from
"blah_height" to "blah_size" because "height" is an implementation
detail.
* app/gui/dialogs-constructors.c: changed calls to
gimp_dockable_new() and all *_tab_func()s accordingly. Removed
the hack for the navigation tab and added a general tab_func
which returns a hbox with an icon & label.
* app/gui/menus.c: made the dialog menus found under <Toolbox>,
<Image> and <Dialogs> more consistent and added more stock icons.
* etc/gtkrc_user
* themes/Default/gtkrc: changed accordingly.
2002-03-20 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdockbook.c: fixed a bug i introduced when making
the tab_height configurable: need to connect the signals of the
new tab_widget created in style_set(), otherwise we get the
functionality of a plain GtkNotebook...
* app/widgets/gimpfontselection.c: make the minimal width of the
entry even smaller so users can choose to put it in a small dock.
* app/widgets/gimppaletteeditor.c: fixed "Zoom All" zoom ratio
calculation.
2002-03-18 Michael Natterer <mitch@gimp.org>
* app/paint/gimppaintoptions.h
* app/tools/paint_options.c: put the "Fade Out" and "Gradient" stuff
into separate frames with togglebutton titles.
* app/widgets/gimpchannellistview.c: use
gimp_image_mask_select_channel() instead of reinventing the wheel.
* app/widgets/gimpvectorslistview.c: removed unneeded inclusion
of "core/gimpimage-mask.h".
* app/widgets/gimpcolormapeditor.c: set the hex entry to 7 digits,
some cleanup.
* app/widgets/gimppaletteeditor.c: set the vertical scrollbar
to GTK_POLICY_AUTOMATIC.
Added support for configuring some more GUI dimensions using
widget class style properties:
* app/widgets/gimpdock.c: made "separator_height" work correctly.
* app/widgets/gimpdockbook.c: added "tab_height".
* app/widgets/gimpeditor.c: added "button_icon_size".
* app/widgets/gimpimagedock.c: added "minimal_width".
* app/widgets/gimptoolbox.c: added "tool_icon_size".
* themes/Default/gtkrc: set the properties to their default values
for documentation.
* etc/gtkrc_user: added a (commented out) example style which makes
lots of things a smaller.
2002-03-14 Michael Natterer <mitch@gimp.org>
* app/core/gimptoolinfo.c: g_strdup() the stock_id passed to
gimp_tool_info_new() because the caller's memory may disappear
after registering the tool (tool modules).
Made a GimpDock out of the toolbox:
* app/gui/Makefile.am
* app/gui/color-area.[ch]
* app/gui/indicator-area.[ch]
* app/gui/toolbox.[ch]: removed...
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimptoolbox-color-area.[ch]
* app/widgets/gimptoolbox-indicator-area.[ch]
* app/widgets/gimptoolbox.[ch]: ...and added here.
* app/widgets/gimpdock.[ch]: don't set a minimal width. Added a
"destroy_if_empty" boolean so we can prevent destruction of the
toolbox if it's last dockable is removed. Added gimp_dock_construct()
which is called from GimpImageDock and GimpToolbox.
* app/widgets/gimpimagedock.[ch]: Default to not showing the image
menu, set a minimal width here, misc. minor cleanup.
* app/widgets/gimpdockbook.c: some more GIMP_IS_IMAGE_DOCK()
checks, fixed dnd widget creation.
* app/widgets/gimpdialogfactory.[ch]: changed
gimp_dialog_factories_toggle() to take just the toolbox_factory as
parameter. When restoring the session use the created dock's
dialog factory to create dockables, not the the factory we
created the dock from (for the toolbox).
* app/display/gimpdisplayshell-callbacks.c: changed accordingly.
* app/gui/dialogs.[ch]: create an own dialog factory for the toolbox
and set dialogs_toolbox_new() as it's new_dock_func.
* app/gui/dialogs-constructors.[ch]: changed dialogs_toolbox_get()
accordingly.
* app/gui/dialogs-commands.[ch]: added dialogs_show_toolbox(), ckeck
if a dock is really a GimpImageDock before casting.
* app/gui/gui.c
* app/gui/menus.c
* app/widgets/gimppaletteeditor.c: changed accordingly.
* app/gui/color-notebook.c
* app/gui/color-select.c
* app/gui/colormap-dialog.c
* app/gui/palette-editor-commands.c: removed useless inclusion of
"gui/color-area.h".
* themes/Default/gtkrc: set "gimp-dock-style" for GimpToolbox widgets.
2002-03-10 Michael Natterer <mitch@gimp.org>
* app/gui/dialogs-constructors.[ch]
* app/gui/dialogs.c
* app/gui/tool-options-dialog.[ch]: made the tool options dialog
dockable. Create a fancy tab for it which looks like the old
dialog header.
* app/gui/gui.c
* app/gui/menus.c
* app/gui/toolbox.c: changed accordingly.
* app/tools/gimpbucketfilltool.c
* app/tools/gimpcroptool.c
* app/tools/gimperasertool.c: moved the tool toggling widgets to
the top.
* app/tools/paint_options.c: show the paint mode menu for all
paint tools but set it insensitive where it makes no sense.
Reduces flickering and makes the tools' similarity more obvious.
* app/widgets/gimpdataeditor.c: fixed segfault in
gimp_data_editor_set_data() (data may be NULL), don't pass NULL to
gtk_entry_set_text(), make the name entry insensitive if data ==
NULL.
* app/widgets/gimpdialogfactory.c: fixed longstanding bug which
made newly created docks steal the first session entry with a NULL
widget instead of the first _dock_ session entry with a NULL
widget. Added even more debugging output. Cleanup.
* app/widgets/gimpdockbook.c: made the tab/menu widget code more
general to cover the tool options tab.
2002-01-25 Michael Natterer <mitch@gimp.org>
* configure.in: CPPFLAGS: added -DGTK_DISABLE_DEPRECATED
* libgimpwidgets/gimpdialog.c: still use the deprecated
gtk_window_set_policy() but spit out a #warning.
* app/widgets/widgets-types.h
* app/widgets/gimpitemfactory.[ch]: made it a GtkItemFactory
subclass. This way we can reproduce the effect of
gtk_item_factory_get_from_path() which is deprectated for good
reasons. For GIMP, using it its perfectly OK since we only have
one item factory per "<prefix>".
* app/widgets/gimpbrushfactoryview.[ch]
* app/widgets/gimpbufferview.[ch]
* app/widgets/gimpcontainereditor.[ch]
* app/widgets/gimpdatafactoryview.[ch]
* app/widgets/gimpdialogfactory.[ch]
* app/widgets/gimpdock.c
* app/widgets/gimpdockbook.c
* app/widgets/gimpdocumentview.[ch]
* app/widgets/gimpdrawablelistview.[ch]
* app/widgets/gimppreview.c
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell.[ch]: pass around GimpItemFactory
pointers instead of "const gchar *" item factory identifiers.
Replaced gtk_window_set_policy() by gtk_window_set_resizable()
and other recommended stuff.
* app/gui/about-dialog.c
* app/gui/dialogs-constructors.c
* app/gui/dialogs.c
* app/gui/file-open-dialog.c
* app/gui/file-save-dialog.c
* app/gui/gradient-editor.c
* app/gui/menus.c
* app/gui/offset-dialog.c
* app/gui/splash.c
* app/gui/tips-dialog.c
* app/gui/toolbox.c: lots of
s/gtk_item_factory_from_path/gimp_item_factory_from_path/,
gtk_window_set_policy() replacements, misc fixes.
* plug-ins/gdyntext/charmap_window.c
* plug-ins/gdyntext/gdyntext_ui.c
* plug-ins/gdyntext/message_window.c
* plug-ins/imagemap/imap_main.c: replaced gtk_window_set_policy().
2001-11-30 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/gimpimage-qmask.[ch]: new files: the QMask stuff
stripped from GUI code. Added gimp_image_qmask_invert().
* app/core/gimpimage.[ch]: removed the QMask functions.
* app/display/Makefile.am
* app/display/gimpdisplayshell-qmask.[ch]: removed.
* app/gui/Makefile.am
* app/gui/qmask-commands.[ch]: new files for the new QMask item
factory callbacks and the qmask query dialog.
* app/gui/menus.c: added a context menu for the QMask button.
* app/display/gimpdisplayshell.c
* app/display/gimpdisplayshell-handlers.c: don't include the qmask
stuff.
* app/display/gimpdisplayshell-callbacks.[ch]: Moved the 2 qmask
callbacks here. Don't popup the dialog on double_click. Show
the contect menu on right-click.
* app/display/gimpdisplayshell-callbacks.[ch]:
gimp_display_shell_canvas_events(): removed the hack of
conntecting "key_press_event" to gtk_true() while a tool is
active. Instead, check for (event & GDK_BUTTON1_MASK) in the
key_press and key_release handlers and stop signal emission. Save
the modifier state on "button_press" and restore it after
"button_release".
Changed the way context menus are updated/shown:
- removed GimpContainerContextFunc.
- pass around item factory identifiers (e.g. "<Brushes>")
- added voodoo to update the menus before showing them.
* app/widgets/gimpitemfactory.[ch]: gimp_item_factory_new(): take
a GimpItemFactoryUpdateFunc parameter, attach it as data to the
factory and use it to update the menu in
gimp_item_factory_popup_with_date().
* app/widgets/gimpwidgets-utils.[ch]: removed
gimp_item_factory_popup_with_data() here.
* app/widgets/gimpbrushfactoryview.[ch]
* app/widgets/gimpbufferview.[ch]
* app/widgets/gimpcontainereditor.[ch]
* app/widgets/gimpdatafactoryview.[ch]
* app/widgets/gimpdocumentview.[ch]
* app/widgets/gimpdrawablelistview.[ch]: use item_factory
identifier strings all over the place.
* app/widgets/gimpdockbook.c: removed the menu update code, it's
now in gui/dialogs-commands.c.
* app/gui/brushes-commands.[ch]
* app/gui/buffers-commands.[c]
* app/gui/channels-commands.[ch]
* app/gui/dialogs-commands.[ch]
* app/gui/documents-commands.[ch]
* app/gui/gradient-editor-commands.[ch]
* app/gui/gradients-commands.[ch]
* app/gui/layers-commands.[ch]
* app/gui/palettes-commands.[ch]
* app/gui/patterns-commands.[ch]: removed all show_context_menu()
functions and made the update functions public. Changed all
update functions to use the gimp_item_factory_set_foo() methods
instead of gimp_menu_item_set_foo().
* app/gui/menus.c: pass the update functions to the
gimp_item_factory_new().
* app/gui/dialogs-constructors.c: pass item factory identifiers to
all view constructors.
* app/gui/gradient-editor.c: show the context menu using the new
method.
* app/gui/toolbox.c: no need to include "dialogs-commands.h".
2001-11-29 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.[ch]: replaced the QMask radio
buttons ba a single check button. Still needs some tuning.
* app/display/gimpdisplayshell-handlers.c
* app/display/gimpdisplayshell-qmask.[ch]: changed accordingly.
* app/tools/gimptool.[ch]: added "gboolean handle_empty_image" to
the GimpTool structure.
* app/tools/gimpmovetool.c: set it to TRUE.
* app/tools/gimpfuzzyselecttool.c: don't gimp_[set|unset]_busy()
while calculating the selection but set the busy cursor on the
display manually (we have the pointer grabbed anyway).
* app/display/gimpdisplayshell-callbacks.c: don't check for
GIMP_IS_MODE_TOOL(active_tool) but look at
active_tool->handle_empty_image. Removed the checks for
GIMP_IS_FUZZY_SELECT_TOOL(active_tool) because fuzzy_select
doesn't set GIMP busy while it's active any more.
* app/tools/transform_options.[ch]
* app/tools/gimptransformtool.c
* app/tools/gimprotatetool.c
* app/tools/gimpscaletool.c: added widgets for the transform tools'
constraints (one more #51108 issue fixed).
* app/tools/gimperasertool.c: cosmetic.
* app/widgets/gimpdockbook.c: don't hardcode GtkNotebook's
tab_border to 0 but add a style property for it...
* themes/Default/gtkrc: ...and set it to 0 here.
2001-11-28 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpbutton.c
* libgimpwidgets/gimpcolorarea.c
* libgimpwidgets/gimpcolorbutton.c
* libgimpwidgets/gimpoffsetarea.c: fixed button_press event handling,
removed double g_return_if_fail()s, misc. cleanup.
* app/display/gimpdisplayshell.c: removed the SET_COLOR() stuff
here...
* app/gui/menus.c: ...and added it here so it actually works.
* app/widgets/gimpcolorpanel.c: add color previews to the
item_factory.
* app/widgets/gimpdockbook.c: use the item_factory functions now
that they are in widgets/.
* app/widgets/gimpitemfactory.[ch]: nothing, we just want to keep
the RCS hirtory.
2001-11-26 Michael Natterer <mitch@gimp.org>
* tools/authorsgen/contributors: added Rebecca Walter (bex).
* AUTHORS
* app/gui/authors.h: regenerated.
* app/widgets/widgets-types.h: added GimpPreviewSize enum.
* app/gimprc.c
* app/gui/menus.c
* app/gui/preferences-dialog.c
* app/widgets/gimpdockbook.c: use the new enum.
* app/tools/gimpbucketfilltool.c
* app/tools/gimpconvolvetool.c
* app/tools/gimpcroptool.c
* app/tools/gimpdodgeburntool.c
* app/tools/gimperasertool.c
* app/tools/gimpfliptool.c
* app/tools/gimpmagnifytool.c: added "(<Ctrl>)" and "(<Alt>)" to
some tool options strings.
* app/tools/gimpmovetool.c: some more widgets for hidden tool
options (#51108).
* app/tools/transform_options.c: renamed to "Tool Paradigm" stuff
to something more understandable.
* app/widgets/gimpdock.c: added a style property for the height
of the separator.
* themes/Default/gtkrc: show how to use the new property.
* app/widgets/gimpcontainerview.c
* app/widgets/gimpdockable.c
* app/widgets/gimplayerlistview.c: waste less lines when calling
gtk_widget_style_get().
2001-11-23 Michael Natterer <mitch@gimp.org>
* app/core/gimpcontainer.c: removed a useless g_return_if_fail().
* app/widgets/gimpcontainereditor.h: removed GimpViewType enum.
* app/widgets/widgets-types.h: added it here.
* app/widgets/gimpcontainerview-utils.[ch]: added a utility function
which gets the GimpContainerView out of a GimpDockable.
* app/widgets/gimpdialogfactory.[ch]: added support for saving and
loading of each GimpDockable's preview size. Store the dialog's
default preview size in the GimpDialogFactoryEntry. Pass the
preview_size to each created dialog.
* app/gui/menus.c: added menu items for setting the preview_size
and switching between list and grid view. Removed the item
overkill in the "Add Tab" submenu.
* app/gui/dialogs-commands.[ch]: added callbacks for the new items.
* app/widgets/gimpdockbook.c: set the item's state before showing
the menu.
* app/errors.c
* app/gui/dialogs-constructors.[ch]
* app/gui/dialogs.c
* app/gui/edit-commands.c
* app/gui/gui.c
* app/gui/indicator-area.c
* app/gui/toolbox.c: changed accordingly.
* app/tools/selection_options.[ch]: cleaned up the selection
options and added some tooltips. Much more to do...
2001-11-20 Michael Natterer <mitch@gimp.org>
* app/core/gimp.c: put a g_object_ref() on a different line.
* app/core/gimpdrawable-bucket-fill.c
* app/core/gimpmodules.c: ne need to #include "core/..." here.
* app/display/gimpdisplay-handlers.c: added debugging output
because we have an image refcounting problem :(
* app/display/gimpdisplayshell-handlers.c: fixed a signal
disconnection.
* app/tools/gimpbezierselecttool.[ch]
* app/tools/gimpblendtool.c
* app/tools/gimpbucketfilltool.c
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpclonetool.c
* app/tools/gimpcolorpickertool.c
* app/tools/gimpcroptool.c
* app/tools/gimpellipseselecttool.c
* app/tools/gimpfreeselecttool.c
* app/tools/gimpfuzzyselecttool.c
* app/tools/gimpinktool.c
* app/tools/gimpiscissorstool.c
* app/tools/gimpmagnifytool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimprectselecttool.c
* app/tools/gimpsmudgetool.c: get the tool's options via
tool->tool_info->tool_options, not from the local statis pointer.
Some minor cleanups & function reordering.
* app/widgets/gimpdockbook.c: return TRUE from the notebook tabs'
"button_press" handler, connect DND before cnnecting to
"button_press" because we now stop it's emission.
2001-10-17 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpchannellistview.c: added a handler for GimpImage's
"alpha_changed" signal (does nothing yet).
* app/widgets/[lots of files]: somehow my last perl torturing
removed my email address from the copyright notice. Another perl
hack brought it back now :)
2001-10-16 Michael Natterer <mitch@gimp.org>
* app/gimpprogress.[ch]
* app/undo.c: s/GDisplay/GimpDisplay/
* app/plug_in.[ch]: removed unused boolean "destroy" field of
the PlugIn struct.
* app/core/gimpedit.c: don't include "app_procs.h"
* app/display/gimpdisplay-callbacks.c: moved the "grab_abd_scroll"
stuff from gimpdisplay-scroll.* here (less complicated and easier
to cleanup...)
* app/display/gimpdisplay-scroll.[ch]: removed here.
* app/display/gimpdisplay-render.[ch]
* app/display/gimpdisplay-selection.[ch]
* app/display/gimpdisplayshell.c: s/GDisplay/GimpDisplay/g
* app/display/gimpdisplay.[ch]: ditto, removed gdisplay_active()
which was just a wrapper around
"gimp_context_get_display (gimp_get_user_context (the_gimp))"
(which is more to type but makes the use of the global
"the_gimp" variable more obvious).
* app/gui/color-area.h
* app/gui/edit-commands.c
* app/gui/file-commands.c
* app/gui/file-dialog-utils.c
* app/gui/image-commands.c
* app/gui/info-window.h
* app/gui/paths-dialog.h
* app/gui/select-commands.c
* app/gui/tool-options-dialog.c
* app/gui/tools-commands.c
* app/gui/view-commands.c: s/GDisplay/GimpDisplay/, gdisplay_active()
removal, include "app_procs.h" for "the_gimp".
* app/tools/gimpbezierselecttool.h
* app/tools/gimpbrightnesscontrasttool.[ch]
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpcolorbalancetool.[ch]
* app/tools/gimpcurvestool.[ch]
* app/tools/gimpeditselectiontool.h
* app/tools/gimphistogramtool.[ch]
* app/tools/gimphuesaturationtool.[ch]
* app/tools/gimplevelstool.[ch]
* app/tools/gimpmovetool.h
* app/tools/gimpperspectivetool.h
* app/tools/gimpposterizetool.[ch]
* app/tools/gimprotatetool.h
* app/tools/gimpscaletool.h
* app/tools/gimpsheartool.h
* app/tools/gimptexttool.h
* app/tools/gimpthresholdtool.[ch]
* app/tools/gimptool.[ch]
* app/tools/gimptransformtool.h
* app/tools/tool_manager.[ch]: lots of s/GDisplay/GimpDisplay/, made
all *_dialog_hide() functions private, cleanup.
* app/widgets/*: removed GtkType and gtk_type_* stuff entirely and
use GObject functions, removed lots of empty "destroy" methods and
use more type checking class cast macros instead of casting
directly.
* app/widgets/gimpcontainermenu.c: fixed item insert order.
* app/widgets/gimphistogramview.[ch]: cleaned up and renamed all
functions.
* app/widgets/gimpwidgets-utils.[ch]: removed gimp_dialog_hide() as
Gtk+ does the right thing (TM) now.
* tools/pdbgen/pdb/color.pdb: implemented "histogram" without
digging into tools/ and widgets/ (needs to be done for all
color PDB functions).
* tools/pdbgen/pdb/gimprc.pdb: no need to use "the_gimp" in a PDB
function as a "Gimp" pointer is passed to them all.
* tools/pdbgen/pdb/image.pdb: don't include "app_procs.h"
* app/pdb/color_cmds.c
* app/pdb/gimprc_cmds.c
* app/pdb/image_cmds.c: regenerated.
* app/pdb/procedural_db.c: don't include "app_procs.h"