From c9155a34b2e233cff07afb7638a591577b7a767d Mon Sep 17 00:00:00 2001 From: Thomas White Date: Fri, 26 Apr 2019 22:26:19 +0200 Subject: Populate stylesheet editor list --- src/stylesheet_editor.c | 38 +++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 13 deletions(-) (limited to 'src') diff --git a/src/stylesheet_editor.c b/src/stylesheet_editor.c index e145dd2..a2987a7 100644 --- a/src/stylesheet_editor.c +++ b/src/stylesheet_editor.c @@ -198,24 +198,36 @@ static void set_bg_from_ss(Stylesheet *ss, const char *style_name, } -static void set_values_from_presentation(StylesheetEditor *se) +static void add_style(Stylesheet *ss, const char *path, + GtkTreeStore *ts, GtkTreeIter *parent_iter) { - GtkTreeIter iter; - GtkTreeIter iter2; + int i, n_substyles; - gtk_tree_store_clear(se->element_tree); + n_substyles = stylesheet_get_num_substyles(ss, path); + for ( i=0; ielement_tree, &iter, NULL); - gtk_tree_store_set(se->element_tree, &iter, - 0, "Narrative", -1); + /* Add this style */ + gtk_tree_store_append(ts, &iter, parent_iter); + gtk_tree_store_set(ts, &iter, 0, name, -1); - gtk_tree_store_append(se->element_tree, &iter, NULL); - gtk_tree_store_set(se->element_tree, &iter, - 0, "Slide", -1); + /* Add all substyles */ + size_t len = strlen(path) + strlen(name) + 2; + char *new_path = malloc(len); + strcat(new_path, path); + strcat(new_path, "."); + strcat(new_path, name); + add_style(ss, new_path, ts, &iter); + } +} - gtk_tree_store_append(se->element_tree, &iter2, &iter); - gtk_tree_store_set(se->element_tree, &iter2, - 0, "Slide title", -1); + +static void set_values_from_presentation(StylesheetEditor *se) +{ + gtk_tree_store_clear(se->element_tree); + add_style(se->priv->stylesheet, "", se->element_tree, NULL); set_geom_from_ss(se->priv->stylesheet, se->priv->style_name, se->w, se->h, se->x, se->y, se->w_units, se->h_units); -- cgit v1.2.3