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)
Thu Feb 26 23:39:07 2004 Matthias Clasen <maclas@gmx.de>
Fixes for #135333, analysed by Damon Chaplin:
* gtk/gtkcombobox.c (gtk_combo_box_list_button_pressed): Don't
grab here.
* gtk/gtkcombobox.c (gtk_combo_box_popup): Do the grabs here,
so that we don't forget to grab when the menu is popped via
keynav.
* gtk/gtkcombobox.c (gtk_combo_box_list_button_released): Don't
ungrab here.
* gtk/gtkcombobox.c (gtk_combo_box_popdown): Do the ungrabs here.
Thu Feb 26 22:20:44 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcomboboxentry.h:
* gtk/gtkcomboboxentry.c (gtk_combo_box_entry_new_text): New
convenience API to construct simple text combos, implemented by
Damon Chaplin.
* tests/testcombo.c: Use gtk_combo_box_entry_new_text.
Wed Feb 25 00:13:24 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_menu_row_changed):
* gtk/gtkcombobox.c (gtk_combo_box_list_row_changed):
Don't resize priv->cell_view if it is NULL. (#127804,
Damon Chaplin)
Wed Feb 25 00:06:50 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c: Add a comment about the different
modi of this widget. Get rid of priv->hbox, and some other
cleanups. Make sure that gtk_combo_box_unset_model() is
always called before setting up a different mode.
Tue Feb 24 01:08:27 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c: Add a destroy implementation in order to
set priv->cell_view to NULL before finalize stumbles over the
dangling pointer. This big array of pointers into the widget
tree in GtkComboBoxPrivate is really fragile and should be
cleaned up.
Mon Feb 23 02:26:15 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_size_allocate): Fix the
allocation for the toggle button so that it actually shows up
in LTR list mode.
* gtk/gtkcombobox.c (gtk_combo_box_set_column_span_column):
* gtk/gtkcombobox.c (gtk_combo_box_set_row_span_column):
* gtk/gtkcombobox.c (gtk_combo_box_set_wrap_width): Add
notification, and avoid excessive relayouting.
Sun Feb 8 01:28:02 2004 Manish Singh <yosh@gimp.org>
* gtk/gtkcombobox.c (gtk_combo_box_set_popup_widget): Add appropriate
type casts for the gtk_window_set_screen() call.
Sun Feb 8 01:44:06 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_set_popup_widget): Make popups
come up on the same screen as the combo box. (#133544,
Morten Welinder)
Fri Feb 6 00:45:16 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_finalize): Add a finalize
function to plug a few memory leaks. (#133544, Morten Welinder)
Fri Feb 6 00:15:38 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcomboboxentry.c (gtk_combo_box_entry_mnemonic_activate):
Support mnemonic_activate here as well.
* gtk/gtkcombobox.c (gtk_combo_box_mnemonic_activate): Focus
the button, not the tree_view.
Thu Feb 5 23:48:19 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_mnemonic_activate): Add this
function, to make mnemonic_activate work for combo boxes.
(#133443, Paolo Borelli)
Thu Feb 5 21:36:43 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_set_active_iter): Fix the logic
of the depth one check. (#133488, Christian Persch)
Fri Jan 16 23:59:01 2004 Matthias Clasen <maclas@gmx.de>
The first part of the fix for #114351 (see also
gdk-pixbuf/ChangeLog and po/ChangeLog):
* gtk/gtkintl.h:
* gdk-pixbuf/gdk-pixbuf-i18n.h:
* gdk/gdkintl.h: Define P_() for property blurbs and nicks.
* gdk/gdkdisplaymanager.c:
* gdk-pixbuf/gdk-pixbuf.c:
* modules/input/gtkimcontextxim.c:
* gtk/*.c: Mark property blurbs and nicks with P_().
* po/Makefile.in.in: Add --keyword=P_ to the xgettext
invocation, since property blurbs and nicks are
now marked with P_().
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)
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).
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 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.
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 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.
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.
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).
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).
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.
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.
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).
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.