2004-01-06 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilesel.c (gtk_file_selection_create_dir_confirmed): Use
0777 as the mode for mkdir() and let the umask do the right
thing. Fixes#121819.
2004-01-06 Alexander Winston <alexander.winston@comcast.net>
* gtk/gtkfilesel.c: (gtk_file_selection_delete_file): Removed space
that proceeded the end-of-sentence punctuation. Fixes: #130353.
2004-01-05 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (toolbar_button_new): New helper
function.
(toolbar_create): Do not use a toolbar widget, just an hbox
instead. Add the bookmarks buttons and the current folder label
here.
(create_filename_entry_and_filter_combo): Create the filter combo
here.
(filter_create): Don't show the filter combo initially.
(up_button_cb): Renamed from toolbar_up_cb().
(create_shortcuts_buttons): Removed.
Sun Jan 4 15:29:04 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkradiotoolbutton.[ch]
(gtk_radio_tool_button_new_with_stock_from_widget): Change API so
group is a GtkRadioButton, not a GtkWidget.
2004-01-04 Hans Breuer <hans@breuer.org>
* gdk/win32/gdkwindow-win32.c : use SWP_NOACTIVATE in
gdk_window_set_keep_(above|below) to make DND work again.
Thanks to Alif Wahid for noticing.
* gdk/gdk.def : update externals
* gtk/gtkfilesystemwin32.c : adapt to GtkFileSystemIFace changes
* gtk/gtk-stock.[hc] gtk/gtkiconfactory.c
gtk/stock-icons/Makefile.am gtk/stock-icons/makefile.msc :
gtk/stock-icons/stock_harddisk_16.png
gtk/stock-icons/stock_harddisk_24.png
Harddisk stock icons for file system implementations. Beside
FLOPPY and CDROM there is now HARDDISK, probably some
GTK_STOCK_NETWORK would be useful, but I could not find one.
Sat Jan 3 11:39:42 2004 Manish Singh <yosh@gimp.org>
* gtk/gtkclipboard.c: Update freedesktop.org clipboard doc link.
Patch from Andrew Moise (#130462).
2004-01-01 Jody Goldberg <jody@gnome.org>
* gtk/gtkaction.c (_GtkActionPrivate) : add visible_horizontal,
visible_vertical.
(gtk_action_class_init) : here.
(gtk_action_init) : here.
(gtk_action_set_property) : here.
(gtk_action_get_property) : here.
(connect_proxy) : and here.
2003-12-30 Jody Goldberg <jody@gnome.org>
* gtk/gtkactiongroup.c (gtk_action_group_add_action_with_accel) : new
utility routine for use in derived GtkActions with the replicated code
from.
(gtk_action_group_add_actions_full) : here.
(gtk_action_group_add_toggle_actions_full) : here.
(gtk_action_group_add_radio_actions_full) : and here.
2003-12-24 Jody Goldberg <jody@gnome.org>
* gtk/gtkactiongroup.h : Add some const to the char * in
GtkActionEntry*. We're reccomending people pass static strings to
them, and not freeing them. This stems to flood of warnings that
result.
* gtk/gtkactiongroup.c (gtk_action_group_add_actions_full) : change
temp vars to const to match above.
(gtk_action_group_add_toggle_actions_full) : ditto.
(gtk_action_group_add_radio_actions_full) : ditto.
Fri Jan 2 02:50:11 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcalendar.c (gtk_calendar_compute_days):
* gtk/gtkcalendar.c (gtk_calendar_paint_day_names):
* gtk/gtkcalendar.c (gtk_calendar_init): Changes to support
week_start values other than 0 and 1, e.g. 6 will let weeks start
on Saturday. (#130353, Roozbeh Pournader)
Wed Dec 31 02:05:39 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkactiongroup.c (gtk_action_group_add_actions_full):
(gtk_action_group_add_toggle_actions_full):
(gtk_action_group_add_radio_actions_full): Pull accelerator key
from the stock item if stock_id is given, but accelerator
not. (Noticed by Jeff Franks and Jody Goldberg)
* tests/testmerge.c: Remove the accelerator from the "Open" entry
to test the above change.
2003-12-29 Federico Mena Quintero <federico@ximian.com>
Make show_all() work for the extra and preview widgets; reported
by Paolo Maggi.
* gtk/gtkfilechooserdefault.c (set_preview_widget): show_all() the
preview widget.
(set_extra_widget): show_all() the extra widget.
Mon Dec 29 01:36:22 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkaccelmap.[hc]: (gtk_accel_map_lock_path,
gtk_accel_map_unlock_path): Add a way to lock individual accelerator
paths. (#73207, reported by Havoc Pennington)
Sat Dec 27 23:17:56 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbar.c (slide_idle_handler): use CHILD_VISIBLE
instead of VISIBLE to determine whether we should stop
sliding. (#130018, reported by Christian Persch).
Fri Dec 26 23:24:35 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkactiongroup.c (gtk_action_group_add_radio_actions_full):
Don't use first_action without initializing it if n_entries is 0.
Mon Dec 22 00:40:39 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcalendar.c (gtk_calendar_paint_arrow): Use
gtk_paint_arrow instead of draw_arrow_left/draw_arrow_right.
* gtk/gtkcalendar.c (draw_arrow_left):
(draw_arrow_right): Removed.
* gtk/gtkcalendar.c (gtk_calendar_realize_arrows):
* gtk/gtkcalendar.c (gtk_calendar_state_changed): Set the
arrow_state to GTK_STATE_INSENSITIVE if the calendar is
insensitive. (#97376)
Sun Dec 21 23:17:01 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkuimanager.c (update_node):
(update_smart_separators):
(_gtk_menu_is_empty):
(find_menu_position):
* gtk/gtktreeview.c (gtk_tree_view_search_dialog_destroy):
* gtk/gtkcombobox.c (gtk_combo_box_relayout_item):
(gtk_combo_box_relayout): Fix memory leaks caused by the
failure to free the result of gtk_container_get_children().
(#127576, Yao Zhang)
Sun Dec 21 01:54:40 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkmenushell.h:
* gtk/gtkmenushell.c (gtk_menu_shell_cancel): New function
to emit the "cancel" signal on a menu shell.
* gtk/gtkmenu.c (gtk_menu_key_press):
* gtk/gtkoptionmenu.c (gtk_option_menu_remove_menu):
* gtk/gtkmenubar.c (_gtk_menu_bar_cycle_focus): Use the
new function instead of directly emitting the
signal. (#81803, Owen Taylor)
Sun Dec 21 00:39:50 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init):
Fix the "language_set" blurb. (#129720, Christian Rose)
Sat Dec 20 22:06:03 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_size_allocate): do not invalidate
all of treeview when resizing (#110074, patch from Soeren Sandmann).
Fri Dec 19 22:18:19 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_search_equal_func): use strstr
instead of strcmp (#117127, suggestion from Soeren Sandmann).
Fri Dec 19 21:52:46 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtkmenu.c (gtk_menu_do_insert): move item insertion logic
here from gtk_menu_real_insert(),
(gtk_menu_real_insert): just call gtk_menu_do_insert(),
(gtk_menu_reorder_child): run _do_insert after inserting the child
(unbreaks _reorder_child, reported by Tim Janik).
2003-12-19 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (list_mtime_data_func): Use
g_date_strftime() for UTF-8 correctness; use Julian dates to
simplify the function.
Fri Dec 19 01:35:34 2003 Matthias Clasen <maclas@gmx.de>
Fix the behaviour of insensitive actions, which was broken
when gtk_action_activate() was changed to pay attention to
sensitivity (#129557, Christian Persch)
* gtk/gtkaction.h:
* gtk/gtkaction.c (_gtk_action_emit_activate): New auxiliary
function to emit an activate signal without regard to sensitivity.
* gtk/gtkradioaction.c:
* gtk/gtktoggleaction.c: Always use _gtk_action_emit_activate()
instead of gtk_action_activate().
Thu Dec 18 18:01:01 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_class_init): add key bindings
for "*" and "/" (expand/collapse all). (#110195, reported by
Calum Benson).
Thu Dec 18 17:52:56 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_set_property):
clear the extra_attrs list if we set "text" after "markup".
(Fixes#121933, Federico Mena Quintero).
2003-12-18 Alexander Larsson <alexl@redhat.com>
* gtk/gtkicontheme.c (gtk_icon_info_get_embedded_rect):
Fix typo that used the wrong x/y values for the x1, y1 point
Thu Dec 18 01:41:50 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init),
(gtk_cell_renderer_text_finalize),
(gtk_cell_renderer_text_get_property),
(gtk_cell_renderer_text_set_property), (get_layout): added language
and language_set properties like GtkTextTag has. (#103800, reported
by Owen Taylor).
Thu Dec 18 01:21:59 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_class_init): Jonathan got
the logical flag backwards in the expand_collapse_cursor_row
bindings, fixing.
(gtk_tree_view_real_expand_collapse_cursor_row): invert expand
flag when !logical and in RTL. (Fixes#107527, reported by
Noah Levitt).
Thu Dec 18 01:10:16 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_button_press): only start
editing when activated by the left mouse button. (#106869,
patch from Evan Martin).
Thu Dec 18 00:57:18 2003 Kristian Rietveld <kris@gtk.org>
Migrating all cell renderers to use the new instance private data
construction.
* gtk/gtktreeprivate.h: remove GtkCellRendererInfo, as it is no
longer being used.
* gtk/gtkcellrenderer.c (gtk_cell_renderer_init),
(gtk_cell_renderer_class_init), (gtk_cell_renderer_get_property),
(set_cell_bg_color), (gtk_cell_renderer_render): remove old
GtkCellRendererInfo handling, migrate to instance private data.
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_editing_done),
(gtk_cell_renderer_text_start_editing): moved focus_out_id
from GtkCellRendererInfo to text renderer private data.
* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_init),
(gtk_cell_renderer_pixbuf_class_init),
(gtk_cell_renderer_pixbuf_finalize),
(gtk_cell_renderer_pixbuf_get_property),
(gtk_cell_renderer_pixbuf_set_property),
(gtk_cell_renderer_pixbuf_create_stock_pixbuf),
(gtk_cell_renderer_pixbuf_get_size), (gtk_cell_renderer_pixbuf_render):
migrate to instance private data.
* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_class_init),
(gtk_cell_renderer_toggle_get_property),
(gtk_cell_renderer_toggle_set_property),
(gtk_cell_renderer_toggle_render): migrate to instance private data.
Thu Dec 18 00:07:01 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreemodel.h (gtk_tree_path_new_root),
(gtk_tree_model_get_iter_root): now deprecated (#106953, reported
by Matthias Clasen).
Wed Dec 17 23:50:56 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_set_property):
if we set a new stock_id and there was a previous stock_id, unref
the pixbuf (since it was used to renderer the previous stock_id
and stock_id might have been set to NULL now). (Fixes#122966).
2003-12-17 Marco Pesenti Gritti <marco@gnome.org>
* gtk/gtktreemodelsort.c: (gtk_tree_model_sort_get_iter):
Check that index is not bigger than level array length
also when depth is 1. Now get_iter_first correctly return
FALSE when the model is empty (#129411).
Wed Dec 17 23:31:19 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_search_equal_func): only
try to strcmp or strlen if we managed to normalize and casefold
the string correctly. Fixes crashes with non-UTF8 strings.
(#121617, Patch from Tim-Philipp Müller).
2003-12-07 Murray Cumming <murrayc@usa.net>
* gtk/gtktreemodel.c:
(row_inserted_marshal, row_deleted_marshal, rows_reorderered_marshal)
Actually call the default signal handlers instead of calling the
marshallers themselves in an endless loop. These default signal handler
callbacks are not actually set so this is only noticed by gtkmm at
the moment. Bug 123923.
2003-12-16 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilesystem.h (struct _GtkFileSystemIface): Added a
"volumes-changed" signal. Added the following methods:
list_volumes
volume_free
volume_get_base_path
volume_get_is_mounted
volume_mount
volume_get_display_name
volume_render_icon
* gtk/gtkfilesystem.c (gtk_file_system_base_init): Create the
"volumes-changed" signal.
(gtk_file_system_list_volumes): New function.
(gtk_file_system_volume_free): New function.
(gtk_file_system_volume_get_base_path): New function.
(gtk_file_system_volume_get_is_mounted): New function.
(gtk_file_system_volume_mount): New function.
(gtk_file_system_volume_get_display_name): New function.
(gtk_file_system_volume_render_icon): New function.
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_volume_free): Implement.
(gtk_file_system_unix_volume_get_base_path): Implement.
(gtk_file_system_unix_volume_get_is_mounted): Implement.
(gtk_file_system_unix_volume_mount): Implement.
(gtk_file_system_unix_volume_get_display_name): Implement.
(gtk_file_system_unix_volume_render_icon): Implement.
* gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault):
Added a field for the "volumes-changed" signal connection.
(gtk_file_chooser_default_set_property): Connect to
"volumes-changed" on the file system.
(gtk_file_chooser_default_finalize): Disconnect from
"volumes-changed".
* gtk/gtkfilechooserdefault.c (shortcuts_remove_rows): New helper
function.
(shortcuts_get_index): New helper function.
(shortcuts_insert_path): Can now insert volumes as well as paths.
(shortcuts_append_paths): Don't take is_file_system_root.
(shortcuts_add_volumes): New function.
(shortcuts_append_file_system_roots): Removed.
(create_shortcuts_model): Use shortcuts_add_volumes().
(remove_bookmark_button_clicked_cb): Check that the index is
within range.
(bookmarks_check_add_sensitivity): Take volumes into account.
(shortcuts_get_selected_index): New helper function.
(remove_bookmark_button_clicked_cb): Use
shortcuts_get_selected_index().
(bookmarks_check_remove_sensitivity): Likewise.
(shortcuts_select_func): Likewise.
(shortcuts_row_activated_cb): Handle volumes as well as normal
paths.
(shortcuts_activate_volume): New function.
(struct _GtkFileChooserDefault): Removed the bookmarks_set and
bookmarks_iter fields.
(shortcuts_append_bookmarks): Use shortcuts_remove_rows().
(bookmarks_changed_cb): Use shortcuts_add_bookmarks().
(remove_bookmark_rows): Removed.
(shortcuts_add_bookmarks): New function; moved most of the code
over from shortcuts_append_bookmarks().
(shortcuts_append_bookmarks): Add the separator node here, and
then call shortcuts_add_bookmarks().
Tue Dec 16 01:46:46 2003 Matthias Clasen <maclas@gmx.de>
Do not interpret distant clicks as double-clicks (#116541,
Bernhard Walle):
* gdk/gdkdisplay.h (struct GdkDisplay): Add new fields
double_click_distance, button_x and button_y.
* gdk/gdkdisplay.c (gdk_display_init): Initialize the new fields.
* gdk/gdkdisplay.h:
* gdk/gdkevents.c (gdk_display_set_double_click_distance):
New function to set the double click distance on a display.
* gdk/gdkevents.c: Take double click distance into account
when generating single, double or triple clicks.
* gtk/gtksettings.c: Add new setting "gtk-double-click-distance".
* gdk/x11/gdkevents-x11.c: Add the XSetting
"Net/DoubleClickDistance" and map it to "gtk-double-click-distance".
2003-12-15 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkdialog.c (dialog_has_cancel): Removed.
(gtk_dialog_close): Don't call dialog_has_cancel(). At least
allows sane behavior for #101293.
Mon Dec 15 00:56:54 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkbutton.[hc]: Add new properties, xalign and yalign, with
getter and setter gtk_button_[sg]et_alignment(), to set the
alignment of the child. (#70961, Jody Goldberg)
2003-12-14 Hans Breuer <hans@breuer.org>
* gtk/gtkprivate.h gtk/gtkmain.c : handle GTK_DATADIR
similar as the other filesystem placement 'constants' (dynamic
resolving on win32)
* gtk/gtkfilechooserwidget.c : handle file system to win32
renaming here as will
* gtk/gtkfilesystemwin32.c : implement render_icon
* gtk/gtk.def gdk/gdk.def : updated externals
* gdk/win32/gdkdisplay-win32.c : make it compile without
<multimon.h> - i.e. even older sdk
* gdk/win32/gdkevents-win32.c : match resize_timer_proc
with TIMERPROC prototype
* gdk/win32/gdkwindow-win32.c : older msvc does not know
BITMAPV5HEADER (from win xp) either
* gtk/gtkimmodule.c : make it compile even if GTK_LOCALEDIR is
not defined
* tests/testfilechooser.c : recent GLib crashes on
g_print ("%s", NULL) so avoid this
Sat Dec 13 16:13:27 2003 Kristian Rietveld <kris@gtk.org>
A trick for a faster treeview, step 1. Patch to short circuit
_build_tree(), inspired by Jonathan (#80868).
* gtk/gtktreeview.c (gtk_tree_view_init): don't put _IS_LIST in
flags by default,
(gtk_tree_view_build_tree): don't even try to recurse when the
model says that it is a list, remove flag unsetter,
(gtk_tree_view_set_model): change flag setting logic.
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_flags):
propagate whether or not the child model has _IS_LIST set.
* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_get_flags):
ditto.
Sat Dec 13 02:33:17 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkrange.c (gtk_range_scroll): Undo the last change,
since it broke logical keynav.
* gtk/gtkrange.c (range_get_scroll_for_grab): Fix stepper
direction in inverted scrollbars here instead.
Sat Dec 13 00:39:24 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkviewport.c (viewport_set_hadjustment_values): Implement
"gravity" for RTL mode in a better way: Keep the distance from
the upper end of the page to the upper bound constant. This also
fixes problems with the initial position of the viewport in RTL
mode. (#129063)
Thu Dec 11 00:35:12 2003 Matthias Clasen <maclas@gmx.de>
Changes to allow "no input" windows (#64613):
* gdk/gdkwindow.h (struct _GdkWindowObject): Add a new boolean
field accept_focus.
* gdk/gdkwindow.h (gdk_window_set_accept_focus): New function to
set it.
* gtk/gtkwindow.[hc]: Add a boolean property "accept_focus"
and gtk_window_get_focus() and gtk_window_set_focus().
* gdk/win32/gdkwindow-win32.c (gdk_window_new):
* gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
* gdk/x11/gdkwindow-x11.c (gdk_window_set_new):
Initialize the accept_focus field to TRUE.
* gdk/win32/gdkwindow-win32.c (gdk_window_set_accept_focus):
* gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_accept_focus):
* gdk/x11/gdkwindow-x11.c (gdk_window_set_accept_focus):
Implementations for the various backends. The Win32 and linux-fb
implementations set the accept_focus field, but don't use it yet
to actually implement noinput windows. The X implementation updates
the WM_HINTS to select the globally active input model (see the
ICCCM) if accept_focus is FALSE.
* gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Ignore the
WM_TAKE_FOCUS message if accept_focus is FALSE.
2003-12-10 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault):
Added toolbar items for the filter separator and the filter item.
(toolbar_create): Add the filter widgets here.
(filter_create): Renamed from create_filter(). Don't store the
alignment in the impl structure, just return it.
(toolbar_show_filters): New function.
(gtk_file_chooser_default_add_filter): Use toolbar_show_filters().
(gtk_file_chooser_default_remove_filter): Likewise.
(gtk_file_chooser_default_constructor): Don't create the filter
widget here.
(struct _GtkFileChooserDefault): Added a field for a current
folder label.
(gtk_file_chooser_default_constructor): Create the folder label.
(gtk_file_chooser_default_set_current_folder): Set the current
folder label.
* tests/testfilechooser.c (main): Dramatically improved the
usability of the extra widget through careful word choice.
2003-12-09 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (shortcuts_append_home): Use "Home"
rather than "Username's Home" (#125964).
(shortcuts_selection_changed_cb): New callback, check the
sensitivity of the Remove Bookmark button at the right time.
(shortcuts_row_activated_cb): It is not necessary to check the
sensitivity here.
2003-12-08 Jan Arne Petersen <jpetersen@uni-bonn.de>
* gtk/gtkfilechooserdefault.c:
(gtk_file_chooser_default_get_paths), (entry_activate): Use the
behavior of the GtkFileSelection to determine selected paths in
single selected, GTK_FILE_CHOOSER_ACTION_SAVE mode.
2003-12-08 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c
(gtk_file_chooser_default_get_paths): Don't declare the closure
struct twice.
(get_paths_foreach): Likewise.
Mon Dec 8 10:54:44 2003 Owen Taylor <otaylor@redhat.com>
* === Released 2.3.1 ===
* NEWS: Updates for 2.3.1
* configure.in: Version 2.3.1, interface age 0, binary age 301.
* gtk/gtkmenuitem.c (gtk_menu_item_can_activate_accel):
Rename from gtk_menu_item_real_can_activate_accel() to
match GTK+ convention, improve comment.
* gtk/gtkwidget.c: Document gtk_widget_can_activate_accel(),
can ::can-activate-accel signal.
* gtk/gtkwidget.c (closure_accel_activate): Fix spelling
in comment.
* gtk/gtkmenu.c (gtk_menu_real_can_activate_accel): Clean
up comment.
* gtk/gtkcellview{,menuitem}.[ch]: Move GET_PRIVATE() macros
into the .c file.
Mon Dec 8 12:09:21 2003 Owen Taylor <otaylor@redhat.com>
* gtk/gtkicontheme.c (find_builtin_icon): Fix a
missing 'else'. (#128816, Jorn Baayen)
Sun Dec 7 23:45:40 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkicontheme.c (gtk_icon_theme_has_icon): Don't crash if
icon_theme_builtin_icons hasn't been initialized. (#128726, Diego
Gonzalez)
Sat Dec 6 01:13:09 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombo.c (gtk_combo_get_pos): Fix the position of the
popup window when in RTL mode. (#127578)
Fri Dec 5 15:30:16 2003 Manish Singh <yosh@gimp.org>
* gtk/gtkaccelgroup.c (quick_accel_find): Applied patch from
Ross McFarland <rwmcfa1@neces.com>, initialize *count_p to 0
before doing anything to prevent garbage returns.
Sat Dec 6 00:23:46 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkviewport.c: Implement RTL flipping for
GtkViewport: Adjust the "gravity" when resizing
This is a bit flickery in RTL mode. (#107526)
Sat Dec 6 00:22:14 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkscrolledwindow.c: Implement RTL flipping for
GtkScrolledWindow: the vertical scrollbar shows up on the left
side in RTL mode. (#107526)
2003-12-04 Mark McLoughlin <mark@skynet.ie>
* gtk/gtklabel.c: (gtk_label_set_attributes_internal): Allow
gtk_label_set_attributes() take NULL. See bug #128517.
2003-12-03 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserentry.c (struct _GtkFileChooserEntry): Removed
the in_change flag.
(completion_idle_callback): Use a temporary list store and re-set
it on the completion rather than modifying the old one. We are
re-reading the folder anyway, and this gets rid of non-atomicity
problems.
2003-12-01 Federico Mena Quintero <federico@ximian.com>
Decouple impl->current_folder from the selection in the folder
tree. This is so that going to /home/federico/.foo (e.g. from a
bookmark) will work even if show_hidden == FALSE. The folder tree
needs to be fixed in this case to show such folders explicitly.
* gtk/gtkfilechooserdefault.c
(gtk_file_chooser_default_set_current_folder): When changing
folders, do the entry and list model work here, instead of
tree_selection_changed().
(struct _GtkFileChooserDefault): Added a changing_folder flag
again, dum de dum.
(tree_selection_changed): Use _gtk_file_chooser_set_current_folder_path().
2003-12-01 Federico Mena Quintero <federico@ximian.com>
Patch from Hans-Petter Jansson <hpj@ximian.com> to align the
bookmarks buttons with the location entry.
* gtk/gtkfilechooserdefault.c
(gtk_file_chooser_default_constructor): Use a GtkSizeGroup for the
bookmarks buttons and the location entry.
2003-12-01 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (create_shortcuts_tree): Set the
shortcuts tree as a drag destination.
(shortcuts_drag_data_received_cb): New callback.
(get_file_info): Also fetch information on whether the file is a folder.
(add_bookmark_button_clicked_cb): Use error_could_not_add_bookmark_dialog().
(error_could_not_add_bookmark_dialog): New function.
(shortcuts_add_bookmark_from_path): New helper function.
(add_bookmark_button_clicked_cb): Use shortcuts_add_bookmark_from_path().
(shortcuts_row_activated): We no longer need the changing_folder flag.
(struct _GtkFileChooserDefault): Likewise.
Sun Nov 30 17:31:32 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbar.c (slide_idle_handler): return TRUE if there are
disappearing placeholders that are still visible.
* gtk/gtktoolbar.c: formatting fixes
* gtk/gtktoolbar.c (struct _ToolbarContent): new bit:
disappearing, for placeholders that are going to disappear.
* gtk/gtktoolbar.c (get_item_size): return 0 for disappearing placeholders
Sat Nov 29 00:55:28 2003 Jonathan Blandford <jrb@gnome.org>
* gtk/gtktreeview.c (gtk_tree_view_new_column_width):
* gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
Patch from <chinen@jp.ibm.com> to handle RTL support for column
resizers, #127874
Thu Nov 27 16:19:03 2003 Tim Janik <timj@gtk.org>
* gtk/gtkmenu.c: allow accel activation depending on sensitivity
and the attach widget.
* gtk/gtkmenuitem.c: allow accel activation depending on visibility,
sensitivity and the parent menu.
* gtk/gtkwidget.[hc]: introduced ::can-activate-accel signal which
checks whether accelerators may activate a widget. the default handler
demands the widget be sensitive and visible+viewable.
* gtk/gtkaccelgroup.[hc]: export gtk_accel_group_activate().
Mon Nov 24 04:05:15 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkradiotoolbutton.[ch]
(gtk_radio_tool_button_new_from_widget): Make this function take a
GtkRadioToolButton instead of a GtkWidget. (#127729, Murray
Cumming)
Mon Nov 24 01:47:10 2003 Soeren Sandmann <sandmann@daimi.au.dk>
Rework sliding algorithm.
- No more weird jumping when items are dragged off and added to
the toolbar,
- More natural item movement
* gtk/gtktoolbar.c (gtk_toolbar_size_allocate): Many changes. This
function is now responsible for calculating intermediate positions
during item sliding. It is also responsible for starting sliding
if items disappear. Also turn off expanding when there is an
overflow menu.
(gtk_toolbar_begin_sliding, stop_sliding): New functions.
(slide_idle_handler): New function. All the sliding is now done by
gtk_toolbar_size_allocate(), so the idle handler now just checks
if there is more sliding to be done.
(compute_intermediate_allocation, position): new functions
calculating intermediate steps in the slide animations. The new
animation algorithm uses a constant speed instead of a constant
must-be-finished-within time.
(struct _ToolbarContent): use
GtkAllocation goal_allocation; and
GtkAllocation start_allocation; instead of
gint start/goal_width;
* gtk/gtktoolitem.c (gtk_tool_item_set_tooltip): fix typo in
documentation
Thu Nov 20 15:41:56 2003 Manish Singh <yosh@gimp.org>
* gtk/gtkmenu.c (gtk_menu_set_tearoff_state): cast to GTK_WIDGET()
for the gtk_widget_hide() call.
Thu Nov 20 14:51:41 2003 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreedatalist.c (gtk_tree_data_list_compare_func): Patch
from David Hampton to fix sorting on booleans.
2003-11-19 Federico Mena Quintero <federico@ximian.com>
Fixes to problems reported by Iain Holmes:
* gtk/gtkfilechooserdefault.c (shortcuts_append_desktop): Do not
throw up an error dialog if the desktop doesn't exist.
(error_message): Handle the case where there is no real toplevel
yet.
(list_model_filter_func): Always let folders pass through (patch
by Dave Malcolm).
Wed Nov 19 23:19:23 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtkcombobox.[ch] (gtk_combo_box_scroll_event): move function
to a somewhat more logical place,
(gtk_combo_box_remove_text): New function (#125262, Owen Taylor).
Wed Nov 19 22:15:01 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtkentry.c (gtk_entry_completion_timeout): always resize
the popup when it is visible, popdown when there are less chars
than the minimum key length in the entry,
(gtk_entry_completion_changed): popdown when the entry is empty.
* gtk/gtkentrycompletion.c (gtk_entry_completion_init): set the
size request of the vscrollbar to (-1, 0), to get a nicely sized
completion treeview (Fixes#126573, reported by Piers Cornwell),
(_gtk_entry_completion_resize_popup): show/hide the action_view
based on items.
2003-11-19 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_init): Turn
off the dialog's separator (thanks to Iain Holmes).
Wed Nov 19 18:15:00 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkmenu.c (DEFAULT_POPUP_DELAY): set to 200 instead of 225
* gtk/gtkmenuitem.c (get_minimum_width): Impose a minimum width
on items that have a submenu. (#120104).
Wed Nov 19 18:11:08 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbar.c (struct _ToolbarContent): Add a new
"ItemState" field indicating the overflowed-ness etc. of the item.
(gtk_toolbar_size_allocate): update the field here.
2003-11-19 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilesystem.h (struct _GtkFileSystemIface): Added a
render_icon virtual method.
* gtk/gtkfilesystem.c (gtk_file_system_render_icon): New function.
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_render_icon):
Implement as a stub for now.
* gtk/gtkfilechooserdefault.c (shortcuts_insert_path): Use
gtk_file_system_render_icon().
(list_icon_data_func): Likewise.
(toolbar_create): Set the toolbar style to icons only.
* gtk/gtkfilechooser.c (gtk_file_chooser_add_shortcut_folder_uri):
Fix doc comments.
Wed Nov 19 00:06:04 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtkentrycompletion.c (gtk_entry_completion_selection_changed):
only unselect all items if the treeview has focus. (Fixes bug
reported by Marco Pesenti Gritti).
Tue Nov 18 22:26:30 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtkentry.c (gtk_entry_completion_key_press): the total
number of actions is "matches + actions - 1". (Fixes#126572).
Tue Nov 18 21:05:05 2003 Christian Persch <chp@cvs.gnome.org>
* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_row_inserted): fix
mem leaks (#119435).
Tue Nov 18 20:51:38 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_row_deleted): don't
try to fetch the child back, since we do know that it is already
gone by now (#126493, Marco Pesenti Gritti).
Tue Nov 18 19:47:59 2003 Kristian Rietveld <kris@gtk.org>
Fixes based on comments from Owen Taylor, #125264.
* gtk/gtkcellview.[ch] (gtk_cell_view_finalize): remove unused
variable,
(gtk_cell_view_set_value), (gtk_cell_view_set_displayed_model): queue
a resize,
(gtk_cell_view_get_size_of_row): new function,
(gtk_cell_view_set_value), (gtk_cell_view_set_valuesv),
(gtk_cell_view_set_values), (gtk_cell_view_set_model),
(gtk_cell_view_set_displayed_row), (gtk_cell_view_get_displayed_row):
s/cellview/cell_view/ in the function definitions, so they match
with the header file.
* gtk/gtkcombobox.c (gtk_combo_box_remeasure): remove the resize
flag again (:, and use gtk_cell_view_get_size_of_row instead of
the measurer, remove _set_size_request call,
(gtk_combo_box_calc_requested_width): use gtk_cell_view_get_size_of_row
instead of the measurer,
(gtk_combo_box_style_set): queue a resize,
(gtk_combo_box_size_request): update of _remeasure call,
(gtk_combo_box_init), (gtk_combo_box_cell_layout_pack_start),
(gtk_combo_box_cell_layout_pack_end),
(gtk_combo_box_cell_layout_clear),
(gtk_combo_box_set_model): get rid of the measurer,
(gtk_combo_box_cell_layout_add_attribute),
(gtk_combo_box_cell_layout_set_cell_data_func),
(gtk_combo_box_cell_layout_clear_attributes): ditto and queue a
resize instead of calling _remeasure.
Mon Nov 17 23:36:02 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkaction.c (gtk_action_activate): Only activate if
the action is sensitive. (#127187, Christian Persch)
Mon Nov 17 22:56:09 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtkentryprivate.h: add _gtk_entry_completion_resize_popup.
* gtk/gtkentry.c (gtk_entry_completion_timeout): popup when not
mapped, else resize_popup.
* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup),
(_gtk_entry_completion_popup): moved all popup resizing code to
_gtk_entry_completion_resize_popup, and show the window when there
are more than zero items in the completion list again (sigh).
2003-11-17 Mark McLoughlin <mark@skynet.ie>
Patch from Jaiserca <jaiserca@inf.upv.es> to add a
"use_markup" property. See bug #124449.
* gtk/gtkexpander.c:
(gtk_expander_class_init),
(gtk_expander_init), (gtk_expander_set_property),
(gtk_expander_get_property), (gtk_expander_set_label),
(gtk_expander_set_use_markup), (gtk_expander_get_use_markup):
Add a "use_markup" property and use it when creating the
child label.
Mon Nov 17 12:58:32 2003 Kristian Rietveld <kris@gtk.org>
Temporary size requisition fix. Will fix it for real tonight.
* gtk/gtkcombobox.c (gtk_combo_box_remeasure): add a resize flag,
(gtk_combo_box_size_request): use gtk_combo_box_remeasure to determine
a good width for the child,
(gtk_combo_box_cell_layout_add_attribute),
(gtk_combo_box_set_cell_data_func),
(gtk_combo_box_cell_layout_clear_attributes): update.
Mon Nov 17 00:11:21 2003 Kristian Rietveld <kris@gtk.org>
Fixes#124373, Murray Cumming.
* gtk/gtkcombobox.[ch] (gtk_combo_box_class_init): the model property
is no longer construct only,
(gtk_combo_box_unset_model), (gtk_combo_box_set_model_internal),
(gtk_combo_box_menu_fill): new functions,
(gtk_combo_box_menu_setup), (gtk_combo_box_menu_destroy),
(gtk_combo_box_menu_row_*), (gtk_combo_box_list_setup),
(gtk_combo_box_list_destroy): updated,
(gtk_combo_box_new), (gtk_combo_box_new_with_model): new/changed
functions,
(gtk_combo_box_set_model): is now public, updated,
(gtk_combo_box_get_model): small update.
* gtk/gtkcomboboxentry.[ch] (gtk_combo_box_entry_class_init): the
text_column property is no longer construct only,
(gtk_combo_box_entry_set_text_column): now public,
(gtk_combo_box_entry_new), (gtk_combo_box_entry_new_with_model):
new/changed functions.
* tests/testcombo.c: updated.
Sun Nov 16 22:50:58 2003 Matthias Clasen <maclas@gmx.de>
Reinstate fixes for (#124212, Marco Pesenti Gritti):
* gtk/gtkuimanager.c (update_smart_separators): Don't spit
warnings for popups.
(_gtk_menu_is_empty): Return FALSE for non-menus.
Sun Nov 16 21:48:40 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtkcellview.c (gtk_cell_view_finalize): just call
gtk_cell_view_cell_layout_clear instead of trying to free the
structure ourselves here. (#125726, Morten Welinder).
Sun Nov 16 00:35:29 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkfilechooser.[hc]:
* gtk/gtkentrycompletion.h: Fix parameter name mismatches which
confuse gtk-doc.
Sun Nov 16 00:41:48 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtk-sections.txt: Remove gtk_tool_item_[sg]et_pack_end.
Sun Nov 16 00:32:18 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtk-sections.txt: Move GtkFileChooser out of the
private section, in order to get the autogenerated docs
on hierarchy, signals, properties, etc.
2003-11-15 Hans Breuer <hans@breuer.org>
* gdk/makefile.msc gdk/gdk.def
gtk/gtk.def gtk/makefile.msc.in : updated
* tests/makefile.msc : added all the new tests
* gtk/gtkfilefilter.c(finalize) : initialize filter
from object not from itself
* gtk/gtkfilesystemwin32.[hc] : copied from gtkfilesystemunix.[hc]
modified as less as posible to have aworking implementation
on win32. There maybe the desire to merge the unchanged pats into
a common base class.
Also implemented a simple glib based bookmark handling, which
is currently missing in gtkfilesystemunix.[hc] but can be copied
over there.
* gtk/gtkfilechooserwidget.c : conditional include gtkfilesystemwin32.h
* gdk/win32/gdkwindow-win32.c : implement
gdk_window_set_keep_above() and gdk_window_set_keep_below()
* tests/testmerge.c : don't include unistd.h unconditionally,
#define STDOUT_FILENO if it isn't defined
* tests/testfilechooser.c : make it compile on win32
Thu Nov 13 01:46:32 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkicontheme.c (gtk_icon_theme_init): Use
GTK_DATADIR/{icons,pixmaps} instead of
GTK_DATA_PREFIX/{icons,pixmaps}. (#123365, Marco Pesenti Gritti)
Wed Nov 12 21:40:10 2003 Matthias Clasen <maclas@gmx.de>
Changes to improve menu positioning on Xinerama (#108328):
* gtk/gtkmenu.c (struct _GtkMenuPrivate): Add a menu_num field
to store the monitor on which the menu is to be positioned.
* gtk/gtkmenu.[hc] (gtk_menu_position): Store the monitor number
in the GtkMenuPrivate struct and fetch the monitor geometry after
calling the position_func, in case it has been changed.
* gtk/gtkmenu.c (gtk_menu_set_monitor): New function
to be used in GtkMenuPositionFunc implementations for setting
the monitor_num field in GtkMenuPrivate.
* gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Call
gtk_menu_set_monitor.
Wed Nov 12 21:00:10 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkinputdialog.c (gtk_input_dialog_init): Clarify the
label for the empty list. String change. (#95446, Tomas Ögren)
Wed Nov 12 20:57:50 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkicontheme.h (enum GtkIconLookupFlags): Correct
the definition of the values. (#123361, Marco Pesenti Gritti)
2003-11-12 Padraig O'Briain <padraig.obriain@sun.com>
* gtk/gtkmenu.c (gtk_menu_popup): Do not let pointer position
affect window menu position when popped from keyboard. (#102660)
Wed Nov 12 01:29:32 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbar.c (gtk_toolbar_internal_insert_element): When we
are using the old API, make all items "is_important". That way
BOTH_HORIZ will continue to show both icon and label in old API
mode.
Mon Nov 10 00:40:41 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkeventbox.c (gtk_event_box_set_above_child):
Remember the new value in all cases. (#126276, Damon Chaplin)
Sat Nov 8 21:59:30 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkeventbox.c (gtk_event_box_class_init): Let
visible-window default to TRUE, as documented and
implemented. (#126270 Damon Chaplin)
2003-11-07 Federico Mena Quintero <federico@ximian.com>
Changing GtkFileChooserEntry to use GtkEntryCompletion.
* gtk/gtkfilechooserentry.c (gtk_file_chooser_entry_init): Create
a GtkListStore for the completion list. Create a
GtkEntryCompletion and attach it to the chooser entry.
(gtk_file_chooser_entry_finalize): Unref the completion store.
(completion_match_func): New callback for the GtkEntryCompletion.
(completion_idle_callback): Fill the completion store with filenames.
Wed Nov 5 22:49:36 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkmenu.c (gtk_menu_set_tearoff_state): Set torn off
menus to be transient for the toplevel they were torn off from.
(gtk_menu_get_toplevel): Auxiliary function to find the
toplevel of a menu. (#54775, Jon-Kare Hellan)
Wed Nov 5 21:02:26 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcolorsel.c (update_color):
(make_label_spinbutton):
(adjustment_changed): Change the ranges for Saturation and
Value to be 0-100 instead of 0-255, since these axes of HSV
are usually expressed in percent. (#121519, Gregory Merchan)
Wed Nov 5 21:02:26 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcolorsel.c (update_color):
(make_label_spinbutton):
(adjustment_changed): Change the ranges for Saturation and
Value to be 0-100 instead of 0-255, since these axes of HSV
are usually expressed in percent. (#121519, Gregory Merchan)
2003-11-03 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (error_dialog): Take in a path as
well. Use a helper function.
(shortcuts_append_home): Display an error box if necessary.
(shortcuts_append_desktop): Likewise.
(add_bookmark_button_clicked_cb): Likewise.
(gtk_file_chooser_default_select_path): Likewise.
(entry_activate): Likewise.
(shortcuts_append_paths): New helper function.
(shortcuts_append_file_system_roots): Use
shortcuts_append_paths().
(shortcuts_append_bookmarks): Likewise.
Mon Nov 3 22:45:58 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkwindow-decorate.h: Add G_BEGIN_DECLS/G_END_DECLS to make
these usable in C++. Forgot this file in my Oct 11 commit.
2003-11-03 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (shortcuts_select_folder): Removed.
(create_shortcuts_tree): Don't call the above.
(bookmarks_changed_cb): Likewise.
(tree_selection_changed): Unselect everything from the shortcuts
list. This is the behavior that Mac OS has.
(toolbar_add_item): Return the item.
(toolbar_create): Store the up_button in the impl structure.
(toolbar_check_sensitivity): New function to set the sensitivity
of the "Up" button in the toolbar.
(tree_selection_changed): Call toolbar_check_sensitivity().
2003-11-02 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init): Do
not set a border width for the toplevel container.
(toolbar_create): New function; create a simple toolbar for the
file chooser.
(gtk_file_chooser_default_constructor): Use a spacing of 12 for
the table, as per the HIG.
(gtk_file_chooser_default_init): Likewise, for the default
implementation's vbox.
* gtk/gtkfilesystem.c (gtk_file_system_get_parent): Added docs to
note that NULL is a valid return value for the parent path.
Sat Nov 1 14:59:27 2003 Owen Taylor <otaylor@redhat.com>
* gtk/gtkfilechooserdefault.c (shortcuts_row_activated):
Change on activation, not selection change (temporary
workaround for #125955, needed for keynav, likely
the right UI anyways.)
* gtk/gtkfilechooserdefault.c (shortcuts_select_func):
Don't allow the separator node to be selected.
* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_constructor):
Set the focus chain so that the entry gets focused first.
(Not really right after initial focusing, maybe we
should just have a gtk_file_chooser_focus_entry() that
we call from gtk_file_chooser_dialog on creation.)
Fri Oct 31 02:43:34 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbar.c (get_item_requisition): delete this function
(toolbar_item_is_homogeneous): cache max_homogeneous_pixels
instead of re-calculating for each item.
(gtk_toolbar_size_allocate): Update comments
Thu Oct 30 22:04:31 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbar.c (gtk_toolbar_forall): Only include
placeholders when include_internals is TRUE.
Thu Oct 30 17:57:53 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbar.c (logical_to_physical): Make it work even when
item 0 is a placeholder. (#125826)
* tests/testtoolbar.c: add an assertion that
gtk_toolbar_get_nth_item (0) != NULL
Thu Oct 30 16:20:58 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbar.c (logical_to_physical): Make sure we actually
return the index of a real item.
(get_nth_item) assert that the returned items is not a
placeholder. (#125826, Marco Pesenti Gritti).
2003-10-29 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkcellrendererseptext.c
(gtk_cell_renderer_sep_text_render): Only paint a separator if the
text is NULL, rather than also doing it if it is an empty string.
Wed Oct 29 15:40:26 2003 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmessagedialog.c (gtk_message_dialog_new/
gtk_message_dialog_new_with_format): Allow NULL
for message_format, as described in the docs and
as worked previously. (#125759, Richard Hult)
* gtk/gtkmessagedialog.c (gtk_message_dialog_new_with_markup):
Use g_markup_vprintf_escaped() to escape argumetns.
* gtk/gtkmessagedialog.[ch]: Add gtk_message_dialog_set_markup()
so there is some way to set literal markup.
Wed Oct 29 02:54:35 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbar.[ch] (gtk_toolbar_set_drop_highlight_item): Add this
function; remove gtk_toolbar_highlight_drop_location() and
gtk_toolbar_unhighlight_drop_location().
Also fix bug where the number of overflowed items were miscounted.
Tue Oct 28 10:34:24 2003 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.[ch] (gtk_window_is_active,
gtk_has_toplevel_focus): Add getters corresponding to
the is_active and has_toplevel_focus properties.
(#122531)
2003-10-28 Mark McLoughlin <mark@skynet.ie>
* gtk/gtkexpander.c:
(gtk_expander_class_init): hook up the destroy handler.
(gtk_expander_destroy), (gtk_expander_unrealize):
remove the expand/collapse timeout on destroy instead
of unrealize to avoid leaving the expander in a inconsistent
state when unrealizing during animation.
(gtk_expander_start_animation): remove realized check.
(gtk_expander_set_expanded): if the widget isn't realized,
expand immediately.
Tue Oct 28 09:44:16 2003 Owen Taylor <otaylor@redhat.com>
* gtk/gtkxembed.c (_gtk_xembed_send_focus_message): Silently
do nothing when recipient is NULL, as described in the
doc comment. (#123107, Thomas Leonard)
Mon Oct 27 15:47:58 2003 Manish Singh <yosh@gimp.org>
* gdk/x11/gdkscreen-x11.c: #include <X11/extensions/Xrandr.h> if
we have RandR support, for XRRUpdateConfiguration declaration.
* gtk/gtkfilefilter.c: #include "gtkprivate.h" for _gtk_fnmatch
declaration.
* gtk/gtkuimanager.c (gtk_ui_manager_add_ui_from_file): Make
length a gsize variable, since that's what g_file_get_contents()
expects.
Sat Oct 25 23:30:13 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkactiongroup.c (gtk_action_group_class_init): Add "name"
as a construct-only property. (#125475, Murray Cumming)
Thu Oct 23 21:55:10 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbar.c (gtk_toolbar_highlight_drop_location): Make
this function take an index and a GtkToolItem.
* tests/testtoolbar.c (main): Make "Show Arrow" default to
true. Make one of the separators !draw and expand.
Update for new highlight_drop_location() API.
* gtk/gtktoolitem.[ch]: Remove "pack_end" property
* gtk/gtktoolbar.h: Formatting fixes.
* gtk/gtktoolbar.c: Remove "pack_end" child property. Allow
separator tool items to expand.
(logical_to_physical, physical_to_logical): Fix off-by-one errors
(Fix#125472, Marco Pesenti Gritti)
* gtk/gtkseparatortoolitem.[ch]: Add new "draw" property.
(gtk_separator_tool_item_expose) only draw if "draw" is TRUE. Also
return FALSE, not TRUE.
(gtk_separator_too_item_{set|get}_property,
(gtk_separator_tool_item_{set|get}_draw): new functions
Fri Oct 24 16:54:04 2003 Owen Taylor <otaylor@redhat.com>
* === Released 2.3.0 ===
* configure.in: Remove a stray comma.
* README.in: Fix a few notes about Xft 1 and pango-1.0.
* NEWS: Finish updates for 2.3.0.
* po/Makefile.in.in: Update to latest GLib version.
Fri Oct 24 16:02:32 2003 Owen Taylor <otaylor@redhat.com>
* *.[ch]: Relicense to be dual AFL/LGPL (and thus also
GPL) rather than AFL/GPL. Also update AFL version to 1.2.
Fri Oct 24 20:31:35 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtkcellview.[ch], gtk/gtkcellviewmenuitem.[ch],
gtk/gtkcombobox.[ch], gtk/gtkcomboboxentry.[ch],
gtk/gtktreemodelfilter.[ch]: Fix licensing (I managed to put it
under GPL licensing instead of LGPL...). (Fixes#125381, Soeren
Sandmann).
Wed Oct 22 23:20:04 2003 Owen Taylor <otaylor@redhat.com>
* gtk/gtkfilechooser.[ch] gtk/gtkfilefilter.[ch]
gtk/gtkfilechooserwidget.[ch] gtk/gtkfilechooserdialog.[ch]:
gtk/gtkfilechooserutils.c gtk/gtkfilechooserprivate.[ch]:
Basic framework for the new file selector widget.
* gtk/gtkfilechooserdefault.[ch] gtk/gtkcellrenderersep.[ch]
gtk/gtkfilechooserentry.[ch] gtk/gtkfilesystemmodel.[ch]:
Initial implementation of the GtkFileChooser user interface.
* gtk/gtkfilesystemunix.[ch]: GtkFileSystem implementation
for Unix files.
* configure.in gtk/Makefile.am gtk/xdgmime: Build code
for freedesktop.org MIME system on Unix.
* tests/testfilechooser.c: Test program for GtkFileChooser
* tests/prop-editor.c: Add support for properties on interfaces.
Tue Oct 21 22:07:12 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_real_move_cursor): set
ctrl_pressed and shift_pressed according to the current event
state (if there is one). (Fixes#125063, reported by Sebastien Bacher).
2003-10-20 Federico Mena Quintero <federico@ximian.com>
* gtkfilesystem.c (gtk_file_info_free): Free the info itself.
* gtkfilechooserimpldefault.c (shortcuts_insert_path): Free the
GtkFileInfo.
Mon Oct 20 23:24:27 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtkentry.c (gtk_entry_key_press): remove the completion
timeout when the user pressed on Enter/ESC. Fixes the bug where the
completion popup popped up after the user pressed on Enter (which is
just weird). Reported by the Epiphany people (all of them).
2003-10-20 Federico Mena Quintero <federico@ximian.com>
* gtkfilesystemgnomevfs.c (folder_child_new): New utility
function.
(gtk_file_system_gnome_vfs_get_folder): Use folder_child_new().
(gtk_file_folder_gnome_vfs_get_info): Likewise.
(directory_load_callback): Likewise.
(monitor_callback): Likewise.
* TODO: Removed the item about factoring out the code that creates
FolderChild structures.
Mon Oct 20 20:27:22 2003 Soeren Sandmann <sandmann@daimi.au.dk>
Add support for OS X like sliding of toolbar items during drag and
drop, (#110919, Dave Bordoley)
Make dnd highlighting the responsibility of the
application. (Fixes#116298, Owen Taylor)
* gtk/gtktoolbar.h: Add prototypes for new API.
* gtk/gtktoolbar.c
(physical_to_logical, logical_to_physical): new functions
converting between "position including placeholders" and "position
excluding placeholders".
(gtk_toolbar_class_init): remove drag_leave and drag_motion
handlers
(struct _ToolbarContent): new struct containing information
related to toolbar items.
(gtk_toolbar_highlight_drop_location): new public function
(gtk_toolbar_unhighlight_drop_location): new public function
* tests/testtoolbar.c
(toolbar_drag_motion, toolbar_drag_leave): new functions
(main): connect to dnd signals. Make the "New" item expand to
make drag and drop more exciting.
2003-10-17 Federico Mena Quintero <federico@ximian.com>
* gtkfilesystemgnomevfs.c
(gtk_file_system_gnome_vfs_get_supports_bookmarks): Removed.
(gtk_file_system_gnome_vfs_set_bookmarks): Removed.
(gtk_file_system_gnome_vfs_add_bookmark): Implement.
(gtk_file_system_gnome_vfs_remove_bookmark): Implement.
* gtkfilechooserprivate.h (struct _GtkFileChooserIface): Replaced
the ::set_shortcut_folders() method with :;add_shortcut_folder()
and ::remove_shortcut_folder().
* gtkfilechooserutils.c (delegate_add_shortcut_folder): New function.
(delegate_remove_shortcut_folder): New function.
(delegate_list_shortcut_folders): New function.
* gtkfilechooserimpldefault.c (create_shortcuts_model): Insert the
Desktop directory as well.
(shortcuts_insert_path): Renamed from shortcuts_append_path; now
takes a position index instead of a parent node iter. Also takes
a GError argument.
(struct _GtkFileChooserImplDefault): Removed the shortcuts_folder
list. It is all kept in the model now.
(shortcuts_append_home): Save whether adding a shortcut for the
home directory was successful.
(shortcuts_append_desktop): Likewise for the desktop.
(shortcuts_append_file_system_roots): Count and save the number of
roots added.
(shortcuts_append_shortcut_folders): Removed.
(gtk_file_chooser_impl_default_add_shortcut_folder): Implement.
(shortcuts_append_bookmarks): Now that we don't have a bookmarks
parent node, don't expand the tree.
(add_bookmark_button_clicked_cb): Use gtk_file_system_add_bookmark().
(remove_bookmark_button_clicked_cb): Use gtk_file_system_remove_bookmark().
(gtk_file_chooser_impl_default_list_shortcut_folders): Get the
folders from the shortcuts model; we no longer keep a separate list.
* gtkfilesystem.h (struct _GtkFileSystemIface): Oops, there
shouldn't be shortcuts-related virtual methods here.
* gtkfilechooser.c (file_paths_to_strings): New helper function.
(gtk_file_chooser_get_filenames): Use file_paths_to_strings().
(gtk_file_chooser_get_uris): Likewise.
(gtk_file_chooser_set_shortcut_folders): Removed.
(gtk_file_chooser_list_shortcut_folders): Return a list of
strings, not of GtkFilePath*.
(gtk_file_chooser_list_shortcut_folder_uris): New function.
(gtk_file_chooser_add_shortcut_folder): New function.
(gtk_file_chooser_remove_shortcut_folder): New function.
(gtk_file_chooser_add_shortcut_folder_uri): New function.
(gtk_file_chooser_remove_shortcut_folder_uri): New function.
(_gtk_file_chooser_add_shortcut_folder): New function.
(_gtk_file_chooser_remove_shortcut_folder): New function.
* gtkfilechooser.h: New enum.
* gtkfilechooser.c (gtk_file_chooser_error_quark): New function.
* gtkfilesystem.c (gtk_file_system_get_supports_bookmarks): Removed.
(gtk_file_system_set_bookmarks): Removed.
(gtk_file_system_add_bookmark): New function.
(gtk_file_system_remove_bookmark): New function.
* gtkfilesystemunix.c
(gtk_file_system_unix_get_supports_bookmarks): Removed.
(gtk_file_system_unix_set_bookmarks): Removed.
(gtk_file_system_unix_add_bookmark): Just a stub for now.
(gtk_file_system_unix_remove_bookmark): Likewise.
* testfilechooser.c (main): Add a shortcut for testing purposes.
Wed Oct 15 22:31:09 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtkcombobox.h: add padding to the class structure.
* gtk/gtkcomboboxentry.h: ditto.
* gtk/gtkentrycompletion.h: ditto.
Wed Oct 15 22:04:59 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtkcombobox.c (gtk_combo_box_get_active),
(gtk_combo_box_set_active): mention in the docs that -1 is a valid
value and what it means.
* gtk/gtkcomboboxentry.c (gtk_combo_box_entry_init): set the active
item to -1 (default),
(gtk_combo_box_entry_active_changed): do nothing when the index is
< 0.
2003-10-14 Federico Mena Quintero <federico@ximian.com>
* gtkfilechooserimpldefault.c (create_shortcuts_tree): Added a
button to remove a bookmark.
(remove_bookmark_button_clicked_cb): New callback.
(shortcuts_append_bookmarks): Show/hide the bookmarks buttons
here, rather than in create_shortcuts_tree().
(shortcuts_append_path): Return whether the operation succeeded.
(shortcuts_selection_changed): Set the sensitivity of the button
used to remove a bookmark.
(shortcuts_append_bookmarks): Do not select the shortcuts folder
here; let the caller do it if needed.
(create_shortcuts_tree): Select the shortcuts folder here.
(bookmarks_changed_cb): Likewise.
(create_shortcuts_tree): Also set the sensitivity of the bookmarks
buttons.
(bookmarks_check_add_sensitivity): Renamed from
check_bookmarks_sensitivity().
(shortcuts_select_folder): Renamed from select_shortcuts_folder().
(bookmarks_check_add_sensitivity): The current_path may not be set
yet.
(shortcuts_append_bookmarks): Oops, remove all the bookmark rows,
not just the separator node.
(bookmarks_changed_cb): Set the sensitivity of the bookmarks
buttons.
Tue Oct 14 16:10:21 2003 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_set_active_iter): New function
to set the active row by iter.
* gtk/gtkcombobox.c (gtk_combo_box_get_active_iter): New function
to get the active row by iter.
2003-10-13 Federico Mena Quintero <federico@ximian.com>
* gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Don't do
operations on windows if the tree view is not mapped.
(gtk_tree_view_button_press): Compare equal types of pointers, not
GtkWidget* vs. GtkTreeView*.
2003-10-13 Federico Mena Quintero <federico@ximian.com>
* gtkfilechooserimpldefault.c (check_bookmarks_sensitivity): Walk
the whole shortcuts model, not just the bookmarks part --- there
is no need to add bookmarks for "stock" volume items.
(gtk_file_chooser_impl_default_set_property): Oops, hide/show the
tree/list as appropriate for the folder_mode property.
Mon Oct 13 21:01:43 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtkentrycompletion.c (gtk_entry_completion_popup): remove
the reset of first_sel_changed, as after the first popup the treeview
will always have a row selected and will thus not focus_to_cursor.
* gtk/gtkentry.c (keyval_is_cursor_move): new function to determine
whether the keyval should move the completion selection cursor (used
to avoid ending up with extreme cluttered code), also added
all KP_ equivalents of the keys here,
(gtk_entry_completion_key_press): Keynav tweaks based on comments
from Dave Bordoley and Marco Pesenti Gritti; add the -1 state
as possible current selection, implement Home/End keys, modified
the down key to stop cycling. Maybe page up/down should be implemented
at some later time.
Mon Oct 13 20:21:38 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtkentry.c (gtk_entry_set_text): I overlooked an if when
I was adding the signal block/unblock code. Oops. (Noticed by
Marco Pesenti Gritti).
2003-10-12 Federico Mena Quintero <federico@ximian.com>
* gtkfilesystemgnomevfs.c (gtk_file_folder_gnome_vfs_get_info):
Read the file's information from gnome-vfs if we haven't finished
loading the directory yet.
* gtkfilechooserimpldefault.c (tree_selection_changed): Set the
sensitivity of the bookmarks button depending on whether the
current folder already exists in the bookmarks list.
(shortcuts_selection_changed): Re-select the appropriate shortcuts
folder if the user clicks on the separator row.
(set_list_model): New function; moved the code from
tree_selection_changed().
(tree_selection_changed): Use set_list_model().
(create_folder_tree): Show the tree model only if we are in folder
mode.
(create_file_list): Show the list model only if we are not in
folder mode.
Sat Oct 11 19:09:05 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtkentry.c (gtk_entry_set_text): Check if completion is
non-NULL before accessing it. Oops.
Sat Oct 11 15:47:03 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtkentrycompletion.[ch] (gtk_entry_completion_insert_action),
(gtk_entry_completion_insert_action_text),
(gtk_entry_completion_insert_action_markup): the gchar* parameters
should be const (pointed out by both Marco Pesenti Gritti and
Murray Cumming (#124356).
Sat Oct 11 15:37:19 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtkcombobox.c (gtk_combo_box_size_allocate): for the custom
child list mode, allocate the height allocation->height to the
button instead of the height requested by the button. (Tiny
size allocation screwup noticed by Macro Pesenti Gritti).
Sat Oct 11 15:23:27 2003 Kristian Rietveld <kris@gtk.org>
Fixes based on comments from Marco Pesenti Gritti.
* gtk/gtkentry.c (gtk_entry_set_text): block the completion changed
signal handler, avoids the completion popup to popup when text is
set programmatically in most cases (we actually have to handle this
in the _editable functions as well, but that will break popping up
when the user actually typed something :),
(gtk_entry_completion_key_press): when handling enter, bail out
when nothing has been selected,
(gtk_entry_completion_changed): don't popdown when the entry content
changed.
* gtk/gtkentrycompletion.c (gtk_entry_completion_init),
(gtk_entry_completion_selected_changed): unselect_all on the
first selected changed signal. Avoids having a default row selected,
(_gtk_entry_completion_popup): don't select the first row by default.
* gtk/gtkentryprivate.h (struct _GtkEntryCompletionPrivate): add a
first_sel_changed field.
Fri Oct 10 19:10:12 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtkcombo.h: Deprecate.
* gtk/gtkoptionmenu.h: Ditto.
* gtk/gtkcombobox.c (gtk_combo_box_size_request),
(gtk_combo_box_size_allocate): Rework, things behave better now. Still
needs some work on requesting enough size when taking the items in
the list into account.
* gtk/gtkfilesel.c: put gtkoptionmenu.h include inside "enable
deprecated" guards.
* gtk/gtkinputdialog.c: ditto.
* gtk/gtkitemfactory.c: ditto.
* gtk/gtkoptionmenu.c: ditto.
* demos/gtk-demo/menus.c: remove the option menu.
* demos/gtk-demo/sizegroup.c: replace the option menus with
GtkComboBox.
* demos/gtk-demo/textview.c: ditto.
(A general GtkComboBox demo will be added later on).
2003-10-08 Federico Mena Quintero <federico@ximian.com>
* gtkfilechooserimpldefault.c (tree_selection_changed): Autosize
the columns after the model is set.
(shortcuts_append_path): Add optional indentation to items.
(shortcuts_append_bookmarks): Indent bookmark items.
(create_shortcuts_tree): Set the "xpad" attribute of the name
renderer to be fetched from the indent column.
(shortcuts_append_bookmarks): Use NULL for the name of the
bookmarks node, so that a separator gets drawn.
(create_shortcuts_tree): Create a GtkCellRendererSepText.
* gtkcellrendererseptext.[ch]: New files with a cell renderer that
can display text or a separator line.
* Makefile.am (libgtkfilechooser_la_SOURCES): Added
gtkcellrendererseptext.[ch].
2003-10-07 Federico Mena Quintero <federico@ximian.com>
* gtkfilesystem.h (struct _GtkFileSystemIface): Added methods for
::get_supports_bookmarks(), ::set_bookmarks(), ::list_bookmarks().
Added a ::bookmarks_changed() signal.
* gtkfilesystem.c (gtk_file_system_get_supports_bookmarks): New function.
(gtk_file_system_set_bookmarks): New function.
(gtk_file_system_list_bookmarks): New function.
(gtk_file_system_base_init): Create the "bookmarks-changed" signal.
(gtk_file_paths_copy): New function.
* gtkfilesystemunix.c (gtk_file_system_unix_get_supports_bookmarks): Implement.
(gtk_file_system_unix_set_bookmarks): Implement.
(gtk_file_system_unix_get_bookmarks): Implement.
* gtkfilesystemgnomevfs.c (struct _GtkFileSystemGnomeVFS): Added
fields for the bookmarks and the GConfClient.
(gtk_file_system_gnome_vfs_set_bookmarks): Implement.
(gtk_file_system_gnome_vfs_list_bookmarks): Implement.
* gtkfilechooserprivate.h (struct _GtkFileChooserIface): Added
methods for ::set_shortcut_folders(), ::list_shortcut_folders().
* gtkfilechooser.c (gtk_file_chooser_set_shortcut_folders): New
function.
(gtk_file_chooser_list_shortcut_folders): New function.
* gtkfilechooserimpldefault.c (create_shortcuts_model): Unref the
old shortcuts model if it exists. Create the nodes for the
app-specific shortcut folders.
(struct _GtkFileChooserImplDefault): Added a field for the
shortcut_folders.
(gtk_file_chooser_impl_default_set_shortcut_folders): Implement.
(select_shortcuts_folder): New helper function.
(gtk_file_chooser_impl_default_set_current_folder): Use
select_shortcuts_folder().
(shortcuts_append_path): Get the file info here, instead of the
caller.
(shortcuts_append_home): Use shortcuts_append_path().
(shortcuts_append_file_system_roots): Likewise.
(create_shortcuts_model): Add the app-specific shortcut folders
and the bookmarks.
(gtk_file_chooser_impl_default_list_shortcut_folders): Implement.
(create_shortcuts_tree): Added a button to let the user add the
current folder to the bookmarks.
(gtk_file_chooser_impl_default_set_property): Connect to
"bookmarks-changed" on the file system.
(shortcuts_append_bookmarks): New function.
* configure.ac: Depend on GConf.
Tue Oct 7 23:23:05 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkplug.c (xembed_set_info): Put the supported protocol
version in in the right field of the _XEMBED_INFO property.
(#123885, Denis Mikhalkin)
Mon Oct 6 14:18:47 2003 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkexpander.c (gtk_expander_animation_timeout): only show
the child if we have one.
(gtk_expander_button_release): use
gtk_widget_activate instead.
Mon Oct 6 21:05:46 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtktable.c (gtk_table_class_init): Start the blurb for
"right_attach" with a capital. (#123945, Christian Rose)
Sun Oct 5 22:38:22 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkeventbox.c (gtk_event_box_class_init): Trim whitespace in
"visible-window" blurb. (#123910, Christian Rose)
Fri Oct 3 20:50:48 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtkcombobox.c (gtk_combo_box_set_model): only set the model
on ->priv->cell_view if ->priv->cell_view is non-NULL.
* gtk/gtkcomboboxentry.c: include gtkintl.h, add text_renderer
field to GtkComboBoxEntryPrivate,
(gtk_combo_box_entry_class_init), (gtk_combo_box_entry_init),
(gtk_combo_box_entry_set_property), (gtk_combo_box_entry_get_property),
(gtk_combo_box_entry_set_text_column), (gtk_combo_box_entry_new): add
a construct-only "text_column" property and reorder code to use it
and support inheriting this widget.
2003-10-01 Federico Mena Quintero <federico@ximian.com>
* gtkfilechooserimpldefault.c (name_sort_func): Simplify with a
macro. This bloats the compiled code, but at least it makes the
human-readable code not egregiously ugly.
(size_sort_func): Likewise.
(mtime_sort_func): Likewise.
Wed Oct 1 22:43:40 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtkcellview.[ch]: implement the GtkCellLayout interface, drop
packing/attribute/cell data functions from the header,
(gtk_cell_view_set_cell_data): added support for cell data funcs.
* gtk/gtkcombobox.[ch]: implement the GtkCellLayout interface, drop
packing/attribute/cell data functions from the header, implemented
cell data func support.
* gtk/gtkcomboboxentry.c (gtk_combo_box_entry_new): updated
for the move to GtkCellLayout.
* tests/testcombo.c (create_combo_box_grid_demo), (main): ditto.
2003-10-01 Federico Mena Quintero <federico@ximian.com>
* gtkfilechooserimpldefault.c (tree_selection_changed): Use enum
values instead of plain numbers for the file lists's sort columns.
(create_file_list): Likewise.
(tree_selection_changed): Make the file list start up sorted by
name, and don't specify a default sorting function, so that there
is no unsorted order. This is for consistency with Nautilus.
(list_sort_column_changed_cb): Callback; we cache whether the sort
order for the file list's name column is ascending or not.
(compare_with_folders_first): New helper function to sort
directories before files.
(name_sort_func): Use compare_with_folders_first().
(size_sort_func): Likewise.
(mtime_sort_func): Likewise.
Of course this callback mess would be easy in a real language:
(set-sort-func sortable NAME_COLUMN
(make-comparer impl (lambda (a b) (strcmp (get-name a) (get-name b)))))
(set-sort-func sortable SIZE_COLUMN
(make-comparer impl (lambda (a b) (compare (get-size a) (get-size b)))))
... etc ...
(define (make-comparer impl f)
(lambda (a b)
(if (eq (is-dir? a) (is-dir? b))
(f a b)
(if (sort-ascending? impl)
(if (is-dir? a) -1 1)
(if (is-dir? a) 1 -1)))))
2003-10-01 Matthias Clasen <maclas@gmx.de>
* gtk/gtkaction.c (gtk_action_class_init):
(gtk_action_[gs]et_property): Introduce a separate
"hide_if_empty" property for empty menu handling.
(_gtk_action_sync_menu_visible): ...and use it here.
* tests/testmerge.c (main): ...and here.
2003-09-30 Federico Mena Quintero <federico@ximian.com>
* gtkfilechooserimpldefault.c (struct _GtkFileChooserImplDefault):
Added fields for the shortcuts tree and its model.
(create_file_list): Don't call
gtk_tree_view_column_set_sort_column_id() twice.
(create_shortcuts_model): New function.
(list_icon_data_func): Use an ICON_SIZE macro instead of a
hardcoded value.
(list_row_activated): Use _gtk_file_chooser_set_current_folder_path()
to avoid converting the GtkFilePath to a URI string.
(gtk_file_chooser_impl_default_set_current_folder): Select the
appropriate item from the shortcuts list when the current folder
changes, to let the user know where he is.
(tree_selection_changed): Likewise.
* gtkfilesystem.h (struct _GtkFileSystemIface): Added methods for
::supports_shortcuts(), ::list_shortcuts(), ::set_shortcuts().
2003-10-01 Matthias Clasen <maclas@gmx.de>
* gtk/gtkmain.c: Doc formatting tweaks.
* gtk/gtktoolitem.c (gtk_tool_item_set_is_important): Fix a typo.
* gtk/gtkcheckmenuitem.h (gtk_check_menu_item_set_draw_as_radio):
Use the same parameter names as in .c file, to pacify gtk-doc.
* gtk/gtktoggletoolbutton.[hc]:
* gtk/gtktoolbutton.[hc]:
* gtk/gtktoolitem.[hc]:
* gtk/gtktoolbar.[hc]:
* gtk/gtkcolorbutton.[hc]:
* gtk/gtkfontbutton.[hc]:
* gtk/gtkalignment.[hc]: Define GET_PRIVATE macros in the
source, not in the header.
* gtk/gtkcheckmenuitem.c (gtk_check_menu_item_[sg]et_draw_as_radio):
Document these as 2.4 API additions.
* gtk/tmpl/gtkaction.sgml: Fix cross reference to GtkMenuMerge.
* gtk/gtk-sections.txt: Additions.
* gtk/tmpl/gtkitemfactory.sgml: Add hint to use #GtkUIManager instead.
Tue Sep 30 22:59:58 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeviewcolumn.c: Some API doc comment fixes.
* gtk/gtkcellayout.c: Fix #include and oooooh API doc comments!
2003-09-30 Matthias Clasen <maclas@gmx.de>
* tests/merge-*.ui:
* tests/testmerge.c: Test handling of empty menus.
* gtk/gtkuimanager.c (_gtk_menu_is_empty): New function to determine
whether a menu is empty. Used in gtkaction.c.
(update_smart_separators): Also update the visibility of empty menus.
(update_node): When creating a new menu proxy, insert an "Empty" menu
item which only gets shown if the menu is empty.
* gtk/gtkaction.c (gtk_action_class_init): Document the meaning of
"is_important" for menu proxies.
(_gtk_action_sync_menu_visible): New function to sync the visibility
of menu proxies. Used in gtkuimanager.c.
(gtk_action_sync_visible): New function to sync the visibility of
proxies.
Tue Sep 30 21:43:34 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtkcombobox.c (gtk_combo_box_menu_button_press): set
popup_in_progress to TRUE,
(gtk_combo_box_menu_show): and back to FALSE here; the menu now
won't disappear on the first button release. (Reported by Matthias
Clasen).
2003-09-30 Murray Cumming <murrayc@usa.net>
* gtk/gtkcellrenderer.h: The render vfunc takes a GdkDrawable*
instead of a GdkWindow*, because that what it is given. The
documentation was already correct. This should cause no API/ABI
breakage with C compilers.
* gtk/gtkcellrenderertext.c, gtkcellrendererpixbuf.c,
gtkcellrenderertogger.c: Updated the declarations of the render vfunc
implementation accordingly.
2003-09-27 Matthias Clasen <maclas@gmx.de>
* gtk/gtkwindow.c (gtk_window_new):
* gtk/gtkitemfactory.c (gtk_item_factory_new): Document
the fact that the newly created object does not come with
a floating reference. (#103068, patch by Frederic Lespez)
2003-09-27 Matthias Clasen <maclas@gmx.de>
* gtk/gtkitemfactory.h: Deprecate GtkItemFactory in favor
of GtkUIManager. Just leave GtkTranslateFunc undeprecated,
since GtkActionGroup uses it.
2003-09-27 Matthias Clasen <maclas@gmx.de>
* tests/testmerge.c: Demonstrate the use of the
connect-proxy signal.
* gtk/gtkaction.c (connect_proxy): Add connect-proxy and
disconnect-proxy signals to do small customizations
like displaying tooltips in the statusbar without
custom actions. (#122894, Philip Langdale)
* gtk/gtkuimanager.c (update_node): Don't leak tooltip.
Fri Sep 26 23:49:44 2003 Kristian Rietveld <kris@gtk.org>
Landing the new ComboBox. Note that only gtkcombobox.h and
gtkcomboboxentry.h are public.
* gtk/gtkcellview.[ch], gtk/gtkcellviewmenuitem.[ch],
gtk/gtkcombobox.[ch], gtk/gtkcomboboxentry.[ch]: new files.
* gtk/Makefile.am, gtk/gtk.h: adding the new files.
* tests/testcombo.c: and a new test.
* tests/Makefile.am: adding the new test.
2003-09-24 Matthias Clasen <maclas@gmx.de>
* gtk/gtkaction.c (connect_proxy): Sync tooltips on toolitems.
* gtk/gtkuimanager.c (update_node): Don't complain about missing
actions on popups. Re-set "tooltip" property on toolitems after
adding them to parent to trigger proxy update.
2003-09-22 Matthias Clasen <maclas@gmx.de>
* tests/testmerge.c (main): Initially activate the JUSTIFY_RIGHT
group member to test the fix for #122904.
* gtk/gtkactiongroup.c (gtk_action_group_add_radio_actions_full):
Add the action to the group before activating it, otherwise we
may end up with multiple active group members. (#122904, Marco
Pesenti Gritti)
2003-09-21 Matthias Clasen <maclas@gmx.de>
Changes to make cross-process merging feasible:
* gtk/gtkuimanager.[hc]: Add a readonly "ui" property which holds the
merged UI definition. Remove the "changed" signal, since its role
is now filled by "notify::ui". Instead add a "actions-changed" signal
which gets emitted when the set of actions changes.
* gtk/gtktoggleactionprivate.h:
* gtk/gtktoggleaction.[hc] (gtk_toggle_action_[sg]et_draw_as_radio):
Add a "draw_as_radio" property to toggle actions so that they can be
used as proxies for radio actions much like the "draw_as_radio"
property on check menu items enables them to operate as proxies for
radio actions.
Prevent the "show_all" trap for action-based menus (see
http://mail.gnome.org/archives/gtk-devel-list/2003-September/
msg00260.html):
* gtk/gtkmenu.c (gtk_menu_{hide,show}_all): Remove g_return_if_fail()
calls from static functions.
* gtk/gtkuimanager.c (update_node):
* gtk/gtkaction.c (connect_proxy): Set "no_show_all" on constructed
widgets whose visibility is externally controlled.
* gtk/gtkwidget.[hc] (gtk_widget_[gs]et_no_show_all): Add a boolean
"no_show_all" property with setter and getter. When TRUE, it keeps
gtk_widget_{hide,show}_all() from modifying the visibility of the
widget and its children.
2003-09-20 Tor Lillqvist <tml@iki.fi>
* gtk-zip.sh.in: Don't use zip -r on the etc directory, to avoid
including editor backup files. List files we want explicitly.
* gtk/gtkmain.c (_gtk_get_lc_ctype): New function. On Unix, just
calls setlocale (LC_CTYPE, NULL). On Windows, looks for the
LC_ALL, LC_CTYPE and LANG environment variables, than calls
g_win32_getlocale().
(gtk_get_default_language): Code snippet moved to above function,
call it.
* gtk/gtkimmulticontext.c (gtk_im_multicontext_get_slave)
* gtk/gtkrc.c (gtk_rc_context_parse_file): Call
_gtk_get_lc_ctype() instead of setlocale().
2003-09-18 Matthias Clasen <maclas@gmx.de>
* gtk/gtkaction.c (gtk_action_finalize): Call g_closure_unref() to
unref a closure, not g_object_unref(). (#122637, Marco Pesenti Gritti)
2003-09-18 Matthias Clasen <maclas@gmx.de>
Install accelerators on actions, not on proxies, support
accelerator-only actions:
* gtk/gtkmenu.c (get_accel_path): New function to get the accel path
and its lock status either via _gtk_widget_get_accel_path() or by
looking at the accel_path stored in the menu item itself and determining
its lock status by peeking into the contained accel label. This was
already (accidentally) committed a week ago.
* gtk/gtkaction.h (gtk_action_set_accel_group):
(gtk_action_[dis]connect_accelerator): New functions.
* gtk/gtkaction.c (struct _GtkActionPrivate): Add accel_group,
accel_closure and accel_count. We must have a reference to the accel_group,
since we need it in connect_proxy. The count is necessary to ensure
that the accelerator isn't removed before the last proxy requesting
it has been unmerged.
(connect_proxy): Connect the accelerator to the
action now, only set the accel_path on the menuitem.
(remove_proxy): Disconnect the accelerator from the action, not from
the menuitem.
(gtk_action_set_accel_group): Set the accel group.
(gtk_action_[dis]connect_accelerator): Count the number of times
this functions have been called and install/remove the accelerator if
the count leaves/reaches zero.
* gtk/gtkuimanager.h (GtkUIManagerItemType): Add
GTK_UI_MANAGER_ACCELERATOR.
* gtk/gtkuimanager.c (NodeType): Add NODE_TYPE_ACCELERATOR.
(start_element_handler): Create NODE_TYPE_ACCELERATOR nodes from
<accelerator> elements.
(gtk_ui_manager_add_ui): Create NODE_TYPE_ACCELERATOR nodes when
type is GTK_UI_MANAGER_ACCELERATOR.
(update_node): Set the accel group on actions before creating their
proxies. Don't set the accel group on created menus. For
NODE_TYPE_ACCELERATOR nodes, [dis]connect the actions' accelerator.
(print_node): Also emit <accelerator> elements.
* tests/testmerge.c (dump_accels): Add a "Dump Accels" button.
2003-09-17 Matthias Clasen <maclas@gmx.de>
* gtk/gtkuimanager.c (text_handler): Report unexpected character
data as error from the GMarkup parser, otherwise things like
gtk_ui_manager_add_ui_from_string (ui, "Hi there!", -1, &error)
pass unexpectedly.
* gtk/gtkuimanager.c (update_smart_separators): New function which
implements "smart" separators by iterating once over the entries of a
menu, hiding and showing separators as necessary.
(update_node): Mark separators used as fences of placeholders as
hidden. Explicitly added separators are marked as smart. Call
update_smart_separators after updating a menu or toolbar node.
Connect update_smart_separators to "notify::visible" signal on menu
and tool items.
* tests/merge-[12].ui: Test smart separators.
* gtk/tmpl/gtkuimanager.sgml: Add a paragraph about smart separators.
2003-09-15 Matthias Clasen <maclas@gmx.de>
* gtk/gtkactiongroup.[hc]: (gtk_action_group_add_radio_actions):
(gtk_action_group_add_radio_actions_full): Add value parameter to allow
setting the currently selected group member before connecting signals.
(GtkToggleActionEntry): Separate struct for constructing toggle actions,
including a boolean to initialize the action state before connecting
signals.
(gtk_action_group_add_toggle_actions):
(gtk_action_group_add_toggle_actions_full): New functions to construct
toggle actions from an array of GtkToggleActionEntries.
* demos/gtk-demo/appwindow.c:
* tests/testactions.c:
* tests/testmerge.c: Adjust to new action group API.
* gtk/gtk-sections.txt: Add gtk_action_group_add_toggle_actions[_full].
2003-09-15 Bastien Nocera <hadess@hadess.net>
* gtkfilefilter.c: (gtk_file_filter_filter): avoid crash when
selecting a new filter and clicking a different directory
Sun Sep 14 16:59:52 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbar.c (gtk_toolbar_init): Name the arrow
"gtk-toolbar-arrow" so themes can special-case it.
Sun Sep 14 15:49:00 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbar.c (toolbar_item_is_homogeneous): Unref the
PangoFontMetrics. Patch from Steve Chaplin (#122257).
Fri Sep 12 16:32:53 2003 Jonathan Blandford <jrb@redhat.com>
Merge from stable.
* gtk/gtktreeview.c (gtk_tree_view_button_press): only save the
pressed button (used to determine if we want to initiate a drag later
on) if the current grab widget is either NULL or tree_view (Reported
by Jeroen Zwartepoorte).