1999-11-20 Michael Natterer <mitch@gimp.org>
Reorganized the core menu items (everything except
<Image>/Filters). Everything is of course trivial to change again,
so please comment on the new "menu feeling" ;-)
* app/menus.[ch]:
- Applied the suggestions collected by Olof.
- Added "..." to all items which open a dialog.
- Introduced some additional separators (e.g. in "Dialogs").
- Reorder some plugins and the color correct tools after
initialisation.
- A menu entry to invoke the tooltips inspector.
- A debugging menu entry which dumps the menu paths and their help
pages (will of course go away when the help sys is consistent).
There are currently two identical "Help" menus because
<Toolbox>/Help trashes the menu bar if the toolbox is too narrow
(gtk doesn't seem to support multi-line menubars, any idea?)
* app/app_procs.c: call menus_reorder_plugins() after loading the
plugins to beautify the "Xtns" menu.
* app/commands.[ch]: reordered some functions to match the new
menu structure (for easier source navigation) and renamed some to
be consistent (e.g. all help functions are now called help_*).
Show/Hide the rulers with ordinary gtk_widget_[show|hide]()
commands. I've tested it several times and it looks exactly the
same as the old code which used internal gtk knowledge.
* app/gdisplay.c: applied the menu changes to
gdisplay_set_menu_sensitivity().
* app/gimphelp.[ch]: new public function gimp_context_help() which
invokes the tooltips inspector. Code cleanup.
* app/resize.c: changed the dialogs' titles to match the menu entries.
* app/session.c: renamed the gradient selection cmd callback to be
consistent with brushes/patterns.
* app/tools.c: added "..." to the menu paths of the tools which
have dialogs.
* app/fileops.c
* app/channels_dialog.c
* app/layers_dialog.c
* app/paths_dialog.c: added some "...".
* plug-ins/common/align_layers.c
* plug-ins/common/autostretch_hsv.c
* plug-ins/common/c_astretch.c
* plug-ins/common/color_enhance.c
* plug-ins/common/compose.c
* plug-ins/common/decompose.c
* plug-ins/common/mail.c
* plug-ins/common/normalize.c
* plug-ins/common/threshold_alpha.c
* plug-ins/dbbrowser/dbbrowser.c
* plug-ins/fp/fp.c
* plug-ins/print/print.c
* plug-ins/rcm/rcm.c: changed the menu paths and added "...".
1999-11-03 Michael Natterer <mitch@gimp.org>
* app/brush_select.[ch]
* app/gradient.c
* app/gradient_select.[ch]
* app/interface.[ch]
* app/palette.c
* app/pattern_select.[ch]: allow dragging a brush/pattern/... from
the selections with mouse2 without changing the active element in
the dialog.
* app/channels_dialog.c
* app/color_area.c
* app/color_panel.c
* app/color_select.c
* app/colormap_dialog.i.c
* app/devices.c
* app/gimpcontextpreview.[ch]
* app/gimphelp.[ch]
* app/gimpui.[ch]
* app/indicator_area.c
* app/interface.[ch]
* app/layers_dialog.c
* app/lc_dialog.c
* app/ops_buttons.[ch]
* app/paths_dialog.c
* app/preferences_dialog.c
* app/tools.[ch]: wrapped gtk_tooltips_set_tip() with
gimp_help_set_help_data() and moved it to gimphelp.[ch].
This should (hopefully) be the final state of the help system. The
New function allows a "private tip" to be set without a visible
tooltip. This way the tooltips inspector (shift+F1) can search for
help data in the parent containers of the clicked widget. E.g. the
ops buttons in the layers dialog have private tips like
"#new_layer" which gets composed with the help data of the layers
dialog notebook page resulting in a complete help path.
Allow mouse2 for all dnd operations. Mouse1 still works like before.
1999-10-29 Michael Natterer <mitch@gimp.org>
* app/brush_select.c
* app/gradient_select.c
* app/pattern_select.c: call the PDB callback from the context
callback because it gets called on every change.
* app/interface.c: the tool buttons had the wrong private tooltips
attached.
* app/gimphelp.c: call the help browser with plug_in_run() instead
of procedural_db_execute() to make it really ansynchronous.
Added a GtkTipsQuery tooltips inspector which gets invoked by
<Shift>+F1. Did some illegal juggling with the tips_query's
"parent" pointer which may cause problems, so I made the stuff
disable-able with #ifdef's.
Is there a proper way to create a tips_query widget without having
to show it somewhere??
1999-10-03 Michael Natterer <mitch@gimp.org>
The GIMP Help System part II: press "F1" while browsing a menu
to show the help page for the menu entry you're currently over
with the mouse.
* app/color_notebook.c: all color selectors have to register with
a help page now.
* app/color_select.[ch]: register with a help string. Removed
the dialog part of the files because it's use was deprecated
anyway (use color notebooks instead).
* app/colormap_dialog.i.c
* app/colormap_dialog.p.h
* app/palette.c
* app/palette_select.c: use a color notebook instead of a color
selector.
* app/gimphelp.c
* app/gimpui.c: minor changes.
* app/gimprc.c: "use help" defaults to TRUE now.
* app/lc_dialog.c
* app/lc_dialogP.h: a special help function which shows the help
for the currently selected notebook page.
* app/menus.c: some weird code which catches "key_press_event"
in all menu shells and pops up the corresp. help page for the
selected item. Embedded the GtkItemFactoryEntry in a new
GimpItemFactoryEntry to allow a help path to be stored.
Will be partially exported and moved to gimphelp.[ch] later to
catch key_press for plug-in menu items (don't try this now ;-)
* app/app_procs.c
* app/brush_edit.c
* app/brush_select.c
* app/channel_ops.c
* app/channels_dialog.c
* app/commands.c
* app/convert.c
* app/devices.c
* app/file_new_dialog.c
* app/fileops.c
* app/gdisplay.c
* app/gdisplay_color.c
* app/gdisplay_color_ui.c
* app/gdisplay_ops.c
* app/global_edit.c
* app/gradient.c
* app/gradient_select.c
* app/interface.c
* app/layers_dialog.c
* app/module_db.c
* app/paths_dialog.c
* app/pattern_select.c
* app/preferences_dialog.c
* app/qmask.c
* app/resize.c
* app/undo_history.c: changed all dialog constructors to point
to the right place in the new help file structure.
* configure.in
* help/*: the basic new help file structure.
* modules/colorsel_gtk.c
* modules/colorsel_triangle.c
* modules/colorsel_water.c: register a help page.
* plug-ins/helpbrowser/helpbrowser.c: load the help files
according to the new help file structure.
1999-09-27 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/gimphelp.[ch]
* app/gimpui.[ch]: new files
* app/interface.[ch]
* app/preferences_dialog.[ch]
The GIMP Help System part 1: Press "F1" in any dialog to pop up
the help page for this dialog.
Moved the widget constructors from preferences_dialog.[ch] and the
query boxes from interface.[ch] to gimpui.[ch].
The dialog constructors take a help_func and a help_data
parameter and install the "F1" accelerator which emits the new
"help" signal.
The "help" signal callback calls help_func(help_data) which finally
has to call gimp_help() which in turn invokes the help browser.
Still have to find a proper way to (1) prevent "F1" being assigned
to some menu item and (2) to catch "F1" while browsing the menu
trees in order to pop up the help for the selected item.
* app/menus.c: a <Toolbox>/File/Help... menu item.
* app/commands.[ch]: a command callback for the "Help..." menu item.
* app/gimprc.[ch]: new boolean gimprc variable "use_help".
* app/info_dialog.[ch]: pass a help function and data to the info
dialog constructor.
* app/tools.[ch]: store the tools help page names in the tool info
structure. Export a special tools_help_func() which shows the help
page for the active tool.
* app/[all files calling a dialog constructor]: pass the dialog's
help page to the constructor.
Most dialogs are now created by gimp_dialog_new() which also sets
up the action_area and the WM delete event callback, so I removed
the resp. code from these files.
Fixed some minor bugs and did some other stuff but didn't change
any logic except dialog creation.
* plug-ins/helpbrowser/helpbrowser.c: don't try to call a running
help browser and don't install any menu path (all done in
app/gimphelp.[ch] now).