Fri Feb 13 00:54:59 2004 Matthias Clasen <maclas@gmx.de>
Fix for #104811, Padraig O'Briain:
* gtk/gtkscale.h:
* gtk/gtkscale.c (_gtk_scale_clear_layout):
* gtk/gtkscale.c (gtk_scale_get_layout_offsets):
* gtk/gtkscale.c (gtk_scale_get_layout): New functions to determine the
text and its position from a GtkScale, to make it more accessible.
* gtk/gtkhscale.c (gtk_hscale_get_layout_offsets):
* gtk/gtkvscale.c (gtk_vscale_get_layout_offsets): Implementations of the
new GtkScale vfunc.
Thu Feb 12 23:55:08 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtktooltips.h:
* gtk/gtktooltips.c (gtk_tooltips_get_info_from_tip_window): New
function to improve the accessibility of tooltips. (#114851,
Padraig O'Briain)
Thu Feb 12 23:16:04 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_popup):
* gtk/gtkcombobox.c (gtk_combo_box_popdown): Make these public and
add docs.
Thu Feb 12 11:05:16 2004 Manish Singh <yosh@gimp.org>
* gdk/x11/gdkproperty-x11.c (gdk_property_get): Assign xtype using
gdk_x11_atom_to_xatom_for_display () when type != GDK_NONE.
* gtk/gtkselection.c (_gtk_selection_request): Use GDK_NONE in
gdk_property_get call instead of 0.
* docs/reference/gdk/tmpl/properties.sgml: Document the above
as GDK_NONE instead of simply 0.
Fri Feb 6 23:40:24 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkfilechooserdefault.c (create_file_list): clean up the
packing of the file selector.
Sat Feb 7 00:06:44 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkaccelmap.[hc]: Add change notification for GtkAccelMap,
by on-demand instantiating a singleton object with a "changed"
signal.
* gtk/gtkmarshalers.list (VOID:STRING,UINT,FLAGS): Add marshaller
for GtkAccelMap::changed.
Sun Feb 1 00:30:53 2004 Matthias Clasen <maclas@gmx.de>
* gdk/tmpl/general.sgml: Improve the documentation of event_mask for
gdk_pointer_grab. (#132223, Pascal Haakmat)
Fri Jan 30 00:13:46 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombo.c (gtk_combo_set_popdown_strings): Allow NULL
for strings to clear the list. (#105386, Marco Pesenti Gritti)
Wed Jan 28 22:51:41 2004 Matthias Clasen <maclas@gmx.de>
* gtk/tmpl/gtktreeviewcolumn.sgml: Remove unfinished sentence, until
jrb finds time to write a real description.
2004-01-23 Federico Mena Quintero <federico@ximian.com>
* gtk/migrating-checklist.sgml: Note that a widget must be
focusable for the menu keybindings to work.
2004-01-22 Federico Mena Quintero <federico@ximian.com>
* gtk/migrating-checklist.sgml: Mention when it is useful to use
GdkEventExpose.region rather than GdkEventExpose.area.
2004-01-22 Federico Mena Quintero <federico@ximian.com>
* gtk/migrating-checklist.sgml: Point to GtkEntry as an example of
a widget that uses a custom function to position its popup menu.
2004-01-22 Federico Mena Quintero <federico@ximian.com>
* gtk/migrating-checklist.sgml: New chapter with a "Migration
Checklist" of things people need to do to be good citizens in the
GTK+ world. This is mainly a way to tell people about interesting
APIs that they should use instead of hand-hacked approaches.
* gtk/gtk-docs.sgml: Added migrating-checklist.sgml.
* gtk/Makefile.am (content_files): Likewise.
Thu Jan 15 23:54:46 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtk-docs.sgml: Move the old chapters about 1.2 and 2.0
changes to Federicos new 'migrating' part.
Mon Jan 12 23:40:34 2004 Matthias Clasen <maclas@gmx.de>
* tests/testmerge.c: Adjust to the new connect_proxy signals.
* gtk/gtkuimanager.c
* gtk/gtkactiongroup.c
* gtk/gtkaction.c: Move the connect_proxy and disconnect_proxy signals
from GtkAction to GtkActionGroup and proxy it on GtkUIManager. This
removes the confusion between the disconnect_/connect_proxy signals
and the (unrelated) virtual functions of the same name and aligns
the setup with the pre_/post_activate signals.
2004-01-12 Jody Goldberg <jody@gnome.org>
* gtk/gtkaction.c (connect_proxy) : only connect activate for menus
with no submenus otherwise it looks like we activate every time a
submenu opens.
2004-01-10 Jody Goldberg <jody@gnome.org>
* gtk/gtkuimanager.c (d) : Add a debug macro to quiet the spew.
s/merge_signals/ui_manager_signals/ for readability.
(gtk_ui_manager_class_init) : add pre_activate and post_activate
signals.
(cb_proxy_pre_activate) : new.
(cb_proxy_post_activate) : new.
(gtk_ui_manager_insert_action_group) : connect the proxies for
GtkActionGroup::pre/post_activate
(gtk_ui_manager_remove_action_group) : disconnect them.
* gtk/gtkactiongroup.c (gtk_action_group_class_init) : add
'sensitive', and 'visible' properties. Also add pre_activate and
post_activate signals to help deal with activations at a higher
level (eg GtkUIManager)
(gtk_action_group_init) : init sensitive and visible
(gtk_action_group_set_property) : add sensitive and visible
(gtk_action_group_get_property) : add sensitive and visible
(gtk_action_group_get_sensitive) : new.
(gtk_action_group_get_visible) : new.
(cb_set_action_sensitivity) : new with minor optimization that only
signals sensitivity changes if the action could possibly change.
(cb_set_action_visiblility) : ditto.
(gtk_action_group_set_sensitive) : new. walk the actions directly
rather than using notify::sensitive because that is simpler, easier
to read, and more efficient.
(gtk_action_group_set_visible) : ditto.
(gtk_action_group_add_action) : Each action can only be in 1 group,
set GtkAction::action_group.
(gtk_action_group_remove_action) : clear it.
(gtk_action_group_add_toggle_actions_full) : warning suppression.
(gtk_action_group_add_radio_actions_full) : warning suppression.
(_gtk_action_group_emit_pre_activate) : new protected routine for use
by GtkAction.
(_gtk_action_group_emit_post_activate) : ditto.
* gtk/gtkaction.c (gtk_action_class_init) : add 'action_group' property.
(gtk_action_init) : initialize it.
(gtk_action_get_property) : get.
(gtk_action_set_property) : set it via
(gtk_action_set_action_group) : new function.
(gtk_action_sync_sensitivity) : new routine to sync proxy sensitivity
with the logical sensitivity (action & group) rather than the simple
action::sensitivity.
(gtk_action_sync_visible) : use gtk_action_is_visible to handle
logical visibility (action & group) rather than the simple
action::visible. Use widget show/hide directly.
(connect_proxy) : handle the custom sensitivity handler.
Make the TOOL_BUTTON signals more general and support TOOL_ITEM
directly, with special cases for TOOL_BUTTON. Still not especially
good it might be useful to handle label/use_underline by parmspec
lookup. Those are likely to be implemented by custom types, and are
assumed to exist in GtkToolItem.
(disconnect_proxy) : disconnect the new sensitivity handler.
(_gtk_action_emit_activate) : add pre/post signals.
(gtk_action_activate) : use logical sensitivity.
(gtk_action_is_sensitive) : logical sensitivity.
(gtk_action_get_sensitive) : actual sensitivity.
(closure_accel_activate) : use logical sensitivity.
Fri Jan 9 00:34:57 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkuimanager.h:
* gtk/gtkuimanager.c (gtk_ui_manager_get_toplevels): New function to
obtain a list of toplevel widgets constructed by the ui manager.
* gtk/gtkuimanager.h (GtkUIManagerItemType): Change to flags, so that
the values can be combined for gtk_ui_manager_get_toplevels().
* tests/testmerge.c: Add a "Dump toplevels" button to test
gtk_ui_manager_get_toplevels().
2004-01-06 Federico Mena Quintero <federico@ximian.com>
* gdk-pixbuf/tmpl/gdk-pixbuf.sgml: Added a section on how to
compute pixel offsets for gdk_pixbuf_get_pixels().
Wed Jan 7 01:17:36 2004 Matthias Clasen <maclas@gmx.de>
* gdk-pixbuf-loader.c (gdk_pixbuf_loader_size_func):
* gdk-pixbuf-loader.c (gdk_pixbuf_loader_set_size):
* gdk-pixbuf-loader.c (gdk_pixbuf_loader_init): Make it possible
to call gdk_pixbuf_loader_set_size (loader, 0, 0) by changing
the initial values of priv->width/height to -1.
* io-tiff.c (tiff_image_parse):
* io-ras.c (RAS2State):
* io-pnm.c (gdk_pixbuf__pnm_image_load_increment):
* io-pcx.c (gdk_pixbuf__pcx_load_increment):
* io-jpeg.c (gdk_pixbuf__jpeg_image_load_increment):
* io-png.c (png_info_callback):
* io-ico.c (DecodeHeader):
* io-bmp.c (DecodeHeader): Call size_func once the size is known,
even if the module can't make use of the scaling information. If
size_func returns 0, don't allocate a pixbuf and return, if
necessary with an error.
* gdk-pixbuf.h:
* gdk-pixbuf-io.c (gdk_pixbuf_get_file_info): A new function
to determine the type and size of an image file without loading
it completely. (#53725)
Mon Dec 29 01:36:22 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkaccelmap.[hc]: (gtk_accel_map_lock_path,
gtk_accel_map_unlock_path): Add a way to lock individual accelerator
paths. (#73207, reported by Havoc Pennington)
Sun Dec 21 01:54:40 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkmenushell.h:
* gtk/gtkmenushell.c (gtk_menu_shell_cancel): New function
to emit the "cancel" signal on a menu shell.
* gtk/gtkmenu.c (gtk_menu_key_press):
* gtk/gtkoptionmenu.c (gtk_option_menu_remove_menu):
* gtk/gtkmenubar.c (_gtk_menu_bar_cycle_focus): Use the
new function instead of directly emitting the
signal. (#81803, Owen Taylor)
Tue Dec 16 01:46:46 2003 Matthias Clasen <maclas@gmx.de>
Do not interpret distant clicks as double-clicks (#116541,
Bernhard Walle):
* gdk/gdkdisplay.h (struct GdkDisplay): Add new fields
double_click_distance, button_x and button_y.
* gdk/gdkdisplay.c (gdk_display_init): Initialize the new fields.
* gdk/gdkdisplay.h:
* gdk/gdkevents.c (gdk_display_set_double_click_distance):
New function to set the double click distance on a display.
* gdk/gdkevents.c: Take double click distance into account
when generating single, double or triple clicks.
* gtk/gtksettings.c: Add new setting "gtk-double-click-distance".
* gdk/x11/gdkevents-x11.c: Add the XSetting
"Net/DoubleClickDistance" and map it to "gtk-double-click-distance".
Thu Dec 11 01:57:05 2003 Matthias Clasen <maclas@gmx.de>
* gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): Move
the documentation for signals inline, to get proper parameter
documentation. (#128977)
Thu Dec 11 00:35:12 2003 Matthias Clasen <maclas@gmx.de>
Changes to allow "no input" windows (#64613):
* gdk/gdkwindow.h (struct _GdkWindowObject): Add a new boolean
field accept_focus.
* gdk/gdkwindow.h (gdk_window_set_accept_focus): New function to
set it.
* gtk/gtkwindow.[hc]: Add a boolean property "accept_focus"
and gtk_window_get_focus() and gtk_window_set_focus().
* gdk/win32/gdkwindow-win32.c (gdk_window_new):
* gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
* gdk/x11/gdkwindow-x11.c (gdk_window_set_new):
Initialize the accept_focus field to TRUE.
* gdk/win32/gdkwindow-win32.c (gdk_window_set_accept_focus):
* gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_accept_focus):
* gdk/x11/gdkwindow-x11.c (gdk_window_set_accept_focus):
Implementations for the various backends. The Win32 and linux-fb
implementations set the accept_focus field, but don't use it yet
to actually implement noinput windows. The X implementation updates
the WM_HINTS to select the globally active input model (see the
ICCCM) if accept_focus is FALSE.
* gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Ignore the
WM_TAKE_FOCUS message if accept_focus is FALSE.
2003-12-09 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (shortcuts_append_home): Use "Home"
rather than "Username's Home" (#125964).
(shortcuts_selection_changed_cb): New callback, check the
sensitivity of the Remove Bookmark button at the right time.
(shortcuts_row_activated_cb): It is not necessary to check the
sensitivity here.
Wed Dec 10 00:06:24 2003 Matthias Clasen <maclas@gmx.de>
Improve the GDK API for dealing with group leaders (#119375):
* gdk/gdkwindow.h:
* gdk/x11/gdkwindow-x11.c (gdk_window_get_group): New function to
get the group leader of a toplevel window as a GdkWindow.
* gdk/gdkdisplay.h:
* gdk/x11/gdkdisplay-x11.c (gdk_display_get_default_group): New
function to get the default group leader as a GdkWindow.
* gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add a field for
the GdkWindow of the default group leader.
* gdk/x11/gdkdisplay-x11.c (gdk_display_open): Construct the GdkWindow
for the default group leader.
2003-12-08 Federico Mena Quintero <federico@ximian.com>
* gtk/migrating-GtkAction.sgml: New chapter about how to migrate
from gnome-ui/bonobo-ui/etc. to GtkAction.
* gtk/gtk-docs.sgml: Integrated the above.
* gtk/Makefile.am (content_files): Added migrating-GtkAction.sgml.
Mon Dec 8 10:54:44 2003 Owen Taylor <otaylor@redhat.com>
* === Released 2.3.1 ===
* NEWS: Updates for 2.3.1
* configure.in: Version 2.3.1, interface age 0, binary age 301.
* gtk/gtkmenuitem.c (gtk_menu_item_can_activate_accel):
Rename from gtk_menu_item_real_can_activate_accel() to
match GTK+ convention, improve comment.
* gtk/gtkwidget.c: Document gtk_widget_can_activate_accel(),
can ::can-activate-accel signal.
* gtk/gtkwidget.c (closure_accel_activate): Fix spelling
in comment.
* gtk/gtkmenu.c (gtk_menu_real_can_activate_accel): Clean
up comment.
* gtk/gtkcellview{,menuitem}.[ch]: Move GET_PRIVATE() macros
into the .c file.
Mon Dec 8 12:09:21 2003 Owen Taylor <otaylor@redhat.com>
* gtk/gtkicontheme.c (find_builtin_icon): Fix a
missing 'else'. (#128816, Jorn Baayen)
2003-12-08 Federico Mena Quintero <federico@ximian.com>
* gtk/migrating-GtkAction.sgml: New chapter about how to migrate
from gnome-ui/bonobo-ui/etc. to GtkAction.
* gtk/gtk-docs.sgml: Integrated the above.
* gtk/Makefile.am (content_files): Added migrating-GtkAction.sgml.