[gthumb] Avoid useless read of tags/comments, bug 583833
- From: Michael J. Chudobiak <mjc src gnome org>
- To: svn-commits-list gnome org
- Subject: [gthumb] Avoid useless read of tags/comments, bug 583833
- Date: Tue, 26 May 2009 08:56:43 -0400 (EDT)
commit 957519f269b1a023e1557b6a66ad2b97f2ce0ec1
Author: Marc Pavot <marc pavot gmail com>
Date: Tue May 26 08:49:41 2009 -0400
Avoid useless read of tags/comments, bug 583833
---
libgthumb/file-data.c | 5 +++--
libgthumb/file-data.h | 4 ++--
libgthumb/gth-filter.c | 8 ++++----
libgthumb/print-callbacks.c | 3 +--
src/catalog-png-exporter.c | 3 +--
src/catalog-web-exporter.c | 3 +--
src/dlg-change-date.c | 3 +--
src/dlg-image-prop.c | 3 +--
src/gth-browser.c | 3 +--
src/gth-fullscreen.c | 3 +--
src/gth-viewer.c | 5 ++---
11 files changed, 18 insertions(+), 25 deletions(-)
diff --git a/libgthumb/file-data.c b/libgthumb/file-data.c
index f26b988..a51e821 100644
--- a/libgthumb/file-data.c
+++ b/libgthumb/file-data.c
@@ -395,12 +395,13 @@ file_data_has_local_path (FileData *fd,
}
CommentData *
-file_data_get_comment (FileData *fd)
+file_data_get_comment (FileData *fd,
+ gboolean try_embedded)
{
g_return_val_if_fail (fd != NULL, NULL);
if (!fd->comment_data)
- fd->comment_data = comments_load_comment (fd->path, FALSE);
+ fd->comment_data = comments_load_comment (fd->path, try_embedded);
return fd->comment_data;
}
diff --git a/libgthumb/file-data.h b/libgthumb/file-data.h
index 254a3f2..87d72e1 100644
--- a/libgthumb/file-data.h
+++ b/libgthumb/file-data.h
@@ -78,8 +78,8 @@ void file_data_update_mime_type (FileData *fd,
void file_data_update_all (FileData *fd,
gboolean fast_mime_type);
void file_data_update_comment (FileData *fd);
-CommentData* file_data_get_comment (FileData *fd);
-
+CommentData* file_data_get_comment (FileData *fd,
+ gboolean try_embedded);
GList* file_data_list_from_uri_list (GList *list);
GList* uri_list_from_file_data_list (GList *list);
GList* file_data_list_dup (GList *list);
diff --git a/libgthumb/gth-filter.c b/libgthumb/gth-filter.c
index 7f3e5e1..861ad59 100644
--- a/libgthumb/gth-filter.c
+++ b/libgthumb/gth-filter.c
@@ -318,7 +318,7 @@ gth_test_match (GthTest *test,
break;
case GTH_TEST_SCOPE_COMMENT:
- cdata = file_data_get_comment (fdata);
+ cdata = file_data_get_comment (fdata, FALSE);
if (cdata)
result = test_string (test, cdata->comment);
else
@@ -326,13 +326,13 @@ gth_test_match (GthTest *test,
break;
case GTH_TEST_SCOPE_PLACE:
- cdata = file_data_get_comment (fdata);
+ cdata = file_data_get_comment (fdata, FALSE);
if (cdata != NULL)
result = test_string (test, cdata->place);
break;
case GTH_TEST_SCOPE_ALL:
- cdata = file_data_get_comment (fdata);
+ cdata = file_data_get_comment (fdata, FALSE);
if (cdata != NULL) {
result = (test_string (test, fdata->utf8_name)
|| test_string (test, cdata->comment)
@@ -348,7 +348,7 @@ gth_test_match (GthTest *test,
break;
case GTH_TEST_SCOPE_KEYWORDS:
- cdata = file_data_get_comment (fdata);
+ cdata = file_data_get_comment (fdata, FALSE);
if (cdata != NULL)
result = test_keywords (test, cdata->keywords);
else
diff --git a/libgthumb/print-callbacks.c b/libgthumb/print-callbacks.c
index 569d9c6..aa0a8ce 100644
--- a/libgthumb/print-callbacks.c
+++ b/libgthumb/print-callbacks.c
@@ -2332,10 +2332,9 @@ image_loader_done_cb (ImageLoader *il,
}
}
- cdata = comments_load_comment (image->file->path, TRUE);
+ cdata = file_data_get_comment (image->file, TRUE);
if (cdata != NULL) {
image->comment = comments_get_comment_as_string (cdata, "\n", " - ");
- comment_data_free (cdata);
}
data->current_image++;
diff --git a/src/catalog-png-exporter.c b/src/catalog-png-exporter.c
index 12b3818..ae81304 100644
--- a/src/catalog-png-exporter.c
+++ b/src/catalog-png-exporter.c
@@ -154,10 +154,9 @@ image_data_new (FileData *file)
idata = g_new0 (ImageData, 1);
idata->file = file_data_ref (file);
- cdata = comments_load_comment (file->path, TRUE);
+ cdata = file_data_get_comment (file, TRUE);
if (cdata != NULL) {
idata->comment = comments_get_comment_as_string (cdata, "\n", "\n");
- comment_data_free (cdata);
}
idata->thumb = NULL;
idata->image_width = 0;
diff --git a/src/catalog-web-exporter.c b/src/catalog-web-exporter.c
index 77ab1c5..ee0f262 100644
--- a/src/catalog-web-exporter.c
+++ b/src/catalog-web-exporter.c
@@ -146,7 +146,7 @@ image_data_new (FileData *file)
idata = g_new0 (ImageData, 1);
- cdata = comments_load_comment (file->path, TRUE);
+ cdata = file_data_get_comment (file, TRUE);
if (cdata != NULL) {
idata->comment = g_strdup (cdata->comment);
idata->place = g_strdup (cdata->place);
@@ -162,7 +162,6 @@ image_data_new (FileData *file)
}
else
idata->date_time = NULL;
- comment_data_free (cdata);
}
else {
idata->comment = NULL;
diff --git a/src/dlg-change-date.c b/src/dlg-change-date.c
index b76a489..602eb5c 100644
--- a/src/dlg-change-date.c
+++ b/src/dlg-change-date.c
@@ -133,10 +133,9 @@ ok_clicked (GtkWidget *button,
tz = (int) gtk_spin_button_get_value (GTK_SPIN_BUTTON (data->cd_timezone_spinbutton)) * (60 * 60);
if (is_active (data->cd_comment_checkbutton)) {
CommentData *cdata;
- cdata = comments_load_comment (fdata->path, TRUE);
+ cdata = file_data_get_comment (fdata, TRUE);
if (cdata != NULL) {
comment_time = cdata->time + tz;
- comment_data_free (cdata);
}
}
if (is_active (data->cd_last_modified_checkbutton))
diff --git a/src/dlg-image-prop.c b/src/dlg-image-prop.c
index dd0ee32..e11e38a 100644
--- a/src/dlg-image-prop.c
+++ b/src/dlg-image-prop.c
@@ -286,7 +286,7 @@ update_comment (DialogData *data)
g_return_if_fail (GTK_IS_WIDGET (data->i_tags_label));
g_return_if_fail (GTK_IS_TEXT_BUFFER (data->i_comment_textbuffer));
- cdata = comments_load_comment (gth_window_get_image_filename (GTH_WINDOW (data->browser)), TRUE);
+ cdata = file_data_get_comment (gth_window_get_image_data (GTH_WINDOW (data->browser)), TRUE);
if (cdata == NULL) {
GtkTextIter start_iter, end_iter;
@@ -344,7 +344,6 @@ update_comment (DialogData *data)
gtk_label_set_text (GTK_LABEL (data->i_tags_label), "");
g_free (comment);
- comment_data_free (cdata);
}
diff --git a/src/gth-browser.c b/src/gth-browser.c
index 09730db..5d5c1f8 100644
--- a/src/gth-browser.c
+++ b/src/gth-browser.c
@@ -504,7 +504,7 @@ update_image_comment (GthBrowser *browser)
return;
}
- cdata = comments_load_comment (priv->image->path, TRUE);
+ cdata = file_data_get_comment (priv->image, TRUE);
if (comment_text_is_void (cdata)) {
GtkTextIter iter;
@@ -544,7 +544,6 @@ update_image_comment (GthBrowser *browser)
gth_file_list_update_comment (priv->file_list, priv->image->path);
g_free (comment);
- comment_data_free (cdata);
}
diff --git a/src/gth-fullscreen.c b/src/gth-fullscreen.c
index 51e9adf..3c4a116 100644
--- a/src/gth-fullscreen.c
+++ b/src/gth-fullscreen.c
@@ -921,7 +921,7 @@ show_comment_on_image (GthFullscreen *fullscreen)
}
if (gth_window_get_image_filename (window) != NULL)
- cdata = comments_load_comment (gth_window_get_image_filename (window), TRUE);
+ cdata = file_data_get_comment (gth_window_get_image_data (window), TRUE);
else
return;
@@ -932,7 +932,6 @@ show_comment_on_image (GthFullscreen *fullscreen)
if (cdata != NULL) {
comment = comments_get_comment_as_string (cdata, "\n", " - ");
keywords = comments_get_tags_as_string (cdata, ", ");
- comment_data_free (cdata);
}
file_info = get_file_info (fullscreen);
diff --git a/src/gth-viewer.c b/src/gth-viewer.c
index 85ea0a6..badcf90 100644
--- a/src/gth-viewer.c
+++ b/src/gth-viewer.c
@@ -624,8 +624,8 @@ update_image_comment (GthViewer *viewer)
return;
}
- cdata = comments_load_comment (priv->image->path, TRUE);
-
+ cdata = file_data_get_comment (priv->image, TRUE);
+
if (cdata == NULL) {
GtkTextIter iter;
const char *click_here = _("[Press 'c' to add a comment]");
@@ -660,7 +660,6 @@ update_image_comment (GthViewer *viewer)
}
g_free (comment);
- comment_data_free (cdata);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]