From f676320f21760d7e9be039cbec9e0d1a1ea0843a Mon Sep 17 00:00:00 2001
From: Moe Jette <jette1@llnl.gov>
Date: Wed, 2 Feb 2011 16:25:24 +0000
Subject: [PATCH] remove sview support for "GridSpeedUp" parameter, it causes
 some real problems with some GTK themes and is really no longer necessary

---
 doc/man/man1/sview.1       | 11 +----------
 src/sview/block_info.c     |  5 -----
 src/sview/common.c         | 19 +------------------
 src/sview/defaults.c       | 12 ------------
 src/sview/front_end_info.c |  5 -----
 src/sview/grid.c           | 12 ------------
 src/sview/job_info.c       |  5 -----
 src/sview/node_info.c      |  5 -----
 src/sview/part_info.c      |  6 ------
 src/sview/resv_info.c      |  5 -----
 src/sview/sview.h          |  1 -
 11 files changed, 2 insertions(+), 84 deletions(-)

diff --git a/doc/man/man1/sview.1 b/doc/man/man1/sview.1
index 612aa0547be..597d4aea4ac 100644
--- a/doc/man/man1/sview.1
+++ b/doc/man/man1/sview.1
@@ -1,4 +1,4 @@
-.TH "sview" "1" "SLURM 2.0" "July 2009" "SLURM Commands"
+.TH "sview" "1" "SLURM 2.3" "February 2011" "SLURM Commands"
 .SH "NAME"
 .LP
 sview \- graphical user interface to view and modify SLURM state.
@@ -39,15 +39,6 @@ The sview command can only be build if \fIgtk+\-2.0\fR is installed.
 Systems lacking these libraries will have SLURM installed without
 the sview command.
 
-On larger systems (2000+ nodes) some gtk themes can considerably slow down
-the grid display.  If you think this is happening you may
-try defining SVIEW_GRID_SPEEDUP=1 in your environment.  This will use
-a code path to try to avoid functions that typically take a
-relatively large amount of time.  THIS OPTION DOESN'T WORK FOR EVERY
-GTK THEME, but if it does work for your theme this provides an
-outrageous amount of speedup.  We have found it to work very well with
-QT based themes.
-
 At least some gtk themes are unable to display large numbers of lines (jobs,
 nodes, etc). The information is still in gtk's internal data structures, but
 not visible by scrolling down the window.
diff --git a/src/sview/block_info.c b/src/sview/block_info.c
index be8ebba94ef..1be7fca5bfb 100644
--- a/src/sview/block_info.c
+++ b/src/sview/block_info.c
@@ -1028,11 +1028,6 @@ display_it:
 			       SORTID_NODE_INX, SORTID_COLOR_INX,
 			       grid_button_list);
 
