[gthumb] hide the metadata cell renderer if the metadata is not present



commit d49ab0032aabfcc5e9fab1524ee9c2f8691cfacf
Author: Paolo Bacchilega <paobac src gnome org>
Date:   Wed Jan 5 20:08:20 2011 +0100

    hide the metadata cell renderer if the metadata is not present

 gthumb/gth-file-list.c  |    1 +
 gthumb/gth-file-store.c |    7 +++++++
 gthumb/gth-file-store.h |    1 +
 3 files changed, 9 insertions(+), 0 deletions(-)
---
diff --git a/gthumb/gth-file-list.c b/gthumb/gth-file-list.c
index 2e63b43..815f20b 100644
--- a/gthumb/gth-file-list.c
+++ b/gthumb/gth-file-list.c
@@ -736,6 +736,7 @@ gth_file_list_construct (GthFileList     *file_list,
 	gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (file_list->priv->view),
 					renderer,
 					"text", GTH_FILE_STORE_METADATA_COLUMN,
+					"visible", GTH_FILE_STORE_METADATA_VISIBLE_COLUMN,
 					NULL);
 
 	_gth_file_list_set_type (file_list, list_type);
diff --git a/gthumb/gth-file-store.c b/gthumb/gth-file-store.c
index 74db77d..2072a74 100644
--- a/gthumb/gth-file-store.c
+++ b/gthumb/gth-file-store.c
@@ -255,6 +255,7 @@ gth_file_store_init (GthFileStore *file_store)
 		column_type[GTH_FILE_STORE_IS_ICON_COLUMN] = G_TYPE_BOOLEAN;
 		column_type[GTH_FILE_STORE_FILENAME_COLUMN] = G_TYPE_STRING;
 		column_type[GTH_FILE_STORE_METADATA_COLUMN] = G_TYPE_STRING;
+		column_type[GTH_FILE_STORE_METADATA_VISIBLE_COLUMN] = G_TYPE_BOOLEAN;
 		column_type[GTH_FILE_STORE_CHECKED_COLUMN] = G_TYPE_BOOLEAN;
 	}
 }
@@ -375,6 +376,10 @@ gth_file_store_get_value (GtkTreeModel *tree_model,
 		g_value_init (value, G_TYPE_STRING);
 		g_value_set_string (value, row->metadata);
 		break;
+	case GTH_FILE_STORE_METADATA_VISIBLE_COLUMN:
+		g_value_init (value, G_TYPE_BOOLEAN);
+		g_value_set_boolean (value, (row->metadata != NULL) && ! g_str_equal (row->metadata, ""));
+		break;
 	case GTH_FILE_STORE_CHECKED_COLUMN:
 		g_value_init (value, G_TYPE_BOOLEAN);
 		g_value_set_boolean (value, row->checked);
@@ -1472,6 +1477,8 @@ gth_file_store_queue_set_valist (GthFileStore *file_store,
   			_gth_file_row_set_metadata (row, metadata);
   			row->changed = TRUE;
   			break;
+  		case GTH_FILE_STORE_METADATA_VISIBLE_COLUMN:
+  			break;
   		case GTH_FILE_STORE_CHECKED_COLUMN:
   			row->checked = va_arg (var_args, gboolean);
   			row->changed = TRUE;
diff --git a/gthumb/gth-file-store.h b/gthumb/gth-file-store.h
index f6a7ac4..9132c20 100644
--- a/gthumb/gth-file-store.h
+++ b/gthumb/gth-file-store.h
@@ -45,6 +45,7 @@ enum {
 	GTH_FILE_STORE_IS_ICON_COLUMN,
 	GTH_FILE_STORE_FILENAME_COLUMN,
 	GTH_FILE_STORE_METADATA_COLUMN,
+	GTH_FILE_STORE_METADATA_VISIBLE_COLUMN,
 	GTH_FILE_STORE_CHECKED_COLUMN,
 	GTH_FILE_STORE_N_COLUMNS
 };



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]