1. 30 Jan, 2002 1 commit
    • Owen Taylor's avatar
      Consistently use GdkModifierType. (#66950, Mark Patton) · a75a0d49
      Owen Taylor authored
      Tue Jan 29 21:50:28 2002  Owen Taylor  <otaylor@redhat.com>
      
              * gtk/gtkaccelmap.[ch] gtk/gtkbindings.[ch] gtk/gtkwidget.[ch]:
              Consistently use GdkModifierType. (#66950, Mark Patton)
      
              * gtk/gtkimagemenuitem.c (gtk_image_menu_item_new_from_stock):
              For consistency with gtk_button_new_from_stock(), fall back
              to gtk_image_menu_item_new_with_mnemnonic(). (#65944,
              Havoc Pennington)
      
              * gtk/gtkitemfactory.[ch] (gtk_item_factory_path_from_widget):
              Make G_CONST_RETURN. (#68527, Matt Wilson)
      a75a0d49
  2. 21 Nov, 2001 1 commit
    • Owen Taylor's avatar
      Ref-sink the tooltips object. Ref-sink the tooltips object. Fix some · c860866d
      Owen Taylor authored
      Wed Nov 21 11:41:29 2001  Owen Taylor  <otaylor@redhat.com>
      	* tests/testgtk.c (create_tooltips): Ref-sink the tooltips object.
      	* gtk/gtktoolbar.c (gtk_toolbar_init): Ref-sink the tooltips object.
      	* gtk/gtkfilesel.c (open_new_dir): Fix some constness warnings.
      	* gtk/gtkaccelgroup.c: Rename gtk_accel_groups_from_acceleratable()
      	back to gtk_accel_groups_from_object(), change @acceleratable
      	parameter to gtk_accel_groups_activate() accordingly.
      	* gtk/gtkaccelmap.c (gtk_accel_map_lookup_entry): Remove
      	left-over comment about quark return.
      	* gtk/gtkaccelmap.h: Fix spelling of gtk_accel_map_foreach_unfiltered().
       	* gtk/gtk-boxed.defs (GtkIconSource): added as a boxed type.
              (Patch from Matt Wilson)
      	* gtk/gtkobject.c (gtk_object_finalize): Warn if a floating
      	object is finalized.
      c860866d
  3. 20 Nov, 2001 1 commit
    • Tim Janik's avatar
      applied patch from owen to get rid of accel map notifiers. changed things · 9800f731
      Tim Janik authored
      Tue Nov 20 21:25:08 2001  Tim Janik  <timj@gtk.org>
      
      	* applied patch from owen to get rid of accel map notifiers.
      	changed things to fix reentrancy and API as discussed on gtk-devel.
      
      	* gtk/gtkaccelgroup.[hc]:
      	(gtk_accel_group_finalize): unregister this accel group from all
      	accel map paths.
      	(accel_closure_invalidate): handle invalidation of closures by
      	disconnecting their accelerators.
      	(quick_accel_add): move closure connection and changed notification
      	into this function to reduce code duplication. don't emit change
      	notification on closurers without accelerators.
      	(quick_accel_remove): rewrite, do the exact opposite of quick_accel_add
      	for a GtkAccelGroupEntry.
      	(gtk_accel_group_connect): get rid of the accel_path_quark argument.
      	(gtk_accel_group_connect_by_path): new function to add accelerators
      	with an accel path.
      	(gtk_accel_group_disconnect_closure): new function, disconnect a
      	closure from of an accel group.
      	(gtk_accel_group_disconnect): loop over all closure for a accel_ley,
      	accel_mods pair and remove them.
      	(_gtk_accel_group_reconnect): new function that basically does
      	gtk_accel_group_disconnect_closure() and
      	gtk_accel_group_connect_by_path() once an accel path changed.
      	(gtk_accel_groups_disconnect_closure): remove this, there's
      	gtk_accel_group_disconnect_closure().
      
      	* gtk/gtkaccelmap.[hc]: keep list of accel groups per entry now,
      	nuke notifiers.
      	(_gtk_accel_path_is_valid): make this non-static for
      	gtkwidget.c and gtkaccelgroup.c assertions.
      	(gtk_accel_map_add_notifer): removed this function.
      	(gtk_accel_map_remove_notifer): same.
      	(_gtk_accel_map_add_group):
      	(_gtk_accel_map_remove_group): (un-)register accel groups, with
      	accel paths for correct propagation.
      	(gtk_accel_map_add_entry): return void.
      	(gtk_accel_map_lookup): return gboolean instead of GQuark.
      
      	* gtk/gtkitemfactory.c (gtk_item_factory_add_foreign): always
      	set accel_path on widgets.
      
      	* gtk/gtkwidget.[hc]:
      	(accel_path_changed): got rid of this, changes are handled by
      	accel maps internally now.
      	(_gtk_widget_set_accel_path): get things to work without notifiers.
      	(gtk_widget_list_accel_closures): list accel closures of a widget.
      
      	* gtk/gtkwindow.[hc]: rename ::accels_changed, to ::keys_changed.
      9800f731
  4. 13 Nov, 2001 1 commit
    • Tim Janik's avatar
      added gtkaccelmap.sgml. other updates. · d07573c0
      Tim Janik authored
      Mon Nov 12 23:06:38 2001  Tim Janik  <timj@gtk.org>
      
              * added gtkaccelmap.sgml. other updates.
      
      Mon Nov 12 23:08:37 2001  Tim Janik  <timj@gtk.org>
      
      	* gtk/maketypes.awk: fix type utils generation on unix.
      
      	* gtk/gtkaccelmap.[hc]: new files, implementing a global accelerator
      	registry.
      
      	* gtk/gtkaccelgroup.[hc]: major API/implementation revamp:
      	removed GTK_ACCEL_SIGNAL_VISIBLE, gtk_accel_group_get_default,
      	gtk_accel_group_get_entry, gtk_accel_group_(un)lock_entry,
      	gtk_accel_group_add/remove, gtk_accel_group_handle_add/remove,
      	gtk_accel_group_create_add/remove, gtk_accel_group_entries_from_object.
      	introduced ::accel_changed signal for change notification, and
      	gtk_accel_group_connect/disconnect to connect closures to accel groups.
      	made gtk_accel_group_attach/detach and gtk_accel_group_activate private
      	functions.
      	deprecated gtk_accel_group_ref/unref.
      
      	* gtk/gtkaccellabel.[hc]: changes to make accellabels pay attention
      	to accel group changed notification and basically operate on closures.
      	removed gtk_accel_label_get_accel_object and
      	gtk_accel_label_set_accel_object.
      	introduced gtk_accel_label_set_accel_closure, and for convenience,
      	gtk_accel_label_set_accel_widget.
      
      	* gtk/gtkitemfactory.[hc]: removed accelerator propagation code
      	which mostly moved into gtkaccelmap.[hc].
      	removed gtk_item_factory_parse_rc*, gtk_item_factory_dump_*
      	and gtk_item_factory_print_func.
      
      	* gtk/gtkmain.c: call _gtk_accel_map_init().
      
      	* gtk/gtkmenuitem.[hc]: introduced gtk_menu_item_set_accel_path(),
      	that associates an accelerator path with menu items, through which
      	persistent accelerator settings on menu items are enabled.
      
      	* gtk/gtkmenu.[hc]: added gtk_menu_set_accel_path() so accelerator
      	paths of menu item can be default constructed to allow installation
      	of accelerators on menu items that don't come with an accelerator
      	binding by default.
      
      	* gtk/gtksettings.c: fix STRING type rc settings by special casing
      	them appropriately in the parser.
      
      	* gtk/gtksignal.[hc]: allow a class function offset of 0 for
      	gtk_signal_newv().
      
      	* gtk/gtkwidget.[hc]: accelerator API revamp.
      	removed ::accelerator_add/remove signals, gtk_widget_accelerator_signal,
      	gtk_widget_accelerators_locked, gtk_widget_remove_accelerators and
      	gtk_widget_(un)lock_accelerators.
      	accelerators maintained through gtk_widget_add/remove_accelerator()
      	are not runtime changable now, the correct sequence to setup a
      	widget for runtime changable accelerators is now:
      	  gtk_accel_map_add_entry(accel_path, key, mods);
      	  _gtk_widget_set_accel_path(widget, accel_path, accel_group);
      
      	* gtk/gtkwindow.[hc]: accelerator changes, proxy and coalesce accel
      	group changes (as well as mnemonic changes) through the new signal
      	::accels_changed.
      
      Sat Nov 10 12:08:56 2001  Tim Janik  <timj@gtk.org>
      
      	* gtk/gtksettings.c (_gtk_settings_parse_convert): properly handle
      	GString->string conversions.
      d07573c0