Skip to content
Snippets Groups Projects
Commit 944c033b authored by Moe Jette's avatar Moe Jette
Browse files

get sview working with selection of multiple reservations

parent e806b5a2
No related branches found
No related tags found
No related merge requests found
...@@ -593,8 +593,7 @@ static void _selected_page(GtkMenuItem *menuitem, display_data_t *display_data) ...@@ -593,8 +593,7 @@ static void _selected_page(GtkMenuItem *menuitem, display_data_t *display_data)
each.pfunc = &popup_all_block; each.pfunc = &popup_all_block;
break; break;
case RESV_PAGE: case RESV_PAGE:
popup_all_resv(treedata->model, &treedata->iter, each.pfunc = &popup_all_resv;
display_data->id);
break; break;
case ADMIN_PAGE: case ADMIN_PAGE:
switch(display_data->id) { switch(display_data->id) {
...@@ -613,8 +612,8 @@ static void _selected_page(GtkMenuItem *menuitem, display_data_t *display_data) ...@@ -613,8 +612,8 @@ static void _selected_page(GtkMenuItem *menuitem, display_data_t *display_data)
display_data, treedata->treeview); display_data, treedata->treeview);
break; break;
case RESV_PAGE: case RESV_PAGE:
admin_resv(treedata->model, &treedata->iter, select_admin_resv(treedata->model, &treedata->iter,
display_data->name); display_data, treedata->treeview);
break; break;
case NODE_PAGE: case NODE_PAGE:
select_admin_nodes(treedata->model, &treedata->iter, select_admin_nodes(treedata->model, &treedata->iter,
......
...@@ -141,6 +141,10 @@ static display_data_t *local_display_data = NULL; ...@@ -141,6 +141,10 @@ static display_data_t *local_display_data = NULL;
static char *got_edit_signal = NULL; static char *got_edit_signal = NULL;
static void _admin_resv(GtkTreeModel *model, GtkTreeIter *iter, char *type);
static void _process_each_resv(GtkTreeModel *model, GtkTreePath *path,
GtkTreeIter*iter, gpointer userdata);
/* /*
* _parse_flags is used to parse the Flags= option. It handles * _parse_flags is used to parse the Flags= option. It handles
* daily, weekly, and maint, optionally preceded by + or -, * daily, weekly, and maint, optionally preceded by + or -,
...@@ -904,7 +908,7 @@ extern void admin_edit_resv(GtkCellRendererText *cell, ...@@ -904,7 +908,7 @@ extern void admin_edit_resv(GtkCellRendererText *cell,
if(got_edit_signal) { if(got_edit_signal) {
temp = got_edit_signal; temp = got_edit_signal;
got_edit_signal = NULL; got_edit_signal = NULL;
admin_resv(GTK_TREE_MODEL(treestore), &iter, temp); _admin_resv(GTK_TREE_MODEL(treestore), &iter, temp);
xfree(temp); xfree(temp);
goto no_input; goto no_input;
} }
...@@ -1057,7 +1061,9 @@ display_it: ...@@ -1057,7 +1061,9 @@ display_it:
if(!display_widget) { if(!display_widget) {
tree_view = create_treeview(local_display_data, tree_view = create_treeview(local_display_data,
&grid_button_list); &grid_button_list);
gtk_tree_selection_set_mode(
gtk_tree_view_get_selection(tree_view),
GTK_SELECTION_MULTIPLE);
display_widget = gtk_widget_ref(GTK_WIDGET(tree_view)); display_widget = gtk_widget_ref(GTK_WIDGET(tree_view));
gtk_table_attach_defaults(table, gtk_table_attach_defaults(table,
GTK_WIDGET(tree_view), GTK_WIDGET(tree_view),
...@@ -1145,6 +1151,9 @@ display_it: ...@@ -1145,6 +1151,9 @@ display_it:
if(spec_info->type != INFO_PAGE && !spec_info->display_widget) { if(spec_info->type != INFO_PAGE && !spec_info->display_widget) {
tree_view = create_treeview(local_display_data, tree_view = create_treeview(local_display_data,
&popup_win->grid_button_list); &popup_win->grid_button_list);
gtk_tree_selection_set_mode(
gtk_tree_view_get_selection(tree_view),
GTK_SELECTION_MULTIPLE);
spec_info->display_widget = spec_info->display_widget =
gtk_widget_ref(GTK_WIDGET(tree_view)); gtk_widget_ref(GTK_WIDGET(tree_view));
gtk_table_attach_defaults(popup_win->table, gtk_table_attach_defaults(popup_win->table,
...@@ -1371,7 +1380,37 @@ extern void popup_all_resv(GtkTreeModel *model, GtkTreeIter *iter, int id) ...@@ -1371,7 +1380,37 @@ extern void popup_all_resv(GtkTreeModel *model, GtkTreeIter *iter, int id)
} }
} }
extern void admin_resv(GtkTreeModel *model, GtkTreeIter *iter, char *type) static void _process_each_resv(GtkTreeModel *model, GtkTreePath *path,
GtkTreeIter*iter, gpointer userdata)
{
char *type = userdata;
if (_DEBUG)
g_print("process_each_resv: global_multi_error = %d\n",
global_multi_error);
if (!global_multi_error) {
_admin_resv(model, iter, type);
}
}
extern void select_admin_resv(GtkTreeModel *model, GtkTreeIter *iter,
display_data_t *display_data,
GtkTreeView *treeview)
{
if (treeview) {
if (display_data->extra & EXTRA_NODES) {
select_admin_nodes(model, iter, display_data,
SORTID_NODELIST, treeview);
return;
}
global_multi_error = FALSE;
gtk_tree_selection_selected_foreach(
gtk_tree_view_get_selection(treeview),
_process_each_resv, display_data->name);
}
}
static void _admin_resv(GtkTreeModel *model, GtkTreeIter *iter, char *type)
{ {
resv_desc_msg_t *resv_msg = xmalloc(sizeof(resv_desc_msg_t)); resv_desc_msg_t *resv_msg = xmalloc(sizeof(resv_desc_msg_t));
reservation_name_msg_t resv_name_msg; reservation_name_msg_t resv_name_msg;
...@@ -1483,7 +1522,7 @@ end_it: ...@@ -1483,7 +1522,7 @@ end_it:
if(got_edit_signal) { if(got_edit_signal) {
type = got_edit_signal; type = got_edit_signal;
got_edit_signal = NULL; got_edit_signal = NULL;
admin_resv(model, iter, type); _admin_resv(model, iter, type);
xfree(type); xfree(type);
} }
return; return;
......
...@@ -515,7 +515,9 @@ extern void get_info_resv(GtkTable *table, display_data_t *display_data); ...@@ -515,7 +515,9 @@ extern void get_info_resv(GtkTable *table, display_data_t *display_data);
extern void specific_info_resv(popup_info_t *popup_win); extern void specific_info_resv(popup_info_t *popup_win);
extern void set_menus_resv(void *arg, void *arg2, GtkTreePath *path, int type); extern void set_menus_resv(void *arg, void *arg2, GtkTreePath *path, int type);
extern void popup_all_resv(GtkTreeModel *model, GtkTreeIter *iter, int id); extern void popup_all_resv(GtkTreeModel *model, GtkTreeIter *iter, int id);
extern void admin_resv(GtkTreeModel *model, GtkTreeIter *iter, char *type); extern void select_admin_resv(GtkTreeModel *model, GtkTreeIter *iter,
display_data_t *display_data,
GtkTreeView *treeview);
extern void cluster_change_resv(); extern void cluster_change_resv();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment