2006-12-17 Matthias Clasen <mclasen@redhat.com>
Fix a few problems with nested menus in comboboxes
(#386694, Yevgen Muntyan)
* gtk/gtkcombobox.c (gtk_combo_box_menu_fill_level): Always
connect the activate callback.
(gtk_combo_box_menu_item_activate): Do nothing if called on
an item with a submenu.
(gtk_combo_box_menu_row_deleted): Remove a submenu when it
is empty.
2006-12-15 Dom Lachowicz <domlachowicz@gmail.com>
* gtk/gtkcombobox.c: Make GtkComboBox in "appears-as-list" mode
more closely resemble its Win32 counterpart. Bug #340204.
2006-12-13 Benjamin Berg <benjamin@sipsolutions.net>
* engines/clearlooks/src/clearlooks_rc_style.c:
(clearlooks_rc_style_init), (clearlooks_gtk2_rc_parse_dummy),
(clearlooks_rc_style_parse), (clearlooks_rc_style_merge):
* engines/clearlooks/src/clearlooks_rc_style.h:
* engines/clearlooks/src/clearlooks_style.c:
(clearlooks_style_draw_box), (clearlooks_style_init_from_rc),
(clearlooks_style_copy):
* engines/clearlooks/src/clearlooks_style.h:
* engines/clearlooks/src/clearlooks_types.h:
- Remove unused code/options from the code. Warn about their usage
while parsing.
* themes/Clearlooks/gtk-2.0/gtkrc:
- Remove options that don't have any effect.
2006-11-16 Michael Natterer <mitch@imendio.com>
Add new infrastructure for notifications of failed keyboard
navigation and navigation with restricted set of keys.
The patch handles configurable beeping, navigating the GUI with
cursor keys only (as in phone environments), and configurable
wrap-around. Fixes bugs #322640, #70986, #318827, #334726, #334742
and #309291.
* gtk/gtksettings.c: added properties gtk-keynav-cursor-only,
gtk-keynav-wrap-around and gtk-error-bell.
* gtk/gtkwidget.[ch]: added new signal "keynav-failed" and public
API to emit it. Added New function gtk_widget_error_bell() which
looks at the gtk-error-bell setting and calls gdk_window_beep()
accordingly.
* gtk/gtk.symbols: add the new widget symbols.
* gtk/gtkcellrendereraccel.c
* gtk/gtkimcontextsimple.c
* gtk/gtkmenu.c
* gtk/gtknotebook.c: use gtk_widget_error_bell() or look at the
gtk-error-bell setting instead of calling gdk_display_beep()
unconditionally.
* gtk/gtkcombobox.c
* gtk/gtkentry.c
* gtk/gtkiconview.c
* gtk/gtklabel.c
* gtk/gtkmenushell.c
* gtk/gtkspinbutton.c
* gtk/gtktextview.c
* gtk/gtktreeview.c: call gtk_widget_error_bell() on failed keynav.
* gtk/gtkentry.c
* gtk/gtklabel.c
* gtk/gtkrange.c
* gtk/gtktextview.c: consult gtk_widget_keynav_failed() on failed
cursor navigation and leave the widget if it returns FALSE.
* gtk/gtkmenushell.c
* gtk/gtknotebook.c: only wrap around if gtk-keynav-wrap-around
is TRUE.
* gtk/gtkradiobutton.c: ask gtk_widget_keynav_failed() to decide
whether to to wrap-around, and don't select active items on cursor
navigation if gtk-keynav-cursor-only is TRUE. Should look at
gtk-keynav-wrap-around too, will look into that.
2006-11-01 Kristian Rietveld <kris@imendio.com>
* gtk/gtkcombobox.c (gtk_combo_box_class_init),
(gtk_combo_box_size_request): add arrow-size property to control
the minimum size of the arrow, have the arrow scale up with the
font by default. (#357950).
2006-08-14 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_remove): Null the
cell_view pointer if the internal cell view is removed.
(#348828, Rolando Espinoza La Fuente)
2006-06-26 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_cell_view_menu_item_new): Avoid
a refcounting leak in the python bindings. (#344876, Phil Dumont)
2006-06-02 Kristian Rietveld <kris@imendio.com>
Separate sensitive/selectable properties.
* gtk/gtktreeselection.c (tree_column_is_sensitive): remove,
(_gtk_tree_selection_row_is_selectable): remove checks to see if at
least one column is sensitive,
(gtk_tree_selection_real_select_node): remove code which enables
insensitive rows to always be unselected.
* gtk/gtktreeview.c (gtk_tree_view_row_changed): remove code
that unselects a node if it just became insensitive.
* gtk/gtkcombobox.c (gtkcombo_box_list_select_func): new function,
based on the at least one column sensitive check from
_gtk_tree_selection_row_is_selectable(),
(gtk_combo_box_list_setup): set selection function on tree selection.
Tue Apr 25 10:25:28 2006 Søren Sandmann <sandmann@redhat.com>
* tests/testgtk.c (create_alpha_window): Create 'composited' label.
* tests/testgtk.c (on_composited_changed): New function, change
the label to say whether the screen is composited or not.
* gtk/gtkwindow.c (gtk_window_on_composited_changed): When
composited status change, invalidate the window and propagate the signal;.
* gtk/gtkwindow.c (gtk_window_map): Set the appropriate type hint
if reset_type_hint is TRUE.
* gtk/gtkwindow.c (gtk_window_set_type_hint): If hint is one of
the old hints, store a shadow copy in the public window->type_hint
bitfield, otherwise set this field to normal. Set the private
field to the type hint.
* gtk/gtkwindow.c (gtk_window_init): Initialize priv->type_hint.
* gtk/gtkwindow.c (struct _GtkWindowPrivate): New field
"reset_type_hint" indicating whether the type hint needs to be
reset. New field type_hint containing a GdkWindowTypeHint.
* gtk/gtkwidget.c (propagate_composited_changed): New function to
propagate changes in composited status.
(gtk_widget_class_init): Add composited_changed signal.
* gtk/gtkwidget.h (struct _GtkWidgetClass): New signal composited-changed.
* gtk/gtkwidget.c (gtk_widget_is_composited): New function.
* gtk/gtktooltips.c (gtk_tooltips_draw_tips): Set transient for.
* gtk/gtktooltips.c (gtk_tooltips_force_window): Set the type hint
* gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Compute whether
the item belongs to a menubar. Set the type_hint appropriately
depending on the outcome.
* gtk/gtkmenu.c (gtk_menu_position): Set the default type hint here.
* gtk/gtkmenu.c (gtk_menu_attach_to_widget): connect to hierarchy
changed on the attach widget.
* gtk/gtkmenu.c (attach_widget_hierarchy_changed): New function to
set the transient_for property for menus.
* gtk/gtkdnd.c (set_icon_stock_pixbuf): Set the appropriate type hint.
* gtk/gtkcombo.c (gtk_combo_popup_list): Make the popup window
transient for the toplevel.
* gtk/gtkcombobox.c (gtk_combo_box_set_popup_widget): Set
transient-for, for the popup window.
* gdk/x11/gdkwindow-x11.c (gdk_window_get_type_hint): Support for
new window types.
* gdk/x11/gdkwindow-x11.c (gdk_window_set_type_hint): Add support
for new window types.
* gdk/x11/gdkscreen-x11.c (_gdk_x11_screen_process_owner_change):
New function called whenever the compositing manager comes and goes.
* gdk/x11/gdkscreen-x11.c (gdk_screen_is_composited): New function.
* gdk/x11/gdkscreen-x11.c
(_gdk_x11_screen_request_cm_notification, make_cm_atom,
check_is_composited): New functions
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Call
_gdk_x11_screen_process_owner_change when an
XFixesSelectionNotifyEvent is received.
* gdk/x11/gdkdisplay-x11.c (gdk_display_open): Call
_gdk_x11_screen_request_cm_notification() on all screens.
* gdk/quartz/gdkscreen-quartz.c (gdk_screen_is_composited): Dummy
implementation.
* gdk/gdkscreen.c (gdk_screen_class_init): New signal,
'composited-changed'.
* gdk/gdkwindow.h: Add new EWMH window types.
* gdk/win32/gdkscreen-win32.c (gdk_screen_is_composited)
2006-03-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_remove_tab_label): Don't leave
page->tab_label dangling.
(gtk_notebook_real_remove): Use GTK_IN_DESTRUCTION.
(gtk_notebook_destroy): Leave the removal of the children
to the container destroy method. (#319032, Yevgen Muntyan)
2006-03-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_remove): Use the existing
GTK_IN_DESTRUCTION flag, rather than roll our own.
2006-03-15 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_list_button_released)
(gtk_combo_box_list_key_press): Popdown the list before changing
the active iter, otherwise people will be surprised by the
grabs that are still in place when their ::changed handler
runs.
2006-03-09 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_class_init): Replace the
popup-show and popup-hide signals with a readonle popup-shown
property. (#162531, Christian Persch)
2006-01-14 Matthias Clasen <mclasen@redhat.com>
Fix a crash with combo boxes in RESIZE_IMMEDIATE
containers. (#326806, Sebastian Bacher)
* gtk/gtkcombobox.c (gtk_combo_box_size_allocate)
(gtk_combo_box_size_request): Don't call
gtk_combo_box_check_appearance() from here, as that
can lead to recursion.
(gtk_combo_box_init): Instead, call it here.
2005-11-10 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c: Add show-popup and hide-popup signals and
emit them when the popup is shown or hidden. (#162531, Tommi
Komulainen)
2005-09-01 Matthias Clasen <mclasen@redhat.com>
* gdk/*.c: Intern some more strings.
* gtk/gtkintl.h:
* gtk/*.c: Define an I_() macro and use it instead of the
bulky g_intern_static_string().
2005-08-31 Matthias Clasen <mclasen@redhat.com>
* gdk/Makefile.am:
* gtk/Makefile.am: Intern type names in code generated by
glib-mkenums, too.
* gtk/*.c:
* gdk/x11/*.c:
* gdk/*.c: Intern type names before registering the type to avoid
unnecessary copies.
2005-07-21 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_list_destroy): Cleanup
a possible resize idle. (#311141, Robert Ögren)
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_changed):
(gtk_tree_model_sort_sort_level): Ref the level while using it,
otherwise it may get nuked by gtk_tree_model_sort_increment_stamp.
(gtk_tree_model_sort_row_deleted): Don't leak the root level
here. (#300089, James Bramford, Markku Vire)
2005-07-18 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_set_focus_on_click): Propagate
the focus-on-click value to the button. (#310543, Christian Persch)
2005-05-26 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_list_auto_scroll): Make
autoscrolling work at the bottom of the screen.
2005-05-17 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_list_button_released): Keep
the popup posted if the button is released over the cellview.
This matches the behaviour of other combo box implementations.
(#171378)
2005-04-08 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_popdown): Make this
work when called from gtk_combo_box_destroy(). (#172999,
Christian Persch)
2005-04-01 Matthias Clasen <mclasen@redhat.com>
Make gtk_combo_box_get_active_text do the right thing for
GtkComboBoxEntry (#171373, Robert Staudinger)
* gtk/gtkcombobox.h: Add a get_active_text vfunc.
* gtk/gtkcombobox.c (gtk_combo_box_real_get_active_text): And
implement it here.
* gtk/gtkcomboboxentry.c (gtk_combo_box_entry_get_active_text):
Implement get_active_text by always returning the content of
the entry.
2005-03-21 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprivate.h: Define macros GTK_PARAM_READABLE,
GTK_PARAM_WRITABLE, GTK_PARAM_READWRITE which are like
their G_ counterparts, but also mark the name, nick
and blurb as static.
* gtk/*.c: Mark param spec strings as static, using
the new macros.
2005-03-20 Matthias Clasen <mclasen@redhat.com>
Make PLT-reduction work with gcc4, and don't include
everything in gdkalias.h:
* gtk/grk.symbols: Group symbols by header and source file.
* gtk/makegtkalias.pl: Protect definitions by the same
preprocessor symbols used to guard the headers. Move
the alias declarations to a separate file which is
produced when calling makegtkalias.pl -def
* gdk/Makefile.am (gtkaliasdef.c): Add a rule to generate
this file.
* gtk/*.c: Include gtkalias.h after the other headers,
include gtkaliasdef.c at the bottom.
* gtk/*.h: Small cleanups.
2005-02-24 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c: Consistently use gtk_tree_row_reference_valid().
(gtk_combo_box_model_row_deleted): Update the displayed row in
the cell_view. (#167842, Gustavo Carneiro)
2005-02-16 Matthias Clasen <mclasen@redhat.com>
Fixes for #143829, Tommi Komulainen, Christian Persch:
* gtk/gtktreeview.c (gtk_tree_view_destroy): Remove the
typeselect_flush_timeout when destroying the widgets
it is operating on.
(gtk_tree_view_ensure_interactive_directory): Add the
popup to the window group of the toplevel it belongs to.
* gtk/gtkcombobox.c (gtk_combo_box_set_popup_widget)
(gtk_combo_box_popup): Do the same here.
2004-12-30 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_button_state_changed): Fix
state propagation when making an insensitive combo box sensitive
again. (#162524, Carlos Garnacho Parro)
2004-12-23 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_button_state_changed):
Transfer state from the button to the cell view to get
prelighting right. (#156327, Ricardo Veguilla)
2004-12-12 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_menu_row_changed): Pass a
last item to gtk_combo_box_relayout_item. (#161050, John Finlay)
2004-12-11 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_menu_fill_level)
(gtk_combo_box_menu_row_changed): Only wrap if we are in the
topmost menu. (#160936, John Finlay)
2004-11-29 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (cell_view_is_sensitive): Don't call
gtk_cell_view_set_cell_data() from here.
* gtk/gtk.symbols: Remove gtk_cell_view_set_cell_data()
* gtk/gtkcellview.c (gtk_cell_view_get_cell_renderers): Call
gtk_cell_view_set_cell_data() from here.
(gtk_cell_view_set_cell_data): Make static.
* gtk/gtkcombobox.c (gtk_combo_box_menu_popup): Make menu mode
work better when resizing the combo box.
2004-11-09 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (find_menu_by_path)
(gtk_combo_box_menu_fill_level, gtk_combo_box_menu_row_inserted):
Use a row reference, not a path, to associate separators
with their tree row.
2004-11-06 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserdefault.c (file_pane_create): Jump through
a few hoops to make the tooltip on the filter combo box work
a bit better. This fixes#157273 and #157074.
2004-11-06 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_cell_layout_pack_end):
Add the ComboCellInfo to the list. (#157528, Carlos Garnacho
Parro)
2004-11-05 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_menu_button_state_changed):
Remove this unneeded function, as it breaks state propagation.
2004-11-03 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_get_active): Don't crash
if the active_row reference has become invalid. (#157156,
Christophe Fergeau)
2004-10-31 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_button_state_changed): Update the
state of the cell view when the state of the button changes (to
get prelighted drawing right). (#138650, Frances Keenan, Christian Persch)
2004-10-28 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_start_editing): Use
g_signal_connect_object() to prevent premature finalization
of the cell_editable while the key_press_event signal is
handled. (#156325, Olivier Andrieu)
2004-10-05 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_set_model): Resize the
popup if a new model is set. (#154129, Bernd Damian)
2004-08-30 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktextview.c (gtk_text_view_delete_surrounding_handler): Make it compile.
2004-08-27 Matthias Clasen <mclasen@redhat.com>
Fix#151112, Olexiy Avramchenko:
* gtk/gtktreeview.c (gtk_tree_view_search_entry_flush_timeout):
* gtk/gtkiconview.c (scroll_timeout, layout_callback)
(gtk_icon_view_item_accessible_idle_do_action):
* gtk/gtkcombobox.c (list_popup_resize_idle, popdown_idle)
(popup_idle): Protect idle callbacks and timeouts with
GDK_THREADS_ENTER/_LEAVE.
* gtk/gtkfilechooserbutton.c (update_dialog_idle): New function to
call update_dialog() from an idle with the necessary protection.
Thu Aug 26 23:58:11 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_key_press): Don't crash
if model is not set. Noted by Mariano Suarez-Alvarez.
Mon Aug 16 01:35:25 2004 Matthias Clasen <maclas@gmx.de>
Fix#150125:
* gtk/gtkcombobox.[hc]: Add a ::focus-on-click property and
change the default behaviour to focus on click.
* gtk/gtkbutton.c (gtk_button_set_focus_on_click): Typo fix.
Thu Aug 12 23:52:12 2004 Matthias Clasen <maclas@gmx.de>
Fix#149547, Markus Lausser:
* gtk/gtkcombobox.c (gtk_combo_box_size_allocate):
* gtk/gtkcombobox.c (gtk_combo_box_size_request): Don't
crash if size_request or size_allocate are called early.
* gtk/gtkcombobox.c (gtk_combo_box_size_allocate): Protect
against being allocated too small.
Mon Aug 9 12:48:04 2004 Matthias Clasen <maclas@gmx.de>
Add hidden aliases for exported symbols which are
used internally in order to get rid of many PLT
entries. (#145519, Arjan van de Ven)
* gtk/Makefile.am: Add rules to generate gtk.def and
from gtk.symbols, and make make check check the abi
with abicheck.sh.
(gtk_private_h_sources): Add gtkinternals.h
(gtk_built_private_headers): Add gtkalias.h
(gtk_extra_sources): Add gtk.symbols
(EXTRA_DIST): Add makegtkalias.pl and abicheck.sh
* gtk/gtk.symbols: New file. Definition of the GTK+ ABI.
The file can be processed by cpp to filter out certain
subsets of symbols.
* gtk/abicheck.sh: New file. Script to check the actually
symbols exported from libgtk-x11.2.0.so against the symbols
found in gtk.symbols.
* gtk/makegtkalias.pl: New file. Perl script to generate the
header containing the alias definitions for internally used
exported symbols from a list of symbols.
* gtk/gtkinternals.h: New file. An uninstalled header listing
symbols which must be exported for some reason and do not appear
in any other header.
* gtk/*.c: Include gtkalias.h
Sun Aug 8 23:36:55 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_menu_setup): Ref
and sink the column.
(gtk_combo_box_menu_destroy): Unref the column.
Sun Aug 8 23:35:00 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkdnd.c (gtk_drag_source_add_text_targets):
(gtk_drag_dest_add_text_targets): Don't leak a reference
to the target list.
Sun Aug 8 22:52:26 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (find_menu_by_path): Don't stumble over
separators which are not backed by model rows.
Sat Aug 7 18:19:03 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkfilechooserdefault.c (save_folder_combo_create):
(shortcuts_list_create): Use GtkTreeViewRowSeparatorFunc
instead of GtkCellRendererSepText. (#147864)
* gtk/gtkcellrendererseptext.[hc]: Removed.
* gtk/Makefile.am: Remove gtkcellrendererseptext.[hc]
Sat Aug 7 18:15:15 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_menu_row_deleted):
(gtk_combo_box_menu_row_inserted):
(gtk_combo_box_menu_row_changed): Correctly handle
insertion and deletion of separators in menu mode.
Tue Aug 3 01:19:12 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_relayout_item): Optimize
for the case that row_column and col_column are unset.
(#148868, Lorenzo Gil Sánchez)
2004-07-30 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.h:
* gtk/gtkcombobox.c: Change the api for separators to use a
separator function instead of a boolean column.
* tests/testcombo.c: Update to match the api change.
2004-07-27 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.h:
* gtk/gtkcombobox.c (gtk_combo_box_get_popup_accessible): New
function necessary to make GtkComboBox accessible. (#132847,
Padraig O'Briain)
Mon Jul 26 00:38:27 2004 Matthias Clasen <maclas@gmx.de>
Make the GtkComboBox in list mode scroll if the list is too
large to fit in the popup. (#135543)
* gtk/gtkcombobox.c (gtk_combo_box_set_popup_widget): Add a
scrolled window to the popup in list mode.
(gtk_combo_box_list_position): Calculate the height of the
popup so that it fits on the screen, set the scrollbar policy
of the scrolled window appropriately.
(gtk_combo_box_popup): Use the height calculated by
gtk_combo_box_list_position().
(gtk_combo_box_remeasure): Don't add unnecessary padding.
(gtk_combo_box_size_request): But add the focus with here.
(gtk_combo_box_list_setup): Connect to enter notify on the
popup window to activate auto scrolling.
(gtk_combo_box_list_enter_notify): Activate auto scrolling.
(gtk_combo_box_list_button_pressed): Setup a timeout for
auto scrolling.
(gtk_combo_box_list_scroll_timeout): Timeout function for
auto scrolling.
(gtk_combo_box_list_auto_scroll): Scroll the list when the
pointer leaves the window.
2004-07-19 Matthias Clasen <mclasen@redhat.com>
Make GtkCellView public, since people seem to have uses for it,
it is clean API and we were just conservative in not making it
public initially. At the same time, get rid of GtkCellViewMenuItem,
which doesn't have any function which can't be served by a
GtkMenuItem with a GtkCellView child.
* gtk/gtk.h: Include gtkcellview.h
* gtk/Makefile.am (gtk_public_h_sources):
* gtk/Makefile.am (gtk_private_h_sources):
(gtk_c_sources): Remove gtkcellviewmenuitem.[hc]
* gtk/gtkcombobox.c: Replace all uses of GtkCellViewMenuItem by
GtkMenuItem with a GtkCellView child.
* gtk/gtkcellviewmenuitem.[hc]: Removed.
Sun Jul 18 15:28:24 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkdnd.c (gtk_drag_source_set, gtk_drag_dest_set): Create an
empty target list if targets is NULL.
* configure.in: Add check for X11/extensions/sync.h. (#147416,
Morten Welinder)
2004-07-16 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_scroll_event): Make
scrolling work if no item is selected.
(gtk_cell_editable_key_press): Don't eat space.
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.
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)
Thu Jun 3 20:51:23 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_class_init): Fix the al lowed
values and default value for the ::active property. (#143669,
Olivier Andrieu)
Tue Jun 1 23:14:46 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtktoolbar.h:
* gtk/gtktoolbar.c:
* gtk/gtkentrycompletion.h:
* gtk/gtkentrycompletion.c:
* gtk/gtkcombobox.h:
* gtk/gtkcombobox.c: Rename function parameters from
index to index_ to prevent clash with BSD index(). (#143001)
Thu May 27 00:07:47 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkcombobox.c (gtk_combo_box_list_destroy): only remove the
signal if the box exists.
2004-05-11 Michael Natterer <mitch@gimp.org>
* gtk/gtkcombobox.c (gtk_combo_box_popup)
(gtk_combo_box_menu_button_press): don't allocate the popup
smaller than the combobox. Fixes bug #59660.
2004-05-11 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_list_setup): Use
GTK_SELECTION_BROWSE.
* gtk/gtktreeview.c: Make hover selection work for
GTK_SELECTION_BROWSE as well.
2004-05-10 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_menu_position_below): If we don't
do the move-selected-item below pointer thingie, do the
place-below-or-above one.
2004-05-10 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentrycompletion.c (gtk_entry_completion_init):
* gtk/gtkcombobox.c (gtk_combo_box_list_setup): Use hover selection
mode. (#127648, Dave Bordoley)
* gtk/gtktreeview.h:
* gtk/gtktreeview.c: Add a new property "hover_selection", which
when TRUE makes the selection follow the mouse. Also add setter
and getter for the fixed_height property.
2004-05-10 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_popup)
(gtk_combo_box_menu_button_press): Make sure the menu pops up
as wide as the combobox. (#59660, Havoc Pennington)
2004-05-10 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.h:
* gtk/gtkcombobox.c: Support tearoffable combo boxes (in menu
mode). Add a new property, add-tearoffs, for this. (#135956)
Sun May 9 01:57:17 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_list_button_released):
In list mode, accept the same mouse/wheel bindings on
the cellview as on the button. (#136967)
2004-05-08 Hans Breuer <hans@breuer.org>
* gtk/gtkfilesystemwin32.c (extract_icon) : finally also
create the correct mask for 'pseudo mime' icons
* gdk/win32/gdkwindow-win32.c(show_window_internal) : also
take focus_on_map into account
* gtk/gtkselection.c : g_message() only with DEBUG_SELECTION
* gtk/gtkactiongroup.c gtk/gtkcombobox.c :
... must return a value
* gdk/gdk.def gtk/gtk.def demos/gtk-demo/makefile.msc.in : updated
2004-04-14 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c: Make the arrow and separator regular
children of an hbox inside the button, and propagate state
changes from the button to the cell view. (part of the fix
for #138650, should also fix#137535)
* gtk/gtkcellview.c (gtk_cell_view_expose): Pass the PRELIT
state to gtk_cell_renderer_render() when prelighted. (part
of the fix for #138650)
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render):
Use PRELIGHT state when appropriate. (part of the fix for
#138650)
2004-04-14 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_relayout): Don't spit
out warnings if called before the combo box is
realized. (#139742, Philip Langdale)
2004-04-12 Matthias Clasen <mclasen@dhcp64-228.boston.redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_unset_model): Don't unref
model if it is NULL. (#139770)
Sat Mar 13 21:37:44 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_list_key_press): Pop down the
list when an item is selected via the keyboard.
Sat Mar 13 01:38:55 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_remove): Add a remove
implemenatation which restores the cell_view when the custom
child is removed. (#136555, Owen Taylor)
Wed Mar 10 01:21:05 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_menu_position_below): Place
grid mode popups left aligned, not right aligned.
Mon Mar 8 11:57:27 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_unset_model): Don't
call g_signal_handler_disonnect() if priv->model is
NULL. (#136551, Damon Chaplin)
* gtk/gtkcombobox.c (gtk_combo_box_model_row_inserted):
Back out code to set the active item when the first
item is added to the model; this causes problems for
GtkComboBoxText. (#136535)
* gtk/gtkcombobox.c (gtk_combo_box_menu_destroy)
* gtk/gtkcombobox.c (gtk_combo_box_list_destroy):
* gtk/gtkcombobox.c (gtk_combo_box_list_setup):
* gtk/gtkcombobox.c (gtk_combo_box_menu_setup):
Remove calls to gtk_combo_box_unset_model.
* gtk/gtkcombobox.c (gtk_combo_box_check_appearance):
Clean up handling of wrap->width > 0.
* gtk/gtkcombobox.c (gtk_combo_box_relayout): Don't
switch list/menu mode here.
* gtk/gtkcombobox.c (gtk_combo_box_set_model): Protect
against the same model being set back.
* gtk/gtkcombobox.c (gtk_combo_box_relayout): Call
gtk_combo_box_menu_fill() rather than duplicating
a large chunk of code.
Sun Mar 7 02:38:00 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_size_request): Do a
size_request on the button and cell_view_frame, otherwise
their style will still be the default here in the initial
size_request. (#136301, Mark McLoughlin)
2004-03-05 Federico Mena Quintero <federico@ximian.com>
Fixes#136082 and #135265, patch by Morten Welinder.
* configure.in: Use AC_SYS_LARGEFILE.
* */*.c: #include <config.h>
Fri Mar 5 00:05:59 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_list_setup):
* gtk/gtkcombobox.c (gtk_combo_box_menu_setup): Connect to
key_press_event and handle Alt-Down/Alt-Up to show or hide the
list popup. Also handle Down/Up/PageDown/PageUp/Home/End and
make them change the active item without popping up the list.
These keybindings are inherited from GtkCombo.
Thu Mar 4 23:15:58 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_menu_position): Initially
select the active item when using optionmenu-like positioning.
Thu Mar 4 21:45:43 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c: In list mode, set the background color
of the cell view to the base color of the style, instead of
hardwiring white. (#136158)
Wed Mar 3 23:28:48 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_set_active): Move the actual
implementation into a new gtk_combo_box_set_active_internal()
function, which doesn't do the short-circuiting.
* gtk/gtkcombobox.c (gtk_combo_box_model_row_deleted): Use
set_active_internal() here, since the active item may change here,
although the index is unchanged.
Wed Mar 3 23:26:49 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_menu_position): Reintroduce the
traditional option menu placement of the popup for regular combo
boxes. Grids and editable combo boxes use the combo-like placement
below the entry. (#136021)
* gtk/gtkcombobox.c (gtk_combo_box_menu_button_press):
* gtk/gtkcombobox.c (gtk_combo_box_popup): Call gtk_menu_set_active()
before popping up the menu, to make the placement work.
Tue Mar 2 16:18:43 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtktreestore.c (gtk_tree_store_reorder)
* gtk/gtkliststore.c (gtk_list_store_reorder): Fix
up the interpretation of new_order to match what
it means elsewhere, document the meaning of new_order.
* gtk/gtkcombobox.c (gtk_combo_box_model_rows_reordered):
Fix interpretation of new_order.
* tests/testcombochange.c (on_reorder): Fix interpretation
of new_order.
* tests/testcombochange.c (on_reorder): Fix hitting
"reorder" with an empty list.
Tue Mar 2 14:38:23 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_model_row_inserted):
If the model was empty before, select the first inserted
item.
* gtk/gtkcombobox.c (gtk_combo_box_model_row_deleted):
Fix up the logic for the new row to select.
* gtk/gtkcombobox.c (gtk_combo_box_class_init):
Rename "appearance" property to "appears-as-list".
* tests/testcombochange.c tests/Makefile.am: Test case
for combos and dynamically changing models.
Tue Mar 2 11:45:50 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcombobox.c: Always connect to the changed
signals on the model, update the active item as
appropriate when rows are inserted/deleted/reordered,
re-layout the menu on ::rows-reordered.
* gtk/gtkcellview.c (gtk_cell_view_set_displayed_row):
Allow %NULL for path to unset and leave no current
path.
Tue Mar 2 19:54:53 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_list_position): Position
the popup above the sample if there is not enough room below.
Part of #135543.
Tue Mar 2 19:53:36 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_set_popup_widget): Make the
frame for the list mode etched in, to give the popup a slightly
less flat appearance.
Tue Mar 2 17:55:31 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtk.def: Add gtk_combo_box_entry_new_text().
Sun Feb 29 02:34:35 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_list_position): New
function which calculates position and size for the popup in
list mode. Currently it only pushes the popup horizontally
into the screen.
Sat Feb 28 23:30:36 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_popup): Actually resize the
popup window before popping up. (#135651)
Sat Feb 28 23:29:35 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_class_init):
* gtk/gtkcombobox.c (gtk_combo_box_init): Override the default
handler for style_set in class_init instead of connecting to
the signal in init. (noticed by Yosh).
Fri Feb 27 21:42:28 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_relayout):
* gtk/gtkcombobox.c (gtk_combo_box_style_set): Simplify, only
create a new setup if appearance actually changed.
* gtk/gtkcombobox.c (gtk_combo_box_cell_layout_clear):
* gtk/gtkcombobox.c (gtk_combo_box_get_cell_info): Make
these more robust. (#127623, Damon Chaplin)
Fri Feb 27 02:33:21 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkentry.c (keyval_is_cursor_move): Classifiy Page Up/Down as
cursor move, but not Home and End.
* gtk/gtkentry.c (gtk_entry_completion_key_press): Lets Page Up/Down
jump to the ends of the list, not Home and End - since we're not
scrolling yet, a "page" is always the complete list. (#127430, Marco
Pesenti Gritti)
Fri Feb 27 00:39:11 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_list_destroy):
* gtk/gtkcombobox.c (gtk_combo_box_menu_destroy): Don't let
the priv pointers dangle. (#127623, Damon Chaplin)