[gthumb] Bug 594788 - Adding option for user-defined date format for renaming files
- From: Paolo Bacchilega <paobac src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gthumb] Bug 594788 - Adding option for user-defined date format for renaming files
- Date: Fri, 15 Jan 2010 22:43:03 +0000 (UTC)
commit 2f03609370247c4124ca63b3949a3cb8d98e5fd8
Author: Matthias Hawran <matthias hawran net>
Date: Tue Jan 12 10:29:46 2010 +0100
Bug 594788 - Adding option for user-defined date format for renaming files
extensions/rename_series/dlg-rename-series.c | 25 ++++++++++++++++++++++++-
1 files changed, 24 insertions(+), 1 deletions(-)
---
diff --git a/extensions/rename_series/dlg-rename-series.c b/extensions/rename_series/dlg-rename-series.c
index 423c9c1..01c6aac 100644
--- a/extensions/rename_series/dlg-rename-series.c
+++ b/extensions/rename_series/dlg-rename-series.c
@@ -221,6 +221,29 @@ template_eval_cb (const GMatchInfo *info,
g_free (format);
}
+ else if (strncmp (match, "%date", 5) == 0) {
+ GTimeVal timeval;
+ GRegex *re;
+ char **a;
+ char *date = NULL;
+
+ /* Get file time info */
+ if(!gth_file_data_get_digitalization_time (template_data->file_data,&timeval))
+ timeval = *gth_file_data_get_modification_time (template_data->file_data);
+
+ /* Get input date format */
+ re = g_regex_new ("%date\\{([^}]+)\\}", 0, 0, NULL);
+ a = g_regex_split (re, match, 0);
+ if (g_strv_length (a) >= 2)
+ date = g_strstrip (a[1]);
+
+ /* Convert */
+ if ((date != NULL) && (*date != '\0'))
+ r = _g_time_val_strftime (&timeval, date);
+
+ g_strfreev (a);
+ g_regex_unref (re);
+ }
if (r != NULL)
g_string_append (res, r);
@@ -274,7 +297,7 @@ dlg_rename_series_update_preview (DialogData *data)
template_data->error = &error;
template_data->n = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (GET_WIDGET ("start_at_spinbutton")));
template_data->template = gtk_entry_get_text (GTK_ENTRY (GET_WIDGET ("template_entry")));
- re = g_regex_new ("#+|%F|%E|%N|%attr\\{[^}]+\\}", 0, 0, NULL);
+ re = g_regex_new ("#+|%F|%E|%N|%attr\\{[^}]+\\}|%date\\{[^}]+\\}", 0, 0, NULL);
for (scan = data->new_file_list; scan; scan = scan->next) {
char *new_name;
char *new_name2;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]