diff options
author | Kristian Rietveld <kris@gtk.org> | 2002-11-26 21:28:01 +0000 |
---|---|---|
committer | Kristian Rietveld <kristian@src.gnome.org> | 2002-11-26 21:28:01 +0000 |
commit | a09f497c3694a96fa545249260f617a55f8a12bd (patch) | |
tree | f909a123a98e370a2bf848ef9f87d3387628f48e /gtk/gtkcellrenderertext.c | |
parent | 621ae3a60c074d1c91c20a866e2dcc1cbd015259 (diff) | |
download | gdk-pixbuf-a09f497c3694a96fa545249260f617a55f8a12bd.tar.gz |
add a gtk_list_store_sort_iter_changed line for some special case ...
Tue Nov 26 22:26:04 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtk{tree,list}store.c (gtk_{tree,list}_store_real_set_value):
add a gtk_list_store_sort_iter_changed line for some special
case ... (#96647 (issue 1), testcases from Soeren Sandmann and
Daniel Elstner).
Tue Nov 26 22:18:06 2002 Kristian Rietveld <kris@gtk.org>
Inconsistent state for toggle renderers, requested by Paolo Bacchilega
in #88130.
* gtk/gtktreeprivate.h: move GtkCellRendererInfo here.
* gtk/gtkcellrenderer.c: moved GtkCellRendererInfo away,
fix some indentation issues.
* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_class_init),
(gtk_cell_renderer_toggle_set_property),
(gtk_cell_renderer_toggle_get_property),
(gtk_cell_renderer_toggle_render): add an inconsistent property.
* gtk/gtkstyle.c (gtk_default_draw_check),
(gtk_default_draw_option): support drawing inconsistent
options/checks for cells.
Tue Nov 26 22:14:14 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_editing_done),
(gtk_cell_renderer_text_start_editing): add a focus_out_id to avoid
calling _editing_done twice (which has nasty side-effects). (#96647,
(issue 2) testcase from Soeren Sandmann).
Tue Nov 26 22:12:21 2002 Kristian Rietveld <kris@gtk.org>
#82739, patch from Padraig O'Briain.
* gtk/gtktreeviewcolumn.[ch]: add
gtk_tree_view_column_cell_get_position()
Tue Nov 26 22:06:29 2002 Kristian Rietveld <kris@gtk.org>
Yes, this chunk breaks ABI compatibility. Owen knows about it and
agreed with it. It doesn't break ABI that bad though, things will
still work. Please keep it silent :P.
This patch fixes some keynav issues reported by Narayana Pattipati
in #81633. (Also mentioned in #92037 (Sun tracking bug)).
* gtk/gtkmarshalers.list: add two silly marshalers
* gtk/gtktreeview.[ch] (gtk_tree_view_real_select_all),
(gtk_tree_view_real_unselect_all),
(gtk_tree_view_real_select_cursor_row),
(gtk_tree_view_real_toggle_cursor_row),
(gtk_tree_view_real_expand_collapse_cursor_row),
(gtk_tree_view_real_start_interactive_search): change the return
type from void to gboolean, update prototypes, functions, signals and
entries in GtkTreeViewClass,
(gtk_tree_view_class_init): add select_cursor_row binding for
enter key,
(gtk_tree_view_key_press): only navigate the header button if the
header is also visible ...
Tue Nov 26 22:05:48 2002 Kristian Rietveld <kris@gtk.org>
API bit of #75745, reported by Richard Hult.
* gtk/gtkcellrenderer.h (GtkCellRendererState): add
GTK_CELL_RENDERER_FOCUSED, rest of this bug fix will follow later.
Diffstat (limited to 'gtk/gtkcellrenderertext.c')
-rw-r--r-- | gtk/gtkcellrenderertext.c | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/gtk/gtkcellrenderertext.c b/gtk/gtkcellrenderertext.c index a7490317a..6b44447b5 100644 --- a/gtk/gtkcellrenderertext.c +++ b/gtk/gtkcellrenderertext.c @@ -23,6 +23,7 @@ #include "gtkentry.h" #include "gtkmarshalers.h" #include "gtkintl.h" +#include "gtktreeprivate.h" static void gtk_cell_renderer_text_init (GtkCellRendererText *celltext); static void gtk_cell_renderer_text_class_init (GtkCellRendererTextClass *class); @@ -1328,6 +1329,16 @@ gtk_cell_renderer_text_editing_done (GtkCellEditable *entry, { const gchar *path; const gchar *new_text; + GtkCellRendererInfo *info; + + info = g_object_get_data (G_OBJECT (data), + GTK_CELL_RENDERER_INFO_KEY); + + if (info->focus_out_id > 0) + { + g_signal_handler_disconnect (entry, info->focus_out_id); + info->focus_out_id = 0; + } if (GTK_ENTRY (entry)->editing_canceled) return; @@ -1360,6 +1371,7 @@ gtk_cell_renderer_text_start_editing (GtkCellRenderer *cell, { GtkCellRendererText *celltext; GtkWidget *entry; + GtkCellRendererInfo *info; celltext = GTK_CELL_RENDERER_TEXT (cell); @@ -1377,14 +1389,17 @@ gtk_cell_renderer_text_start_editing (GtkCellRenderer *cell, gtk_editable_select_region (GTK_EDITABLE (entry), 0, -1); + info = g_object_get_data (G_OBJECT (cell), + GTK_CELL_RENDERER_INFO_KEY); + gtk_widget_show (entry); g_signal_connect (entry, "editing_done", G_CALLBACK (gtk_cell_renderer_text_editing_done), celltext); - g_signal_connect (entry, "focus_out_event", - G_CALLBACK (gtk_cell_renderer_text_focus_out_event), - celltext); + info->focus_out_id = g_signal_connect (entry, "focus_out_event", + G_CALLBACK (gtk_cell_renderer_text_focus_out_event), + celltext); return GTK_CELL_EDITABLE (entry); |