2004-06-17 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpcontroller.[ch]: removed "enabled"
property. Removed GIMP_CONTROLLER_PARAM_RERIALIZE from the "name"
property because it's the hardware-determined name of this
controller instance.
* app/widgets/gimpcontrollerwheel.c
* modules/controller_linux_input.c: set the name.
* libgimpwidgets/gimpwidgets.h: #include gimpcontroller.h.
* app/widgets/gimpcontrollerinfo.[ch]: added "enabled" here
instead. Don't dispatch events if the controller is
disabled. Made everything work (not crash) with info->mapping
being NULL.
* etc/controllerrc: updated again with the changed format.
* app/widgets/gimpcontrollers.[ch]: added
gimp_controllers_get_list() which returns the container of
controllers.
* app/widgets/gimphelp-ids.h
* app/gui/preferences-dialog.c: added controller configuration
(can't change anything yet, just view the current settings).
Resurrected the "Input Devices" page and removed the "Session"
page by moving its widgets to other pages. Pack the various
"Save now"/"Clear now" buttons vertically, not horizontally.
Fixes bug #139069.
* themes/Default/images/preferences/Makefile.am
* themes/Default/images/preferences/controllers.png
* themes/Default/images/preferences/theme.png: new icons for new
prefs pages. Someone needs to make them nice...
2004-06-16 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpcontroller.[ch]: added #define
GIMP_CONTROLLER_PARAM_SERIALIZE. Made all properties serializable.
* modules/controller_linux_input.c: made "device-name"
serializable.
* app/config/gimpconfig-params.h: added macro
GIMP_CONFIG_INSTALL_PROP_POINTER() which needs to be handled
by custom (de)serialize_property() implementations.
* app/config/gimpconfig-deserialize.c
* app/config/gimpconfig-serialize.c: made object (de)serialization
work for object properties which are *not* GIMP_PARAM_AGGREGATE.
Write/parse the exact type of the object to create to enable this.
* app/core/gimpmarshal.list: new marshaller for GimpControllerInfo.
* app/widgets/gimpcontrollerinfo.[ch]: implement GimpConfigInterface
and add "controller" and "mapping" properties. Add "event-mapped"
signal which carries the action_name.
* app/widgets/gimpcontrollers.c: removed all deserialization code
and simply (de)serialize the controller container. Install a
container handler for "event-mapped" and do the action_name ->
action mapping in the callback.
* etc/controllerrc: regenerated with new syntax. Delete your old one!
2004-06-16 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpcontroller.[ch]: added
GimpController::get_event_blurb() which returns the strings that
were returned by get_event_name(). The latter returns
untranslatable event identifiers now.
* app/widgets/gimpcontrollerwheel.c
* modules/controller_linux_input.c: changed accordingly.
* app/widgets/gimpcontrollerinfo.c
* app/widgets/gimpcontrollers.c: changed the event mapping from
event-id -> action-name to event-name -> action-name.
* etc/controllerrc: changed accordingly (finally readable now).
2004-06-16 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpcontroller.[ch]: added a "name" property.
Dispatch events only if the controller is enabled.
* app/widgets/gimpcontrollerwheel.c: added controller events for
all possible modifier combinations.
* etc/Makefile.am
* etc/controllerrc: default controllerrc which maps all unused
wheel+modifier combinations to more-or-less usefull stuff.
2004-06-16 Michael Natterer <mitch@gimp.org>
Started to fix bug #106920 in a more genreral way:
* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpwidgetstypes.h
* libgimpwidgets/gimpwidgetsmarshal.list
* libgimpwidgets/gimpcontroller.[ch]: new abstract base class
which provides an API for pluggable input controller modules
(mouse wheel, usb/midi stuff etc.).
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpcontrollerwheel.[ch]: subclass of the above
which maps wheel mouse scroll events to controller events.
* app/widgets/gimpcontrollers.[ch]: manager for controllers.
reads $(gimpdir)/controllerrc and keeps a mapping of controller
events to GtkActions.
* app/gui/gui.c: initialize and shut down the controller stuff.
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_canvas_tool_events): if a wheel controller
exists, dispatch GdkEventScroll to it first and return if it was
handled.
2004-05-27 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimppickbutton.c: applied patch from Philip
Lafleur that fixes color picking for XInput devices (bug #143166).
2004-05-18 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpsizeentry.[ch] (gimp_size_entry_attach_label):
return the created label widget so that it can for example be put
into a GtkSizeGroup.
* plug-ins/libgimpoldpreview/gimpoldpreview.[ch]: removed the
optional "Preview" frame. Always put the preview into a sunken
frame.
* plug-ins/common/AlienMap2.c
* plug-ins/common/blinds.c
* plug-ins/common/flarefx.c
* plug-ins/common/glasstile.c
* plug-ins/common/grid.c
* plug-ins/common/illusion.c
* plug-ins/common/jigsaw.c
* plug-ins/common/max_rgb.c
* plug-ins/common/nlfilt.c
* plug-ins/common/noisify.c
* plug-ins/common/nova.c
* plug-ins/common/plasma.c
* plug-ins/common/polar.c
* plug-ins/common/waves.c
* plug-ins/common/wind.c: changed accordingly, HIG-ified.
2004-05-05 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpoffsetarea.[ch]: added new function
gimp_offset_area_set_pixbuf(). Started to clean up the
code a bit.
* app/gui/resize-dialog.c (resize_widget_new): use the new feature
and set a preview of the image. Fixes bug #78733.
2004-05-04 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpframe.c: added a style property to control
boldening of the frame title.
* themes/Default/gtkrc
* themes/Small/gtkrc: suppress the bold title for GimpFrames in
GimpDockables,
2004-05-04 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpframe.c (gimp_frame_size_allocate): allocate
the full width for the label widget, looks better and is more
convenient to use with activatable widgets such as toggle buttons.
2004-05-03 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpframe.c (gimp_frame_new): added a hack that
allows to get the label_spacing but no label. Useful when the frame
is packed into a GtkExpander.
* app/widgets/gimptemplateeditor.c: pack the "Image Comment" frame
into a GtkExpander to reduce clutter and dialog size.
2004-05-03 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimphelpui.[ch]: added gimp_help_id_quark()
which is G_GNUC_CONST and a new macro GIMP_HELP_ID as shortcut.
* app/widgets/gimpactiongroup.c (gimp_action_group_add_*_actions):
attach the help ID to the action using the new quark key. Call
gtk_action_group_add_action() instead of the _with_accel() variant
if the accel is the empty string (== if we explicitely want no
accel even if the stock item specifies one). Fixes warning flood
with GTK+ 2.4.1.
2004-05-03 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpframe.c: if the label_widget is a button, set
the button label as bold. Cache the indentation instead of
calculating it over and over again.
* themes/Default/gtkrc: set HIG-compliant spacing for the
action_area.
* app/widgets/gimppropwidgets.[ch]: added
gimp_prop_enum_radio_box_new() for a radio group that is no
embedded in a frame.
* app/widgets/gimpstrokeeditor.c: use a frame-less radio box for
the Stroke style.
* app/gui/file-new-dialog.c
* app/gui/grid-dialog.c
* app/gui/stroke-dialog.c: HIG-compliant spacings.
2004-05-03 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpwidgets.c: use a GimpFrame for
gimp_radio_group_new() and friends.
* themes/Default/gtkrc
* themes/Small/gtkrc: set a smaller label_spacing for GimpFrame
widgets in GimpDockables. Lame hack to keep the tool options
compact.
* app/actions/image-commands.c: changed spacing.
* app/gui/offset-dialog.c: merged check and radio buttons into a
single radio button group; changed spacing.
2004-05-02 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpframe.c (gimp_frame_size_request): take the
left margin into account.
* app/widgets/gimpgrideditor.c
* app/widgets/gimptemplateeditor.c: removed container borders that
aren't needed any longer.
2004-05-02 Sven Neumann <sven@gimp.org>
* app/widgets/gimpenumwidgets.c
* app/widgets/gimpgrideditor.c
* app/widgets/gimptemplateeditor.c: use the GimpFrame widget,
changed some spacings to better comply with the HIG.
2004-05-02 Sven Neumann <sven@gimp.org>
* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpwidgets.h
* libgimpwidgets/gimpwidgetstypes.h
* libgimpwidgets/gimpframe.[ch]: added new widget GimpFrame, a HIG
compliant variant of GtkFrame.
* app/gui/preferences-dialog.c: enable the HIG compliant mode by
default and use the new GimpFrame widget for it.
* themes/Small/gtkrc: set a smaller spacing between the GimpFrame
title label and the frame content.
2004-05-02 Sven Neumann <sven@gimp.org>
* libgimpwidgets/libgimpwidgets-docs.sgml
* libgimpwidgets/libgimpwidgets-sections.txt
* libgimpwidgets/libgimpwidgets.types
* libgimpwidgets/tmpl/gimpframe.sgml: added docs for GimpFrame.
* */tmpl/*.sgml: regenerated using gtk-doc-tools version 1.2.
2004-04-22 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpintstore.[ch]: automatically add an "(Empty)"
item if the store is empty and remove it as soon as other items
are being added.
* libgimp/gimpdrawablecombobox.c
* libgimp/gimpimagecombobox.c: removed handling of the empty list;
the store does this for us now.
2004-04-22 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpintcombobox.c (gimp_int_combo_box_new):
removed the check for first_label != NULL. Passing a NULL label
makes a perfect empty combo_box.
* plug-ins/common/newsprint.c
* plug-ins/common/spheredesigner.c: ported from GtkOptioMenu to
GimpIntComboBox.
2004-04-21 Sven Neumann <sven@gimp.org>
* libgimp/gimpdrawablecombobox.c
* libgimp/gimpimagecombobox.c
* libgimp/gimpmenu.c: changed the label for the empty menu from
"None" to "Empty" since that's what GTK+ uses.
* libgimpwidgets/gimpintcombobox.[ch]: added convenience function
gimp_int_combo_box_connect().
* plug-ins/common/bumpmap.c
* plug-ins/common/compose.c
* plug-ins/common/depthmerge.c
* plug-ins/common/displace.c
* plug-ins/common/lic.c
* plug-ins/common/warp.c: ported to GimpDrawableComboBox.
* plug-ins/Lighting/lighting_ui.c
* plug-ins/MapObject/mapobject_ui.c
* plug-ins/common/sample_colorize.c: use
gimp_int_combo_box_connect(). This restores the correct behaviour
of setting the drawable_ID to the first drawable from the list if
it's invalid.
2004-04-21 Sven Neumann <sven@gimp.org>
* libgimp/gimpmenu.c (gimp_menu_add_none): use the same label as
in the new combo_box widgets.
* libgimpwidgets/gimpintcombobox.[ch]
* libgimpwidgets/gimpintstore.[ch]: use LibGIMP copyright headers.
2004-04-21 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpintcombobox.[ch]: added new functions
gimp_int_combo_box_[prepend|append}.
* plug-ins/common/sample_colorize.c: ported to GimpDrawableComboBox.
2004-04-20 Sven Neumann <sven@gimp.org>
* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpwidgets.h
* libgimpwidgets/gimpwidgetstypes.h
* libgimpwidgets/gimpintstore.[ch]: added a GimpIntStore, derived
from GtkListStore, to be used by GimpIntComboBox and also by the
image and drawable menus.
* libgimpwidgets/gimpintcombobox.c: use the new GimpIntStore.
* app/widgets/gimpenumstore.[ch]: derive from GimpIntStore,
removed API that is provided by the parent class.
* app/widgets/gimpenumcombobox.[ch]: derive from GimpIntComboBox,
removed API that is provided by the parent class.
* app/gui/resize-dialog.c
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* app/widgets/gimpcolorframe.c
* app/widgets/gimphistogrameditor.c
* app/widgets/gimppropwidgets.c
* app/widgets/gimpstrokeeditor.c: changed accordingly.
2004-04-20 Sven Neumann <sven@gimp.org>
* app/widgets/gimpenumstore.[ch]
* app/widgets/gimpenumcombobox.c: let the pixbuf renderer take care
of rendering the pixbuf from the stock_id.
2004-04-20 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpmemsizeentry.c
* modules/cdisplay_proof.c: ported to GimpIntComboBox.
* libgimpwidgets/gimpwidgets.[ch]: declared the gimp option_menu
API as deprecated and removed the code here.
* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpoldwidgets.[ch]: new files with deprecated
code, guarded with #ifndef GIMP_DISABLE_DEPRECATED ... #endif.
* libgimpwidgets/gimpintcombobox.h: added G_BEGIN_DECLS, G_END_DECLS.
* configure.in (CPP_FLAGS): added -DGIMP_DISABLE_DEPRECATED.
* app/widgets/gimpwidgets-constructors.c: added a #warning and
#undef GIMP_DISABLE_DEPRECATED. The paint mode menu is the last
remaining user of gimp_int_option_menu_new().
2004-04-20 Sven Neumann <sven@gimp.org>
* app/widgets/gimpwidgets-constructors.[ch]: added new function
gimp_paint_mode_menu_set_history().
* app/gui/brush-select.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimppropwidgets.c: use the new function instead of
the deprecated gimp_int_option_menu API.
2004-04-20 Sven Neumann <sven@gimp.org>
* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpwidgets.h
* libgimpwidgets/gimpwidgetstypes.h
* libgimpwidgets/gimpintcombobox.[ch]: added new widget
GimpIntComboBox, a GtkComboBox with a simple list store to hold a
label and an associated integer value. This is going to replace
gimp_int_option_menu.
* plug-ins/common/jpeg.c
* plug-ins/print/gimp_main_window.c: ported these two plug-ins to
the newly added widget.
2004-04-20 Sven Neumann <sven@gimp.org>
* libgimpwidgets/libgimpwidgets-docs.sgml
* libgimpwidgets/libgimpwidgets-sections.txt
* libgimpwidgets/libgimpwidgets.types
* libgimpwidgets/tmpl/gimpintcombobox.sgml: added docs for the new
GimpIntComboBox widget.
2004-04-19 Sven Neumann <sven@gimp.org>
* menus/Makefile.am
* menus/gtkuimanager.dtd: added a DTD (basically copied from the
GTK+ API docs). Added a "validate" rule that allows to easily
validate the XML files.
* menus/*.xml: added a DOCTYPE declaration that refers to the
newly added DTD.
* app/widgets/gimpenumstore.[ch]:
* app/widgets/gimpenumcombobox.c: documented the new API.
2004-04-19 Sven Neumann <sven@gimp.org>
* app/widgets/gimpenumstore.[ch]: avoid unnecessary casts.
* app/widgets/gimpenumcombobox.[ch]: added an API that inserts a
GtkTreeModelFilter to make items invisible. This is a kludge to
workaround bug #135875.
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* app/widgets/gimphistogrameditor.c: use the new function to hide
histogram channels that are not available with the current
drawable.
2004-03-20 Sven Neumann <sven@gimp.org>
* configure.in: set version number to 2.0.0, version string to
"2.0rc1".
* app/Makefile.am
* libgimp/Makefile.am
* libgimpbase/Makefile.am
* libgimpcolor/Makefile.am
* libgimpmath/Makefile.am
* libgimpmodule/Makefile.am
* libgimpthumb/Makefile.am
* libgimpwidgets/Makefile.am
* tools/Makefile.am: changed 1.3 to 2.0 all over the place.
* README
* NEWS: updated for the 2.0rc1 release.
2004-03-20 Sven Neumann <sven@gimp.org>
* app/widgets/gimppropwidgets.c (gimp_prop_size_entry_callback):
avoid to set the unit property with every size change; only set it
if it actually changed.
* app/core/gimpimage-undo-push.c (gimp_image_undo_push_text_layer):
allow to pass a GParamSpec that identifies a single text property
to be changed. In this case, don't store a GimpText object on the
undo stack but only the changed value.
* app/tools/gimptexttool.c: use the new undo feature to reduce the
memory footprint of text undo for the common case.
* app/text/gimptextlayer.c: changed accordingly.
2004-03-19 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpwidgets.c (gimp_scale_entry_new_internal): if
a tooltip is given, put the label into an eventbox (bug #137612).