aboutsummaryrefslogtreecommitdiffstats
path: root/xs_view.c
diff options
context:
space:
mode:
authorkraxel <kraxel>2006-07-04 10:23:57 +0000
committerkraxel <kraxel>2006-07-04 10:23:57 +0000
commitc1cb096a8136c0acb2f8a80f53d2a6ef2bf771bf (patch)
treee582682fefbbae2a07f72c288a618e3cd377af39 /xs_view.c
parent95dea4f9392a676d9149c141cd96b62d23ae50bf (diff)
downloadxenwatch-c1cb096a8136c0acb2f8a80f53d2a6ef2bf771bf.tar.gz
misc tweaks
Diffstat (limited to 'xs_view.c')
-rw-r--r--xs_view.c28
1 files changed, 24 insertions, 4 deletions
diff --git a/xs_view.c b/xs_view.c
index b653dc6..5e68be0 100644
--- a/xs_view.c
+++ b/xs_view.c
@@ -25,7 +25,21 @@ static void menu_cb_close(void)
gtk_widget_destroy(xs_toplevel);
}
-static void menu_cb_expand(void)
+static void menu_cb_expand_subtree(void)
+{
+ GtkTreeSelection *sel;
+ GtkTreeModel *model;
+ GtkTreeIter iter;
+
+ sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(view));
+ if (!gtk_tree_selection_get_selected(sel, &model, &iter))
+ return;
+ gtk_tree_view_expand_row(GTK_TREE_VIEW(view),
+ gtk_tree_model_get_path(model, &iter),
+ true);
+}
+
+static void menu_cb_expand_all(void)
{
gtk_tree_view_expand_all(GTK_TREE_VIEW(view));
}
@@ -54,10 +68,15 @@ static const GtkActionEntry entries[] = {
.name = "ViewMenu",
.label = "_View",
},{
- .name = "ExpandAll",
- .label = "_Expand all",
+ .name = "ExpandSubTree",
+ .label = "_Expand subtree",
.accelerator = "<control>E",
- .callback = menu_cb_expand,
+ .callback = menu_cb_expand_subtree,
+ },{
+ .name = "ExpandAll",
+ .label = "Expand _all",
+ .accelerator = "<control>A",
+ .callback = menu_cb_expand_all,
},
};
@@ -68,6 +87,7 @@ static char ui_xml[] =
" <menuitem action='Close'/>"
" </menu>"
" <menu action='ViewMenu'>"
+" <menuitem action='ExpandSubTree'/>"
" <menuitem action='ExpandAll'/>"
" </menu>"
" </menubar>"