[gthumb/gthumb-3-4] orginaze files: fixed wrong catalog cardinality
- From: Paolo Bacchilega <paobac src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gthumb/gthumb-3-4] orginaze files: fixed wrong catalog cardinality
- Date: Wed, 17 Aug 2016 15:30:35 +0000 (UTC)
commit a1dc72206e4c558aa4e5cd6702dc8b6ce1e9fd75
Author: Paolo Bacchilega <paobac src gnome org>
Date: Mon Aug 15 14:35:29 2016 +0200
orginaze files: fixed wrong catalog cardinality
extensions/catalogs/gth-catalog.c | 7 ++++++
extensions/catalogs/gth-catalog.h | 1 +
extensions/catalogs/gth-organize-task.c | 37 +++++++++++++++++-------------
3 files changed, 29 insertions(+), 16 deletions(-)
---
diff --git a/extensions/catalogs/gth-catalog.c b/extensions/catalogs/gth-catalog.c
index 807e239..2a7bbcc 100644
--- a/extensions/catalogs/gth-catalog.c
+++ b/extensions/catalogs/gth-catalog.c
@@ -777,6 +777,13 @@ gth_catalog_update_metadata (GthCatalog *catalog,
}
+int
+gth_catalog_get_size (GthCatalog *catalog)
+{
+ return g_hash_table_size (catalog->priv->file_hash);
+}
+
+
/* utils */
diff --git a/extensions/catalogs/gth-catalog.h b/extensions/catalogs/gth-catalog.h
index c1765c7..45f42d5 100644
--- a/extensions/catalogs/gth-catalog.h
+++ b/extensions/catalogs/gth-catalog.h
@@ -109,6 +109,7 @@ void gth_catalog_list_async (GthCatalog *catalog,
void gth_catalog_cancel (GthCatalog *catalog);
void gth_catalog_update_metadata (GthCatalog *catalog,
GthFileData *file_data);
+int gth_catalog_get_size (GthCatalog *catalog);
/* utils */
diff --git a/extensions/catalogs/gth-organize-task.c b/extensions/catalogs/gth-organize-task.c
index 21f05ec..9fa1f2d 100644
--- a/extensions/catalogs/gth-organize-task.c
+++ b/extensions/catalogs/gth-organize-task.c
@@ -165,20 +165,24 @@ done_func (GError *error,
CARDINALITY_COLUMN, &n,
-1);
if (n == 1) {
- GthCatalog *catalog;
- GList *file_list;
-
gtk_list_store_set (self->priv->results_liststore, &iter,
CREATE_CATALOG_COLUMN, FALSE,
-1);
singletons++;
- catalog = g_hash_table_lookup (self->priv->catalogs, key);
- file_list = gth_catalog_get_file_list (catalog);
- gth_catalog_insert_file (self->priv->singletons_catalog,
file_list->data, -1);
- if (singletons == 1)
- g_hash_table_insert (self->priv->catalogs,
- g_strdup (gth_catalog_get_name
(self->priv->singletons_catalog)),
- g_object_ref
(self->priv->singletons_catalog));
+
+ if (self->priv->singletons_catalog != NULL) {
+ GthCatalog *catalog;
+ GList *file_list;
+
+ catalog = g_hash_table_lookup (self->priv->catalogs, key);
+ file_list = gth_catalog_get_file_list (catalog);
+
+ gth_catalog_insert_file (self->priv->singletons_catalog,
file_list->data, -1);
+ if (singletons == 1)
+ g_hash_table_insert (self->priv->catalogs,
+ g_strdup (gth_catalog_get_name
(self->priv->singletons_catalog)),
+ g_object_ref
(self->priv->singletons_catalog));
+ }
}
g_free (key);
@@ -191,7 +195,7 @@ done_func (GError *error,
gtk_list_store_set (self->priv->results_liststore, &iter,
KEY_COLUMN, gth_catalog_get_name (self->priv->singletons_catalog),
NAME_COLUMN, gth_catalog_get_name
(self->priv->singletons_catalog),
- CARDINALITY_COLUMN, singletons,
+ CARDINALITY_COLUMN, gth_catalog_get_size
(self->priv->singletons_catalog),
CREATE_CATALOG_COLUMN, TRUE,
ICON_COLUMN, self->priv->icon_pixbuf,
-1);
@@ -417,6 +421,9 @@ add_file_to_catalog (GthOrganizeTask *self,
GtkTreeIter iter;
int n = 0;
+ if (! gth_catalog_insert_file (catalog, file_data->file, -1))
+ return;
+
if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (self->priv->results_liststore), &iter)) {
do {
char *k;
@@ -427,11 +434,11 @@ add_file_to_catalog (GthOrganizeTask *self,
CARDINALITY_COLUMN, &n,
-1);
if (g_strcmp0 (k, catalog_key) == 0) {
+ self->priv->n_files++;
+ n += 1;
gtk_list_store_set (self->priv->results_liststore, &iter,
- CARDINALITY_COLUMN, n + 1,
+ CARDINALITY_COLUMN, n,
-1);
- self->priv->n_files++;
-
g_free (k);
break;
}
@@ -440,8 +447,6 @@ add_file_to_catalog (GthOrganizeTask *self,
}
while (gtk_tree_model_iter_next (GTK_TREE_MODEL (self->priv->results_liststore), &iter));
}
-
- gth_catalog_insert_file (catalog, file_data->file, -1);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]