-	if (working_sview_config.grid_speedup) {
-		gtk_widget_set_sensitive(GTK_WIDGET(main_grid_table), 0);
-		gtk_widget_set_sensitive(GTK_WIDGET(main_grid_table), 1);
-	}
-
 	if (view == ERROR_VIEW && display_widget) {
 		gtk_widget_destroy(display_widget);
 		display_widget = NULL;
diff --git a/src/sview/common.c b/src/sview/common.c
index 3b6409daa89..4a7f262b84a 100644
--- a/src/sview/common.c
+++ b/src/sview/common.c
@@ -2193,24 +2193,7 @@ found:
 extern void sview_widget_modify_bg(GtkWidget *widget, GtkStateType state,
 				   const GdkColor color)
 {
-	if (working_sview_config.grid_speedup) {
-		/* For some reason, QT Themes have a very slow call to for
-		 * gtk_widget_modify_bg as of 7-6-09.
-		 * Here we only take around 40 microsecs where
-		 * gtk_widget_modify_bg takes around 2500.  This isn't
-		 * that big of a deal on most systems, but if you have
-		 * like 10000 nodes this makes an outrageous
-		 * difference.  You must follow this up by doing a
-		 * gtk_widget_set_sensitive 0, and then 1 on the
-		 * parent container to make the color stick.
-		 */
-		GtkRcStyle *rc_style = gtk_widget_get_modifier_style (widget);
-		widget->style->bg[state] = color;
-		rc_style->bg[state] = color;
-		rc_style->color_flags[state] |= GTK_RC_BG;
-		gtk_widget_reset_rc_styles (widget);
-	} else
-		gtk_widget_modify_bg(widget, state, &color);
+	gtk_widget_modify_bg(widget, state, &color);
 }
 
 extern void sview_radio_action_set_current_value(GtkRadioAction *action,
diff --git a/src/sview/defaults.c b/src/sview/defaults.c
index 621bfcf68df..79933bc2ac2 100644
--- a/src/sview/defaults.c
+++ b/src/sview/defaults.c
@@ -521,15 +521,12 @@ static void _init_sview_conf()
 	default_sview_config.grid_vert = 10;
 	default_sview_config.show_hidden = 0;
 	default_sview_config.admin_mode = FALSE;
-	default_sview_config.grid_speedup = 0;
 	default_sview_config.grid_topological = FALSE;
 	default_sview_config.ruled_treeview = FALSE;
 	default_sview_config.show_grid = TRUE;
 	default_sview_config.default_page = JOB_PAGE;
 	default_sview_config.tab_pos = GTK_POS_TOP;
 
-	if (getenv("SVIEW_GRID_SPEEDUP"))
-		default_sview_config.grid_speedup = 1;
 	for(i=0; i<PAGE_CNT; i++) {
 		memset(&default_sview_config.page_opts[i],
 		       0, sizeof(page_opts_t));
@@ -621,8 +618,6 @@ extern int load_defaults(void)
 	}
 	s_p_get_uint32(&default_sview_config.grid_hori,
 		       "GridHorizontal", hashtbl);
-	s_p_get_boolean(&default_sview_config.grid_speedup,
-			"GridSpeedup", hashtbl);
 	s_p_get_boolean(&default_sview_config.grid_topological,
 			"GridTopo", hashtbl);
 	if (default_sview_config.grid_topological == 0)
@@ -760,13 +755,6 @@ extern int save_defaults(bool final_save)
 				 default_sview_config.grid_hori);
 	rc = _write_to_file(fd, tmp_str);
 	xfree(tmp_str);
-	if (rc != SLURM_SUCCESS)
-		goto end_it;
-	tmp_str = xstrdup_printf("GridSpeedup=%s\n",
-				 default_sview_config.grid_speedup ?
-				 "YES" : "NO");
-	rc = _write_to_file(fd, tmp_str);
-	xfree(tmp_str);
 	if (rc != SLURM_SUCCESS)
 		goto end_it;
 	tmp_str = xstrdup_printf("GridTopo=%s\n",
diff --git a/src/sview/front_end_info.c b/src/sview/front_end_info.c
index 1dbed150528..be2fbf25842 100644
--- a/src/sview/front_end_info.c
+++ b/src/sview/front_end_info.c
@@ -642,11 +642,6 @@ display_it:
 			       grid_button_list);
 	}
 
-	if (working_sview_config.grid_speedup) {
-		gtk_widget_set_sensitive(GTK_WIDGET(main_grid_table), 0);
-		gtk_widget_set_sensitive(GTK_WIDGET(main_grid_table), 1);
-	}
-
 	if (view == ERROR_VIEW && display_widget) {
 		gtk_widget_destroy(display_widget);
 		display_widget = NULL;
diff --git a/src/sview/grid.c b/src/sview/grid.c
index e19464f7463..dab8d5af753 100644
--- a/src/sview/grid.c
+++ b/src/sview/grid.c
@@ -443,10 +443,6 @@ static void _each_highlightd(GtkTreeModel *model,
 	}
 
 	list_iterator_destroy(itr);
-	if (changed && working_sview_config.grid_speedup) {
-		gtk_widget_set_sensitive(GTK_WIDGET(main_grid_table), 0);
-		gtk_widget_set_sensitive(GTK_WIDGET(main_grid_table), 1);
-	}
 	return;
 }
 
@@ -1165,10 +1161,6 @@ extern void highlight_grid(GtkTreeView *tree_view,
 		gtk_tree_selection_selected_foreach(
 			gtk_tree_view_get_selection(tree_view),
 			_each_highlight_selected, &grid_foreach);
-	if (working_sview_config.grid_speedup) {
-		gtk_widget_set_sensitive(GTK_WIDGET(main_grid_table), 0);
-		gtk_widget_set_sensitive(GTK_WIDGET(main_grid_table), 1);
-	}
 
 	return;
 }
