From 6b6eedd7c40a86372048c287e4f1f201e9081d70 Mon Sep 17 00:00:00 2001 From: Danny Auble <da@llnl.gov> Date: Fri, 15 Oct 2010 20:19:57 +0000 Subject: [PATCH] more fixes to the col list --- src/sview/block_info.c | 9 +++---- src/sview/common.c | 34 +++++++++++++++----------- src/sview/defaults.c | 54 +++++++++++++++++++++++------------------- src/sview/job_info.c | 5 ++-- src/sview/node_info.c | 4 ++-- src/sview/part_info.c | 4 ++-- src/sview/resv_info.c | 4 ++-- src/sview/sview.h | 3 +-- 8 files changed, 63 insertions(+), 54 deletions(-) diff --git a/src/sview/block_info.c b/src/sview/block_info.c index 2bab9194cba..f939c99ac68 100644 --- a/src/sview/block_info.c +++ b/src/sview/block_info.c @@ -87,8 +87,8 @@ enum { /*these are the settings to apply for the user * on the first startup after a fresh slurm install.*/ -static char *_initial_page_opts = ",Block ID,State,JobID,User,Node Count," - "Connection Type,BP List,Partition"; +static char *_initial_page_opts = "Block_ID,State,JobID,User,Node_Count," + "Node_Use,BP_List,Partition"; static display_data_t display_data_block[] = { {G_TYPE_INT, SORTID_POS, NULL, FALSE, EDIT_NONE, refresh_block, @@ -124,7 +124,7 @@ static display_data_t display_data_block[] = { {G_TYPE_STRING, SORTID_IMAGERAMDISK, "Image Ramdisk", FALSE, EDIT_NONE, refresh_block, create_model_block, admin_edit_block}, #else - {G_TYPE_STRING, SORTID_USE, NULL, TRUE, EDIT_NONE, refresh_block, + {G_TYPE_STRING, SORTID_USE, NULL, FALSE, EDIT_NONE, refresh_block, create_model_block, admin_edit_block}, {G_TYPE_STRING, SORTID_IMAGEBLRTS, NULL, FALSE, EDIT_NONE, refresh_block, create_model_block, admin_edit_block}, @@ -1463,7 +1463,6 @@ extern void cluster_change_block() switch(display_data->id) { case SORTID_USE: display_data->name = "Node Use"; - display_data->show = TRUE; break; case SORTID_IMAGEBLRTS: display_data->name = "Image Blrt"; @@ -1481,11 +1480,9 @@ extern void cluster_change_block() switch(display_data->id) { case SORTID_USE: display_data->name = NULL; - display_data->show = FALSE; break; case SORTID_IMAGEBLRTS: display_data->name = NULL; - display_data->show = FALSE; break; case SORTID_IMAGELINUX: display_data->name = "Image Cnload"; diff --git a/src/sview/common.c b/src/sview/common.c index 2496ab2525e..b3c12913601 100644 --- a/src/sview/common.c +++ b/src/sview/common.c @@ -837,14 +837,11 @@ extern int find_col(display_data_t *display_data, int type) extern const char *find_col_name(display_data_t *display_data, int type) { - int i = 0; - while (display_data++) { if (display_data->id == -1) break; if (display_data->id == type) return display_data->name; - i++; } return NULL; } @@ -887,7 +884,7 @@ extern void make_fields_menu(popup_info_t *popup_win, GtkMenu *menu, NULL); for(i=0; i<count; i++) { - while(display_data++) { + while (display_data++) { if(display_data->id == -1) break; if(!display_data->name) @@ -925,27 +922,36 @@ extern void set_page_opts(int page, display_data_t *display_data, int count, char* initial_opts) { page_opts_t *page_opts; - int j= 0; + ListIterator itr = NULL; + char *col_name = NULL; xassert(page < PAGE_CNT); page_opts = &working_sview_config.page_opts[page]; if (!page_opts->col_list) { page_opts->def_col_list = 1; - page_opts->col_list = xstrdup(initial_opts); + page_opts->col_list = list_create(slurm_destroy_char); + slurm_addto_char_list(page_opts->col_list, initial_opts); } page_opts->display_data = display_data; - page_opts->count = count; - for (j=0; j<count; j++) { - if (display_data->id == -1) - break; - if (display_data->name - && strstr(page_opts->col_list, display_data->name)) - display_data->show = TRUE; - display_data++; + itr = list_iterator_create(page_opts->col_list); + while ((col_name = list_next(itr))) { + replus(col_name); + while (display_data++) { + if (display_data->id == -1) + break; + if (!display_data->name) + continue; + if (!strcasecmp(col_name, display_data->name)) { + display_data->show = TRUE; + break; + } + } + display_data = page_opts->display_data; } + list_iterator_destroy(itr); } diff --git a/src/sview/defaults.c b/src/sview/defaults.c index 7f9a808344c..a60203b556f 100644 --- a/src/sview/defaults.c +++ b/src/sview/defaults.c @@ -234,7 +234,6 @@ static const char *_set_sview_config(sview_config_t *sview_config, sview_config->show_hidden = 1; else sview_config->show_hidden = 0; - g_print("got hidden of %d\n", sview_config->show_hidden); break; case SORTID_SAVE_PAGE_OPTS: type = "Save Page Settings"; @@ -656,7 +655,6 @@ extern int load_defaults() char *col_list = NULL; char *page_name = page_to_str(i); page_opts_t *page_opts = &default_sview_config.page_opts[i]; - if (!page_name) continue; memset(page_opts, 0, sizeof(page_opts_t)); @@ -665,8 +663,9 @@ extern int load_defaults() s_p_get_string(&col_list, tmp_str, hashtbl); xfree(tmp_str); if (col_list) { - page_opts->col_list = col_list; - replus(page_opts->col_list); + page_opts->col_list = list_create(slurm_destroy_char); + slurm_addto_char_list(page_opts->col_list, col_list); + xfree(col_list); } } @@ -675,7 +674,7 @@ extern int load_defaults() end_it: /* copy it all into the working struct (memory will work out - * in the end the col_list and def_col_list don't change) */ + * in the end the col_list doesn't change) */ memcpy(&working_sview_config, &default_sview_config, sizeof(sview_config_t)); @@ -691,7 +690,6 @@ extern int save_defaults(bool final_save) char *tmp_str = NULL, *tmp_str2 = NULL; int fd = 0; int i = 0; - int j = 0; display_data_t *display_data; if(!home) @@ -844,29 +842,37 @@ extern int save_defaults(bool final_save) continue; if (working_sview_config.save_page_opts) { - if (page_opts->display_data) { - display_data = page_opts->display_data; - for (j=0; j<page_opts->count; j++) { - if (display_data->id == -1) - break; - if (display_data->name - && display_data->show) - xstrfmtcat(tmp_str2, ",%s", - display_data->name); - display_data++; - } //spin the menu options ^^ - replspace(tmp_str2); - } //have a display struct ^^ - //save new option set ^^ - } else if (!page_opts->def_col_list && page_opts->col_list) { + display_data = page_opts->display_data; + while (display_data++) { + if (display_data->id == -1) + break; + if (!display_data->name || !display_data->show) + continue; + + if (tmp_str2) + xstrcat(tmp_str2, ","); + xstrfmtcat(tmp_str2, "%s", display_data->name); + } //spin the menu options ^^ + } else if (!page_opts->def_col_list + && page_opts->col_list + && list_count(page_opts->col_list)) { + ListIterator itr = + list_iterator_create(page_opts->col_list); + char *col_name = NULL; //user requested no save of page options - g_print("using default\n"); - tmp_str2 = xstrdup(page_opts->col_list); + while ((col_name = list_next(itr))) { + if (tmp_str2) + xstrcat(tmp_str2, ","); + xstrfmtcat(tmp_str2, "%s", col_name); + } + list_iterator_destroy(itr); } - xfree(page_opts->col_list); + list_destroy(page_opts->col_list); + page_opts->col_list = NULL; if (tmp_str2) { + replspace(tmp_str2); tmp_str = xstrdup_printf("PageOpts%s=%s\n", page_opts->page_name, tmp_str2); diff --git a/src/sview/job_info.c b/src/sview/job_info.c index b8f8d08c098..ffd48e98659 100644 --- a/src/sview/job_info.c +++ b/src/sview/job_info.c @@ -174,8 +174,9 @@ enum { * take place. If you choose EDIT_MODEL (means only display a set of * known options) create it in function create_model_*. */ -static char *_initial_page_opts = (",JobID,Partition,UserID,Name," - "State,Time Running,Node Count,NodeList,"); +static char *_initial_page_opts = ("JobID,Partition,BG_Block," + "ALPS_Resv_ID,UserID,Name," + "State,Time_Running,Node_Count,NodeList"); static display_data_t display_data_job[] = { {G_TYPE_INT, SORTID_POS, NULL, FALSE, EDIT_NONE, refresh_job, diff --git a/src/sview/node_info.c b/src/sview/node_info.c index 76275c947e9..e724d3323e0 100644 --- a/src/sview/node_info.c +++ b/src/sview/node_info.c @@ -72,8 +72,8 @@ typedef struct { /*these are the settings to apply for the user * on the first startup after a fresh slurm install.*/ -static char *_initial_page_opts = ",Name,State,CPU Count,Used CPU Count," - "Error CPU Count,Cores,Sockets,Threads,Real Memory,Tmp Disk,"; +static char *_initial_page_opts = "Name,State,CPU_Count,Used_CPU_Count," + "Error_CPU_Count,Cores,Sockets,Threads,Real_Memory,Tmp_Disk"; static display_data_t display_data_node[] = { {G_TYPE_INT, SORTID_POS, NULL, FALSE, EDIT_NONE, refresh_node, diff --git a/src/sview/part_info.c b/src/sview/part_info.c index c9c7b8af09f..dd059622fe3 100644 --- a/src/sview/part_info.c +++ b/src/sview/part_info.c @@ -107,8 +107,8 @@ enum { /*these are the settings to apply for the user * on the first startup after a fresh slurm install.*/ -static char *_initial_page_opts = ",Partition,Default,Part State," - "Time Limit,Node State,NodeList,"; +static char *_initial_page_opts = "Partition,Default,Part_State," + "Time_Limit,Node_Count,Node_State,NodeList"; static display_data_t display_data_part[] = { {G_TYPE_INT, SORTID_POS, NULL, FALSE, EDIT_NONE, refresh_part}, diff --git a/src/sview/resv_info.c b/src/sview/resv_info.c index 8c80e443ad5..b8b05317673 100644 --- a/src/sview/resv_info.c +++ b/src/sview/resv_info.c @@ -73,8 +73,8 @@ enum { /*these are the settings to apply for the user * on the first startup after a fresh slurm install. * s/b a const probably*/ -static char *_initial_page_opts = ",Name,Node Count,NodeList," - "Time Start,Time End,"; +static char *_initial_page_opts = "Name,Node_Count,NodeList," + "Time_Start,Time_End"; static display_data_t display_data_resv[] = { {G_TYPE_INT, SORTID_POS, NULL, FALSE, EDIT_NONE, diff --git a/src/sview/sview.h b/src/sview/sview.h index 0c689481d7b..e76d84f2200 100644 --- a/src/sview/sview.h +++ b/src/sview/sview.h @@ -175,8 +175,7 @@ typedef struct { } switch_record_bitmaps_t; typedef struct { - char *col_list; - int count; + List col_list; bool def_col_list; display_data_t *display_data; char *page_name; -- GitLab