2004-07-07 Matthias Clasen <mclasen@redhat.com>
Support separators in combo boxes and more generally in tree
views (#135873):
* gtk/gtkcombobox.h:
* gtk/gtkcombobox.c (gtk_combo_box_get_row_separator_column):
* gtk/gtkcombobox.c (gtk_combo_box_set_row_separator_column):
Add a ::row-separator-column property with getter and setter,
which can indicate a boolean model column to determine which
rows are separators.
* gtk/gtkcombobox.c: Display separator rows as separator menu
items in menu mode, and by using the new treeview separator
functionality in list mode.
* gtk/gtktreeview.h:
* gtk/gtktreeview.c (gtk_tree_view_get_row_separator_func):
* gtk/gtktreeview.c (gtk_tree_view_set_row_separator_func):
Add a callback to determine whether a row is a separator.
* gtk/gtktreeview.c (gtk_tree_view_bin_expose):
* gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon):
* gtk/gtktreeview.c (validate_row): Use the new callback
to determine whether a row is a separator, and draw it
as a separator then. Since separators should take up less
vertical space than regular rows, this requires removing
the redundant MAX(...,expander_size) calls which appear in
many places. Instead, the MAX() is now only done in
validate_row(), and only if the row is not a separator.
To catch possible side effects of this intrusive change,
I have left EXPANDER_MAX() calls in place of the MAX() calls
which will emit a warning if something breaks. They should
be removed before 2.6.
* gtk/gtktreeselection.c (row_is_selectable): Don't let
separator rows be selected.
* tests/testcombo.c (create_blaat): Add a separator column.
2004-07-06 Matthias Clasen <mclasen@redhat.com>
* gtk/stock-icons/Makefile.am: Add stock_file_16.png,
stock_file_24.png, stock_directory_16.png and stock_directory_24.png.
* gtk/gtkstock.h (GTK_STOCK_FILE, GTK_STOCK_DIRECTORY):
* gtk/gtkiconfactory.c (get_default_icons): New stock icons as
fallbacks for gtkfilechooser. Currently these are the same images
as the "new" and "open" items...
Tue Jul 6 10:00:22 2004 Jonathan Blandford <jrb@redhat.com>
Fix for #136496, Pawel Salek:
* gtk/gtktreeview.c (gtk_tree_view_row_changed): Queue a redraw on
a node when it changes in fixed_height mode.
(gtk_tree_view_node_queue_redraw): new function to queue a redraw
on a node.
2004-07-06 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkmenu.c (gtk_menu_position): Make sure
private->monitor_num is a valid monitor number before
using it. (#139187, Michael Natterer)
2004-06-25 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfontbutton.c (gtk_font_button_update_font_info): Avoid
a crash if the font doesn't exist. (#144967, Yevgen Muntyan)
Mon Jul 5 23:47:38 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkfilechooserutils.c (delegate_notify): Use
the less efficient g_object_interface_find_property () instead
of the param_id range check, since the GParamSpecs we're
dealing with are the overridden onces on the interface, whose
param_id is always zero. (#145312, Alex Roitman, fix proposed
by Owen Taylor)
* gtk/gtklayout.c (gtk_layout_add): added a default method for the add
virtual method of GtkContainer.
(gtk_layout_class_init): assign gtk_layout_add to the 'add' virtual
method slot of the container class.
2004-07-05 Anders Carlsson <andersca@gnome.org>
* gtk/gtkiconview.c: (gtk_icon_view_set_markup_column):
* gtk/gtkiconview.h:
Use gint, not int in gtk_icon_view_set_markup_column,
(Paolo Maggi)
2004-07-05 Anders Carlsson <andersca@gnome.org>
* gtk/gtkiconview.c: (gtk_icon_view_class_init),
(gtk_icon_view_real_select_cursor_item),
(gtk_icon_view_real_activate_cursor_item):
* gtk/gtkiconview.h:
Add an "activate_cursor_item" action signal
and bind it to the return key.
2004-07-04 Anders Carlsson <andersca@gnome.org>
* configure.in:
* libegg/iconlist/eggiconlist.c: (egg_icon_list_expose),
(scroll_timeout), (egg_icon_list_motion),
(egg_icon_list_button_press), (egg_icon_list_update_rubberband),
(egg_icon_list_start_rubberbanding),
(egg_icon_list_stop_rubberbanding),
(egg_icon_list_unselect_all_internal),
(egg_icon_list_real_select_all),
(egg_icon_list_adjustment_changed), (egg_icon_list_item_free),
(egg_icon_list_select_item), (verify_items),
(egg_icon_list_row_changed), (egg_icon_list_row_inserted),
(egg_icon_list_row_deleted), (egg_icon_list_rows_reordered),
(egg_icon_list_select_all_between),
(egg_icon_list_move_cursor_up_down),
(egg_icon_list_move_cursor_page_up_down),
(egg_icon_list_move_cursor_left_right),
(egg_icon_list_move_cursor_start_end), (egg_icon_list_set_model),
(egg_icon_list_get_selected_items), (egg_icon_list_select_all),
(egg_icon_list_unselect_all):
* libegg/iconlist/eggiconlist.h:
* libegg/iconlist/testiconlist.c: (foreach_selected_remove):
Fix the "selection_changed" signal to not get emitted twice in some cases.
Also fix a bunch of issues reported by Jonathan.
Sun Jul 4 01:29:35 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcalendar.c (gtk_calendar_drag_data_get):
(gtk_calendar_drag_data_received): Fix off-by-one error.
GDate month is one-based and GtkCalendar month is zero-based.
(#145134, William Jon McCann)
Sun Jul 4 01:11:07 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtktreestore.c (gtk_tree_store_move): Don't crash if
somebody tries to move a node after itself in a list of
length 1. (#145291, Sampo Nurmentaus)
Sat Jul 3 02:09:51 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtksocket.c (gtk_socket_end_embedding): Reset current_width
and current_height to 0 when ending the embedding. (#143675,
Nickolay V. Shmyrev)
Sat Jul 3 01:48:19 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkentry.c (gtk_entry_move_visually): Let the cursor move
to the right end of the entry text, even if it ends in combining
marks. (#141728, Theppitak Karoonboonyanan)
Fri Jul 2 22:41:27 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkimage.c (gtk_image_expose): Properly align mask and
pixbuf if a subarea is exposed. (#135423, fix by John Ehresman)
Fri Jul 2 21:40:21 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtknotebook.c (gtk_notebook_realize): Add scroll events
to the event mask, set a scroll_event handler.
* gtk/gtknotebook.c (gtk_notebook_scroll): Handle scroll events
by switching tabs. (#145244, Gabriel de Perthuis)
2004-06-30 Anders Carlsson <andersca@gnome.org>
* gtk/gtktreeview.c (gtk_tree_view_set_model): Use
g_return_if_fail to make sure that the model is a GtkTreeModel.
Sat Jun 26 17:41:10 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtk[hv]separator.c (gtk_[hv]separator_expose): Draw line with the
current state, not GTK_STATE_NORMAL
* gtk/gtkframe.c (gtk_frame_paint): Fix a rounding error
Sat Jun 26 21:05:15 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* libegg/iconlist/eggiconlist.c (egg_icon_list_adjustment_changed):
Make sure the rubberband is updated when scrolling.
Sat Jun 26 01:04:31 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkiconfactory.c (clear_cache): Prevent unwanted
recursion by resetting icon_set->cache before freeing
the cache. (#144947, Tim Janik)
Sat Jun 26 00:04:36 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkentrycompletion.c (gtk_entry_completion_set_model):
* gtk/gtkcombobox.c (gtk_combo_box_set_model): Reflect the
last change in the docs.
Fri Jun 25 23:35:42 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkentrycompletion.c (gtk_entry_completion_set_model):
* gtk/gtkcombobox.c (gtk_combo_box_set_model): Allow passing
NULL to unset the model. (#137211, patch by Mariano Suárez-Alvarez)
Fri Jun 25 23:33:05 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_menu_position_below): Fix the
placement policy for GtkComboBoxEntry to be: if it fits below,
place below, if it fits above place above, else place in the
larger space and scroll so that the scroll arrow appear at the
far end. (#144362, David A. Knight)
Fri Jun 25 22:49:58 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtktreestore.c (gtk_tree_store_move): Avoid uninitialized
use of &parent_iter. (#145007, John Finlay)
2004-06-25 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfontbutton.c (gtk_font_button_update_font_info): Avoid
a crash if the font doesn't exist. (#144967, Yevgen Muntyan)
2004-06-22 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (location_popup_handler): Use a Save
or an Open stock button for the C-l dialog depending on the action
in which the file chooser operates. Fixes#141753.
2004-06-22 Federico Mena Quintero <federico@ximian.com>
Fixes the GTK+ part of #142308:
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_filename_to_path):
Use filename_to_path().
(gtk_file_system_unix_uri_to_path): Likewise.
(filename_to_path): Use remove_trailing_slash().
Mon Jun 21 00:06:44 2004 Matthias Clasen <maclas@gmx.de>
* libegg/iconlist/eggiconlist.c (egg_icon_list_item_get_icon_list):
Remove this unused function. (Patch by Jody Goldberg)
Mon Jun 21 00:05:56 2004 Matthias Clasen <maclas@gmx.de>
* libegg/iconlist/eggiconlist.c (egg_icon_list_queue_draw_item):
Avoid warnings if items are selected before the icon list is
realized. (Patch by Jody Goldberg)
Mon Jun 21 00:05:16 2004 Matthias Clasen <maclas@gmx.de>
* libegg/iconlist/eggiconlist.c (egg_icon_list_button_press):
Fix a small problem in mode GTK_SELECTION_NONE.
Sun Jun 20 23:39:51 2004 Matthias Clasen <maclas@gmx.de>
* libegg/iconlist/eggiconlist.c: Let ctrl key combinations
move the focus without influencing the selection.
Sun Jun 20 23:39:51 2004 Matthias Clasen <maclas@gmx.de>
* libegg/iconlist/eggiconlist.c: Let ctrl key combinations
move the focus without influencing the selection.