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.