2003-09-24 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpwidgets-utils.c (gimp_menu_position)
* app/widgets/gimpcontainerpopup.c (gimp_container_popup_show):
more menus which pop up correctly with RTL languages.
2003-09-23 Sven Neumann <sven@gimp.org>
* app/gui/resize-dialog.c
* app/widgets/gimptemplateeditor.c
* plug-ins/common/svg.c: use horizontal boxes instead of alignments.
Fixes dialog layout for RTL rendering.
* plug-ins/common/png.c (save_dialog): only set the comment toggle
active if there's a comment to save.
2003-09-23 Sven Neumann <sven@gimp.org>
* app/widgets/gimpwidgets-utils.[ch]: added a utility function
that positions a menu that pops up from a button widget.
* app/display/gimpdisplayshell-callbacks.c
* app/widgets/gimpdockable.c: use the new utility function instead
of duplicating the code.
2003-09-23 Sven Neumann <sven@gimp.org>
* app/widgets/gimplayertreeview.c (gimp_layer_tree_view_init):
pack the widgets without using an alignment. Looks better and
works in RTL mode as well.
2003-09-23 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdockable.[ch]: added the title pango layout to
the GimpDockable struct. Made gimp_dockable_menu_position() handle
RTL layout correctly.
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_origin_menu_position): handle RTL layout.
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-09-23 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdialogfactory.c
(gimp_dialog_factories_restore_foreach): pass the menu_factory of
the newly created dock to gimp_dockbook_new(), not the one of the
dialog_factory we are restoring (doesn't matter since we have only
one global_menu_factory, but this code should still not do wrong
things)
2003-09-23 Sven Neumann <sven@gimp.org>
* themes/Default/images/Makefile.am
* themes/Default/images/stock-menu-12.png: removed...
* themes/Default/images/stock-menu-left-12.png
* themes/Default/images/stock-menu-right-12.png: and added again
together with a flipped version.
* libgimpwidgets/gimpstock.[ch]: register GIMP_STOCK_MENU_LEFT and
GIMP_STOCK_MENU_RIGHT instead of GIMP_STOCK_MENU and swap the
images for RTL layout.
* app/widgets/gimpdockable.c: use GIMP_STOCK_MENU_LEFT here.
* app/display/gimpdisplayshell.c: replaced the arrow in the
display origin with the GIMP_STOCK_MENU_RIGHT icon.
2003-09-22 Henrik Brix Andersen <brix@gimp.org>
Replaced the netscape-dependent web browser plug-in with a user
configureable plug-in. This fixes bug #119120:
* app/config/gimpguiconfig.[ch]: added gchar *web_browser member
* app/config/gimprc-blurbs.h: added web browser blurb
* etc/gimprc
* docs/gimprc-1.3.5.in: regenerated using gimpconfig-dump
* app/gui/preferences-dialog.c (prefs_dialog_new): added UI for
specifying external web browser
* configure.in
* plug-ins/Makefile.am
* plug-ins/webbrowser/Makefile.am
* plug-ins/webbrowser/README
* plug-ins/webbrowser/web-browser.scm
* plug-ins/webbrowser/webbrowser.c : removed the old netscape-dependent
web browser plug-in
* po-plug-ins/POTFILES.in
* plug-ins/common/plugin-defs.pl
* plug-ins/common/webbrowser.c: added a new web browser plug-in
* plug-ins/common/.cvsignore
* plug-ins/common/Makefile.am: regenerated
* app/widgets/gimphelp.c
* app/widgets/widget-enums.[ch]
* plug-ins/helpbrowser/dialog.c
* plug-ins/maze/maze_face.c: changed accordingly + whitespace
clean-up
* po-script-fu/POTFILES.in
* plug-ins/script-fu/scripts/Makefile.am
* plug-ins/script-fu/scripts/web-browser.scm: use the new web
browser plug-in to add menu entries to <Toolbox>/Help/
2003-09-21 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdockable.[ch]: added a title bar showing the
dockable's name, a "close" and a "menu" button. Not quite
finished, but almost...
* app/gui/dialogs-constructors.c: changed accordingly.
* themes/Default/images/Makefile.am
* themes/Default/images/stock-close-12.png
* themes/Default/images/stock-menu-12.png: new icons for the above.
* libgimpwidgets/gimpstock.[ch]: register them.
* themes/Default/gtkrc: remove any focus spacing from the
dockables' new buttons since they can't get the focus anyway.
2003-09-21 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainergridview.c
(gimp_container_grid_view_init): removed the useless padding from
the label which shows the name of the selected item, so it's
properly aligned with the widget's left border now.
2003-09-19 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcolormapeditor.c: changed the hex entry to look
and feel like the hex entry in the GimpColorScales widget. Fixes
bug #122692.
2003-09-19 Michael Natterer <mitch@gimp.org>
Fix for bug #122695:
* app/widgets/gimpcolormapeditor.c
(gimp_colormap_hex_entry_activate): call gimp_image_flush() after
gimp_image_set_colormap_entry() so the projection gets updated.
Cleanup / consistency with other dialogs:
* app/widgets/gimphelp-ids.h: added help IDs for the colormap
editor's menu items and buttons.
* app/gui/colormap-editor-menu.c (colormap_editor_menu_entries):
use the new help IDs.
* app/widgets/gimpcolormapeditor.[ch]: added buttons for "Edit Color"
and "Add Color" and moved the color_notebook code to this file.
* app/gui/colormap-editor-commands.[ch]: removed almost all code
and simply emit "clicked" from the editor's buttons so their
callbacks are invoked.
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-09-17 Michael Natterer <mitch@gimp.org>
* cursors/hand.xbm
* cursors/hand_mask.xbm: removed.
* cursors/hand_small.xbm
* cursors/hand_small_mask.xbm: ...and added under new names.
* cursors/Makefile.am
* cursors/gimp-tool-cursors.xcf: changed accordingly.
* app/widgets/widgets-enums.h
* app/widgets/gimpcursor.c: removed HAND from the GimpCursorModifier
enum and added it to the GimpToolCursorType enum. We don't have a
hand tool but this way the hand cursor (which is in the lower
right corner) can be used together with other cursor modifiers
(which are in the upper right corner).
* app/tools/gimpmovetool.c
* app/tools/gimpvectortool.c: show cursor modifers with the hand
cursor where appropriate.
2003-09-15 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpitemtreeview.c (gimp_item_tree_view_constructor):
order the "visible" and "linked" columns by inserting them with
the right index, not by reordering code.
(gimp_item_tree_view_set_container): set the handler_ids to 0
after disconnecting them.
2003-09-13 Sven Neumann <sven@gimp.org>
* app/widgets/gimpitemtreeview.c: moved the visibility toggle
before the linked toggle again.
* app/core/gimpdrawable.c (gimp_drawable_configure)
* app/core/gimpitem.c (gimp_item_init): quick fix for bug #122153:
don't make the item visible in gimp_drawable_configure() since that
breaks duplicate(); instead create all items as visible.
2003-09-11 Sven Neumann <sven@gimp.org>
* themes/Default/images/Makefile.am
* themes/Default/images/stock-transparency-[16|24].png: new icon.
* libgimpwidgets/gimpstock.[ch]: register as GIMP_STOCK_TRANSPARENCY.
* app/gui/image-menu.c
* app/gui/layers-menu.c: use the new icon for "Add Alpha Channel".
* app/widgets/gimplayertreeview.c: replaced the "Keep Trans."
button with a check button plus the new icon (bug #121784).
2003-09-09 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell.c
* app/display/gimpnavigationview.c
* app/gui/resolution-calibrate-dialog.c
* app/widgets/gimpcontainerpopup.c
* app/widgets/gimpdialogfactory.c
* app/widgets/gimpeditor.c
* app/widgets/gimppreview-popup.c
* app/widgets/gimpwidgets-utils.c: get the size from the current
screen, not always from the default one.
* plug-ins/common/wmf.c: ask GIMP for the monitor resolution instead
of taking the value from GDK.
2003-09-06 Michael Natterer <mitch@gimp.org>
* app/widgets/gimppreviewrenderertextlayer.[ch]: removed.
* app/widgets/gimppreviewrendererlayer.[ch]: new renderer which
renders all kinds of layers and uses GIMP_STOCK_FLOATING_SELECTION
for floating selections.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimppreviewrenderer-utils.c: changed accordingly.
2003-09-06 Michael Natterer <mitch@gimp.org>
* app/widgets/gimplayertreeview.[ch]: display the floating
selection's name in italic letters. Added the bold and italic
PangoAttrLists to the GimpLayerTreeView struct so we can unref
them properly.
* app/widgets/gimpdrawabletreeview.c: some cleanup while stealing
code.
2003-09-04 Michael Natterer <mitch@gimp.org>
* app/core/gimpchannel.[ch]: removed gimp_channel_load().
* app/core/gimpimage-mask.[ch]: removed gimp_image_mask_load()
and _save().
* app/core/gimpselection.[ch]: added gimp_selection_load() and
_save() since these functions are specific to the selection.
* app/core/gimpimage-qmask.c
* app/gui/select-commands.c
* app/widgets/gimpselectioneditor.c
* tools/pdbgen/pdb/selection.pdb: changed accordingly.
* app/pdb/selection_cmds.c: regenerated.
2003-09-03 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-mask.[ch]: removed the feather(), sharpen(),
all(), invert(), border(), grow() and shrink() wrappers.
* app/core/gimpselection.[ch]: changed gimp_selection_invalidate()
and gimp_selection_push_undo() to take GimpChannel parameters, not
GimpSelection ones. They will be made virtual GimpChannel
functions anyway.
* app/core/gimpedit.c
* app/gui/select-commands.c
* app/widgets/gimpselectioneditor.c
* tools/pdbgen/pdb/selection.pdb: changed accordingly.
* app/pdb/selection_cmds.c: regenerated.
2003-09-02 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdockable.c (gimp_dockable_init): default to
GIMP_TAB_STYLE_PREVIEW.
(gimp_dockable_new): fall back to _ICON if
dockable->get_preview_func is NULL.
* app/widgets/gimpdialogfactory.c
(gimp_dialog_factories_restore_foreach): ditto.
2003-09-01 Michael Natterer <mitch@gimp.org>
* app/core/gimpitem.[ch]: added new virtual function
GimpItem::stroke().
* app/core/gimpchannel.c
* app/vectors/gimpvectors.c: implement GimpItem::stroke().
* app/core/gimpimage-mask.[ch] (gimp_image_mask_stroke): changed
signature to match gimp_item_stroke() (the selection mask *really*
should be a GimpChannel subclass).
Removed global variable "gboolean gimp_image_mask_stroking"...
* app/core/gimpimage.[ch]: ...and added "gboolean mask_stroking"
to the GimpImage struct.
* app/gui/vectors-commands.[ch]: removed vectors_stroke_vectors().
* app/widgets/widgets-types.h: removed GimpStrokeItemFunc typedef.
* app/widgets/gimpvectorstreeview.[ch]: removed "stroke_item_func"
member and use gimp_item_stroke() instead.
* app/gui/dialogs-constructors.c (dialogs_vectors_list_view_new)
* app/gui/edit-commands.c (edit_stroke_cmd_callback)
* app/gui/vectors-commands. (vectors_stroke_cmd_callback)
* app/widgets/gimpselectioneditor.c
(gimp_selection_editor_stroke_clicked)
* tools/pdbgen/pdb/edit.pdb (gimp_edit_stroke): changed accordingly.
* app/pdb/edit_cmds.c: regenerated.
Note that there is no GUI for "stroke channel", although it would
be utterly cool to have one, since currently slelection stroking
cannot be masked by a selection (because we stroke the selection).
Anyway, if anyone has an idea how to trigger "stroke channel" with
another drawable active (the one to stroke to), please let me
know...
2003-08-31 Manish Singh <yosh@gimp.org>
* app/widgets/gimpitemfactory.c (gimp_item_factory_translate_func):
make a copy of dgettext() results from full_path in all cases, since
it might return our original string. Fixes#121083.
2003-08-28 Michael Natterer <mitch@gimp.org>
Completed the new help infrastructure. Needs some polishing but
basically works as proposed:
* tools/pdbgen/pdb/plug_in.pdb: changed gimp_plugin_help_register()
to take a "domain_name" (which is the XML namespace) and a
"domain_uri" (which is the root of the plug-in's help pages).
* tools/pdbgen/pdb/help.pdb: changed gimp_help() to take help_id
instead of a non-UTF-8 help_path.
* app/plug-in/plug-in-def.[ch]
* app/plug-in/plug-in-proc.[ch]
* app/plug-in/plug-in-rc.c
* app/plug-in/plug-ins.[ch]: remember the plug-ins' help_domain
and help_uri instead of just help_path. Changed all plug-in APIs
to reflect this change.
* app/widgets/gimphelp.[ch]: on helpbrowser startup, pass it the
whole list of help domains. The actual help request is now made
using the browser's temporary procedure.
* app/core/gimp.h
* app/gui/file-open-menu.c
* app/gui/file-save-menu.c
* app/gui/plug-in-menus.[ch]
* app/widgets/gimpitemfactory.c: changed accordingly.
* app/pdb/help_cmds.c
* app/pdb/plug_in_cmds.c
* libgimp/gimphelp_pdb.[ch]
* libgimp/gimpplugin_pdb.[ch]: regenerated.
Changed the help broser to load the pages according to the
new system:
- moved the browser window stuff to dialog.[ch]
- moved help domain handling to domain.[ch]
- added gimp-help.xml parsing to domain.c
- tons of cleanup
* plug-ins/helpbrowser/Makefile.am
* plug-ins/helpbrowser/dialog.[ch]
* plug-ins/helpbrowser/domain.[ch]: new files.
* plug-ins/helpbrowser/helpbrowser.c: chopped.
2003-08-27 Michael Natterer <mitch@gimp.org>
* app/widgets/gimplayertreeview.c
(gimp_layer_tree_view_alpha_changed): update the button states if
the layer which changed alpha was the active one.
Fixes bug #120864.
2003-08-27 Michael Natterer <mitch@gimp.org>
Enabled type-preserving DND of all kinds of items between
different images. Fixes bug #119983.
* app/core/gimpitem.[ch]: added new virtual function
GimpItem::convert() which duplicates an item for another image.
* app/core/gimplayer.[ch]: removed gimp_layer_new_from_drawable()
and made it a GimpItem::convert() implementation.
* app/vectors/gimpvectors.[ch]: removed gimp_vectors_convert() and
made it a GimpItem::convert() implementation.
* app/widgets/gimpitemtreeview.[ch]: removed GimpConvertItemFunc
typedef and function pointer in GimpItemTreeViewClass since
we can simply call gimp_item_convert() now.
* app/widgets/gimplayertreeview.c
* app/widgets/gimpvectorstreeview.c
* app/display/gimpdisplayshell-dnd.c
* tools/pdbgen/pdb/layer.pdb: changed accordingly.
* app/pdb/layer_cmds.c: regenerated.
2003-08-27 Michael Natterer <mitch@gimp.org>
* app/composite/gimp-composite-generic.c
(gimp_composite_generic_init): added missing g_rand_free().
* app/widgets/gimpitemfactory.[ch]: fixed all leaks in
gimp_item_factory_translate_func(). Added
item_factory->translation_trash for the pathological cases. Free
the trash after each call to gtk_item_factory_create_item().
2003-08-26 Michael Natterer <mitch@gimp.org>
* app/widgets/gimphelp-ids.h: added some toolbox and dock related
help IDs.
* app/gui/dialogs-menu.c
* app/widgets/gimpimagedock.c
* app/widgets/gimptoolbox.c: use them.
2003-08-26 Michael Natterer <mitch@gimp.org>
Bye bye, "crappy/foo.html":
* app/widgets/gimphelp-ids.h: replaced "crappy/foo.html" by
"gimp-proper-identifier".
* app/plug-in/plug-in-proc.[ch] (plug_in_proc_def_get_help_id):
added "const gchar *help_path" parameter and return a help ID
ready for attaching to a menu item.
The help ID is no longer constructed from the plug-in's executable
name but from the *procedure* name with '_' replaced by '-'. This
means we can now have help for each script-fu script and for each
of a plug-in's individual procedures.
* app/gui/plug-in-menus.c: removed even more duplicated wrong code
since plug_in_proc_def_get_help_id() is implemented correctly now.
* app/gui/file-open-menu.c
* app/gui/file-save-menu.c: ditto. Reorder the "XCF" menu item
before the separator and added GIMP_STOCK_WILBER.
* app/gui/file-dialog-utils.c: added a mnemonic to the
"Determine File Type:" label.
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-26 Michael Natterer <mitch@gimp.org>
* app/gui/info-window.c
* app/widgets/gimpfontselection.c
* app/widgets/gimpfontselection-dialog.c: replaced the last
hardcoded html links by help IDs. Removed trailing whitespace.
2003-08-26 Michael Natterer <mitch@gimp.org>
* app/gui/grid-dialog.c: use GIMP_HELP_IMAGE_GRID.
* app/gui/image-menu.c: fixed some help ID copy & paste bugs.
* app/widgets/gimpdockable.c: forgot to actually set the help ID
with gimp_help_set_help_data().
2003-08-25 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpitemfactory.[ch]
* app/widgets/gimpmenufactory.[ch]: added a help_id to
GimpItemFactory. It's basically the code I removed some days ago,
but this time it's used as default help_id for the factory (e.g.
if F1 is pressed over a separator), and not to construct html
links.
* app/widgets/gimphelp-ids.h: added some missing help IDs.
* app/gui/menus.c: register a help IDs with each item factory.
* app/display/gimpdisplayshell.c
* app/gui/dialogs-menu.c: some more forgotten help IDs.
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-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.