2004-11-12 Matthias Clasen <mclasen@redhat.com>
Changes to make gdk-pixbuf threadsafe (#157310, #157306,
Colin Walters):
* gdk-pixbuf-io.h (enum GdkPixbufFormatFlags): Add
GDK_PIXBUF_FORMAT_THREADSAFE to indicate that an image loader
is threadsafe.
* gdk-pixbuf-io.c (get_file_formats, _gdk_pixbuf_load_module):
Use a lock to make initialization of global data structures
threadsafe.
* gdk-pixbuf-private.h:
* gdk-pixbuf-io.c (_gdk_pixbuf_lock, _gdk_pixbuf_unlock):
Auxiliary functions which use another lock to protect
threadunsafe image loaders.
* gdk-pixbuf-io.c (gdk_pixbuf_real_save):
(save_to_callback_with_tmp_file):
(gdk_pixbuf_real_save_to_callback):
(gdk_pixbuf_new_from_xpm_data):
(_gdk_pixbuf_generic_image_load):
* gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file):
* gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module):
(gdk_pixbuf_loader_close):
(gdk_pixbuf_loader_finalize):
Use _gdk_pixbuf_lock() and _gdk_pixbuf_unlock().
* io-ani.c, io-bmp.c, io-gif.c, io-ico.c:
* io-jpeg.c, io-pcx.c, io-png.c, io-pnm.c:
* io-ras.c, io-tga.c, io-wbmp.c, io-xbm.c:
* io-xpm.c: Mark as threadsafe.
* io-tiff.c: Remove pointless locking, mark as
threadunsafe.
2004-11-09 Matthias Clasen <mclasen@redhat.com>
Avoid resizing GtkStatusbar if the text of the label
changes (#90955, He Qiangqiang, fix proposed by
Owen Taylor, patch by Christian Persch)
* gtk/gtklabel.[hc]: Add a boolean single-line-mode property
which causes the label height not to depend on the actual
text, but only on the font.
* gtk/gtkstatusbar.c (gtk_statusbar_init): Turn on
single-line-mode for the label.
2004-11-07 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilefilter.h:
* gtk/gtkfilefilter.c (gtk_file_filter_add_pixbuf_formats):
New convenience function to add a filter for image files
which can be loaded by GdkPixbuf. (#145388, Anders Carlsson)
* tests/testfilechooser.c: Test the image filter.
2004-11-06 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_set_property):
Don't support CREATE_FOLDER and SAVE for now. UI authorities
object to it. (#157384, Seth Nickell)
2004-11-04 Bastien Nocera <hadess@hadess.net>
* gtk/gtkiconfactory.c: (get_default_icons): Make sure the RTL
variants are used for media icons
* gtk/stock-icons/Makefile.am: update following the addition of
the 2 Play icon RTL variants
* gtk/stock-icons/stock_media_play_rtl_16.png: added
* gtk/stock-icons/stock_media_play_rtl_24.png: added
2004-11-04 Bastien Nocera <hadess@hadess.net>
* gtk/tmpl/gtkstock.sgml: add RTL variants for all the media icons
needing it
2004-11-03 Matthias Clasen <mclasen@redhat.com>
* gtk/migrating-GtkIconView.sgml: Add a first version of
a GnomeIconList --> GtkIconView migration chapter.
2004-11-01 Matthias Clasen <mclasen@redhat.com>
* gtk/question_index.sgml: Add a "ref and sink" question.
(#156865, Philip Langdale, text based on a comment by Owen
Taylor)
* gtk/tmpl/gtkrc.sgml: Document im_module_file and settings
assignments as toplevel statements.
2004-10-31 Matthias Clasen <mclasen@redhat.com>
Add api for image transfer via copy-and-paste (#156408)
* gtk/gtkclipboard.c (gtk_clipboard_set_image)
(gtk_clipboard_request_image, gtk_clipboard_wait_for_image)
(gtk_clipboard_wait_is_image_available): New functions for image
transfer.
* gtk/gtkselection.h:
* gtk/gtkselection.c (gtk_selection_data_targets_include_image):
New function, similar to gtk_selection_data_targets_include_text().
2004-10-29 Matthias Clasen <mclasen@redhat.com>
* gtk/question_index.sgml: Move the "tail" question to the
text view section.
Add an entry for "why are my types not registered". (#156809,
Q by Salvador Fandiño, A by Owen Taylor)
2004-10-25 Carlos Garnacho Parro <carlosg@gnome.org>
Fix for #118764, David Bordoley:
* gtk/gtkmessagedialog.[ch]
(gtk_message_dialog_format_secondary_text),
(gtk_message_dialog_format_secondary_format): API additions to
create HIG-like dialogs
* demos/gtk-demo/dialog.c: Use the new API in the example
* docs/reference/gtk/gtk-sections.txt:
* docs/reference/gtk/tmpl/gtkmessagedialog.sgml: documented API
additions
2004-10-25 Matthias Clasen <mclasen@redhat.com>
Add a public setting for button ordering (#74669, Owen Taylor)
* gtk/gtksettings.c (gtk_settings_class_init): Add a
gtk-alternative-button-order setting.
* gtk/gtkdialog.h:
* gtk/gtkdialog.c (gtk_alternative_dialog_button_order): A
getter for the alternative button order setting.
* gtk/gtkdialog.c (gtk_dialog_set_alternative_button_order):
New function to install an alternative button order for a
dialog.
* gtk/gtkfilesel.c (gtk_file_selection_init):
* gtk/gtkfontsel.c (gtk_font_selection_dialog_init):
* gtk/gtkmessagedialog.c (gtk_message_dialog_add_buttons):
* gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init):
* gtk/gtkfilechooserdefault.c (location_popup_handler):
Set up an alternative button order.
2004-10-25 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkimage.h:
* gtk/gtkimage.c (gtk_image_new_from_icon_name)
(gtk_image_set_from_icon_name, gtk_image_get_icon_name)
(gtk_image_set_pixel_size, gtk_image_get_pixel_size): Add a
new type GTK_IMAGE_ICON_NAME for named icons, update the size
and content of stock, icon set and named icon images upon style
changes, and allow to set a fixed pixel size for named icon
images. (#155688, James Henstridge)
* tests/testimage.c: Test application for theming behaviour of
different image types and for image dnd.
Sun Oct 24 02:54:36 2004 Jonathan Blandford <jrb@redhat.com>
* gtk/gtk.types: Add GtkAboutDialog and GtkFileChooserButton
* gtk/tmpl/GtkFileChooserButton.sgml: Write docs
* gtk/tmpl/GtkListStore.sgml: Update performance comment now that
we use GSequence.
* gtk/visual_index.xml: Fix up a couple of errors.
* gtk/images/*png: update
Sun Oct 24 02:56:43 2004 Jonathan Blandford <jrb@redhat.com>
* docs/tools/widgets.c: Update GtkFileChooserButton doc shot.
Thu Oct 21 15:01:09 2004 Owen Taylor <otaylor@redhat.com>
#155952
* gtk/gtkentry.c: Fix checking the wrong position for
the backspace_deletes_character PangoLogAttr.
* gtk/gtktextbuffer.[ch] gtk/gtk.symbols (gtk_text_buffer_backspace):
Move backspace logic from GtkTextView to here, check
backspace_deletes_char.
* gtk/gtktextview.c: Use gtk_text_buffer_backspace().
2004-10-19 Matthias Clasen <mclasen@redhat.com>
Implement icon theme caching. (#154034, Martijn Vernooij,
caching schema proposed by Owen Taylor, initial implementation
by Anders Carlsson)
* gtk/gtkdebug.h:
* gtk/gtkmain.c: Add a "icontheme" debug flag.
* gtk/Makefile.am (gtk_c_sources): Add gtkiconcache.c
(gtk_private_h_sources): Add gtkiconcache.h
(bin_PROGRAMS): Add gtk-update-icon-cache
* gtk/gtkicontheme.c: Use icon caches if they are available.
Currently, GTK+ uses the cache to get information about the
available sizes, image file formats and .icon files. The
actual image data, and the .icon file contents are not
cached yet.
* gtk/updateiconcache.c: A cmdline utility for generating
icon cache files.
* gtk/gtkiconcache.h:
* gtk/gtkiconcache.c: The glue code to mmap an icon cache
file and manage the information it contains.
2004-10-06 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkenums.sgml: Clarify documentation for selection
modes. (#154188, Jonathan Blandford, new wording proposed by
Owen Taylor)
Thu Sep 16 00:33:11 2004 Jonathan Blandford <jrb@gnome.org>
* docs/tools/widgets.c (new_widget_info): Add constrained sizing
to the widgets. This gives us all images running the same size,
which will make the table layout look better.
Tue Aug 31 17:07:41 2004 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeviewcolumn.c
(gtk_tree_view_column_cell_process_action): constrain cell area to
passed in cell_area, #147867
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_get_size): if
ellipsizing, get_size is only 3 chars wide.
* docs/tree-column-sizing.png: Add Matthias's excellent image.
Thu Aug 26 01:23:16 2004 Matthias Clasen <maclas@gmx.de>
* gdk-pixbuf-core.h:
* gdk-pixbuf.symbols:
* gdk-pixbuf-io.c (gdk_pixbuf_new_from_file_at_scale):
Add gdk_pixbuf_new_from_file_at_scale(), which is just
like gdk_pixbuf_new_from_file_at_size(), but optionally
ignores the aspect ratio. (#136395, Dom Lachowicz)
2004-08-24 Matthias Clasen <mclasen@redhat.com>
* gdk-pixdata.c (gdk_pixdata_from_pixbuf): Work around bugs in
the runlength encoder by forcing rowstride * height to be
divisible by bpp. (#150882)
Mon Aug 23 17:19:19 2004 Jonathan Blandford <jrb@redhat.com>
* configure.in:
* docs/tools/Makefile.am (clean-local): add the doc shooter to the
docs dir as an uninstalled helper tool.
Thu Aug 12 00:02:29 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkaction.c (gtk_action_new): Link to information about
allowed action names. (#149620, David Malcolm)
Wed Aug 11 23:14:25 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtk.symbols:
* gtk/gtkaction.h:
* gtk/gtkaction.c (gtk_action_set_sensitive):
(gtk_action_set_visible): Add setters for the ::sensitive
and ::visible properties of GtkAction. (#149622, David Malcolm)
Mon Aug 9 10:50:05 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkentry.h: Add gtk_entry_layout_index_to_text_index()
and its inverse. The have always been exported and are meant
to be public.
2004-08-06 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkdnd.c (gtk_drag_dest_set, gtk_drag_source_set): Really
fix the initialization of the target list.
Support XDND v5. (#10220, Owen Taylor)
* gdk/x11/gdkdnd-x11.c: Record the XDND version and whether the
drop was successful in the GdkDragContextPrivateX11 struct.
(xdnd_finished_filter): Store the success status of the drop
for an XDND version 5 interaction. For other versions, always
assume the drop was successful.
(xdnd_check_dest): Return the protocol version.
(_gdk_drag_get_protocol_for_display): Return the protocol version.
(gdk_drag_find_window_for_screen): Store the used protocol version
in the GdkDragContext.
(xdnd_send_enter): Send the used protocol version from the context,
instead of hardwiring 3.
(xdnd_enter_filter): Accept protocol versions >= 3 and store the
used protocol version in the context.
* gdk/gdkdnd.h:
* gdk/x11/gdkdnd-x11.c (gdk_drag_drop_succeeded): New function
to find out whether a drop was successful.
2004-08-04 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooser.[hc]: Add setter and getter for the
::show-hidden property. (#145610, Jeff Franks)
2004-07-30 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.h:
* gtk/gtkcombobox.c: Change the api for separators to use a
separator function instead of a boolean column.
* tests/testcombo.c: Update to match the api change.
Thu Jul 22 01:05:16 2004 Matthias Clasen <maclas@gmx.de>
* configure.in: Require Pango 1.5.1 (for ellipsisation).
* gtk/gtklabel.h:
* gtk/gtklabel.c (gtk_label_class_init): Add a new :ellipsise
property which controls ellipsisation of the label. (#125250,
Tim Van Wassenhove, patch by James M. Cape)
* tests/testellipsise.c: Simple test for ellipsisation.
2004-07-20 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkcellrenderer.c (gtk_cell_renderer_class_init): Fix the
documentation comment for the editing-started signal.
* gtk/gtkmarshalers.list: Added VOID:OBJECT,STRING for
GtkCellRenderer::editing-started.
Sun Jul 18 15:28:24 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkdnd.c (gtk_drag_source_set, gtk_drag_dest_set): Create an
empty target list if targets is NULL.
* configure.in: Add check for X11/extensions/sync.h. (#147416,
Morten Welinder)
Sat Jul 17 00:48:27 2004 Matthias Clasen <maclas@gmx.de>
Support text/plain selection target (#55117, Owen Taylor)
* gtk/gtkselection.h:
* gtk/gtkdnd.h:
* gtk/gtkselection.c (gtk_target_list_add_text_targets):
* gtk/gtkdnd.c (gtk_drag_dest_add_text_targets):
* gtk/gtkdnd.c (gtk_drag_source_add_text_targets): New
functions to facilitate handling of text targets.
* gtk/gtkentry.c:
* gtk/gtktextview.c: Use the new text target handling
functions instead of hardwiring the list of supported
text targets everywhere.
* gtk/gtkselection.c (gtk_selection_data_get_text):
(gtk_selection_data_set_text):
Support the targets text/plain, text/plain?charset=utf-8
and text/plain?charset=<LOCALE-CHARSET> as outlined in
#55117:
For text/plain send only ASCII, but accept 8-bit text
and treat it as ISO-8859-1 as specified by the Xdnd spec.
Always send CRLF terminators. Accept either and convert
into the native terminator for the platform.
2004-06-04 Matthias Clasen <mclasen@redhat.com>
* docs/widget_geometry.txt: Add a note about the !CAN_FOCUS
quirk in the button size allocation code.
* gtk/gtkbutton.c (gtk_button_size_allocate): Give the space
requested for drawing the focus indicator to the child in the
!CAN_FOCUS case. This should fix issues which the Gimp has with
the button allocation changes in 2.4.2.
Mon May 31 00:16:36 2004 Matthias Clasen <maclas@gmx.de>
* gtk/tmpl/gtktable.sgml: Document the default attach
options for gtk_table_attach_defaults(). (#143391,
Steve Chaplin)
2004-05-18 Matthias Clasen <mclasen@redhat.com>
* configure.in: Check for XFIXES extension.
* gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add
a gboolean have_xfixes member.
* gdk/x11/gdkdisplay-x11.c (gdk_display_open): Register
XFIXES events and set have_xfixes.
* gdk/gdkevents.h (GdkEventType): Add GDK_OWNER_CHANGE.
(GdkEventOwnerChange): New event struct for owner change events.
(GdkOwnerChange): New enum for the reason field of GdkEventOwnerChange.
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Translate
XFixesSelectionNotify events into GdkEventOwnerChange events.
* gdk/gdkdisplay.h:
* gdk/x11/gdkdisplay-x11.c (gdk_display_supports_selection_notification):
(gdk_display_request_selection_notification): New api
to support selection ownership notification.
* gtk/gtkclipboard.h:
* gtk/gtkclipboard.c (_gtk_clipboard_handle_event): New private
api to handle owner change events.
(clipboard_peek): Refactored out the body of
gtk_clipboard_get_for_display() for use in _gtk_clipboard_handle_event().
* gtk/gtkmain.c (gtk_main_do_event): Handle GDK_OWNER_CHANGE events
by calling _gtk_clipboard_handle_event().
2004-05-11 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkenums.sgml: Document the selection modes here,
rather than in the docs of deprecated list widgets.
2004-05-06 Matthias Clasen <mclasen@redhat.com>
* docs/RELEASE-HOWTO: Document the new policy of
bumping version numbers after release.
* configure.in: Bump version number to 2.5.0.
Thu May 6 00:24:11 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkactiongroup.h:
* gtk/gtkactiongroup.c (gtk_action_group_translate_string):
New function to translate a string with translate_func.
(#135740)
Wed May 5 23:09:48 2004 Matthias Clasen <maclas@gmx.de>
* gdk-pixbuf-io.h (GdkPixbufFormatFlags): New format flag
GDK_PIXBUF_FORMAT_SCALABLE to mark scalable formats.
* gdk-pixbuf.h:
* gdk-pixbuf-io.c (gdk_pixbuf_format_is_scalable): New function.
(#137995, Dom Lachowicz)
2004-05-05 Elijah Newren <newren@math.utah.edu>
Changes to support do-not-focus-on-map hint in conjunction with
_NET_WM_USER_TIME (#115650):
* gdk/gdkwindow.h (struct _GdkWindowObject): Add a new boolean
field focus_on_map
* gdk/gdkwindow.h (gdk_window_set_accept_focus): New function to
set it.
* gtk/gtkwindow.[hc]: Add a boolean property "focus_on_map"
and gtk_window_get_focus_on_map() and gtk_window_set_focus_on_map().
* gdk/win32/gdkwindow-win32.c (gdk_window_new):
* gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
* gdk/x11/gdkwindow-x11.c (gdk_window_new):
Initialize the focus_on_map field to TRUE.
* gdk/win32/gdkwindow-win32.c (gdk_window_set_focus_on_map):
* gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_focus_on_map):
* gdk/x11/gdkwindow-x11.c (gdk_window_set_focus_on_map):
* gdk/x11/gdkwindow-x11.c (setup_toplevel_window):
Implementations for the various backends. The Win32 and linux-fb
implementations set the focus_on_map field, but don't use it yet
to actually implement noinput windows. The X implementation sets
_NET_WM_USER_TIME to 0 if focus_on_map is FALSE (see the EWMH).
* gdk/x11/gdkwindow-x11.h:
* gdk/x11/gdkevents-x11.c (set_user_time):
* gdk/x11/gdkinput-x11.c (_gdk_input_common_other_event):
* gdk/x11/gdkwindow-x11.c (gdk_x11_window_set_user_time):
s/_gdk_x11_window_set_user_time/gdk_x11_window_set_user_time/,
since we want that function to be part of the public API.
2004-04-29 Federico Mena Quintero <federico@ximian.com>
* gtk/tmpl/gtkfilechooser.sgml: Added an .gtkrc-2.0 example of how
to actually change the key bindings.
2004-04-21 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add GtkFileChooserEmbed to a
Private section, so gtk-doc can strip it out of the hierarchy.
2004-04-13 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkuimanager.c (get_child_node): Don't crash if a node
has no name.
(start_element_handler): Accept separators without unique
names. (#133302, Anders Carlsson)
* gtk/gtkuimanager.c (node_remove_ui_reference): Don't leak
list nodes. (#138862, Morten Welinder)
2004-03-26 Federico Mena Quintero <federico@ximian.com>
* gtk/tmpl/gtkfilechooserdialog.sgml: Added a section about using
known response codes for "accept"-type buttons, rather than custom
responses. This is related to bugs #136237 and #138263.
Sun Mar 14 22:27:59 2004 Owen Taylor <otaylor@redhat.com>
* gtk/tmpl/gtktreeview.sgml (linkend): Document
#GtkTreeViewSearchEqualFunc and its backwards return
value.
Fri Mar 5 23:45:06 2004 Matthias Clasen <maclas@gmx.de>
* gtk/tmpl/gtkinvisible.sgml: Remove "internally-used"
which sounds like "private".
Tue Mar 2 23:51:24 2004 Matthias Clasen <maclas@gmx.de>
* gtk/tmpl/gtkentrycompletion.sgml: Add a bit about actions.
Mon Mar 1 19:30:25 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkdnd.[ch]: Add gtk_drag_source_set/get_target_list().
(#127499, based on patch from Michael Natterer)
* tests/testgtk.c: Fix bidi strings to display correctly
with new auto-bidi.
Sun Feb 29 22:01:49 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkentry.[ch]: Add gtk_entry_set_alignment()
to allow right-aligned entries and a "xalign"
property. (#59799, patch from Egon Andersen and
Steffen Gutmann)
* gtk/gtkmisc.c (gtk_misc_class_init): Use improved
xalign property description here too.
* tests/testtext.c: UNDERLINE_ERROR test addition
from Nicolas Settons' patch.
Sun Feb 29 20:34:06 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.[ch] gtk/gtkmenushell.c: export
gtk_window_activate_key() (Request from Tim Janik)
Sun Feb 29 01:51:27 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkfilechooserembed.c
(_gtk_file_chooser_embed_get_default_size): Add g_return_if_fail()
(_gtk_file_chooser_embed_get_resizable_hints): Add g_return_if_fail()
* gtk/gtkfilechooserdialog.c
(file_chooser_widget_default_size_changed): Get the correct
initial size for the dialog. Also, don't bother with
gtk_window_set_default_size(). It's not really meaningful.
* gtk/gtkfilechooserdefault.c
(gtk_file_chooser_default_get_default_size): Get the correct
spacing for the preview_widget
(update_preview_widget_visibility): Clear widget field after we
destroy it.
2004-02-27 Federico Mena Quintero <federico@ximian.com>
* gtk/migrating-GtkAction.sgml: Put explicit <link> elements
instead of #Symbol, because the latter doesn't get substituted by
gtk-doc outside of template files. Thanks to Matthias for
pointing this out.
* gtk/migrating-GtkFileChooser.sgml: Likewise.
* gtk/gtk-sections.txt: Removed gtk_file_chooser_{set,get}_folder_mode.
Fri Feb 27 22:51:35 2004 Matthias Clasen <maclas@gmx.de>
* gtk/tmpl/gtkoptionmenu.sgml:
* gtk/tmpl/gtkcombo.sgml: Add some more deprecation notes.
* gtk/tmpl/gtkfilechooser.sgml: Suppress link in example.
Thu Feb 26 18:25:57 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkfilechooser.h (GtkFileChooserAction): Add two more folder
modes to the enum.
* gtk/gtkfilechooser.c (gtk_file_chooser_set_folder_mode): Remove.
(gtk_file_chooser_get_folder_mode): Remove
Thu Feb 26 23:26:00 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkstatusbar.c (set_grip_cursor): New function. Use resize
cursors for resize grips. (Bug #129621)
* gtk/gtktoolbar.c (gtk_toolbar_get_relief_style): Documentation
fix - patch by Torsten Schoenfeld.
* gtk/gtkmenubar.c (gtk_menu_bar_size_request): don't request
space between the items. (Bug #110775)
* gtk/gtkrc.c (_gtk_rc_init): Provide extra horizontal padding
inside menu items that are inside a menu bar. (Bug #110775)
* configure.in (HAVE_XCURSOR): Make XCurosr part of GDK_EXTRA_,
not GDK_PACKAGES, to prevent applications from getting linked to
it (Bug #119804)
* gtk/gtkmenubar.c (gtk_menu_bar_size_allocate): Put the vertical
ipadding inside the item. (Bug #61843)
Thu Feb 26 22:20:44 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcomboboxentry.h:
* gtk/gtkcomboboxentry.c (gtk_combo_box_entry_new_text): New
convenience API to construct simple text combos, implemented by
Damon Chaplin.
* tests/testcombo.c: Use gtk_combo_box_entry_new_text.
Tue Feb 24 19:12:07 2004 Owen Taylor <otaylor@redhat.com>
* === Released 2.3.4 ===
* configure.in: Bump version to 2.3.4, fix broken
gtk_binary_age value by copying the GLib logic
to automatically set it to the right values.
2004-02-24 Federico Mena Quintero <federico@ximian.com>
* gtk/tmpl/gtkexpander.sgml: Added a section about usage when you
want to manage the expanded widgets yourself.
Tue Feb 24 14:45:03 2004 Owen Taylor <otaylor@redhat.com>
* === Released 2.3.3 ===
* configure.in: Version 2.3.3, interface age 0.
* NEWS: Finish updates for 2.3.3.
Thu Feb 19 00:09:35 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkradiomenuitem.h:
* gtk/gtkradiomenuitem.c (gtk_radio_menu_item_new_from_widget):
(gtk_radio_menu_item_new_with_label_from_widget):
(gtk_radio_menu_item_new_with_mnemonic_from_widget): New
convenience functions analogous to similar API on GtkRadioButton.
(#51700, Vitaly Tishkov, patch by Soeren Sandmann)
2004-02-16 Federico Mena Quintero <federico@ximian.com>
* gtk/migrating-checklist.sgml: Umm, I'm on crack. Use
gtk_accelerator_get_default_mod_mask().
* gdk/tmpl/windows.sgml: Removed the incorrect description from
GDK_MODIFIER_MASK.
2004-02-16 Federico Mena Quintero <federico@ximian.com>
* gdk/tmpl/windows.sgml: Added an example of how to use
GDK_MODIFIER_MASK to test for modifier keys correctly.
* gtk/migrating-checklist.sgml: Likewise.
2004-02-16 Federico Mena Quintero <federico@ximian.com>
* gdk/tmpl/windows.sgml: Added an example of how to use
GDK_MODIFIER_MASK to test for modifier keys correctly.
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.