]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-4
4f1b0b029bea59289dfcaf0a64f8fc31d9f3bbc4
[~andy/gtk] / ChangeLog.pre-2-4
1 Wed Dec 24 01:12:53 2003  Matthias Clasen  <maclas@gmx.de>
2
3         * gtk/gtkclipboard.[hc]: Add GtkClipboardTargetReceivedFunc,
4         gtk_clipboard_request_targets() and 
5         gtk_clipboard_wait_for_targets().  (#101774, Dom Lachowicz)
6
7 Mon Dec 22 00:40:39 2003  Matthias Clasen  <maclas@gmx.de>
8
9         * gtk/gtkcalendar.c (gtk_calendar_paint_arrow): Use 
10         gtk_paint_arrow instead of draw_arrow_left/draw_arrow_right.
11         * gtk/gtkcalendar.c (draw_arrow_left):
12         (draw_arrow_right): Removed. 
13         * gtk/gtkcalendar.c (gtk_calendar_realize_arrows): 
14         * gtk/gtkcalendar.c (gtk_calendar_state_changed): Set the
15         arrow_state to GTK_STATE_INSENSITIVE if the calendar is 
16         insensitive.  (#97376)
17
18 Sun Dec 21 23:17:01 2003  Matthias Clasen  <maclas@gmx.de>
19
20         * gtk/gtkuimanager.c (update_node): 
21         (update_smart_separators): 
22         (_gtk_menu_is_empty): 
23         (find_menu_position): 
24         * gtk/gtktreeview.c (gtk_tree_view_search_dialog_destroy): 
25         * gtk/gtkcombobox.c (gtk_combo_box_relayout_item): 
26         (gtk_combo_box_relayout): Fix memory leaks caused by the
27         failure to free the result of gtk_container_get_children().
28
29 Sun Dec 21 17:34:22 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
30
31         * gdk/x11/gdkwindow-x11.c (gdk_window_reparent): Set the right
32         properties when the window becomes a toplevel. When a window that
33         was previously a toplevel becomes a toplevel again, restore its
34         window type. Also make sure the focus window is removed from the
35         XID hash when it is destroyed. (#117579, reported by Morten
36         Welinder, patch reviewed by Owen Taylor).
37
38 Sun Dec 21 01:54:40 2003  Matthias Clasen  <maclas@gmx.de>
39
40         * gtk/gtkmenushell.h: 
41         * gtk/gtkmenushell.c (gtk_menu_shell_cancel): New function 
42         to emit the "cancel" signal on a menu shell.
43
44         * gtk/gtkmenu.c (gtk_menu_key_press): 
45         * gtk/gtkoptionmenu.c (gtk_option_menu_remove_menu): 
46         * gtk/gtkmenubar.c (_gtk_menu_bar_cycle_focus): Use the 
47         new function instead of directly emitting the 
48         signal.  (#81803, Owen Taylor)
49
50 Sun Dec 21 00:39:50 2003  Matthias Clasen  <maclas@gmx.de>
51
52         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init): 
53         Fix the "language_set" blurb.  
54         
55 Sat Dec 20 22:06:03 2003  Kristian Rietveld  <kris@gtk.org>
56
57         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): do not invalidate
58         all of treeview when resizing (#110074, patch from Soeren Sandmann).
59
60 Fri Dec 19 23:36:00 2003  Kristian Rietveld  <kris@gtk.org>
61
62         Fixes #108458.
63
64         * gtk/gtkcelllayout.[ch]: added a reorder method.
65
66         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_layout_init),
67         (gtk_tree_view_column_cell_layout_reorder): implement reorder.
68
69         * gtk/gtkcellview.c (gtk_cell_view_cell_layout_init),
70         (gtk_cell_view_cell_layout_reorder): ditto.
71
72         * gtk/gtkcombobox.c (gtk_combo_box_cell_layout_init),
73         (gtk_combo_box_cell_layout_reorder): ditto.
74
75         * gtk/gtkentrycompletion.c (gtk_entry_completion_cell_layout_init),
76         (gtk_entry_completion_reorder): ditto.
77
78 Fri Dec 19 22:18:19 2003  Kristian Rietveld  <kris@gtk.org>
79
80         * gtk/gtktreeview.c (gtk_tree_view_search_equal_func): use strstr
81         instead of strcmp (#117127, suggestion from Soeren Sandmann).
82
83 Fri Dec 19 21:52:46 2003  Kristian Rietveld  <kris@gtk.org>
84
85         * gtk/gtkmenu.c (gtk_menu_do_insert): move item insertion logic
86         here from gtk_menu_real_insert(),
87         (gtk_menu_real_insert): just call gtk_menu_do_insert(),
88         (gtk_menu_reorder_child): run _do_insert after inserting the child
89         (unbreaks _reorder_child, reported by Tim Janik).
90
91 2003-12-19  Federico Mena Quintero  <federico@ximian.com>
92
93         * gtk/gtkfilechooserdefault.c (list_mtime_data_func): Use
94         g_date_strftime() for UTF-8 correctness; use Julian dates to
95         simplify the function.
96
97 Fri Dec 19 01:47:34 2003  Matthias Clasen  <maclas@gmx.de>
98
99         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): 
100         Test extra_width, not extra_height, when determining whether to
101         set extra_width.  (#129647, Jan Arne Petersen)
102
103 Fri Dec 19 01:35:34 2003  Matthias Clasen  <maclas@gmx.de>
104
105         Fix the behaviour of insensitive actions, which was broken
106         when gtk_action_activate() was changed to pay attention to 
107         sensitivity  (#129557, Christian Persch)
108         
109         * gtk/gtkaction.h: 
110         * gtk/gtkaction.c (_gtk_action_emit_activate): New auxiliary
111         function to emit an activate signal without regard to sensitivity.
112
113         * gtk/gtkradioaction.c: 
114         * gtk/gtktoggleaction.c: Always use _gtk_action_emit_activate()
115         instead of gtk_action_activate().
116
117 Thu Dec 18 19:13:12 2003  Kristian Rietveld  <kris@gtk.org>
118
119         Fixes #110249, reworked patch from Joshua N Pritikin.
120
121         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_type),
122         (gtk_tree_model_sort_tree_drag_source_init),
123         (gtk_tree_model_sort_row_draggable),
124         (gtk_tree_model_sort_drag_data_get),
125         (gtk_tree_model_sort_drag_data_delete): implement GtkTreeDragSource.
126
127         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_get_type),
128         (gtk_tree_model_filter_tree_drag_source_init),
129         (gtk_tree_model_filter_row_draggable),
130         (gtk_tree_model_filter_drag_data_get),
131         (gtk_tree_model_filter_drag_data_delete): ditto.
132
133 Thu Dec 18 18:01:01 2003  Kristian Rietveld  <kris@gtk.org>
134
135         * gtk/gtktreeview.c (gtk_tree_view_class_init): add key bindings
136         for "*" and "/" (expand/collapse all). (#110195, reported by
137         Calum Benson).
138
139 Thu Dec 18 17:52:56 2003  Kristian Rietveld  <kris@gtk.org>
140
141         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_set_property):
142         clear the extra_attrs list if we set "text" after "markup".
143         (Fixes #121933, Federico Mena Quintero).
144
145 2003-12-18  Alexander Larsson  <alexl@redhat.com>
146
147         * gtk/gtkicontheme.c (gtk_icon_info_get_embedded_rect):
148         Fix typo that used the wrong x/y values for the x1, y1 point
149         (#129605)
150
151 Thu Dec 18 01:41:50 2003  Kristian Rietveld  <kris@gtk.org>
152
153         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init),
154         (gtk_cell_renderer_text_finalize),
155         (gtk_cell_renderer_text_get_property),
156         (gtk_cell_renderer_text_set_property), (get_layout): added language
157         and language_set properties like GtkTextTag has. (#103800, reported
158         by Owen Taylor).
159
160 Thu Dec 18 01:37:59 2003  Matthias Clasen  <maclas@gmx.de>
161
162         * gtk/gtkwidget.c (gtk_widget_activate): Correct misleading docs.
163         * gtk/gtkbutton.c (gtk_button_class_init): Add docs for the 
164         "activate" signal.  (#129358, Ka-Hing Cheung)
165
166 Thu Dec 18 01:21:59 2003  Kristian Rietveld  <kris@gtk.org>
167
168         * gtk/gtktreeview.c (gtk_tree_view_class_init): Jonathan got
169         the logical flag backwards in the expand_collapse_cursor_row
170         bindings, fixing.
171         (gtk_tree_view_real_expand_collapse_cursor_row): invert expand
172         flag when !logical and in RTL. (Fixes #107527, reported by
173         Noah Levitt).
174
175 Thu Dec 18 01:10:16 2003  Kristian Rietveld  <kris@gtk.org>
176
177         * gtk/gtktreeview.c (gtk_tree_view_button_press): only start
178         editing when activated by the left mouse button. (#106869,
179         patch from Evan Martin).
180
181 Thu Dec 18 00:57:18 2003  Kristian Rietveld  <kris@gtk.org>
182
183         Migrating all cell renderers to use the new instance private data
184         construction.
185
186         * gtk/gtktreeprivate.h: remove GtkCellRendererInfo, as it is no
187         longer being used.
188
189         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init),
190         (gtk_cell_renderer_class_init), (gtk_cell_renderer_get_property),
191         (set_cell_bg_color), (gtk_cell_renderer_render): remove old
192         GtkCellRendererInfo handling, migrate to instance private data.
193
194         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_editing_done),
195         (gtk_cell_renderer_text_start_editing): moved focus_out_id
196         from GtkCellRendererInfo to text renderer private data.
197
198         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_init),
199         (gtk_cell_renderer_pixbuf_class_init),
200         (gtk_cell_renderer_pixbuf_finalize),
201         (gtk_cell_renderer_pixbuf_get_property),
202         (gtk_cell_renderer_pixbuf_set_property),
203         (gtk_cell_renderer_pixbuf_create_stock_pixbuf),
204         (gtk_cell_renderer_pixbuf_get_size), (gtk_cell_renderer_pixbuf_render):
205         migrate to instance private data.
206
207         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_class_init),
208         (gtk_cell_renderer_toggle_get_property),
209         (gtk_cell_renderer_toggle_set_property),
210         (gtk_cell_renderer_toggle_render): migrate to instance private data.
211
212 Thu Dec 18 00:24:32 2003  Kristian Rietveld  <kris@gtk.org>
213
214         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init),
215         (gtk_cell_renderer_text_get_property),
216         (gtk_cell_renderer_text_set_property), (get_layout): add a
217         single-paragraph-mode property, use private instance data.
218         (Fixes #114943, reported by Morten Welinder).
219
220 Thu Dec 18 00:07:01 2003  Kristian Rietveld  <kris@gtk.org>
221
222         * gtk/gtktreemodel.h (gtk_tree_path_new_root),
223         (gtk_tree_model_get_iter_root): now deprecated (#106953, reported
224         by Matthias Clasen).
225
226 Wed Dec 17 23:50:56 2003  Kristian Rietveld  <kris@gtk.org>
227
228         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_set_property):
229         if we set a new stock_id and there was a previous stock_id, unref
230         the pixbuf (since it was used to renderer the previous stock_id
231         and stock_id might have been set to NULL now). (Fixes #122966).
232
233 2003-12-17  Marco Pesenti Gritti  <marco@gnome.org>
234
235         * gtk/gtktreemodelsort.c: (gtk_tree_model_sort_get_iter):
236
237         Check that index is not bigger than level array length
238         also when depth is 1. Now get_iter_first correctly return
239         FALSE when the model is empty (#129411).
240
241 Wed Dec 17 23:31:19 2003  Kristian Rietveld  <kris@gtk.org>
242
243         * gtk/gtktreeview.c (gtk_tree_view_search_equal_func): only
244         try to strcmp or strlen if we managed to normalize and casefold
245         the string correctly. Fixes crashes with non-UTF8 strings.
246         (#121617, Patch from Tim-Philipp Müller).
247
248 Wed Dec 17 23:20:23 2003  Matthias Clasen  <maclas@gmx.de>
249
250         * gtk/gtkexpander.c (gtk_expander_animation_timeout): Add missing
251         GDK_THREADS_ENTER()/GDK_THREADS_LEAVE().
252         * gtk/gtkcalendar.c, gtk/gtkclist.c, gtk/gtkexpander.c, 
253         gtk/gtklist.c, gtk/gtknotebook.c, gtk/gtkselection.c, 
254         gtk/gtkspinbutton.c: Cast second argument to g_timeout_add() to
255         GSourceFunc instead of GtkFunction.  (#129525, Olexiy Avramchenko) 
256
257 Wed Dec 17 23:16:45 2003  Kristian Rietveld  <kris@gtk.org>
258
259         * gtk/gtktreeview.c (gtk_tree_view_button_press): fix compile warning.
260         (#122727, patch from Kjartan Maraas).
261
262 Wed Dec 17 21:23:01 2003  Kristian Rietveld  <kris@gtk.org>
263
264         Yay! Fixed height mode! Hooray! (Part 2 of #80868).
265
266         * gtk/gtktreeview.c (gtk_tree_view_class_init),
267         (gtk_tree_view_init), (gtk_tree_view_set_property),
268         (gtk_tree_view_get_property), (gtk_tree_view_set_model): add a
269         fixed_height_mode property,
270         (intialize_fixed_height_mode), (do_validate_rows),
271         (column_sizing_notify), (gtk_tree_view_set_fixed_height_mode),
272         (gtk_tree_view_style_set), (gtk_tree_view_row_changed),
273         (gtk_tree_view_row_inserted), (gtk_tree_view_remove_column),
274         (gtk_tree_view_insert_column): implement fixed height mode,
275         (gtk_tree_view_append_column), (gtk_tree_view_insert_column),
276         (gtk_tree_view_insert_column_with_attributes),
277         (gtk_tree_view_insert_column_with_data_func): update docs.
278
279         * gtk/gtktreeprivate.h: add two fields to GtkTreePrivate.
280
281 2003-12-07  Murray Cumming  <murrayc@usa.net>
282  
283         * gtk/gtktreemodel.c:
284         (row_inserted_marshal, row_deleted_marshal, rows_reorderered_marshal)
285         Actually call the default signal handlers instead of calling the
286         marshallers themselves in an endless loop. These default signal handler
287         callbacks are not actually set so this is only noticed by gtkmm at
288         the moment. Bug 123923.
289
290 2003-12-16  Federico Mena Quintero  <federico@ximian.com>
291
292         * gtk/gtkfilesystem.h (struct _GtkFileSystemIface): Added a
293         "volumes-changed" signal.  Added the following methods:
294                 list_volumes
295                 volume_free
296                 volume_get_base_path
297                 volume_get_is_mounted
298                 volume_mount
299                 volume_get_display_name
300                 volume_render_icon
301
302         * gtk/gtkfilesystem.c (gtk_file_system_base_init): Create the
303         "volumes-changed" signal.
304         (gtk_file_system_list_volumes): New function.
305         (gtk_file_system_volume_free): New function.
306         (gtk_file_system_volume_get_base_path): New function.
307         (gtk_file_system_volume_get_is_mounted): New function.
308         (gtk_file_system_volume_mount): New function.
309         (gtk_file_system_volume_get_display_name): New function.
310         (gtk_file_system_volume_render_icon): New function.
311
312         * gtk/gtkfilesystemunix.c (gtk_file_system_unix_volume_free): Implement.
313         (gtk_file_system_unix_volume_get_base_path): Implement.
314         (gtk_file_system_unix_volume_get_is_mounted): Implement.
315         (gtk_file_system_unix_volume_mount): Implement.
316         (gtk_file_system_unix_volume_get_display_name): Implement.
317         (gtk_file_system_unix_volume_render_icon): Implement.
318
319         * gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault):
320         Added a field for the "volumes-changed" signal connection.
321         (gtk_file_chooser_default_set_property): Connect to
322         "volumes-changed" on the file system.
323         (gtk_file_chooser_default_finalize): Disconnect from
324         "volumes-changed".
325
326         * gtk/gtkfilechooserdefault.c (shortcuts_remove_rows): New helper
327         function.
328         (shortcuts_get_index): New helper function.
329         (shortcuts_insert_path): Can now insert volumes as well as paths.
330         (shortcuts_append_paths): Don't take is_file_system_root.
331         (shortcuts_add_volumes): New function.
332         (shortcuts_append_file_system_roots): Removed.
333         (create_shortcuts_model): Use shortcuts_add_volumes().
334         (remove_bookmark_button_clicked_cb): Check that the index is
335         within range.
336         (bookmarks_check_add_sensitivity): Take volumes into account.
337         (shortcuts_get_selected_index): New helper function.
338         (remove_bookmark_button_clicked_cb): Use
339         shortcuts_get_selected_index().
340         (bookmarks_check_remove_sensitivity): Likewise.
341         (shortcuts_select_func): Likewise.
342         (shortcuts_row_activated_cb): Handle volumes as well as normal
343         paths.
344         (shortcuts_activate_volume): New function.
345         (struct _GtkFileChooserDefault): Removed the bookmarks_set and
346         bookmarks_iter fields.
347         (shortcuts_append_bookmarks): Use shortcuts_remove_rows().
348         (bookmarks_changed_cb): Use shortcuts_add_bookmarks().
349         (remove_bookmark_rows): Removed.
350         (shortcuts_add_bookmarks): New function; moved most of the code
351         over from shortcuts_append_bookmarks().
352         (shortcuts_append_bookmarks): Add the separator node here, and
353         then call shortcuts_add_bookmarks().
354
355 Tue Dec 16 15:01:10 2003  Manish Singh  <yosh@gimp.org>
356
357         * gtk/gtkfilechooserwidget.c: fix preprocessor conditional confusion.
358         (G_OS_UNIX/G_OS_WIN32 stuff)
359
360 Tue Dec 16 01:46:46 2003  Matthias Clasen  <maclas@gmx.de>
361
362         Do not interpret distant clicks as double-clicks  (#116541,
363         Bernhard Walle):
364         
365         * gdk/gdkdisplay.h (struct GdkDisplay): Add new fields
366         double_click_distance, button_x and button_y.
367         * gdk/gdkdisplay.c (gdk_display_init): Initialize the new fields.
368
369         * gdk/gdkdisplay.h: 
370         * gdk/gdkevents.c (gdk_display_set_double_click_distance): 
371         New function to set the double click distance on a display.
372
373         * gdk/gdkevents.c: Take double click distance into account
374         when generating single, double or triple clicks.
375
376         * gtk/gtksettings.c: Add new setting "gtk-double-click-distance".
377
378         * gdk/x11/gdkevents-x11.c: Add the XSetting 
379         "Net/DoubleClickDistance" and map it to "gtk-double-click-distance".
380
381 2003-12-15  Federico Mena Quintero  <federico@ximian.com>
382
383         * gtk/gtkdialog.c: Sigh, revert the change.
384
385 2003-12-15  Federico Mena Quintero  <federico@ximian.com>
386
387         * gtk/gtkdialog.c (dialog_has_cancel): Removed.
388         (gtk_dialog_close): Don't call dialog_has_cancel().  At least
389         allows sane behavior for #101293.
390
391 Mon Dec 15 00:56:54 2003  Matthias Clasen  <maclas@gmx.de>
392
393         * gtk/gtkbutton.[hc]: Add new properties, xalign and yalign, with
394         getter and setter gtk_button_[sg]et_alignment(), to set the
395         alignment of the child.  (#70961, Jody Goldberg)
396
397 2003-12-14  Hans Breuer  <hans@breuer.org>
398
399         * gtk/gtkprivate.h gtk/gtkmain.c : handle GTK_DATADIR
400         similar as the other filesystem placement 'constants' (dynamic
401         resolving on win32)
402
403         * gtk/gtkfilechooserwidget.c : handle file system to win32
404         renaming here as will
405         * gtk/gtkfilesystemwin32.c : implement render_icon
406
407         * gtk/gtk.def gdk/gdk.def : updated externals
408
409         * gdk/win32/gdkdisplay-win32.c : make it compile without
410         <multimon.h> - i.e. even older sdk
411
412         * gdk/win32/gdkevents-win32.c : match resize_timer_proc
413         with TIMERPROC prototype
414
415         * gdk/win32/gdkwindow-win32.c : older msvc does not know
416         BITMAPV5HEADER (from win xp) either
417
418         * gtk/gtkimmodule.c : make it compile even if GTK_LOCALEDIR is
419         not defined
420
421         * tests/testfilechooser.c : recent GLib crashes on 
422         g_print ("%s", NULL) so avoid this
423
424 2003-12-14  Tor Lillqvist  <tml@iki.fi>
425
426         * gdk/win32/gdkselection-win32.c: Calls to OpenClipboard() must be
427         followed by calls to CloseClipboard(). Add a missing call to
428         CloseClipboard(). Found by Adam Wright, fixes #104944. Use
429         API_CALL macro in more places.
430
431 2003-12-14  Tor Lillqvist  <tml@iki.fi>
432
433         Merge from stable:
434
435         * gdk/gdkdisplaymanager.c: Mark default_display static.
436
437         * gdk/win32/gdkdnd-win32.c: Mark current_dest_drag static.
438
439         * gdk/win32/gdkkeys-win32.c: Disable some overly verbose debugging
440         output.
441
442         * gdk/win32/gdkevents-win32.c: Clean up the debugging output from
443         --gdk-debug=events. In general, output just one line of debugging
444         output for each Windows message, plus one line for each GDK event
445         generated. Indent all lines according to window procedure nesting
446         level.
447
448         (inner_window_procedure): Rename from real_window_procedure.
449
450         (find_real_window_for_grabbed_mouse_event): Don't get misled when
451         the point is in the non-client (decoration) area of the window
452         returned by WindowFromPoint(). Return the root window in that
453         case.
454
455         (build_pointer_event_state): Test also MK_XBUTTON1 and
456         MK_XBUTTON2 (buttons 4 and 5).
457
458         (synthesize_enter_event): Track the mouse leaving the window in
459         the event being generated, not the one mentioned in the Windows
460         message.
461
462         (propagate): Test for NULL parent earlier. Improves event
463         generation from a grabbed pointer. Part of fix for #107320.
464
465         (handle_stuff_while_moving_or_resizing): New function, to
466         dispatch the main loop (once).
467
468         (resize_timer_proc): New function, set to be called by an inerval
469         timer during resizes/moves. Calls handle_stuff_while_moving_or_resizing().
470
471         (gdk_event_translate): Drop unused return_exposes parameter.
472
473         Handle WM_XBUTTONDOWN and UP messages (buttons 4 and 5).
474
475         On WM_SYSKEYUP, generate a key release event also for just the Alt
476         key.
477
478         On WM_MOUSELEAVE, generate a leave event of type
479         GDK_NOTIFY_ANCESTOR (and not UNKNOWN) if the mouse left a
480         top-level window, and left the app completely.
481
482         On WM_ENTERSIZEMOVE, set a flag, and start an interval timer that
483         calls resize_timer_proc() at regular intervals. On
484         WM_EXITSIZEMOVE, kill the timer.
485
486         On WM_WINDOWPOSCHANGED, generate a configure event if necessary,
487         and dispatch the main loop (by calling
488         handle_stuff_while_moving_or_resizing()). Fixes #99540, idea by
489         Herman Bloggs.
490
491         * gdk/win32/gdkmain-win32.c (_gdk_win32_message_to_string): Handle
492         also wintab messages.
493
494         * gdk/win32/gdkwindow-win32.c (gdk_window_set_skip_taskbar_hint):
495         Instead of using WS_EX_TOOLWINDOW, implement by setting/unsetting
496         the window's owner. Fixes #118093, reported by Maxime Romano.
497
498 Tue Dec  8 09:41:00 2003  Tim Evans  <t.evans@aranz.com>
499
500         * gdk/win32/gdkwindow-win32.[ch]: Implement
501         gdk_window_set_icon_list() for Win32, with support for big and
502         small icons and support for alpha-channel icons under Windows
503         XP. Replaces the previous implementation of gdk_window_set_icon().
504         (#128762)
505         
506 Sun Dec 14 01:28:23 2003  Matthias Clasen  <maclas@gmx.de>
507
508         * gdk/x11/gdkprivate-x11.h: 
509         * gdk/x11/gdkx.h: 
510         * gdk/x11/gdkevents-x11.c (gdk_x11_register_standard_event_type): 
511         Rename from _gdk_x11_register_event_type(), added API docs.
512         * gdk/x11/gdkinput-x11.c (_gdk_input_common_init): 
513         * gdk/x11/gdkimage-x11.c (_gdk_windowing_image_init): Adjust
514         all callers.  (#121471, Bill Haneman)
515
516 Sat Dec 13 23:37:50 2003  Matthias Clasen  <maclas@gmx.de>
517
518         * gdk/gdkdraw.c (gdk_draw_pixbuf): Document that the clip mask
519         of gc is ignored.  (#101983, Sebastian Rittau)
520
521 Sat Dec 13 16:13:27 2003  Kristian Rietveld  <kris@gtk.org>
522
523         A trick for a faster treeview, step 1. Patch to short circuit
524         _build_tree(), inspired by Jonathan (#80868).
525
526         * gtk/gtktreeview.c (gtk_tree_view_init): don't put _IS_LIST in
527         flags by default,
528         (gtk_tree_view_build_tree): don't even try to recurse when the
529         model says that it is a list, remove flag unsetter,
530         (gtk_tree_view_set_model): change flag setting logic.
531
532         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_flags):
533         propagate whether or not the child model has _IS_LIST set.
534
535         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_get_flags):
536         ditto.
537
538 Sat Dec 13 02:33:17 2003  Matthias Clasen  <maclas@gmx.de>
539
540         * gtk/gtkrange.c (gtk_range_scroll): Undo the last change, 
541         since it broke logical keynav. 
542         * gtk/gtkrange.c (range_get_scroll_for_grab): Fix stepper
543         direction in inverted scrollbars here instead.
544
545 Sat Dec 13 00:39:24 2003  Matthias Clasen  <maclas@gmx.de>
546
547         * gtk/gtkviewport.c (viewport_set_hadjustment_values): Implement
548         "gravity" for RTL mode in a better way: Keep the distance from 
549         the upper end of the page to the upper bound constant. This also 
550         fixes problems with the initial position of the viewport in RTL 
551         mode.  (#129063)
552         
553 Fri Dec 12 21:00:12 2003  Kristian Rietveld  <kris@gtk.org>
554
555         Combo box flipping support.
556
557         * gtk/gtkcombobox.c (gtk_combo_box_menu_position),
558         (gtk_combo_box_size_allocate): support RTL flipping (#126518,
559         patch from Matthias Clasen),
560         (gtk_combo_box_popup): fix popup window alignment if there's a
561         cell view frame visible (#126518, patch from Semion Chichelnitsky).
562
563         * gtk/gtkcellview.c (gtk_cell_view_expose): support RTL flipping
564         (#128348, patch from Semion Chichelnitsky).
565
566 Fri Dec 12 01:13:34 2003  Matthias Clasen  <maclas@gmx.de>
567
568         * examples/gtkdial/gtkdial.c:
569         * examples/menu/menu.c:
570         * examples/scribble-xinput/scribble-xinput.c:
571         * examples/progressbar/progressbar.c:
572         * docs/tutorial/gtk-tut.sgml: Remove deprecated functions
573         in examples. (#129074, Olexiy Avramchenko)
574         * examples/calendar/Makefile:
575         * examples/rangewidgets/Makefile:
576         * examples/menu/Makefile: Allow deprecated functions in
577         examples which use deprecated widgets.
578
579 Fri Dec 12 00:43:16 2003  Matthias Clasen  <maclas@gmx.de>
580
581         * gdk/gdk.c (gdk_threads_set_lock_functions): 
582         * gdk/x11/gdkspawn-x11.c: Add "Since: 2.4" to doc comments.
583
584 Fri Dec 12 00:05:31 2003  Matthias Clasen  <maclas@gmx.de>
585
586         * gtk/gtkrange.c (gtk_range_scroll): Fix direction of 
587         steppers in inverted scrollbars.  (#129084, Olexiy Avramchenko)
588
589 Thu Dec 11 23:50:30 2003  Matthias Clasen  <maclas@gmx.de>
590
591         * gtk/gtknotebook.c (gtk_notebook_pages_allocate): Don't 
592         unnecessarily reserve space for arrows in RTL mode.  (#129075,
593         Semion Chichelnitsky)
594
595 Thu Dec 11 00:35:12 2003  Matthias Clasen  <maclas@gmx.de>
596
597         Changes to allow "no input" windows (#64613):
598         
599         * gdk/gdkwindow.h (struct _GdkWindowObject): Add a new boolean
600         field accept_focus.
601         
602         * gdk/gdkwindow.h (gdk_window_set_accept_focus): New function to
603         set it.
604
605         * gtk/gtkwindow.[hc]: Add a boolean property "accept_focus"
606         and gtk_window_get_focus() and gtk_window_set_focus().
607
608         * gdk/win32/gdkwindow-win32.c (gdk_window_new): 
609         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new): 
610         * gdk/x11/gdkwindow-x11.c (gdk_window_set_new):
611         Initialize the accept_focus field to TRUE.
612
613         * gdk/win32/gdkwindow-win32.c (gdk_window_set_accept_focus): 
614         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_accept_focus): 
615         * gdk/x11/gdkwindow-x11.c (gdk_window_set_accept_focus): 
616         Implementations for the various backends. The Win32 and linux-fb
617         implementations set the accept_focus field, but don't use it yet 
618         to actually implement noinput windows. The X implementation updates
619         the WM_HINTS to select the globally active input model (see the
620         ICCCM) if accept_focus is FALSE.
621
622         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Ignore the
623         WM_TAKE_FOCUS message if accept_focus is FALSE.
624         
625 2003-12-10  Federico Mena Quintero  <federico@ximian.com>
626
627         * gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault):
628         Added toolbar items for the filter separator and the filter item.
629         (toolbar_create): Add the filter widgets here.
630         (filter_create): Renamed from create_filter().  Don't store the
631         alignment in the impl structure, just return it.
632         (toolbar_show_filters): New function.
633         (gtk_file_chooser_default_add_filter): Use toolbar_show_filters().
634         (gtk_file_chooser_default_remove_filter): Likewise.
635         (gtk_file_chooser_default_constructor): Don't create the filter
636         widget here.
637         (struct _GtkFileChooserDefault): Added a field for a current
638         folder label.
639         (gtk_file_chooser_default_constructor): Create the folder label.
640         (gtk_file_chooser_default_set_current_folder): Set the current
641         folder label.
642
643         * tests/testfilechooser.c (main): Dramatically improved the
644         usability of the extra widget through careful word choice.
645
646 2003-12-10  Mark McLoughlin  <mark@skynet.ie>
647
648         * gdk/gdk.h: include gdkspawn.h.
649
650 2003-12-10  Mark McLoughlin  <mark@skynet.ie>
651
652         * gdk/linux-fb/gdkspawn-fb.c,
653           gdk/win32/gdkspawn-win32.c,
654           gdk/x11/gdkspawn-x11.c: (gdk_spawn_command_line_on_screen):
655         s/gdk_spawn/gdk_spawn_on_screen/.
656
657 2003-12-10  Mark McLoughlin  <mark@skynet.ie>
658
659         Utility functions for multi-screen applications which need
660         to ensure launched applications appear on a certain screen.
661         See bug #95897.
662         
663         * gdk/gdkspawn.h: header for multi-screen launching
664         support.
665         
666         * gdk/Makefile.am: install gdkspawn.h.
667         
668         * gdk/x11/Makefile.am:
669         * gdk/x11/gdkspawn-x11.c:
670         (gdk_spawn_make_environment_for_screen): private function
671         to create an environment vector with DISPLAY set appropriately
672         for the screen.
673         (gdk_spawn_on_screen): multi-screen version of g_spawn_async().
674         (gdk_spawn_on_screen_with_pipes): version of g_spawn_async_with_pipes().
675         (gdk_spawn_command_line_on_screen): version of g_spawn_command_line_async().
676         
677         * gdk/linux-fb/Makefile.am,
678           gdk/linux-fb/gdkspawn-fb.c: linux-fb impl.
679         
680         * gdk/win32/Makefile.am,
681           gdk/win32/gdkspawn-win32.c: win32 impl.
682
683 2003-12-09  Federico Mena Quintero  <federico@ximian.com>
684
685         * gtk/gtkfilechooserdefault.c (shortcuts_append_home): Use "Home"
686         rather than "Username's Home" (#125964).
687         (shortcuts_selection_changed_cb): New callback, check the
688         sensitivity of the Remove Bookmark button at the right time.
689         (shortcuts_row_activated_cb): It is not necessary to check the
690         sensitivity here.
691
692 Wed Dec 10 00:06:24 2003  Matthias Clasen  <maclas@gmx.de>
693
694         Improve the GDK API for dealing with group leaders (#119375):
695         
696         * gdk/gdkwindow.h: 
697         * gdk/x11/gdkwindow-x11.c (gdk_window_get_group): New function to 
698         get the group leader of a toplevel window as a GdkWindow.
699
700         * gdk/gdkdisplay.h: 
701         * gdk/x11/gdkdisplay-x11.c (gdk_display_get_default_group): New 
702         function to get the default group leader as a GdkWindow.
703
704         * gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add a field for
705         the GdkWindow of the default group leader.
706         
707         * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Construct the GdkWindow
708         for the default group leader.
709
710 2003-12-09  Noah Levitt  <nlevitt@columbia.edu>
711
712         * gdk/gdkkeysyms.h:
713         * gdk/gdkkeyuni.c: Add keysyms Ukrainian_ghe_with_upturn,
714         Ukrainian_GHE_WITH_UPTURN. (#128529)
715
716 2003-12-08  Jan Arne Petersen  <jpetersen@uni-bonn.de>
717
718         * gtk/gtkfilechooserdefault.c:
719         (gtk_file_chooser_default_get_paths), (entry_activate): Use the
720         behavior of the GtkFileSelection to determine selected paths in
721         single selected, GTK_FILE_CHOOSER_ACTION_SAVE mode.
722
723 2003-12-08  Federico Mena Quintero  <federico@ximian.com>
724
725         * gtk/gtkfilechooserdefault.c
726         (gtk_file_chooser_default_get_paths): Don't declare the closure
727         struct twice.
728         (get_paths_foreach): Likewise.
729
730 Tue Dec  9 00:12:36 2003  Matthias Clasen  <maclas@gmx.de>
731
732         * gtk/gtkfilesystemwin32.[hc]: s/Unix/Win32/g. 
733
734 2003-12-08  Tor Lillqvist  <tml@iki.fi>
735
736         * gdk/win32/gdkdisplay-win32.c: Use <multimon.h> when compiling
737         with MSVC and old headers. (#126933, John Ehresman)
738
739 Mon Dec  8 10:54:44 2003  Owen Taylor  <otaylor@redhat.com>
740          
741         * === Released 2.3.1 ===
742
743         * NEWS: Updates for 2.3.1
744
745         * configure.in: Version 2.3.1, interface age 0, binary age 301.
746
747         * gtk/gtkmenuitem.c (gtk_menu_item_can_activate_accel):
748         Rename from gtk_menu_item_real_can_activate_accel() to
749         match GTK+ convention, improve comment.
750
751         * gtk/gtkwidget.c: Document gtk_widget_can_activate_accel(),
752         can ::can-activate-accel signal.
753
754         * gtk/gtkwidget.c (closure_accel_activate): Fix spelling
755         in comment.
756
757         * gtk/gtkmenu.c (gtk_menu_real_can_activate_accel): Clean 
758         up comment.
759         
760         * gtk/gtkcellview{,menuitem}.[ch]: Move GET_PRIVATE() macros
761         into the .c file.
762
763 Mon Dec  8 12:09:21 2003  Owen Taylor  <otaylor@redhat.com>
764
765         * gtk/gtkicontheme.c (find_builtin_icon): Fix a
766         missing 'else'. (#128816, Jorn Baayen)
767
768 2003-12-02  Michael Meeks  <michael@ximian.com>
769
770         Based on a patch by Martin Kretzschmar; #122448
771         
772         * gdk/gdk.h: new gdk_threads_lock, gdk_threads_unlock, point to
773         implementation of GDK_THREADS_ENTER / GDK_THREADS_LEAVE.
774         (GDK_THREADS_ENTER, GDK_THREADS_LEAVE): use gdk_threads_[un]lock
775         function pointers. Deprecate the global gdk_threads_mutex variable.
776         
777         * gdk/gdk.c (gdk_threads_impl_lock, gdk_threads_impl_unlock): new,
778         extracted from GTK_THREADS_ENTER/LEAVE macros.
779         (gdk_threads_init): init gtk_threads_[un]lock if not set.
780         (gdk_threads_set_lock_functions): impl.
781
782         * gdk/gdkglobals.c: add definitions of gdk_threads_[un]lock.
783
784 Sun Dec  7 23:45:40 2003  Matthias Clasen  <maclas@gmx.de>
785
786         * gtk/gtkicontheme.c (gtk_icon_theme_has_icon): Don't crash if
787         icon_theme_builtin_icons hasn't been initialized.  (#128726, Diego
788         Gonzalez)
789
790 2003-12-07  Tor Lillqvist  <tml@iki.fi>
791
792         * gdk/win32/gdkwindow-win32.c (gdk_window_set_icon): Don't use the
793         return value from SendMessage(WM_SETICON). That is the old
794         icon. Fixes GDI resource leak. (#128559, Tim Evans)
795
796         * gdk/win32/gdkevents-win32.c (gdk_pointer_grab): If we already
797         have a pointer grab active with a grab cursor set, destroy that
798         cursor to avoid a GDI resource leak. (#128410, Tim Evans)
799
800 2003-12-05  Paisa Seeluangsawat  <paisa@users.sf.net>
801
802         * configure.in: Added Thai (th) to ALL_LINGUAS.
803
804 Sat Dec  6 01:42:04 2003  Matthias Clasen  <maclas@gmx.de>
805
806         * gtk/gtkalignment.c (gtk_alignment_size_allocate): Implement
807         RTL flipping for GtkAlignment.  (#127585)
808
809 Sat Dec  6 01:13:09 2003  Matthias Clasen  <maclas@gmx.de>
810
811         * gtk/gtkcombo.c (gtk_combo_get_pos): Fix the position of the 
812         popup window when in RTL mode.  (#127578)
813
814 Fri Dec  5 15:30:16 2003  Manish Singh  <yosh@gimp.org>
815
816         * gtk/gtkaccelgroup.c (quick_accel_find): Applied patch from
817         Ross McFarland <rwmcfa1@neces.com>, initialize *count_p to 0
818         before doing anything to prevent garbage returns.
819
820 Sat Dec  6 00:23:46 2003  Matthias Clasen  <maclas@gmx.de>
821
822         * gtk/gtkviewport.c: Implement RTL flipping for 
823         GtkViewport: Adjust the "gravity" when resizing
824         This is a bit flickery in RTL mode.  (#107526)
825
826 Sat Dec  6 00:22:14 2003  Matthias Clasen  <maclas@gmx.de>
827
828         * gtk/gtkscrolledwindow.c: Implement RTL flipping for 
829         GtkScrolledWindow: the vertical scrollbar shows up on the left
830         side in RTL mode.  (#107526)
831
832 Fri Dec  5 01:58:33 2003  Matthias Clasen  <maclas@gmx.de>
833
834         * gtk/gtknotebook.c: Implement RTL flipping for GtkNotebook:
835         tabs displayed at the top/bottom are rearranged, and tabs on
836         the left/right are displayed at the opposite edge.  (#96630)
837
838 2003-12-04  Mark McLoughlin  <mark@skynet.ie>
839
840         * gtk/gtklabel.c: (gtk_label_set_attributes_internal): Allow
841         gtk_label_set_attributes() take NULL. See bug #128517.
842
843 2003-12-03  Federico Mena Quintero  <federico@ximian.com>
844
845         * gtk/gtkfilechooserentry.c (struct _GtkFileChooserEntry): Removed
846         the in_change flag.
847         (completion_idle_callback): Use a temporary list store and re-set
848         it on the completion rather than modifying the old one.  We are
849         re-reading the folder anyway, and this gets rid of non-atomicity
850         problems.
851
852 2003-12-01  Federico Mena Quintero  <federico@ximian.com>
853
854         Decouple impl->current_folder from the selection in the folder
855         tree.  This is so that going to /home/federico/.foo (e.g. from a
856         bookmark) will work even if show_hidden == FALSE.  The folder tree
857         needs to be fixed in this case to show such folders explicitly.
858
859         * gtk/gtkfilechooserdefault.c
860         (gtk_file_chooser_default_set_current_folder): When changing
861         folders, do the entry and list model work here, instead of
862         tree_selection_changed().
863         (struct _GtkFileChooserDefault): Added a changing_folder flag
864         again, dum de dum.
865         (tree_selection_changed): Use _gtk_file_chooser_set_current_folder_path().
866
867 Tue Dec  2 01:01:54 2003  Matthias Clasen  <maclas@gmx.de>
868
869         * gtk/gtkiconfactory.h: Remove duplicate declaration of 
870         gtk_icon_source_set_icon_name().  (#Jeff Franks, #128269)
871
872 2003-12-01  Federico Mena Quintero  <federico@ximian.com>
873
874         Patch from Hans-Petter Jansson <hpj@ximian.com> to align the
875         bookmarks buttons with the location entry.
876
877         * gtk/gtkfilechooserdefault.c
878         (gtk_file_chooser_default_constructor): Use a GtkSizeGroup for the
879         bookmarks buttons and the location entry.
880
881 2003-12-01  Federico Mena Quintero  <federico@ximian.com>
882
883         * gtk/gtkfilechooserdefault.c (create_shortcuts_tree): Set the
884         shortcuts tree as a drag destination.
885         (shortcuts_drag_data_received_cb): New callback.
886         (get_file_info): Also fetch information on whether the file is a folder.
887         (add_bookmark_button_clicked_cb): Use error_could_not_add_bookmark_dialog().
888         (error_could_not_add_bookmark_dialog): New function.
889         (shortcuts_add_bookmark_from_path): New helper function.
890         (add_bookmark_button_clicked_cb): Use shortcuts_add_bookmark_from_path().
891         (shortcuts_row_activated): We no longer need the changing_folder flag.
892         (struct _GtkFileChooserDefault): Likewise.
893
894 Sun Nov 30 17:31:32 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
895
896         * gtk/gtktoolbar.c (slide_idle_handler): return TRUE if there are
897         disappearing placeholders that are still visible.
898
899         * gtk/gtktoolbar.c: formatting fixes
900
901         * gtk/gtktoolbar.c (struct _ToolbarContent): new bit:
902         disappearing, for placeholders that are going to disappear.
903
904         * gtk/gtktoolbar.c (get_item_size): return 0 for disappearing placeholders
905
906 Sat Nov 29 00:55:28 2003  Jonathan Blandford  <jrb@gnome.org>
907
908         * gtk/gtktreeview.c (gtk_tree_view_new_column_width): 
909         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
910         Patch from <chinen@jp.ibm.com> to handle RTL support for column
911         resizers, #127874
912
913 Fri Nov 28 00:26:24 2003  Matthias Clasen  <maclas@gmx.de>
914
915         * gtk/gtkfilesystemmodel.c (gtk_file_system_model_finalize): 
916         Don't use freed memory.  (#127698, Taavi Talvik) 
917
918 Fri Nov 28 00:09:10 2003  Matthias Clasen  <maclas@gmx.de>
919
920         * gtk/gtkfilechooserentry.c: Remove debug g_print()s. 
921
922 Thu Nov 27 22:17:50 2003  Matthias Clasen  <maclas@gmx.de>
923
924         * gtk/gtkuimanager.c: Remove debug define.
925
926 Thu Nov 27 16:19:03 2003  Tim Janik  <timj@gtk.org>
927
928         * gtk/gtkmenu.c: allow accel activation depending on sensitivity
929         and the attach widget.
930
931         * gtk/gtkmenuitem.c: allow accel activation depending on visibility,
932         sensitivity and the parent menu.
933
934         * gtk/gtkwidget.[hc]: introduced ::can-activate-accel signal which
935         checks whether accelerators may activate a widget. the default handler
936         demands the widget be sensitive and visible+viewable.
937
938         * gtk/gtkaccelgroup.[hc]: export gtk_accel_group_activate().
939
940 Tue Nov 25 00:10:05 2003  Matthias Clasen  <maclas@gmx.de>
941
942         * gtk/gtkuimanager.c (update_node): Don't show accelerators in
943         popup menus.  (#127227)
944
945 Mon Nov 24 13:47:39 GMT 2003  Tony Gale <gale@gtk.org>
946
947         * docs/faq/gtk-faq.sgml: start 2.x Section 4 updates
948
949 Mon Nov 24 04:05:15 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
950
951         * gtk/gtkradiotoolbutton.[ch]
952         (gtk_radio_tool_button_new_from_widget): Make this function take a
953         GtkRadioToolButton instead of a GtkWidget. (#127729, Murray
954         Cumming)
955
956 Mon Nov 24 02:34:00 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
957
958         * gtk/gtktoolbar.c: remove variables in_dnd and leaving_dnd
959
960 Mon Nov 24 02:19:33 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
961
962         * gtk/gtktoolbar.c: remove variable
963         n_overflowed_menu_items_when_dnd_started
964
965 Mon Nov 24 01:47:10 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
966
967         Rework sliding algorithm.
968         - No more weird jumping when items are dragged off and added to
969         the toolbar,
970         - More natural item movement
971
972         * gtk/gtktoolbar.c (gtk_toolbar_size_allocate): Many changes. This
973         function is now responsible for calculating intermediate positions
974         during item sliding. It is also responsible for starting sliding
975         if items disappear.  Also turn off expanding when there is an
976         overflow menu.
977         (gtk_toolbar_begin_sliding, stop_sliding): New functions.
978         (slide_idle_handler): New function. All the sliding is now done by
979         gtk_toolbar_size_allocate(), so the idle handler now just checks
980         if there is more sliding to be done.
981         (compute_intermediate_allocation, position): new functions
982         calculating intermediate steps in the slide animations. The new
983         animation algorithm uses a constant speed instead of a constant
984         must-be-finished-within time.
985         (struct _ToolbarContent): use 
986         GtkAllocation goal_allocation; and 
987         GtkAllocation start_allocation; instead of 
988         gint start/goal_width;
989
990         * gtk/gtktoolitem.c (gtk_tool_item_set_tooltip): fix typo in
991         documentation
992
993 Sun Nov 23 22:26:25 2003  Matthias Clasen  <maclas@gmx.de>
994
995         * gtk/gtktooltips.c (gtk_tooltips_draw_tips): Make tooltip 
996         positioning Xinerama-aware.  (#127332)
997
998 Fri Nov 21 01:57:21 2003  Matthias Clasen  <maclas@gmx.de>
999
1000         * gdk/x11/gdkscreen-x11.c (init_xinerama_support): Make monitor
1001         boundaries visible in fake Xinerama mode.
1002
1003 Thu Nov 20 15:41:56 2003  Manish Singh  <yosh@gimp.org>
1004
1005         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state): cast to GTK_WIDGET()
1006         for the gtk_widget_hide() call.
1007
1008 Thu Nov 20 14:51:41 2003  Jonathan Blandford  <jrb@redhat.com>
1009
1010         * gtk/gtktreedatalist.c (gtk_tree_data_list_compare_func): Patch
1011         from David Hampton to fix sorting on booleans.
1012
1013 Thu Nov 20 15:48:03 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1014
1015         * gtk/gtksocket.c (gtk_socket_focus): Use gtk_widget_is_focus()
1016         instead of GTK_WIDGET_HAS_FOCUS. (#122327, Owen Taylor. Reported
1017         by Frederic Crozat).
1018
1019 Thu Nov 20 13:10:29 GMT 2003  Tony Gale <gale@gtk.org>
1020
1021         * docs/faq/gtk-faq.sgml: Update Section 3 to 2.x
1022
1023 2003-11-19  Federico Mena Quintero  <federico@ximian.com>
1024
1025         Fixes to problems reported by Iain Holmes:
1026
1027         * gtk/gtkfilechooserdefault.c (shortcuts_append_desktop): Do not
1028         throw up an error dialog if the desktop doesn't exist.
1029         (error_message): Handle the case where there is no real toplevel
1030
1031         yet.
1032         (list_model_filter_func): Always let folders pass through (patch
1033         by Dave Malcolm).
1034
1035 Wed Nov 19 23:19:23 2003  Kristian Rietveld  <kris@gtk.org>
1036
1037         * gtk/gtkcombobox.[ch] (gtk_combo_box_scroll_event): move function
1038         to a somewhat more logical place,
1039         (gtk_combo_box_remove_text): New function (#125262, Owen Taylor).
1040
1041 Wed Nov 19 22:15:01 2003  Kristian Rietveld  <kris@gtk.org>
1042
1043         * gtk/gtkentry.c (gtk_entry_completion_timeout): always resize
1044         the popup when it is visible, popdown when there are less chars
1045         than the minimum key length in the entry,
1046         (gtk_entry_completion_changed): popdown when the entry is empty.
1047
1048         * gtk/gtkentrycompletion.c (gtk_entry_completion_init): set the
1049         size request of the vscrollbar to (-1, 0), to get a nicely sized
1050         completion treeview (Fixes #126573, reported by Piers Cornwell),
1051         (_gtk_entry_completion_resize_popup): show/hide the action_view
1052         based on items.
1053
1054 2003-11-19  Federico Mena Quintero  <federico@ximian.com>
1055
1056         * gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_init): Turn
1057         off the dialog's separator (thanks to Iain Holmes).
1058
1059 Wed Nov 19 18:15:00 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1060
1061         * gtk/gtkmenu.c (DEFAULT_POPUP_DELAY): set to 200 instead of 225
1062         * gtk/gtkmenuitem.c (get_minimum_width): Impose a minimum width
1063         on items that have a submenu. (#120104).
1064
1065 Wed Nov 19 18:11:08 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1066
1067         * gtk/gtktoolbar.c (struct _ToolbarContent): Add a new
1068         "ItemState" field indicating the overflowed-ness etc. of the item.
1069         (gtk_toolbar_size_allocate): update the field here.
1070
1071 2003-11-19  Federico Mena Quintero  <federico@ximian.com>
1072
1073         * gtk/gtkfilechooserdefault.c (create_filter): Don't add padding
1074         to the alignment.  Use the HIG-specified spacing between the
1075         filter label and the combo.
1076         (create_filename_entry): Use HIG-specified spacing between the
1077         location label and the entry.
1078         (gtk_file_chooser_default_constructor): Don't use vertical padding
1079         around the filename entry.
1080
1081 2003-11-19  Federico Mena Quintero  <federico@ximian.com>
1082
1083         * gtk/gtkfilesystem.h (struct _GtkFileSystemIface): Added a
1084         render_icon virtual method.
1085
1086         * gtk/gtkfilesystem.c (gtk_file_system_render_icon): New function.
1087
1088         * gtk/gtkfilesystemunix.c (gtk_file_system_unix_render_icon):
1089         Implement as a stub for now.
1090
1091         * gtk/gtkfilechooserdefault.c (shortcuts_insert_path): Use
1092         gtk_file_system_render_icon().
1093         (list_icon_data_func): Likewise.
1094         (toolbar_create): Set the toolbar style to icons only.
1095
1096         * gtk/gtkfilechooser.c (gtk_file_chooser_add_shortcut_folder_uri):
1097         Fix doc comments.
1098
1099 Wed Nov 19 02:18:37 2003  Matthias Clasen  <maclas@gmx.de>
1100
1101         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state): Call 
1102         gtk_widget_hide(menu) when reattaching the menu.  (#126057) 
1103
1104 Wed Nov 19 00:06:04 2003  Kristian Rietveld  <kris@gtk.org>
1105
1106         * gtk/gtkentrycompletion.c (gtk_entry_completion_selection_changed):
1107         only unselect all items if the treeview has focus. (Fixes bug
1108         reported by Marco Pesenti Gritti).
1109
1110 Tue Nov 18 22:26:30 2003  Kristian Rietveld  <kris@gtk.org>
1111
1112         * gtk/gtkentry.c (gtk_entry_completion_key_press): the total
1113         number of actions is "matches + actions - 1". (Fixes #126572).
1114
1115 Tue Nov 18 21:05:05 2003  Christian Persch  <chp@cvs.gnome.org>
1116
1117         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_row_inserted): fix
1118         mem leaks (#119435).
1119
1120 Tue Nov 18 20:51:38 2003  Kristian Rietveld  <kris@gtk.org>
1121
1122         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_row_deleted): don't
1123         try to fetch the child back, since we do know that it is already
1124         gone by now (#126493, Marco Pesenti Gritti).
1125
1126 Tue Nov 18 19:47:59 2003  Kristian Rietveld  <kris@gtk.org>
1127
1128         Fixes based on comments from Owen Taylor, #125264.
1129
1130         * gtk/gtkcellview.[ch] (gtk_cell_view_finalize): remove unused
1131         variable,
1132         (gtk_cell_view_set_value), (gtk_cell_view_set_displayed_model): queue
1133         a resize,
1134         (gtk_cell_view_get_size_of_row): new function,
1135         (gtk_cell_view_set_value), (gtk_cell_view_set_valuesv),
1136         (gtk_cell_view_set_values), (gtk_cell_view_set_model),
1137         (gtk_cell_view_set_displayed_row), (gtk_cell_view_get_displayed_row):
1138         s/cellview/cell_view/ in the function definitions, so they match
1139         with the header file.
1140
1141         * gtk/gtkcombobox.c (gtk_combo_box_remeasure): remove the resize
1142         flag again (:, and use gtk_cell_view_get_size_of_row instead of
1143         the measurer, remove _set_size_request call,
1144         (gtk_combo_box_calc_requested_width): use gtk_cell_view_get_size_of_row
1145         instead of the measurer,
1146         (gtk_combo_box_style_set): queue a resize,
1147         (gtk_combo_box_size_request): update of _remeasure call,
1148         (gtk_combo_box_init), (gtk_combo_box_cell_layout_pack_start),
1149         (gtk_combo_box_cell_layout_pack_end),
1150         (gtk_combo_box_cell_layout_clear),
1151         (gtk_combo_box_set_model): get rid of the measurer,
1152         (gtk_combo_box_cell_layout_add_attribute),
1153         (gtk_combo_box_cell_layout_set_cell_data_func),
1154         (gtk_combo_box_cell_layout_clear_attributes): ditto and queue a
1155         resize instead of calling _remeasure.
1156
1157 Mon Nov 17 16:25:04 2003  Manish Singh <yosh@gimp.org>
1158
1159         * gdk-pixbuf/Makefile.am
1160         * modules/input/Makefile.am: Use install-data-hook for
1161         gdk-pixbuf.loaders and gtk.immodules install generation targets.
1162         Fixes #112806.
1163
1164         * gtk/gtkexpander.h: Apply missing declarations from #124449.
1165
1166 Tue Nov 18 00:12:55 2003  Matthias Clasen  <maclas@gmx.de>
1167
1168         Fix for #119555, Peter Zelezny:
1169         
1170         * gdk/gdkdrawable.h: Declare gdk_drawable_copy_to_image.
1171         * gdk/gdkdraw.c (gdk_drawable_copy_to_image): Make public
1172         by removing the _ prefix. 
1173         * gdk/gdkdraw.c, gdk/gdkpixbuf-drawable.c, gdk/gdkpixmap.c, 
1174         gdk/gdkwindow.c: Adjust all callers.
1175
1176 Mon Nov 17 23:36:02 2003  Matthias Clasen  <maclas@gmx.de>
1177
1178         * gtk/gtkaction.c (gtk_action_activate): Only activate if 
1179         the action is sensitive.  (#127187, Christian Persch)
1180
1181 Mon Nov 17 23:23:49 2003  Matthias Clasen  <maclas@gmx.de>
1182
1183         * gtk/gtkcombobox.c: Add mouse wheel support.  (#126517)
1184
1185 Mon Nov 17 22:56:09 2003  Kristian Rietveld  <kris@gtk.org>
1186
1187         * gtk/gtkentryprivate.h: add _gtk_entry_completion_resize_popup.
1188
1189         * gtk/gtkentry.c (gtk_entry_completion_timeout): popup when not
1190         mapped, else resize_popup.
1191
1192         * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup),
1193         (_gtk_entry_completion_popup): moved all popup resizing code to
1194         _gtk_entry_completion_resize_popup, and show the window when there
1195         are more than zero items in the completion list again (sigh).
1196
1197 2003-11-17  Mark McLoughlin  <mark@skynet.ie>
1198
1199         Patch from Jaiserca <jaiserca@inf.upv.es> to add a
1200         "use_markup" property. See bug #124449.
1201
1202         * gtk/gtkexpander.c:
1203         (gtk_expander_class_init),
1204         (gtk_expander_init), (gtk_expander_set_property),
1205         (gtk_expander_get_property), (gtk_expander_set_label),
1206         (gtk_expander_set_use_markup),  (gtk_expander_get_use_markup):
1207         Add a "use_markup" property and use it when creating the
1208         child label.
1209
1210 Mon Nov 17 12:58:32 2003  Kristian Rietveld  <kris@gtk.org>
1211
1212         Temporary size requisition fix. Will fix it for real tonight.
1213
1214         * gtk/gtkcombobox.c (gtk_combo_box_remeasure): add a resize flag,
1215         (gtk_combo_box_size_request): use gtk_combo_box_remeasure to determine
1216         a good width for the child,
1217         (gtk_combo_box_cell_layout_add_attribute),
1218         (gtk_combo_box_set_cell_data_func),
1219         (gtk_combo_box_cell_layout_clear_attributes): update.
1220
1221 Mon Nov 17 00:11:21 2003  Kristian Rietveld  <kris@gtk.org>
1222
1223         Fixes #124373, Murray Cumming.
1224
1225         * gtk/gtkcombobox.[ch] (gtk_combo_box_class_init): the model property
1226         is no longer construct only,
1227         (gtk_combo_box_unset_model), (gtk_combo_box_set_model_internal),
1228         (gtk_combo_box_menu_fill): new functions,
1229         (gtk_combo_box_menu_setup), (gtk_combo_box_menu_destroy),
1230         (gtk_combo_box_menu_row_*), (gtk_combo_box_list_setup),
1231         (gtk_combo_box_list_destroy): updated,
1232         (gtk_combo_box_new), (gtk_combo_box_new_with_model): new/changed
1233         functions,
1234         (gtk_combo_box_set_model): is now public, updated,
1235         (gtk_combo_box_get_model): small update.
1236
1237         * gtk/gtkcomboboxentry.[ch] (gtk_combo_box_entry_class_init): the
1238         text_column property is no longer construct only,
1239         (gtk_combo_box_entry_set_text_column): now public,
1240         (gtk_combo_box_entry_new), (gtk_combo_box_entry_new_with_model):
1241         new/changed functions.
1242
1243         * tests/testcombo.c: updated.
1244
1245 Sun Nov 16 22:50:58 2003  Matthias Clasen  <maclas@gmx.de>
1246
1247         Reinstate fixes for (#124212, Marco Pesenti Gritti):
1248         
1249         * gtk/gtkuimanager.c (update_smart_separators): Don't spit 
1250         warnings for popups.
1251         (_gtk_menu_is_empty): Return FALSE for non-menus.
1252
1253 Sun Nov 16 21:48:40 2003  Kristian Rietveld  <kris@gtk.org>
1254
1255         * gtk/gtkcellview.c (gtk_cell_view_finalize): just call
1256         gtk_cell_view_cell_layout_clear instead of trying to free the
1257         structure ourselves here. (#125726, Morten Welinder).
1258
1259 Sun Nov 16 00:35:29 2003  Matthias Clasen  <maclas@gmx.de>
1260
1261         * gtk/gtkfilechooser.[hc]: 
1262         * gtk/gtkentrycompletion.h: Fix parameter name mismatches which
1263         confuse gtk-doc.
1264
1265 2003-11-15  Hans Breuer  <hans@breuer.org>
1266
1267         * gdk/makefile.msc gdk/gdk.def 
1268             gtk/gtk.def gtk/makefile.msc.in : updated
1269         * tests/makefile.msc : added all the new tests
1270
1271         * gtk/gtkfilefilter.c(finalize) : initialize filter
1272         from object not from itself
1273
1274         * gtk/gtkfilesystemwin32.[hc] : copied from gtkfilesystemunix.[hc]
1275         modified as less as posible to have aworking implementation
1276         on win32. There maybe the desire to merge the unchanged pats into
1277         a common base class.
1278         Also implemented a simple glib based bookmark handling, which
1279         is currently missing in gtkfilesystemunix.[hc] but can be copied
1280         over there.
1281         * gtk/gtkfilechooserwidget.c : conditional include gtkfilesystemwin32.h
1282
1283         * gdk/win32/gdkwindow-win32.c : implement 
1284         gdk_window_set_keep_above() and gdk_window_set_keep_below()
1285
1286         * tests/testmerge.c : don't include unistd.h unconditionally,
1287         #define STDOUT_FILENO if it isn't defined
1288
1289         * tests/testfilechooser.c : make it compile on win32
1290
1291 2003-11-15  Tor Lillqvist  <tml@iki.fi>
1292
1293         * gdk/win32/gdkwindow-win32.c (gdk_window_focus): If the window is
1294         maximized, use SW_SHOWMAXIMIZED. (#126986, John Ehresman)
1295
1296 Thu Nov 13 12:55:29 GMT 2003  Tony Gale <gale@gtk.org>
1297
1298         * docs/faq/gtk-faq.sgml: Update the rest of Section 2
1299
1300 Thu Nov 13 01:46:32 2003  Matthias Clasen  <maclas@gmx.de>
1301
1302         * gtk/gtkicontheme.c (gtk_icon_theme_init): Use 
1303         GTK_DATADIR/{icons,pixmaps} instead of 
1304         GTK_DATA_PREFIX/{icons,pixmaps}.  (#123365, Marco Pesenti Gritti)
1305
1306 Wed Nov 12 21:40:10 2003  Matthias Clasen  <maclas@gmx.de>
1307
1308         Changes to improve menu positioning on Xinerama (#108328, #126150):
1309         
1310         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Use the event 
1311         window of the menuitem to determine the monitor. This fixes some
1312
1313         * gtk/gtkmenu.c (struct _GtkMenuPrivate): Add a menu_num field
1314         to store the monitor on which the menu is to be positioned.
1315
1316         * gtk/gtkmenu.[hc] (gtk_menu_position): Store the monitor number
1317         in the GtkMenuPrivate struct and fetch the monitor geometry after
1318         calling the position_func, in case it has been changed.
1319
1320         * gtk/gtkmenu.c (gtk_menu_set_monitor): New function 
1321         to be used in GtkMenuPositionFunc implementations for setting
1322         the monitor_num field in GtkMenuPrivate.
1323
1324         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Call 
1325         gtk_menu_set_monitor.
1326
1327 Wed Nov 12 21:00:10 2003  Matthias Clasen  <maclas@gmx.de>
1328
1329         * gtk/gtkinputdialog.c (gtk_input_dialog_init): Clarify the
1330         label for the empty list. String change.  (#95446, Tomas Ã–gren)
1331
1332 Wed Nov 12 20:57:50 2003  Matthias Clasen  <maclas@gmx.de>
1333
1334         * gtk/gtkicontheme.h (enum GtkIconLookupFlags): Correct
1335         the definition of the values.  (#123361, Marco Pesenti Gritti)
1336
1337 Wed Nov 12 20:54:02 2003  Matthias Clasen  <maclas@gmx.de>
1338
1339         * gdk/gdkkeyuni.c: Map KP_Separator to ','.
1340         (#122941, Egmont Koblinger)
1341
1342 2003-11-12  Padraig O'Briain  <padraig.obriain@sun.com>
1343
1344         *gtk/gtkcolorsel.c (gtk_color_selection_init): Add tooltip for
1345         opacity entry widget. Change tooltip for opacity widgets. (#126426)
1346
1347 2003-11-12  Padraig O'Briain  <padraig.obriain@sun.com>
1348
1349         * gtk/gtkmenu.c (gtk_menu_popup): Do not let pointer position
1350         affect window menu position when popped from keyboard. (#102660)
1351
1352 Wed Nov 12 01:29:32 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1353
1354         * gtk/gtktoolbar.c (gtk_toolbar_internal_insert_element): When we
1355         are using the old API, make all items "is_important". That way
1356         BOTH_HORIZ will continue to show both icon and label in old API
1357         mode.
1358
1359 Mon Nov 10 00:40:41 2003  Matthias Clasen  <maclas@gmx.de>
1360
1361         * gtk/gtkeventbox.c (gtk_event_box_set_above_child): 
1362         Remember the new value in all cases.  (#126276, Damon Chaplin)
1363
1364 Sat Nov  8 23:06:02 2003  Matthias Clasen  <maclas@gmx.de>
1365
1366         * demos/gtk-demo/main.c (row_activated_cb): Call the do_
1367         functions with the toplevel as argument.
1368
1369         * demos/gtk-demo/geninclude.pl.in: Change the signature
1370         of GDoDemoFunc to take a widget argument
1371
1372         * demos/gtk-demo/ui_manager.c (do_ui_manager): 
1373         * demos/gtk-demo/tree_store.c (do_tree_store): 
1374         * demos/gtk-demo/textview.c (do_textview): 
1375         * demos/gtk-demo/stock_browser.c (do_stock_browser): 
1376         * demos/gtk-demo/sizegroup.c (do_sizegroup): 
1377         * demos/gtk-demo/pixbufs.c (do_pixbufs): 
1378         * demos/gtk-demo/panes.c (do_panes): 
1379         * demos/gtk-demo/menus.c (do_menus): 
1380         * demos/gtk-demo/list_store.c (do_list_store): 
1381         * demos/gtk-demo/images.c (do_images): 
1382         * demos/gtk-demo/hypertext.c (do_hypertext): 
1383         * demos/gtk-demo/editable_cells.c (do_editable_cells): 
1384         * demos/gtk-demo/drawingarea.c (do_drawingarea): 
1385         * demos/gtk-demo/dialog.c (do_dialog): 
1386         * demos/gtk-demo/colorsel.c (do_colorsel): 
1387         * demos/gtk-demo/changedisplay.c (do_changedisplay): 
1388         * demos/gtk-demo/button_box.c (do_button_box): 
1389         * demos/gtk-demo/appwindow.c (do_appwindow): Take a widget
1390         as argument, and make new windows or dialogs appear on the
1391         same screen.  (#80388)
1392
1393 Sat Nov  8 21:59:30 2003  Matthias Clasen  <maclas@gmx.de>
1394
1395         * gtk/gtkeventbox.c (gtk_event_box_class_init): Let 
1396         visible-window default to TRUE, as documented and 
1397         implemented. (#126270 Damon Chaplin)
1398
1399 Sat Nov  8 01:50:17 2003  Matthias Clasen  <maclas@gmx.de>
1400
1401         * gtk/gtkicontheme.c: 
1402         * gtk/gtkfilechooserwidget.c (gtk_file_chooser_widget_new): 
1403         * gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_new): 
1404         * gtk/gtkfilechooser.c (gtk_file_chooser_[un]select_all): Mark as
1405         2.4 additions.
1406
1407 2003-11-07  Federico Mena Quintero  <federico@ximian.com>
1408
1409         Changing GtkFileChooserEntry to use GtkEntryCompletion.
1410
1411         * gtk/gtkfilechooserentry.c (gtk_file_chooser_entry_init): Create
1412         a GtkListStore for the completion list.  Create a
1413         GtkEntryCompletion and attach it to the chooser entry.
1414         (gtk_file_chooser_entry_finalize): Unref the completion store.
1415         (completion_match_func): New callback for the GtkEntryCompletion.
1416         (completion_idle_callback): Fill the completion store with filenames.
1417
1418 Fri Nov  7 22:55:49 2003  Matthias Clasen  <maclas@gmx.de>
1419
1420         * gtk/gtkwindow.c (gtk_window_set_role): 
1421         * gtk/gtkwindow.c (gtk_window_set_title): 
1422         * gtk/gtkwidget.c (gtk_widget_set_name): 
1423         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_title): 
1424         * gtk/gtkbutton.c (gtk_button_set_label): Make string setters
1425         safe for self-assignment.  (#122745, Soeren Sandmann)
1426
1427 Thu Nov  6 20:41:40 2003  Matthias Clasen  <maclas@gmx.de>
1428
1429         * gtk/gtkstyle.c (gtk_style_attach): Fix doc comment.
1430         (#126369, Olexiy Avramchenko)
1431
1432 Thu Nov  6 00:21:41 2003  Matthias Clasen  <maclas@gmx.de>
1433
1434         * gtk/gtkcolorbutton.c (gtk_color_button_init): 
1435         * gtk/gtkfontbutton.c (gtk_font_button_init): Improve the 
1436         consistency of titles.  (#126193, Damon Chaplin)
1437
1438 Wed Nov  5 22:49:36 2003  Matthias Clasen  <maclas@gmx.de>
1439
1440         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state): Set torn off 
1441         menus to be transient for the toplevel they were torn off from.
1442         (gtk_menu_get_toplevel): Auxiliary function to find the
1443         toplevel of a menu.  (#54775, Jon-Kare Hellan)
1444
1445 Wed Nov  5 21:07:58 2003  Matthias Clasen  <maclas@gmx.de>
1446
1447         * gtk/gtkpaned.c (gtk_paned_class_init): Add readonly properties
1448         min-position and max-position.  (#58431, Padraig O'Briain)
1449
1450 Wed Nov  5 21:02:26 2003  Matthias Clasen  <maclas@gmx.de>
1451
1452         * gtk/gtkcolorsel.c (update_color): 
1453         (make_label_spinbutton): 
1454         (adjustment_changed): Change the ranges for Saturation and
1455         Value to be 0-100 instead of 0-255, since these axes of HSV
1456         are usually expressed in percent.  (#121519, Gregory Merchan)
1457
1458 Wed Nov  5 08:51:48 GMT 2003  Tony Gale <gale@gtk.org>
1459
1460         * docs/faq/gtk-faq.sgml: More 2.x updates
1461
1462 Tue Nov  4 15:00:33 GMT 2003  Tony Gale <gale@gtk.org>
1463
1464         * docs/faq/gtk-faq.sgml: More 2.x updates, fix
1465         pkg-config command error, update copyright.
1466
1467 2003-11-03  Federico Mena Quintero  <federico@ximian.com>
1468
1469         * gtk/gtkfilechooserdefault.c (error_dialog): Take in a path as
1470         well.  Use a helper function.
1471         (shortcuts_append_home): Display an error box if necessary.
1472         (shortcuts_append_desktop): Likewise.
1473         (add_bookmark_button_clicked_cb): Likewise.
1474         (gtk_file_chooser_default_select_path): Likewise.
1475         (entry_activate): Likewise.
1476         (shortcuts_append_paths): New helper function.
1477         (shortcuts_append_file_system_roots): Use
1478         shortcuts_append_paths().
1479         (shortcuts_append_bookmarks): Likewise.
1480
1481 Mon Nov  3 23:12:41 2003  Matthias Clasen  <maclas@gmx.de>
1482
1483         * gtk/gtkuimanager.c (_gtk_menu_is_empty): Return TRUE if 
1484         menu is NULL.
1485         (update_smart_separators): Remove some unneeded ifs.
1486
1487 Mon Nov  3 22:45:58 2003  Matthias Clasen  <maclas@gmx.de>
1488
1489         * gtk/gtkwindow-decorate.h: Add G_BEGIN_DECLS/G_END_DECLS to make 
1490         these usable in C++. Forgot this file in my Oct 11 commit.
1491
1492 2003-11-03  Federico Mena Quintero  <federico@ximian.com>
1493
1494         * gtk/gtkfilechooserdefault.c (create_shortcuts_tree): Add a stock
1495         icon to the "Add bookmark" button.
1496
1497         * gtk/gtkfilesystemunix.c: Mark missing strings for translation.
1498         * gtk/gtkfilesystemmodel.c: Likewise.
1499         * gtk/gtkfilechooser.c: Likewise.
1500         * gtk/gtkfilechooserdefault.c: Likewise.
1501
1502 Mon Nov  3 20:56:28 2003  Matthias Clasen  <maclas@gmx.de>
1503
1504         * gdk/gdk.c: 
1505         * gdk/gdkinternals.h: 
1506         * gdk/x11/gdkscreen-x11.c (init_xinerama_support): Introduce a
1507         GDK_DEBUG_XINERAMA debug flag, and make it trigger a fake 2x2
1508         Xinerama mode when no actual Xinerama setup is found. 
1509
1510 2003-11-03  Federico Mena Quintero  <federico@ximian.com>
1511
1512         * gtk/gtkfilechooserdefault.c (shortcuts_select_folder): Removed.
1513         (create_shortcuts_tree): Don't call the above.
1514         (bookmarks_changed_cb): Likewise.
1515         (tree_selection_changed): Unselect everything from the shortcuts
1516         list.  This is the behavior that Mac OS has.
1517         (toolbar_add_item): Return the item.
1518         (toolbar_create): Store the up_button in the impl structure.
1519         (toolbar_check_sensitivity): New function to set the sensitivity
1520         of the "Up" button in the toolbar.
1521         (tree_selection_changed): Call toolbar_check_sensitivity().
1522
1523 2003-11-02  Federico Mena Quintero  <federico@ximian.com>
1524
1525         * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init): Do
1526         not set a border width for the toplevel container.
1527         (toolbar_create): New function; create a simple toolbar for the
1528         file chooser.
1529         (gtk_file_chooser_default_constructor): Use a spacing of 12 for
1530         the table, as per the HIG.
1531         (gtk_file_chooser_default_init): Likewise, for the default
1532         implementation's vbox.
1533
1534         * gtk/gtkfilesystem.c (gtk_file_system_get_parent): Added docs to
1535         note that NULL is a valid return value for the parent path.
1536
1537 Sat Nov  1 14:59:27 2003  Owen Taylor  <otaylor@redhat.com>
1538
1539         * gtk/gtkfilechooserdefault.c (shortcuts_row_activated): 
1540         Change on activation, not selection change (temporary
1541         workaround for #125955, needed for keynav, likely
1542         the right UI anyways.)
1543
1544         * gtk/gtkfilechooserdefault.c (shortcuts_select_func): 
1545         Don't allow the separator node to be selected.
1546
1547         * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_constructor):
1548         Set the focus chain so that the entry gets focused first.
1549         (Not really right after initial focusing, maybe we
1550         should just have a gtk_file_chooser_focus_entry() that
1551         we call from gtk_file_chooser_dialog on creation.)
1552
1553 Sat Nov  1 12:41:04 2003  Owen Taylor  <otaylor@redhat.com>
1554
1555         * gtk/gtkwindow.c (gtk_window_unfullscreen): Fix a
1556         residual call to gtk_window_get_private().
1557
1558 Sat Nov  1 09:10:13 2003  Owen Taylor  <otaylor@redhat.com>
1559
1560         * gtk/gtkwindow.[ch]: Move above_initially, below_initially
1561         into GtkWindowPrivate structure, fixing ABI breakage
1562         on Win32. (Hans Breuer). Switch GtkWindowPrivate over
1563         to instance-private-data.
1564
1565 Fri Oct 31 02:43:34 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1566
1567         * gtk/gtktoolbar.c (get_item_requisition): delete this function
1568         (toolbar_item_is_homogeneous): cache max_homogeneous_pixels
1569         instead of re-calculating for each item.
1570         (gtk_toolbar_size_allocate): Update comments
1571
1572 Thu Oct 30 22:04:31 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1573
1574         * gtk/gtktoolbar.c (gtk_toolbar_forall): Only include
1575         placeholders when include_internals is TRUE.
1576
1577 Thu Oct 30 17:57:53 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1578
1579         * gtk/gtktoolbar.c (logical_to_physical): Make it work even when
1580         item 0 is a placeholder. (#125826)
1581         * tests/testtoolbar.c: add an assertion that 
1582         gtk_toolbar_get_nth_item (0) != NULL
1583
1584 Thu Oct 30 17:40:26 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1585
1586         * gtk/gtktoolbar.c (logical_to_physical): Make it work for
1587         logical == 0.(#125826)
1588
1589 Thu Oct 30 16:20:58 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1590
1591         * gtk/gtktoolbar.c (logical_to_physical): Make sure we actually
1592         return the index of a real item.
1593         (get_nth_item) assert that the returned items is not a
1594         placeholder.  (#125826, Marco Pesenti Gritti).
1595         
1596 2003-10-29  Federico Mena Quintero  <federico@ximian.com>
1597
1598         * gtk/gtkcellrendererseptext.c
1599         (gtk_cell_renderer_sep_text_render): Only paint a separator if the
1600         text is NULL, rather than also doing it if it is an empty string.
1601
1602 Wed Oct 29 15:40:26 2003  Owen Taylor  <otaylor@redhat.com>
1603
1604         * gtk/gtkmessagedialog.c (gtk_message_dialog_new/
1605         gtk_message_dialog_new_with_format): Allow NULL
1606         for message_format, as described in the docs and
1607         as worked previously. (#125759, Richard Hult)
1608
1609         * gtk/gtkmessagedialog.c (gtk_message_dialog_new_with_markup):
1610         Use g_markup_vprintf_escaped() to escape arguments.
1611
1612         * gtk/gtkmessagedialog.[ch]: Add gtk_message_dialog_set_markup()
1613         so there is some way to set literal markup.
1614
1615 Wed Oct 29 15:01:32 2003  Owen Taylor  <otaylor@redhat.com>
1616  
1617         * gdk/x11/gdkimage-x11.c (_gdk_x11_copy_to_image): Move
1618         the call to gdk_error_trap_pop() to the right place,
1619         fixing a problem where we'd pop() too many times 
1620         when bailing out. (#123302, Thomas Leonard)
1621         
1622 Wed Oct 29 12:50:02 2003  Owen Taylor  <otaylor@redhat.com>
1623
1624         * gtk/gtkfilechooserutils.c (delegate_set_current_folder): 
1625         Fix infinite recursion. (#125679, Christian Persch)
1626
1627 Wed Oct 29 13:29:15 GMT 2003  Tony Gale <gale@gtk.org>
1628
1629         * docs/faq/gtk-faq.sgml: further 2.x updates:
1630         mirrors,compiling,g_main_context_iteration
1631
1632 Wed Oct 29 02:54:35 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1633
1634         * gtk/gtktoolbar.[ch] (gtk_toolbar_set_drop_highlight_item): Add this
1635         function; remove gtk_toolbar_highlight_drop_location() and
1636         gtk_toolbar_unhighlight_drop_location().
1637
1638         Also fix bug where the number of overflowed items were miscounted.
1639
1640 Tue Oct 28 12:20:16 2003  Owen Taylor  <otaylor@redhat.com>
1641
1642         * gtk/gtkwindow.c (gtk_window_has_toplevel_focus): Remove
1643         some accidentally committed duplicate code.
1644
1645 Tue Oct 28 17:06:17 GMT 2003  Tony Gale <gale@gtk.org>
1646
1647         * docs/faq/gtk-faq.sgml: Update info on compiling GTK+
1648
1649 Tue Oct 28 10:34:24 2003  Owen Taylor  <otaylor@redhat.com>
1650
1651         * gtk/gtkwindow.[ch] (gtk_window_is_active, 
1652         gtk_has_toplevel_focus): Add getters corresponding to
1653         the is_active and has_toplevel_focus properties.
1654         (#122531)
1655
1656 2003-10-28  Mark McLoughlin  <mark@skynet.ie>
1657
1658         * gtk/gtkexpander.c:
1659         (gtk_expander_class_init): hook up the destroy handler.
1660         (gtk_expander_destroy), (gtk_expander_unrealize):
1661         remove the expand/collapse timeout on destroy instead
1662         of unrealize to avoid leaving the expander in a inconsistent
1663         state when unrealizing during animation.
1664         (gtk_expander_start_animation): remove realized check.
1665         (gtk_expander_set_expanded): if the widget isn't realized,
1666         expand immediately.
1667
1668 Tue Oct 28 09:44:16 2003  Owen Taylor  <otaylor@redhat.com>
1669
1670         * gtk/gtkxembed.c (_gtk_xembed_send_focus_message): Silently
1671         do nothing when recipient is NULL, as described in the
1672         doc comment. (#123107, Thomas Leonard)
1673
1674 Tue Oct 28 09:21:29 2003  Owen Taylor  <otaylor@redhat.com>
1675
1676         * gtk/gtkmain.c (gtk_check_version): Move docs inline,
1677         rewrite docs, mention memory management for the return
1678         value. (Partly addresses #125549, Michael Natterer)
1679
1680 2003-10-28  Padraig O'Briain  <padraig.obriain@sun.com>
1681
1682         * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_remove_filter):
1683         Change index to filter_index to fix compilation error.
1684
1685         * gtk/gtkfilesystem.h: Correct definition of gtk_file_path_get_string.
1686
1687 Mon Oct 27 15:47:58 2003  Manish Singh  <yosh@gimp.org>
1688
1689         * gdk/x11/gdkscreen-x11.c: #include <X11/extensions/Xrandr.h> if
1690         we have RandR support, for XRRUpdateConfiguration declaration.
1691
1692         * gtk/gtkfilefilter.c: #include "gtkprivate.h" for _gtk_fnmatch
1693         declaration.
1694
1695         * gtk/gtkuimanager.c (gtk_ui_manager_add_ui_from_file): Make
1696         length a gsize variable, since that's what g_file_get_contents()
1697         expects.
1698
1699 Mon Oct 27 12:18:49 2003  Owen Taylor  <otaylor@redhat.com>
1700
1701         * NEWS: Fix attribution for above/below EWMH work.
1702
1703 Sat Oct 25 23:30:13 2003  Matthias Clasen  <maclas@gmx.de>
1704
1705         * gtk/gtkactiongroup.c (gtk_action_group_class_init): Add "name" 
1706         as a construct-only property.  (#125475, Murray Cumming)
1707
1708 Thu Oct 23 21:55:10 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1709
1710         Fix bug 116297 and 125472
1711         
1712         * gtk/gtktoolbar.c (gtk_toolbar_highlight_drop_location): Make
1713         this function take an index and a GtkToolItem.
1714
1715         * tests/testtoolbar.c (main): Make "Show Arrow" default to
1716         true. Make one of the separators !draw and expand.
1717         Update for new highlight_drop_location() API.
1718
1719         * gtk/gtktoolitem.[ch]: Remove "pack_end" property
1720
1721         * gtk/gtktoolbar.h: Formatting fixes.
1722
1723         * gtk/gtktoolbar.c: Remove "pack_end" child property. Allow
1724         separator tool items to expand.
1725         (logical_to_physical, physical_to_logical): Fix off-by-one errors
1726         (Fix #125472, Marco Pesenti Gritti)
1727
1728         * gtk/gtkseparatortoolitem.[ch]: Add new "draw" property.
1729         (gtk_separator_tool_item_expose) only draw if "draw" is TRUE. Also
1730         return FALSE, not TRUE.
1731         (gtk_separator_too_item_{set|get}_property,
1732         (gtk_separator_tool_item_{set|get}_draw): new functions
1733
1734 Fri Oct 24 16:54:04 2003  Owen Taylor  <otaylor@redhat.com>
1735
1736         * === Released 2.3.0 ===
1737
1738         * configure.in: Remove a stray comma.
1739
1740         * README.in: Fix a few notes about Xft 1 and pango-1.0.
1741
1742         * NEWS: Finish updates for 2.3.0.
1743
1744         * po/Makefile.in.in: Update to latest GLib version.
1745
1746 Fri Oct 24 20:31:35 2003  Kristian Rietveld  <kris@gtk.org>
1747
1748         * gtk/gtkcellview.[ch], gtk/gtkcellviewmenuitem.[ch],
1749         gtk/gtkcombobox.[ch], gtk/gtkcomboboxentry.[ch],
1750         gtk/gtktreemodelfilter.[ch]: Fix licensing (I managed to put it
1751         under GPL licensing instead of LGPL...). (Fixes #125381, Soeren
1752         Sandmann).
1753
1754 Fri Oct 24 20:22:40 2003  Kristian Rietveld  <kris@gtk.org>
1755
1756         * gtk/gtktreemodelfilter.h: add padding to the class structure.
1757
1758 2003-10-23  Federico Mena Quintero  <federico@ximian.com>
1759
1760         * gtk/gtkfilechooser.c (gtk_file_chooser_get_preview_uri): Fixed docs.
1761         (gtk_file_chooser_remove_filter): Likewise.
1762         (gtk_file_chooser_select_all): Added docs.
1763         (gtk_file_chooser_unselect_all): Likewise.
1764
1765         * gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_new): Added docs.
1766
1767         * gtk/gtkfilechooserwidget.c (gtk_file_chooser_widget_new): Added docs.
1768
1769 Thu Oct 23 23:22:15 2003  Matthias Clasen  <maclas@gmx.de>
1770
1771         * gtk/gtkfilefilter.c: 
1772         * gtk/gtkfilechooser.c: Add "Since: 2.4" to all API doc comments.
1773
1774 Thu Oct 23 22:33:47 2003  Matthias Clasen  <maclas@gmx.de>
1775
1776         * gtk/gtkfilefilter.c (gtk_file_filter_new): Fix doc markup.
1777
1778 Thu Oct 23 21:49:05 2003  Matthias Clasen  <maclas@gmx.de>
1779
1780         * NEWS: Remove a few duplicates, group the menu changes.
1781
1782 Thu Oct 23 21:12:50 2003  Kristian Rietveld  <kris@gtk.org>
1783
1784         * NEWS: Updates for 2.3.0; changed header to match the style we used
1785         for 2.1.0.
1786
1787 Thu Oct 23 20:47:44 2003  Matthias Clasen  <maclas@gmx.de>
1788
1789         * gdk/x11/gdkwindow-x11.c (gdk_window_set_group): Actually
1790         assign the new leader.  (#125168, Mariano Suarez-Alvarez)
1791
1792 Thu Oct 23 20:21:16 2003  Kristian Rietveld  <kris@gtk.org>
1793
1794         * gtk/gtkcelllayout.c, gtk/gtkcellview.c gtk/gtkcellviewmenuitem.c,
1795         gtk/gtkcombobox.c, gtk/gtkcomboboxentry.c, gtk/gtkentrycompletion.c,
1796         gtk/gtktreemodelfilter.c, gtk/gtkcellrenderertoggle.c: Fix includes.
1797
1798 Thu Oct 23 15:13:56 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1799
1800         * NEWS: Partial update for 2.3.0.
1801
1802 Thu Oct 23 01:09:04 2003  Owen Taylor  <otaylor@redhat.com>
1803
1804         * gtk/gtkfilechooserdefault.c: Convert GtkOptionMenu to
1805         GtkComboBox.
1806
1807 Wed Oct 22 23:20:04 2003  Owen Taylor  <otaylor@redhat.com>
1808
1809         * gtk/gtkfilechooser.[ch] gtk/gtkfilefilter.[ch] 
1810         gtk/gtkfilechooserwidget.[ch] gtk/gtkfilechooserdialog.[ch]:
1811         gtk/gtkfilechooserutils.c gtk/gtkfilechooserprivate.[ch]:
1812         Basic framework for the new file selector widget.
1813
1814         * gtk/gtkfilechooserdefault.[ch] gtk/gtkcellrenderersep.[ch] 
1815         gtk/gtkfilechooserentry.[ch] gtk/gtkfilesystemmodel.[ch]:
1816         Initial implementation of the GtkFileChooser user interface.
1817
1818         * gtk/gtkfilesystemunix.[ch]: GtkFileSystem implementation
1819         for Unix files.
1820
1821         * configure.in gtk/Makefile.am gtk/xdgmime: Build code
1822         for freedesktop.org MIME system on Unix.
1823
1824         * tests/testfilechooser.c: Test program for GtkFileChooser
1825
1826         * tests/prop-editor.c: Add support for properties on interfaces.
1827
1828 Tue Oct 21 16:12:51 2003  Owen Taylor  <otaylor@redhat.com>
1829
1830         * demos/gtk-demo/menus.c (do_menus): Fix some unused
1831         variables.
1832
1833         * gtk/gtkmain.c (_gtk_get_lc_ctype): Fix an unused
1834         variable warning.
1835
1836 Thu Oct 23 00:04:50 2003  Matthias Clasen  <maclas@gmx.de>
1837
1838         * NEWS: Partial update for 2.3.0.
1839
1840 Tue Oct 21 22:07:12 2003  Kristian Rietveld  <kris@gtk.org>
1841
1842         * gtk/gtktreeview.c (gtk_tree_view_real_move_cursor): set
1843         ctrl_pressed and shift_pressed according to the current event
1844         state (if there is one). (Fixes #125063, reported by Sebastien Bacher).
1845
1846 Mon Oct 20 23:24:27 2003  Kristian Rietveld  <kris@gtk.org>
1847
1848         * gtk/gtkentry.c (gtk_entry_key_press): remove the completion
1849         timeout when the user pressed on Enter/ESC. Fixes the bug where the
1850         completion popup popped up after the user pressed on Enter (which is
1851         just weird). Reported by the Epiphany people (all of them).
1852
1853 Mon Oct 20 20:27:22 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1854
1855         Add support for OS X like sliding of toolbar items during drag and
1856         drop, (#110919, Dave Bordoley)
1857
1858         Make dnd highlighting the responsibility of the
1859         application. (Fixes #116298, Owen Taylor)
1860
1861         * gtk/gtktoolbar.h: Add prototypes for new API.
1862         
1863         * gtk/gtktoolbar.c
1864         (physical_to_logical, logical_to_physical): new functions
1865         converting between "position including placeholders" and "position
1866         excluding placeholders".
1867         (gtk_toolbar_class_init): remove drag_leave and drag_motion
1868         handlers
1869         (struct _ToolbarContent): new struct containing information
1870         related to toolbar items.
1871         (gtk_toolbar_highlight_drop_location): new public function
1872         (gtk_toolbar_unhighlight_drop_location): new public function
1873         
1874         * tests/testtoolbar.c
1875         (toolbar_drag_motion, toolbar_drag_leave): new functions
1876         (main): connect to dnd signals.  Make the "New" item expand to
1877         make drag and drop more exciting.
1878
1879 Wed Oct 15 22:39:23 2003  Kristian Rietveld  <kris@gtk.org>
1880
1881         * gtk/gtkcomboboxentry.c (gtk_combo_box_entry_init): it's
1882         _set_active, not _set_active_item.
1883
1884 Wed Oct 15 22:31:09 2003  Kristian Rietveld  <kris@gtk.org>
1885
1886         * gtk/gtkcombobox.h: add padding to the class structure.
1887         * gtk/gtkcomboboxentry.h: ditto.
1888         * gtk/gtkentrycompletion.h: ditto.
1889
1890 Wed Oct 15 22:04:59 2003  Kristian Rietveld  <kris@gtk.org>
1891
1892         * gtk/gtkcombobox.c (gtk_combo_box_get_active),
1893         (gtk_combo_box_set_active): mention in the docs that -1 is a valid
1894         value and what it means.
1895
1896         * gtk/gtkcomboboxentry.c (gtk_combo_box_entry_init): set the active
1897         item to -1 (default),
1898         (gtk_combo_box_entry_active_changed): do nothing when the index is
1899         < 0.
1900
1901 Tue Oct 14 16:10:21 2003  Jonathan Blandford  <jrb@redhat.com>
1902
1903         * gtk/gtkcombobox.c (gtk_combo_box_set_active_iter): New function
1904         to set the active row by iter.
1905
1906         * gtk/gtkcombobox.c (gtk_combo_box_get_active_iter): New function
1907         to get the active row by iter.
1908
1909 2003-10-13  Federico Mena Quintero  <federico@ximian.com>
1910
1911         * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Don't do
1912         operations on windows if the tree view is not mapped.
1913         (gtk_tree_view_button_press): Compare equal types of pointers, not
1914         GtkWidget* vs. GtkTreeView*.
1915
1916 Mon Oct 13 21:01:43 2003  Kristian Rietveld  <kris@gtk.org>
1917
1918         * gtk/gtkentrycompletion.c (gtk_entry_completion_popup): remove
1919         the reset of first_sel_changed, as after the first popup the treeview
1920         will always have a row selected and will thus not focus_to_cursor.
1921
1922         * gtk/gtkentry.c (keyval_is_cursor_move): new function to determine
1923         whether the keyval should move the completion selection cursor (used
1924         to avoid ending up with extreme cluttered code), also added
1925         all KP_ equivalents of the keys here,
1926         (gtk_entry_completion_key_press): Keynav tweaks based on comments
1927         from Dave Bordoley and Marco Pesenti Gritti; add the -1 state
1928         as possible current selection, implement Home/End keys, modified
1929         the down key to stop cycling. Maybe page up/down should be implemented
1930         at some later time.
1931
1932 Mon Oct 13 20:58:07 2003  Matthias Clasen  <maclas@gmx.de>
1933
1934         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon): Make it work 
1935         as documented when pixmap or mask is NULL.  (#124081) 
1936
1937 Mon Oct 13 20:21:38 2003  Kristian Rietveld  <kris@gtk.org>
1938
1939         * gtk/gtkentry.c (gtk_entry_set_text): I overlooked a return when
1940         I was adding the signal block/unblock code. Oops. (Noticed by
1941         Marco Pesenti Gritti).
1942
1943 Mon Oct 13 20:21:55 2003  Kristian Rietveld  <kris@gtk.org>
1944
1945         * demos/testpixbuf-scale.c: enable GTK_DISABLE_DEPRECATED again,
1946         (set_interp_type), (main): port over from option menu to GtkComboBox.
1947
1948 Mon Oct 13 19:41:55 2003  Kristian Rietveld  <kris@gtk.org>
1949
1950         * tests/testmenus.c: Still uses option menus, so turn off
1951         GTK_DISABLE_DEPRECATED.
1952
1953 Sun Oct 12 01:10:29 2003  Matthias Clasen  <maclas@gmx.de>
1954
1955         * gtk/gtkalignment.[hc]: 
1956         * gtk/gtkcombobox.[hc]: 
1957         * gtk/gtkcomboboxentry.[hc]: 
1958         * gtk/gtktreemodelfilter.[hc]: Move GET_PRIVATE macros
1959         from header to implementation.
1960
1961 Sun Oct 12 00:18:02 2003  Matthias Clasen  <maclas@gmx.de>
1962
1963         * tests/testtreeview.c: 
1964         * demos/testpixbuf-scale.c: 
1965         * tests/prop-editor.c: These files still use option menus,
1966         so turn off GTK_DISABLE_DEPRECATED to fix the build. 
1967
1968 Sat Oct 11 23:14:36 2003  Matthias Clasen  <maclas@gmx.de>
1969
1970         * gtk/gtkactiongroup.h: 
1971         * gtk/gtkaction.h: 
1972         * gtk/gtkradioaction.h: 
1973         * gtk/gtkradiotoolbutton.h: 
1974         * gtk/gtkseparatortoolitem.h: 
1975         * gtk/gtktoggleaction.h: 
1976         * gtk/gtktoolitem.h: 
1977         * gtk/gtkuimanager.h: Add G_BEGIN_DECLS/G_END_DECLS to make 
1978         these usable in C++.  (#124351, Murray Cumming)
1979
1980 Sat Oct 11 19:09:05 2003  Kristian Rietveld  <kris@gtk.org>
1981
1982         * gtk/gtkentry.c (gtk_entry_set_text): Check if completion is
1983         non-NULL before accessing it. Oops.
1984
1985 Sat Oct 11 15:47:03 2003  Kristian Rietveld  <kris@gtk.org>
1986
1987         * gtk/gtkentrycompletion.[ch] (gtk_entry_completion_insert_action),
1988         (gtk_entry_completion_insert_action_text),
1989         (gtk_entry_completion_insert_action_markup): the gchar* parameters
1990         should be const (pointed out by both Marco Pesenti Gritti and
1991         Murray Cumming (#124356).
1992
1993 Sat Oct 11 15:37:19 2003  Kristian Rietveld  <kris@gtk.org>
1994
1995         * gtk/gtkcombobox.c (gtk_combo_box_size_allocate): for the custom
1996         child list mode, allocate the height allocation->height to the
1997         button instead of the height requested by the button. (Tiny
1998         size allocation screwup noticed by Macro Pesenti Gritti).
1999
2000 Sat Oct 11 15:23:27 2003  Kristian Rietveld  <kris@gtk.org>
2001
2002         Fixes based on comments from Marco Pesenti Gritti.
2003
2004         * gtk/gtkentry.c (gtk_entry_set_text): block the completion changed
2005         signal handler, avoids the completion popup to popup when text is
2006         set programmatically in most cases (we actually have to handle this
2007         in the _editable functions as well, but that will break popping up
2008         when the user actually typed something :),
2009         (gtk_entry_completion_key_press): when handling enter, bail out
2010         when nothing has been selected,
2011         (gtk_entry_completion_changed): don't popdown when the entry content
2012         changed.
2013
2014         * gtk/gtkentrycompletion.c (gtk_entry_completion_init),
2015         (gtk_entry_completion_selected_changed): unselect_all on the
2016         first selected changed signal. Avoids having a default row selected,
2017         (_gtk_entry_completion_popup): don't select the first row by default.
2018
2019         * gtk/gtkentryprivate.h (struct _GtkEntryCompletionPrivate): add a
2020         first_sel_changed field.
2021
2022 Fri Oct 10 23:02:58 2003  Matthias Clasen  <maclas@gmx.de>
2023
2024         * demos/gtk-demo/menus.c: Replace GtkItemFactory by GtkUIManager 
2025         in the intro (again).
2026
2027 Fri Oct 10 22:50:05 2003  Matthias Clasen  <maclas@gmx.de>
2028
2029         Fixes for (#124212, Marco Pesenti Gritti):
2030         
2031         * gtk/gtkuimanager.c (update_smart_separators): Don't spit 
2032         warnings for popups.
2033         (_gtk_menu_is_empty): Return FALSE for non-menus.
2034
2035 Fri Oct 10 19:10:12 2003  Kristian Rietveld  <kris@gtk.org>
2036
2037         * gtk/gtkcombo.h: Deprecate.
2038         * gtk/gtkoptionmenu.h: Ditto.
2039
2040         * gtk/gtkcombobox.c (gtk_combo_box_size_request),
2041         (gtk_combo_box_size_allocate): Rework, things behave better now. Still
2042         needs some work on requesting enough size when taking the items in
2043         the list into account.
2044
2045         * gtk/gtkfilesel.c: put gtkoptionmenu.h include inside "enable
2046         deprecated" guards.
2047         * gtk/gtkinputdialog.c: ditto.
2048         * gtk/gtkitemfactory.c: ditto.
2049         * gtk/gtkoptionmenu.c: ditto.
2050
2051         * demos/gtk-demo/menus.c: remove the option menu.
2052         * demos/gtk-demo/sizegroup.c: replace the option menus with
2053         GtkComboBox.
2054         * demos/gtk-demo/textview.c: ditto.
2055         (A general GtkComboBox demo will be added later on).
2056
2057 Wed Oct  8 00:06:17 2003  Matthias Clasen  <maclas@gmx.de>
2058
2059         * demos/gtk-demo/ui_manager.c (activate_radio_action): New
2060         callback to propertly report radio actions.
2061
2062         * demos/gtk-demo/ui_manager.c (do_ui_manager): Use it here.
2063
2064 Tue Oct  7 23:23:05 2003  Matthias Clasen  <maclas@gmx.de>
2065
2066         * gtk/gtkplug.c (xembed_set_info): Put the supported protocol
2067         version in in the right field of the _XEMBED_INFO property.  
2068         (#123885, Denis Mikhalkin)
2069
2070 Mon Oct  6 14:18:47 2003  Jonathan Blandford  <jrb@redhat.com>
2071
2072         * gtk/gtkexpander.c (gtk_expander_animation_timeout): only show
2073         the child if we have one.
2074
2075         (gtk_expander_button_release): use
2076         gtk_widget_activate instead.
2077
2078 Mon Oct  6 21:05:46 2003  Matthias Clasen  <maclas@gmx.de>
2079
2080         * gtk/gtktable.c (gtk_table_class_init): Start the blurb for 
2081         "right_attach" with a capital.  (#123945, Christian Rose)
2082
2083 Sun Oct  5 23:59:03 2003  Matthias Clasen  <maclas@gmx.de>
2084
2085         * tests/testsocket.c (child_read_watch): Remove an
2086         extraneous unref.  (#122336, Frederic Crozat)
2087
2088 Sun Oct  5 22:38:22 2003  Matthias Clasen  <maclas@gmx.de>
2089
2090         * gtk/gtkeventbox.c (gtk_event_box_class_init): Trim 
2091         whitespace in "visible-window" blurb.  (#123910, Christian Rose)
2092
2093 Sun Oct  5 00:53:15 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2094
2095         * gtk/gtktoolbar.c (gtk_toolbar_list_children_in_focus_order):
2096         focus arrow before pack_end items (#123851, Matthias Clasen)
2097
2098 Fri Oct  3 20:50:48 2003  Kristian Rietveld  <kris@gtk.org>
2099
2100         * gtk/gtkcombobox.c (gtk_combo_box_set_model): only set the model
2101         on ->priv->cell_view if ->priv->cell_view is non-NULL.
2102
2103         * gtk/gtkcomboboxentry.c: include gtkintl.h, add text_renderer
2104         field to GtkComboBoxEntryPrivate,
2105         (gtk_combo_box_entry_class_init), (gtk_combo_box_entry_init),
2106         (gtk_combo_box_entry_set_property), (gtk_combo_box_entry_get_property),
2107         (gtk_combo_box_entry_set_text_column), (gtk_combo_box_entry_new): add
2108         a construct-only "text_column" property and reorder code to use it
2109         and support inheriting this widget.
2110
2111 Thu Oct  2 23:28:02 2003  Kristian Rietveld  <kris@gtk.org>
2112
2113         * gtk/gtkcombobox.c: Added API doc comments.
2114
2115         * gtk/gtkcomboboxentry.c: Ditto.
2116
2117 2003-10-02  Matthias Clasen  <maclas@gmx.de>
2118
2119         * gtk/gtktoggleaction.c: Documentation tweaks.
2120
2121 Wed Oct  1 22:43:40 2003  Kristian Rietveld  <kris@gtk.org>
2122
2123         * gtk/gtkcellview.[ch]: implement the GtkCellLayout interface, drop
2124         packing/attribute/cell data functions from the header,
2125         (gtk_cell_view_set_cell_data): added support for cell data funcs.
2126
2127         * gtk/gtkcombobox.[ch]: implement the GtkCellLayout interface, drop
2128         packing/attribute/cell data functions from the header, implemented
2129         cell data func support.
2130
2131         * gtk/gtkcomboboxentry.c (gtk_combo_box_entry_new): updated
2132         for the move to GtkCellLayout.
2133
2134         * tests/testcombo.c (create_combo_box_grid_demo), (main): ditto.
2135
2136 2003-10-01  Matthias Clasen  <maclas@gmx.de>
2137
2138         * gtk/gtkaction.c (gtk_action_class_init): 
2139         (gtk_action_[gs]et_property): Introduce a separate
2140         "hide_if_empty" property for empty menu handling.
2141         (_gtk_action_sync_menu_visible): ...and use it here.
2142
2143         * tests/testmerge.c (main): ...and here.
2144
2145         * gtk/gtktoolitem.c (gtk_tool_item_class_init): Fix signal doc 
2146         comments to pacify gtk-doc.
2147
2148         * gtk/gtkmain.c: Doc formatting tweaks.
2149
2150         * gtk/gtktoolitem.c (gtk_tool_item_set_is_important): Fix a typo.
2151
2152         * gtk/gtkcheckmenuitem.h (gtk_check_menu_item_set_draw_as_radio): 
2153         Use the same parameter names as in .c file, to pacify gtk-doc.
2154
2155         * gtk/gtktoggletoolbutton.[hc]: 
2156         * gtk/gtktoolbutton.[hc]: 
2157         * gtk/gtktoolitem.[hc]:
2158         * gtk/gtktoolbar.[hc]: 
2159         * gtk/gtkcolorbutton.[hc]: 
2160         * gtk/gtkfontbutton.[hc]: 
2161         * gtk/gtkalignment.[hc]: Define GET_PRIVATE macros in the 
2162         source, not in the header.
2163
2164         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_[sg]et_draw_as_radio): 
2165         Document these as 2.4 API additions.
2166
2167 Tue Sep 30 23:42:56 2003  Kristian Rietveld  <kris@gtk.org>
2168
2169         * gtk/gtkentry.c (gtk_entry_set_completion),
2170         (gtk_entry_get_completion): Add API doc comments.
2171
2172         * gtk/gtkentrycompletion.c: Fix #includes and add API doc comments.
2173
2174 Tue Sep 30 23:12:34 2003  Kristian Rietveld  <kris@gtk.org>
2175
2176         * gtk/gtktreemodelfilter.c: Add "Since: 2.4" to all API doc comments.
2177
2178 Tue Sep 30 22:59:58 2003  Kristian Rietveld  <kris@gtk.org>
2179
2180         * gtk/gtktreeviewcolumn.c: Some API doc comment fixes.
2181
2182         * gtk/gtkcellayout.c: Fix #include and oooooh API doc comments!
2183
2184 2003-09-30  Matthias Clasen  <maclas@gmx.de>
2185
2186         * tests/merge-*.ui: 
2187         * tests/testmerge.c: Test handling of empty menus.
2188
2189         * gtk/gtkuimanager.c (_gtk_menu_is_empty): New function to determine
2190         whether a menu is empty. Used in gtkaction.c.
2191         (update_smart_separators): Also update the visibility of empty menus.
2192         (update_node): When creating a new menu proxy, insert an "Empty" menu 
2193         item which only gets shown if the menu is empty. 
2194
2195         * gtk/gtkaction.c (gtk_action_class_init): Document the meaning of
2196         "is_important" for menu proxies.
2197         (_gtk_action_sync_menu_visible): New function to sync the visibility
2198         of menu proxies. Used in gtkuimanager.c.
2199         (gtk_action_sync_visible): New function to sync the visibility of 
2200         proxies.
2201
2202 Tue Sep 30 21:43:34 2003  Kristian Rietveld  <kris@gtk.org>
2203
2204         * gtk/gtkcombobox.c (gtk_combo_box_menu_button_press): set
2205         popup_in_progress to TRUE,
2206         (gtk_combo_box_menu_show): and back to FALSE here; the menu now
2207         won't disappear on the first button release. (Reported by Matthias
2208         Clasen).
2209
2210 Tue Sep 30 21:08:43 2003  Kristian Rietveld  <kris@gtk.org>
2211
2212         * gtk/gtkcombobox.c (gtk_combo_box_init): actually show the child.
2213
2214         * gtk/gtkcomboboxentry.c (gtk_combo_box_entry_init): ditto. (#123543,
2215         Marco Pesenti Gritti).
2216
2217 2003-09-30  Murray Cumming  <murrayc@usa.net>
2218  
2219         * gtk/gtkcellrenderer.h: The render vfunc takes a GdkDrawable*
2220         instead of a GdkWindow*, because that what it is given. The 
2221         documentation was already correct. This should cause no API/ABI
2222         breakage with C compilers.
2223         * gtk/gtkcellrenderertext.c, gtkcellrendererpixbuf.c, 
2224         gtkcellrenderertogger.c: Updated the declarations of the render vfunc
2225         implementation accordingly.
2226
2227 2003-09-30  Matthias Clasen  <maclas@gmx.de>
2228
2229         * gdk/gdkkeys.c (gdk_keymap_class_init): Document the
2230         "direction-changed" and "keys-changed" signals.
2231
2232         * gdk/gdkscreen.c (gdk_screen_class_init): Document the 
2233         "size-changed" signal.
2234
2235         * gdk/gdkdisplaymanager.c (gdk_display_manager_class_init): 
2236         Document the "display-opened" signal.
2237
2238         * gdk/gdkdisplay.c (gdk_display_close): Doc tweak.
2239         (gdk_display_class_init): Document the "closed" signal.
2240
2241 Sat Sep 27 16:02:40 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2242
2243         * gtk/gtktextview.[ch]: rename property tab_moves_focus to
2244         accepts_tab. (#122709 again).
2245
2246 2003-09-27  Matthias Clasen  <maclas@gmx.de>
2247
2248         * gtk/gtkwindow.c (gtk_window_new):
2249         * gtk/gtkitemfactory.c (gtk_item_factory_new): Document 
2250         the fact that the newly created object does not come with 
2251         a floating reference.  (#103068, patch by Frederic Lespez)
2252         
2253         * gtk/gtkitemfactory.h: Deprecate GtkItemFactory in favor 
2254         of GtkUIManager. Just leave GtkTranslateFunc undeprecated, 
2255         since GtkActionGroup uses it.
2256
2257         * tests/testtext.c: Turn off GTK_DISABLE_DEPRECATED, since
2258         this test uses the soon-to-be-deprecated GtkItemFactory.
2259
2260         * demos/gtk-demo/Makefile.am (demos): Add ui_manager.c,
2261         remove item_factory.c
2262
2263         * demos/gtk-demo/ui_manager.c: Duplicate of item_factory.c 
2264         using GtkUIManager instead of GtkItemFactory.
2265
2266         * tests/testmerge.c: Demonstrate the use of the 
2267         connect-proxy signal.
2268
2269         * gtk/gtkaction.c (connect_proxy): Add connect-proxy and 
2270         disconnect-proxy signals to do small customizations 
2271         like displaying tooltips in the statusbar without 
2272         custom actions.  (#122894, Philip Langdale)
2273
2274         * gtk/gtkuimanager.c (update_node): Don't leak tooltip.
2275
2276 Fri Sep 26 23:49:44 2003  Kristian Rietveld  <kris@gtk.org>
2277
2278         Landing the new ComboBox. Note that only gtkcombobox.h and
2279         gtkcomboboxentry.h are public.
2280
2281         * gtk/gtkcellview.[ch], gtk/gtkcellviewmenuitem.[ch],
2282         gtk/gtkcombobox.[ch], gtk/gtkcomboboxentry.[ch]: new files.
2283
2284         * gtk/Makefile.am, gtk/gtk.h: adding the new files.
2285
2286         * tests/testcombo.c: and a new test.
2287
2288         * tests/Makefile.am: adding the new test.
2289
2290 2003-09-25  Tor Lillqvist  <tml@iki.fi>
2291
2292         * demos/gtk-demo/main.c: Don't use hardcoded DEMOCODEDIR on Windows.
2293
2294 2003-09-21  Tor Lillqvist  <tml@iki.fi>
2295
2296         * gdk/win32/gdkevents-win32.c (handle_wm_paint): New
2297         function. Code split out from gdk_event_translate(). Needed
2298         because gdk_event_get_graphics_expose() couldn't do anything
2299         sensible otherwise. (Not that I think graphics exposes work anyway
2300         in gdk/win32, but at least now the code could work.)
2301
2302         (gdk_event_get_graphics_expose): Call handle_wm_paint() instead of
2303         gdk_event_translate(), which couldn't have worked as it doesn't
2304         take any pre-allocated GdkEvent parameter any longer.
2305         
2306         (gdk_event_translate): Handle WM_MOUSEACTIVATE: Don't let
2307         GDK_WINDOW_TEMP windows be activated. (#122578, John Ehresman)
2308
2309 2003-09-24  Matthias Clasen  <maclas@gmx.de>
2310
2311         * demos/gtk-demo/appwindow.c (do_appwindow): Demonstrate tooltips
2312         on toolitems.
2313
2314         * gtk/gtkaction.c (connect_proxy): Sync tooltips on toolitems.
2315
2316         * gtk/gtkuimanager.c (update_node): Don't complain about missing
2317         actions on popups. Re-set "tooltip" property on toolitems after
2318         adding them to parent to trigger proxy update.
2319
2320 2003-09-22  Matthias Clasen  <maclas@gmx.de>
2321
2322         * tests/testmerge.c (main): Initially activate the JUSTIFY_RIGHT
2323         group member to test the fix for #122904.
2324
2325         * gtk/gtkactiongroup.c (gtk_action_group_add_radio_actions_full): 
2326         Add the action to the group before activating it, otherwise we
2327         may end up with multiple active group members.  (#122904, Marco
2328         Pesenti Gritti)
2329
2330 2003-09-21  Matthias Clasen  <maclas@gmx.de>
2331
2332         Changes to make cross-process merging feasible:
2333         
2334         * gtk/gtkuimanager.[hc]: Add a readonly "ui" property which holds the
2335         merged UI definition. Remove the "changed" signal, since its role
2336         is now filled by "notify::ui". Instead add a "actions-changed" signal
2337         which gets emitted when the set of actions changes.
2338
2339         * gtk/gtktoggleactionprivate.h:
2340         * gtk/gtktoggleaction.[hc] (gtk_toggle_action_[sg]et_draw_as_radio):
2341         Add a "draw_as_radio" property to toggle actions so that they can be
2342         used as proxies for radio actions much like the "draw_as_radio" 
2343         property on check menu items enables them to operate as proxies for
2344         radio actions.
2345
2346         Prevent the "show_all" trap for action-based menus (see
2347         http://mail.gnome.org/archives/gtk-devel-list/2003-September/
2348         msg00260.html):
2349
2350         * gtk/gtkmenu.c (gtk_menu_{hide,show}_all): Remove g_return_if_fail()
2351         calls from static functions.
2352
2353         * gtk/gtkuimanager.c (update_node): 
2354         * gtk/gtkaction.c (connect_proxy): Set "no_show_all" on constructed
2355         widgets whose visibility is externally controlled.
2356
2357         * gtk/gtkwidget.[hc] (gtk_widget_[gs]et_no_show_all): Add a boolean 
2358         "no_show_all" property with setter and getter. When TRUE, it keeps
2359         gtk_widget_{hide,show}_all() from modifying the visibility of the 
2360         widget and its children.
2361
2362 Sun Sep 21 23:13:37 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2363
2364         * gtk/gtktextview.[ch]: Add new "tab moves focus" property (#122709)
2365
2366 2003-09-20  Tor Lillqvist  <tml@iki.fi>
2367
2368         * gtk-zip.sh.in: Don't use zip -r on the etc directory, to avoid
2369         including editor backup files. List files we want explicitly.
2370
2371         * gtk/gtkmain.c (_gtk_get_lc_ctype): New function. On Unix, just
2372         calls setlocale (LC_CTYPE, NULL). On Windows, looks for the
2373         LC_ALL, LC_CTYPE and LANG environment variables, than calls
2374         g_win32_getlocale().
2375
2376         (gtk_get_default_language): Code snippet moved to above function,
2377         call it.
2378
2379         * gtk/gtkimmulticontext.c (gtk_im_multicontext_get_slave)
2380         * gtk/gtkrc.c (gtk_rc_context_parse_file): Call
2381         _gtk_get_lc_ctype() instead of setlocale().
2382
2383 Fri Sep 19 18:15:31 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2384
2385         * gtk/gtkpaned.c, gtk/gtkhpaned.c: implement RTL flipping
2386         (#96632)
2387
2388 Fri Sep 19 13:24:54 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2389
2390         * gtk/gtktreeview.c (gtk_tree_view_get_cursor): Improve
2391         documentation. (#117306, Steve Chaplin)
2392
2393 2003-09-19  Tor Lillqvist  <tml@iki.fi>
2394
2395         * gdk/win32/gdkkeys-win32.c (update_keymap): Handle dead keysyms
2396         present on the US-International keyboard. For clarity, order
2397         keysyms in case statement according to numeric value.
2398
2399         (gdk_keymap_translate_keyboard_state): Handle Caps Lock
2400         correctly. (#120176, Ken Rastatter and Owen Taylor)
2401
2402 2003-09-18  Matthias Clasen  <maclas@gmx.de>
2403
2404         * gtk/gtkaction.c (gtk_action_finalize): Call g_closure_unref() to
2405         unref a closure, not g_object_unref().  (#122637, Marco Pesenti Gritti)
2406
2407         Install accelerators on actions, not on proxies, support
2408         accelerator-only actions:
2409         
2410         * gtk/gtkmenu.c (get_accel_path): New function to get the accel path
2411         and its lock status either via _gtk_widget_get_accel_path() or by 
2412         looking at the accel_path stored in the menu item itself and determining
2413         its lock status by peeking into the contained accel label. This was
2414         already (accidentally) committed a week ago.
2415
2416         * gtk/gtkaction.h (gtk_action_set_accel_group):
2417         (gtk_action_[dis]connect_accelerator): New functions.
2418
2419         * gtk/gtkaction.c (struct _GtkActionPrivate): Add accel_group,
2420         accel_closure and accel_count. We must have a reference to the 
2421         accel_group, since we need it in connect_proxy. The count is necessary
2422         to ensure that the accelerator isn't removed before the last proxy 
2423         requesting it has been unmerged.
2424         (connect_proxy): Connect the accelerator to the 
2425         action now, only set the accel_path on the menuitem.
2426         (remove_proxy): Disconnect the accelerator from the action, not from
2427         the menuitem.
2428         (gtk_action_set_accel_group): Set the accel group. 
2429         (gtk_action_[dis]connect_accelerator): Count the number of times
2430         this functions have been called and install/remove the accelerator if
2431         the count leaves/reaches zero.
2432
2433         * gtk/gtkuimanager.h (GtkUIManagerItemType): Add 
2434         GTK_UI_MANAGER_ACCELERATOR.
2435
2436         * gtk/gtkuimanager.c (NodeType): Add NODE_TYPE_ACCELERATOR.
2437         (start_element_handler): Create NODE_TYPE_ACCELERATOR nodes from
2438         <accelerator> elements.
2439         (gtk_ui_manager_add_ui): Create NODE_TYPE_ACCELERATOR nodes when
2440         type is GTK_UI_MANAGER_ACCELERATOR.
2441         (update_node): Set the accel group on actions before creating their
2442         proxies. Don't set the accel group on created menus. For 
2443         NODE_TYPE_ACCELERATOR nodes, [dis]connect the actions' accelerator.
2444         (print_node): Also emit <accelerator> elements.
2445
2446         * tests/testmerge.c (dump_accels): Add a "Dump Accels" button. 
2447
2448         * gtk/gtkuimanager.c (update_node): Robustness improvements.
2449
2450 2003-09-17  Matthias Clasen  <maclas@gmx.de>
2451
2452         * gtk/gtkuimanager.c (text_handler): Report unexpected character
2453         data as error from the GMarkup parser, otherwise things like
2454         gtk_ui_manager_add_ui_from_string (ui, "Hi there!", -1, &error) 
2455         pass unexpectedly.
2456
2457 Wed Sep 17 02:38:53 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2458
2459         * gtk/gtktoolbar.c (gtk_toolbar_class_init): revert accidentally
2460         committed redraw_on_allocate change.
2461
2462 Tue Sep 16 10:42:00 2003  Eric Warmenhoven  <eric@warmenhoven.org>
2463
2464         * gdk/linux-fb/gdkwindow-fb.c: Add gdk_window_set_keep_{above,below}
2465         stubs to fix compilation
2466
2467         * gdk/linux-fb/gdkrender-fb.c: Add gdk_shadow_fb_stop_updates stub for
2468         when shadowfb is disabled. Patch from pjm@cctechnol.com (#120847).
2469
2470         * gdk/linux-fb/gdkmouse-fb.c: Add GDK_MOUSE_DEVICE environment
2471         variable. Patch from Marc Welz (#121347).
2472
2473 2003-09-16  Matthias Clasen  <maclas@gmx.de>
2474
2475         * gtk/gtkaction.h: Apply egtk-format-protos.
2476
2477 2003-09-15  Matthias Clasen  <maclas@gmx.de>
2478
2479         * gtk/gtkuimanager.c: Doc tweaks.
2480
2481         Smart separators; see 
2482         http://mail.gnome.org/archives/gtk-devel-list/2003-September/msg00133.html:
2483         
2484         * gtk/gtkuimanager.c (update_smart_separators): New function which 
2485         implements "smart" separators by iterating once over the entries of a 
2486         menu, hiding and showing separators as necessary.
2487         (update_node): Mark separators used as fences of placeholders as
2488         hidden. Explicitly added separators are marked as smart. Call 
2489         update_smart_separators after updating a menu or toolbar node. 
2490         Connect update_smart_separators to "notify::visible" signal on menu
2491         and tool items.
2492         
2493         * tests/merge-[12].ui: Test smart separators.
2494
2495         Changes to allow setting action state before connecting signal; see
2496         the thread starting at 
2497         http://mail.gnome.org/archives/gtk-devel-list/2003-September/msg00140.html:
2498         
2499         * gtk/gtkactiongroup.[hc]: (gtk_action_group_add_radio_actions):
2500         (gtk_action_group_add_radio_actions_full): Add value parameter to allow
2501         setting the currently selected group member before connecting signals.
2502         (GtkToggleActionEntry): Separate struct for constructing toggle actions,
2503         including a boolean to initialize the action state before connecting
2504         signals.
2505         (gtk_action_group_add_toggle_actions):
2506         (gtk_action_group_add_toggle_actions_full): New functions to construct
2507         toggle actions from an array of GtkToggleActionEntries.
2508
2509         * demos/gtk-demo/appwindow.c: 
2510         * tests/testactions.c: 
2511         * tests/testmerge.c: Adjust to new action group API.
2512
2513 Sun Sep 14 16:59:52 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2514
2515         * gtk/gtktoolbar.c (gtk_toolbar_init): Name the arrow 
2516         "gtk-toolbar-arrow" so themes can special-case it.
2517
2518 Sun Sep 14 16:07:49 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2519
2520         * gtk/Makefile.am (gtk_c_sources): sort the list of files.
2521
2522 Sun Sep 14 15:49:00 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2523
2524         * gtk/gtktoolbar.c (toolbar_item_is_homogeneous): Unref the
2525         PangoFontMetrics. Patch from Steve Chaplin (#122257).
2526
2527 2003-09-14  Tor Lillqvist  <tml@iki.fi>
2528
2529         * gdk/win32/gdkwindow-win32.c (show_window_internal): Remove
2530         special-case code for WS_EX_TRANSPARENT (GDK_INPUT_ONLY) windows,
2531         the usefulness of which was already in doubt. Removing it fixes
2532         bugs #118575 and #121851.
2533
2534 Fri Sep 12 16:32:53 2003  Jonathan Blandford  <jrb@redhat.com>
2535
2536         Merge from stable.
2537
2538         * gtk/gtktreeview.c (gtk_tree_view_button_press): only save the
2539         pressed button (used to determine if we want to initiate a drag later
2540         on) if the current grab widget is either NULL or tree_view (Reported
2541         by Jeroen Zwartepoorte).
2542
2543 2003-09-12  Matthias Clasen  <maclas@gmx.de>
2544
2545         * gdk/gdkdraw.c (gdk_draw_string, gdk_draw_text) 
2546         (gdk_draw_text_wc): Add deprecation notes.  (#121955, Martin Pool)
2547
2548 2003-09-11  Matthias Clasen  <maclas@gmx.de>
2549
2550         * gdk/gdkpango.c: Doc tweaks.
2551
2552         * tests/testgtk.c: Add table menu tests.
2553
2554         * gtk/gtkmenu.c (gtk_menu_free_private): Don't forget to free the 
2555         GtkMenuPrivate struct itself. Pointed out by valgrind.
2556
2557         * gtk/gtkuimanager.c (gtk_ui_manager_finalize): Clean up 
2558         properly.  (#121998)
2559
2560 Wed Sep 10 22:25:04 2003  Kristian Rietveld  <kris@gtk.org>
2561
2562         The table menu patch! Turns GtkMenu into a table, so you can attach
2563         menu items in numerous new ways! Be creative!
2564
2565         Contains some bug fixes and RTL adaptions from Matthias Clasen.
2566
2567         * gtk/gtkmenu.c [toplevel]: introduce ATTACH_INFO_KEY, extend
2568         GtkMenuPrivate, introduce AttachInfo, add child properties enum,
2569         (gtk_menu_free_private), (gtk_menu_get_private): we have to free
2570         the heights array in the private struct,
2571         (gtk_menu_class_init): reorder code a bit, install child properties,
2572         (get_attach_info), (get_child_attach): new utility functions,
2573         (gtk_menu_set_child_property), (gtk_menu_get_child_property): introduce
2574         child properties, for the attach info,
2575         (gtk_menu_remove): remove AttachInfo from menu item,
2576         (gtk_menu_real_insert): implemented algorithm to automagically place
2577         inserted menu items at the correct place in the table,
2578         (gtk_menu_size_request), (gtk_menu_size_allocate),
2579         (compute_child_offset): reworked/rewritten to support table menus,
2580         (gtk_menu_attach): new function,
2581         (find_child_containing), (gtk_menu_move_current): new functions to
2582         get table menu keynav right.
2583
2584         * gtk/gtkmenu.h: add gtk_menu_attach() prototype.
2585
2586 2003-09-10  Matthias Clasen  <maclas@gmx.de>
2587
2588         * gtk/gtksocket.c (gtk_socket_filter_func): Only remove 
2589         PropertyNotify events from the stream if they have been handled,
2590         in order to enable extending the plug<->socket communication via
2591         properties.
2592
2593 Wed Sep 10 01:06:44 2003  Kristian Rietveld  <kris@gtk.org>
2594
2595         Big TreeView DnD fixage, makes drops on empty models work, makes
2596         TreeStore DnD work and gets rid of gtk-tree-model-drop-append.
2597         Related bugs #95362 and #113314. I don't want to touch this code
2598         ever again.
2599
2600         * gtk/gtktreeprivate.h (GtkTreePrivate): add empty_view_drop field.
2601
2602         * gtk/gtktreednd.c (gtk_tree_get_row_drag_data): add check
2603         for selection_data->length.
2604
2605         * gtk/gtktreeview.c (struct DestRow), (dest_row_free),
2606         (set_dest_row), (get_dest_row): we don't store just the row ref
2607         anymore, but a struct with the row ref and additional info,
2608         (set_destination_row): handle drops on empty space and some
2609         style fixes,
2610         (get_logical_dest_row): also return path_down_mode/drop_append_mode
2611         flags, handle dropping childs on their new parents, rewrite
2612         drop append handling into something saner,
2613         (gtk_tree_view_drag_motion): show a "drop possible arrow" on empty
2614         spaces,
2615         (gtk_tree_view_drag_drop): updates for updated backend,
2616         (gtk_tree_view_drag_data_received): updates for updated backend,
2617         path down mode (treestore DnD) handling,
2618         (gtk_tree_view_set_drag_dest_row): set empty_view_drop flag,
2619         when we are trying to drop a row on an empty model,
2620         (gtk_tree_view_get_drag_dest_row): handle empty_view_drop flag.
2621
2622         * gtk/gtkliststore.c (gtk_list_store_drag_data_received),
2623         (gtk_list_store_row_drop_possible): style and drop-append fixes.
2624
2625         * gtk/gtktreestore.c (gtk_tree_store_drag_data_received): ditto.
2626
2627 2003-09-08  Alexander Larsson  <alexl@redhat.com>
2628
2629         * gtk/gtkeventbox.[hc]:
2630         Implement gtk_event_box_get/set_input_only()
2631         
2632         * tests/testgtk.c:
2633         Tests for the new input only event boxes
2634
2635 Mon Sep  8 21:44:20 2003  Kristian Rietveld  <kris@gtk.org>
2636
2637         Fixes from David Hampton <hampton@employees.org> via gtk-devel-list.
2638
2639         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_elt_get_path): fix
2640         the call to gtk_tree_model_filter_add_root,
2641         (gtk_tree_model_filter_row_changed): bail out if c_path is not above
2642         the virtual root, allow building levels on the second try to convert
2643         the child path to a filter path,
2644         (gtk_tree_model_filter_convert_iter_to_child_iter): pass the virtual
2645         root when calling gtk_tree_model_filter_elt_get_path.
2646
2647 2003-09-07  Matthias Clasen  <maclas@gmx.de>
2648
2649         * gtk/gtkuimanager.c (update_node): Fix a C99ism.  (#121640,
2650         Josh Beam)
2651
2652         Fixes for accelerator handling during (un)merging:
2653         
2654         * gtk/gtkuimanager.c (update_node): Move setting info-action
2655         after the switch, since the old action is needed in some cases.
2656         In cases of proxy type mismatch, disconnect the old proxy from
2657         the old action.
2658
2659         * gtk/gtkaction.c (remove_proxy): Renamed from 
2660         gtk_action_remove_proxy(). Move unsetting of the accelerator
2661         here from disconnect_proxy() in order to catch all cases of 
2662         removing a proxy.
2663         (gtk_action_disconnect_proxy): Fix logic in g_return_if_fail()
2664         to fail if proxy isn't a proxy of action.
2665
2666 2003-09-07  Pablo Saratxaga  <pablo@mandrakesoft.com>
2667
2668         * configure.in: Added Uzbek latin (uz) and cyrillic (uz@Cyrl) to
2669         ALL_LINGUAS
2670
2671 2003-09-07  Matthias Clasen  <maclas@gmx.de>
2672
2673         * gtk/gtkaction.c (disconnect_proxy): Make disconnect work
2674         for toolitems.
2675
2676 2003-09-06  Matthias Clasen  <maclas@gmx.de>
2677
2678         * gtk/gtkaction.c (gtk_action_connect_proxy): Disconnect from 
2679         prev_action, not from action.  (Fix by David Hampton)
2680
2681 Fri Sep  5 14:15:10 2003  Owen Taylor  <otaylor@redhat.com>
2682  
2683         * Back out locale-dependent interpretation of
2684         KP_Decimal, the official XFree86 interpretation
2685         is that KP_Decimal => . KP_Separator => ,
2686         always, independent of locale. 
2687         (#105161, Frederic Crozat, 
2688         http://bugs.xfree86.org/show_bug.cgi?id=534)
2689  
2690 2003-09-04  Matthias Clasen  <maclas@gmx.de>
2691
2692         * tests/testmerge.c: Test buttons and toggle buttons as proxies.
2693
2694         * gtk/gtktoggleaction.c (connect_proxy): 
2695         (gtk_toggle_action_real_toggled): Support toggle buttons as proxies. Note 
2696         that a "draw_as_radio" property is needed for check buttons similar to 
2697         check menu items, in order to fully support button proxies for radio actions.
2698
2699         * gtk/gtkaction.c (connect_proxy): Allow buttons as proxies.
2700
2701         * tests/testmerge.c (toggle_dynamic): Test gtk_ui_manager_add_ui(). 
2702
2703         * gtk/gtkuimanager.h: Add GtkUIManagerItemType enum which is needed for the
2704         'type' argument of gtk_ui_manager_add_ui().
2705
2706         * gtk/gtkuimanager.[hc] (gtk_ui_manager_add_ui): Add 'type' and 'top' arguments
2707         to make this function as powerful as the XML methods of adding UI.  (#120647)
2708
2709 Thu Sep  4 19:11:23 2003  Kristian Rietveld  <kris@gtk.org>
2710
2711         Merge from stable.
2712
2713         * docs/RELEASE-HOWTO: updates.
2714
2715 2003-09-04  Matthias Clasen  <maclas@gmx.de>
2716
2717         * tests/merge-2.ui: Use "position" instead of "pos".
2718
2719         * gtk/gtkuimanager.c (start_element_handler): No need 
2720         to be terse: Change the name of the "pos" attribute
2721         to "position".
2722
2723 2003-09-04  Matthias Clasen  <maclas@gmx.de>
2724
2725         * gtk/gtkuimanager.c: Un-prefix GtkUIManagerNodeType and 
2726         GtkUIManagerNode to shorten the names and to make the
2727         GTK_UI_MANAGER_<TYPE> names available for a public enum.
2728
2729         * gtk/gtkactiongroup.c:
2730         * gtk/gtkuimanager.c: Various doc tweaks.       
2731
2732         * gtk/gtkuimanager.c (start_element_handler):
2733         (end_element_handler): Improve error reporting. 
2734
2735 Wed Sep  3 23:18:17 2003  Kristian Rietveld  <kris@gtk.org>
2736
2737         Merge from stable.
2738
2739         * gtk/gtkmenu.c (gtk_menu_real_move_scroll): for the END case,
2740         use end_position - page_size instead of G_MAXINT, since
2741         gtk_menu_scroll_to doesn't CLAMP anymore internally. (Fixes #121237,
2742         reported by Havoc Pennington).
2743
2744 Wed Sep  3 21:58:03 2003  Kristian Rietveld  <kris@gtk.org>
2745
2746         Merge from stable.
2747
2748         * gtk/gtkiconfactory.c (cached_icon_free): if icon->style != NULL,
2749         unref it. (Fixes memleak, patch from Kjartan Maraas).
2750
2751 Wed Sep  3 21:38:26 2003  Kristian Rietveld  <kris@gtk.org>
2752
2753         * gdk/Makefile.am, gdk/linux-fb/gdkfbmanager.c, gdk/x11/gdkcolor-x11.c,
2754         gdk-pixbuf/io-gif.c, gtk/Makefile.am, gtk/gtkcalendar.c,
2755         gtk/gtkclist.c, gtk/gtkctree.c, gtk/gtkdnd.c, gtk/gtkentry.c,
2756         gtk/gtkhandlebox.c, gtk/gtkitemfactory.c, gtk/gtkmenu.c,
2757         gtk/gtknotebook.c, gtk/gtkrange.c, gtk/gtkrc.h, gtk/gtktree.c,
2758         gtk/gtktypeutils.h: big patch from Kjartan Maraas
2759         to fix numerous typos.
2760
2761 Wed Sep  3 17:38:01 BST 2003  Tony Gale <gale@gtk.org>
2762
2763         * docs/faq/gtk-faq.sgml: Correct compile line for threads example.
2764
2765 2003-09-02  Tor Lillqvist  <tml@iki.fi>
2766
2767         * gdk/win32/gdkdisplay-win32.c (gdk_display_open): Don't call
2768         CloseHandle() on the HMODULE returned from GetModuleHandle().
2769         Didn't cause any harm, but didn't do anything useful either. When
2770         running a GTK+ program under MS's debugger, the CloseHandle() call
2771         would cause a "first-chance exception" in ntdll.dll to show up.
2772         (The exception is caught appropriately if you let it proceed, but
2773         it confuses the person using the debugger). Thanks to Bruce
2774         Hochstetler for noticing.
2775
2776 Tue Sep  2 21:01:19 2003  Kristian Rietveld  <kris@gtk.org>
2777
2778         Merge from stable.
2779
2780         * gtk/gtktreeview.c (gtk_tree_view_button_press): revert the change
2781         to only select when button 1 is pressed introduced in the fix of
2782         bug #120187.
2783
2784 2003-09-02  Matthias Clasen  <maclas@gmx.de>
2785
2786         * gtk/gtkactiongroup.c (gtk_action_group_new): Doc addition.
2787
2788         * gtk/gtkuimanager.c: Shorten the names of some static 
2789         functions.
2790
2791         Support adding and removing merge nodes dynamically (#120647, 
2792         Anders Carlsson):
2793         
2794         * gtk/gtkuimanager.[ch] (gtk_ui_manager_new_merge_id): Renamed 
2795         gtk_ui_manager_next_merge_id to gtk_ui_manager_new_merge_id 
2796         and made it public.
2797         (gtk_ui_manager_add_ui): New function to add UI elements
2798         without juggling XML fragments, currently restricted to menuitems,
2799         toolitems and separators. Actions still come from registered 
2800         action groups.
2801
2802 Mon Sep  1 19:39:14 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2803
2804         * gdk/gdkwindow.c (gdk_window_get_bg_gc): Fix bug where the
2805         background pixmap was being offset twice, once by the ts_origin in
2806         gdk_window_get_bg_gc(), and once by gdk_draw_rectangle().
2807
2808 2003-09-01  Matthias Clasen  <maclas@gmx.de>
2809
2810         * gtk/gtkuimanager.[ch] (gtk_ui_manager_ensure_update): Make
2811         this public again, since it's occasionally useful.  (#121128,
2812         Marco Pesenti Gritti)
2813
2814         * gtk/gtkaction.c: Add an "is_important" property and propagate
2815         it to toolitem proxies.  (#121058, Marco Pesenti Gritti)
2816
2817 Mon Sep  1 00:32:30 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2818
2819         * tests/testtoolbar.c (main): connect to "delete_event" so the
2820         application will actually quit when you close the window
2821
2822 2003-09-01  Matthias Clasen  <maclas@gmx.de>
2823
2824         * gtk/gtkuimanager.c (gtk_ui_manager_get_widget) 
2825         (gtk_ui_manager_get_action): g_return_if_fail() if
2826         path is NULL.
2827         (gtk_ui_manager_get_node): Avoid a segfault if path is empty.
2828         (gtk_ui_manager_finalize): Remove the idle on finalize. (#121125, 
2829         Marco Pesenti Gritti)
2830
2831 2003-08-31  Matthias Clasen  <maclas@gmx.de>
2832
2833         * gtk/gtktoolitem.c: Fix some typos in docs.
2834
2835         * gtk/gtkuimanager.[ch] (gtk_ui_manager_get_action): New function,
2836         replaces gtk_ui_manager_activate().  (#120658)
2837
2838         * tests/testmerge.c: Use gtk_ui_manager_get_action() instead of
2839         gtk_ui_manager_activate().
2840
2841         * gtk/gtkaction.c: 
2842         * gtk/gtkactiongroup.c: Some doc tweaks.
2843
2844         * gtk/gtkuimanager.[hc]: Get rid of the remove_widget signal. It
2845         wasn't emitted anyway. Some doc tweaks.
2846
2847 2003-08-30  Matthias Clasen  <maclas@gmx.de>
2848
2849         * tests/testmerge.c (add_widget): Connect to "destroy" on toolbar,
2850         rather than to "remove" on handlebox. 
2851
2852         * gtk/gtkuimanager.[hc] (gtk_ui_manager_activate): New method to
2853         activate an action found by following a path.  (#120658)
2854
2855         * tests/testmerge.c: Add a button to test gtk_ui_manager_activate().
2856
2857         * tests/testmerge.c (add_widget): Put toolbars in handleboxes.
2858
2859         * gtk/gtkuimanager.[hc]: Add a boolean property, "add_tearoffs" with 
2860         setter and getter. If it is set, add tearoff menu items to regular 
2861         menus, but not to popups. Add a signal "changed", which gets emitted
2862         when the merged ui has changed.  (#120649, #120656)
2863
2864         * tests/testmerge.c: Add button to test the generation of tearoff 
2865         menu items.
2866
2867 2003-08-29  Matthias Clasen  <maclas@gmx.de>
2868
2869         * gtk/gtkactiongroup.c (gtk_action_group_add_radio_actions_full): 
2870         Actually group the actions together rather than putting each in its 
2871         own group.
2872
2873         * gtk/gtkradioaction.c (create_menu_item): Set "draw_as_radio" on 
2874         proxy menu items for radio actions.
2875
2876         * gtk/gtkgamma.c (gamma_ok_callback): Use g_strtod instead of strtod.
2877
2878 Fri Aug 29 21:40:01 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2879
2880         * gtk/gtkactiongroup.c (gtk_action_group_add_radio_actions_full):
2881         Fix use of uninitialized variable.
2882
2883         * gtk/gtktextutil.c
2884         (_gtk_text_util_append_special_char_menuitems): add const cast to
2885         get rid of warning
2886
2887 2003-08-29  Matthias Clasen  <maclas@gmx.de>
2888
2889         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Install 
2890         "draw_as_radio" as a separate property, not as an alias of 
2891         "inconsistent".
2892         (gtk_check_menu_item_get_property): 
2893         (gtk_check_menu_item_set_property): Also support "draw_as_radio".
2894
2895 Fri Aug 29 20:32:07 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2896
2897         * gtk/gtktoolbar.c: Only treat buttons as homogeneous when they
2898         are narrower than 13 time the estimated character width of the
2899         font. (#107781, David Bordoley)
2900
2901         * gtk/gtktoggletoolbutton.c (gtk_toggle_tool_button_init): Check
2902         here if the GtkToggleButton is active. This may be the case if it
2903         is a radio button.
2904
2905         * gtk/gtktoolbar.c: Clarify documentation wrt. GtkSignalFunc
2906         vs. void (*) (GtkWidget, gpointer). (#107495, Mariano
2907         Suarez-Alvarez).
2908
2909         * gtk/gtkcheckmenuitem.[ch]: new "draw_as_radio"
2910         property. (#111207, David Bordoley).
2911
2912         * gtk/gtktoggletoolbutton.c
2913         (gtk_toggle_tool_button_create_menu_proxy): use new
2914         "draw_as_radio" property on the menu item when the item is a radio
2915         tool button
2916
2917         * gtk/gtktoolbutton.c (gtk_tool_button_create_menu_proxy): Fixes
2918         to only pay attention to the "use_underline" property when the
2919         button label comes from the "label" property.
2920
2921 2003-08-29  Laurent Dhima  <laurenti@alblinux.net>
2922
2923         * configure.in: Added "sq" to ALL_LINGUAS.
2924         
2925 2003-08-28  Matthias Clasen  <maclas@gmx.de>
2926
2927         * gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state): Markup
2928         fix in the docs.
2929
2930         * gtk/gtkuimanager.c: Change the XML format:
2931         <Root> element is replaced by <ui>,
2932         <menu> element is replaced by <menubar>,
2933         <submenu> element is replaced by <menu>,
2934         <dockitem> element is replaced by <toolbar>,
2935         <popups> element is gone,
2936         verb attribute is replaced by action,
2937         name defaults to action or the element name. 
2938
2939         * gtk/gtkactiongroup.[hc]: Replace GtkActionGroupEntry by 
2940         GtkActionEntry and GtkRadioActionEntry. GtkActionEntry is simplified 
2941         by removing the user_data, entry_type and extra_data fields, 
2942         GtkRadioActionEntry is further simplified by removing the callback. 
2943         The user_data can now be specified as an argument to 
2944         gtk_action_group_add_actions(). There is a new method 
2945         gtk_action_group_add_radio_actions(), which is similar to 
2946         gtk_action_group_add_actions(), but takes GtkRadioActionEntrys
2947         and a callback parameter in addition to the user_data. The callback
2948         is connected to the ::changed signal of the first group member.
2949         There are _full() variants taking a GDestroyNotify of 
2950         gtk_action_group_add_[radio_]actions().
2951
2952         * gtk/gtkradioaction.[hc]: Add a ::changed signal which gets emitted 
2953         on every member of the radio group when the active member is changed. 
2954         Add an integer property "value", and a getter for the value of "value"
2955         on the currently active group member. 
2956
2957         * tests/testactions.c: 
2958         * tests/testmerge.c: 
2959         * tests/merge-[123].ui:  
2960         * demos/gtk-demo/appwindow.c: Adjust to these changes.
2961
2962         * gtk/gtktoolbar.c (gtk_toolbar_append_element): Trivial doc fix.
2963
2964 2003-08-27  Anders Carlsson  <andersca@gnome.org>
2965
2966         * demos/gtk-demo/appwindow.c (do_appwindow): Focus the
2967         text view, so the tool bar won't have focus.
2968
2969 Tue Aug 26 09:57:38 2003  Owen Taylor  <otaylor@redhat.com>
2970
2971         * gdk/x11/gdkkeys-x11.c (update_keymaps): Fix variable
2972         declaration not at start of block. (#120371, Damien Carbery)
2973
2974 2003-08-26  Matthias Clasen  <maclas@gmx.de>
2975
2976         * gtk/gtkuimanager.[hc] (gtk_ui_manager_add_ui_from_string): Use gssize 
2977         for length, not gsize.
2978
2979         * gtk/gtkuimanager.c: Refactor the XML format a bit: rename <Root> to 
2980         <ui> and make it optional in strings. Rename verb to action, <dockitem> 
2981         to <toolbar>, <menu> to <menubar>, <submenu> to <menu>.
2982
2983         * demos/gtk-demo/appwindow.c: 
2984         * tests/testactions.c: 
2985         * tests/testmerge.c:
2986         * tests/merge-1.ui:
2987         * tests/merge-2.ui:
2988         * tests/merge-3.ui: Adjust to the new XML format.
2989
2990 Mon Aug 25 19:55:55 2003  Owen Taylor  <otaylor@redhat.com>
2991
2992         * gtk/gtktextview.c (gtk_text_view_update_layout_width): 
2993         Since we add one to the layout's reported width to
2994         account for the cursor, we need to subtract one when
2995         setting the wrap width for the layout. (Fixes infinite
2996         loop (#120325, Frederic Crozat)
2997
2998         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
2999         Be a bit more careful about rounding when converting
3000         wrapped width from Pango units to pixels.
3001
3002 2003-08-26  Matthias Clasen  <maclas@gmx.de>
3003
3004         Rename GtkMenuMerge to GtkUIManager. 
3005         
3006         * gtk/gtkuimanager.[hc]: New files. 
3007         * gtk/gtkmenumerge.[hc]: Removed. 
3008
3009         * gtk/Makefile.am: 
3010         * gtk/gtk.h:
3011         * tests/testmerge.c: 
3012         * tests/testactions.c: 
3013         * demos/gtk-demo/appwindow.c: Replace all uses of GtkMenuMerge by 
3014         GtkUIManager.
3015
3016         * demos/gtk-demo/appwindow.c: Make GtkMenuMerge demo less intimidating: 
3017         add comments to entries array, remove newlines from ui definition. Don't 
3018         use the ::add_widget signal.
3019
3020 Mon Aug 25 17:28:04 2003  Owen Taylor  <otaylor@redhat.com>
3021
3022         * gtk/gtknotebook.c (gtk_notebook_forall): Don't
3023         include page->menu_label - causes various problems,
3024         including #12047.
3025
3026 Mon Aug 25 23:21:43 2003  Kristian Rietveld  <kris@gtk.org>
3027
3028         Merge from stable.
3029
3030         Fixes #115871, reported by Michael Natterer.
3031
3032         * gtk/gtktreeprivate.h: added GtkTreeSelectMode enum,
3033         added ctrl_pressed and shift_pressed bitfields,
3034         (_gtk_tree_selection_internal_select_node): replace GdkModifierType
3035         arg with GtkTreeSelectMode.
3036
3037         * gtk/gtktreeselection.c (gtk_tree_selection_set_mode),
3038         (gtk_tree_selection_select_path), (gtk_tree_selection_unselect_path),
3039         (_gtk_tree_selection_internal_select_node): all updated for
3040         GdkModifierType -> GtkTreeSelectMode move.
3041
3042         * gtk/gtktreeview.c (gtk_tree_view_button_press): set ctrl_pressed
3043         and shift_pressed around selection handling block,
3044         (gtk_tree_view_real_select_cursor_row),
3045         (gtk_tree_view_real_toggle_cursor_row),
3046         (gtk_tree_view_real_selection_cursor_parent),
3047         (gtk_tree_view_real_set_cursor): use ctrl_pressed and shift_pressed,
3048         instead of checking the event state. And also updates for the
3049         GdkModifierType -> GtkTreeSelectMode move.
3050
3051 Wed Aug 20 21:26:49 2003  Owen Taylor  <otaylor@redhat.com>
3052
3053         * gtk/gtkplug.c (gtk_plug_focus): Send the focus on
3054         to the parent when there was no focus widget before
3055         and no focus widget after - that is, when there are
3056         no focusable widgets. (#108678, help tracking it
3057         down from Padraig O'Briain, Federico Mena Quintero, )
3058
3059         * gtk/gtkxembed.[ch]: Move various shared utilities
3060         for the XEMBED protocol eused by GtkPlug and GtkSocket 
3061         here.
3062
3063         * gtk/gtkxembed.[ch] gtkplug.c gtksocket.c: Implement
3064         a flag bit that is sent with focus mesages to indicate
3065         that the focus has wrapped around on the toplevel;
3066         use this bit to catch infinite loops when there is no
3067         focusable widget at ll in the entire toplevel.
3068
3069         * tests/testsocket.c (child_read_watch): Remove an
3070         extraneous unref.
3071
3072         * gtk/gtkplug.c gtk/gtksocket.c gtk/gtkxembed.h: 
3073         Up XEMBED protocol version to 1, add logic for 
3074         sending the right version in XEMBED_EMBEDDED_NOTIFY.
3075
3076         * gtk/gtksocket.c (gtk_socket_add_window): Send
3077         the embedder window in the XEMBED_EMBEDDED_NOTIFY
3078         as the spec requires.
3079
3080 Mon Aug 25 16:15:41 2003  Owen Taylor  <otaylor@redhat.com>
3081
3082         * gdk/x11/gdkkeys-x11.c: Fix up CapsLock and 
3083         NumLock handling for non-XKB. Add a special case
3084         hack for NumLock on Sun servers. (Patch from
3085         Robert Basch, #115819)
3086
3087 2003-08-25  Matthias Clasen  <maclas@gmx.de>
3088
3089         * gtk/gtkactiongroup.c (gtk_action_group_add_actions): Remove C99isms. (Morten 
3090         Welinder)
3091
3092         * gtk/gtkactiongroup.[hc] (gtk_action_group_set_translate_func,
3093         gtk_action_group_set_translation_domain): Hooks for translation of
3094         label and tooltip in GtkActionGroupEntries.  (#120620)
3095
3096 2003-08-25  Matthias Clasen  <maclas@gmx.de>
3097
3098         * gtk/gtkactiongroup.h (GtkActionGroupEntryType): Namespace the enum
3099         values properly. Sorry about the resize grip trouble, Owen.  (#120621)
3100         
3101         * gtk/gtkactiongroup.c: 
3102         * demos/gtk-demo/appwindow.c: 
3103         * tests/testmerge.c: 
3104         * tests/testactions.c: Use new GtkActionGroupEntryType enum.  
3105
3106 Sun Aug 24 17:14:44 2003  Owen Taylor  <otaylor@redhat.com>
3107
3108         * gtk/gtk.h: Remove reference to gtkresizegrip.h.
3109
3110 Sun Aug 24 17:03:44 2003  Owen Taylor  <otaylor@redhat.com>
3111
3112         * gtk/Makefile.am: Fix accidental commit of references
3113         to gtkresizegrip.[ch]
3114
3115 Sun Aug 24 17:00:03 2003  Owen Taylor  <otaylor@redhat.com>
3116
3117         * gtk/gtkrc.c: Fix some missing initializations of
3118         rc_file->directory.
3119
3120 2003-08-24  Matthias Clasen  <maclas@gmx.de>
3121
3122         * gtk/gtkaction.[ch]: 
3123         * gtk/gtktoggleaction.[ch]: 
3124         * gtk/gtktoggleactionprivate.h: 
3125         * gtk/gtkradioaction.[ch]: 
3126         * gtk/gtkactiongroup.[ch]: 
3127         * gtk/gtkmenumerge.[ch]: A model-view separation for menus and
3128         toolbars, using the EggMenu code by James Henstridge.
3129
3130         * gtk/gtk.h: Include new headers.
3131         * gtk/Makefile.am: Add new files.
3132
3133         * tests/testactions.c: Test for actions.
3134         * tests/testmerge.c: Test for menu merging.
3135         * tests/merge-[123].ui: Test data for testmerge. 
3136         * tests/Makefile.am: Add testactions and testmerge.
3137
3138         * demos/gtk-demo/appwindow.c: Use GtkMenuMerge to construct the 
3139         menubar and toolbar.
3140         
3141 Sat Aug 23 21:40:18 2003  Owen Taylor  <otaylor@redhat.com>
3142  
3143         * gtk/gtkrc.c (gtk_rc_context_parse_one_file): Fix 
3144         problem where rc_file->directory wasn't always getting
3145         set. (#120549, Luis Villa)
3146  
3147 2003-08-22  Christian Rose  <menthos@menthos.com>
3148
3149         * configure.in: Added "ne" to ALL_LINGUAS.
3150
3151 Thu Aug 21 16:00:36 2003  Owen Taylor  <otaylor@redhat.com>
3152  
3153         * gtk/gtkrc.c: Keep a list of current GtkRcFiles
3154         being parsed, not just the directories for those
3155         files. Use that to catch recursion. (Part of
3156         #114988)
3157  
3158 Thu Aug 21 21:27:45 2003  Kristian Rietveld  <kris@gtk.org>
3159
3160         Merge from stable.
3161
3162         Fix option menu scrolling (#119821, Owen Taylor).
3163
3164         * gtk/gtkmenu.c (gtk_menu_scroll_to): remove logic introduced
3165         by #80484 and the CLAMP,
3166         (get_menu_height): new function,
3167         (gtk_menu_real_move_scroll): sort of moved the CLAMP here to correct
3168         new_offset to handle page up/down right.
3169
3170 Thu Aug 21 15:17:42 2003  Owen Taylor  <otaylor@redhat.com>
3171
3172         * gdk/x11/gdkkeys-x11.c: Change the interpretation
3173         of consumed_modifiers so that it contains:
3174          - Modifiers combinations actually found in
3175            state.
3176          - Single modifier modifier combinations.
3177         But not multi-modifier combinations that aren't
3178         in event->state. Document. (#100439)
3179
3180 Thu Aug 21 20:53:46 2003  Kristian Rietveld  <kris@gtk.org>
3181
3182         Slightly modified patch from Yann Rouillard to improve selection
3183         behavior with the mouse. Fixes #120187.
3184
3185         * gtk/gtktreeview.c (gtk_tree_view_button_press): only
3186         select/deselect items on the first button press of button 1,
3187         expand checks for row_activated to include triple clicks.
3188
3189 Thu Aug 21 01:33:51 2003  Kristian Rietveld  <kris@gtk.org>
3190
3191         Merge from stable.
3192
3193         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): always round
3194         approximate digit widths up, to avoid truncation, convert to
3195         pango pixels when we have the full string width instead of converting
3196         the approx digit width to pango pixels, take inner border and
3197         interior focus into account correctly. (Fixes #116368, patch from
3198         Morten Welinder).
3199
3200 2003-08-20  Noah Levitt  <nlevitt@columbia.edu>
3201
3202         * gtk/queryimmodules.c: Don't look at the same directory twice (in
3203         simple cases). (#120342)
3204
3205 Wed Aug 20 22:04:47 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
3206
3207         * gdk/gdkwindow.c: Make the layers in the paint stack have their
3208         own pixmap instead of sharing one. (#118317)
3209
3210         * tests/testgtk.c (create_get_image): Fixes to make the window fit
3211         on an 800x600 screen
3212
3213 Wed Aug 20 22:03:25 2003  Kristian Rietveld  <kris@gtk.org>
3214
3215         Merged from stable.
3216
3217         * gtk/gtkspinbutton.c (start_spinning): change the type of step
3218         to gdouble, since it gets it's data from a gdouble (Fixes #113547).
3219
3220 Mon Aug 18 17:19:12 2003  Owen Taylor  <otaylor@redhat.com>
3221
3222         * modules/input/gtkimcontextxim.[ch]: Substantially
3223         rework the handling of status windows:
3224         
3225          - Store the current StatusWindow in the 
3226            GtkIMContextXIM structure and vice-versa, so we
3227            don't have to hunt the window hierarchy on
3228            cleanup.
3229          - Use the Gtkidget hierarchy instead of/or as well
3230            as the GdkWindow hierarchy when finding the toplevel;
3231            this helps for things like GtkHandlebox
3232          - Watch GtkWidget::hierarchy_changed to catch 
3233            changes in the toplevel without changes in the
3234            GdkWindow (reparenting)
3235          - Never create the GtkWindow for the status window
3236            unless we have text to display.
3237          - Various cleanups, add lots of comments.
3238
3239         (#115077, much help from Takuro Ashie and Hidetoshi
3240         Tajima in tracking this down and figuring out a fix.)
3241
3242         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_focus_in): 
3243
3244         * modules/input/gtkimcontextxim.c: Track the current
3245         screen for each toplevel so that we show the status
3246         window on the right screen. (#116340, James Su)
3247
3248         * modules/input/gtkimcontextxim.c: If create a new IC
3249         when we currently have the focus, call XSetICFocus()
3250         on it.
3251         
3252         * modules/input/gtkimcontextxim.c (get_im): Fix bug
3253         with multiple open screens.
3254
3255 Tue Aug 19 14:37:46 2003  Owen Taylor  <otaylor@redhat.com>
3256
3257         * gtk/gtkimmulticontext.[ch] (struct _GtkIMMulticontext): 
3258         Replace client_window field with 'priv' pointer,
3259         retaining binary compatibility.
3260
3261         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_slave): 
3262         save use_preedit/cursor_location/focus status and set
3263         up the new slave appropriately. (#118651, Botond Botyanszki)
3264
3265 Tue Aug 19 13:58:50 2003  Owen Taylor  <otaylor@redhat.com>
3266
3267         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
3268         Don't use impl->position_info.clip_rect for toplevels.
3269         (#107068, reported by Thomas Mirlacher)
3270
3271 Mon Aug 18 11:48:51 2003  Owen Taylor  <otaylor@redhat.com>
3272
3273         * gdk/x11/gdkdrawable-x11.c (convert_to_format): 
3274         Add a fallback for unaligned source data for
3275         FORMAT_ARGB_MASK. (#117217)
3276
3277 Mon Aug 18 10:51:57 2003  Owen Taylor  <otaylor@redhat.com>
3278
3279         * configure.in: Rework handling of REBUILD_PNGS,
3280         so that we also don't try to REBUILD_PNGS when
3281         cross-compiling and there is no gdk-pixbuf-csource.
3282         But give an error if gtk/stock-icons/gtkstockpixbufs.h
3283         is not in the source tree. (Note that REBUILDS_PNG
3284         was set backwards before, which is why you always
3285         had to manually recreate gtkstockpixbufs.h!)
3286
3287 Mon Aug 18 10:19:55 2003  Owen Taylor  <otaylor@redhat.com>
3288
3289         * gtk+-2.0-uninstalled.pc.in: Add a missing gtk/ in the
3290         path to libgtk.la. (#120080, Benedikt Spranger)
3291
3292 Sat Aug 16 10:34:49 2003  Owen Taylor  <otaylor@redhat.com>
3293
3294         * modules/input/imcedilla.c: Make the list of default
3295         languages more comprehensive. (Suggestion of
3296         Fco. Javier F. Serrador)
3297
3298 Sat Aug  9 12:47:11 2003  Owen Taylor  <otaylor@redhat.com>
3299
3300         * gdk/gdk.c (gdk_arg_context_parse): Fix broken 
3301         parentheses when skipping args.
3302
3303 Sat Aug 16 16:22:23 2003  Kristian Rietveld  <kris@gtk.org>
3304
3305         Fix major bug in row ref handling, so the new combo box
3306         will actually work right (:. Bug #107748. Patch written
3307         with help from Tim Janik.
3308
3309         The basic idea is to update the row refs in a closure,
3310         before the actual signal is emitted (rather than having
3311         the model connect signal handlers).
3312
3313         * gtk/gtktreemodel.c (gtk_tree_model_base_init): change
3314         g_signal_new calls for row_inserted, row_deleted and
3315         rows_reordered to use the new marshallers,
3316         (row_inserted_marshall), (row_deleted_marshall),
3317         (rows_reordered_marshall): the new marshallers,
3318         (gtk_tree_row_ref_inserted_callback): renamed to
3319         gtk_tree_row_ref_inserted since it isn't a callback
3320         anymore and gets called by the marshaller now,
3321         (gtk_tree_row_ref_deleted_callback): likewise,
3322         (gtk_tree_row_ref_reordered_callback): likewise,
3323         (connect_ref_callbacks), (disconnect_ref_callbacks):
3324         removed,
3325         (gtk_tree_row_reference_new_proxy),
3326         (gtk_tree_row_reference_free),
3327         (gtk_tree_row_reference_inserted),
3328         (gtk_tree_row_reference_deleted),
3329         (gtk_tree_row_reference_reordered): updated.
3330
3331 Fri Aug 15 16:54:39 2003  Owen Taylor  <otaylor@redhat.com>
3332
3333         Improve Cedilla handling - based on a patch from Gustavo 
3334         De Nardin, #111334
3335
3336         * modules/input/imcedilla.c po/POTFILES.in: Input method that 
3337         produces C_WITH_CEDILLA rather than C_WITH_ACUTE for 
3338         dead_acute+c combinations. Make this the default for
3339         fr and pt.
3340
3341         * gtk/gtkimmulticontext.c (gtk_im_multicontext_get_slave): 
3342         Use LC_CTYPE instead of LC_MESSAGES to pick the default
3343         input method.
3344
3345 Fri Aug 15 17:00:19 2003  Owen Taylor  <otaylor@redhat.com>
3346
3347         * gtk/gtkimcontextsimple.c: Fix missing compose sequence
3348         for Multi_key+c+apostrophe.
3349
3350 Fri Aug 15 21:57:34 2003  Kristian Rietveld  <kris@gtk.org>
3351
3352         Merged from stable.
3353
3354         * gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): stop editing
3355         on vertical scrolling. (#108035, reported by Tim Janik).
3356
3357 Fri Aug 15 20:06:42 2003  Kristian Rietveld  <kris@gtk.org>
3358
3359         Merged from stable.
3360
3361         * gtk/gtktreeview.c (gtk_tree_model_sort_row_changed),
3362         (gtk_tree_model_sort_level_find_insert),
3363         (gtk_tree_model_sort_insert_value): fix off-by-one error.
3364         (#109292 continued, patch from Yann Rouillard).
3365
3366 Fri Aug 15 19:43:14 2003  Kristian Rietveld  <kris@gtk.org>
3367
3368         (Note: This is not exactly the same as the patch which went in
3369          gtk-2-2).
3370
3371         * gtk/gtktreeview.c (gtk_tree_view_class_init),
3372         (gtk_tree_view_key_press), (gtk_tree_view_search_key_press_event):
3373         Also support the up, down, left, right, home, end, page up and
3374         page down keys on the numpad. (#119419, reported by Alex Larsson).
3375
3376 Fri Aug 15 12:34:04 2003  Owen Taylor  <otaylor@redhat.com>
3377
3378         Fixes for X/Cygwin builds of GTK+ (#107623, Masahiro Sakai):
3379
3380         * configure.in (GDK_DEP_LIBS_FOR_X): Make sure that
3381         we link libgtk against X explicitely, since we
3382         make GTK+ calls for plug/socket.
3383
3384         * gtk/queryimmodules.c: Use USE_LA_MODULES and 
3385         G_MODULE_SUFFIX here. 
3386
3387         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_image): Protect
3388         XShmPutImage with #ifdef USE_SHM.
3389
3390 Thu Aug 14 18:25:39 2003  Owen Taylor  <otaylor@redhat.com>
3391
3392         * gtk/gtkfilesel.c (gtk_file_selection_populate):
3393         Don't reposition the cursor when we aren't trying
3394         to complete. (Fixes problems with selection on
3395         startup, #108433, reported by Mark Finlay.)
3396
3397         * gtk/gtkfilesel.c (gtk_file_selection_populate): Remove
3398         code that tried to position the cursor after the common
3399         prefix when there was one, it wasn't working, and
3400         would be hard to fix. Just always put the cursor
3401         at the end when completing.
3402
3403 Thu Aug 14 17:58:23 2003  Owen Taylor  <otaylor@redhat.com>
3404
3405         * gtk/gtkfilesel.c (get_current_dir_utf8): If getting
3406         the current directory fails because of encoding
3407         conversion problems, walk up textually to parent
3408         directories until we can convert. (#113627)
3409
3410 Wed Aug 13 17:01:49 2003  Owen Taylor  <otaylor@redhat.com>
3411
3412         * gtk/gtkmenushell.[ch] (gtk_menu_shell_enter_notify):
3413         Remove usage of menu_shell->ignore leave which was
3414         to deal with stray events we no longer get because
3415         we do grabbing differently. Comment it as unused in
3416         the header. (#115837, Keith Bissett)
3417
3418 Wed Aug 13 16:32:43 2003  Owen Taylor  <otaylor@redhat.com>
3419
3420         * gtk/gtkmenu.c (gtk_menu_position, gtk_menu_window_size_request): 
3421         Fix some places that weren't properly Xinerama-ified.
3422
3423         * gtk/gtkmenu.c: Fix problem with windows that scroll
3424         at the top of the screen.
3425
3426 Wed Aug 13 11:34:53 2003  Owen Taylor  <otaylor@redhat.com>
3427
3428         * gtk/gtkcombo.c (gtk_combo_init): connect_after() to 
3429         key-press-event on the entry, so input methods get access to 
3430         key presses before GtkCombo customization.
3431         (#115451, Botond Botyanszki)
3432
3433 2003-08-13  Anders Carlsson  <andersca@gnome.org>
3434
3435         * tests/testtoolbar.c: (set_important_func), (important_toggled),
3436         (create_items_list):
3437         Add an important column.
3438         
3439 Tue Aug 12 15:00:15 2003  Owen Taylor  <otaylor@redhat.com>
3440
3441         * gtk/gtkwindow.c (gtk_window_real_set_focus): Protect
3442         against reentrancy from ::focus-out handlers. 
3443         (#118129, Felipe Heidrich)
3444
3445 Tue Aug 12 14:27:42 2003  Owen Taylor  <otaylor@redhat.com>
3446
3447         * gtk/gtkkeyhash.c (_gtk_key_hash_lookup): Remove
3448         GDK_LOCK_MASK before calling
3449         gdk_keymap_translate_keyboard_state so bindings 
3450         and accelerators are independent of the Caps-lock
3451         key. (#115384, reported by Toni Willberg)
3452
3453 Mon Aug 11 12:07:14 2003  Owen Taylor  <otaylor@redhat.com>
3454
3455         * gdk/x11/gdkevents-x11.c (get_real_window): Add missing
3456         break statements (#119494, Soeren Sandmann)
3457
3458 Mon Aug 11 11:10:07 2003  Owen Taylor  <otaylor@redhat.com>
3459
3460         * gtk/gtkwidget.h: Mark parent public as well; it's
3461         extensively accessed in existing code, so there is
3462         no advantage in making people use get_parent().
3463         (Tweak to #119463 fix)
3464
3465 2003-08-11  Matthias Clasen  <maclas@gmx.de>
3466
3467         Add support for EWMH "Above" and "Below" window states.  (105100,
3468         Manuel Clos)
3469         
3470         * tests/testgtk.c: Add "Above" and "Below" to the the "Window
3471         State" demo.
3472
3473         * gtk/gtkwindow.h: Add gtk_window_set_keep_above and
3474         gtk_window_set_keep_below.
3475
3476         * gtk/gtk.def: Add gtk_window_set_keep_above and
3477         gtk_window_set_keep_below.
3478
3479         * gtk/gtkwindow.c (gtk_window_set_keep_below):
3480         (gtk_window_set_keep_above): New functions, call the corresponding
3481         gdk functions.
3482
3483         * gdk/x11/gdkwindow-x11.c (gdk_window_set_keep_below): New
3484         function, sets _NET_WM_STATE_BELOW.
3485         (gdk_window_set_keep_above): New function, sets
3486         _NET_WM_STATE_ABOVE.
3487
3488         * gdk/gdkwindow.h: Add gdk_window_set_keep_above and
3489         gdk_window_set_keep_below.
3490
3491         * gdk/gdkevents.h (GdkWindowState): Add GDK_WINDOW_STATE_ABOVE and
3492         GDK_WINDOW_STATE_BELOW.
3493
3494         * gdk/gdk.def: Add gdk_window_set_keep_above and
3495         gdk_window_set_keep_below.
3496
3497         * acinclude.m4: Copy newer versions of JH_CHECK_XML_CATALOG and
3498         JH_PATH_XML_CATALOG from gtk-doc to enable configuring without
3499         xmlcatalog in PATH.  (#119115)
3500
3501 2003-08-10  Matthias Clasen  <maclas@gmx.de>
3502
3503         * gtk/gtkwidget.h (struct _GtkWidget): Mark some members as
3504         public.  (#119463)
3505
3506 2003-08-09  Noah Levitt  <nlevitt@columbia.edu>
3507
3508         * gdk/gdkevents.h:
3509         * docs/reference/gdk/tmpl/windows.sgml: Elaborate a bit more in the
3510         docs on GdkFilterFunc and GdkFilterReturn.
3511
3512 2003-08-09  Matthias Clasen  <maclas@gmx.de>
3513
3514         * gtk/gtkcalendar.c:  Add and hook in gtk_calendar_scroll,
3515         to let the mouse wheels select the month. Scrolling down
3516         moves forward in time. (#53134, Abigail Brady) 
3517
3518         * gtk/gtkcalendar.c: Complete the RTL flipping support for
3519         GtkCalendar, make it possible to flip the headings using the
3520         "magic translated string" technique.  Translators, note the
3521         comment in gtk_calendar_init() explaining this.  (#102416)
3522
3523         * gtk/gtkcalendar.c: Get the information about the first day of
3524         the week from the locale using another instance of the "magic
3525         translated string" technique.  Ignore the display option
3526         GTK_CALENDAR_WEEK_START_MONDAY with a warning.  (#87977)
3527
3528         * gtk/gtkcalendar.c: Add DND support to GtkCalendar. The selected
3529         date is dragged as text, formatted via strftime %x. Text drops are
3530         accepted if g_date_set_parse() can make sense of the text. A
3531         dedicated data format for date DND has not been introduced yet,
3532         since there didn't seem to be sufficient consensus on such a
3533         format on xdg-list.  (#117297)
3534         
3535 2003-08-08  Matthias Clasen  <maclas@gmx.de>
3536
3537         * gdk/gdkregion-generic.c (gdk_region_spans_intersect_foreach):
3538         Fix a segfault.  (#115284, Jan Kratochvil)
3539
3540 2003-08-08  Tor Lillqvist  <tml@iki.fi>
3541
3542         * gdk/win32/gdkevents-win32.c (print_event): Print also the root
3543         coordinates for events that have such. Print coordinates for enter
3544         and leave events.
3545
3546         (gdk_event_translate): Don't use event uninitialixed in the
3547         return_exposes branch of the WM_PAINT handler.
3548
3549         * gdk/win32/gdkwindow-win32.c (gdk_window_new,
3550         _gdk_windowing_window_get_pointer, _gdk_windowing_window_at_pointer): 
3551         Must offset top-level window coordinates here, too.
3552
3553 2003-08-08  Matthias Clasen  <maclas@gmx.de>
3554
3555         * demos/gtk-demo/appwindow.c (do_appwindow): Hide the resize grip
3556         when maximized or fullscreen.
3557
3558 2003-08-07  Tor Lillqvist  <tml@iki.fi>
3559
3560         * gdk/win32/gdkinput-win32.h
3561         * gdk/win32/gdkinput-win32.c (_gdk_input_configure_event,
3562         _gdk_input_enter_event): Drop the GdkEvent* parameter, it wasn't
3563         used.
3564
3565         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Adapt caller
3566         accordingly, in fact an uninitialised variable was dereferenced.
3567         
3568
3569         [Win32] Add support for multiple monitors. 
3570         
3571         * gdk/win32/gdkprivate-win32.h
3572         * gdk/win32/gdkglobals-win32.c: New global variables for
3573         multiple-monitor info: _gdk_num_monitors, _gdk_monitors, and
3574         _gdk_offset_x and _gdk_offset_y.
3575         
3576         * gdk/win32/gdkdisplay-win32.c (count_monitor, enum_monitor): New
3577         functions, enumeration functions passed to EnumDisplayMonitors().
3578
3579         (gdk_display_open): If the EnumDisplayMonitors() and
3580         GetMonitorInfo() API is present (on Win98, Win2000 and newer), use
3581         if to find out monitor info.
3582
3583         Calculate the offset between Win32 coordinates (relative to the
3584         primary monitor's origin (and thus negative on monitors to the
3585         left of or above it), and GDK's (visible coordinates should be
3586         non-negative).
3587         
3588         * gdk/win32/gdkscreen-win32 (gdk_screen_get_n_monitors,
3589         gdk_screen_get_monitor_geometry): Use information collected above.
3590
3591         (gdk_window_move, gdk_window_move_resize_window_get_geometry):
3592         Subtract _gdk_offset_{x,y} from GDK root window coordinates.
3593
3594         (gdk_window_get_geometry, gdk_window_get_origin,
3595         gdk_window_get_frame_extents): For top-level windows, add
3596         _gdk_offset_{x,y} to GDK root window coordinates
3597
3598         Still need to handle multiple monitors in
3599         gdk_window_fullscreen(). Probably should make the window
3600         fullscreen on the monitor where the cursor is?
3601
3602         * gdk/win32/gdkevents-win32.c: Add _gdk_offset_{x,y} to all GDK
3603         root window coordinates in GdkEvents.
3604
3605         
3606         [Win32] Fix geometry hint handling. Add support for resize
3607         increment and base size, and aspect ratio geometry hints. The
3608         "gridded geometry" test in testgtk now works beautifully.
3609
3610         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
3611         Turns out this function shouldn't actually ever modify the
3612         window's size, just store the hints. (Old code kept for a while
3613         inside #if 0.)
3614
3615         (gdk_window_set_hints): Remove presumably broken code that handles
3616         the position hints, this function is obsolete anyway.
3617
3618         * gdk/win32/gdkevents-win32.c: Drop the current_{x,y}_root
3619         variables, not used.
3620
3621         (adjust_drag): New function, used to implement resize increment
3622         hints.
3623
3624         (gdk_event_translate): Handle WM_SIZING, implement resize
3625         increment and base size, and aspect ratio geometry hints here. The
3626         WM_GETMINMAXINFO handler takes care of the minimum and maximum
3627         size hints as before. Fix the WM_GETMINMAXINFO handler to take
3628         into account window decorations. No need to modify the
3629         ptMaxPosition and ptMaxSize fields in the MINMAXINFO struct,
3630         the defaults are fine.
3631         
3632         * gdk/win32/gdkprivate-win32.h 
3633         * gdk/win32/gdkwindow-win32.c (_gdk_win32_adjust_client_rect,
3634         _gdk_win32_get_adjusted_client_rect): New helper functions.
3635
3636 2003-08-07  Matthias Clasen  <maclas@gmx.de>
3637
3638         * gdk/x11/gdkevents-x11.c (gdk_check_wm_state_changed): Reset the
3639         toplevel->have_* flags before iterating over the _NET_WM_STATE 
3640         atoms.  (#119217) 
3641
3642 Thu Aug  7 16:49:29 2003  Owen Taylor  <otaylor@redhat.com>
3643  
3644         * gtk/gtkwidget.c (gtk_widget_set_style_internal): 
3645         Fix a bug where on theme change, resize/redraw wasn't
3646         properly getting queued on toplevel windows. (#116346,
3647         Rajkumar Siva)
3648  
3649         * gtk/gtkwidget.c (gtk_widget_invalidate_widget_windows): 
3650         Fix bug where wrong coordinates were used for toplevel
3651         window.
3652  
3653 Thu Aug  7 16:40:21 2003  Owen Taylor  <otaylor@redhat.com>
3654
3655         * gtk/gtknotebook.c (gtk_notebook_remove): Remove leftover
3656         page_num variable (Archit Baweja)
3657
3658 2003-08-07  Matthias Clasen  <maclas@gmx.de>
3659
3660         * gtk/gtkspinbutton.c (gtk_spin_button_default_input): Use g_strtod() to
3661         cope with C libraries with crippled locale support.  (#115293)
3662
3663 2003-08-07  Hans Breuer  <hans@breuer.org>
3664
3665         * gdk/win32/gdkevents-win32.c : finally use TrackMouseEvent
3666         (only if the new window not known to Gdk) to get proper
3667         leave notification, and get rid of the wrong placed 
3668         tooltips, bug #102283
3669  
3670         (gdk_event_translate) : small code reordering to not get
3671         GDK_MOTION_NOTIFY for still mouse and get back tooltips on 
3672         menus, bug #117367
3673
3674 2003-08-07  Tor Lillqvist  <tml@iki.fi>
3675
3676         * gdk/gdk.def
3677         * gdk/win32/gdkfont-win32.c (gdk_fontset_load_for_display): Add
3678         missing function, trivially implement.
3679
3680 2003-08-07  Matthias Clasen  <maclas@gmx.de>
3681
3682         * gtk/gtkctree.c (draw_row): Don't cut descenders when 
3683         rendering.  (#118646, Charles Kerr) 
3684
3685 2003-08-06  Hans Breuer  <hans@breuer.org>
3686
3687         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new) :
3688         initialize bits to 0 (probably default on NT)
3689
3690         * gdk/win32/gdkwindow-win32.c (gdk_window_set_icon) :
3691         now it works as intended ;-)
3692
3693 2003-08-04  Hans Breuer  <hans@breuer.org>
3694
3695         * gdk/win32/gdkwindow-win32.c(gdk_window_set_modal_hint) :
3696         set HWND_NOTOPMOST for modal==FALSE, fixes bug #118435
3697
3698         * gdk/win32/gdkwindow-win32.c : implement gdk_window_[un]fullscreen
3699         (gdk_window_{move,resize,move_rezize})) : noop if FULLSCREEN
3700
3701         * gdk/win32/gdkwindow-win32.c (gdk_window_set_icon) :
3702         against all expectations it is basically ony a call with WM_SETICON
3703         needed (the visual effect is there, though colors or mask are
3704         still somewhat wrong).
3705         * gdk/win32/gdkwindow-win32.h : place to store the HICON
3706
3707         * gdk/win32/gdkdrawabke.win32.c : readded the conditional end
3708         pixel drawing as it was fixed at 1999-08-23
3709
3710         gtk/gtk.def : updated
3711
3712 Tue Aug  5 10:07:08 2003  Owen Taylor  <otaylor@redhat.com>
3713
3714         * gtk/gtkmessagedialog.c (gtk_message_dialog_get_property): 
3715         Add a missing break. (#119156, Callum McKenzie)
3716
3717 Tue Aug  5 00:24:13 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
3718
3719         * gtk/gtkmenu.c (gtk_menu_position): New positioning
3720         algorithm.(#116649)
3721
3722 Fri Aug  1 15:26:46 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
3723
3724         * gtk/gtktoolbar.c, gtk/toolitem.c: add new "is_important"
3725         property
3726         
3727         * gtk/gtkradiotoolbutton.c
3728         (gtk_radio_tool_button_new_from_widget): Don't take a stock id
3729
3730         * gtk/gtkradiotoolbutton.c
3731         (gtk_radio_tool_button_new_with_stock_from_widget): make this
3732         function take a stock_id.
3733
3734         * gtk/toolbar: documentation
3735
3736 Mon Aug  4 14:53:46 2003  Owen Taylor  <otaylor@redhat.com>
3737
3738         * gdk/x11/gdkimage-x11.c (_gdk_windowing_image_init): 
3739         Fix problem where use_xshm was getting set wrong if
3740         MIT_SHM wasn't found. (George Lebel)
3741
3742 2003-08-04  Tor Lillqvist  <tml@iki.fi
3743
3744         * gdk/win32/gdkevents-win32.c (apply_filters): Fix braino:
3745         actually use the passed-in filter list. The function also needs a
3746         GdkWindow parameter, as filter functions expect
3747         GdkEvent::any.window to be valid. (#119034, Hans Breuer)
3748
3749 2003-08-03  Matthias Clasen  <maclas@gmx.de>
3750
3751         * gdk/x11/gdkscreen-x11.c (gdk_screen_get_n_monitors): 
3752         (gdk_screen_get_monitor_geometry): Improve wording of the docs, avoid
3753         the term "virtual screen".  (#119030, Tor Lillquist)
3754
3755 2003-08-02  Matthias Clasen  <maclas@gmx.de>
3756
3757         * tests/testtext.c (test_init): 
3758         * tests/testgtk.c (test_init): 
3759         * tests/testdnd.c (test_init): 
3760         * demos/pixbuf-init.c (pixbuf_init): 
3761         * demos/gtk-demo/main.c (main): Use g_setenv().
3762
3763         * gdk/x11/gdkdisplay-x11.c (_gdk_windowing_set_default_display): Use
3764         g_unsetenv(). 
3765
3766 Sat Aug  2 12:53:16 2003  Owen Taylor  <otaylor@redhat.com>
3767
3768         * configure.in: Requires glib-2.3.0, pango-1.2.0.
3769
3770         * configure.in: Require Xft version 2,
3771         remove code for handling older versions of pango and Xft.
3772         Many miscellaneous improvements to X checks
3773
3774         * acinclude.m4: Add GTK_ADD_LIB() macro for adding 
3775         a library to a variable, avoiding dups.
3776
3777         * gdk/x11/gdkfont-x11.c (gdk_font_from_description_for_display): 
3778         Always load "fixed"
3779
3780         * gdk/x11/gdk*-x11.[ch]: Remove support for Xft1 and
3781         for pangox.
3782
3783 2003-08-02  Matthias Clasen  <maclas@gmx.de>
3784
3785         * gtk/gtkcolorsel.c (color_sample_drop_handle) 
3786         (palette_drop_handle): 
3787         * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received):  Accept
3788         drops with the wrong format, since the KDE color chooser incorrectly
3789         drops application/x-color with format 8.  (#118810)
3790
3791         * gtk/gtkcolorsel.c (color_sample_drop_handle) (palette_drop_handle): 
3792         * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received):  
3793         Accept drops with the wrong format, since the KDE color chooser 
3794         incorrectly drops application/x-color with format 8.  (#118810)
3795
3796 2003-08-02  Tor Lillqvist  <tml@iki.fi>
3797
3798         Fix gdk/win32 window geometry handling again. The window position
3799         in a GDK_CONFIGURE event should be that of the client area, not of
3800         the window decorations. (I was confused by the term "window
3801         border" in X11. It does *not* mean the window manager
3802         decorations. There are no X11-style window borders in Win32.)
3803         Also, this time do take the geometry hints into account
3804         appropriately when moving windows. Now testgtk's gravity test's
3805         move buttons work OK. There are stil problems with taking gravity
3806         into account when showing a hidden window.
3807
3808         * gdk/win32/gdkwindow-win32.h: Keep a whole GdkGeometry as hints
3809         instead of separate fields.
3810         
3811         * gdk/win32/gdkevents-win32.c (handle_configure_event): Don't
3812         adjust for decorations.
3813
3814         * gdk/win32/gdkwindow-win32.c (get_outer_rect,
3815         adjust_for_gravity_hints): New functions.
3816         (gdk_window_move, gdk_window_resize, gdk_window_move_resize): Use
3817         above functions, take geometry hints into account.
3818         (gdk_window_set_geometry_hints): Size hints specicy client area,
3819         not including decorations.
3820
3821 Fri Aug  1 17:10:22 2003  Owen Taylor  <otaylor@redhat.com>
3822
3823         * gtk/gtkfilesel.c (cmpl_completion_fullname): Always
3824         return an absolute path (#115590), fix a problem where
3825         you could crash the file selector with a looong name
3826         by returning a newly allocated buffer.
3827
3828 Fri Aug  1 16:44:51 2003  Owen Taylor  <otaylor@redhat.com>
3829
3830         * gtk/gtkfilesel.c (update_cmpl): Fix obvious reallocation
3831         bug in rarely or never hit code path (#118071,
3832         Tor Lillqvist)
3833
3834 Fri Aug  1 16:30:13 2003  Owen Taylor  <otaylor@redhat.com>
3835
3836         * gdk/x11/gdkdrawable-x11.c (_gdk_x11_have_render): 
3837         If the check for missing depths, try actually creating pixmaps
3838         of the depths to deal with Xinerama not reporting
3839         all the depths it should. (#115822)
3840
3841 Fri Aug  1 15:33:59 2003  Owen Taylor  <otaylor@redhat.com>
3842
3843         * gtk/gtksocket.c: Patch from Denis Mikhalkin to
3844         forward KeyRelease events as well as KeyPress events.
3845         (#115597)
3846
3847 Fri Aug  1 15:06:25 2003  Owen Taylor  <otaylor@redhat.com>
3848  
3849         * gdk/gdk.c (gdk_parse_args): g_set_prgname("<unknown>")
3850         if argc is 0 as well, instead of leaving it unset.
3851         (#116023, Michael Meeks)
3852  
3853 Thu Jul 31 23:09:02 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
3854
3855         * gtk/gtktoolbar.c (gtk_toolbar_class_init): make show_arrow
3856         default to TRUE; ignore the property when api_mode != NEW_API
3857
3858 2003-07-31  Matthias Clasen  <maclas@gmx.de>
3859
3860         * gtk/gtkwindow.c (gtk_window_set_default_icon): Rename parameter pixbuf
3861         to icon, to pacify gtk-doc.
3862
3863         * gtk/gtkwidget.c (gtk_widget_class_init): Fix formatting of drag-motion 
3864         example. 
3865
3866 Thu Jul 31 15:33:33 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
3867
3868         * gtk/gtk*tool*.h: add padding to subclasses of GtkToolItem
3869
3870 Thu Jul 31 15:29:28 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
3871
3872         * gtk/gtktoolitem.c (struct _GtkToolItemPrivate): remove unused
3873         overflow_item field.
3874
3875 Wed Jul 30 21:11:13 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
3876
3877         * gtk/gtktoolitem.h: make _gtk_tool_item_toolbar_reconfigured()
3878         an internal function
3879
3880         * gtk/gtktoolitem.h: remove unused declaration of
3881         _gtk_tool_item_get_drag_window().
3882
3883 Wed Jul 30 17:03:58 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
3884
3885         * gtk/gtktoolbutton.[ch]:
3886         (gtk_tool_button_new): swap icon_widget and label arguments to
3887         match BonoboUIToolbarButton.
3888
3889         * gtk/gtktoolbar.h: un-deprecate gtk_toolbar_{set|unset}_style().
3890
3891 2003-07-30  Matthias Clasen  <maclas@gmx.de>
3892
3893         * gtk/gtkwidget.c (gtk_widget_class_init): Some updates to the DND
3894         signal docs. 
3895
3896 2003-07-29  Tor Lillqvist  <tml@iki.fi>
3897
3898         Fix for #108007, #112402, #117042: There was confusion in
3899         gdk/win32 at various places whether a window position refers to
3900         the decoration position or the client area position. Also whether
3901         window size includes decorations or not.
3902         
3903         The correct interpretation apparently is that in GDK (like in
3904         X11), a top-level window position means the decoration's position,
3905         but size means the window's inner size (client area size). In the
3906         Win32 API, the window size usually includes the decorations,
3907         though.
3908         
3909         * gdk/win32/gdkevents-win32.c (decode_key_lparam): Move inside
3910         #ifdef G_ENABLE_DEBUG.
3911         (handle_configure_event): New function, generates GDK_CONFIGURE
3912         events from WM_SIZE and WM_MOVE messages. Even if no event is
3913         generated because of the event mask, still set the private
3914         position and size fields. Calculate position and size correctly.
3915         (gdk_event_translate): Call handle_configure_event().
3916
3917         * gdk/win32/gdkgeometry-win32.c: Cosmetics.
3918
3919         * gdk/win32/gdkwindow-win32.c: Use GDI_CALL() and API_CALL()
3920         macros. Cosmetic debugging output changes.
3921         (SafeAdjustWindowRectEx): Remove. If an application wants to
3922         locate a window outside of the screen, it's not GDK's business to
3923         prevent it. And anyway, with multiple monitors, negative
3924         coordinates are perfectly normal.
3925         (gdk_window_new): Adjust the window size for decorations after
3926         _gdk_window_init_position() has done its job. (But the big window
3927         code currently is presumably broken on Win32 anyway.)
3928         (gdk_window_move): The position passed in is supposed to be that
3929         of the window border, so don't need to adjust for decorations.
3930         (gdk_window_resize, gdk_window_move_resize): Simplify somewhat.
3931
3932 Tue Jul 29 13:55:44 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
3933
3934         * gtk/gtktoolbar.c (gtk_toolbar_set_style,
3935         gtk_toolbar_prepend_element, gtk_toolbar_append_element,
3936         gtk_toolbar_insert_space, gtk_toolbar_prepend_space,
3937         gtk_toolbar_append_space, gtk_toolbar_insert_item,
3938         gtk_toolbar_prepend_item, gtk_toolbar_append_item,
3939         gtk_toolbar_set_tooltips, gtk_toolbar_set_orientation,
3940         gtk_toolbar_new, gtk_toolbar_prepend_item):
3941
3942         Move documentation inline from template files.
3943
3944         * gtk/gtktoolbar.c (gtk_toolbar_insert_element,
3945         gtk_toolbar_insert_widget, gtk_toolbar_prepend_widget,
3946         gtk_toolbar_append_widget, gtk_toolbar_remove_space,
3947         gtk_toolbar_insert_stock, gtk_toolbar_unset_icon_size,
3948         gtk_toolbar_get_icon_size, gtk_toolbar_set_icon_size,
3949         gtk_toolbar_get_tooltips, gtk_toolbar_unset_style,
3950         gtk_toolbar_get_style, gtk_toolbar_get_orientation)
3951
3952         Copy documentation from stable that was added after the EggToolbar
3953         branched.
3954
3955         * gtk/gtktoolbar.h: deprecate gtk_toolbar_unset_icon_size()
3956
3957 Mon Jul 28 18:21:34 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
3958
3959         * gtk+/docs/: Commit autogenerated changes, so patches will make
3960         sense.
3961
3962 2003-07-27  Tor Lillqvist  <tml@iki.fi>
3963
3964         * gdk/win32/gdkevents-win32.c (build_key_event_state): On Win9x,
3965         the keyboard state returned by GetKeyboardState() doesn't
3966         distinguish between the left and right Control and Alt keys. Thus
3967         we cannot detect AltGr (which is supposed to be left Control +
3968         right Alt) the same way as on NT-based systems, but have to accept
3969         either Control + either Alt as AltGr.
3970
3971 2003-07-27  Matthias Clasen  <maclas@gmx.de>
3972
3973         * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
3974         Fix function name in warning message.  (#118156, Tim-Philipp
3975         Mller)
3976
3977         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property):
3978         is-expander and is-expanded are boolean properties, not ints.
3979         (#118359, Josh Parsons)
3980
3981 Sat Jul 26 15:21:27 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
3982
3983         * gtk/gtkimagemenuitem.c
3984         (gtk_image_menu_item_toggle_size_request): don't request
3985         toggle_space when the image width is 0.
3986
3987 2003-07-25  Tor Lillqvist  <tml@iki.fi>
3988
3989         * gdk/win32/gdkprivate-win32.h
3990         * gdk/win32/gdkglobals-win32.c: New flags _gdk_input_locale_is_ime
3991         and _gdk_keyboard_has_altgr.
3992         
3993         * gdk/win32/gdkevents-win32.c: Lots of changes. Most important
3994         ones detailled here.
3995
3996         Code that has been ifdeffed out for a long time removed. Remove
3997         some really old doc comments that were left behind for some public
3998         functions, the official ones are in the X11 backend anyway. Change
3999         GDK_WINDOW_OBJECT() calls to GdkWindowObject casts. Reformat
4000         multi-line boolean expressions to have the operators at ends of
4001         lines.
4002
4003         As mouse capture with SetCapture() indeed seems to work OK, no
4004         need to have the correspoinding macro USE_SETCAPTURE and ifdefs.
4005
4006         Ifdef out the gdk-ping-msg stuff. I don't remember why it was
4007         needed at some time, and things seem to work fine now without
4008         (knock on wood).
4009
4010         Ifdef out the search for some Latin locale keyboard layout being
4011         loaded. Not used currently, but might be needed after all, if we
4012         decide that we want to be able to generate ASCII control character
4013         events with a non-Latin keyboard.
4014
4015         (assign_object): New helper function, handles the g_object_ref()
4016         and unref() calls when assigning GObject pointers.
4017                 
4018         (generate_crossing_events): Also generate the GDK_NOTIFY_INTERIOR
4019         enter event when the pointer has moved to an ancestor window. Was
4020         left out by mistake.
4021
4022         (gdk_window_is_ancestor): Renamed from gdk_window_is_child().
4023
4024         (gdk_pointer_grab, gdk_pointer_ungrab): Implement the confine_to
4025         functionality, using ClipCursor().
4026                 
4027         (find_window_for_mouse_event): Splice part of code into new
4028         function find_real_window_for_grabbed_mouse_event().
4029
4030         (fixup_event, append_event, apply_filters): New functions, code
4031         refactored out from elsewhere.
4032
4033         (synthesize_enter_or_leave_event, synthesize_leave_event,
4034         synthesize_enter_event,
4035         synthesize_leave_events,synthesize_enter_events): Also take a
4036         GdkCrossingMode parameter, in preparation to generating
4037         GDK_CROSSING_GRAB and GDK_CROSSING_UNGRAB events.
4038
4039         (fixup_event, append_event, fill_key_event_string): New functions,
4040         code refactoring.
4041
4042         (vk_from_char, build_keypress_event, build_keyrelease_event):
4043         Removed as part of dropping WM_CHAR handling.
4044
4045         (build_key_event_state,gdk_event_translate): Call
4046         GetKeyboardState(), once, for each keyboard message, instead of
4047         several calls to GetKeyState() here and there.
4048
4049         (gdk_event_translate): Fix bugs #104516, #104662, #115902. While
4050         at it, do some major refactoring, and some fixes for potential
4051         problems noticed while going through the code.
4052
4053         Don't handle WM_CHAR at all. Only handle WM_KEYDOWN and
4054         WM_KEYUP. Don't need the state variables related to whether to
4055         wait for WM_CHAR or not, and whether the current key is
4056         AltGr. Remove lots of complexity. Thus don't need the
4057         use_ime_composition flag.
4058
4059         Not handling WM_CHAR means dead key handling will have to be taken
4060         care of by GTK, but that seems to work fine, so no worry.
4061
4062         Another side-effect is that Alt+keypad digits don't work any
4063         longer, but it's better to learn to use GTK's ISO14755 support is
4064         anyway.
4065
4066         Be more careful in checking whether AltGr is involved. Only
4067         attempt to handle it if the keyboard actually has it. And
4068         explicitly check for *left* Control plus *right* Alt being
4069         pressed. Still, allow (left) Alt and/or (right) Control with AltGr
4070         chars.
4071
4072         Handle keys using similar code as in the X11 backend. As we have
4073         built a keymap in gdkkeys-win32.c anyway, use it by calling
4074         gdk_keymap_translate_keyboard_state() to look up the keysym from
4075         the virtual key code and keyboard state. Build the key event
4076         string in exactly the same way as the X11 backend.
4077
4078         If an IME is being used, don't generate GDK events for keys
4079         between receiving WM_IME_STARTCOMPOSITION and
4080         WM_IME_ENDCOMPOSITION, as those keys are for the IME.
4081         
4082         For WM_IME_COMPOSITION, handle all the Unicode chars returned from
4083         the IME, not just the first one.
4084
4085         gdk_event_translate() is still quite complex, could split the
4086         message handler cases out into separate functions.
4087
4088         On mouse events, when the mouse is grabbed, use
4089         find_real_window_for_grabbed_mouse_event() in order to be able to
4090         generate correct crossing events.
4091         
4092         No longer take a pre-allocated GdkEvent as parameter. Instead,
4093         allocate events as needed and append them to the queue. (This is
4094         different from how gdk_event_translate() in the X11 backend
4095         works.) This change made the code much clearer, especially in the
4096         cases where we have to generate several GDK events for one Windows
4097         message.  Return FALSE if DefWindowProc() should be called, TRUE
4098         if not. If DefWindowProc() should not be called, also return the
4099         value to be returned from the window procedure.
4100
4101         (Previously, the interaction with gdk_event_translate()'s caller
4102         was much more complex, when we had to indicate whether the
4103         already-queued event should be left in the queue or removed, and
4104         in addition also had to indicate whether to call DefWindowProc()
4105         or not, and what value to return from the window procedure if
4106         not.)
4107
4108         Don't use a separate "private" variable required to be pointing to
4109         the GdkWindowObject of the "window" variable at all times. Just
4110         use casts, even if looks a bit uglier.
4111
4112         Notice destroyed windows as early as possible, and break out of
4113         the messsage switch.
4114
4115         Use _gdk_pointer_root as current_window when the pointer is
4116         outside GDK's top-level windows.
4117         
4118         On WM_INPUTLANGCHANGE, set _gdk_input_locale_is_ime as
4119         appropriate, based on ImmIsIME().
4120         
4121         (gdk_event_translate, gdk_event_send_client_message_for_display,
4122         gdk_screen_broadcast_client_message): Implement client messages.
4123         Use a registered Windows message to pass GDK client messages. Note
4124         that the amount of user data is restricted to four bytes, as it is
4125         carried in the LPARAM. (The WPARAM is used for the message type
4126         "atom".)
4127         
4128         (real_window_procedure): Adapt for new gdk_event_translate()
4129         interface.
4130
4131         * gdk/win32/gdkmain-win32.c (_gdk_windowing_init): Set
4132         _gdk_input_locale_is_ime initially.
4133
4134         * gdk/win32/gdkwindow-win32.c: Use g_object_ref()/unref() instead
4135         of g_colormap_ref()/unref().
4136
4137         (gdk_window_new): Made code a bit more like the X11 one, pretend
4138         to handle screens (although we just have one for now).
4139
4140         * gdk/x11/gdkevents-x11.c
4141         (gdk_event_send_client_message_for_display,
4142         gdk_screen_broadcast_client_message): Document the user data
4143         limitation on Win32.
4144
4145         * gdk/win32/gdkevents-win32.c (print_event): More complete enter
4146         and leave notify detail output.
4147
4148         * gdk/win32/gdkkeys-win32.c (update_keymap): Make dead keys
4149         visible to GDK and GTK. Store the corresponding GDK_dead_* keysym
4150         for those, so that the GtkIMContextCimple compose tables will
4151         work. Deduce if the keyboard layout has the AltGr key, and set the
4152         above flag accordingly.
4153
4154 2003-07-26  Matthias Clasen  <maclas@gmx.de>
4155
4156         * gtk/gtkwidget.c: Document DND signals.
4157
4158 2003-07-24  Matthias Clasen  <maclas@gmx.de>
4159
4160         * gtk/gtktextview.c (popup_targets_received): Make the "Input Methods"
4161         insensitive when editing isn't possible.  (#118150)
4162
4163 2003-07-23  Matthias Clasen  <maclas@gmx.de>
4164
4165         * gtk/gtkcolorsel.c (gtk_color_selection_init): Make the hue 
4166         spinbutton wrap.  (#118097, John Darrington)
4167
4168         * docs/faq/gtk-faq.sgml: Mention Xnest as a way to debug GTK+ apps. 
4169
4170 2003-07-20  Hans Breuer  <hans@breuer.org>
4171
4172         * makefile.msc : new file to build it all
4173         * Makefile.am : ... added to EXTRA_DIST
4174
4175         * gdk/makefile.msc gtk/stock-icons/makefile.msc 
4176           gtk/makefile.msc.in tests/makefile.msc : updated
4177
4178         * gdk/gdk.def gtk/gtk.def : export a bunch of new 
4179         functions
4180
4181         * gtk/gtkbbox.c : use g_return_val_if_fail() if
4182         there is a value to return
4183
4184         * gtk/gtkfontsel.c gtk/gtkiconfactory.c :
4185         static correctness
4186
4187         * gtk/gtkicontheme.c : ported to use GTimeVal instead of
4188         struct timeval and GTK_DATA_PREFIX instead of GTK_DATADIR
4189
4190         * gtk/gtkicontheme.c : use HAVE_LC_MESSAGES
4191
4192         * gtk/gtkimmulticontext.c : use gtkprivate.h
4193
4194         * gtk/stock-icons/stock_color_picker_25.png
4195           gtk/stock-icons/stock_jump_to_rtl_16.png
4196           gtk/stock-icons/stock_jump_to_rtl_24.png
4197           gtk/stock-icons/stock_redo_rtl_16.png
4198           gtk/stock-icons/stock_redo_rtl_24.png
4199           gtk/stock-icons/stock_undelete_rtl_16.png
4200           gtk/stock-icons/stock_undelete_rtl_24.png
4201           gtk/stock-icons/stock_undo_rtl_16.png :
4202           gtk/stock-icons/stock_undo_rtl_24.png :
4203         readded as binary
4204
4205 Sat Jul 19 22:39:24 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4206
4207         * gtk/gtktoolitem.c (gtk_tool_item_size_request): remove
4208         leftover request of {xy}thickness
4209
4210 Sat Jul 19 16:26:02 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4211
4212         * gtk/gtktoolbutton.c (gtk_tool_button_construct_contents): don't
4213         attempt to add a NULL icon to the box.
4214
4215 Sat Jul 19 12:13:20 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4216
4217         * gtk/gtknotebook.c (gtk_notebook_focus_in|out): only redraw tabs
4218         on focus in/out.
4219
4220 2003-07-19  Matthias Clasen  <maclas@gmx.de>
4221
4222         * gtk/gtkstock.h (GTK_STOCK_DIALOG_AUTHENTICATION): New stock id. 
4223         * gtk/gtkiconfactory.c (get_default_icons): Add
4224         stock_dialog_authentication_48.  (#65765) 
4225         * gtk/stock-icons/Makefile.am (VARIABLES2, IMAGES): Here too.
4226         * gtk/stock-icons/stock_dialog_authentication_48.png: New image.
4227
4228         * gtk/gtkbbox.h: 
4229         * gtk/gtkbbox.c (gtk_button_box_get_child_secondary): New
4230         function. (#64562) 
4231
4232 Sat Jul 19 00:18:40 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4233
4234         * gtk/gtkwindow.c (gtk_window_set_default_icon): Fix C99
4235         declaration
4236
4237         * gtk/gtkwidget.c (gtk_widget_queue_shallow_draw): new function
4238         (gtk_widget_real_focus_{in|out}_event): queue shallow draws
4239         instead of full draws.
4240
4241 2003-07-18  Matthias Clasen  <maclas@gmx.de>
4242
4243         * gtk/gtkwindow.c: Add properties decorated and gravity.  (#80234) 
4244
4245         * gtk/gtktextview.c (gtk_text_view_class_init): Add a new keybinding
4246         signal, move_viewport. 
4247         (gtk_text_view_move_viewport): New function which implements the
4248         move_viewport functionality. 
4249         (gtk_text_view_move_cursor_internal): If the cursor is not visible, move
4250         the viewport. (#78669) 
4251
4252         * gtk/gtkenums.h (GtkScrollStep): New enumeration, used for
4253         move_viewport argument. 
4254
4255         * gtk/gtkstatusbar.c (gtk_statusbar_class_init): Add a has_resize_grip
4256         property.  (#111779) 
4257
4258         * gtk/gtkwindow.h: 
4259         * gtk/gtkwindow.c (gtk_window_set_default_icon): New method.  (#95816)
4260
4261         * gtk/gtkmessagedialog.h:
4262         * gtk/gtkmessagedialog.c (gtk_message_dialog_add_buttons): New method.  
4263         (#65501, Sebastian Rittau)
4264
4265 Fri Jul 18 20:06:57 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4266
4267         * gtk/gtktextview.c (changed_handler): use
4268         gtk_widget_queue_resize_noredraw().
4269
4270 2003-07-16  Jody Goldberg <jody@gnome.org>
4271
4272         * gdk/x11/gdkwindow-x11.c (gdk_window_focus) : fix cut-n-paste-o
4273
4274 Fri Jul 18 19:55:50 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4275
4276         * gtk/gtkwidget.c (gtk_widget_queue_resize_no_redraw): Add this
4277         API. 
4278
4279 Fri Jul 18 18:43:01 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4280
4281         By popular request give toolbuttons a border.
4282         
4283         * gtk/gtktoolitem.c
4284         (gtk_tool_item_size_allocate):
4285         (gtk_tool_item_size_request): don't request and allocate a border
4286         around the child
4287
4288         * gtk/gtktoolbutton.c 
4289         (gtk_tool_button_size_allocate):
4290         (gtk_tool_button_size_request): remove these functions
4291
4292         * gtk/gtktoolbar.c 
4293         (gtk_toolbar_size_request):
4294         (gtk_toolbar_size_allocate): request and allocate a border if we
4295         have a shadow.
4296
4297 Thu Jul 17 19:24:51 2003  Kristian Rietveld  <kris@gtk.org>
4298
4299         Merged from stable.
4300
4301         Fixes issues pointed out by Morten Welinder in #115140.
4302
4303         * gtk/gtktreeview.c (gtk_tree_view_size_request): fix comment,
4304         (do_validate_rows): update validated_area with a logic OR instead
4305         of a bitwise OR,
4306         (validate_rows_handler): make the if statement match the one in
4307         validate_rows(), so we don't leak the timeout.
4308
4309 Thu Jul 17 19:12:02 2003  Kristian Rietveld  <kris@gtk.org>
4310
4311         Merged from stable.
4312
4313         * gtk/gtktreeview.c (gtk_tree_view_remove_widget): the treeview
4314         should only grab focus back if the "cell_editable" widget still
4315         has focus. (Fixes #110104, testcase provided by Marco Pesenti
4316         Gritti).
4317
4318 Thu Jul 17 19:06:34 2003  Kristian Rietveld  <kris@gtk.org>
4319
4320         Merged from stable.
4321
4322         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
4323         Don't set attr.event_mask twice, those things were meant to be
4324         ORred. (#115139, pointed out by Morten Welinder).
4325
4326 Thu Jul 17 16:11:21 2003  Kristian Rietveld  <kris@gtk.org>
4327
4328         Merged from stable.
4329
4330         * gtk/gtktreeview.c (gtk_tree_view_rows_reordered): stop editing
4331         if needed. (Fixes #115869, reported by Michael Natterer).
4332
4333 2003-07-15  Matthias Clasen  <maclas@gmx.de>
4334
4335         * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size):
4336         Fight against gtk-doc stupidity.
4337
4338 2003-07-13  Matthias Clasen  <maclas@gmx.de>
4339
4340         * gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to 
4341         targets, to pacify gtk-doc.
4342
4343 Sun Jul 13 15:57:57 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4344
4345         * gtk/gtktoolbutton.c (gtk_tool_button_finalize): Fix leaks of
4346         label_text, label_widget and icon_widget. (#117312, 
4347         Christian Persch)
4348         
4349 Sun Jul 13 01:37:51 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4350
4351         * gtk/gtkmenu.c (gtk_menu_class_init): new properties
4352         "horizontal-offset" and "vertical-offset" that determines the
4353         position of the menu when it is a submenu. 
4354
4355         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): position
4356         submenus according to new vertical- and horizontal-offset
4357         properties.
4358
4359 Sat Jul 12 16:16:04 2003  Kristian Rietveld  <kris@gtk.org>
4360
4361         Merged from stable.
4362
4363         * gtk/gtktreeview.c (gtk_tree_view_drag_data_received): special
4364         case drags to "0", scroll to the top after dropping. (Fixes #94968,
4365         reported by Alp Toker).
4366
4367 Sat Jul 12 16:08:32 2003  Kristian Rietveld  <kris@gtk.org>
4368
4369         Merged from stable.
4370
4371         * demos/gtk-demo/editable_cells.c (cell_edited): fixup bad
4372         code (#115784, Owen Taylor).
4373
4374 Sat Jul 12 16:01:03 2003  Kristian Rietveld  <kris@gtk.org>
4375
4376         Merged from stable.
4377
4378         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_set_property):
4379         free the old text and extra_attrs *after* we parsed the new
4380         markup string. (Fixes #114485, reported by Owen Taylor).
4381
4382 Sat Jul 12 15:51:33 2003  Kristian Rietveld  <kris@gtk.org>
4383
4384         Merged from stable.
4385
4386         Fixes #113904, testcase provided by Rene Seindal.
4387
4388         * gtk/gtktreeview.c (gtk_tree_view_button_press): set
4389         pressed_button to -1 when a row has been activated,
4390         (gtk_tree_view_motion_bin_window): only start a drag if there's
4391         a button being pressed.
4392
4393 Sat Jul 12 15:51:18 2003  Kristian Rietveld  <kris@gtk.org>
4394
4395         Merged from stable.
4396
4397         * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): use
4398         gdk_window_get_pointer instead of gdk_display_get_window_at_pointer
4399         to avoid a roundtrip (#110272, Owen Taylor).
4400
4401 Sat Jul 12 15:28:26 2003  Kristian Rietveld  <kris@gtk.org>
4402
4403         Merged from stable.
4404
4405         This patch really really fixes scrolling. Related bugs: #81627,
4406         testcase provided by Timo Sirainen, #111500, testcase provided by
4407         manu, #113241, reported by Pedro Gimeno/Michael Natterer.
4408
4409         * gtk/gtktreeview.c (validate_visible_area): scrolling to a dy
4410         which is equal to the lower border of the window means scrolling
4411         to an invisible row, always update the dy when scrolling to an
4412         invisible row, corrected area_above/below calculations for
4413         invisible rows, when walking the tree correct the size
4414         subtracted for invalidated rows, fix wrong logic in comment.
4415
4416 2003-07-11  Matthias Clasen  <maclas@gmx.de>
4417
4418         * gtk/gtkicontheme.c (pixbuf_supports_svg): Use g_strfreev() to free
4419         mime_types.  (#117219, Steve Chaplin)
4420
4421 Tue Jul  8 20:11:04 2003  Owen Taylor  <otaylor@redhat.com>
4422
4423         * gdk/x11/gdkevents-x11.c (get_real_window)
4424         gdk/x11/gdkinput-x11.c (_gdk_input_common_init)
4425         gdk/x11/gdkimage-x11.c (_gdk_windowing_image_init)
4426         gdk/x11/gdkprivate-x11.h (_gdk_windowing_image_init)
4427         Don't assume that all events start with XEventAny - Xkb events
4428         don't! (#105745). So, only do that for core events, and for
4429         non-core events, add a system for registering event types
4430         that start with XEventAny.
4431
4432         * gdk/x11/gdkevents-x11.c (gdk_event_translate):
4433         Check to see if the result of gdk_window_lookup_for_display()
4434         is actually a window.
4435
4436 Fri Jul 11 20:48:14 2003  Kristian Rietveld  <kris@gtk.org>
4437
4438         * gtk/gtktreemodel.c (gtk_tree_path_free): make the path != NULL
4439         check a silent assert, so it follows the g_free() behaviour.
4440
4441 2003-07-11  Matthias Clasen  <maclas@gmx.de>
4442
4443         * gtk/gtkstatusbar.c (gtk_statusbar_init): Center statusbar contents 
4444         vertically.  (#109823, Joe Shaw)
4445
4446 2003-07-11  Morten Welinder  <terra@gnome.org>
4447
4448         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixbuf): Fix memory
4449         access error.  (#69436)
4450
4451 Fri Jul 11 14:32:43 2003  Kristian Rietveld  <kris@gtk.org>
4452
4453         Landing GtkTreeModelFilter and the completion code. (Test program
4454         and documentation will follow next week).
4455
4456         * gtk/gtkcellayout.[ch], gtk/gtkentrycompletion.[ch],
4457         gtk/gtktreemodelfilter.[ch], gtk/gtkentryprivate.h: new files.
4458
4459         * gtkentry.[ch]: added gtk_entry_{get,set}_completion, wrote
4460         necessary code to hook up completion.
4461
4462         * gtktreeviewcolumn.c: made GtkTreeViewColumn implement the new
4463         GtkCellLayout interface.
4464
4465         * gtkmarshalers.list: added BOOLEAN:OBJECT,BOXED.
4466
4467         * gtk/gtk.h, gtk/Makefile.am, po/POTFILES.in: all updated for the new
4468         source files.
4469
4470 Wed Jul  9 19:48:26 2003  Kristian Rietveld  <kris@gtk.org>
4471
4472         Merge from stable.
4473
4474         * gdk/gdkdisplay.c (gdk_display_get_window_at_pointer): don't
4475         directly return from ->window_at_pointer, but set win_x and win_y
4476         first if needed. (Fixes #110166, reported by Arno Charlet).
4477
4478         * gdk/gdkwindow.c (gdk_window_get_composite_drawable): change
4479         function to accept GdkDrawables and not just GdkWindows. This was
4480         already done in some other functions a while back, but this patch
4481         got lost for some reason.
4482
4483 2003-07-09  Matthias Clasen  <maclas@gmx.de>
4484
4485         * gtk/gtkcontainer.c (gtk_container_focus_sort_tab): Consider the text
4486         direction when sorting children.  (#116540, Soeren Sandmann)
4487
4488 Tue Jul  8 17:36:21 2003  Owen Taylor  <otaylor@redhat.com>
4489
4490         * gdk/x11/gdkasync.[ch] gdk/gdkdnd-x11.c: 
4491         Change _gdk_x11_send_xevent_async() to 
4492         _gdk_x11_send_client_message_async() avoid using Xlib
4493         internals that are different on Solaris. 
4494         (#116917, Morten Welinder)
4495
4496 2003-07-08  Matthias Clasen  <maclas@gmx.de>
4497
4498         * gtk/gtkcontainer.c (gtk_container_remove): Doc addition.
4499         (#116501, Doug Quale)
4500
4501 Tue Jul  8 21:35:22 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4502
4503         * gtk/gtktoggletoolbutton.h: remove strange #define
4504         * gtk/gtktoolbutton.h: fix cut'n'paste error
4505         * gtk/gtktoolbutton.c (gtk_tool_button_init): use instance
4506         private data
4507         * gtk/gtktoolitem.c (gtk_tool_item_class_init): use instance
4508         private data instead of g_new0()
4509         * gtk/gtktoggletoolbutton.c (gtk_toggle_tool_button_init): use
4510         instance private data
4511
4512 Tue Jul  8 21:10:14 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4513
4514         * gtk/gtkbutton.c (gtk_button_realize): remove GDK_EXPOSURE_MASK
4515         for INPUT_ONLY window
4516         * gtk/gtkmenuitem.c (gtk_menu_item_realize): same
4517         * gtk/gtknotebook.c (gtk_notebook_realize): same
4518         * gtk/gtkexpander.c (gtk_expander_realize): same
4519         * gtk/gtkrange.c (gtk_range_realize): same
4520
4521         Fix #116303
4522
4523 Tue Jul  8 19:57:14 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4524
4525         * gtk/gtkstyle.c (gtk_default_draw_arrow): remove correction on x
4526         when detail is "menuitem". With the new menu look is isn't needed
4527         anymore.
4528
4529         * gtk/gtktoolitem.c (gtk_tool_item_toolbar_reconfigured): queue a
4530         resize here, so that tool items will get a chance to relayout
4531         themselves based on the toolbar configuration.
4532
4533         change DEFAULT_SPACE_SIZE to 4 instead of 5
4534
4535         * gtk/gtktoolbar.c 
4536         Get rid of "!GTK_BIN (item)->child means separator". Separators
4537         are widgets in their own right
4538
4539         change DEFAULT_SPACE_SIZE to 4 instead of 5
4540         
4541         (get_space_size): remove this function
4542         (toolbar_item_is_homogeneous): new function
4543
4544         * gtk/gtkseparatortoolitem.c
4545         (gtk_separator_tool_item_size_request): new function.
4546
4547 Tue Jul  8 14:10:35 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4548
4549         * gtk/gtktoggletoolbutton.h: use private data, add new
4550         internal function _gtk_toggle_tool_button_get_button()
4551
4552         * gtk/gtktoolbutton.h: move to private data
4553
4554         * gtk/gtkradiotoolbutton.c, gtk/gtktoolbutton.c: updates for new
4555         private data.
4556
4557 Tue Jul  8 12:50:20 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4558
4559         * gtk/gtktoolbutton.c (gtk_tool_button_get_icon_widget): fix a
4560         type check, (#116947, Krasimir Angelov)
4561
4562         * gtk/gtktoolbar.c: Use new GtkToolItem accessors.
4563         
4564         * gtk/gtktoolitem.[ch]: Use a private struct to hold the instance
4565         data. Not instance private data yet, because of bug 116921.
4566
4567         * gtk/gtktoolitem.h: new accessors:
4568                 gtk_tool_item_get_homogeneous ()
4569                 gtk_tool_item_get_expand ()
4570                 gtk_tool_item_get_pack_end ()
4571                 gtk_tool_item_get_use_drag_window ()
4572
4573 Mon Jul  7 16:50:32 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4574
4575         * gtk/gtkcellrenderertext.c
4576         (gtk_cell_renderer_text_class_init): remove accidentally committed
4577         debugging spew
4578
4579         * gtk/gtktoolbar.c
4580         (gtk_toolbar_paint_space_line): remove this function
4581         (gtk_toolbar_expose): always propagate expose, even if the item is
4582         a separator item
4583
4584         * gtk/gtkseparatortoolitem.c
4585         (gtk_separator_tool_item_expose): moved here from gtktoolbar.c
4586         (get_space_size): new function.
4587         (get_space_style): new function
4588
4589 Sun Jul  6 13:00:20 2003  Owen Taylor  <otaylor@redhat.com>
4590
4591         * gtk/gtkdnd.c (_gtk_drag_source_handle_event)
4592         * gtk/gtkdnd.c (gtk_drag_begin_internal):  Remove use
4593         of GDK_POINTER_MOTION_HINT_MASK.
4594
4595         * gtk/gtkdnd.c (gtk_drag_update_idle): Move updating
4596         of the drag into an idle as a superior form of 
4597         expose compression.
4598
4599         * gtk/gtkdnd.c (gtk_drag_begin_internal): Move default icon
4600         creation here, so that we have an icon at the start
4601         of the drag (e.g., when retrieving the window cache
4602         information.)
4603
4604 Sun Jul  6 17:21:23 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4605
4606         * docs/widget_geometry.txt: better drawing of GtkMenuItem
4607         * docs/widget_geometry.txt: add notes about GtkMenu
4608         * gtk/gtkstyle.c: remove leftover "#include "gtkhandlebox.h""
4609
4610 Sat Jul  5 10:34:00 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4611
4612         * gtk/gtkmenu.c: add vertical_padding style property.
4613         
4614         * gtk/gtkmenuitem.c: add style properties toggle_spacing,
4615         arrow_spacing and horizontal_padding. Also center separators and
4616         make them a bit taller.
4617
4618         * gtk/*menuitem.c: use new style properties.
4619         
4620         * docs/widget_geometry.txt: Add note about GtkMenuItem
4621
4622         * gtk/gtkstyle.c 
4623         (gtk_default_draw_vline, gtk_default_draw_hline):
4624         fix +/-1 errors. 
4625
4626         (gtk_default_draw_shadow): draw a black border around menus.
4627
4628         * gtk/gtkvseparator, gtk/gtkhseparator.c, gtk/gtkmenuitem.c: fix
4629         calls to gtk_paint_hline() and gtk_paint_vline() (they take x1,
4630         x2 and y1, y2 respectively, not x, width and y, height).
4631
4632 Sat Jul  5 09:55:38 2003  Owen Taylor  <otaylor@redhat.com>
4633
4634         * gdk/x11/gdkdnd-x11.c (precache_target_list): Lookup
4635         all the atoms in the target list at once.
4636
4637         * gdk/x11/gdkdnd-x11.c (gdk_drag_get_protocol_for_display):
4638         Local drag short-circuit.
4639
4640         * gdk/x11/gdkdnd-x11.c (gdk_drag_motion): For the
4641         local case, poke the actions in directly instead of
4642         going through xdnd_set_actions.
4643
4644         * gdk/x11/gdkdnd-x11.c (xdnd_read_actions): Short-circuit
4645         the local case.
4646
4647         * gdk/x11/gdkdnd-x11.c (xdnd_manage_source_filter): Don't
4648         XSelectInput()/add a filter if the drag is local.
4649
4650         * gdk/x11/gdkdnd-x11.c (gdk_drag_get_selection): 
4651         Simplify handling of "XdndSelection".
4652
4653         * gdk/x11/gdkevents-x11.c
4654         (gdk_event_send_client_message_to_all_recurse): Somehow,  
4655         a WM_STATE => _NET_WM_STATE change hand been made here.
4656
4657         * gdk/x11/gdkproperty-x11.c (_gdk_x11_precache_atoms): Free
4658         xatom_names, not atom_names.
4659
4660         * tests/testdnd.c (target_drag_motion): Make the trashcan
4661         open again. (Got lost in deprecation cleanup.)
4662
4663 Sat Jul  5 00:49:32 2003  Owen Taylor  <otaylor@redhat.com>
4664
4665         * gtk/gtkdnd.c (gtk_drag_begin): Move the grabs up
4666         earlier, so we don't get a big pile of uncompressed
4667         motion events before the grab takes effect.
4668
4669         * gtk/gtkdnd.c (gtk_drag_update_icon): Call 
4670         gdk_window_process_all_updates() so that the area
4671         we are dragging over gets a change to redraw.
4672
4673         * gtk/gtkdnd.c (_gtk_drag_dest_handle_event): Use 
4674         gdk_window_get_position(), not gdk_window_get_origin().
4675
4676         * gdk/x11/gdkwindow-x11.[ch] (gdk_window_have_shape_ext)
4677         gdkdisplay-x11.h: use XShapeQueryExtension to 
4678         avoid duplicate XQueryExtension when we actually
4679         use it. Remove unnecessary caching in GdkDisplayX11.
4680
4681 Fri Jul  4 23:49:22 2003  Owen Taylor  <otaylor@redhat.com>
4682
4683         * gdk/x11/gdkasync.[ch] (_gdk_x11_get_window_child_info): 
4684         Function to get a range of information about all the
4685         children of a window in a single pass.
4686
4687         * gdk/x11/gdkdnd-x11.c (get_client_window_at_coords_recurse)
4688         gdk/x11/gdkdnd-x11.c (gdk_window_cache_new): Use
4689         _gdk_x11_get_window_child_info() to greatly reduce
4690         the number of roundtrips.
4691
4692 Fri Jul  4 22:57:18 2003  Owen Taylor  <otaylor@redhat.com>
4693
4694         * gdk/x11/gdkasync.[ch] (_gdk_send_xevent_async): Add
4695         a function to XSendEvent() and call a calback on
4696         failure/success.
4697
4698         * gdk/x11/gdkdnd-x11.c (xdnd_send_xevent): Short-circuit
4699         messages to the same process, use _gdk_send_xevent_async().
4700
4701 Fri Jul  4 22:26:27 2003  Owen Taylor  <otaylor@redhat.com>
4702
4703         * gdk/x11/gdkwindow-x11.[ch] gdkevents-x11.c: Split
4704         toplevel-specific pieces of GdkWindowImplX11 into
4705         a separate GdkToplevelX11 structure.
4706
4707 Fri Jul  4 22:05:09 2003  Owen Taylor  <otaylor@redhat.com>
4708
4709         * gdk/x11/gdkasync.c (struct _SetInputFocusState): Fix
4710         some leftover fields.
4711
4712 Fri Jul  4 15:57:52 2003  Owen Taylor  <otaylor@redhat.com>
4713
4714         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
4715         Use asynchronously _gdk_x11_set_input_focus_safe
4716         to avoid having to trap errors and XSync().
4717
4718         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): Use
4719         _gdk_x11_set_input_focus_safe() here as well.
4720
4721         * gdk/x11/gdkevents-x11.c (gdk_check_wm_state_changed):
4722         Rework handling of property notifies on _NET_WM_STATE
4723         so that we ignore _NET_WM_DESKTOP notifies unless we
4724         really care.
4725
4726         * gdk/x11/gdkimage-x11.c (gdk_image_check_xshm): Use
4727         XShmQueryExtension() rather than XQueryExtension() to
4728         avoid extra rountrip.
4729
4730         * gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_init):
4731         Remove unused call to XGetWindowAttributes()
4732         
4733         * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Remove
4734         unused call to XGetKeyboardControl().
4735
4736         * gdk/x11/gdkdisplay-x11.c gdk/gdk.def (gdk_display_flush):
4737         Add (#99571)
4738
4739         * gdk/win32/gdkevents-win32.c gdk/linux-fb/gdkevents-fb.c 
4740         No-op implementations of gdk_display_flush().
4741
4742         * gdk/gdkwindow.c (gdk_window_process_all_updates): Use
4743         gdk_display_flush() rather than gdk_flush() to avoid
4744         XSync().
4745         
4746         * gdk/x11/gdkwindow-x11.c (update_wm_hints)
4747         gdk/x11/gdkwindow-x11.h: Centralize all handling of WM_HINTS here
4748         so that we don't have to get the property back from the server.
4749
4750         * gdk/x11/gdkwindow-x11.c (show_window_internal): Store
4751         the serial of when we map a toplevel to allow optimizing
4752         out notifies on _NET_WM_STATE/_NET_WM_DESKTOP.
4753
4754         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Don't
4755         XTranslateCoordinates() for override-redirect windows.
4756
4757 Fri Jul  4 15:59:27 2003  Owen Taylor  <otaylor@redhat.com>
4758
4759         * gdk/x11/gdkwindow-x11.c (gdk_window_set_group): Remove comment
4760         about setting window group after the window is mapped from docs
4761         - nothing the ICCCM forbids that.
4762
4763         * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size):
4764         Fix g_return_val_if_fail() in void return function.
4765
4766         * configure.in: Fix misplaced comma that was resulting
4767         in XShm always being disabled.
4768
4769 Fri Jul  4 19:55:49 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4770
4771         * tests/stresstest-toolbar: remove this accidentally committed
4772         file.
4773         
4774         * tests/stresstest-toolbar.c: really add this new test
4775
4776 Fri Jul  4 19:06:31 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4777
4778         * tests/stresstest-toolbar.c: new test for removing items
4779         
4780         * tests/testtoolbar.c: add a popup menu
4781
4782         * gtk/gtkcontainer.c (gtk_container_remove): add hack to avoid
4783           assert widget->parent == container when the container is a
4784           toolbar.
4785
4786         * gtk/gtktoolbar.c (gtk_toolbar_remove_tool_item): Make much
4787         simpler. Also make correct.
4788
4789         * gtk/gtktoolbar.c (gtk_toolbar_button_press): make
4790         popup_context_menu a boolean handled signal.
4791
4792 2003-07-04  Tor Lillqvist  <tml@iki.fi>
4793
4794         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_polygon,
4795         gdk_win32_draw_segments, gdk_win32_draw_lines): We can calculate
4796         the width and height of the bounding rectangle only after the
4797         minumum x and y have been found, and need a separate loop for
4798         it. Thanks to Bruce Hochstetler for providing a sample program
4799         exhibiting the bug.
4800
4801 2003-07-03  Tor Lillqvist  <tml@iki.fi>
4802
4803         * gdk/gdk.def: Add gdk_string_to_compound_text_for_display.
4804         (#116537, Peter Zelezny)
4805
4806 Thu Jul  3 03:13:20 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4807
4808         * gtk/gtkpaned.c (gtk_paned_set_child_property): Insert cast to
4809         fix warning. Assign something to old_value to quiet gcc
4810
4811         * gtk/gtkcalendar.c 
4812         (start_spinning): gtk_timeout_add->g_timeout_add
4813
4814         * gtk/gtkicontheme.c 
4815         (theme_lookup_icon): Make it compile (remove double semicolon)
4816
4817         * gtk/gtktoolbutton.c
4818         (gtk_tool_button_class_init): Long comment about properties.
4819         (gtk_tool_button_class_init): Improve text for "use_underline"
4820         property
4821         (gtk_tool_button_create_menu_proxy): Fix up to use_mnemonic based
4822         on whether the passed-in label has use_mnemonic set
4823         (gtk_tool_button_create_menu_proxy): Split image cloning out in
4824         new function. Make that function also handle image with pixbuf
4825         storage.
4826         (gtk_tool_button_construct_contents): Use gtk_widget_destroy()
4827         instead of gtk_container_remove().
4828         (gtk_tool_button_construct_contents): Fix eliding bug
4829
4830         * gtk/gtktoolbar.c
4831         (gtk_toolbar_finalize): New function. Unref tooltips, pointed out
4832         by Morten Welinder
4833         (gtk_toolbar_button_press): Make popup_context_menu signal provide
4834         coordinates and button number
4835
4836         * tests/testtoolbar.c (main): Add new pixbuf toolbutton
4837
4838         * tests/apple-red.png: new file
4839
4840 Wed Jul  2 18:00:56 2003  Owen Taylor  <otaylor@redhat.com>
4841          
4842         * gtk/gtkicontheme.[ch]: Implement a loader for
4843         named themed icon based on from gnome-desktop library
4844         by Alex Larsson.
4845
4846         * gtk/gtkiconthemeparser.[ch]: .ini file parsing code
4847         from gnome-desktop.
4848
4849         * gtk/gtkiconfactory.[ch]: Add
4850         gtk_icon_source_set/get_icon_name() to allow stock icons
4851         to be based off of named theme icons.
4852
4853         * gtk/gtkiconfactory.c: Rework sources so that the source
4854         is *either* a pixbuf, or a filename, or an icon name,
4855         instead of the pixbuf/filename mix it was before. Put a
4856         workaround for get_pixbuf() so that it can return the
4857         filename pixbuf, e.g, for render_icon().
4858
4859         * gtk/gtkiconfactory.c: Make the default setup use
4860         themed icons, and add builtin icons to the default
4861         icon theme for all the standard pixbufs, so we
4862         don't rely on actually having an icon theme on disk.
4863
4864         * gtk/gtkrc.c: Add support for @"icon-name" to specify
4865         a themed icon for a stock icon source.
4866
4867         * tests/Makefile.am test/testicontheme.c: Add a test
4868         program from gnome-desktop.
4869
4870         * gdk/x11/gdkevents-x11.c gtk/gtksettings.c: Add
4871         Net/IconThemeName / gtk-icon-theme-name setting.
4872
4873         * gtk/gtkiconfactory.c (ensure_cache_up_to_date): Actually
4874         update the icon cache serial so we don't continually
4875         think we are out-of-date.
4876
4877         * gtk/gtkwidget.c: Fix a couple of references in doc comments 
4878         to ::direction_set that should have been to ::direction-changed
4879
4880 Wed Jul  2 14:45:41 2003  Owen Taylor  <otaylor@redhat.com>
4881
4882         * gtk/gtktoolbar.c (gtk_toolbar_realize): Attach the
4883         style to the widget.
4884
4885 Wed Jul  2 15:42:26 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4886
4887         * gtk/gtk.h: Add new toolbar headers
4888
4889         * tests/testtoolbar.c: new file
4890
4891         * tests/Makefile.am (noinst_PROGRAMS): Add testtoolbar.c
4892
4893         * gtk/gtkexpander.c (gtk_expander_class_init): Make it compile
4894
4895 Tue Jul  1 22:49:25 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4896
4897         * gtk/gtktoolbar.c:
4898         (gtk_toolbar_remove_tool_item): Fix bug where list is changed
4899         inside a for loop (pointed out by Morten Welinder).
4900         (gtk_toolbar_focus_home_or_end): Minor formatting change
4901
4902         Comments from Owen:
4903
4904         * gtk/gtktoolbutton.c: remove copy of elide_underscores(). Use
4905         gtk_toolbar_elide_underscores instead.
4906
4907         * gtk/gtktoolbar.c: rename signal from focus_ends to
4908         focus_home_or_end.
4909         (_gtk_toolbar_elide_underscores): export this as an internal
4910         function.
4911         (gtk_toolbar_move_focus): add comment explaining difference to
4912         gtk_toolbar_focus();
4913         (gtk_toolbar_list_children_in_focus_order): Make TAB_FORWARD and
4914         TAB_BACKWARD focus the right widgets in RTL mode
4915
4916         * gtk/gtktoolbutton.c (gtk_tool_button_new): Change to take
4917         "label" and "icon" parameters
4918
4919         * gtk/gtktoolbutton.[ch]: remove icon_set property.
4920
4921 2003-07-01  Matthias Clasen  <maclas@gmx.de>
4922
4923         * gtk/gtkspinbutton.c (gtk_spin_button_set_digits): Improve docs.
4924         (116364, Morten Welinder) 
4925
4926         * tests/testgtk.c: Use GtkFontButton and GtkColorButton to bring up the
4927         corresponding dialogs.
4928
4929         * gtk/Makefile.am (gtk_public_h_sources): Add gtkfontbutton.h,
4930         gtkcolorbutton.h.  
4931         (gtk_c_sources): Add gtkfontbutton.c, gtkcolorbutton.c. 
4932
4933         * gtk/gtkfontbutton.[hc]: New files containing a font picker widget. 
4934
4935         * gtk/gtkcolorbutton.[hc]: New files containing a color picker widget. 
4936
4937         * gtk/gtk.h: Include gtkexpander.h, gtkfontbutton.h, gtkcolorbutton.h.
4938
4939         * gtk/gtkexpander.c: Small additions to the docs. 
4940
4941 2003-07-01  Tor Lillqvist  <tml@iki.fi>
4942
4943         * gdk/win32/gdkwindow-win32.c (_gdk_windowing_window_get_pointer):
4944         WindowFromPoint() wants screen coordinates (#115422, Tim Evans).
4945
4946 2003-07-01  Matthias Clasen  <maclas@gmx.de>
4947
4948         * configure.in: Check for Xcursor.
4949         
4950         * gdk/x11/gdkcursor-x11.c:
4951         * gdk/gdkdisplay.h: 
4952         * gdk/gdkcursor.h: RGBA cursor support based on Xcursor. New functions:
4953         gdk_cursor_new_from_pixbuf(), gdk_display_supports_cursor_alpha(), 
4954         gdk_display_supports_cursor_color(),
4955         gdk_display_get_default_cursor_size() and 
4956         gdk_display_get_maximal_cursor_size().  (#69436)
4957
4958 2003-06-30  Tor Lillqvist  <tml@iki.fi>
4959
4960         * gdk/win32/gdkdnd-win32.c (find_window_enum_proc): New function,
4961         callback proc for EnumWindows().
4962         (gdk_drag_find_window_for_screen): Actually take the drag_window
4963         argument into account: Instead of using WindowFromPoint(), use
4964         EnumWindows(), to be able to skip the drag_window. (#116320, Tony
4965         M Brown, Herman Bloggs)
4966
4967         * gdk/win32/*.c: Replace gdk_drawable_ref()/unref() and
4968         gdk_window_ref()/unref() calls with g_object_ref()/unref().
4969         Consistently use %p format in debugging output of pointers and
4970         HANDLEs.
4971
4972 2003-06-30  Mark McLoughlin  <mark@skynet.ie>
4973
4974         * gtk/gtkexpander.h: kill some stray characters
4975         breaking the build.
4976
4977 2003-06-30  Mark McLoughlin  <mark@skynet.ie>
4978
4979         Add GtkExpander. See discussion in bug #60553.
4980
4981         * gtk/gtkexpander.[ch]: add.
4982         
4983         * gtk/Makefile.am: build gtk-expander.[ch].
4984         
4985         * docs/widget_geometry.txt: add info on the layout
4986         of GtkExpander.
4987
4988 Mon Jun 30 01:20:19 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4989
4990         * gtkradiotoolbutton.c:         new file
4991         * gtkradiotoolbutton.h:            "
4992         * gtktoggletoolbutton.c:           "
4993         * gtktoggletoolbutton.h:           "
4994         * gtktoolbutton.c:                 "
4995         * gtktoolbutton.h:                 "
4996         * gtktoolitem.c:                   "
4997         * gtktoolitem.h:                   "
4998         * gtktoolbar.c: many changes
4999         * gtktoolbar.h: many changes
5000         * gtkseparatortoolitem.c:       new file
5001         * gtkseparatortoolitem.h           "
5002
5003         New toolbar.
5004         
5005         - Items on a toolbar are now separate widgets, instances of a
5006           subclass of GtkToolItem.
5007
5008         - Items there aren't room for on the toolbar are unmapped, and an
5009           overflow menu with a proxy menu item is added instead.
5010
5011         - The toolbar is keyboard navigatable. Press TAB to focus the
5012           first item, then use arrow keys and Ctrl TAB to move around the
5013           toolbar. TAB moves focus out of the toolbar.
5014
5015         - Bascially all of the old toolbar API is deprecated in favor of
5016           new API in gtktoolbar.h, gtktoolitem.h, gtktoolbutton.h
5017
5018         - The toolbar is backwards compatible with the old toolbar.
5019
5020 2003-06-29  Matthias Clasen  <maclas@gmx.de>
5021
5022         * gtk/gtkwidget.c (gtk_widget_class_init): Remove a duplicate parameter
5023         from docs, some more formatting fixes. 
5024
5025 2003-06-28  Tor Lillqvist  <tml@iki.fi>
5026
5027         Fix for #111028, thanks to J. Ali Harlow, who writes:
5028         I found that the GdkPixmap->GdkImage reference really isn't
5029         important. It's only really there to have somewhere convenient to
5030         store the location of the pixel data in the pixmap and as an easy
5031         way of accessing the dimensions of that data. I have therefore put
5032         together a fix which removes this reference entirely which seems
5033         to solve the problem.
5034
5035         * gdk/win32/gdkpixmap-win32.h (struct _GdkPixmapImplWin32):
5036         Instead of a pointer to a GdkImage, keep a pointer to the pixels
5037         directly.
5038
5039         * gdk/win32/gdkimage-win32.c (_gdk_win32_setup_pixmap_image): Remove.
5040         (_gdk_win32_new_image): New function, replacing the above. Creates
5041         a GdkImage without any associated GdkPixmap.
5042         (gdk_image_new_bitmap, _gdk_image_new_for_depth): Use it instead.
5043
5044         * gdk/win32/gdkprivate-win32.h: Remove from here, too.
5045
5046         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap)
5047         * gdk/win32/gdkdrawable-win32.c (blit_from_pixmap)
5048         * gdk/win32/gdkgc-win32.c (_gdk_win32_bitmap_to_hrgn)
5049         * gdk/win32/gdkmain-win32.c (_gdk_win32_drawable_description):
5050         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize,
5051         gdk_pixmap_new, gdk_bitmap_create_from_data, gdk_pixmap_foreign_new)
5052         Corresponding changes.
5053
5054 Thu Jun 26 21:41:16 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
5055
5056         * gtk/gtktreeviewcolumn.c
5057         (gtk_tree_view_column_cell_set_cell_data): only set "is_expander"
5058         and "is_expanded" if the new value is different fromt he old one.
5059
5060 Wed Jun 25 18:59:15 BST 2003  Tony Gale <gale@gtk.org>
5061
5062         * docs/faq/gtk-faq.sgml: Fix typos. Update
5063         thread example I missed yesterday.
5064
5065 2003-06-24  Matthias Clasen  <maclas@gmx.de>
5066
5067         * gtk/gtkspinbutton.c (gtk_spin_button_class_init): Add a blurb for
5068         shadow_type. 
5069
5070         * gtk/gtkwidget.c (gtk_widget_class_install_style_property_parser): 
5071         (gtk_widget_class_list_style_properties): Use same parameter names as in  
5072         header (to silence gtk-doc).
5073
5074         * gtk/gtkalignment.c (gtk_alignment_[gs]et_padding): Fix doc comments.
5075
5076 Tue Jun 24 20:00:45 BST 2003  Tony Gale <gale@gtk.org>
5077
5078         * docs/faq/gtk-faq.sgml: Thread support updates
5079         from Owen. Various suggestions from Steve Chaplin.
5080
5081 2003-03-24  Mohammad DAMT  <mdamt@bisnisweb.com>
5082
5083         * po/id.po: Updated Indonesian translation
5084
5085 2003-06-21  Tor Lillqvist  <tml@iki.fi>
5086
5087         * gdk/win32/gdkevents-win32.c (gdk_event_translate): When
5088         emulating X11's automatic grab on button down, pass owner_events
5089         as FALSE. According to the XLib spec, automatic grabs use True for
5090         owner_events when OwnerGrabButtonMask is selected, and I don't see
5091         the X11 backend doing that. (#82497, #91619, #92835, #107322, #110271)
5092         (find_window_for_pointer_event): Improve debugging output.
5093
5094 2003-06-17  Tor Lillqvist  <tml@iki.fi>
5095
5096         * gtk-zip.sh.in (DLLDIR): Look for DLLs also in the bin
5097         subdirectory, where libtool 1.5 installs them.
5098
5099         * README.win32: Point to FSF's binary Win32 distribution of
5100         gettext-runtime.
5101
5102 2003-06-17  Matthias Clasen  <maclas@gmx.de>
5103
5104         * acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New
5105         macros to check for XML catalog contents and path, borrowed from
5106         gtk-doc. 
5107         * configure.in: New option --enable-man to enable regeneration of
5108         man pages from Docbook, if the necessary tools are found.
5109
5110 2003-06-15  Matthias Clasen  <maclas@gmx.de>
5111
5112         * gtk/gtkcalendar.c (gtk_calendar_class_init): 
5113         * gtk/gtknotebook.c (gtk_notebook_class_init): 
5114         * gtk/gtkalignment.c (gtk_alignment_class_init): 
5115         * gtk/gtkpaned.c (gtk_paned_class_init): Document new properties
5116         as 2.4 additions.
5117
5118         * gtk/gtkwidget.c (gtk_widget_class_init): Move inline signal docs 
5119         to the proper place, immediately before the g_signal_new() call.
5120
5121         * gtk/gtktextiter.h: Make the flags-nature of GtkTextSearchFlags 
5122         more obvious.  (#115122, Jeff Franks)
5123
5124 2003-06-12  Anders Carlsson  <andersca@codefactory.se>
5125
5126         * gtk/gtkwidget.c: (event_window_is_still_viewable):
5127         Special case pixmaps. (#114880)
5128         
5129 2003-06-12  Matthias Clasen  <maclas@gmx.de>
5130
5131         * gtk/gtkwidget.c: Document child-notify and drag-data-received
5132         signals. Owen, we need to figure out where the best place for
5133         these comments in the source is. I currently put them in front of
5134         the signals enum.
5135
5136 2003-06-11  Matthias Clasen  <maclas@gmx.de>
5137
5138         * gtk/gtkdnd.c (gtk_drag_check_threshold): s/threshhold/threshold/.
5139
5140 Thu Jan 12 01:01:19 2003  Kristian Rietveld  <kris@gtk.org>
5141
5142         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
5143         silly typo fix. s/seperator/separator/. This gets rid of the
5144         assert spam when using TreeView.
5145
5146 Tue Jun 10 11:23:48 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
5147
5148         * modules/input/gtkimcontextxim.c (xim_instantiate_callback): New
5149         function for XIM instantiate callback.
5150         * modules/input/gtkimcontextxim.c (xim_info_try_im): New function
5151         where call to XOpenIM() or XRegisterIMInstantiateCallback() is
5152         actually made.
5153         * modules/input/gtkimcontextxim.c (xim_destroy_callback): New function
5154         for XIM's destroy callback.
5155         * modules/input/gtkimcontextxim.c (get_im): add a check if info->im 
5156         is set or not - if it's not set, call xim_info_try_im() to try to
5157         initiaize it.
5158         * modules/input/gtkimcontextxim.c (reinitialize_ic): reset
5159         filter_key_release flag of the context.
5160         * modules/input/gtkimcontextxim.c (get_ic_real): removed
5161         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic): move
5162         code from the removed get_ic_real().
5163
5164         For XIM instantiation, destruction and re-instantiation. With
5165         this, Gtk+ apps will be able to connect or reconnect to the XIM,
5166         when it starts after the apps, or when the XIM gets lost and recover.
5167         (#113099, #107782).
5168
5169 Mon Jun 10 01:12:31 2003  Kristian Rietveld  <kris@gtk.org>
5170
5171         Merged from stable.
5172
5173         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_get_size):
5174         check if width is !null, not *width. Doh.
5175
5176 Tue Jun 10 01:09:33 2003  Kristian Rietveld  <kris@gtk.org>
5177
5178         Merged from stable.
5179
5180         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
5181         Remove the weird dx logic, get all cell_area and background_area
5182         calculations right. Not sure what was up with it before. (Fixes
5183         #110989, testcase from Vasco Alexandre da Silva Costa).
5184
5185 Tue Jun 10 00:58:23 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
5186
5187         * tests/testgtk.c: Make it compile with C89 compilers
5188
5189 2003-06-10  Matthias Clasen  <maclas@gmx.de>
5190
5191         * gtk/gtktextview.c (gtk_text_view_class_init): Install boolean
5192         property "overwrite".
5193         (gtk_text_view_[gs]et_property): Handle "overwrite".
5194         * gtk/gtktextview.[hc] (gtk_text_view_[gs]et_overwrite): Getter
5195         and setter for "overwrite" property.  (#110241, Jeroen Zwartepoorte)
5196
5197 2003-06-09  Matthias Clasen  <maclas@gmx.de>
5198
5199         * gtk/gtkpaned.c (gtk_paned_class_init): Install boolean child
5200         properties "resize" and "shrink".
5201         (gtk_paned_[gs]et_child_property): Implementations of 
5202         GtkContainer::[gs]et_child_property.  
5203         * tests/testgtk.c (toggle_resize, toggle_shrink): Use the new
5204         paned child properties instead of remove/add hacks.  (#114667, 
5205         Soeren Sandmann) 
5206
5207 Mon Jun  9 16:18:11 2003  Owen Taylor  <otaylor@redhat.com>
5208
5209         * gtk/gtknotebook.c (gtk_notebook_button_press): Back
5210         out event->window test - it wasn't needed because
5211         of the call to get_widget_coordinates().
5212
5213         * gtk/gtknotebook.c (gtk_notebook_button_press): Remove
5214         call to gtk_widget_grab_focus() when not clicking on
5215         any tabs. (Real fix for #114534)
5216
5217 Sun Jun  8 22:03:09 2003  Owen Taylor  <otaylor@redhat.com>
5218
5219         * tests/testdnd.c: Use application/x-rootwindow-drop for
5220         root window drops. (#108670, Alex Larsson)
5221
5222         * gdk/x11/gdkdnd-x11.c (gdk_drag_motion) gtk/gtkdnd.c (gtk_drag_drop): 
5223         Accept either application/x-rootwin-drop (what GTK+ has always used)
5224         or application/x-rootwindow-drop (what the XDND standard specifies).
5225
5226 Fri Jun  6 11:07:33 2003  Owen Taylor  <otaylor@redhat.com>
5227
5228         * gtk/gtkwidget.c (event_window_still_viewable): 
5229         Before delivering an event to a widget, check that
5230         (if relevant), the event's window is still viewable.
5231         (#105642, Dennis Björklund)
5232
5233         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): 
5234         NULL out private->parent, since after destruction
5235         it might not be valid any more.
5236
5237         * gdk/gdkwindow.c (gdk_window_is_viewable): Fix some
5238         accesses before g_return_val_if_fail(). Treat 
5239         DESTROYED windows as unmapped.
5240
5241 Thu Jun  5 09:28:03 2003  Owen Taylor  <otaylor@redhat.com>
5242
5243         * gtk/gtkentry.c: Recompute unconditionally in
5244         gtk_entry_style_set, and in a new gtk_label_screen_changed().
5245         Protect the guts of recompute_idle_func() with
5246         gtk_widget_has_screen(). (#114040, Morten Welinder) 
5247         Fix FALSE/0 confusion.
5248         
5249 Sun Jun  8 18:27:14 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
5250
5251         * gdk/gdkpixbuf-drawable.c (G8fromRGB565): swap G and B.
5252         Fixes (#114669)
5253
5254 Sun Jun  8 11:27:29 2003  Owen Taylor  <otaylor@redhat.com>
5255
5256         * gtk/gtkviewport.c (viewport_set_adjustment): Fix bug with 
5257         set_adjustment (viewport, NULL);
5258
5259 2003-06-07  Matthias Clasen  <maclas@gmx.de>
5260
5261         * gtk/gtkiconfactory.c (get_default_icons): 
5262         * gtk/stock-icons/stock_{undo,redo,undelete,revert}_rtl_{16,24}.png:
5263         * gtk/stock-icons/Makefile.am: Add rtl variants of undo, redo,
5264         undelete and revert.  (#96633)
5265         
5266 Fri Jun  6 16:25:44 2003  Owen Taylor  <otaylor@redhat.com>
5267
5268         * gtk/gtkviewport.c: Many fixes, along with extensive cleanups and 
5269         refactoring of code to reduce duplication; fixes include:
5270
5271         - gtk_viewport_realize(): Position the window correct from adjustment 
5272         values. (#110737, Michael Natterer)
5273
5274         - Remove some division-by-zero checks in places where there is no 
5275         longer division. (#110737)
5276
5277         - gtk_viewport_class_init: Make the hadjustment/vadjustment properties 
5278         G_PARAM_CONSTRUCT, so that there will always be adjustments, even 
5279         if gtk_viewport_new isn't used (#101135, Thomas Leonard).
5280
5281         - Switch over to encapsulated lazy-creation for hadjustment/
5282         vadjustment; even with the CONSTRUCT property, we need this after
5283         destroy.
5284
5285         - When updating the adjustment, immediate set their values to
5286         match the the current range of the viewport, and update the 
5287         viewport position to match the value of the new adjustments. 
5288         (Part of #1165)
5289
5290 2003-06-06  Tor Lillqvist  <tml@iki.fi>
5291
5292         * gdk/win32/gdkprivate-win32.h: Fix typo.
5293
5294         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Set
5295         graphics_exposures and subwindow_mode, too, even if they aren't
5296         currently used.
5297
5298 Fri Jun  6 23:38:23 2003  Kristian Rietveld  <kris@gtk.org>
5299
5300         Merged from stable.
5301
5302         * gtk/gtktreeview.c (do_expand_collapse),
5303         (expand_collapse_timeout), (cancel_arrow_animation): made
5304         expand_collapse_timeout a wrapper with locks around     
5305         do_expand_collapse, made cancel_arrow_animation use
5306         do_expand_collapse. Fixes threadlock. (Fixes #111286, patch from
5307         Peter Bloomfield).
5308
5309 Fri Jun  6 11:05:45 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
5310
5311         * modules/input/gtkimcontextxim.h (struct _GtkIMContextXIM):
5312         * modules/input/gtkimcontextxim.c (preedit_start_callback,
5313         preedit_draw_callback, preedit_done_callback): Add a 'finalizing' flag 
5314         to keep preedit-[start,changed,end] signals from being called during
5315         finalization (#111861).
5316
5317 2003-06-05  Noah Levitt  <nlevitt@columbia.edu>
5318
5319         * gtk/gtknotebook.c (gtk_notebook_button_press): Ignore button
5320         presses that are not on the tab (#114534).
5321
5322 Thu Jun  5 20:35:40 2003  Owen Taylor  <otaylor@redhat.com>
5323
5324         * demos/Makefile.am: Conditionalize dependencies for
5325         gdk-pixbuf-csource on cross-compilation (#112391, J. Ali Harlowe). 
5326         Buildtest-inline-pixbufs.h in srcdir. Don't try to build 
5327         test-inline-pixbufs.h if we don't have libpng.
5328
5329         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): 
5330         Add a dependency on gdk-pixbuf.loaders when not 
5331         cross-compiling, remove the dependency on gdk-pixbuf-csource
5332         when not cross compiling.
5333
5334 Thu Jun  5 20:12:51 2003  Owen Taylor  <otaylor@redhat.com>
5335
5336         * gtk/gtkwindow.c (gtk_window_get_default_size): Handle
5337         gtk_window_get_geometry_info() returning NULL.
5338         (#107311, John Finlay)
5339
5340 Thu Jun  5 19:24:33 2003  Owen Taylor  <otaylor@redhat.com>
5341
5342         * gtk/gtktoolbar.c (gtk_toolbar_expose): Subtract off
5343         twice the border width from the width/height, not
5344         1x the border width. (#106336, Rodney Dawes)
5345
5346 Thu Jun  5 15:33:38 2003  Owen Taylor  <otaylor@redhat.com>
5347  
5348         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
5349         If at the end of the buffer, move to the end iter -
5350         parallels behavior of move_iter_to_previous_line.
5351         (#81960, Padraig O'Briain)
5352  
5353 Thu Jun  5 16:12:54 2003  Owen Taylor  <otaylor@redhat.com>
5354
5355         #80023, Yao Zhang, TOKUNAGA Hiroyuki
5356
5357         * gtk/gtktextlayout.c (gtk_text_layout_get_cursor_locations):
5358         Account for the preedit cursor offset if the iter passed
5359         in is at the same place as the insertion cursor.
5360
5361         * gtk/gtktextview.c (gtk_text_view_get_cursor_location):
5362         Encapsulate getting the insertion cursor location.
5363
5364         * gtk/gtktextview.c (gtk_text_view_update_im_spot_location):
5365         Pass the real y/height to the IM context. Take 
5366         text_view->x/yoffset into account.
5367
5368 Thu Jun  5 16:52:54 2003  Owen Taylor  <otaylor@redhat.com>
5369
5370         * gtk/gtktextview.[ch]: Never scroll on focus in
5371         (#81893, Patch from Paolo Maggi)
5372
5373         * gtk/gtktextview.c (gtk_text_view_scroll_[h]pages): 
5374         Scroll to the current cursor location before handling
5375         the action, in case the user just tabbed in
5376         and the cursor is offscreen.
5377
5378 Thu Jun  5 17:20:40 2003  Owen Taylor  <otaylor@redhat.com>
5379          
5380          #107883, Gustavo Giráldez
5381
5382         * gtk/gtktextlayout.c (gtk_text_layout_emit_changed):
5383         Split out the case where we know we changed, and 
5384         already dealt with our cached line being invalidated
5385         from external calls to gtk_text_layout_changed.
5386
5387         * gtk/gtktextlayout.c (gtk_text_layout_changed):
5388         Check if the invalidate yrange intersects our
5389         cached line, and clear it if necessary.
5390
5391 2003-06-05  Tor Lillqvist  <tml@iki.fi>
5392
5393         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle global
5394         filters.
5395
5396 2003-06-05  Matthias Clasen  <maclas@gmx.de>
5397
5398         * gtk/gtktextview.c: Fix for #84668, reported by Torbjrn Andersson:
5399         (gtk_text_view_grab_notify): 
5400         (gtk_text_view_state_changed): Implement these
5401         to unobscure cursor when grab shadowed or insensitised.
5402         (gtk_text_view_unobscure_mouse_cursor): New function to undo the
5403         effect of gtk_text_view_obscure_mouse_cursor(). Code lifted from
5404         gtk_text_view_motion_event().
5405         (gtk_text_view_motion_event): Use gtk_text_view_obscure_mouse_cursor().
5406
5407         * gtk/gtktextview.c (select_all): New keybinding signal for
5408         (un)selecting the whole buffer. Bound to C-a/C-\.  (see #107889)
5409
5410         * gtk/gtkcalendar.c (calendar_timer): 
5411         (stop_spinning): Replace deprecated gtk_timeout_* functions by
5412         their GLib counterparts.  (#114429)
5413
5414         * gtk/gtktreestore.c (gtk_tree_store_new): 
5415         * gtk/gtkliststore.c (gtk_list_store_new): Document restriction on 
5416         types.
5417
5418 Wed Jun  4 19:42:17 2003  Owen Taylor  <otaylor@redhat.com>
5419
5420         * gdk/gdkpango.c (gdk_draw_layout_line_with_colors):
5421         When drawing underlines, join up adjacent runs
5422         where possible, so we don't get changes in 
5423         shaper/font/etc. breaking underlines. (#103662,
5424         Kang Jeong-Hee)
5425
5426 Wed Jun  4 19:22:58 2003  Jonathan Blandford  <jrb@redhat.com>
5427
5428         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_level_find_insert):
5429         Slightly modified patch from Owen Taylor <otaylor@redhat.com> to
5430         improve the speed of inserting rows into an already sorted list,
5431         #109292
5432
5433 Wed Jun  4 19:24:28 2003  Owen Taylor  <otaylor@redhat.com>
5434
5435         * gdk/x11/gdkgc-x11.c gdk/x11/gdkprivate-x11.h: Keep
5436         track of when we have a clip mask set for the GC,
5437         and when we unset it, or switch to a clip region,
5438         immediately call XSetClipMask (..., None) to avoid
5439         Xlib caching stale data. (#111806)
5440
5441         * gtk/gtktextdisplay.c: Don't set a clip mask
5442         when drawing alpha pixmaps; it isn't necessary any more.
5443         (#111806)
5444
5445 Wed Jun  4 18:27:44 2003  Owen Taylor  <otaylor@redhat.com>
5446
5447         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator): 
5448         gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): 
5449         Use GTK_WIDGET_IS_SENSITIVE(), not GTK_WIDGET_SENSITIVE
5450         (#92548, Tim Evans)
5451
5452         * gtk/gtkcheckmenuitem.c (gtk_real_check_menu_item_draw_indicator)
5453         gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator): If
5454         Use state_type = STATE_INSENSITIVE for insensitive menu items.
5455
5456 Wed Jun  4 21:25:35 2003  Kristian Rietveld  <kris@gtk.org>
5457
5458         Merged from stable.
5459
5460         * gtk/gtktreeview.c (gtk_tree_view_drag_begin): use a silent
5461         assert for get_info. (reported by Michael Natterer),
5462         (gtk_tree_view_expand_all_emission_helper),
5463         (gtk_tree_view_expand_all_helper): emit row_expanded for all
5464         expanded rows during an _expand_all operation. (Fixes #111280,
5465         reported by Benjamin Bayart).
5466
5467 Tue Jun  3 18:32:30 2003  Owen Taylor  <otaylor@redhat.com>
5468
5469         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Don't
5470         respond to pings on a root window; prevents infinite
5471         loops if we are selecting for SubstructureNotify on the
5472         root window. (#111945, Sergey V. Udaltsov)
5473
5474 Tue Jun  3 17:39:16 2003  Owen Taylor  <otaylor@redhat.com>
5475
5476         #71597, reported by Morten Welinder
5477
5478         * gdk/gdkpixbuf-drawable.c (rgb888amsb): Fix and simplify
5479         (Patch from Christian Petig)
5480
5481         * gdk/gdkpixbuf-drawable.c (rgb{555,565}{a,}{msb,lsb}):
5482         Major rewrite of 555 and 565 conversion routines:
5483
5484         - Move all the bit shifting into a small block of macros,
5485           eliminating much duplication of complicated arithmetic.
5486         - Get rid of 2-pixels at a time code, which was buggy,
5487           hard to maintain, caused unaligned accesses, and
5488           probably didn't actually perform any better.
5489         - Simplify cases where different data types were
5490           used for the little and big endian cases, use
5491           GUINT16_SWAP_LE_BE() where appropriate.
5492                 
5493 Tue Jun  3 15:05:47 2003  Owen Taylor  <otaylor@redhat.com>
5494
5495         * gdk/x11/gdkdrawable-x11.c (convert_to_format): Remove
5496         bad optimization for src_rowstride == dest_stride.
5497         (Didn't consider the case where we were copying only
5498         partial widths of a wider source buffer)
5499         (#113034, reported by Hans Petter Jansson)
5500
5501 2003-06-03  Michael Natterer  <mitch@gimp.org>
5502
5503         * gdk/x11/gdkinput-x11.c (_gdk_input_common_find_events):
5504         reenabled button_release events for xinput devices. (#113948)
5505
5506 2003-06-03  Christian Rose  <menthos@menthos.com>
5507
5508         * configure.in: Added "li" to ALL_LINGUAS.
5509
5510 Mon Jun  2 18:58:54 2003  Owen Taylor  <otaylor@redhat.com>
5511
5512         * gtk/gtknotebook.c (gtk_notebook_size_allocate): Don't
5513         map the event window if the notebook isn't mapped. (#113980,
5514         Richard Reich)
5515
5516 2003-06-02  Sven Neumann  <sven@gimp.org>
5517
5518         * gtk/gtkprogress.c (gtk_progress_changed): added a missing cast.
5519
5520         * gdk/gdkrgb.c (gdk_rgb_try_colormap): removed an unused variable.
5521
5522 2003-06-01  Matthias Clasen  <maclas@gmx.de>
5523
5524         * gtk/gtkalignment.c (gtk_alignment_[gs]et_padding): Add 
5525         Since: 2.4 to the docs.
5526
5527         * gtk/gtkwindow.c (gtk_window_parse_geometry): Add some hints and
5528         an example to the docs.  (#98427)
5529
5530 2003-05-30  Murray Cumming  <murrayc@usa.net>
5531
5532         * gtk/gtkalignment.[h|c]: Added 4-sided padding as properties with
5533         gtk_alignment_get_padding() and gtk_aligment_set_padding(). This
5534         uses the new private data system - see g_type_class_add_private() in
5535         gtk_alignment_class_init() and the use of GTK_ALIGNMENT_GET_PRIVATE().
5536
5537 2003-05-30  Matthias Clasen  <maclas@gmx.de>
5538         
5539         * gtk/gtknotebook.c: Changed guint to GtkNotebookArrow in the
5540         signature of gtk_notebook_draw_arrow() for Solaris builds to go
5541         through.  (#114043, Anand Subramanian)
5542
5543 Thu May 29 18:30:35 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
5544
5545         * modules/input/imipa.c: 
5546         use GETTEXT_PACKAGE to get a translation for "ipa"(#113850).
5547
5548 Thu May 29 18:08:01 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
5549
5550         * gtk/gtkimmodule.c (_gtk_im_module_list):
5551         use GETTEXT_PACKAGE to get a translation for "Default"(#113850).
5552
5553 Thu May 29 09:34:05 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
5554
5555         * gtk/gtkimmodule.c (_gtk_im_module_list): make "Default"
5556         label of default input method localizable.
5557         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems): 
5558         use translations of input method context names
5559         * modules/input/imam-et.c, modules/input/imcyrillic-translit.c,
5560           modules/input/iminuktitut.c, modules/input/imthai-broken.c,
5561           modules/input/imti-er.c, modules/input/imti-et.c
5562           modules/input/imviqr.c, modules/input/imxim.c
5563         use GETTEXT_PACKAGE instead of "gtk+" for domain name.
5564         (#113850).
5565
5566 Thu May 29 18:23:01 2003  Kristian Rietveld  <kris@gtk.org>
5567
5568         Merged from stable.
5569
5570         * gtk/gtktreeview.c (gtk_tree_view_button_press): put the focus
5571         grab separate, the user might clear the tree in the focus-in
5572         callback. (Fixes #113086, testcase from Felipe Heidrich).
5573
5574 Thu May 29 18:06:26 2003  Kristian Rietveld  <kris@gtk.org>
5575
5576         Merged from stable.
5577
5578         * gtk/gtktreeview.c (gtk_tree_model_set_model): reset a bunch
5579         of row reference when we unset the model. Also reset
5580         dy and top_row_dy. (Fixes #109289, patch from Owen Taylor).
5581
5582 Thu May 29 17:12:19 2003  Kristian Rietveld  <kris@gtk.org>
5583
5584         Merged from stable.
5585
5586         * gtk/gtktreeview.c (gtk_tree_view_set_cursor_on_cell): cancel
5587         the current editing, if it exists. (Fixes #108956, reported by
5588         Michael Natterer).
5589
5590 Thu May 29 17:06:09 2003  Kristian Rietveld  <kris@gtk.org>
5591
5592         Merged from stable.
5593
5594         * gtk/gtktreeview.c (check_selection_helper): new function,
5595         (gtk_tree_view_row_deleted): traverse the tree from the
5596         deleted node to see whether the selection changed, instead of
5597         just checking this node. (Fixes #107400, reported by 'Duncan').
5598
5599 Thu May 29 16:31:34 2003  Kristian Rietveld  <kris@gtk.org>
5600
5601         Merged from stable.
5602
5603         * gtk/gtktreeview.c (gtk_tree_view_maybe_begin_dragging_row),
5604         (gtk_tree_view_drag_begin): set the DnD icon in _drag_begin
5605         instead of _maybe_begin_dragging_row, so the icon can be
5606         overridden by apps. (Fixes #104374, patch from Daniel Elstner).
5607
5608 Thu May 29 16:14:04 2003  Kristian Rietveld  <kris@gtk.org>
5609
5610         Merged from stable.
5611
5612         * gtk/gtktreeview.c (gtk_tree_view_start_editing): correct
5613         cell_area x/width for the expander if needed. (Fixes #101748,
5614         reported by Dave Cook and Mariano Suarez-Alvarez).
5615
5616 Thu May 29 16:01:38 2003  Kristian Rietveld  <kris@gtk.org>
5617
5618         Merged from stable.
5619
5620         * gtk/gtktreeview.c (gtk_tree_view_real_set_cursor): check
5621         if tree/node are still the same after _internal_select_node.
5622         (Fixes #92256, reported by edscott).
5623
5624 Thu May 29 15:38:30 2003  Kristian Rietveld  <kris@gtk.org>
5625
5626         Fixes #75745, reported by Richard Hult. Merged from stable.
5627
5628         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): set/unset
5629         GTK_CELL_RENDERER_FOCUSED flag whether the current node is the
5630         cursor or not.
5631
5632         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
5633         if we are rendering a cursor row, and the cell the be
5634         processed has focus, then set the GTK_CELL_RENDERER_FOCUSED
5635         flag (else we unset it).
5636
5637 2003-05-27  Matthias Clasen  <maclas@gmx.de>
5638
5639         * gtk/gtkwindow-decorate.c: 
5640         * gtk/gtktreeprivate.h: 
5641         * gtk/gtkdnd.c: 
5642         * gdk/win32/gdkwindow-win32.h: 
5643         * gdk/linux-fb/gdkprivate-fb.h: 
5644         * gdk/linux-fb/gdkkeyboard-fb.c: Remove dubious bitfields of
5645         unspecified signedness.  (#112919, Morten Welinder)
5646
5647         * gtk/queryimmodules.c (escape_string): 
5648         * gtk/gtktextbtree.c (_gtk_text_btree_get_text): 
5649         * gtk/gtksettings.c (_gtk_settings_parse_convert): 
5650         * gtk/gtkrc.c (gtk_rc_parse_assignment): 
5651         * gtk/gtkinputdialog.c (gtk_input_dialog_set_key): 
5652         * gdk/x11/gdkdisplay-x11.c (escape_for_xmessage): Replace all 
5653         occurances of g_string_new ("") by g_string_new (NULL). (#106975,
5654         Morten Welinder) 
5655
5656 2003-05-27  Tor Lillqvist  <tml@iki.fi>
5657
5658         * gtk-zip.sh.in: Only include the Default and Emacs themes' gtkrc
5659         files. Include share/gtk-doc/{gdk-pixbuf,gdk,gtk}.
5660
5661         * gdk/Makefile.am: libgdk-win32-2.0.la depends on
5662         win32/libgdk-win32.la.
5663
5664         * gtk/gtk.def: Add gtk_tree_view_column_cell_get_position.
5665
5666 Sat May 24 22:19:13 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
5667
5668         * gtk/gtkscrollbar.c (gtk_scrollbar_class_init): Make the minimum
5669         scrollbar slider length 21 instead of 7.
5670
5671 2003-05-23  Matthias Clasen  <maclas@gmx.de>
5672
5673         * gtk/gtknotebook.c: Add support for up to four scroll
5674         arrows. Control their display by new style properties
5675         "has_forward_stepper", "has_backward_stepper",
5676         "has_secondary_forward_stepper" and
5677         has_secondary_backward_stepper". (#110540)
5678
5679         * gtk/gtknotebook.h (struct _GtkNotebook): Make in_child and
5680         click_child three bits wide, add
5681         has_{before,after}_{previous,next} fields.
5682
5683         * gtk/gtkcolorsel.c (gtk_color_selection_init): Update color on
5684         focus out of hex_entry.  (#112665)
5685         (hex_focus_out): New signal handler for focus out of hex entry.
5686
5687 Wed May 21 19:01:06 2003  Owen Taylor  <otaylor@redhat.com>
5688
5689         * gtk/gtkwidget.c (gtk_widget_realize): 
5690         g_return_if_fail() if
5691         GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget).
5692         (#107872, Christian Reis)
5693
5694 2003-05-22  Matthias Clasen  <maclas@gmx.de>
5695
5696         * gtk/gtkfilesel.c (gtk_file_selection_create_dir): 
5697         (gtk_file_selection_rename_file): Some keynav improvements for the
5698         "Rename File" and "Create Directory" subdialogs: Enter in entry
5699         activates default, default is "Create"/"Rename", Escape cancels
5700         dialog.  (#113110)
5701         (gtk_file_selection_set_filename): Add a hint about opening 
5702         directories.  (#113175)
5703
5704 2003-05-22  Matthias Clasen  <maclas@gmx.de>
5705
5706         * gdk/x11/gdkdrawable-x11.c (gdk_x11_drawable_update_xft_clip):
5707         Use XftDrawSetClipRectangles(), since we're inside HAVE_XFT2
5708         anyway.  (#113476)
5709
5710 Wed May 21 15:53:14 2003  Owen Taylor  <otaylor@redhat.com>
5711
5712         * gtk/gtkprogress.c (gtk_progress_set_format_string,
5713         gtk_progress_set_show_text): Always queue a resize ... 
5714         we rely on the size-allocate to do the update, plus a 
5715         different format can actually change our size requisition.
5716         (#111052, Vasco Alexandre da Silva Costa)
5717
5718         * gtk/gtkprogress.c (gtk_progress_changed): Track
5719         ::changed as well as ::value_changed, and queue a
5720         resize on ::changed when necessary.
5721
5722         * gtk/gtkprogress.c (gtk_progress_set_adjustment): 
5723         Call gtk_progress_changed() here to update or 
5724         queue a resize as necessary.
5725
5726 Wed May 21 14:06:13 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
5727
5728         * gtk/gtkimcontextsimple.c: added composing rules of
5729         Greek accented letters, patch by Vasilis Vasaitis (#107507)
5730
5731 Wed May 21 13:19:05 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
5732
5733         * gtk/gtkenums.h (enum GtkIMPreeditStyle, GtkIMStatusStyle): 
5734         * modules/input/gtkimcontextxim.c (preedit_style_change, status_style_change):
5735         gtk settings for XIMPreeditNone and XIMStatusNone. (#105909)
5736
5737 Wed May 21 12:10:25 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
5738
5739         * gtk/gtkimcontextsimple.c: 
5740         code that can check the compose table for ascending order,
5741         by Vasilis Vasaitis (#104862).
5742
5743 Wed May 21 12:52:01 2003  Owen Taylor  <otaylor@redhat.com>
5744
5745         * gtk/gtkkeyhash.[ch] (_gtk_key_hash_looku): We need 
5746         to pass the unmasked state to gdk_keymap_translate_keyboard_state() 
5747         to handle the case where a modifier not in the mask
5748         (like Num_Lock) changes the key value, so replace
5749         the masked state with a state/mask pair. (#106913,
5750         Olivier Ripoll)
5751
5752         * gtk/gtkwindow.c gtk/gtkbinding.c: Update to pass
5753         in state/mask pair to _gtk_key_hash_lookup()
5754
5755 Tue May 20 21:58:00 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
5756
5757         * modules/input/gtkimcontextxim.c (xim_info_display_closed):
5758         fix a memory leak, free input context list (#113259).
5759
5760 2003-05-21  Matthias Clasen  <maclas@gmx.de>
5761
5762         * configure.in (all_loaders): Add pcx.
5763
5764         * gtk/gtkcalendar.c: Make calendar controls spin.  (#112540)
5765
5766 Tue May 20 17:27:24 2003  Owen Taylor  <otaylor@redhat.com>
5767
5768         * gtk/gtkimmodule.c (gtk_im_module_init): Silently
5769         accept a missing gtk.immodules file, some people
5770         want to run without one. (#112406, patch from
5771         Arnaud Charlet)
5772
5773 Tue May 20 17:05:31 2003  Owen Taylor  <otaylor@redhat.com>
5774
5775         * gtk/gtkwindow.c (gtk_window_compute_hints): Fix 
5776         height/width confusion (#113370, Xan Lopez)
5777
5778 Tue May 20 15:48:45 2003  Owen Taylor  <otaylor@redhat.com>
5779
5780         * gdk/x11/gdkdnd-x11.c gdk/x11/gdkwindow-x11.c: Comprehensively
5781         zero all unused parts of client messages (Mainly Motif DND
5782         and EWMH). Also, fix a couple places where we were putting
5783         contents into Motif DND messages that didn't belong.
5784         (#113361, EWMH problem reported by Lubos Lunak)
5785
5786         * gtk/gtkselection.c (_gtk_selection_request): Handle the
5787         case where the property type for the multiple atoms is
5788         ATOM_PAIR by doing the conversions ourselve. This is
5789         needed for Xt inter-operation.
5790
5791 2003-05-19 Arafat Medini <lumina@silverpen.de>
5792
5793         * configure.in: Added ar to ALL_LINGUAS
5794
5795 2003-05-19  Matthias Clasen  <maclas@gmx.de>
5796
5797         * gtk/gtksettings.c (gtk_rc_property_parse_border,
5798         gtk_rc_property_parse_color, gtk_rc_property_parse_enum,
5799         gtk_rc_property_parse_flags, gtk_rc_property_parse_requisition):
5800         Add docs.
5801
5802         * gtk/gtkwidget.c (gtk_widget_class_install_style_property, 
5803         gtk_widget_class_install_style_property_parser): Add docs. 
5804
5805 2003-05-17  Matthias Clasen  <maclas@gmx.de>
5806
5807         * tests/prop-editor.c: Add navigation for object properties, so
5808         that you can easily edit the properties of the parent of a widget.
5809         (#113152)
5810
5811 Wed May 14 17:45:32 2003  Owen Taylor  <otaylor@redhat.com>
5812
5813         * gdk/gdkkeysyms.h gdk/gdkkeynames.c gdk/gdkkeyuni.c:
5814         Patch from Vasilis Vasaitis to fix Greek_IOTAdi[a]eresis 
5815         inconsistency and leave the old name as an aliass (#104873)
5816
5817 Wed May 14 16:40:09 2003  Owen Taylor  <otaylor@redhat.com>
5818
5819         * gtk/gtkframe.c (gtk_frame_set_label_widget): Patch
5820         from Charles Schmidt to add missing notify (#108305)
5821
5822 Wed May 14 16:00:51 2003  Owen Taylor  <otaylor@redhat.com>
5823  
5824         * gdk/x11/gdkgc-x11.c: Remove unecessary g_return_if_fail().
5825         (#105500, Morten Welinder.)
5826  
5827 Wed May 14 09:05:11 2003   Hidetoshi Tajima <hidetoshi.tajima@sun.com>
5828
5829         * modules/input/gtkimcontextxim.c (get_ic_real): use type of guint32
5830         instead of gumake for XNFilterEvents event mask(#110493).
5831
5832 2003-05-11  Anders Carlsson  <andersca@codefactory.se>
5833
5834         * gtk/gtkdnd.c (gtk_drag_source_unset_icon): Don't cast a gchar to
5835         a GObject. (#112762)
5836
5837 2003-05-08  Sven Neumann  <sven@gimp.org>
5838
5839         * configure.in: set the HAVE_X11R6 automake conditional to false
5840         if not compiling for X11.
5841
5842 2003-05-08  Matthias Clasen  <maclas@gmx.de>
5843
5844         * gtk/gtkcalendar.[ch] (gtk_calendar_set_display_options): 
5845         (gtk_calendar_get_display_options): New functions.
5846         (gtk_calendar_display_options): Depreate.  (#64567)
5847         (gtk_calendar_class_init): Add boolean properties for the display
5848         options.  (#50949)
5849
5850 Tue May  6 16:50:52 2003  Owen Taylor  <otaylor@redhat.com>
5851
5852         Patch from James Henstridge to update to automake-1.7
5853         (#109542)
5854  
5855         * autogen.sh: update to call newer tools.
5856  
5857         * configure.in: various updates, to use M4 macros to put
5858         variables that change each release at the top.
5859         Use AC_HELP_STRING to format help strings.
5860         Use AC_CONFIG_COMMANDS to generate gdkconfig.h.
5861  
5862         * Makefile.am: require Automake 1.7.  Remove gdk-2.0.pc and
5863         gtk+-2.0.pc on uninstall.  Pass --enable-gtk-doc to configure
5864         during distcheck.
5865  
5866         * docs/reference/*/Makefile.am: simplify to use the gtk-doc.make
5867         makefile fragment.
5868  
5869         * */Makefile.am: don't use STRIP_BEGIN/STRIP_END.
5870         Use BUILT_SOURCES where appropriate.
5871         Build generated files in builddir rather than srcdir.
5872         Fix uninstall and distclean targets to satisfy distcheck.
5873
5874         ===
5875
5876         * gdk/*/Makefile.am: Remove the hacks to get gdkenumtypes.h
5877         built first, since we are now using BUILT_SOURCES.
5878
5879         * gdk/Makefile.am: Remove an outdated comment about gdk_headers.
5880
5881         * demos/gtk-demo/Makefile.am: Fix srcdir != buildd problem
5882         with geninclude.pl.
5883
5884         * configure.in: Update versions to 2.3.0.
5885  
5886 2003-05-06  Tor Lillqvist  <tml@iki.fi>
5887
5888         Fix for #110165 (thanks to Arnaud Charlet):
5889         
5890         * gdk/win32/gdkevents-win32.c (build_keypress_event,
5891         build_keyrelease_event): For unshifted control char, use
5892         lowercase ASCII keyval.
5893         (gdk_event_translate): Similarily, when handling WM_SYSKEYDOWN and
5894         UP (i.e. Alt-something), if it's an unshifted ASCII letter, use
5895         lowercase keyval. Use build_key_event_state() here, too, instead
5896         of minor code duplication.
5897
5898 2003-05-06  Matthias Clasen  <maclas@gmx.de>
5899
5900         * tests/testmultidisplay.c: Don't include strings.h, it's not
5901         needed anymore.  (#112388)
5902
5903         * examples/menu/itemfactory.c: 
5904         * docs/tutorial/gtk-tut.sgml: Remove an unneeded include from the
5905         itemfactory example.
5906
5907 2003-05-05  Matthias Clasen  <maclas@gmx.de>
5908
5909         * gtk/gtkdnd.c (gtk_drag_source_set_icon_stock):  Actually set the
5910         icon type to the stock icon type.  (#111735, Dave Bordoley)
5911
5912 2003-05-05  Christian Rose  <menthos@menthos.com>
5913
5914         * configure.in: Added sr and sr@Latn to ALL_LINGUAS.
5915         Removed sp, it's replaced by sr@Latn.
5916
5917 Wed Apr 30 22:09:11 BST 2003  Tony Gale <gale@gtk.org>
5918
5919         * docs/faq/gtk-faq.sgml: GTK+ 2.x updates, mainly from
5920         Gonzalo Odiard
5921
5922 Mon Apr 28 17:54:39 2003  Jonathan Blandford  <jrb@redhat.com>
5923
5924         * gtk/gtktreeview.c (gtk_tree_view_destroy): destroy the search
5925         data iff the destroy func isn't NULL.
5926
5927 Thu Apr 24 19:12:05 2003  Owen Taylor  <otaylor@redhat.com>
5928
5929         * autogen.sh (have_libtool): Accept libtool-1.5. (#111480)
5930
5931 2003-04-23  Abel Cheung  <maddog@linux.org.hk>
5932
5933         * configure.in: Added "am" "mk" "ta" to ALL_LINGUAS.
5934
5935 Tue Apr 22 15:33:51 2003  Owen Taylor  <otaylor@redhat.com>
5936
5937         * gtk/gtkfilesel.c (open_new_dir): Fix capitalization
5938         of UTF-8. (#106419, Roozbeh Pournader)
5939
5940 Tue Apr 22 15:17:25 2003  Owen Taylor  <otaylor@redhat.com>
5941
5942         * configure.in: Only check for XFT2 if we found pango-xft
5943         (#105692, Jon Nall)
5944
5945 Tue Apr 22 15:12:19 2003  Owen Taylor  <otaylor@redhat.com>
5946
5947         * gtk/gtkwidget.c (gtk_widget_class_init): Fix PROP_HAS_FOCUS/
5948         PROP_IS_FOCUS confusion. (#111333, Jody Goldberg)
5949
5950 Tue Apr 22 19:43:01 BST 2003  Tony Gale <gale@gtk.org>
5951
5952         * docs/faq/gtk-faq.sgml: add note about version converage.
5953
5954 Mon Apr 21 19:02:16 2003  Owen Taylor  <otaylor@redhat.com>
5955
5956         * gtk/gtksocket.c (activate_key): Fix prototype for
5957         activate_key. (#108927, Jason D. Hildebrand)
5958
5959 Mon Apr 21 18:42:51 2003  Owen Taylor  <otaylor@redhat.com>
5960
5961         * demos/gtk-demo/Makefile.am demos/gtk-demo/geninclude.pl:
5962         Remove geninclude.pl from CVS and don't dist it either,
5963         it is generated. (#108970, Rich Kinder)
5964
5965 Mon Apr 21 18:35:48 2003  Owen Taylor  <otaylor@redhat.com>
5966
5967         * gtk/gtkobject.h: Remove a couple of obsolete comments,
5968         fix another comment. (#109737, Britton Kerin)
5969
5970 Mon Apr 21 18:29:03 2003  Owen Taylor  <otaylor@redhat.com>
5971
5972         * gtk/gtkiconfactory.c (gtk_icon_set_unref): Free
5973         the source list, not just it's contents (Patch
5974         from Charles Kerr, #108243)
5975
5976 Mon Apr 21 18:13:46 2003  Owen Taylor  <otaylor@redhat.com>
5977
5978         * gdk/x11/gdkdnd-x11.c (gdk_window_cache_filter): Patch
5979         from Alex Larsson fixing problem with restacking during
5980         DND. (#108671)
5981
5982 Mon Apr 21 15:07:29 2003  Owen Taylor  <otaylor@redhat.com>
5983
5984         * gdk/x11/gdkdisplay-x11.c (gdk_display_keyboard/pointer_ungrab):
5985         Calling XFlush() after ungrabbing, to avoid problems if
5986         the app subsequently blocks on a long-running operation.
5987         (#106520, reported by Rajkumar Siva)
5988
5989 Fri Apr 18 17:42:45 2003  Owen Taylor  <otaylor@redhat.com>
5990
5991         * gdk/x11/gdkwindow-x11.c (set_initial_hints): Add
5992         SKIP_TASKBAR/SKIP_PAGER to set of properties we
5993         might set on map. (#110019, problem reported
5994         by Loban Rahman)
5995
5996 Fri Apr 18 17:14:33 2003  Owen Taylor  <otaylor@redhat.com>
5997
5998         * gdk/gdkevents.c (gdk_event_copy): Fix for the
5999         case when gdk_event_copy() is called on a non-allocated
6000         event. (#109716, reported by Rich Burridge)
6001
6002 Fri Apr 18 16:57:44 2003  Owen Taylor  <otaylor@redhat.com>
6003
6004         * gdk/x11/gdkdrawable-x11.c (draw_with_images/pixmaps):
6005         Fix pointer arithmetic on 'void *'. (#108322)
6006
6007 Fri Apr 18 16:31:49 2003  Owen Taylor  <otaylor@redhat.com>
6008
6009         * configure.in gdk/x11/gdkdisplay-x11.c modules/input/Makefile.am:
6010         Check for XAddConnectionWatch()/X11R6, and if found, disable XIM and
6011         use of XAddConnectionWatch. Remove --enable-xim config option.
6012         Should fix building on X11R6 (#110523, Albert Chin)
6013
6014 Fri Apr 18 15:56:46 2003  Owen Taylor  <otaylor@redhat.com>
6015
6016         * gdk/x11/gdkdisplay-x11.[ch] gdk/x11/gdkdrawable-x11.[ch]:
6017         Patch from Morten Welinder to catch Sun servers with a 
6018         broken implementation of the RENDER extension. (#108309)
6019
6020 Fri Apr 18 15:30:38 2003  Owen Taylor  <otaylor@redhat.com>
6021
6022         * gdk/x11/gdkwindow-x11.c (set_text_property): Use
6023         gdk_free_compound_text(), not g_free(). (#107643,
6024         Michael Zucchi)
6025
6026 Fri Apr 18 15:11:50 2003  Owen Taylor  <otaylor@redhat.com>
6027
6028         * gdk/x11/gdkdisplay-x11.c (_gdk_display_x11_get_type)
6029         gdk/x11/gdkscreen-x11.c (_gdk_screen_x11_get_type): Fix
6030         wrong use of base_finalize. (#105126, Sven Neumann)
6031
6032 Fri Apr 18 15:06:00 2003  Owen Taylor  <otaylor@redhat.com>
6033
6034         * gdk/gdkwindow.c (gdk_window_constrain_size): Fix
6035         '/' vs. '*' problem in aspect ration computations. (#108237)
6036
6037 Fri Apr 18 14:15:09 2003  Owen Taylor  <otaylor@redhat.com>
6038
6039         * gdk/x11/gdkdisplay-x11.c (gdk_display_open): 
6040         * gdk/x11/gdkevents-x11.c (gdk_event_translate): You
6041         don't get a XkbMapNotify event if you get a XkbNewKeyboardNotify 
6042         event, so select for both. (#108406, Egmont Koblinger)
6043
6044 Thu Apr 17 09:57:44 2003  Jonathan Blandford  <jrb@gnome.org>
6045
6046         * gtk/gtktreeview.c (validate_visible_area): remove infinite loop
6047         caused by not clearing the scroll_to_path.
6048
6049 2003-04-16  Matthias Clasen  <maclas@gmx.de>
6050
6051         * gtk/gtkstyle.c: Doc additions and fixes.
6052
6053         * gtk/gtktreeviewcolumn.c
6054         (_gtk_tree_view_column_get_neighbor_sizes): Doc fixes.
6055
6056 2003-04-14  Michael Natterer  <mitch@gimp.org>
6057
6058         * gtk/gtkliststore.c (gtk_list_store_move): added checks to ensure
6059         that the iter is not reordered to its own position. Prevents model
6060         corruption for the case that the store contains only a single item
6061         (fixes bug #108387).
6062
6063         Unrelated:
6064
6065         * gtk/gtkliststore.c (gtk_list_store_insert): g_list_alloc() the
6066         new list element later so we don't leak it if we decide to return
6067         early.
6068
6069         * gtk/gtktreeselection.c (_gtk_tree_selection_internal_select_node):
6070         set selection->tree_view->priv->anchor to NULL after freeing it.
6071
6072 2003-04-13  Matthias Clasen  <maclas@gmx.de>
6073
6074         * gtk/gtktreeviewcolumn.c
6075         (gtk_tree_view_column_cell_get_position): Document. 
6076
6077         * gtk/gtktextbuffer.c (gtk_text_buffer_select_range): 
6078         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_[sg]et_expand): 
6079         * gtk/gtkbutton.c (gtk_button_[sg]et_focus_on_click): Document
6080         these as 2.4 additions.
6081
6082 2003-04-09  Matthias Clasen  <maclas@gmx.de>
6083
6084         * INSTALL.in: Fix the real thing.
6085
6086         * INSTALL: Typo fix.
6087
6088 Mon Apr  7 19:43:15 2003  Owen Taylor  <otaylor@redhat.com>
6089
6090         * gdk/x11/gdkdisplay-x11.c (gdk_x11_display_ungrab): Flush
6091         after ungrabbing the server.
6092  
6093         * gdk/x11/gdkimage-x11.c: Remove some no-longer-needed
6094         calls to XFlush().
6095
6096         * gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_at_pointer):
6097         Use gdk_x11_display_grab/ungrab.
6098
6099         * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Initialize
6100         use_xshm to TRUE so SHM gets used when present.
6101  
6102 2003-04-07  Matthias Clasen  <maclas@gmx.de>
6103
6104         * gtk/gtktextlayout.c (set_para_values): 
6105         * gtk/gtkenums.h (GtkWrapMode): Add GTK_WRAP_WORD_CHAR.  (#110086,
6106         David Brigada)
6107
6108         * gtk/gtkcelleditable.c, gtk/gtkfixed.c, gtk/gtktreemodel.c,
6109         gtk/gtktreeselection.c, gtk/gtktreeview.c: Fix numerous
6110         misspellings of possessive "its".  (#110027, Doug Quale)
6111
6112 2003-04-03  Matthias Clasen  <maclas@gmx.de>
6113
6114         * demos/gtk-demo/main.c (demo_find_file): Only use files from the
6115         current directory if it looks like the srcdir.  (#109357)
6116
6117 Wed Apr  2 23:02:26 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
6118
6119         * gtk/gtkbutton.[ch] (gtk_button_class_init): add property
6120         focus_on_click
6121
6122         * gtk/gtkwindow.c (gtk_window_focus): make arrow keyboard
6123         navigation not wrap around.
6124
6125 2003-04-02  Matthias Clasen  <maclas@gmx.de>
6126
6127         * gtk/gtkprogress.c (gtk_progress_get_percentage_from_value):
6128         Return 0 if lower == upper.  (#109155)
6129         (gtk_progress_get_current_percentage): Use
6130         gtk_progress_get_percentage_from_value().
6131
6132 2003-04-01  Matthias Clasen  <maclas@gmx.de>
6133
6134         * gtk/gtkimcontext.c (gtk_im_context_focus_in): Fix docs.
6135         (#109510, Noah Levitt)
6136
6137 Mon Mar 31 13:52:13 2003  Jonathan Blandford  <jrb@redhat.com>
6138
6139         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): null initialize reorder's
6140         members so Purify won't complain.
6141
6142         * gtk/gtkliststore.c (gtk_list_store_sort): ditto.
6143
6144 2003-03-31  Matthias Clasen  <maclas@gmx.de>
6145
6146         * gtk/gtkwindow.c: Add a new property, role, corresponding to 
6147         gtk_window_[gs]et_role().  (#93904)
6148
6149 Sun Mar 30 03:57:42 2003  Jonathan Blandford  <jrb@gnome.org>
6150
6151         * gtk/gtktreeselection.c (gtk_tree_selection_get_selected_rows):
6152         fix crash.  Patch from Markus Lausser <sgop@users.sourceforge.net>
6153
6154 2003-03-29  Matthias Clasen  <maclas@gmx.de>
6155
6156         * gtk/gtkoptionmenu.c (gtk_option_menu_remove_contents): Set state
6157         of labels back to normal before reparenting back.  (#102387)
6158
6159         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): Set
6160         a default window title to match the GtkFontSelectionDialog behavior.
6161  
6162         (gtk_color_selection_dialog_new): Don't call
6163         gtk_window_set_title() if title is NULL.  (bug #101975, Daniel Elstner)
6164
6165 2003-03-29  Matthias Clasen  <maclas@gmx.de>
6166
6167         Fix for bug #78499:
6168         
6169         * gtk/gtkentry.h (struct _GtkEntry): Add flags select_words and
6170         select_lines. 
6171
6172         * gtk/gtkentry.c (gtk_entry_button_press): Set select_words and
6173         select_lines on double/triple click.
6174
6175         * gtk/gtkentry.c (gtk_entry_motion_notify): Implement
6176         select-by-words and select-by-lines behaviour.
6177
6178         Fixes for bug #56248:
6179         
6180         * gtk/gtknotebook.c (stop_scrolling): New function to remove the
6181         timer and queue a redraw. 
6182         (gtk_notebook_grab_notify): 
6183         (gtk_notebook_state_changed): New functions to call stop_scrolling() 
6184         if necessary.   
6185         (gtk_notebook_button_release): Use stop_scrolling().
6186         (gtk_notebook_draw_arrow): Fix drawing of insensitive arrows.
6187
6188         * gtk/gtkrange.c (stop_scrolling): New function to remove the
6189         grab, remove the timer and queue a redraw.
6190         (gtk_range_grab_notify): 
6191         (gtk_range_state_changed): New functions to call stop_scrolling() 
6192         if necessary.   
6193         (gtk_range_button_release): Use stop_scrolling().
6194
6195         * gtk/gtkspinbutton.c (gtk_spin_button_grab_notify): 
6196         (gtk_spin_button_state_changed): Redraw after stop_spinning.
6197         (gtk_spin_button_stop_spinning): Reset click_child to correct the
6198         drawing of the arrows.
6199         (gtk_spin_button_button_release): Use a local copy of click_child,
6200         since stop_spinning() resets it.
6201
6202         * gtk/gtknotebook.c (gtk_notebook_class_init): Add C-A-PgUp and
6203         C-A-PgDown as alternatives to the A-less variants. (This slipped
6204         in accidentally some time ago).  (#97860)
6205
6206 2003-03-26  Sven Neumann  <sven@gimp.org>
6207
6208         * gtk/gtktreeview.c: rewrote the function that does node and arrow
6209         prelighting, queue all redraws from here (Fixes bug #108792).
6210
6211 2003-03-20  Richard Kinder <r_kinder@yahoo.com>
6212
6213         * demos/testpixbuf.c (update_timeout): set error to NULL, not FALSE.
6214         Fixes bug #108778.
6215
6216 2003-03-20  Guntupalli Karunakar <karunakar@freedomink.org>
6217
6218         * configure.in: Added "ml" in ALL_LINGUAS
6219
6220 Sat Mar 15 18:49:27 2003  Manish Singh  <yosh@gimp.org>
6221
6222         * gtk/gtkradiomenuitem.h: use GTK_DISABLE_DEPRECATED instead of
6223         G_DISABLE_DEPRECATED.
6224
6225 2003-03-14  Tor Lillqvist  <tml@iki.fi>
6226
6227         * gdk/win32/gdkevents-win32.c: Use the signed GET_X_LPARAM() and
6228         GET_Y_LPARAM() to extract x and y coordinates from an LPARAM or
6229         DWORD, and not the unsigned HIWORD() and LOWORD(). Systems with
6230         multiple monitors can have negative coordinates on some of the
6231         monitors. (partial fix for #99496, Arnaud Charlet)
6232
6233 2003-03-15  Matthias Clasen  <maclas@gmx.de>
6234
6235         * gtk/gtktextview.c: Add a "buffer" property.  (#108353) 
6236
6237 2003-03-13  Sven Neumann  <sven@gimp.org>
6238
6239         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_set_property):
6240         removed redundant calls to g_object_notify().
6241         (gtk_cell_renderer_pixbuf_get_size): removed redundant casts, see
6242         bug #108236.
6243
6244         * gtk/gtktextiter.c (_gtk_text_iter_get_segment_char)
6245         (_gtk_text_iter_get_segment_byte): return 0, not NULL (these
6246         functions return an integer value).
6247
6248 2003-03-13  Tor Lillqvist  <tml@iki.fi>
6249
6250         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On
6251         WM_MOUSEMOVE, the test whether we have actually moved (and thus
6252         shouldn't generate an GDK event) moved after the call to
6253         propagate() and translate_mouse_coords(). Otherwise we were
6254         testing wrong values. (#108115, Allin Cottrell)
6255         (gdk_event_translate): On WM_?BUTTONUP, set current_{x,y} the same
6256         way as in WM_?BUTTONDOWN and WM_MOUSEMOVE.
6257
6258         * gdk/win32/gdkevents-win32.c (gdk_pointer_grab): if a grab cursor
6259         is used, must copy the HCURSOR with CopyCursor(), as it is OK to
6260         destroy the GdkCursor after calling gdk_pointer_grab(). Set the
6261         cursor right away with SetCursor(), as we won't get any
6262         WM_SETCURSOR messages while the mouse is captured. 
6263         (gdk_display_pointer_ungrab): Correspondingly, destroy the copy
6264         with DestroyCursor() when no longer used. (#108114, Allin Cottrell)
6265
6266         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On
6267         WM_SYSCHAR, return FALSE from the window procedure to prevent the
6268         DefWindowProc from being called. Otherwise Windows would beep,
6269         thinking you are tring to access a (nonexistent) menu when you
6270         press Alt-something. Don't do this for Alt-Space,
6271         though. (#107454, Martyn Russell)
6272
6273         * gdk/win32/gdkcursor-win32.c: Minor spacing and debug print fixes.
6274
6275 Tue Mar 11 12:01:07 2003  Jonathan Blandford  <jrb@gnome.org>
6276
6277         * gtk/gtktreeview.c (gtk_tree_view_class_init): Ctrl/Shift
6278         [left/right] expands/collapses the tree, #108092
6279
6280 2003-03-09  Tor Lillqvist  <tml@iki.fi>
6281
6282         * gdk/win32/gdkdrawable-win32.c (draw_segments): Don't try to
6283         compensate for LineTo() not drawing the end pixel. It causes more
6284         harm than benefits, see bug #81895.
6285
6286 2003-03-08  Matthias Clasen  <maclas@gmx.de>
6287
6288         Bug #107664 continued:
6289
6290         * gdk/x11/gdkinputprivate.h: 
6291         * gdk/x11/gdkinput-none.c (_gdk_input_window_none_event): Remove. 
6292         (_gdk_input_other_event): Return gboolean.
6293         * gdk/x11/gdkinput-xfree.c (_gdk_input_window_none_event): Remove. 
6294         (_gdk_input_other_event): Return gboolean.
6295         * gdk/x11/gdkinput-x11.c (_gdk_input_common_other_event): Return gboolean.
6296
6297         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Make return_val
6298         gboolean, remove pointless call to _gdk_input_window_none_event.
6299
6300         * gdk/win32/gdkinput-win32.[hc] (_gdk_input_other_event): Return gboolean.
6301         (_gdk_input_window_none_event): Remove.
6302
6303         * gtk/gtktextiter.c (_gtk_text_iter_get_indexable_segment): 
6304         (_gtk_text_iter_get_any_segment): 
6305         (_gtk_text_iter_get_segment_byte): 
6306         (_gtk_text_iter_get_segment_char): 
6307         (_gtk_text_iter_get_text_line): 
6308         (_gtk_text_iter_get_btree): Fix 0/NULL confusion.
6309         * gdk/x11/gdkdnd-x11.c (motif_target_table_check): Return gint.
6310         * gdk/win32/gdkfont-win32.c (gdk_font_equal): 
6311         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_get_deskrelative_origin): 
6312         (gdk_window_get_origin): 
6313         * gdk/linux-fb/gdkcolor-fb.c (gdk_colors_alloc): Fix 0/FALSE confusion. 
6314
6315 2003-03-06  Matthias Clasen  <maclas@gmx.de>
6316
6317         * gdk/gdkrgb.c (gdk_rgb_try_colormap): Return gboolean, not gint.
6318         (#107664, Morten Welinder)
6319
6320         * gdk/x11/gdkwindow-x11.c (gdk_window_get_deskrelative_origin): 
6321         * gdk/x11/gdkfont-x11.c (gdk_font_equal): 
6322         * gdk/x11/gdkdnd-x11.c (gdk_drag_get_protocol_for_display): 
6323         Fix TRUE/1 and FALSE/0 confusion.  (#107664, Morten Welinder)
6324
6325         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): 
6326         * gtk/gtkeditable.c (gtk_editable_get_chars): 
6327         * gtk/gtkctree.c (gtk_ctree_find_node_ptr): 
6328         * demos/gtk-demo/main.c (demo_find_file): Fix NULL/FALSE confusion
6329         (#107648, Morten Welinder)Fix NULL/FALSE confusion
6330         (#107648, Morten Welinder)
6331
6332 2003-03-04  Matthias Clasen  <maclas@gmx.de>
6333
6334         * gtk/gtkobject.h: Add deprecation guards for gtk_object_new ().
6335
6336 Sun Mar  2 23:35:57 2003  Jonathan Blandford  <jrb@gnome.org>
6337
6338         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_get_size):
6339         handle rtl code.  Thanks to Matthias Clasen for an initial patch
6340         to handle the RTL code.
6341
6342         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_get_size): ditto
6343
6344         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_get_size): ditto
6345
6346         * gtk/gtktreeview.c: (invalidate_column),
6347         (invalidate_last_column),
6348         (gtk_tree_view_get_real_requested_width_from_column),
6349         (gtk_tree_view_size_allocate_columns),
6350         (gtk_tree_view_size_allocate), (gtk_tree_view_button_press),
6351         (gtk_tree_view_button_release_drag_column),
6352         (gtk_tree_view_update_current_reorder),
6353         (gtk_tree_view_motion_drag_column), (gtk_tree_view_bin_expose),
6354         (gtk_tree_view_key_press), (gtk_tree_view_header_focus),
6355         (gtk_tree_view_get_background_xrange),
6356         (gtk_tree_view_get_arrow_xrange),
6357         (gtk_tree_view_is_expander_column),
6358         (gtk_tree_view_set_column_drag_info),
6359         (gtk_tree_view_move_cursor_left_right):
6360         Add RTL support.
6361
6362         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): add an
6363         expand flag.
6364
6365         * gtk/gtktreeviewcolumn.c:
6366         (gtk_tree_view_column_class_init),
6367         (gtk_tree_view_column_set_property),
6368         (gtk_tree_view_column_get_property),
6369         (gtk_tree_view_column_set_expand),
6370         (gtk_tree_view_column_get_expand),
6371         (gtk_tree_view_column_cell_process_action):
6372         Add support for expand flag.  Thanks to Kristian Rietveld for an
6373         initial patch for this.
6374
6375 Fri Feb 28 02:06:17 2003  Jonathan Blandford  <jrb@gnome.org>
6376
6377
6378 2003-03-02  Tor Lillqvist  <tml@iki.fi>
6379
6380         * gdk/gdk.def
6381         * gtk/gtk.def: Add a bunch of missing entries. Noticed by Cedric
6382         Gustin.
6383
6384 2003-03-01  Matthias Clasen  <maclas@gmx.de>
6385
6386         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_vadjustment): 
6387         (gtk_scrolled_window_set_hadjustment): Replace uses of
6388         gtk_object_new by g_object_new.
6389
6390 Thu Feb 27 17:44:24 2003  Manish Singh  <yosh@gimp.org>
6391
6392         * demos/gtk-demo/main.c
6393         * demos/gtk-demo/tree_store.c
6394         * gdk/x11/gdkscreen-x11.c
6395         * gtk/gtkcellrenderertoggle.c
6396         * gtk/gtkcolorsel.c
6397         * gtk/gtkdnd.c
6398         * gtk/gtkeditable.c
6399         * gtk/gtkentry.c
6400         * gtk/gtkmenu.c
6401         * gtk/gtkmenubar.c
6402         * gtk/gtkmenuitem.c
6403         * gtk/gtkmenushell.c
6404         * gtk/gtkrc.c
6405         * gtk/gtksettings.c
6406         * gtk/gtkstyle.c
6407         * gtk/gtktextbuffer.c
6408         * gtk/gtktextview.c
6409         * gtk/gtktreeviewcolumn.c
6410         * tests/testgtk.c
6411         * tests/testtext.c
6412         * tests/testtreeedit.c
6413         * tests/testtreefocus.c
6414         * tests/testtreeview.c: remove unnecessary G_OBJECT() casts.
6415
6416 Tue Feb 25 21:55:17 2003  Jonathan Blandford  <jrb@redhat.com>
6417
6418         * gtk/gtkoptionmenu.c (gtk_option_menu_position): account for RTL
6419         code.
6420
6421 2003-02-24  Sven Neumann  <sven@gimp.org>
6422
6423         * gtk/gtkmain.c (gtk_get_default_language): fixed documentation.
6424
6425 2003-02-21  Tomas Ogren  <stric@ing.umu.se>
6426
6427         * docs/reference/gtk/tmpl/gtktreemodel.sgml: Fix typos in an example
6428
6429 2003-02-20  Matthias Clasen  <maclas@gmx.de>
6430
6431         * gtk/gtktextbtree.c (_gtk_text_line_previous_could_contain_tag): 
6432         Check if line_ancestor_parent is NULL.  (#102711, Manuel Clos)
6433
6434         * gtk/gtktextview.c (gtk_text_view_scroll_to_iter): 
6435         (gtk_text_view_update_adjustments): Make sure cursor stays visible
6436         during horizontal scrolling.  (#75270)
6437
6438 2003-02-19  Matthias Clasen  <maclas@gmx.de>
6439
6440         * tests/testdnd.c: Replace gtk_timeout_* by their GLib
6441         counterparts. (#106532)
6442
6443         * gdk/gdkkeys.c (gdk_keymap_class_init): Associate the
6444         keys_changed virtual function with the keys_changed signal.
6445         (#106512, Jeff Franks)
6446
6447 2003-02-15  Larry Ewing  <lewing@ximian.com>
6448
6449         * gdk/gdkevents.c (gdk_event_copy): copy the event axes as well.
6450
6451 2003-02-17  Mohammad DAMT  <mdamt@bisnisweb.com>
6452
6453         * po/id.po: Added Indonesian translation
6454         * configure.in: Added "id" to ALL_LINGUAS
6455
6456 2003-02-14  Matthias Clasen  <maclas@gmx.de>
6457
6458         * gtk/gtktextview.c (popup_targets_received): Remove bogus casts.
6459
6460 2003-02-12  Christian Rose  <menthos@menthos.com>
6461
6462         * configure.in: Added "yi" to ALL_LINGUAS.
6463
6464 2003-02-12  Matthias Clasen  <maclas@gmx.de>
6465
6466         Fix for #82734 and #78216:
6467         
6468         * gtk/gtktextview.c (delete_cb): 
6469         (select_all_cb): New callbacks for context menu items.
6470         (popup_targets_received): Add "Delete" and "Select All" to context
6471         menu, mnemonics and title caps for all items.
6472
6473         * gtk/gtkentry.c (gtk_entry_delete_cb): New callback for "Delete"
6474         context menu item.
6475         (popup_targets_received): Add "Delete" to context menu, mnemonics
6476         and title caps for all items.
6477
6478 2003-02-09  Tor Lillqvist  <tml@iki.fi>
6479
6480         * gtk/gtkfilesel.c (win32_gtk_add_drives_to_dir_list): Use
6481         GetDriveType() to recognize removable drives (in order to avoid
6482         hanging if trying to access an empty floppy drive), instead of
6483         hardcoding A: and B: (#105654).
6484
6485 2003-02-09  Matthias Clasen  <maclas@gmx.de>
6486
6487         * gtk/gtkwidget.c (gtk_widget_set_name): Add note about periods in 
6488         names.  (#57680)
6489
6490 2003-02-09  Christian Rose  <menthos@menthos.com>
6491
6492         * configure.in: Removed "en@IPA.po" from ALL_LINGUAS.
6493
6494 Fri Feb  7 04:49:46 2003  Tim Janik  <timj@gtk.org>
6495
6496         * gtk/gtkobject.c: remove quark_user_data usage in
6497         gtk_object_{g|s}et_user_data(). fixes get_user_data()
6498         returning NULL for user_data set through property interface.
6499
6500         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): don't put out
6501         warnings if a pixbuf couldn't be retrieved, since (a) this doesn't
6502         need to be a programming error (in case of loaded data), (b) it breaks
6503         with 2.0 behaviour where extra magic could be used to create empty
6504         images. don't attempt to retrieve pixbufs from NULL extra_data.
6505
6506 2003-02-06  Matthias Clasen  <maclas@gmx.de>
6507
6508         * gdk/x11/gdkvisual-x11.c (gdk_visual_get_best_with_depth): Return
6509         a GdkVisual *, not a GdkVisual **.  (#105243)
6510
6511         * gtk/gtkclist.c: 
6512         * gtk/gtkctree.c: 
6513         * gtk/gtkcontainer.c: 
6514         * gtk/gtkdnd.c: 
6515         * gtk/gtkentry.c: 
6516         * gtk/gtklist.c:
6517         * gtk/gtkmenu.c:
6518         * gtk/gtkmenuitem.c:
6519         * gtk/gtknotebook.c:
6520         * gtk/gtkselection.c:
6521         * gtk/gtkspinbutton.c:
6522         * gtk/gtktext.c:
6523         * gtk/gtktextview.c:
6524         * gtk/gtktooltips.c:
6525         * gtk/gtktreeview.c:
6526         * gtk/gtkwindow.c: Replace uses of gtk_timeout_* and gtk_idle_* by
6527         their non-deprecated GLib counterparts.
6528         
6529         * gtk/gtkmain.h: Fully deprecate gtk_timeout_* and gtk_idle_*.
6530         
6531 Sun Feb  2 16:45:57 GMT 2003  Tony Gale <gale@gtk.org>
6532
6533         * docs/tutorial/gtk-tut.sgml: cleanups from
6534         Sebastian Rittau (#104832)
6535
6536 2003-02-01  Tor Lillqvist  <tml@iki.fi>
6537
6538         Merge from stable:
6539
6540         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_foreign_new_for_display,
6541         gdk_pixmap_lookup, gdk_pixmap_lookup_for_display): Implement.
6542         (#104108, Naofumi Yasufuku)
6543
6544         * gdk/gdk.def: Export the above. Export
6545         gdk_screen_get_system_visual, noticed by Ed Woods.
6546
6547 Fri Jan 31 17:45:22 2003  Manish Singh  <yosh@gimp.org>
6548
6549         * demos/pixbuf-demo.c
6550         * demos/testpixbuf.c
6551         * demos/gtk-demo/pixbufs.c: remove deprecated gtk_timeout_* usage.
6552
6553 Fri Jan 31 17:33:00 2003  Manish Singh  <yosh@gimp.org>
6554                                                                                 
6555         * gtk/gtknotebook.c (gtk_notebook_remove_tab_label): set_state
6556         on the tab_label before unparenting it, in case the unparent
6557         drops the refcount to 0.
6558
6559 2003-02-01  Matthias Clasen  <maclas@gmx.de>
6560
6561         * gtk/gtkiconfactory.h: Use GDK_MULTIHEAD_SAFE like all other gtk
6562         headers. Sorry about gtk_selection_clear, Yosh.
6563
6564 Thu Jan 30 17:16:05 2003  Manish Singh  <yosh@gimp.org>
6565
6566         * gtk/gtkselection.h: declare gtk_selection_clear in GTK_COMPILATION
6567         too, for gtkwidget.c. Remember people, when introducing new
6568         deprecations, make sure internal code isn't using it, or if so,
6569         reorganize appropriately like I've done in other places.
6570
6571         * tests/testtext.c: don't use deprecated gtk_timeout_* stuff.
6572
6573 2003-01-31  Matthias Clasen  <maclas@gmx.de>
6574
6575         * gtk/gtkselection.h: 
6576         * gtk/gtkselection.c (gtk_selection_clear): Deprecate.  (#85683)
6577
6578         * gdk/gdkpixbuf.h: 
6579         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): 
6580         (gdk_pixbuf_render_to_drawable_alpha): Deprecate.  (#60582)
6581
6582         * gtk/gtkcolorsel.h:
6583         * gtk/gtkcolorsel.c (gtk_color_selection_set_change_palette_hook):
6584         Deprecate.  (#98167)
6585
6586         * gtk/gtkpaned.h: Deprecate gtk_paned_computed_position(). (#97077)
6587
6588         * gtk/gtkmain.h: Deprecate the gtk_timeout_*, gtk_idle_*
6589         and gtk_input_* functions.  (#71596)
6590         
6591         * gtk/gtkentry.c (gtk_entry_move_cursor): 
6592         * gtk/gtklabel.c (gtk_label_move_cursor): Handle
6593         GTK_MOVEMENT_HORIZONTAL_PAGES in switches.
6594
6595         * gdk/gdk.h: Deprecate gdk_wcstombs() and gdk_mbstowcs().  (#79803)
6596
6597         * gtk/gtkitemfactory.h: 
6598         * gtk/gtkitemfactory.c (gtk_item_factory_add_foreign): Deprecate. 
6599         (#69244)
6600
6601 Thu Jan 30 23:48:30 2003  Kristian Rietveld  <kris@gtk.org>
6602
6603         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_count_special_cell):
6604         only count the special cell if it is also visible,
6605         (_gtk_tree_view_column_get_neighbor_sizes): only take the width into
6606         account from visible cells,
6607         (gtk_tree_view_column_cell_get_position): likewise, (Reported and
6608         testcase provided by Vasco Alexandre da Silva Costa, via IRC,
6609         tracking bug was #104563).
6610         
6611 Thu Jan 30 23:46:15 2003  Kristian Rietveld  <kris@gtk.org>
6612
6613         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
6614         subtract expander space and focus line space from the extra space
6615         we are about the allocate. (Fixes #104635).
6616
6617 Thu Jan 30 23:42:03 2003  Kristian Rietveld  <kris@gtk.org>
6618
6619         * gtk/gtkstyle.c (apply_affine_on_point): fix rouding error
6620         (Fixes #96242, patch from Soeren Sandmann).
6621
6622 Thu Jan 30 16:54:29 2003  Owen Taylor  <otaylor@redhat.com>
6623
6624         * gtk/gtknotebook.c: Patch from Soeren Sandmann
6625         to update the states of the tab label child
6626         widgets to match the state of the tabs. 
6627         (#93389, Reported by Tommi Komulainen)
6628
6629 Thu Jan 30 16:30:54 2003  Owen Taylor  <otaylor@redhat.com>
6630
6631         * Makefile.am (EXTRA_DIST): Remove gtk+.spec.in from
6632         EXTRA_DIST, and from dist rules. (#102231)
6633
6634 2003-01-30  Daniel Elstner  <daniel.elstner@gmx.net>
6635
6636         * gtk/gtktoolbar.c (set_child_packing_and_visibility): New helper
6637         function that sets the icon's and label's packing options and
6638         visibility based on toolbar->style.
6639
6640         (gtk_toolbar_internal_insert_element):
6641         (gtk_real_toolbar_style_changed): Make use of
6642         set_child_packing_and_visibility() to clean up the code and get
6643         the packing right for icon-only/text-only toolbars. (#104679)
6644
6645         (get_first_child): Remove, and use gtk_bin_get_child() instead.
6646
6647 2003-01-30  Matthias Clasen  <maclas@gmx.de>
6648
6649         * gtk/gtktextview.c: Replace PAGE_HORIZONTALLY_HACK_VALUE by
6650         GTK_MOVEMENT_HORIZONTAL_PAGES.  (#68947)
6651
6652         * gtk/gtkenums.h: Add GTK_MOVEMENT_HORIZONTAL_PAGES to GtkMovementStep.
6653         
6654 Thu Jan 30 16:01:29 2003  Owen Taylor  <otaylor@redhat.com>
6655
6656         * gdk/gdkrgb.c (gdk_rgb_try_colormap): Remove the 
6657         attempt-to-allocate then free code. To handle multiple
6658         people allocating colors at the same time, we need
6659         to just go ahead and try. (#102213, Shivram U)
6660         
6661 2003-01-30  Daniel Elstner  <daniel.elstner@gmx.net>
6662
6663         * gtk/gtkcolorsel.c (palette_paint): Explicitely draw an opaque
6664         rectangle using the background color rather than relying on
6665         gdk_window_clear_area(), so that the palette works properly with
6666         pixmap themes. (#101732)
6667
6668         * demos/gtk-demo/colorsel.c: Install an "expose_event" handler
6669         to fill the drawing area in the background color.
6670
6671 Wed Jan 29 14:11:21 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
6672
6673         * modules/input/gtkimcontextxim.c (choose_better_style): fix a memory
6674         initialization error for selecting input style (#103549).
6675
6676 Wed Jan 29 17:02:41 2003  Owen Taylor  <otaylor@redhat.com>
6677
6678         * gdk/gdkkeyuni.c (get_decimal_char): Make the 
6679         translation of GDK_KP_Decimal dependent on LC_NUMERIC.
6680         (#101225)
6681
6682 Wed Jan 29 15:43:56 2003  Owen Taylor  <otaylor@redhat.com>
6683
6684         * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current):
6685         Make up from the menu bar go to the end of the submenu.
6686         (#96114, Ian Peters.)
6687
6688         * gtk/gtkmenuitem.c (gtk_menu_item_mnemonic_activate): 
6689         Only do the select-but-not-activate stuff if the
6690         menu is already active. Otherwise, just activate.
6691         (#101690, Arvind Samptur)
6692
6693 Tue Jan 28 15:18:24 2003  Owen Taylor  <otaylor@redhat.com>
6694
6695         * autogen.sh (have_automake): Fix version in complaint
6696         message about automake. (#104366, Rich Burridge)
6697
6698 Mon Jan 27 16:38:13 2003  Owen Taylor  <otaylor@redhat.com>
6699
6700         * configure.in: Remove SOEXT stuff; it doesn't work portably.
6701
6702 Mon Jan 27 22:45:15 2003  Kristian Rietveld  <kris@gtk.org>
6703
6704         * gtk/gtktreestore.c (gtk_tree_store_move): don't handle b if
6705         we appended/prepended, send the rows_reordered signal to the 
6706         correct level ... (Reported by Matthew Tuck).
6707
6708 Mon Jan 27 22:43:11 2003  Kristian Rietveld  <kris@gtk.org>
6709
6710         * gtk/gtktreestore.c (gtk_tree_store_sort_helper): don't just bail
6711         out if the level only has one item, recurse over the child if there
6712         is one. (Fixes #100458, reported by Gaël Le Mignot).
6713
6714 Mon Jan 27 22:41:26 2003  Kristian Rietveld  <kris@gtk.org>
6715
6716         * gtk/gtktreeview.c (gtk_tree_view_set_model),
6717         (gtk_tree_view_search_equal_func): make TreeView search handle
6718         all types which are transformable by GValue. (Fixes #99803, reported
6719         by Muktha Narayan).
6720
6721 Mon Jan 27 22:39:25 2003  Kristian Rietveld  <kris@gtk.org>
6722
6723         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_sort_column_id):
6724         *really* handle unsetting the ID. Slightly modified patch from
6725         Soeren Sandmann. Fixes #87556, reported by Jarek Dukat.
6726
6727 Mon Jan 27 22:33:43 2003  Kristian Rietveld  <kris@gtk.org>
6728
6729         Fixes the total GtkTreeSortable mess, and #83195, reported by
6730         Jarek Dukat
6731
6732         * gtk/gtktreestore.c (gtk_tree_store_get_sort_column_id),
6733         (gtk_tree_store_set_sort_column_id), (gtk_tree_store_set_sort_func),
6734         (gtk_tree_store_set_default_sort_func): use the constant
6735         GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID instead of -1, make functions
6736         work as advertised by the documentation.
6737
6738         * gtk/gtklistore.c (gtk_list_store_get_sort_column_id),
6739         (gtk_list_store_set_sort_column_id), (gtk_list_store_set_sort_func),
6740         (gtk_list_store_set_default_sort_func): likewise.
6741
6742         * gtk/gtktreemodelsort.c (gtk_tree_model_set_sort_column_id),
6743         (gtk_tree_model_set_sort_func),
6744         (gtk_tree_model_sort_set_default_sort_func): make functions work
6745         as advertised by the documentation.
6746
6747 Mon Jan 27 22:31:56 2003  Kristian Rietveld  <kris@gtk.org>
6748
6749         * gtk/gtktreeview.c (gtk_tree_view_button_press): update focus_column
6750         before we decide if we edit. (fixes #100973, reported by Dave Cook).
6751
6752 Mon Jan 27 22:29:30 2003  Kristian Rietveld  <kris@gtk.org>
6753
6754         Bug report and test case from Paolo Maggi via IRC.
6755
6756         * gtk/gtkliststore.c (gtk_list_store_swap): update tail if needed,
6757         (gtk_list_store_move): update tail if needed.
6758
6759 Mon Jan 27 16:19:59 2003  Owen Taylor  <otaylor@redhat.com>
6760
6761         * gtk/gtksocket.c (gtk_socket_filter_func): event->any.window
6762         might be NULL. Use gtk_widget_get_display (widget) 
6763         (#102860, Thomas Leonard)
6764
6765 Mon Jan 27 15:58:31 2003  Owen Taylor  <otaylor@redhat.com>
6766
6767         * configure.in: Fix --without-modules/--disable-modules
6768         confusion that was causing --disable-modules not to work.
6769         (#102865, Akira Tagoh)
6770
6771         * configure.in: Fix problem with plain --with-xinput
6772         (#104266, Akira Tagoh)
6773
6774 2003-01-24  Sebastian Rittau  <srittau@jroger.in-berlin.de>
6775
6776         * docs/tutorial/gtk-tut.sgml: Fix a few typos, introduced by my last
6777         patch.
6778
6779 Fri Jan 24 17:06:41 GMT 2003  Tony Gale <gale@gtk.org>
6780
6781         * docs/tutorial/gtk-tut.sgml: Remove duplicate copy of tictactoe.h
6782
6783 Thu Jan 23 21:15:29 GMT 2003  Tony Gale <gale@gtk.org>
6784
6785         * docs/faq/gtk-faq.sgml: Learn to spell Library
6786
6787 Thu Jan 23 20:56:56 GMT 2003  Tony Gale <gale@gtk.org>
6788         * Sebastian Rittau  <srittau@jroger.in-berlin.de>:
6789
6790            docs/tutorial/gtk-tut.sgml: Adopted chapter 21.3 "Creating a
6791            Composite widget" to modern standards. (I.e. use gobject instead of
6792            glib, derive from GtkTable instead of GtkVBox.) Bugzilla #103869.
6793
6794         * docs/tutorial/gtk-tut.sgml, examples/tictactoe: Fixup tic-tac-toe
6795         code in Appendix C to reflect above changes.
6796
6797         * examples/rangewidgets/rangewidgets.c: From Roger Leigh
6798         auto resize on page size change
6799
6800 2003-01-23  Daniel Elstner  <daniel.elstner@gmx.net>
6801
6802         * gtk/gtktoolbar.c (gtk_toolbar_hide_all): Override hide_all
6803         in addition to show_all in order to keep them symmetric. (#102201)
6804
6805 Wed Jan 22 14:18:46 2003  Manish Singh  <yosh@gimp.org>
6806
6807         * gdk/x11/gdkevents-x11.c (translate_key_event): add a "return" at
6808         the end of the function, so there is a statement following the "out"
6809         label in all cases (fixes #101961)
6810
6811 2003-01-22  Christian Rose  <menthos@menthos.com>
6812
6813         * configure.in: Added "mn" to ALL_LINGUAS.
6814
6815 Wed Jan 15 17:02:18 2003  Owen Taylor  <otaylor@redhat.com>
6816  
6817         * gtk/gtktextlayout.c (gtk_text_layout_validate_yrange):
6818         Fix off-by-one error on the backward iteration loop,
6819         that was causing the wrong range to be redrawn.
6820         (at least part of #72734)
6821         
6822 2003-01-21  Matthias Clasen  <maclas@gmx.de>
6823
6824         * gtk/gtktextview.c (gtk_text_view_size_allocate): Adjust the
6825         vadjustment value after changing its bounds.  (fixes #101963 and 
6826         #73562)
6827
6828         * gtk/gtkcolorsel.c (hex_changed): Fix clamping to [0,1] to avoid 
6829         unnecessary roundtrip failures.  (#93500)
6830
6831 2003-01-19  Tor Lillqvist  <tml@iki.fi>
6832
6833         Merge from stable:
6834         
6835         Fix for #103614 and some other problems with GtkFileSelection on
6836         Windows:
6837                 
6838         * gtk/fnmatch.c (get_char): Need to use g_unichar_tolower(), not
6839         g_ascii_tolower(). Windows file names are case-insensitive for all
6840         Unicode letters.
6841
6842         * gtk/gtkfilesel.c: Instead of checking for G_OS_WIN32 or
6843         G_WITH_CYGWIN, check G_PLATFORM_WIN32. Move inclusion of gtkintl.h
6844         earlier, as it includes config.h unconditionally, and gtkprivate.h
6845         redefines GTK_LOCALEDIR.
6846         (struct _CompletionDirSent): Ifdef out the fields not used on
6847         Windows.
6848         (compare_utf8_filenames, compare_sys_filenames): Need different
6849         comparison implementation for UTF-8 file names and system locale
6850         file names on Win32. Cannot simply use g_ascii_strcasecmp(), but
6851         need to casefold all Unicode letters.
6852         (cmpl_completion_matches, open_dir, correct_parent): Ifdef out
6853         variables not used on Win32 to avoid warnings about unused
6854         variables.
6855         (open_ref_dir): Use g_path_skip_root() to skip past potential
6856         drive letter in front of the leading (back)slash.
6857         (open_new_dir): Ifdef out use of CompletionDirSent fields not
6858         there on Win32.
6859         (correct_parent): Bypass inode check also on Cygwin.
6860
6861         Fix bug noticed by Alex Shaduri: Tooltips and other
6862         GDK_WINDOW_TEMP windows were activated. This looked very odd, and
6863         was a regression from earlier versions.
6864         
6865         * gdk/win32/gdkwindow-win32.c (show_window_internal): Fine-tune
6866         behaviour. Don't ever activate GDK_WINDOW_TEMP windows.
6867         (gdk_window_move, gdk_window_resize): Add debug logging.
6868
6869         * gdk/win32/gdkevents-win32.c (gdk_event_translate): When we get a
6870         WM_SIZE message for a non-visible (withdrawn) window, don't clear
6871         the GDK_WINDOW_STATE_WITHDRAWN bit. The window is still withdrawn
6872         even if its size changes.
6873
6874 2003-01-16  Matthias Clasen  <maclas@gmx.de>
6875
6876         * gtk/gtktextlayout.c (gtk_text_layout_get_cursor_locations): Typo fixes.
6877         (totally_invisible_line): Fix an incorrect optimization which
6878         caused invisible paragraphs to be occasionally misrendered.
6879
6880 Wed Jan 15 15:55:47 2003  Owen Taylor  <otaylor@redhat.com>
6881
6882         * gtk/gtksettings.c: Set the double click speed from
6883         XSETTINGS when creating a new GtkSettings object
6884         as well as when getting a notify. (#103601, reported
6885         by Louis Garcia)
6886
6887 Wed Jan 15 14:56:09 2003  Owen Taylor  <otaylor@redhat.com>
6888  
6889         * gtk/gtknotebook.c (gtk_notebook_size_allocate): 
6890         Show/hide the notebook event window as necessary,
6891         we weren't previously keeping the visibility updated
6892         properly.  (#103599)
6893  
6894 2003-01-15  Matthias Clasen  <maclas@gmx.de>
6895
6896         * examples/menu/itemfactory.c: 
6897         * docs/tutorial/gtk-tut.sgml: Add a <StockItem> to the itemfactory
6898         example.  (#103211)
6899
6900 2002-12-29  Murray Cumming  <murrayc@usa.net>
6901
6902         Fixes #102168.
6903
6904         * gtk/gtkliststore.c, gtktreednd.c, gtktreestore.c:
6905         Actually implement the GtkTreeDragSource::row_draggable virtual 
6906         function in GtkListStore and GtkTreeStore instead of just checking 
6907         whether it's implemented at all. This means that DnD isn't broken by
6908         gtkmm's virtual function wrappers. The alternative would be to
6909         hard-code the TRUE return value into gtkmm's wrappers, but that's 
6910         part of GTK+'s implementation, not it's API.
6911
6912 Tue Jan 14 23:42:29 2003  Kristian Rietveld  <kris@gtk.org>
6913
6914         * gtk/gtktreeview.c: fix compiler warning.
6915
6916 Tue Jan 14 23:29:00 2003  Kristian Rietveld  <kris@gtk.org>
6917
6918         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
6919         make sure exposed pixbufs are clipped to the exposed area before
6920         drawing, which is a slight speedup. (#102379, patch from Soeren
6921         Sandmann).
6922
6923 Tue Jan 14 23:26:41 2003  Kristian Rietveld  <kris@gtk.org>
6924
6925         * gtk/gtktreeview.c (validate_visible_area): silly typo fix,
6926         only free scroll_to_path when the complete tree has been validated.
6927         This makes sure that we scrolled to the correct path.
6928
6929 Tue Jan 14 23:25:32 2003  Kristian Rietveld  <kris@gtk.org>
6930
6931         * gtk/gtktreeview.c (gtk_tree_view_style_set): update the
6932         background of widget->window and bin->window. (Fixes #96650, reported
6933         by Dave Camp).
6934
6935 Tue Jan 14 23:24:02 2003  Kristian Rietveld  <kris@gtk.org>
6936
6937         * gtk/gtktreeview.c (gtk_tree_view_clamp_node_visible): process
6938         updates before scrolling, avoiding a "selection streak". (Fixes
6939         #101235, patch from Soeren Sandmann).
6940
6941 Tue Jan 14 23:22:13 2003  Kristian Rietveld  <kris@gtk.org>
6942
6943         * gtk/gtktreeview.c (validate_visible_area): actually put values
6944         in the requisition using gtk_widget_size_request. (Fixes #100172,
6945         reported by Kjartan Maraas).
6946
6947 Tue Jan 14 23:19:45 2003  Kristian Rietveld  <kris@gtk.org>
6948
6949         * gtk/gtktreeview.c (gtk_tree_view_rows_reordered): cancel the
6950         arrow animation timeout before we actually reorder the rbtree. If
6951         we don't do this we can get stuck arrows,
6952         (cancel_arrow_animation): new function. (Fixes #93629, part 2,
6953         reported and testcase provided by Hans Petter Jansson).
6954
6955 Tue Jan 14 23:18:21 2003  Kristian Rietveld  <kris@gtk.org>
6956
6957         * gtk/gtktreeselection.c (gtk_tree_selection_real_modify_range):
6958         anchor_path should be start_path, not end_path. (Fixes #102618,
6959         patch from Carlos Garnacho Parro).
6960
6961 Tue Jan 14 23:16:15 2003  Kristian Rietveld  <kris@gtk.org>
6962
6963         * gtk/gtkliststore.c (gtk_list_store_move): also update the tail,
6964         only correct new_pos if we don't move to the head/tail.
6965
6966 Tue Jan 14 23:11:55 2003  Kristian Rietveld  <kris@gtk.org>
6967
6968         * gtk/gtktreestore.c (gtk_tree_store_swap): take the path from
6969         the parent_iter if depth >= 1, so we send the reordered signal to
6970         the correct level, remove debugging printfs which I forgot the remove
6971         earlier (2.2.0 shipped with this, oops). (Fixes #103198, Reported and
6972         testcase provided by Matthew Tuck).
6973
6974 Tue Jan 14 20:58:44 2003  Kristian Rietveld  <kris@gtk.org>
6975
6976         * gtk/gtktreeview.c (invalite_last_column): split out actual column
6977         invalidation into invalidate_column(),
6978         (gtk_tree_view_size_allocate_columns): invalidate column if the
6979         new width is larger than the old width.
6980         (fixes #102890, reported by Alex Duggan).
6981
6982 2003-01-14  Matthias Clasen  <maclas@gmx.de>
6983
6984         * gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Skip
6985         invisible chars for GTK_MOVEMENT_LOGICAL_POSITIONS and
6986         GTK_MOVEMENT_WORDS.
6987
6988         * gtk/gtktextiter.c,
6989         gtk/gtktextiter.h: Add some variant movement functions which
6990         skip invisible chars, and do some cleanups.
6991
6992 2003-01-12  Tor Lillqvist  <tml@iki.fi>
6993
6994         Merge from stable:
6995                 
6996         * gtk/gtkmain.c: Move inclusion of config.h and gtkintl.h earlier,
6997         as gtkprivate.h redefines GTK_LOCALEDIR on Win32, for run-time
6998         lookup.
6999
7000         * gdk/Makefile.am (libgdk_win32_2_0_la_DEPENDENCIES): Depend on
7001         gdk.def.
7002
7003         * gdk/gdk.def
7004         * gtk/gtk.def: Add some missing entries. Thanks to Kenichi SUTO.
7005
7006         * gtk-zip.sh.in (DEVZIP): Add bin/{gtk-query-immodules-2.0,
7007         gtk-demo}.exe and share/gtk-2.0.
7008
7009         * gdk/win32/gdkwindow-win32.c (gdk_window_set_skip_taskbar_hint):
7010         Implement by setting or clearing the WS_EX_TOOLWINDOW extended
7011         window style.
7012         (gdk_window_set_type_hint): Add all cases to the switch (not all
7013         do anything, though). Handle GDK_WINDOW_TYPE_HINT_TOOLBAR by
7014         calling gdk_window_set_skip_taskbar_hint(). This means that GTK
7015         won't know that the skip_taskbar hint is on for the window, is
7016         this bad?
7017
7018 Wed Jan  8 18:43:03 2003  Manish Singh  <yosh@gimp.org>
7019
7020         * gdk/x11/gdkdisplay-x11.c: #include <stdlib.h> for putenv,
7021         <string.h> for strlen.
7022
7023         * gdk/x11/gdkscreen-x11.c: #include <stdlib.h> for getenv,
7024         <string.h> for strrchr.
7025
7026         * tests/testgtk.c (create_saved_position): "x" and "y" properties
7027         for widgets no longer exist, use gtk_window_move instead.
7028
7029         * test/testtextbuffer.c (check_get_set_text): cast strlen to
7030         int for g_error.
7031
7032 2003-01-08  Matthias Clasen  <maclas@gmx.de>
7033
7034         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix display of
7035         the selection in the presence of invisible segments.
7036
7037 2003-01-07  Matthias Clasen  <maclas@gmx.de>
7038
7039         * gtk/gtktextview.c (gtk_text_view_class_init): Bind C-/ and C-\
7040         to "select all" and "unselect all".  (#102065)
7041
7042         * gtk/gtktextview.h (struct _GtkTextView): Add a comment that
7043         the just_selected_element is unused.
7044
7045         * gtk/gtktextview.c (extend_selection): New helper function to
7046         find the range that should be added to the selection. 
7047         (selection_motion_event_handler): 
7048         (gtk_text_view_start_selection_drag): 
7049         (gtk_text_view_end_selection_drag): 
7050         (selection_motion_event_handler): 
7051         (selection_scan_timeout): Support select-by-words/lines.
7052         (gtk_text_view_button_press_event): Start a selection drag on
7053         double/triple clicks.  (#78499)
7054
7055 2003-01-06  Matthias Clasen  <maclas@gmx.de>
7056
7057         Implement a utility function proposed in #102534:
7058         
7059         * gtk/gtktextbtree.h: 
7060         * gtk/gtktextbtree.c (_gtk_text_btree_select_range): New function.
7061         (_gtk_text_btree_place_cursor): Now a simple wrapper around
7062         _gtk_text_btree_select_range().   
7063
7064         * gtk/gtktextbuffer.h: 
7065         * gtk/gtktextbuffer.c (gtk_text_buffer_select_range): New function.
7066         (gtk_text_buffer_place_cursor): Now a simple wrapper around
7067         gtk_text_buffer_select_range(). 
7068
7069 2003-01-05  Havoc Pennington  <hp@pobox.com>
7070
7071         * configure.in: fix a stray bracket that was breaking the build
7072
7073 2003-01-05  Tor Lillqvist  <tml@iki.fi>
7074
7075         * gtk-zip.sh.in: Use correct DLL and import library names, with
7076         GTK_API_VERSION in name, not GTK_MAJOR_VERSION.GTK_MINOR_VERSION.
7077         (DEVZIP): Add gdk-pixbuf-query-loaders.exe.
7078
7079         * configure.in: Improve check for dimm.h.
7080
7081         * configure.in: Set SOEXT to 'so' on Unix, 'dll' on Win32. Used in
7082         gdk-pixbuf/Makefile.am.
7083
7084         * gdk-pixbuf/makefile.mingw.in
7085         * gdk-pixbuf/pixops/makefile.mingw.in
7086         * gdk/makefile.mingw.in
7087         * gdk/win32/makefile.mingw.in
7088         * gtk/makefile.mingw.in: Remove. Not maintained anyway.
7089
7090         * gdk-pixbuf/Makefile.am
7091         * gdk-pixbuf/pixops/Makefile.am
7092         * gdk/Makefile.am
7093         * gdk/win32/Makefile.am
7094         * gtk/Makefile.am
7095         * configure.in: Remove makefile.mingw{,.in} from here, too.
7096         
7097         * README.win32: Updates. Don't mention the now removed
7098         makefile.mingw files.
7099
7100         * gdk/gdk.def
7101         * gtk/gtk.def: Add a couple of missing entries.
7102
7103         * gdk/gdkkeynames.c: Include <string.h> for strcmp() and memcpy().
7104
7105         * gdk/win32/gdkevents-win32.c: Move dimm.h header clash workaround
7106         earlier.
7107
7108         * gdk/win32/rc/Makefile.am: Add hack to help
7109         build/win32/lt-compile-resource decide which kind of libtool
7110         object file to produce.
7111
7112 2003-01-05  Matthias Clasen  <maclas@gmx.de>
7113
7114         * gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Make
7115         C-Down step through the sequence of paragraph ends (old behaviour
7116         included paragraph starts).  (#80340, patch by Narayana Pattipati)
7117
7118         * gtk/gtktextiter.c (_gtk_text_btree_get_iter_at_first_toggle):
7119         Check for a tag toggle at the start iterator before calling
7120         gtk_text_iter_forward_to_tag_toggle().  (#102090, patch by Daniel 
7121         Elstner)
7122
7123 2003-01-04  Matthias Clasen  <maclas@gmx.de>
7124
7125         * gtk/gtkfilesel.h (struct _GtkFileSelection): Add /*< public >*/
7126         and /*< private >*/ as appropriate.  (#97211)
7127
7128 2003-01-04  Tor Lillqvist  <tml@iki.fi>
7129
7130         * Makefile.am (EXTRA_DIST): Don't distribute gtk-zip.sh, but do
7131         distribute gtk-zip.sh.in.
7132
7133         * gtk-zip.sh.in (DEVZIP): Add gdk-pixbuf-csource.exe and .1.
7134
7135 2003-01-03  Havoc Pennington  <hp@pobox.com>
7136
7137         * docs/Makefile.am (EXTRA_DIST): put it in EXTRA_DIST
7138
7139         * docs/text_widget_internals.txt: add a file documenting some of
7140         the text widget internals
7141
7142 2003-01-02  Matthias Clasen  <maclas@gmx.de>
7143
7144         * gtk/gtkwindow.c (gtk_window_get_focus): Document that it may
7145         return NULL.  (#102069)
7146
7147 2003-01-01  Matthias Clasen  <maclas@gmx.de>
7148
7149         * gtk/fnmatch.c (FNMATCH_TEST_CASES): #undef, since having
7150         a main() in the library is obviously bad. 
7151
7152 2002-12-27  Matthias Clasen  <maclas@gmx.de>
7153
7154         * gtk/gtktextview.c (gtk_text_view_drag_data_received): Place the
7155         cursor at drop point.  (#72384)
7156         (gtk_text_view_size_allocate): Update the horizontal adjustment
7157         value.  (#75694)
7158
7159 2002-12-25  Matthias Clasen  <maclas@gmx.de>
7160
7161         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix highlighting of
7162         selection wrt. to empty lines.  (#90435, #90582, #91619)
7163
7164         * gtk/gtktextview.c (gtk_text_view_preedit_changed_handler):
7165         Keep the cursor on screen.  (#96929)
7166
7167 2002-12-24  Matthias Clasen  <maclas@gmx.de>
7168
7169         * gtk/gtktextbuffer.c (paste_from_buffer): 
7170         (clipboard_text_received): Let the user action span the insertion
7171         and the deletion of the old selection.  (#82844)
7172
7173 2002-12-23  Matthias Clasen  <maclas@gmx.de>
7174
7175         * gtk/gtktextiter.c (gtk_text_iter_backward_sentence_starts):
7176         Don't call gtk_text_iter_backward_sentence_start() if
7177         count is zero.  (#99115)
7178
7179         * gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Call
7180         move_cursor() even if the cursor hasn't moved, since it has the
7181         side effect of canceling the selection.  (#81395, #98537, #98333)
7182
7183 2002-12-22  Matthias Clasen  <maclas@gmx.de>
7184
7185         * gtk/gtktextlayout.c (add_preedit_attrs): Don't add attributes
7186         with empty ranges.  (fixes #101564 and #80637)
7187
7188 2002-12-21  Tor Lillqvist  <tml@iki.fi>
7189
7190         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Move the code that
7191         sets the window style and extended window style, and adjusts the
7192         width and height to take the window decorations into account
7193         earlier. The adjusted width and height used to be ignored. Remove
7194         the local x, y, width and height variables, no need to further
7195         confuse the code by having local copies. (Partial fix, I hope, for
7196         #101588)
7197
7198         (gdk_window_move): When moving top-level windows, take title bar
7199         and border width into account, offsetting the coordinates before
7200         calling SetWindowPos().
7201
7202         (gdk_window_set_decorations, gdk_window_set_functions):
7203         Reimplement, taking into account the peculiar semantics of
7204         GDK_DECOR_ALL and GDK_FUNC_ALL. (#79036)
7205
7206         (gdk_window_get_decorations): Implement. (#98981)
7207         
7208         (gdk_window_set_type_hint): When setting
7209         GDK_WINDOW_TYPE_HINT_MENU, call gdk_window_set_decorations().
7210         (#79036)
7211
7212         * gdk/gdk.def: Add gdk_window_get_decorations. (#98981)
7213
7214 2002-12-21  Matthias Clasen  <maclas@gmx.de>
7215
7216         * gtk/gtktextview.c (gtk_text_view_set_background): New static
7217         function to set the background of all windows.
7218         (gtk_text_view_style_set): Use gtk_text_view_set_background().
7219         (gtk_text_view_state_changed): New function; change background
7220         according to state.  (#88126)
7221
7222 2002-12-21  Havoc Pennington  <hp@pobox.com>
7223
7224         * gtk/gtktextview.c (gtk_text_view_move_visually): fix the documentation
7225