2007-02-17 Michael Natterer <mitch@gimp.org>
* app/core/gimp-utils.[ch]
* app/core/gimp.c
* app/widgets/gimpcontrollerinfo.c
* libgimpwidgets/gimpcontroller.c: removed various boolean_handled
signal accumulators and use g_signal_accumulator_true_handled().
svn path=/trunk/; revision=21933
2006-10-01 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpcolordisplay.[ch]
* libgimpwidgets/gimpcontroller.[ch]: added "const gchar *stock_id"
members to the class structs.
* libgimpwidgets/gimpstock.[ch]
* themes/Default/images/Makefile.am
* themes/Default/images/stock-controller-16.png
* themes/Default/images/stock-controller-24.png
* themes/Default/images/stock-controller-keyboard-16.png
* themes/Default/images/stock-controller-keyboard-24.png
* themes/Default/images/stock-controller-linux-input-16.png
* themes/Default/images/stock-controller-linux-input-24.png
* themes/Default/images/stock-controller-midi-16.png
* themes/Default/images/stock-controller-midi-24.png
* themes/Default/images/stock-controller-wheel-16.png
* themes/Default/images/stock-controller-wheel-24.png
* themes/Default/images/stock-display-filter-colorblind-16.png
* themes/Default/images/stock-display-filter-colorblind-24.png
* themes/Default/images/stock-display-filter-contrast-16.png
* themes/Default/images/stock-display-filter-contrast-24.png
* themes/Default/images/stock-display-filter-gamma-16.png
* themes/Default/images/stock-display-filter-gamma-24.png
* themes/Default/images/stock-display-filter-lcms-16.png
* themes/Default/images/stock-display-filter-lcms-24.png
* themes/Default/images/stock-display-filter-proof-16.png
* themes/Default/images/stock-display-filter-proof-24.png: added
icons for the various display filters and controllers. Made them
as ugly as sin to trigger some replacement pain in the relevant
people ;)
* modules/cdisplay_colorblind.c
* modules/cdisplay_gamma.c
* modules/cdisplay_highcontrast.c
* modules/cdisplay_lcms.c
* modules/cdisplay_proof.c
* modules/controller_linux_input.c
* modules/controller_midi.c
* app/widgets/gimpcontrollerkeyboard.c
* app/widgets/gimpcontrollerwheel.c: set icons.
* app/widgets/gimpcolordisplayeditor.c
* app/widgets/gimpcontrollerinfo.c
* app/widgets/gimpcontrollerlist.c: show them in the display filter
and controller GUIs.
2005-12-20 Michael Natterer <mitch@gimp.org>
* libgimp/*.c
* libgimpconfig/*.c
* libgimpmodule/*.c
* libgimpthumb/*.c
* libgimpwidgets/*.c: port to G_DEFINE_TYPE() and friends. Some
related cleanup.
2005-04-07 Sven Neumann <sven@gimp.org>
* app/widgets/gimpmessagebox.c: plugged a small memleak.
* libgimpwidgets/gimpcontroller.c: added a finalizer and free the
allocated strings.
2005-02-05 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcontrollers.c (gimp_controllers_init): removed
some eeeky code that used to fiddle with the GimpController type.
* libgimpwidgets/gimpcontroller.c (gimp_controller_get_type): add
the GimpConfig interface here, where it belongs.
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-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.