From: Vladimir Nadvornik Date: Sat, 28 Feb 2009 19:44:58 +0000 (+0000) Subject: give the panes more control over expander title X-Git-Tag: v1.0.0~460 X-Git-Url: http://geeqie.org/cgi-bin/gitweb.cgi?p=geeqie.git;a=commitdiff_plain;h=f9936e38ffc7feb5ca5af211603c682cfb548fee give the panes more control over expander title --- diff --git a/src/bar.c b/src/bar.c index 6bf0c3eb..8edaaf0e 100644 --- a/src/bar.c +++ b/src/bar.c @@ -230,7 +230,6 @@ void bar_set_selection_func(GtkWidget *bar, GList *(*list_func)(gpointer data), void bar_add(GtkWidget *bar, GtkWidget *pane) { GtkWidget *expander; - GtkWidget *label; BarData *bd = g_object_get_data(G_OBJECT(bar), "bar_data"); PaneData *pd = g_object_get_data(G_OBJECT(pane), "pane_data"); @@ -238,14 +237,17 @@ void bar_add(GtkWidget *bar, GtkWidget *pane) if (!bd) return; expander = gtk_expander_new(pd ? pd->title : ""); + if (pd && pd->title) + { + gtk_expander_set_label_widget(GTK_EXPANDER(expander), pd->title); + gtk_widget_show(pd->title); + pref_label_bold(pd->title, TRUE, FALSE); + } + gtk_box_pack_start(GTK_BOX(bd->vbox), expander, FALSE, TRUE, 0); g_signal_connect(expander, "button_press_event", G_CALLBACK(bar_expander_menu_cb), bd); - label = gtk_expander_get_label_widget(GTK_EXPANDER(expander)); -// gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); - pref_label_bold(label, TRUE, FALSE); - gtk_container_add(GTK_CONTAINER(expander), pane); gtk_expander_set_expanded(GTK_EXPANDER(expander), pd->expanded); diff --git a/src/bar.h b/src/bar.h index 1764d7f6..fb7c3e92 100644 --- a/src/bar.h +++ b/src/bar.h @@ -20,7 +20,7 @@ struct _PaneData { void (*pane_set_fd)(GtkWidget *pane, FileData *fd); gint (*pane_event)(GtkWidget *pane, GdkEvent *event); void (*pane_write_config)(GtkWidget *pane, GString *outstr, gint indent); - gchar *title; + GtkWidget *title; gboolean expanded; GList *(*list_func)(gpointer); diff --git a/src/bar_comment.c b/src/bar_comment.c index d23e37dc..1da9c8d7 100644 --- a/src/bar_comment.c +++ b/src/bar_comment.c @@ -153,7 +153,7 @@ static void bar_pane_comment_write_config(GtkWidget *pane, GString *outstr, gint WRITE_STRING("pane.title))); WRITE_BOOL(*pcd, pane.expanded); WRITE_CHAR(*pcd, key); WRITE_INT(*pcd, height); @@ -204,7 +204,6 @@ static void bar_pane_comment_destroy(GtkWidget *widget, gpointer data) file_data_unregister_notify_func(bar_pane_comment_notify_cb, pcd); file_data_unref(pcd->fd); - g_free(pcd->pane.title); g_free(pcd->key); @@ -223,7 +222,7 @@ GtkWidget *bar_pane_comment_new(const gchar *title, const gchar *key, gboolean e pcd->pane.pane_set_fd = bar_pane_comment_set_fd; pcd->pane.pane_event = bar_pane_comment_event; pcd->pane.pane_write_config = bar_pane_comment_write_config; - pcd->pane.title = g_strdup(title); + pcd->pane.title = gtk_label_new(title); pcd->pane.expanded = expanded; pcd->key = g_strdup(key); diff --git a/src/bar_exif.c b/src/bar_exif.c index bd029dd7..86559501 100644 --- a/src/bar_exif.c +++ b/src/bar_exif.c @@ -291,7 +291,7 @@ static void bar_pane_exif_write_config(GtkWidget *pane, GString *outstr, gint in WRITE_STRING("pane.title))); WRITE_BOOL(*ped, pane.expanded); indent--; WRITE_STRING("/>\n"); @@ -350,7 +350,7 @@ GtkWidget *bar_pane_exif_new(const gchar *title, gboolean expanded) ped->pane.pane_set_fd = bar_pane_exif_set_fd; ped->pane.pane_write_config = bar_pane_exif_write_config; - ped->pane.title = g_strdup(title); + ped->pane.title = gtk_label_new(title); ped->pane.expanded = expanded; ped->keys = g_new0(GtkWidget *, exif_len); diff --git a/src/bar_histogram.c b/src/bar_histogram.c index 6c7b6d70..b275d19b 100644 --- a/src/bar_histogram.c +++ b/src/bar_histogram.c @@ -116,7 +116,7 @@ static void bar_pane_histogram_write_config(GtkWidget *pane, GString *outstr, gi WRITE_STRING("pane.title))); WRITE_BOOL(*phd, pane.expanded); WRITE_INT(*phd->histogram, histogram_channel); WRITE_INT(*phd->histogram, histogram_mode); @@ -180,7 +180,6 @@ static void bar_pane_histogram_destroy(GtkWidget *widget, gpointer data) file_data_unregister_notify_func(bar_pane_histogram_notify_cb, phd); file_data_unref(phd->fd); - g_free(phd->pane.title); histogram_free(phd->histogram); if (phd->pixbuf) g_object_unref(phd->pixbuf); @@ -335,7 +334,7 @@ GtkWidget *bar_pane_histogram_new(const gchar *title, gint height, gboolean expa phd->pane.pane_set_fd = bar_pane_histogram_set_fd; phd->pane.pane_write_config = bar_pane_histogram_write_config; - phd->pane.title = g_strdup(title); + phd->pane.title = gtk_label_new(title); phd->pane.expanded = expanded; phd->idle_id = -1; diff --git a/src/bar_keywords.c b/src/bar_keywords.c index 04442b61..d734c277 100644 --- a/src/bar_keywords.c +++ b/src/bar_keywords.c @@ -484,7 +484,7 @@ static void bar_pane_keywords_write_config(GtkWidget *pane, GString *outstr, gin WRITE_STRING("pane.title))); WRITE_BOOL(*pkd, pane.expanded); WRITE_CHAR(*pkd, key); indent--; @@ -728,7 +728,7 @@ GtkWidget *bar_pane_keywords_new(const gchar *title, const gchar *key, gboolean pkd->pane.pane_set_fd = bar_pane_keywords_set_fd; pkd->pane.pane_event = bar_pane_keywords_event; pkd->pane.pane_write_config = bar_pane_keywords_write_config; - pkd->pane.title = g_strdup(title); + pkd->pane.title = gtk_label_new(title); pkd->pane.expanded = expanded; pkd->key = g_strdup(key);