@@ -1734,8 +1726,4 @@ extern void post_setup_popup_grid_list(popup_info_t *popup_win)
 
 	change_grid_color(popup_win->grid_button_list, -1, -1,
 			  MAKE_BLACK, true, NODE_STATE_IDLE);
-	if (working_sview_config.grid_speedup) {
-		gtk_widget_set_sensitive(GTK_WIDGET(popup_win->grid_table), 0);
-		gtk_widget_set_sensitive(GTK_WIDGET(popup_win->grid_table), 1);
-	}
 }
diff --git a/src/sview/job_info.c b/src/sview/job_info.c
index 13274bc62ee..da1993c3801 100644
--- a/src/sview/job_info.c
+++ b/src/sview/job_info.c
@@ -3176,11 +3176,6 @@ display_it:
 			       grid_button_list);
 	}
 
-	if (working_sview_config.grid_speedup) {
-		gtk_widget_set_sensitive(GTK_WIDGET(main_grid_table), 0);
-		gtk_widget_set_sensitive(GTK_WIDGET(main_grid_table), 1);
-	}
-
 	if (view == ERROR_VIEW && display_widget) {
 		gtk_widget_destroy(display_widget);
 		display_widget = NULL;
diff --git a/src/sview/node_info.c b/src/sview/node_info.c
index 3ff4ae187a9..ed279b04c69 100644
--- a/src/sview/node_info.c
+++ b/src/sview/node_info.c
@@ -1285,11 +1285,6 @@ display_it:
 		highlight_grid(GTK_TREE_VIEW(display_widget),
 			       SORTID_POS, (int)NO_VAL, grid_button_list);
 
-	if (working_sview_config.grid_speedup) {
-		gtk_widget_set_sensitive(GTK_WIDGET(main_grid_table), 0);
-		gtk_widget_set_sensitive(GTK_WIDGET(main_grid_table), 1);
-	}
-
 	if (view == ERROR_VIEW && display_widget) {
 		gtk_widget_destroy(display_widget);
 		display_widget = NULL;
diff --git a/src/sview/part_info.c b/src/sview/part_info.c
index e757aaf27df..17c205ae35f 100644
--- a/src/sview/part_info.c
+++ b/src/sview/part_info.c
@@ -2339,12 +2339,6 @@ display_it:
 			       SORTID_NODE_INX, SORTID_COLOR_INX,
 			       grid_button_list);
 
-	if (working_sview_config.grid_speedup) {
-		gtk_widget_set_sensitive(GTK_WIDGET(main_grid_table), 0);
-		gtk_widget_set_sensitive(GTK_WIDGET(main_grid_table), 1);
-	}
-
-
 	if (view == ERROR_VIEW && display_widget) {
 		gtk_widget_destroy(display_widget);
 		display_widget = NULL;
diff --git a/src/sview/resv_info.c b/src/sview/resv_info.c
index c303d1f3e42..070506c6006 100644
--- a/src/sview/resv_info.c
+++ b/src/sview/resv_info.c
@@ -1120,11 +1120,6 @@ display_it:
 			       SORTID_NODE_INX, SORTID_COLOR_INX,
 			       grid_button_list);
 
-	if (working_sview_config.grid_speedup) {
-		gtk_widget_set_sensitive(GTK_WIDGET(main_grid_table), 0);
-		gtk_widget_set_sensitive(GTK_WIDGET(main_grid_table), 1);
-	}
-
 	if (view == ERROR_VIEW && display_widget) {
 		gtk_widget_destroy(display_widget);
 		display_widget = NULL;
diff --git a/src/sview/sview.h b/src/sview/sview.h
index 2760c09672b..f8d8260a761 100644
--- a/src/sview/sview.h
+++ b/src/sview/sview.h
@@ -201,7 +201,6 @@ typedef struct {
 	uint32_t fi_popup_width;
 	uint32_t fi_popup_height;
 	uint32_t grid_hori;
-	bool grid_speedup;
 	bool grid_topological;
 	uint32_t grid_vert;
 	uint32_t grid_x_width;
-- 
GitLab