Revision: 1483
http://geeqie.svn.sourceforge.net/geeqie/?rev=1483&view=rev
Author: nadvornik
Date: 2009-03-06 15:52:47 +0000 (Fri, 06 Mar 2009)
Log Message:
-----------
simplified bar interface
Modified Paths:
--------------
trunk/src/bar.c
trunk/src/bar.h
trunk/src/bar_comment.c
trunk/src/bar_exif.c
trunk/src/bar_histogram.c
trunk/src/bar_keywords.c
trunk/src/layout_util.c
trunk/src/rcfile.c
Modified: trunk/src/bar.c
===================================================================
--- trunk/src/bar.c 2009-03-06 15:04:35 UTC (rev 1482)
+++ trunk/src/bar.c 2009-03-06 15:52:47 UTC (rev 1483)
@@ -42,8 +42,7 @@
FileData *fd;
GtkWidget *label_file_name;
- GList *(*list_func)(gpointer);
- gpointer list_data;
+ LayoutWindow *lw;
gint width;
};
@@ -187,42 +186,6 @@
}
-void bar_pane_set_selection_func(GtkWidget *pane, GList *(*list_func)(gpointer
data), gpointer data)
-{
- PaneData *pd;
-
- pd = g_object_get_data(G_OBJECT(pane), "pane_data");
- if (!pd) return;
-
- pd->list_func = list_func;
- pd->list_data = data;
-}
-
-void bar_set_selection_func(GtkWidget *bar, GList *(*list_func)(gpointer
data), gpointer data)
-{
- BarData *bd;
- GList *list, *work;
- bd = g_object_get_data(G_OBJECT(bar), "bar_data");
- if (!bd) return;
-
- bd->list_func = list_func;
- bd->list_data = data;
-
- list = gtk_container_get_children(GTK_CONTAINER(bd->vbox));
-
- work = list;
- while (work)
- {
- GtkWidget *widget = gtk_bin_get_child(GTK_BIN(work->data));
-
- bar_pane_set_selection_func(widget, list_func, data);
-
- work = work->next;
- }
- g_list_free(list);
- return;
-}
-
void bar_add(GtkWidget *bar, GtkWidget *pane)
{
GtkWidget *expander;
@@ -232,12 +195,14 @@
if (!bd) return;
+ pd->lw = bd->lw;
+ pd->bar = bar;
+
expander = gtk_expander_new(NULL);
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);
@@ -250,7 +215,6 @@
gtk_widget_show(expander);
- if (bd->list_func) bar_pane_set_selection_func(pane, bd->list_func,
bd->list_data);
if (bd->fd && pd && pd->pane_set_fd) pd->pane_set_fd(pane, bd->fd);
}
@@ -306,17 +270,16 @@
g_free(bd);
}
-GtkWidget *bar_new(GtkWidget *bounding_widget)
+GtkWidget *bar_new(LayoutWindow *lw)
{
BarData *bd;
GtkWidget *box;
- GtkWidget *sizer;
- GtkWidget *button;
- GtkWidget *arrow;
GtkWidget *scrolled;
bd = g_new0(BarData, 1);
+ bd->lw = lw;
+
bd->widget = gtk_vbox_new(FALSE, PREF_PAD_GAP);
g_object_set_data(G_OBJECT(bd->widget), "bar_data", bd);
g_signal_connect(G_OBJECT(bd->widget), "destroy",
@@ -356,9 +319,9 @@
return bd->widget;
}
-GtkWidget *bar_new_default(GtkWidget *bounding_widget)
+GtkWidget *bar_new_default(LayoutWindow *lw)
{
- GtkWidget *bar = bar_new(bounding_widget);
+ GtkWidget *bar = bar_new(lw);
bar_populate_default(bar);
@@ -367,9 +330,9 @@
return bar;
}
-GtkWidget *bar_new_from_config(GtkWidget *bounding_widget, const gchar
**attribute_names, const gchar **attribute_values)
+GtkWidget *bar_new_from_config(LayoutWindow *lw, const gchar
**attribute_names, const gchar **attribute_values)
{
- GtkWidget *bar = bar_new(bounding_widget);
+ GtkWidget *bar = bar_new(lw);
gboolean enabled = TRUE;
gint width = SIDEBAR_DEFAULT_WIDTH;
Modified: trunk/src/bar.h
===================================================================
--- trunk/src/bar.h 2009-03-06 15:04:35 UTC (rev 1482)
+++ trunk/src/bar.h 2009-03-06 15:52:47 UTC (rev 1483)
@@ -17,22 +17,23 @@
typedef struct _PaneData PaneData;
struct _PaneData {
+ /* filled in by pane */
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);
GtkWidget *title;
gboolean expanded;
- GList *(*list_func)(gpointer);
- gpointer list_data;
-
+ /* filled in by bar */
+ GtkWidget *bar;
+ LayoutWindow *lw;
};
-GtkWidget *bar_new(GtkWidget *bounding_widget);
-GtkWidget *bar_new_default(GtkWidget *bounding_widget);
-GtkWidget *bar_new_from_config(GtkWidget *bounding_widget, const gchar
**attribute_names, const gchar **attribute_values);
+GtkWidget *bar_new(LayoutWindow *lw);
+GtkWidget *bar_new_default(LayoutWindow *lw);
+GtkWidget *bar_new_from_config(LayoutWindow *lw, const gchar
**attribute_names, const gchar **attribute_values);
void bar_close(GtkWidget *bar);
@@ -44,11 +45,7 @@
void bar_set_fd(GtkWidget *bar, FileData *fd);
gint bar_event(GtkWidget *bar, GdkEvent *event);
-void bar_set_selection_func(GtkWidget *bar, GList *(*list_func)(gpointer
data), gpointer data);
gint bar_get_width(GtkWidget *bar);
-/* following functions are common for all panes */
-void bar_pane_set_selection_func(GtkWidget *pane, GList *(*list_func)(gpointer
data), gpointer data);
-
#endif
/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
Modified: trunk/src/bar_comment.c
===================================================================
--- trunk/src/bar_comment.c 2009-03-06 15:04:35 UTC (rev 1482)
+++ trunk/src/bar_comment.c 2009-03-06 15:52:47 UTC (rev 1483)
@@ -20,6 +20,7 @@
#include "ui_menu.h"
#include "ui_misc.h"
#include "rcfile.h"
+#include "layout.h"
static void bar_pane_comment_changed(GtkTextBuffer *buffer, gpointer data);
@@ -79,11 +80,9 @@
GList *work;
gchar *comment = NULL;
- if (!pcd->pane.list_func) return;
-
comment = text_widget_text_pull(pcd->comment_view);
- list = pcd->pane.list_func(pcd->pane.list_data);
+ list = layout_selection_list(pcd->pane.lw);
work = list;
while (work)
{
@@ -223,6 +222,8 @@
pcd->pane.pane_event = bar_pane_comment_event;
pcd->pane.pane_write_config = bar_pane_comment_write_config;
pcd->pane.title = gtk_label_new(title);
+ pref_label_bold(pcd->pane.title, TRUE, FALSE);
+
pcd->pane.expanded = expanded;
pcd->key = g_strdup(key);
Modified: trunk/src/bar_exif.c
===================================================================
--- trunk/src/bar_exif.c 2009-03-06 15:04:35 UTC (rev 1482)
+++ trunk/src/bar_exif.c 2009-03-06 15:52:47 UTC (rev 1483)
@@ -623,6 +623,7 @@
ped->pane.pane_set_fd = bar_pane_exif_set_fd;
ped->pane.pane_write_config = bar_pane_exif_write_config;
ped->pane.title = gtk_label_new(title);
+ pref_label_bold(ped->pane.title, TRUE, FALSE);
ped->pane.expanded = expanded;
ped->size_group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
Modified: trunk/src/bar_histogram.c
===================================================================
--- trunk/src/bar_histogram.c 2009-03-06 15:04:35 UTC (rev 1482)
+++ trunk/src/bar_histogram.c 2009-03-06 15:52:47 UTC (rev 1483)
@@ -334,6 +334,8 @@
phd->pane.pane_set_fd = bar_pane_histogram_set_fd;
phd->pane.pane_write_config = bar_pane_histogram_write_config;
phd->pane.title = gtk_label_new(title);
+ pref_label_bold(phd->pane.title, TRUE, FALSE);
+
phd->pane.expanded = expanded;
phd->idle_id = -1;
Modified: trunk/src/bar_keywords.c
===================================================================
--- trunk/src/bar_keywords.c 2009-03-06 15:04:35 UTC (rev 1482)
+++ trunk/src/bar_keywords.c 2009-03-06 15:52:47 UTC (rev 1483)
@@ -26,6 +26,7 @@
#include "bar.h"
#include "ui_menu.h"
#include "rcfile.h"
+#include "layout.h"
static const gchar *keyword_favorite_defaults[] = {
N_("Favorite"),
@@ -561,11 +562,9 @@
GList *list = NULL;
GList *work;
- if (!pkd->pane.list_func) return;
-
keywords = keyword_list_pull(pkd->keyword_view);
- list = pkd->pane.list_func(pkd->pane.list_data);
+ list = layout_selection_list(pkd->pane.lw);
work = list;
while (work)
{
@@ -729,6 +728,8 @@
pkd->pane.pane_event = bar_pane_keywords_event;
pkd->pane.pane_write_config = bar_pane_keywords_write_config;
pkd->pane.title = gtk_label_new(title);
+ pref_label_bold(pkd->pane.title, TRUE, FALSE);
+
pkd->pane.expanded = expanded;
pkd->key = g_strdup(key);
Modified: trunk/src/layout_util.c
===================================================================
--- trunk/src/layout_util.c 2009-03-06 15:04:35 UTC (rev 1482)
+++ trunk/src/layout_util.c 2009-03-06 15:52:47 UTC (rev 1483)
@@ -1954,20 +1954,13 @@
*/
}
-static GList *layout_bar_list_cb(gpointer data)
-{
- LayoutWindow *lw = data;
-
- return layout_selection_list(lw);
-}
-
static void layout_bar_set_default(LayoutWindow *lw)
{
GtkWidget *bar;
if (!lw->utility_box) return;
- bar = bar_new_default(lw->utility_box);
+ bar = bar_new_default(lw);
layout_bar_set(lw, bar);
}
@@ -1991,7 +1984,6 @@
if (!bar) return;
lw->bar = bar;
- bar_set_selection_func(lw->bar, layout_bar_list_cb, lw);
g_signal_connect(G_OBJECT(lw->bar), "destroy",
G_CALLBACK(layout_bar_destroyed), lw);
Modified: trunk/src/rcfile.c
===================================================================
--- trunk/src/rcfile.c 2009-03-06 15:04:35 UTC (rev 1482)
+++ trunk/src/rcfile.c 2009-03-06 15:52:47 UTC (rev 1483)
@@ -913,7 +913,7 @@
LayoutWindow *lw = data;
if (g_ascii_strcasecmp(element_name, "bar") == 0)
{
- GtkWidget *bar = bar_new_from_config(lw->utility_box,
attribute_names, attribute_values);
+ GtkWidget *bar = bar_new_from_config(lw, attribute_names,
attribute_values);
layout_bar_set(lw, bar);
options_parse_func_push(parser_data, options_parse_bar, NULL,
lw->bar);
}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Geeqie-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geeqie-svn