changeset 1324:e4f9e3567f0a

Save bar pane histogram state to rc file.
author zas_
date Wed, 25 Feb 2009 20:54:38 +0000
parents 50ab4016ae0b
children b93b39fb30c9
files src/bar_histogram.c
diffstat 1 files changed, 15 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/bar_histogram.c	Wed Feb 25 20:42:35 2009 +0000
+++ b/src/bar_histogram.c	Wed Feb 25 20:54:38 2009 +0000
@@ -40,6 +40,8 @@
 	Histogram *histogram;
 	gint histogram_width;
 	gint histogram_height;
+	gint histogram_channel;
+	gint histogram_logmode;
 	GdkPixbuf *pixbuf;
 	FileData *fd;
 };
@@ -89,6 +91,8 @@
 	indent++;
 	WRITE_CHAR(*phd, pane.title);
 	WRITE_BOOL(*phd, pane.expanded);
+	WRITE_INT(*phd, histogram_channel);
+	WRITE_INT(*phd, histogram_logmode);
 	indent--;
 	WRITE_STRING("/>\n");
 }
@@ -163,6 +167,7 @@
 	if (channel == histogram_get_channel(phd->histogram)) return;
 
 	histogram_set_channel(phd->histogram, channel);
+	phd->histogram_channel = channel;
 	bar_pane_histogram_update(phd);
 }
 
@@ -181,6 +186,7 @@
 	if (logmode == histogram_get_mode(phd->histogram)) return;
 
 	histogram_set_mode(phd->histogram, logmode);
+	phd->histogram_logmode = logmode;
 	bar_pane_histogram_update(phd);
 }
 
@@ -288,7 +294,7 @@
 }
 
 
-GtkWidget *bar_pane_histogram_new(const gchar *title, gint height, gint expanded)
+GtkWidget *bar_pane_histogram_new(const gchar *title, gint height, gint expanded, gint histogram_channel, gint histogram_logmode)
 {
 	PaneHistogramData *phd;
 
@@ -301,8 +307,8 @@
 	
 	phd->histogram = histogram_new();
 
-	histogram_set_channel(phd->histogram, HCHAN_RGB);
-	histogram_set_mode(phd->histogram, 0);
+	histogram_set_channel(phd->histogram, histogram_channel);
+	histogram_set_mode(phd->histogram, histogram_logmode);
 
 	phd->widget = gtk_vbox_new(FALSE, PREF_PAD_GAP);
 
@@ -338,6 +344,8 @@
 	gchar *title = g_strdup(_("NoName"));
 	gboolean expanded = TRUE;
 	gint height = 80;
+	gint histogram_channel = HCHAN_RGB;
+	gint histogram_logmode = 0;
 
 	while (*attribute_names)
 		{
@@ -346,12 +354,14 @@
 
 		if (READ_CHAR_FULL("pane.title", title)) continue;
 		if (READ_BOOL_FULL("pane.expanded", expanded)) continue;
+		if (READ_INT_FULL("histogram_channel", histogram_channel)) continue;
+		if (READ_INT_FULL("histogram_logmode", histogram_logmode)) continue;
+
 		
-
 		DEBUG_1("unknown attribute %s = %s", option, value);
 		}
 	
-	return bar_pane_histogram_new(title, height, expanded);
+	return bar_pane_histogram_new(title, height, expanded, histogram_channel, histogram_logmode);
 }