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-12-08 Michael Natterer <mitch@gimp.org>
* app/widgets/gimppropwidgets.[ch]: added new prop_widget
gimp_prop_int_combo_box_new() which takes a pre-built GimpIntStore
and allows to create views on int properties with arbitrary sets
of values (not just enums).
* app/widgets/gimpcontrollereditor.c
(gimp_controller_editor_constructor): added support for generic
combo boxes controlled exclusively by controller properties: if an
int property "foo" is followed by an object property "foo-values"
and the contained object is a GimpIntStore, use that store as
model for selecting "foo"'s values using
gimp_prop_int_combo_box_new().
(Allows for more flexible controller configuration, the actual use
case in the midi controller is still work in progress).
2004-12-01 Michael Natterer <mitch@gimp.org>
* app/widgets/gimptoolview.c (gimp_tool_view_select_item): no need
to update the ui manager here, the parent class already does it.
2004-11-30 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpactiongroup.c
(gimp_action_group_set_action_color)
(gimp_action_group_set_action_color): allow to set color and
viewable to NULL, GimpAction handles this nicely. Fixes warnings
some foo_actions_update() functions were triggering.
2004-11-24 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpcontroller.[ch]: guarded the whole header
with GIMP_ENABLE_CONTROLLER_UNDER_CONSTRUCTION because it's no
fixed API yet. Added a "state" property bacause "name" was abused
as the controller's state. Added "help_domain" to the controller
class.
* libgimpwidgets/gimpwidgets.h: don't include gimpcontroller.h
* modules/controller_linux_input.c
* modules/controller_midi.c: set the "name" property to the name
retrieved from the device, or to a default string if no name is
available. Store the status in the "state" property. Added and
changed some strings, but it's better to have the controller
strings untranslated than to have no tooltips at all or misleading
labels.
* app/widgets/gimpcontrollerkeyboard.c
* app/widgets/gimpcontrollerwheel.c: set default strings for both.
* app/widgets/gimpcontrollereditor.c: added a GUI for the "state"
property.
* app/widgets/gimpcontrollerkeyboard.h
* app/widgets/gimpcontrollerwheel.h
* app/widgets/gimpcontrollerinfo.c
* app/widgets/gimpcontrollers.c: #define
GIMP_ENABLE_CONTROLLER_UNDER_CONSTRUCTION (just as in all files
above).
* app/widgets/gimphelp-ids.h: added the IDs of all controller
modules and also of all other modules. The defines are not
actually used, but this file is the canonical place to collect all
the core's help IDs.
2004-11-23 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpwidgets-utils.[ch]: added new function
gimp_toggle_button_set_visible() which can be used as "toggled"
callback on a GtkToggleButton and sets a widget (in)visible
according to the toggle's "active" state.
* app/tools/gimpblendoptions.c
* app/tools/gimppaintoptions-gui.c
* app/tools/gimpselectionoptions.c: use it to hide (rather than
just insensitize) the seldomly used "Feather edges", "Autoshrink
selection", "Adaptive supersampling", "Fade out" and "Use color
from gradient" widgets when their enabling toggle is unchecked.
Makes the affected tool options much less crowded and noisy in
their default appearance. Fixes bug #159008.
2004-11-22 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontrollerinfo.c (gimp_controller_info_init):
always create the event mapping table. Fixes tons of warnings and
non-functional controller mapping dialog when an empty controller
was deserialized from controllerrc. Spotted by drc.
2004-09-21 Hans Breuer <hans@breuer.org>
* app/dialogs/makefile.msc : [new file]
app/dialogs/Makefile.am : added to EXTRA_DIST
* **/makefile.msc app/gimpcore.def : updated
* app/gimp.rc : let wilber be first
* app/widgets/gimppropwidgets.c : msvc6 can't cast uint64 either
* libgimpbase/gimpwin32-io.h : make up recent loss of ftruncate in GLib
* libgimpthumbnail/gimpthumbnail.c : <process.h> for getpid() on win32
* plug-ins/helpbrowser/dialog.c : include gimpwin32-io.h
* plug-ins/script-fu/siodwrapper.c plug-ins/script-fu/scrip-fu.c : there
is no script-fu-server on win32
2004-11-18 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpenumaction.[ch]: added boolean property
"value-variable" which specifies if the GimpEnumAction::selected()
signal may be emitted with arbirtary values (value-variable = TRUE)
or *only* with enum_action->value (value-variable = FALSE).
* app/widgets/gimpactiongroup.[ch]: added "gboolean
value_variable" to GimpEnumActionEntry and set it in
gimp_action_group_add_enum_actions().
* app/actions/channels-actions.c
* app/actions/colormap-editor-actions.c
* app/actions/context-actions.c
* app/actions/drawable-actions.c
* app/actions/edit-actions.c
* app/actions/error-console-actions.c
* app/actions/gradient-editor-actions.c
* app/actions/image-actions.c
* app/actions/layers-actions.c
* app/actions/palette-editor-actions.c
* app/actions/plug-in-actions.c
* app/actions/vectors-actions.c
* app/actions/view-actions.c: set "variable" to FALSE for all enum
actions except those which are used with the GIMP_ACTION_SELECT_SET
voodoo.
* app/widgets/gimpcontrollers.c (gimp_controllers_event_mapped):
fall back to gtk_action_activate() if the action specified in a
GIMP_CONTROLLER_EVENT_VALUE mapping is not variable. Enables
triggering of enum actions from GIMP_CONTROLLER_EVENT_VALUE events
(like midi note-on and note-off).
2004-11-18 Michael Natterer <mitch@gimp.org>
* plug-ins/common/compressor.c (compressors): added back the
.xcf.gz and .xcf.bz2 extensions because they are the only way
to figure the special nature of this plug-in's extensions.
* app/widgets/gimpfileprocview.[ch]: keep a list of "meta
extensions" (extensions which have a '.' themselves).
* app/widgets/gimpfiledialog.c (gimp_file_dialog_proc_changed):
try to replace the whole extension if the last extension is one of
the meta extensions kept by GimpFileProcView. Fixes bug #158377.
2004-11-16 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpfgbgeditor.c: get rid of the
gimp_fg_bg_editor_context_changed() callback and
g_signal_connect_swapped() gtk_widget_queue_draw() directly.
2004-11-16 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpchanneltreeview.c: implement
GimpDockedInterface::set_context() and set the context of the
embedded GimpComponentEditor. Fixes NULL-context crashes in
action callbacks when invoked from the component editor.
Spotted by Jimmac.
Unrelated:
* app/widgets/gimpitemtreeview.c: get rid of the
gimp_item_tree_view_context_changed() callback and
g_signal_connect_swapped() gimp_item_tree_view_set_image()
directly.
2004-11-16 Sven Neumann <sven@gimp.org>
* app/actions/file-commands.c
* app/dialogs/file-save-dialog.c
* app/file/file-save.[ch]
* app/widgets/gimpfiledialog.[ch]: combined "set_uri_and_proc" and
"set_image_clean" parameters into a single "save_a_copy"
parameter. When saving a copy, attach the used URI to the image and
let the "Save a Copy" file chooser default to the last used value.
2004-11-15 Sven Neumann <sven@gimp.org>
* app/widgets/gimpfiledialog.c (gimp_file_dialog_add_filters):
limit the number of file extensions that are added to the file
filter menu to keep the file dialog from growing too wide.
2004-11-15 Sven Neumann <sven@gimp.org>
* app/widgets/gimpfiledialog.c (gimp_file_dialog_proc_changed):
return early if gimp_file_proc_view_get_proc() didn't return a file
procedure. Should fix bug #158369.
2004-11-15 Sven Neumann <sven@gimp.org>
* app/dialogs/print-size-dialog.c: started to redo this dialog
without using a GimpSizeBox. The widgets aren't connected, so it
isn't usable yet.
* app/widgets/gimpprogressbox.c
* app/widgets/gimpprogressdialog.c
* app/widgets/gimpsizebox.c: trivial cleanups.
* data/images/gimp-splash.png: splash for 2.2-pre2, done by Jimmac.
2004-11-13 Sven Neumann <sven@gimp.org>
* app/dialogs/Makefile.am
* app/dialogs/print-size-dialog.[ch]: new files for the Print Size
dialog that is still missing. Still work in progress...
* app/actions/image-actions.c
* app/actions/image-commands.[ch]
* app/widgets/gimphelp-ids.h
* menus/image-menu.xml.in: integrate the new dialog.
2004-11-06 Sven Neumann <sven@gimp.org>
* app/widgets/gimpbrusheditor.c: allow a smaller brush radius to
be set in the brush editor. Fixes bug #157508.
2004-11-06 Sven Neumann <sven@gimp.org>
* app/dialogs/resize-dialog.c (resize_dialog_reset): fixed most of
the Reset functionality (bug #157495). The offset box is still not
working correctly.
* app/widgets/gimpsizebox.c (gimp_size_box_update_resolution):
check for availability of the size entry before accessing it.
2004-11-04 Sven Neumann <sven@gimp.org>
* app/widgets/gimpsessioninfo.c: be more tolerant and silently
skip entries that the dialog factory doesn't recognize.
* app/widgets/gimpdialogfactory.c: minor cleanup.
2004-11-04 Michael Natterer <mitch@gimp.org>
Don't use deprecated GtkToolbar API in GimpTextEditor:
* app/actions/Makefile.am
* app/actions/actions.c
* app/actions/text-editor-actions.[ch]
* app/actions/text-editor-commands.[ch]: added acions and
callbacks for the new "text-editor" action group.
* app/menus/menus.c: register a "<TextEditor>" UI manager.
* menus/Makefile.am
* menus/text-editor-toolbar.xml: new file for the toolbar.
* app/widgets/gimptexteditor.[ch]: use the toolbar created by the
UI manager instead of constructing it using deprecated API.
* app/tools/gimptextoptions.c: changed accordingly.
* app/widgets/gimpwidgets-utils.[ch]: added gimp_text_buffer_load()
(used by text-editor-commands.c).
2004-11-04 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpcolorbutton.[ch]: use a GtkUIManager instead
of a GtkItemFactory. Added virtual function ::get_action_type()
and create the manager's actions manually using that action type
instead of using gtk_action_group_add_actions().
* app/widgets/gimpcolorpanel.c: override ::get_action_type() so it
creates GimpActions (which can have a color attached) instead of
GtkActions. Changed the menu item visibility and color preview
code accordingly.
* app/widgets/Makefile.am
* app/widgets/gimpitemfactory.[ch]: finally removed.
* configure.in: added -DGTK_DISABLE_DEPRECATED to CPPFLAGS again.
2004-11-01 Sven Neumann <sven@gimp.org>
* app/widgets/gimpfiledialog.c (gimp_file_dialog_add_filters):
don't check for file_proc->menu_paths. Our load and save procedure
don't necessarily register a menu path any longer.
* app/plug-in/plug-ins.c: minor cleanup.
* app/xcf/xcf.c (xcf_init): no need for adding menu paths for the
XCF load and save procedures.
* tools/pdbgen/pdb/fileops.pdb: fixed outdated documentation.
* app/pdb/fileops_cmds.c
* libgimp/gimpfileops_pdb.c: regenerated.
2004-10-29 Sven Neumann <sven@gimp.org>
* app/widgets/gimpuimanager.c (gimp_ui_manager_entry_load)
* app/widgets/gimpclipboard.c (gimp_clipboard_init): only be
verbose on request.
* app/plug-in/plug-in.c (plug_in_close): turned warnings into
messages and respect gimp->be_verbose.
2004-10-29 Michael Natterer <mitch@gimp.org>
* app/dialogs/dialogs.c (toplevel_entries): added foreign entries
for the keyboard shortcut and the controller action dialogs.
* app/dialogs/preferences-dialog.c
* app/widgets/gimpcontrollereditor.c: register the dialogs with
the "toplevel" dialog factory so they remember their size and
position.
2004-10-27 Sven Neumann <sven@gimp.org>
* app/actions/dockable-actions.c (dockable_toggle_actions): changed
menu label from "Show Image Menu" to "Show Image Selection".
* app/widgets/gimpsizebox.c: unmarked a string for translation.
* app/dialogs/scale-dialog.c: added back the message when scaling
an indexed image.
2004-10-27 Sven Neumann <sven@gimp.org>
* app/dialogs/Makefile.am
* app/dialogs/image-scale-dialog.[ch]: a wrapper around the scale
dialog that takes care verifying the user input and optionally
asking for confirmation. Most of this moved out of image-commands.c.
* app/actions/image-commands.c: use the new image scale dialog
even though it doesn't allow to edit the resolution yet. That's a
temporary regression that will get fixed soon.
* app/actions/layers-commands.c: cosmetics.
* app/dialogs/scale-dialog.c (scale_dialog_reset): also reset the
resolution.
* app/widgets/gimpsizebox.c: fixed cut'n'paste error.
2004-10-27 Sven Neumann <sven@gimp.org>
* app/widgets/gimpsizebox.[ch]: added a resolution label similar
to one in the template editor. Prepared for editable resolution,
work in progress...
* app/dialogs/scale-dialog.[ch]: added resolution and resolution
unit parameters to ScaleDialogCallback.
* app/actions/layers-commands.c: changed accordingly.
2004-10-26 Sven Neumann <sven@gimp.org>
* app/widgets/gimptemplateeditor.c: commented out the memory size
label. The visual clutter of it's bold appearance was IMO not
appropriate. I think the dialog is better without it.
* app/widgets/gimpsizebox.c: added a pixel size label as in the
Image New dialog.
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-26 Sven Neumann <sven@gimp.org>
* app/actions/channels-commands.c
* app/core/gimpchannel-select.c
* app/core/gimpimagefile.c
* app/core/gimpundo.c
* app/widgets/gimpcomponenteditor.c: use the new enum utility
functions from libgimpbase instead of accessing enum_value->value_name.
2004-10-26 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpcontrollereditor.[ch]: new widget built from
preliminary code from the prefs dialog. Prerequisite for finally
fixing bug #106920.
* app/dialogs/preferences-dialog.c: use the new widget.
2004-10-25 Michael Natterer <mitch@gimp.org>
Don't store human readable and translatable enum/flag strings in
GEnumValue's and GTypeValue's fields but attach them to their
GType using separate structs and utility functions:
* tools/gimp-mkenums: added params and perl voodoo to support
generating a second array of values, which is used by the
Makefiles below to create and register arrays of value
descriptions.
* libgimpbase/gimpbasetypes.[ch]: added API to attach/retreive
arrays of translatable strings to/from enum and flags types. Added
structs GimpEnumDesc and GimpFlagsDesc for that purpose.
* libgimpbase/gimputils.[ch]: changed existing enum utility
functions, added new ones and added a symmetric API for flags.
* app/base/Makefile.am
* app/core/Makefile.am
* app/display/Makefile.am
* app/paint/Makefile.am
* app/text/Makefile.am
* app/tools/Makefile.am
* app/widgets/Makefile.am
* libgimp/Makefile.am
* libgimpbase/Makefile.am: changed *-enums.c generation rules
accordingly.
* app/base/base-enums.c
* app/core/core-enums.c
* app/display/display-enums.c
* app/paint/paint-enums.c
* app/text/text-enums.c
* app/tools/tools-enums.c
* app/widgets/widgets-enums.c
* libgimpbase/gimpbaseenums.c: regenerated.
* app/widgets/gimpenumstore.c
* app/widgets/gimpenumwidgets.c
* app/widgets/gimptemplateeditor.c
* libgimpwidgets/gimppreviewarea.c: follow the enum utility
function API changes.
2004-10-25 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpwidgets-utils.[ch]: added gimp_text_buffer_save()
which saves a GtkTextBuffer's contents to a file.
* app/widgets/gimperrorconsole.c: use
gimp_editor_add_action_button() and removed all "clicked"
callbacks, including all file saving code.
* app/actions/error-console-actions.c
* app/actions/error-console-commands.[ch]: added the code removed
above to the action callbacks. Use gimp_text_buffer_save().
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-10-24 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcolormapeditor.c: removed the "Edit Color"
dialog callbacks and use gimp_editor_add_action_button() for
the edit button. Removed button sensitivity logic. Hide the
color dialog when the image's mode changes.
* app/actions/colormap-editor-actions.c: added missing tooltip
for the edit action.
* app/actions/colormap-editor-commands.c: implement the dialog
here.
2004-10-23 Sven Neumann <sven@gimp.org>
* libgimpthumb/gimpthumb-utils.[ch]
* libgimpthumb/gimpthumbnail.[ch]
* libgimpthumb/gimpthumb.def: added missing API, mainly for deleting
thumbnails.
* app/core/gimpimagefile.[ch]: when saving a thumbnail, delete a
failure thumbnail if one exists. Unless the thumbnail was created
explicitely, remove all other thumbnails for this image.
* app/actions/documents-commands.c: changed accordingly.
* app/file/file-open.c: only save a thumbnail if there isn't a
valid thumbnail already.
* app/widgets/gimpthumbbox.c: before attempting to create a new
thumbnail, check if there's an uptodate failure thumbnail.
2004-10-23 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpstock.c: added labels ("_Stroke") to the
SLEECTION_STROKE and PATH_STROKE stock items so they can be used
in action areas.
* app/widgets/gimpstrokeeditor.c: changed mnemonic to no clash
with "_Stroke" and reordered some code.
* app/dialogs/stroke-dialog.[ch]: use the passed stock_id instead
of GTK_STOCK_OK. Added parameters to specify the dialog's title
so it doesn't say "Stroke Options".
* app/actions/select-commands.c
* app/actions/vectors-commands.c
* app/tools/gimpvectortool.c: pass "Stroke Selection" and "Stroke
Path" as dialog titles.
2004-10-23 Michael Natterer <mitch@gimp.org>
When there are variants of actions with and without dialog, let
the dialog-less actions try to use the values from the last dialog
invocation:
* app/actions/channels-actions.c
* app/actions/channels-commands.[ch]
* app/actions/layers-actions.c
* app/actions/layers-commands.[ch]
* app/actions/vectors-actions.c
* app/actions/vectors-commands.[ch]: renamed the foo-new-defaults
actions to foo-new-last-values and use the last values entered in
the dialogs.
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimpvectorstreeview.c: changed accordingly. Show
the dialog on clicking "New" and call the last-values action on
<shift>+click.
* app/actions/select-actions.c
* app/actions/vectors-commands.c: renamed the foo-stroke-last-vals
to -last-values.
* app/widgets/gimpselectioneditor.c
* app/widgets/gimpvectorstreeview.c: stroke with last values on
<shift> clicking the stroke buttons.
2004-10-22 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpeditor.c (gimp_editor_ensure_button_box): make
sure the button_box is always interted at the very bottom of the
editor.
* app/widgets/gimpviewabledialog.c: changed the "description"
property from CONSTRUCT_ONLY to CONSTRUCT.
* app/widgets/gimpcolormapeditor.c: show the index of the edited
color in the color dialog and use the correct icon. Replaced label
"Hex triplet" by "HTML notation" to be consistent with the color
dialog. Removed wrong 2 pixel border around the table below the
preview.
2004-10-22 Michael Natterer <mitch@gimp.org>
* app/widgets/gimppropwidgets.c: remember the param_spec with each
radio button instead of with the box/frame around them.
2004-10-16 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpitemtreeview.[ch]: moved "item_type" and
"signal_name" from GimpItemTreeView to GimpItemTreeViewClass.
Removed them from gimp_item_tree_view_new(). Require the view_type
instead of item_type in gimp_item_tree_view_new().
* app/widgets/gimpitemtreeview.c
* app/widgets/gimpdrawabletreeview.c (get_type): made them
abstract base classes.
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimpvectorstreeview.c (class_init): set the
item_type and signal_name members if GimpItemTreeViewClass.
* app/dialogs/dialogs-constructors.c: changed accordingly.
2004-10-16 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpuimanager.[ch]: added utility function
gimp_ui_manager_get_action() which takes "group_name" and
"action_name".
* app/display/gimpdisplayshell-close.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimptoolbox.c
* app/widgets/gimptooloptionseditor.c: use it.
2004-10-16 Michael Natterer <mitch@gimp.org>
* app/actions/channels-actions.c
* app/actions/colormap-editor-actions.c
* app/actions/documents-actions.c
* app/actions/tool-options-actions.c
* app/actions/vectors-actions.c: added more tooltips for actions
which are used as extended dialog button callbacks.
* app/widgets/gimpeditor.c (gimp_editor_add_action_button): keep
the list of extended actions in reverse order.
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimpdocumentview.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimpselectioneditor.c
* app/widgets/gimptooloptionseditor.c
* app/widgets/gimpvectorstreeview.c: don't set the tooltips
manually. Removes another bunch of insane translatable multiline
format strings. Pass the extended actions in the right order
to gimp_editor_add_action_button().
2004-10-16 Michael Natterer <mitch@gimp.org>
Ported the layers, channels and paths dialogs from
gimp_editor_add_button() to gimp_editor_add_action_button(),
removing a massive amount of duplicated code, sensitivity logic
and confusing utility functions.
* app/actions/channels-actions.c
* app/actions/channels-commands.[ch]
* app/actions/layers-actions.c
* app/actions/layers-commands.[ch]
* app/actions/vectors-actions.c
* app/actions/vectors-commands.[ch]: added "foo-new-default"
actions and callbacks which create items without a dialog,
optionally using default values from a passed template. Removed
all public utility function that were passed as function pointers
to widget construtors. Added tooltips to all actions which are now
used for dialog buttons.
* app/widgets/gimpeditor.c (gimp_editor_add_action_button):
automatically create multi-line tooltips showing the modifiers for
extended action buttons. Removes the need for lots of insane
format strings that need to be translated correctly.
* app/widgets/gimpitemtreeview.[ch] (struct GimpItemTreeViewClass):
replaced tooltip and help_id strings by action names.
(struct GimpItemTreeView)
(gimp_item_tree_view_new): removed "edit", "new" and "activate"
function pointers.
(gimp_item_tree_view_constructor): create all buttons
with gimp_editor_add_action_button(), using the action names
from GimpItemTreeViewClass.
Removed tons of "clicked" callbacks and all code which sets the
buttons' sensitivity. They are not needed any longer.
Require all subclasses to implement GimpItemTreeView::new_item(),
a new virtual function which creates a plain new item without
showing a dialog.
* app/widgets/gimpdrawabletreeview.c
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimpvectorstreeview.c: fill in the action names and
implement GimpItemTreeView::new_item(). Removed all button
sensitivity logic.
* app/dialogs/dialogs-constructors.c: changed accordingly. Doesn't
include anything from actions/ any more.
2004-10-15 Michael Natterer <mitch@gimp.org>
Fixed bug #155328:
* app/actions/vectors-actions.c (vectors_actions_update): don't
set the "selection to path" actions sensitive if there is no
image.
* app/widgets/gimpitemtreeview.c: update the UI manager after
setting the view's image. Connect to GimpImage::flush() and
update the UI manager in the callback, too.
2004-10-15 Sven Neumann <sven@gimp.org>
* app/tools/gimptransformoptions.c: removed the "Density" label.
It wasn't helpful and caused the transform options to be wider than
necessary.
* app/tools/gimpblendoptions.c
* app/tools/gimppaintoptions-gui.c
* app/tools/gimptransformoptions.c: let combo boxes expand
horizontally like we do in other (all ?) dialogs.
* app/widgets/gimptemplateeditor.c
(gimp_template_editor_aspect_callback): update the pixel size label.
2004-10-14 Sven Neumann <sven@gimp.org>
* app/core/gimpprogress.[ch]: added "message" function to the
GimpProgress interface. Call gimp_message() if it is unimplemented.
* app/plug-in/plug-in-progress.[ch]: added new function
plug_in_progress_message() that passes the message to the current
proc_frame's progress.
* app/widgets/gimpthumbbox.c: implement GimpProgress::message.
Just do nothing in the implementation. We don't want to see
messages from file plug-ins that we use to create the thumbnails.
* tools/pdbgen/pdb/message.pdb
* app/pdb/message_cmds.c: if there's a current plug-in, dispatch
the message by calling plug_in_progress_message().
* app/display/gimpdisplayshell-close.c: fixed wrong types in
function calls.
2004-10-14 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.[ch]: register GimpConvertPaletteType with
the type system.
* app/widgets/gimpwidgets-utils.c (gimp_enum_radio_frame_add):
fixed to insert the widget at the right place in the radio box.
* app/dialogs/convert-dialog.c: use enum widgets and
gimp_enum_radio_frame_add(), resulting in a much better looking
dialog with much less lines of code.
2004-10-13 Sven Neumann <sven@gimp.org>
* app/widgets/gimpmessagedialog.c: handle parent widget not being
a GtkWindow by calling gtk_widget_get_toplevel().
* app/actions/data-commands.c
* app/actions/edit-commands.c
* app/actions/file-commands.c: ported more boolean queries to
GimpMessageDialog.
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-10-13 Sven Neumann <sven@gimp.org>
* app/widgets/widgets-enums.[ch]: changed the description for
GIMP_HELP_BROWSER_GIMP.
* app/dialogs/file-save-dialog.c:
* app/widgets/gimphelp.c: use a GimpDialog embedding a
GimpMessageBox instead of gimp_query_boolean_box which looks
somewhat old fashioned.
2004-10-13 Sven Neumann <sven@gimp.org>
* app/core/gimpimagefile.c (gimp_imagefile_create_thumbnail): ref
the imagefile while creating the thumbnail.
* app/core/gimpimagefile.[ch]
* app/widgets/gimpthumbbox.c (gimp_thumb_box_auto_thumbnail): moved
the tricky part about thumbnail creation into the new function
gimp_imagefile_create_thumbnail_weak().
2004-10-12 Sven Neumann <sven@gimp.org>
* app/core/gimpimage.[ch]: renamed struct member "unit" to
"resolution_unit".
* app/actions/image-commands.c
* app/core/gimp-edit.c
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-undo-push.c
* app/dialogs/info-window.c
* app/vectors/gimpvectors-export.c
* app/widgets/gimptoolbox-dnd.c:
* app/xcf/xcf-load.c
* app/xcf/xcf-save.c: changed accordingly. Use gimp_image_get_unit()
where appropriate.
* app/core/gimptemplate.c (gimp_template_set_from_image): fixed
unit handling. Don't touch the template unit, it is used as the
initial display unit. This will need further changes...
2004-10-12 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpwidgets-utils.c (gimp_enum_radio_frame_add):
need to pack the widget expanding. Fixes pattern container
entries.
2004-10-12 Sven Neumann <sven@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpsizebox.[ch]: added new widget GimpSizeBox.
* app/widgets/gimppropwidgets.c: the order of setting the X and Y
properties does matter.
* app/dialogs/Makefile.am
* app/dialogs/scale-dialog.[ch]: added first version of a new
Scale dialog in an attempt to address bug #151022.
* app/actions/layers-commands.c: use the new scale dialog.
2004-10-12 Sven Neumann <sven@gimp.org>
* app/widgets/gimpaction.c (gimp_action_set_proxy): use a larger
icon size for GimpImagefile views.
* themes/Default/images/stock-frame-64.png: removed the 1 pixel
wide empty border around the frame.
* app/widgets/gimpviewrenderer-frame.c: adjusted the hardcoded values.
2004-10-12 Sven Neumann <sven@gimp.org>
* app/widgets/gimptemplateeditor.c: tweaked table spacings to get
the Height label aligned with the entry again.
2004-10-12 Sven Neumann <sven@gimp.org>
* app/widgets/gimpprogressdialog.c (gimp_progress_dialog_new): set
the "skip_taskbar_hint" and "skip_pager_hint" properties on the
progress window.
2004-10-11 Sven Neumann <sven@gimp.org>
* app/widgets/gimpfiledialog.c: construct a case-insensitive glob
pattern to use when filtering for file extensions.
2004-10-11 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpthumbbox.c (gimp_thumb_box_create_thumbnails):
user-visible counting starts at 1, not 0.
2004-10-11 Sven Neumann <sven@gimp.org>
* libgimpthumb/gimpthumb-utils.[ch]
* libgimpthumb/gimpthumb.def: added an API to delete thumbnails.
* app/widgets/gimpthumbbox.c (gimp_thumb_box_create_thumbnail):
when recreating a thumbnail on user request, delete all existing
thumbnails for it.
* plug-ins/common/AlienMap2.c: removed unused variable.
2004-10-10 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcontainerview.c (gimp_container_view_lookup):
handle NULL as viewable parameter as a workaround for bug #149906.
* app/widgets/gimpthumbbox.c (gimp_thumb_box_auto_thumbnail): made
the code more robust.
* app/xcf/xcf-private.h
* app/xcf/xcf.c: added a const qualifier.
2004-10-08 Sven Neumann <sven@gimp.org>
* app/widgets/gimpthumbbox.c: tweaked the text shown while
updating the preview so that the dialog doesn't need to resize.
2004-10-08 Sven Neumann <sven@gimp.org>
* app/config/gimpcoreconfig.[ch]
* app/config/gimprc-blurbs.h: added new gimprc option
"thumbnail-filesize-limit" that allows to control the maximum
filesize for automatic thumbnail creation.
* app/dialogs/preferences-dialog.c: added a GUI for it, needs
review.
* app/core/gimpimagefile.[ch]: minor cleanups. Moved call to
gimp_thumbnail_peek_image() from gimp_imagefile_save_thumb() to
gimp_imagefile_save_thumbnail() to avoid it being called twice.
* app/file/file-utils.[ch]: export utility function
file_utils_find_proc_by_extension() that allows to check for a
file plug-in by looking at the filename extension only.
* app/widgets/gimpthumbbox.[ch]: automatically create or update
thumbnails for image files with a known extension that are smaller
than "thumbnail-filesize-limit". Fixes bug #137176.
2004-10-08 Sven Neumann <sven@gimp.org>
* plug-ins/common/apply_lens.c (lens_dialog): invalidate the
preview when the toggle buttons are used. Reported by Olivier.
* app/widgets/gimpview.c: minor cleanup.
2004-10-08 Michael Natterer <mitch@gimp.org>
Made the text options about two toolbox grid columns smaller.
Addresses bug #122862.
* app/widgets/gimppropwidgets.c (gimp_prop_size_entry_new): use
the number of digits of the property's max_val plus two as number
of chars for the sizeentry'y spinbutton (instead of always 10 as
before).
* app/tools/gimptextoptions.c (gimp_text_options_gui): GtkEntry
has a minimal width of 150 pixels (eek). Set a silly small minimal
width instead (the entry expands to the available width anyway).
2004-10-07 Sven Neumann <sven@gimp.org>
* libgimpthumb/gimpthumbnail.c: added some (disabled) debug output.
* app/widgets/gimpviewrenderer-frame.[ch]: added a way to retrieve
the size of the frame borders.
* app/widgets/gimpthumbbox.c: don't set an arbitrary padding but
exactly the size of the frame borders. Otherwise we get large
thumbnails (scaled down) if we request normal sized ones.
2004-10-06 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdnd.c (gimp_dnd_data_drag_begin): remember for
which GdkDragContext the icon_widget was made.
(gimp_dnd_data_drag_end): destroy the icon_widget only if it was
created for this GdkDragContext. Fixes broken DND icon_widgets
when dragging the same source again while the old icon_widget is
still floating back from an unsuccessful drop. Fixes bug #139337.
2004-10-04 Sven Neumann <sven@gimp.org>
* app/config/gimpguiconfig.[ch]
* app/config/gimprc-blurbs.h: added gimprc option "show-help-button".
* app/dialogs/preferences-dialog.c: added a GUI for it.
* app/dialogs/file-save-dialog.c
* app/dialogs/image-new-dialog.c
* app/dialogs/quit-dialog.c
* app/display/gimpdisplayshell-close.c
* app/widgets/gimphelp-ids.h: don't set help-ids on confirmation
dialogs.
* libgimpbase/gimpprotocol.[ch]
* libgimp/gimp.[ch]: added boolean "show_help_button" to the
config message.
* app/plug-in/plug-in-run.c: pass the new preference to the plug-in.
* libgimpwidgets/gimpdialog.[ch]: added new function that allows to
set whether new dialogs should get a help button added.
* app/gui/gui.c
* libgimp/gimpui.c: call gimp_dialogs_show_help_button() according
to the gimprc settings.
2004-10-01 Sven Neumann <sven@gimp.org>
* themes/Default/images/stock-frame-64.png: replaced the obtrusive
drop-shadow by a thin white frame with a subtle shadow. Taken from
a mockup done by Jimmac.
* app/widgets/gimpviewrenderer-frame.c: changed the hardcoded
offsets for the new frame image :(
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-28 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainerbox.c (gimp_container_box_get_preview):
removed hack which strcmp()s the property name to figure the
preview's border_width and use the container view's
preview_border_width instead.
2004-09-28 Sven Neumann <sven@gimp.org>
* app/widgets/gimpaction.c (gimp_action_set_proxy): added a hack
to get rid of the border drawn around thumbnails in the "Open Recent"
menu.
2004-09-27 Sven Neumann <sven@gimp.org>
* app/widgets/gimpthumbbox.c (gimp_thumb_box_new): added some
padding for the shadow frame to avoid scaling the thumbnail.
2004-09-27 Sven Neumann <sven@gimp.org>
* themes/Default/images/Makefile.am
* themes/Default/images/stock-frame-64.png: added a stock icon
that shows a simple drop shadow but could be exchanged for other
image decorations.
* libgimpwidgets/gimpstock.[ch]: register the new icon.
* app/widgets/Makefile.am
* app/widgets/gimpviewrenderer-frame.[ch]: new file that holds some
ugly code to draw a frame around a preview pixbuf.
* app/widgets/gimpviewrenderer.[ch]: the frame pixbuf is attached
to the GimpViewRenderer class so it can be shared by all renderers.
* app/widgets/gimpviewrendererimagefile.c: use the new functionality
to draw a nice frame around imagefile previews.
* app/widgets/gimpcontainerbox.c: draw imagefile preview w/o a border.
2004-09-27 Michael Natterer <mitch@gimp.org>
* app/actions/brushes-actions.c
* app/actions/gradients-actions.c
* app/actions/palettes-actions.c
* app/actions/patterns-actions.c: made the "foo-edit" actions
GimpStringActions and pass the identifier of the editor dialog
to the callback.
* app/actions/data-commands.[ch] (data_edit_data_cmd_callback):
show the editor dialog here instead of calling view->edit_func().
* app/dialogs/dialogs-constructors.[ch]: removed the brush,
gradient and palette edit_funcs.
* app/widgets/widgets-types.h: removed typedef GimpDataEditFunc.
* app/widgets/gimpdatafactoryview.[ch]: removed the edit_func
member and parameters and create the edit button unconditionally.
* app/widgets/gimpbrushfactoryview.[ch]
* app/widgets/gimppatternfactoryview.[ch]: changed accordingly.
* app/widgets/Makefile.am
* app/widgets/gimpdataselect.[ch]: removed this class, it's not
needed any longer.
* app/widgets/gimpbrushselect.[ch]
* app/widgets/gimpgradientselect.[ch]
* app/widgets/gimppaletteselect.[ch]
* app/widgets/gimppatternselect.[ch]: derive them from GimpPdbDialog
and follow the edit_func removal.
* app/gui/gui-vtable.c (gui_pdb_dialog_new): removed edit_func
stuff.
* app/widgets/gimpcontainereditor.c: minor unrelated cleanup.
2004-09-27 Sven Neumann <sven@gimp.org>
* app/core/gimpimagefile.c: removed conversion to TempBuf.
Instead implement GimpViewable::get_new_pixbuf by compositing the
thumbnail on a checkerboard.
* app/widgets/gimpviewrenderer.[ch]: renamed the no_view_pixbuf
struct member to pixbuf.
(gimp_view_renderer_real_render): try gimp_viewable_get_pixbuf()
and render the pixbuf before falling back to the TempBuf preview.
(gimp_view_renderer_render_pixbuf): new function that sets a
pixbuf for the renderer and flushes the render_buffer.
* app/widgets/gimpviewrendererimagefile.c
(gimp_view_renderer_imagefile_render): render the pixbuf.
* app/dialogs/dialogs-constructors.c: create the document history
dockable with a zero borderwidth.
2004-09-27 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/fileops.pdb (file_load_thumbnail_invoker): use
the GIMP_CHECK_SIZE_SM define, not the enum value
GIMP_CHECK_SIZE_SMALL_CHECKS which is 0 (eeek!).
* app/pdb/fileops_cmds.c: regenerated.
* app/widgets/gimphelp.c (gimp_help_get_locales): minor cleanup.
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 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcolorframe.c: changed label alignment to be more
HIG conformant and consistent with the rest of the user interface.
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-09-26 Michael Natterer <mitch@gimp.org>
Ported GimpNavigationView to use actions for its buttons:
* app/menus/menus.c (menus_init): register a <GimpNaviagaionEditor>
UI manager containing the "view" action group.
* app/actions/actions.c (action_data_get_foo): handle "data" being
a GimpNavigationEditor.
* app/actions/view-actions.c (view_actions): added tooltips for
the actions used in the editor.
(view_actions_update): use action_data_get_display() instead of
checking the type of "data" manually.
* app/widgets/gimpeditor.c (gimp_editor_add_action_button): use
a GtkToggleButton instead of GimpButton for GtkToggleActions.
* app/display/gimpnavigationeditor.[ch]: added a GimpMenuFactory
parameter to the public constructor and removed all other
parameters. Simplified gimp_navigation_editor_new_private() and
use gimp_editor_add_action_button() instead of just add_button()
for creating the buttons. Made gimp_navigation_view_set_shell()
private. Update the UI manager when the shell zooms or scrolls.
* app/dialogs/dialogs-constructors.c (dialogs_navigation_view_new):
pass the menu_factory to gimp_navigation_editor_new().
Removed #includes which are not needed any more.
2004-09-25 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcolormapeditor.[ch]
* app/widgets/gimphistogrameditor.[ch]
* app/widgets/gimpselectioneditor.[ch]: removed redundant "gimage"
parameters from public constructors. They are all GimpImageEditor
widgets which get their image via gimp_docked_set_context() and
gimp_image_editor_set_image() later anyway. Fixes uglyness as well
as problems where the editors had an image but no context, causing
strange behavior in their foo_actions_update() functions.
* app/dialogs/dialogs-constructors.c: changed accordingly. Removed
redundant calls to gimp_dockable_set_context() on newly created
dockables because they will get a context when added to their
containers.
2004-09-25 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcolormapeditor.c: moved stuff from
gimp_colormap_editor_new() to
gimp_colormap_editor_init(). Untabified.
2004-09-25 Sven Neumann <sven@gimp.org>
* app/widgets/gimptemplateeditor.[ch]: added resolution and image
type information which is usually hidden in the Advanced Options.
2004-09-24 Sven Neumann <sven@gimp.org>
* app/widgets/gimptemplateeditor.[ch]: added a label that shows
the pixel size (as in the initial mockup done by Jimmac).
2004-09-22 Michael Natterer <mitch@gimp.org>
* app/widgets/gimplayertreeview.c
(gimp_layer_tree_view_floating_selection_changed): removed the
hack that was displaying "Floating Selection" instead of the
floating layer's real name.
* app/core/gimplayer.c: implement GimpViewable::get_description()
instead and special case floating selections with a two-line
text that contains "Floating Selection".
* app/core/gimplayer-floating-sel.c
* app/core/gimpimage-undo-push.c: emit "name_changed" on the layer
when it changes its state from floating to normal or vice versa
so the views can update accordingly.
* app/core/gimpselection.c: s/"Selection"/"Floated Layer"/.
* app/tools/gimpeditselectiontool.c:
s/"Floating Layer"/"Floating Selection"/.
2004-09-22 Sven Neumann <sven@gimp.org>
* app/widgets/gimpviewabledialog.c: removed the prelit event box
from the header frame, use a smaller font for the subtitle,
removed the separator.
* app/dialogs/preferences-dialog.c: removed the prelit event box
from the header frame. Perhaps we should have subtitles here with
a more verbose description of the settings page?
2004-09-21 Michael Natterer <mitch@gimp.org>
For the sake of completeness, added a GUI for the hidden
"Open as Layer" feature:
* app/actions/file-actions.c
* app/actions/file-commands.[ch]: added "file-open-as-layer"
action and callback. Abuse the "gimage" field of GimpFileDialog to
indicate layer opening (it's otherwise unused for file-open).
* app/dialogs/file-open-dialog.c: if dialog->gimage is non-NULL,
open the selected files as layers for that image.
* app/widgets/gimphelp-ids.h: added GIMP_HELP_FILE_OPEN_AS_LAYER.
* menus/image-menu.xml.in: added it to the menu.
2004-09-19 Sven Neumann <sven@gimp.org>
Try to make floating selections more obvious:
* app/widgets/gimplayertreeview.c
(gimp_layer_tree_view_floating_selection_changed): always display
"Floating Selection" as the name for a floating selection.
* app/core/gimpselection.c (gimp_selection_float): call the new
layer "Selection" instead of "Floating Selection". This is what
will be displayed if the FS is turned into a layer.
* app/actions/layers-commands.c (layers_edit_layer_query): don't
special case floating selections here.
* app/core/gimplayer-floating-sel.c: cosmetics.
2004-09-17 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcomponenteditor.c
(gimp_component_editor_renderer_update): use
gimp_component_editor_get_iter() instead of duplicating its code.
2004-09-17 Simon Budig <simon@gimp.org>
* app/widgets/gimpbrusheditor.[ch]: Added a slider for the
brush spacing to the brush editor. Should make it more obvious
how to change it.
2004-09-16 Michael Natterer <mitch@gimp.org>
* configure.in: depend on GLib >= 2.4.5 and GTK+ >= 2.4.4.
* app/gui/gui.c: changed accordingly.
* app/sanity.c: ditto. Added check for GLib and put each check
into its own utility function. Enabled #if 0'ed check for
FreeType >= 6.2.7.
* app/widgets/gimpactiongroup.c
* app/widgets/gimpcursor.c
* app/widgets/gimpselectiondata.c
* app/widgets/gimpuimanager.c
* app/widgets/gimpwidgets-utils.c: removed workarounds for library
versions we refuse to start with.
2004-09-16 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdnd.c (gimp_dnd_uri_list_dest_add): reverse
order of DND dests so "text/uri-list" is preferred again after my
DND change of 2004-06-29. Fixes dropping of multiple files.
2004-09-16 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcomponenteditor.[ch]: set the viewable
renderer's "renderer" property to NULL when clearing the
view to work around bug #149906.
2004-09-15 Michael Natterer <mitch@gimp.org>
* app/widgets/gimphelp-ids.h: added help IDs for the drawable- and
vectors-visible and -liked actions as well as for the layer mask
property action.
* app/actions/drawable-actions.c
* app/actions/vectors-actions.c: use them.
* app/actions/layers-actions.c
* app/actions/layers-commands.[ch]: ditto. Use
GIMP_STOCK_TRANSPARENCY for all layer opacity actions. Replaced
"paint_mode" by "mode" in all action and function/variable names
because this is the layer mode, not a paint mode.
* app/actions/channels-commands.c
* app/actions/layers-commands.c
* app/actions/vectors-commands.c: set the "activates-default"
property on the name entry in all "New Foo" and "Edit Foo
Attributes" dialogs except in the "New Layer" dialog.
Addresses bug #148026.
* menus/image-menu.xml.in: added a (commented out) layer
properties menu containing all the new actions.
2004-09-15 Michael Natterer <mitch@gimp.org>
* app/actions/layers-actions.c
* app/actions/layers-commands.[ch]: added actions and callbacks
"layers-preserve-transparency" and
"layers-paint-mode-first,last,previous,next". Update the "active"
state of the recently added layer mask property actions in
layers_actions_update().
* app/actions/drawable-actions.c
* app/actions/drawable-commands.[ch]: added actions and callbacks
for "drawable-visible" and "drawable-linked". Fixes bug #152597.
* app/actions/vectors-actions.c
* app/actions/vectors-commands.[ch]: same here ("vectors-visible"
and "vectors-linked").
* app/widgets/gimplayertreeview.c
(gimp_layer_tree_view_preserve_button_toggled): flush the image
so the new actions are updated. Compress preserve_trans undos.
* menus/image-menu.xml.in: added the layer mask property actions
to the Layers/Mask submenu.
* menus/layers-menu.xml: reordered the mask property actions
to have the same order as in the image menu.
2004-09-15 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcontainertreeview.c
(gimp_container_tree_view_menu_position): improved the fix for bug
#152662 and removed trailing whitespace.
2004-09-15 Nathan Summers <rock@gimp.org>
* app/widgets/gimpcontainertreeview.c
(gimp_container_tree_view_menu_position): clamp the popup menu's Y
position to the visible area of the GtkTreeView. Fixes#152662.
2004-09-14 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpbufferview.c: simplified the code which deals
with the global_buffer's preview. The new buffer view renderer
does the aspect ratio magic all by itself now.
* app/actions/image-commands.h: removed trailing whitespace.
2004-09-14 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpviewrendererbuffer.[ch]: added a view renderer
which knows how to preserve a GimpBuffer's aspect ratio if the
view's aspect ratio is different.
* app/widgets/gimpviewrenderer-utils.c
(gimp_view_renderer_type_from_viewable_type): use it for viewables
of type GimpBuffer. Fixes bug #152531
2004-09-13 Sven Neumann <sven@gimp.org>
* app/widgets/gimphelp.c: simulate the behaviour of GNU gettext and
look at the LANGUAGE environment variable if the locale is not "C".
2004-09-11 Simon Budig <simon@gimp.org>
* app/widgets/gimpdialogfactory.[ch]: Added boolean parameter to
gimp_dialog_factories_toggle to make it possible to ensure a visible
toolbox.
* app/actions/dialogs-commands.c: Use the new parameter to ensure
toolbox visibility after the last image window closes.
* app/display/gimpdisplayshell-callbacks.c: Changed accordingly.
Fixes bug #137057 (the discussion is in bug #152285)
2004-09-10 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainertreeview-dnd.c
(gimp_container_tree_view_drop_status): always call
gdk_drag_status() before returning FALSE.
(gimp_container_tree_view_drag_motion): never return FALSE, an
impossible drop location is now reported by calling
gdk_drag_status() above. Always returning TRUE makes sure
gimp_container_tree_view_drag_leave() is called unconditionally
and can remove the scroll_timeout set in drag_motion().
Fixes bug #152193 and many other obscure DND crashes caused by the
scroll_timeout being invoked after the widget is destroyed.
2004-09-09 Michael Natterer <mitch@gimp.org>
* app/widgets/gimppdbdialog.c (gimp_pdb_dialog_constructor): use
g_type_name(dialog_type) instead of just "pdb dialog" as name for
the dialog's private context.
2004-09-09 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdialogfactory.c
(gimp_dialog_factory_dialog_new_internal): renamed parameter
"gboolean raise_if_found" to "return_existing" and added
additional parameter "gboolean present".
(gimp_dialog_factory_dialog_new)
(gimp_dialog_factory_dialog_raise)
(gimp_dialog_factory_dockable_new): pass both parameters (passing
"present" as "raise_if_found" was not quite correct).
2004-09-07 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpfiledialog.c (gimp_file_dialog_set_uri):
simplified the code that selects an image file by its URI.
2004-09-07 Simon Budig <simon@gimp.org>
* app/widgets/gimpviewrendererbrush.c: Added an indicator for
generated brushes. Pretty straightforward, suggestions for
improvements are welcome.
2004-09-05 Sven Neumann <sven@gimp.org>
* configure.in: bumped version number to 2.1.5.
* app/widgets/gimpfiledialog.c (gimp_file_dialog_set_uri): select
the image file, not only the folder it lives in. Fixes bug #151638.
2004-09-05 Simon Budig <simon@gimp.org>
* app/core/gimpimage-resize.[ch]: Implement function to resize
the image to contain all layers completely. Untabified.
* app/actions/image-actions.c
* app/actions/image-commands.[ch]
* app/widgets/gimphelp-ids.h
* menus/image-menu.xml.in: Make it available in the GUI.
* tools/pdbgen/pdb/image.pdb: Make it available in the PDB.
* app/pdb/image_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpimage_pdb.[ch]: regenerated.
2004-09-01 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplay.c
* app/widgets/gimpprogressdialog.c: gracefully handle progress
calls after the widget is destroyed. Re-fixes bug #150194.
2004-09-01 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdialogfactory.[ch]: added a boolean parameter to
gimp_dialog_factory_dialog_new() to let the caller decide whether
the window should be presented or not.
* app/actions/dialogs-commands.c
* app/actions/image-commands.c
* app/actions/templates-commands.c
* app/gui/gui-vtable.c
* app/gui/gui.c
* app/widgets/gimpsessioninfo.c: changed accordingly. Do not let
gimp_dialog_factory_dialog_new() present the dialog if we need to
change it after creation. This avoids annoying resizes, noticeable
especially with the error dialog.
2004-08-31 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdatafactoryview.c
(gimp_data_factory_view_activate_item): emit "clicked" on the
edit_button only if it exists and is sensitive. Fixes bug #151343.
2004-08-28 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpwidgets.[ch]: applied a patch from Joao
S. O. Bueno which adds an API that allows to make the scale widget
of a GimpScaleEntry behave logarithmic. Fixes bug #149420.
* app/widgets/gimpbrusheditor.c: use the new functionality for the
radius control.
2004-08-28 Sven Neumann <sven@gimp.org>
* app/widgets/gimphelp-ids.h
* app/widgets/gimptoolbox.c (toolbox_create_image_area): added a
help-id for the image area.
2004-08-27 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainereditor.c
(gimp_container_editor_construct): call
gimp_container_editor_select_item() manually at construction time
so views show the initially selected object's state correctly
(e.g. the brush spacing). Fixes bug #151227.
* app/widgets/gimpnavigationpreview.c
* app/widgets/gimpnavigationpreview.h: renamed these files to ...
* app/widgets/gimpnavigationview.c
* app/widgets/gimpnavigationview.h: to these.
And renamed the GimpNavigationPreview type to GimpNavigationView.
Hopefully, this is the last change in file names for the Preview->View
renaming process.
* app/display/gimpnavigationeditor.c
* app/widgets/Makefile.am
* app/widgets/widgets-types.h: Changed accordingly.
2004-08-25 Sven Neumann <sven@gimp.org>
* app/widgets/gimperrordialog.[ch] (gimp_error_dialog_add): stop
adding message boxes and redirect messages to stderr if there are
too many messages.
2004-08-25 Sven Neumann <sven@gimp.org>
* app/widgets/gimpmessagebox.[ch]: added gimp_message_box_repeat().
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimperrordialog.[ch]: added new dialog that adds a new
GimpMessageBox for each message added. Fixes bug #92604.
* app/widgets/gimpwidgets-utils.[ch]: removed old gimp_message_box()
functionality.
* app/gui/gui.c (gui_abort): use a GimpMessageBox in a GimpDialog.
* app/gui/dialogs-constructors.[ch]
* app/gui/dialogs.c: manage GimpErrorDialog as singleton.
* app/gui/gui-vtable.c (gui_message): use the new error dialog.
* app/core/gimp-gui.c (gimp_message): substitue "GIMP" for a NULL
domain.
* app/widgets/gimperrorconsole.c (gimp_error_console_add): fail
when being called with a NULL domain.
2004-08-24 Sven Neumann <sven@gimp.org>
* app/widgets/gimpmessagebox.c: put the icon to the right for RTL
layouts.
* app/display/gimpdisplayshell-close.c
* app/gui/quit-dialog.c: use a GimpMessageBox.
2004-08-24 Sven Neumann <sven@gimp.org>
* app/widgets/gimpmessagebox.[ch]: added API to change the labels.
Modeled after the proposed new API for GtkMessageDialog.
* app/widgets/gimpwidgets-utils.c: changed accordingly.
2004-08-24 Sven Neumann <sven@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpmessagebox.[ch]: added new widget GimpMessageBox.
* app/widgets/gimpwidgets-utils.c: use it for message dialogs.
2004-08-21 Sven Neumann <sven@gimp.org>
* app/actions/layers-actions.[ch]
* app/actions/layers-commands.[ch]
* app/widgets/gimplayertreeview.c: added actions to handle layer
masks as suggested in bug #150446.
* menus/layers-menu.xml: added menu entries for new actions,
commented out raise/lower menu entries.
2004-08-18 Sven Neumann <sven@gimp.org>
* app/gui/color-notebook.c: no need to set a size_request here.
* libgimpwidgets/gimpcolorselection.c: HIG-ified spacings.
* libgimpwidgets/gimpcolorscales.c
* modules/colorsel_cmyk.c: don't set a minimum width on the color
scales. Improves behaviour for narrow color dockables.
2004-08-18 Sven Neumann <sven@gimp.org>
* app/widgets/gimphelp-ids.h: define GIMP_HELP_DOCK_SEPARATOR.
* app/widgets/gimpdock.c
* app/widgets/gimpdockable.c: help-ids are never used directly,
use the defines from app/widgets/gimphelp-ids.h instead.
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-08-11 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainercombobox.[ch]
* app/widgets/gimpcontainertreeview.c: when removing the last item
from the view, manually clear all GimpCellRendererViewables'
"renderer" properties; otherwise we have stale GimpPreviewRenderers
with still-refed viewables hanging around in the cells.
Works around GTK+ bug #149906.
2004-08-11 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpthumbbox.c (gimp_thumb_box_create_thumbnails):
fixed annoying resizing when thumbnailing exactly one image.
2004-08-11 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpprogressbox.[ch]: new GtkVBox subclass featuring
a label and a progressbar. Implements GimpProgressIterface.
* app/widgets/gimpprogressdialog.[ch]: replaced label and progress
by a GimpProgressBox. Delegate most progress functionality to it.
* app/widgets/gimpwidgets-utils.[ch]: factored out utility
function gimp_dialog_set_sensitive().
* app/widgets/gimpfiledialog.c (gimp_file_dialog_set_sensitive):
use it.
* app/gui/file-open-location-dialog.c (file_open_location_response):
embed the called file procedure's progress using a GimpProgressBox.
2004-08-10 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpfiledialog.[ch]
(gimp_file_dialog_set_sensitive): new function which works on all
widgets in the dialog except the cancel button.
Remember if the active progress is cancelable and added two
booleans "busy" and "canceled". Added GtkDialog::response()
implementation which, if the dialog is busy, cancels the active
progress and sets the dialog's "canceled" state.
Moved the progress bar right above the action area so it is next
to the cancel button and in the same place for both open and save
dialogs.
* app/gui/file-open-dialog.c
* app/gui/file-save-dialog.c: use the new API to make image loading
and saving cancelable again.
* app/widgets/gimpthumbbox.c: use the same stuff to make
thumbnailing cancelable. Increased the minimum height a bit so it
doesn't resize when the progress bars are shown.
2004-08-10 Michael Natterer <mitch@gimp.org>
Redid the whole internal progress stuff: don't pass around
progress_callback and progress_data; instead, provide a
pointer to a GimpProgressInterface which can be implemented
by a variety of backends.
Addresses (but not yet fixes) bugs #6010, #97266 and #135185.
* app/display/Makefile.am
* app/display/gimpprogress.[ch]: removed the old progress hack.
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpprogress.[ch]: implement GimpProgressInterface.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpprogressdialog.[ch]: the standalone progress
dialog as widget implementing GimpProgressInterface.
* app/display/gimpdisplay.c
* app/display/gimpstatusbar.[ch]
* app/widgets/gimpfiledialog.[ch]
* app/widgets/gimpthumbbox.[ch]: added GimpProgressInterface
implementation to these classes.
* app/core/gimp-gui.[ch]
* app/gui/gui-vtable.c: replaced the old progress vtable entries
by two new to create and destroy a GimpProgressDialog in case
no other progress is available.
* app/pdb/procedural_db.[ch]
* app/plug-in/plug-in-run.[ch]
* tools/pdbgen/app.pl: pass a GimpProgress to all PDB wrappers and
all plug-ins.
* app/plug-in/plug-in.[ch]
* app/plug-in/plug-ins.c
* app/plug-in/plug-in-message.c
* app/plug-in/plug-in-progress.c: handle the case there the
plug-in was crated with a progress as well as the case where it
wasn't.
* app/app_procs.c
* app/batch.c
* app/xcf/xcf.c
* app/file/file-open.[ch]
* app/file/file-save.[ch]
* app/widgets/gimphelp.c
* app/widgets/gimpbrushselect.c
* app/widgets/gimpfontselect.c
* app/widgets/gimpgradientselect.c
* app/widgets/gimppaletteselect.c
* app/widgets/gimppatternselect.c: changed accordingly.
* app/core/gimpimagefile.[ch]
* app/display/gimpdisplayshell-dnd.c
* app/gui/file-open-dialog.c
* app/gui/file-open-location-dialog.c
* app/gui/file-save-dialog.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimptoolbox-dnd.c: pass a GimpProgress to all file
related functions. Embed the progress in the file dialog where
possible.
* app/core/gimpdrawable-blend.[ch]
* app/core/gimpdrawable-transform.[ch]
* app/core/gimpimage-convert.[ch]
* app/core/gimpimage-flip.[ch]
* app/core/gimpimage-resize.[ch]
* app/core/gimpimage-rotate.[ch]
* app/core/gimpimage-scale.[ch]
* app/core/gimpitem-linked.[ch]
* app/core/gimpitem.[ch]
* app/core/gimpchannel.c
* app/core/gimpdrawable.c
* app/core/gimplayer.c
* app/core/gimpselection.c
* app/vectors/gimpvectors.c: replaced callback/data by GimpProgress.
* app/tools/gimpblendtool.c
* app/tools/gimptransformtool.c
* app/gui/convert-dialog.c
* app/actions/documents-commands.c
* app/actions/file-commands.c
* app/actions/image-commands.c
* app/actions/layers-commands.c
* app/actions/plug-in-commands.c
* app/actions/vectors-commands.c
* tools/pdbgen/pdb/convert.pdb
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/layer.pdb: changed callers accordingly.
* app/pdb/*_cmds.c: regenerated.
2004-08-05 Michael Natterer <mitch@gimp.org>
Enabled previewing items without selecting them in all list and
grid views using mouse button 2. Implicitly enables previewing of
items in container popups and thus fixes bug #121011:
* app/widgets/gimppreview.c (gimp_preview_button_press_event)
* app/widgets/gimpcellrendererviewable.c
(gimp_cell_renderer_viewable_clicked): show the preview also on
mouse button 2 click.
* app/widgets/gimpcontainertreeview.c
(gimp_container_tree_view_button_press): dispatch mouse button 2
clicks to GimpCellRendererViewable, but don't select or change
anything in the tree_view.
Unrelated cleanup:
* app/widgets/gimppreview.c (gimp_preview_button_press_event):
don't offset bevent->x,y by widget->allocation.x,y before calling
gimp_preview_popup_show() ...
* app/widgets/gimppreview-popup.c (gimp_preview_popup_show):
... instead, do it here generically (check if the parent widget is
GTK_WIDGET_NO_WINDOW()).
2004-08-04 Sven Neumann <sven@gimp.org>
* themes/Default/images/Makefile.am
* themes/Default/images/stock-brush-generated-*-16.png: removed ...
* themes/Default/images/stock-shape-*-16.png: ... and added back
with more generic names.
* libgimpwidgets/gimpstock.[ch]
* app/widgets/gimpbrusheditor.c: changed accordingly.
* app/tools/gimpinkoptions-gui.c: use the new stock icons here as
well.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpblobeditor.[ch]: added a simple blob shape
editor widget factored out of app/tools/gimpinkoptions-gui.c.
2004-08-04 Michael Natterer <mitch@gimp.org>
Allow URI drops from apps linked against GLib < 2.4.4 to GIMP
linked against GLib >= 2.4.5. Fixes bug #148140.
* app/core/gimp-utils.[ch]: added gimp_check_glib_version().
* app/widgets/gimpselectiondata.c: added runtime check for GLib
versions that encode file:// URIs correctly (>= 2.4.5). For older
(broken) GLibs, leave the code path as is, for newer (fixed) ones,
perform an additional check if the dropped URI is in the (broken)
escaped-UTF-8 format and convert it to local filename encoding.
* app/gui/gui.c: warn the user that non-ASCII filenames can't
be used when linked against GLib 2.4.4.
2004-08-03 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainergridview.c
(gimp_container_grid_view_item_context): ref/unref the view around
the calls to gimp_container_view_item_selected() and _item_context()
because the former may destroy the view which leads to a crash
when trying the latter. Fixes bug #148955.
2004-08-03 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-undo.[ch] (gimp_image_undo_can_compress):
new function which checks if undo compression is possible:
(1) is the image dirty? Fixes bug #148853.
(2) is redo stack empty?
(3) do both the passed undo object_type and undo_type
match the top undo item?
Consistently name the GType and GimpUndoType passed to undo
functions "object_type" and "undo_type" to avoid confusion.
* app/actions/layers-commands.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimptexttool.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimplayertreeview.c: use the new utility function
instead of checking the above conditions manually.
2004-07-31 Hans Breuer <hans@breuer.org>
* app/display/makefile.msc app/widgets/makefile.msc : build
but *dont link* display-enums.obj, widget-enums.obj and
gimpdisplayoptions.obj. They must be in the dll
* app/makefile.msc : build gimp.exe and gimp-console.exe both
using the same gimp-core.dll
* app/gimpcore.def : new file, exports for gimp-core.dll
* app/Makefile.am : added to EXTRA_DIST
* cursors/makefile.msc : new file to create gimp-tool-cursors.h
* cursors/Makefile.am : added to EXTRA_DIST
* **/makefile.msc : updated
* app/main.c app/app_procs.c : moved code to close the console
from the former to the later. It only is to be used if The Gimp
is not build as console app.
* plug-ins/gfig/gfig.c : dont gimp_drawable_detach() the same
drawable twice
* plug-ins/gfig-dialog.c() : added a g_return_if_fail() to avoid
crashing on File/Import
2004-08-01 Simon Budig <simon@gimp.org>
* app/core/core-enums.h
* app/core/gimpbrushgenerated.[ch]: Implement three different
brush shapes for generated brushes.
* app/core/gimpbrush.c: changed accordingly.
* app/core/core-enums.c: regenerated.
* app/widgets/gimpbrusheditor.[ch]: Add toggles for the shape.
* themes/Default/images/stock-brush-generated-*-16.png: New stock
icons for the brush shapes.
* themes/Default/images/Makefile.am
* libgimpwidgets/gimpstock.[ch]: changed accordingly
untabified the files touched.
2004-07-30 Sven Neumann <sven@gimp.org>
* configure.in: always do the check for perl and use the
substituted perl executable name in the call for gimp-mkenums.
Fixes the build on platforms where perl is not available as
/usr/bin/perl. Closes bug #148813.
* app/widgets/gimpenumstore.c: added missing include.
2004-07-30 Sven Neumann <sven@gimp.org>
Applied a bunch of AIX portability fixes (bug #148813):
* configure.in: when testing for Xmu library, link with -lXt -lX11.
* app/gui/tips-parser.c
* app/gui/user-install-dialog.c
* app/tools/tools-enums.h
* app/widgets/gimpdasheditor.c
* app/widgets/widgets-enums.h
* libgimpthumb/gimpthumb-error.h
* libgimpwidgets/gimpcolorbutton.c
* plug-ins/common/edge.c: removed trailing commas from enums.
* plug-ins/common/snoise.c
* plug-ins/imagemap/imap_cmd_move.c: no C++ style comments.
* app/paint-funcs/paint-funcs-generic.h
* app/paint-funcs/paint-funcs.c: use integers for bit fields.
2004-07-29 Sven Neumann <sven@gimp.org>
* app/core/core-enums.h: removed enums GimpImageType and
GimpImageBaseType ...
* libgimpbase/gimpbaseenums.h: ... and added them here. Also moved
all enums from gimpbasetypes.h to this new file.
* libgimpbase/Makefile.am
* tools/pdbgen/Makefile.am: changed accordingly.
* app/core/core-enums.c
* libgimp/gimpenums.h
* libgimpbase/gimpbaseenums.c
* tools/pdbgen/enums.pl: regenerated.
* libgimpbase/gimpparasite.c
* libgimpbase/gimpprotocol.c
* libgimp/gimp.c: include <glib-object.h>
* libgimpbase/gimpbasetypes.[ch]: added API to set and get a
translation domain on a GType. This is used for translatable enum
values.
* libgimpbase/gimputils.[ch]: added API to retrieve the translated
name for an enum value.
* app/widgets/gimpenumstore.c
* app/widgets/gimpenumwidgets.c: use the new API in libgimpbase.
2004-07-28 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.h: added still unused flags type
GimpDirtyMask.
* app/base/Makefile.am
* app/core/Makefile.am
* app/display/Makefile.am
* app/paint/Makefile.am
* app/text/Makefile.am
* app/tools/Makefile.am
* app/widgets/Makefile.am
* libgimpthumb/Makefile.am: changed calls to gimp-mkenums to
support GTypeFlags and to make the value arrays private to the
get_type() functions.
* app/base/base-enums.c
* app/core/core-enums.c
* app/display/display-enums.c
* app/paint/paint-enums.c
* app/text/text-enums.c
* app/tools/tools-enums.c
* app/widgets/widgets-enums.c: regenerated.
2004-07-28 Michael Natterer <mitch@gimp.org>
Enabled disabling all menu mnemonics. Addresses bug #120034:
* app/config/gimpguiconfig.[ch]
* app/config/gimprc-blurbs.h: added boolean RESTART property
"menu-menonics".
* app/gui/preferences-dialog.c: added a GUI for it.
* app/widgets/gimpactiongroup.[ch]: added boolean CONSTRUCT_ONLY
property "mnemonics".
(gimp_action_group_add_*_actions): call gimp_strip_uline() on
the actions' labels if mnemonics is FALSE.
* app/widgets/gimpactionfactory.[ch]
* app/actions/actions.c: pass gui_config->menu_menmonics to
all action groups.
2004-07-27 Sven Neumann <sven@gimp.org>
* libgimpbase/Makefile.am
* libgimpbase/gimpbase.h
* libgimpbase/gimpbase.def
* libgimpbase/gimpmemsize.[ch]: added new files with memsize
related functions (moved here from gimputil.c) and
GIMP_TYPE_MEMSIZE (moved here from app/config/gimpconfig-types.[ch]).
* libgimpbase/gimputils.[ch]: removed gimp_memsize_to_string() here.
* libgimpbase/gimpunit.[ch]: added GIMP_TYPE_UNIT (moved here from
app/config/gimpconfig-types.[ch]).
* libgimpbase/gimpbase-private.c
* libgimp/gimptile.c
* libgimp/gimpunitcache.c
* plug-ins/help/domain.c
* app/xcf/xcf-read.c: need to include glib-object.h.
* plug-ins/common/uniteditor.c: use GIMP_TYPE_UNIT.
* app/config/gimpconfig-types.[ch]: removed code that lives in
libgimpbase now.
* app/config/gimpconfig-deserialize.c: changed accordingly.
* app/config/gimpbaseconfig.c
* app/config/gimpdisplayconfig.c
* app/core/gimpcontext.c
* app/gui/grid-dialog.c
* app/tools/gimpcolortool.c
* app/widgets/gimpaction.c
* app/widgets/gimpunitstore.c: no need to include gimpconfig-types.h
any longer.
2004-07-27 Sven Neumann <sven@gimp.org>
* app/widgets/gimphelp-ids.h removed unused help IDs
GIMP_HELP_FILE_OPEN_XCF and GIMP_HELP_FILE_SAVE_XCF. The help IDs
for these entries are generated from the procedure names.
2004-07-27 Sven Neumann <sven@gimp.org>
* app/widgets/gimphelp.c (gimp_help): print the help-id and
help-domain to stdout if gimp was started with the --verbose
command-line option.
2004-07-26 Michael Natterer <mitch@gimp.org>
* app/pdb/procedural_db.[ch] (procedural_db_free_data): new
function which clears the whole list of data set by plug-ins.
(procedural_db_free): use it.
* app/actions/plug-in-actions.c
* app/actions/plug-in-commands.[ch]: added action, callback and
confirmation dialog for "Reset all filters to default values".
Somehow addresses bug #81015.
* app/widgets/gimphelp-ids.h: added a help ID for the new action.
* menus/image-menu.xml.in: added it to the "Filters" submenu.
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-22 Michael Natterer <mitch@gimp.org>
* app/widgets/gimptoolbox.c (toolbox_create_tools): connect to
"accel-changed" of the accel_group using connect_object(), not
just connect() so we don't crash when it's emitted after the
toolbox is destroyed.
2004-07-21 Michael Natterer <mitch@gimp.org>
* app/widgets/gimptemplateeditor.c
* plug-ins/common/gif.c
* plug-ins/common/jpeg.c: set GTK_SHADOW_IN on scrolled windows of
text views. Fixes bug #148025.
2004-07-21 Michael Natterer <mitch@gimp.org>
Enabled the various "Clear saved foobar now" buttons in prefs:
* app/gui/session.[ch]
* app/menus/menus.[ch]
* app/widgets/gimpdevices.[ch]: implemented the _clear()
functions: unlink() the rc file and set an internal flag that it
has been deleted. Added "gboolean always_save" parameter to the
_save() functions and don't save anything if it is FALSE and the
internal deletion flag has been set.
* app/gui/gui.c
* app/widgets/gimpdevicestatus.c: changed accordingly.
* app/gui/preferences-dialog.c: added callbacks for all "Save now"
and "Clear now" buttons and show error messages if clearing fails.
Inform the user that she has to restart GIMP to see the effect of
the clearing.
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...
2004-07-17 Michael Natterer <mitch@gimp.org>
* app/widgets/gimphelp-ids.h: added the removed help IDs back.
* app/widgets/gimpfileprocview.[ch]: cache all file_procs' help
IDs and added gimp_file_proc_view_get_help_id() which returns the
selected item's help ID.
* app/widgets/gimpfiledialog.c: added a custom help func which
shows the help for the selected file_proc if the proc_view has the
focus.
2004-07-17 Sven Neumann <sven@gimp.org>
* app/actions/file-actions.c (file_actions): use GIMP_STOCK_WEB
for "file-open-location".
* app/widgets/gimpfiledialog.c: create the scrolled window with
shadow_type GTK_SHADOW_IN.
* app/widgets/gimpfileprocview.c (gimp_file_proc_view_new): skip
procedures that register a prefix (the URL loader).
* app/widgets/gimphelp-ids.h: removed help IDs that used to be
used from the file-open and file-save menus.
* plug-ins/common/xwd.c (query): "X window dump" seems to be more
appropriate than "X window image".
2004-07-16 Sven Neumann <sven@gimp.org>
* app/plug-in/plug-ins.c (plug_ins_init): sort the file procedures
by their menu labels.
* app/widgets/gimpfileprocview.c: removed the sort function here.
2004-07-16 Sven Neumann <sven@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpfileprocview.[ch]: added new widget that offers
a treeview on file procedures.
* app/widgets/gimpfiledialog.[ch]: replaced the file type option
menu with the new GimpFileProcView widget.
(gimp_file_dialog_set_image): reset the file type to Automatic
(fixes bug #141535).
* app/actions/file-commands.c
* app/gui/file-open-dialog.[ch]
* app/gui/file-save-dialog.[ch]: changed accordingly.
* plug-ins/common/bz2.c
* plug-ins/common/gz.c: don't register "xcf.gz" and "xcf.bz2"
extension. It's redundant and breaks the code that sets the
extension from the selected file-type.
* plug-ins/common/dicom.c: register a shorter menu label.
* plug-ins/common/gbr.c
* plug-ins/common/gih.c
* plug-ins/common/pat.c
* plug-ins/common/url.c: register stock icons.
2004-07-14 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimppickable.[ch]: new interface which has
get_image_type(), get_tiles() and get_color_at() methods.
* app/core/gimpdrawable.[ch]
* app/core/gimpimagemap.[ch]
* app/core/gimpprojection.[ch]: implement GimpPickableInterface
and removed public get_colot_at() functions.
* app/core/gimpimage-pick-color.[ch]: removed typedef
GimpImagePickColorFunc and gimp_image_pick_color_by_func(). Use
gimp_pickable_pick_color() instead.
* app/core/gimpimage-contiguous-region.c
* app/core/gimpimage-crop.c
* app/gui/info-window.c
* app/paint/gimpconvolve.c
* app/paint/gimpsmudge.c
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpimagemaptool.c
* app/widgets/gimpselectioneditor.c: use GimpPickable functions
instead of the various get_color_at() functions. Simplifies code
which has a "sample_merged" boolean. Various cleanups.
2004-07-12 Michael Natterer <mitch@gimp.org>
* app/core/gimpundo.[ch]
* app/core/gimpitemundo.[ch]
* app/text/gimptextundo.[ch]: removed all _new() functions and
added properties and GObject::constructor() implementations
instead.
* app/core/gimpimage-undo.[ch] (gimp_image_undo_push): added
"GType undo_gtype" parameter and allow to pass name-value pairs as
"...". Une the new GParameter utility functions to construct the
appropriate undo step with g_object_newv().
(gimp_image_undo_push_item): removed.
(gimp_image_undo_push_undo): removed. Merged its code back into
gimp_image_undo_push(), where it originally came from.
* app/core/gimpimage-undo-push.c
* app/core/gimpundostack.c
* app/paint/gimppaintcore-undo.c
* app/tools/gimptransformtool-undo.c
* app/widgets/gimpundoeditor.c: changed accordingly.
2004-07-12 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdialogfactory.c
(gimp_dialog_factories_set_busy_foreach)
(gimp_dialog_factories_unset_busy_foreach): set/unset the busy
cursor on all windows which have widget->window, not only for
those which are GTK_WIDGET_VISIBLE. Fixes stale busy cursors when
dialogs are hidden while the busy cursor is active and later shown
again.
2004-07-11 Hans Breuer <hans@breuer.org>
* **/makefile.msc : updated
app/actions/makefile.msc app/menus/makefile.msc : (new files)
app/actions/Makefile.msc app/menus/Makefile.am : added to EXTRA_DIST
* libgimpbase/gimputils.c libgimpwidgets/gimpmemsizeentry.c
app/widgets/gimppropwidgets.c : bumped compiler version check,
msvc6 still can't cast from unsigned __int64 to double
* app/actions/debug-actions.c : only use debug_*_callback
and thus debug_action if ENABLE_DEBUG_MENU
* app/core/gimpalette-import.c : added gimpwin32-io.h
* plug-ins/common/convmatrix.c : s/snprintf/g_snprintf/
* plug-ins/common/screenshot.c : make it compile with msvc,
but still no win32 specific implementation ...
2004-07-11 Philip Lafleur <plafleur@cvs.gnome.org>
* app/widgets/gimpdevices.c (gimp_devices_check_change): Applied
a patch from Robert Robert Ögren, moved here from
toolbox_check_device() - Only change devices if the event came from
a widget that accepts extension events. Fixes bug #115774.
2004-07-10 Michael Natterer <mitch@gimp.org>
Removed any remaining GUI dependency from the PDB wrappers:
* app/core/gimp.[ch]: added vtable entries for the display and
help stuff.
* app/widgets/gimphelp.[ch]: renamed gimp_help() to
gimp_help_show().
* app/gui/gui-vtable.c: implement the new display and help vtable
entries.
* tools/pdbgen/pdb.pl
* tools/pdbgen/pdb/display.pdb
* tools/pdbgen/pdb/help.pdb: use the new functions of the Gimp
object instead of using stuff from display/ and widgets/.
* tools/pdbgen/app.pl: removed bad hacks which enabled including
stuff from gui/, display/ and widgets/.
* app/Makefile.am: link widgets-enums.o, display-enums.o and
gimpdisplayoptions.o into the gimp-console binary because they are
needed for the config system and don't depend on any GUI stuff.
* app/pdb/Makefile.am: s/GTK_CFLAGS/GDK_PIXBUF_CFLAGS/
* app/pdb/display_cmds.c
* app/pdb/help_cmds.c: regenerated.
2004-07-09 Sven Neumann <sven@gimp.org>
* app/widgets/gimphistogrameditor.c
(gimp_histogram_editor_menu_update): reverted my last change.
(gimp_histogram_editor_item_visible): fix the problem here instead.
2004-07-08 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpdialog.c: removed "role" property because
GtkWindow has an equivalent property now. Added "help-func" and
"help-id" construct properties.
* app/widgets/gimptexteditor.c
* app/widgets/gimptooldialog.c
* app/widgets/gimpviewabledialog.c: removed calls to
gimp_help_connect() and pass help_func and help_id to
g_object_new().
2004-07-08 Sven Neumann <sven@gimp.org>
* app/widgets/gimphistogrameditor.c
(gimp_histogram_editor_menu_update): set the active item of the
combo-box after changing the visibility filter.
2004-07-08 Sven Neumann <sven@gimp.org>
* app/widgets/gimppropwidgets.c (gimp_prop_enum_combo_box_notify):
block gimp_prop_enum_combo_box_callback() before changing the
combo-box.
2004-07-08 Sven Neumann <sven@gimp.org>
* app/widgets/gimpsessioninfo.c: only write aux-info for properties
that have been changed from their default values.
* app/widgets/gimphistogrameditor.c: some code cleanup.
2004-07-08 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpselectiondata.[ch]: added a "const gchar *format"
parameter to gimp_selection_data_set_pixbuf() which selects the
format in which to encode the pixbuf (was defaulting to "png"
before).
* app/widgets/gimpclipboard.c: when copying, offer all formats which
are savable with GdkPixbuf. Added a GimpClipboard struct which is
attached to the Gimp and which stores all the persistent data
needed by the clipboard. Renamed some private functions.
(unfortunately this change breaks pasting to AbiWord:
http://bugzilla.abisource.com/show_bug.cgi?id=7068)
2004-07-08 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig-deserialize.c
* app/config/gimpconfig-serialize.c: removed redundant casts.
* app/widgets/gimpsessioninfo.[ch]: added convenience functions to
get and set aux-info based on object properties.
* app/widgets/gimphistogrameditor.c: use the new functions to save
a histogram's channel and scale in the sessionrc.
2004-07-07 Sven Neumann <sven@gimp.org>
* app/widgets/gimpclipboard.c: sort the list of pixbuf formats so
that PNG is the preferred format and GIF and JPEG come last.
2004-07-07 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpclipboard.[ch]: changed to allow pasting any
GdkPixbuf supported format (makes pasting from OpenOffice
work). Cleaned up a bit to perpare pasting of SVG data.
2004-07-07 Sven Neumann <sven@gimp.org>
* app/widgets/gimphistogramview.c (gimp_histogram_view_expose):
fixed a drawing bug I introduced earlier today.
2004-07-06 Sven Neumann <sven@gimp.org>
Added an RGB histogram based on a patch by Tor Lillqvist. Fixes
bug #145401.
* app/base/base-enums.[ch]: added GIMP_HISTOGRAM_RGB, don't export
it to the PDB.
* app/base/gimphistogram.c: implemented histogram functions for
the RGB mode.
* app/base/levels.c
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* app/widgets/gimpcolorbar.c
* app/widgets/gimphistogrameditor.c: handle the new enum value.
* app/widgets/gimphistogramview.c: for GIMP_HISTOGRAM_RGB mode,
draw a histogram that shows the RGB channels simultaneously
2004-07-06 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpwidgets-utils.c (gimp_menu_position)
(gimp_button_menu_position): call gtk_menu_set_monitor() only
for GTK+ < 2.4.4 and added a #warning about it.
2004-07-06 Michael Natterer <mitch@gimp.org>
* app/widgets/gimppreviewrenderer.c
(gimp_preview_renderer_set_viewable): queue an idle update when
setting the viewable to NULL so the view gets cleared correctly.
(gimp_preview_renderer_idle_update): call
gimp_preview_renderer_update() even if renderer->viewable is NULL
so clearing the viewable gets propagated to the GUI.
Moved clearing the viewable and removing the idle from
GObject::finalize() to GObject::dispose() because calling
set_viewable() with a NULL viewable triggers typechecking casts
and queuing idle functions, which is not nice in finalize().
2004-07-06 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainertreeview.c: connect to
"editing-canceled" of the name cell renderer and restore the
original text in the callback. Doesn't work reliably until GTK+
bug #145463 is fixed.
2004-07-04 Simon Budig <simon@gimp.org>
* app/actions/dialogs-commands.c
* app/display/gimpdisplayshell-dnd.c
* app/gui/preferences-dialog.c
* app/tools/gimppainttool.c
* app/widgets/gimpdeviceinfo.c
* app/widgets/gimpitemtreeview.c
* plug-ins/imagemap/imap_selection.c
* tools/pdbgen/pdb/gradients.pdb: Small changes to make GIMP
CVS compile with gcc 2.95 again. Mostly double semicolons and
variable declarations after other stuff. Spotted by Martin
Renold.
* app/pdb/gradients_cmds.c: regenerated.
(there is one issue left, see his patch at
http://old.homeip.net/martin/gcc-2.95.diff, I did not
copy the #define va_copy __va_copy, since I don't know
what happens here.)