diff options
Diffstat (limited to 'widgets/table')
-rw-r--r-- | widgets/table/e-tree-selection-model.c | 8 | ||||
-rw-r--r-- | widgets/table/e-tree-selection-model.h | 2 | ||||
-rw-r--r-- | widgets/table/e-tree.c | 1 |
3 files changed, 11 insertions, 0 deletions
diff --git a/widgets/table/e-tree-selection-model.c b/widgets/table/e-tree-selection-model.c index b57efb5e11..d8eeb3f083 100644 --- a/widgets/table/e-tree-selection-model.c +++ b/widgets/table/e-tree-selection-model.c @@ -1075,6 +1075,14 @@ e_tree_selection_model_select_single_path (ETreeSelectionModel *etsm, ETreePath e_selection_model_selection_changed(E_SELECTION_MODEL(etsm)); } +void +e_tree_selection_model_change_cursor (ETreeSelectionModel *etsm, ETreePath path) +{ + etsm->priv->cursor_path = path; + + e_selection_model_cursor_changed(E_SELECTION_MODEL(etsm), etsm_cursor_row_real(etsm), etsm->priv->cursor_col); +} + static void e_tree_selection_model_init (ETreeSelectionModel *etsm) diff --git a/widgets/table/e-tree-selection-model.h b/widgets/table/e-tree-selection-model.h index 624d527b07..ffed337835 100644 --- a/widgets/table/e-tree-selection-model.h +++ b/widgets/table/e-tree-selection-model.h @@ -41,6 +41,8 @@ void e_tree_selection_model_foreach (ETreeSelectionModel gpointer closure); void e_tree_selection_model_select_single_path (ETreeSelectionModel *etsm, ETreePath path); +void e_tree_selection_model_change_cursor (ETreeSelectionModel *etsm, + ETreePath path); #ifdef __cplusplus } diff --git a/widgets/table/e-tree.c b/widgets/table/e-tree.c index 0aa2668546..523142c0b9 100644 --- a/widgets/table/e-tree.c +++ b/widgets/table/e-tree.c @@ -1042,6 +1042,7 @@ e_tree_set_cursor (ETree *e_tree, ETreePath path) #ifdef E_TREE_USE_TREE_SELECTION e_tree_selection_model_select_single_path (E_TREE_SELECTION_MODEL(e_tree->priv->selection), path); + e_tree_selection_model_change_cursor (E_TREE_SELECTION_MODEL(e_tree->priv->selection), path); #else path = e_tree_sorted_model_to_view_path(e_tree->priv->sorted, path); |