aboutsummaryrefslogtreecommitdiffstats
path: root/widgets
diff options
context:
space:
mode:
Diffstat (limited to 'widgets')
-rw-r--r--widgets/e-table/ChangeLog8
-rw-r--r--widgets/e-table/e-table-click-to-add.c14
-rw-r--r--widgets/e-table/e-table-item.c2
-rw-r--r--widgets/table/e-table-click-to-add.c14
-rw-r--r--widgets/table/e-table-item.c2
5 files changed, 38 insertions, 2 deletions
diff --git a/widgets/e-table/ChangeLog b/widgets/e-table/ChangeLog
index a206b42c98..08775273c7 100644
--- a/widgets/e-table/ChangeLog
+++ b/widgets/e-table/ChangeLog
@@ -1,3 +1,11 @@
+2000-07-29 Christopher James Lahey <clahey@helixcode.com>
+
+ * e-table-click-to-add.c: Made enter key destroy and recreate the
+ ETableItem.
+
+ * e-table-item.c: Grab focus when person clicks even if cursor
+ isn't changing.
+
2000-07-28 Dan Winship <danw@helixcode.com>
* e-table-header.c (eth_destroy): Remove the idle handler before
diff --git a/widgets/e-table/e-table-click-to-add.c b/widgets/e-table/e-table-click-to-add.c
index ed22b5117c..d111df1cd9 100644
--- a/widgets/e-table/e-table-click-to-add.c
+++ b/widgets/e-table/e-table-click-to-add.c
@@ -319,15 +319,27 @@ etcta_event (GnomeCanvasItem *item, GdkEvent *e)
case GDK_3270_Enter:
if (etcta->row) {
ETableModel *one;
- e_table_selection_model_clear(etcta->selection);
e_table_one_commit(E_TABLE_ONE(etcta->one));
etcta_drop_one (etcta);
+ gtk_object_destroy(GTK_OBJECT(etcta->row));
+ etcta->row = NULL;
one = e_table_one_new(etcta->model);
etcta_add_one (etcta, one);
gtk_object_unref(GTK_OBJECT(one));
+ e_table_selection_model_clear(etcta->selection);
+
+ etcta->row = gnome_canvas_item_new(GNOME_CANVAS_GROUP(item),
+ e_table_item_get_type(),
+ "ETableHeader", etcta->eth,
+ "ETableModel", etcta->one,
+ "minimum_width", etcta->width,
+ "drawgrid", TRUE,
+ "table_selection_model", etcta->selection,
+ NULL);
+
e_table_item_set_cursor(E_TABLE_ITEM(etcta->row), 0, 0);
}
break;
diff --git a/widgets/e-table/e-table-item.c b/widgets/e-table/e-table-item.c
index a1afb2c3be..4eac94ed41 100644
--- a/widgets/e-table/e-table-item.c
+++ b/widgets/e-table/e-table-item.c
@@ -1361,6 +1361,8 @@ eti_event (GnomeCanvasItem *item, GdkEvent *e)
gint ctrled = e->button.state & GDK_CONTROL_MASK;
gint cursor_row, cursor_col;
+ e_canvas_item_grab_focus(GNOME_CANVAS_ITEM(eti));
+
switch (e->button.button) {
case 1: /* Fall through. */
case 2:
diff --git a/widgets/table/e-table-click-to-add.c b/widgets/table/e-table-click-to-add.c
index ed22b5117c..d111df1cd9 100644
--- a/widgets/table/e-table-click-to-add.c
+++ b/widgets/table/e-table-click-to-add.c
@@ -319,15 +319,27 @@ etcta_event (GnomeCanvasItem *item, GdkEvent *e)
case GDK_3270_Enter:
if (etcta->row) {
ETableModel *one;
- e_table_selection_model_clear(etcta->selection);
e_table_one_commit(E_TABLE_ONE(etcta->one));
etcta_drop_one (etcta);
+ gtk_object_destroy(GTK_OBJECT(etcta->row));
+ etcta->row = NULL;
one = e_table_one_new(etcta->model);
etcta_add_one (etcta, one);
gtk_object_unref(GTK_OBJECT(one));
+ e_table_selection_model_clear(etcta->selection);
+
+ etcta->row = gnome_canvas_item_new(GNOME_CANVAS_GROUP(item),
+ e_table_item_get_type(),
+ "ETableHeader", etcta->eth,
+ "ETableModel", etcta->one,
+ "minimum_width", etcta->width,
+ "drawgrid", TRUE,
+ "table_selection_model", etcta->selection,
+ NULL);
+
e_table_item_set_cursor(E_TABLE_ITEM(etcta->row), 0, 0);
}
break;
diff --git a/widgets/table/e-table-item.c b/widgets/table/e-table-item.c
index a1afb2c3be..4eac94ed41 100644
--- a/widgets/table/e-table-item.c
+++ b/widgets/table/e-table-item.c
@@ -1361,6 +1361,8 @@ eti_event (GnomeCanvasItem *item, GdkEvent *e)
gint ctrled = e->button.state & GDK_CONTROL_MASK;
gint cursor_row, cursor_col;
+ e_canvas_item_grab_focus(GNOME_CANVAS_ITEM(eti));
+
switch (e->button.button) {
case 1: /* Fall through. */
case 2: