2006-10-09 Michael Natterer <mitch@gimp.org>
Added message severities and make sure all messages are routed
through a central function, so redirecting to the error console or
stderr work again:
* app/core/core-enums.[ch]: added enum GimpMessageSeverity { INFO,
WARNING, ERROR }.
* app/core/gimp.[ch] (gimp_message)
(gimp_message_valist): added severity parameter. Changed
"GimpProgress *progress" parameter to "GObject *handler", where
"handler" can be either a GimpProgress, a GtkWidget or NULL.
* app/core/gimp-gui.[ch] (gimp_show_message): ditto. Honor
--console-messages again. Always dispatch to the GUI message
handler first if it exists.
* app/gui/gui-message.[ch]: pass severity parameters around.
(gui_message_error_dialog): if "handler" is a progress, dispatch
the message to it first. If it is a widget (and *not* a progress),
use a GtkMessageDialog on top of that widget's toplevel. Fall
back to the usual GimpErrorDialog otherwise.
* app/core/gimpprogress.[ch] (gimp_progress_message): added
severity parameter. Also added boolean return value to the virtual
function so it can decide to fail if it can't handle the message.
* app/display/gimpdisplay.c: implement GimpProgress::message() and
redirect the message to GimpDisplayShell.
* app/display/gimpdisplayshell-progress.c: implement
GimpProgress::message() and redirect the message to GimpStatusbar
if it is not an error and if the status bar is visible.
* app/display/gimpstatusbar.[ch]: implement GimpProgress::message(),
but fail on messages that contain a newline. Show the right icons
for the message severities (work in progress).
* app/display/gimpdisplayshell.[ch]: removed
gimp_display_shell_message() and its _valist() variant.
* app/widgets/gimperrorconsole.[ch]: show the right icons for the
message severities.
* app/widgets/gimpthumbbox.c (gimp_thumb_box_progress_message):
return TRUE to swallow all messages.
* app/widgets/gimpwidgets-utils.[ch]: removed
gimp_show_message_dialog(). Added gimp_get_message_stock_id().
* app/errors.c
* app/actions/edit-commands.c
* app/actions/error-console-commands.c
* app/actions/file-commands.c
* app/actions/select-commands.c
* app/actions/text-editor-commands.c
* app/actions/vectors-commands.c
* app/core/gimpimage-convert.c
* app/core/gimpimagefile.c
* app/dialogs/convert-dialog.c
* app/dialogs/file-open-dialog.c
* app/dialogs/file-open-location-dialog.c
* app/dialogs/file-save-dialog.c
* app/dialogs/palette-import-dialog.c
* app/dialogs/stroke-dialog.c
* app/display/gimpdisplayshell-dnd.c
* app/pdb/gimppdb.c
* app/plug-in/gimpplugin.c
* app/tools/gimpimagemaptool.c
* app/tools/gimptool.c
* app/tools/gimpvectortool.c
* app/widgets/gimpactionview.c
* app/widgets/gimpcontrollerlist.c
* app/widgets/gimppdbdialog.c
* app/widgets/gimpvectorstreeview.c
* app/xcf/xcf-load.c
* app/xcf/xcf-save.c
* app/xcf/xcf.c
* tools/pdbgen/pdb/brush.pdb
* tools/pdbgen/pdb/gradient.pdb
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/message.pdb
* tools/pdbgen/pdb/palette.pdb: added severity parameter to
gimp_message() calls. Convert all calls to
gimp_show_message_dialog() and gimp_display_shell_message() to
gimp_message(). Also converted some more g_message() calls.
* app/pdb/brush_cmds.c
* app/pdb/gradient_cmds.c
* app/pdb/image_cmds.c
* app/pdb/message_cmds.c
* app/pdb/palette_cmds.c: regenerated.
2006-08-11 Sven Neumann <sven@gimp.org>
* app/widgets/gimpwidgets-utils.[ch]: introduced a simple message
dialog to use when there's no progress but a parent widget.
* app/dialogs/convert-dialog.c
* app/dialogs/palette-import-dialog.c
* app/dialogs/preferences-dialog.c
* app/dialogs/stroke-dialog.c
* app/tools/gimpimagemaptool.c
* app/widgets/gimpactionview.c
* app/widgets/gimpcontrollerlist.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimppdbdialog.c
* app/widgets/gimpvectorstreeview.c: use the new utility function
instead of g_message().
2005-09-17 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpactionview.c (gimp_action_view_new): skip
actions if their name starts with '<' (menu actions created by
plug-ins have names like "<Image>/Foo/Bar"). Scroll the
pre-selected action to the center of the view, not to the top.
* app/widgets/gimpcontrollereditor.c
(gimp_controller_editor_edit_clicked): make the action editor
transient to the controller editor. Show the edited event's name
in the controller editor's header.
* app/widgets/gimpcontrollerwheel.c: use gimp_get_mod_string()
instead of hardcoding the modifiers in tons of translatable
strings. Don't call gettext() in GimpController::get_blurb(),
the strings are already translated.
* app/widgets/gimpcontrollerkeyboard.c: removed call to gettext()
here too.
2005-01-21 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpwidgets-utils.[ch] (gimp_action_get_accel_closure):
new function as workaround for missing GTK+ API (see bug #141750).
* app/widgets/gimpactionview.[ch]: use the function instead of
having this ugly hack here. Store the accel_closure instead of the
hackish menu_item in the tree store. Removed cruft and cleaned up
a bit.
2005-01-09 Sven Neumann <sven@gimp.org>
* app/widgets/gimpactionview.c (gimp_action_view_new): connect to
"button_press_event" and start editing immidiately instead of
waiting for a second click. Fixes bug #163385.
2004-10-26 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpactionview.[ch] (gimp_action_view_new): added
parameter "const gchar *select_action" and preselect the passed
action if non-NULL. Made the column enum public to users of this
widget can get data from its tree store.
* app/dialogs/preferences-dialog.c (prefs_keyboard_shortcuts_dialog):
pass NULL because we don't want a preselected action here.
* app/widgets/gimpcontrollereditor.[ch]: added "Edit" and "Delete"
buttons to change the event -> action mapping. Implement a action
chooser dialog using GimpActionView. Fixes bug #106920.
2004-10-13 Sven Neumann <sven@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpmessagedialog.[ch]: added a simple message
dialog to avoid code duplication.
* app/widgets/gimpmessagebox.c: set the border width to 12 pixels.
* app/dialogs/file-save-dialog.c
* app/dialogs/quit-dialog.c
* app/display/gimpdisplayshell-close.c
* app/widgets/gimperrordialog.c
* app/widgets/gimphelp.c
* app/widgets/gimpactionview.c: use the new GimpMessageDialog.
2004-08-12 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpmenufactory.c (gimp_menu_factory_manager_new):
make sure that all actions, even if they have no menu proxy, can
be invoked by their accelerators. Fixes bug #149938.
* app/widgets/gimpimagedock.c (gimp_image_dock_constructor):
removed the same code here.
* app/widgets/gimpactionview.[ch] (gimp_action_view_dispose): new
function which disconnects from "accel_changed" of the accel_group
before upchaining (== before emitting "destroy").
The above changes make this one redundant, but since the crash in
bug #149938 was triggered by "accel_changed" emitted in the middle
of g_object_unref(tree_model), it feels better to be paranoic here
(fiddling with objects in destruction is no fun).
(gimp_action_view_accel_edited): don't warn if assigning the same
accel to the same action again.
(gimp_action_view_new): don't leak all accel_closures.
2004-07-22 Sven Neumann <sven@gimp.org>
* app/widgets/gimpactionview.c: rephrased the text for the dialog
that appears if a new shortcut collides with an existing one.
* libgimpcolor/gimprgb.[ch]: added new function gimp_rgb_parse_name()
which accepts RGB colors in hexadezimal notation or as SVG color
keywords.
2004-07-21 Michael Natterer <mitch@gimp.org>
* app/core/gimpmarshal.list
* app/widgets/gimpcellrendereraccel.[ch]: added "gboolean delete"
parameter to the GimpCellRendererAccel::accel_edited() signal.
* app/widgets/gimpactionview.c: distinguish between deletion of an
accelerator and the user entering an invalid accelerator.
2004-07-21 Michael Natterer <mitch@gimp.org>
* app/gui/preferences-dialog.c: remember the keyboard shortcut
dialog and show it only once.
* app/widgets/gimpactionview.c
* app/widgets/gimpcellrendereraccel.c: minor cleanups.
Seems to work pretty well now and thus fixes bug #142922.
2004-07-21 Michael Natterer <mitch@gimp.org>
* app/core/gimpmarshal.list
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpcellrendereraccel.[ch]: new cell renderer
which displays an accelerator and allows to edit it (ripped
out of libegg and modified).
* app/widgets/gimpactionview.c: use the new renderer and connect
to its "accel-edited" signal (its callback is one huge mess that
needs to be cleaned up). Added ugly hack to work around GTK+ API
limitation that seems to prevent implementing a shortcut editor in
a sane way.
* app/actions/file-actions.c
* app/actions/image-actions.c
* app/actions/tools-actions.c: added ugly hacks here, too.
* app/gui/preferences-dialog.c: relaced Cancel/Ok in the shortcut
editor by Close.
2004-07-20 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpactionfactory.[ch]
* app/widgets/gimpactiongroup.[ch]: added "label" and "stock-id"
properties to GtkActionGroup and allow to register them in the
GimpActionFactory.
* app/actions/actions.c: register user visible labels and icons
with all action groups.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpactionview.[ch]: new widget which shows a
treeview of action groups and their actions & shortcuts.
* app/widgets/gimpaction.[ch]: added gimp_action_name_compare()
utility function.
* app/widgets/gimpwidgets-utils.[ch]: added
gimp_get_accel_string() utility function.
* app/widgets/gimpcontrollers.[ch]: added
gimp_controllers_get_ui_manager() which will be used for setting
up the controller mapping dialog.
* app/gui/preferences-dialog.c: added a "Configure Keyboard
Shortcuts" button which pops up a GimpControllerView. Work in
progress...