Author: akv
Date: 2012-04-17 23:12:42 +0200 (Tue, 17 Apr 2012)
New Revision: 4181
Added:
branches/4175-enfuse/pixmaps/overlay_hdr.png
Modified:
branches/4175-enfuse/pixmaps/Makefile.am
branches/4175-enfuse/src/application.c
branches/4175-enfuse/src/application.h
branches/4175-enfuse/src/gtk-interface.c
branches/4175-enfuse/src/rs-actions.c
branches/4175-enfuse/src/rs-batch.c
branches/4175-enfuse/src/rs-cache.c
branches/4175-enfuse/src/rs-cache.h
branches/4175-enfuse/src/rs-save-dialog.c
branches/4175-enfuse/src/rs-store.c
branches/4175-enfuse/src/rs-store.h
Log:
Added HDR overlay and status on photo in iconbox and in saved cache.
Modified: branches/4175-enfuse/pixmaps/Makefile.am
===================================================================
--- branches/4175-enfuse/pixmaps/Makefile.am 2012-04-17 16:55:48 UTC (rev
4180)
+++ branches/4175-enfuse/pixmaps/Makefile.am 2012-04-17 21:12:42 UTC (rev
4181)
@@ -7,6 +7,7 @@
overlay_priority2.png \
overlay_priority3.png \
overlay_exported.png \
+ overlay_hdr.png \
transform_flip.png \
transform_mirror.png \
transform_90.png \
Added: branches/4175-enfuse/pixmaps/overlay_hdr.png
===================================================================
(Binary files differ)
Property changes on: branches/4175-enfuse/pixmaps/overlay_hdr.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: branches/4175-enfuse/src/application.c
===================================================================
--- branches/4175-enfuse/src/application.c 2012-04-17 16:55:48 UTC (rev
4180)
+++ branches/4175-enfuse/src/application.c 2012-04-17 21:12:42 UTC (rev
4181)
@@ -164,7 +164,7 @@
rs_cache_save(photo, MASK_ALL);
/* Set the exported flag */
- rs_store_set_flags(NULL, photo->filename, NULL, NULL, &photo->exported);
+ rs_store_set_flags(NULL, photo->filename, NULL, NULL, &photo->exported,
&photo->hdr);
g_object_unref(ftransform_input);
g_object_unref(ftransform_display);
Modified: branches/4175-enfuse/src/application.h
===================================================================
--- branches/4175-enfuse/src/application.h 2012-04-17 16:55:48 UTC (rev
4180)
+++ branches/4175-enfuse/src/application.h 2012-04-17 21:12:42 UTC (rev
4181)
@@ -55,6 +55,7 @@
RS_RECT *crop;
gdouble angle;
gboolean exported;
+ gboolean hdr;
RSColorSpace *embedded_profile;
RSDcpFile *dcp;
RSIccProfile *icc;
Modified: branches/4175-enfuse/src/gtk-interface.c
===================================================================
--- branches/4175-enfuse/src/gtk-interface.c 2012-04-17 16:55:48 UTC (rev
4180)
+++ branches/4175-enfuse/src/gtk-interface.c 2012-04-17 21:12:42 UTC (rev
4181)
@@ -379,7 +379,7 @@
/* Iterate throuh all selected thumbnails */
for(i=0;i<num_selected;i++)
{
- rs_store_set_flags(rs->store, NULL, g_list_nth_data(selected,
i), &prio, NULL);
+ rs_store_set_flags(rs->store, NULL, g_list_nth_data(selected,
i), &prio, NULL, NULL);
}
g_list_free(selected);
@@ -387,7 +387,7 @@
if (rs->photo && rs_store_is_photo_selected(rs->store,
rs->photo->filename))
{
rs->photo->priority = prio;
- rs_store_set_flags(rs->store, rs->photo->filename, NULL, &prio,
NULL);
+ rs_store_set_flags(rs->store, rs->photo->filename, NULL, &prio,
NULL, NULL);
}
/* Generate text for statusbar notification */
Modified: branches/4175-enfuse/src/rs-actions.c
===================================================================
--- branches/4175-enfuse/src/rs-actions.c 2012-04-17 16:55:48 UTC (rev
4180)
+++ branches/4175-enfuse/src/rs-actions.c 2012-04-17 21:12:42 UTC (rev
4181)
@@ -1423,6 +1423,11 @@
gchar *filename = rs_enfuse(selected_names);
g_list_free(selected_names);
rs_store_load_file(rs->store, filename);
+
+ gboolean hdr = TRUE;
+
+ rs_store_set_flags(rs->store, filename, NULL, NULL, NULL, &hdr);
+
}
RADIOACTION(right_popup)
Modified: branches/4175-enfuse/src/rs-batch.c
===================================================================
--- branches/4175-enfuse/src/rs-batch.c 2012-04-17 16:55:48 UTC (rev 4180)
+++ branches/4175-enfuse/src/rs-batch.c 2012-04-17 21:12:42 UTC (rev 4181)
@@ -595,7 +595,7 @@
gboolean exported = rs_output_execute(queue->output,
fend);
gdk_threads_enter();
if (exported)
- rs_store_set_flags(NULL, photo->filename, NULL,
NULL, &exported);
+ rs_store_set_flags(NULL, photo->filename, NULL,
NULL, &exported, NULL);
else
{
gui_status_notify(_("Could not export photo."));
Modified: branches/4175-enfuse/src/rs-cache.c
===================================================================
--- branches/4175-enfuse/src/rs-cache.c 2012-04-17 16:55:48 UTC (rev 4180)
+++ branches/4175-enfuse/src/rs-cache.c 2012-04-17 21:12:42 UTC (rev 4181)
@@ -83,6 +83,8 @@
photo->priority);
if (photo->exported)
xmlTextWriterWriteFormatElement(writer, BAD_CAST "exported",
"yes");
+ if (photo->hdr)
+ xmlTextWriterWriteFormatElement(writer, BAD_CAST "hdr", "yes");
xmlTextWriterWriteFormatElement(writer, BAD_CAST "orientation", "%d",
photo->orientation);
xmlTextWriterWriteFormatElement(writer, BAD_CAST "angle", "%f",
@@ -443,6 +445,16 @@
xmlFree(val);
}
}
+ else if ((!xmlStrcmp(cur->name, BAD_CAST "hdr")))
+ {
+ val = xmlNodeListGetString(doc, cur->xmlChildrenNode,
1);
+ if (val)
+ {
+ if (g_ascii_strcasecmp((gchar *) val, "yes")==0)
+ photo->hdr = TRUE;
+ xmlFree(val);
+ }
+ }
else if ((!xmlStrcmp(cur->name, BAD_CAST "dcp-profile")))
{
val = xmlNodeListGetString(doc, cur->xmlChildrenNode,
1);
@@ -514,7 +526,7 @@
}
void
-rs_cache_load_quick(const gchar *filename, gint *priority, gboolean *exported)
+rs_cache_load_quick(const gchar *filename, gint *priority, gboolean *exported,
gboolean *hdr)
{
xmlDocPtr doc;
xmlNodePtr cur;
@@ -562,6 +574,13 @@
*exported = TRUE;
xmlFree(val);
}
+ if (hdr && (!xmlStrcmp(cur->name, BAD_CAST "hdr")))
+ {
+ val = xmlNodeListGetString(doc, cur->xmlChildrenNode,
1);
+ if (g_ascii_strcasecmp((gchar *) val, "yes")==0)
+ *hdr = TRUE;
+ xmlFree(val);
+ }
cur = cur->next;
}
@@ -570,7 +589,7 @@
}
void
-rs_cache_save_flags(const gchar *filename, const guint *priority, const
gboolean *exported)
+rs_cache_save_flags(const gchar *filename, const guint *priority, const
gboolean *exported, const gboolean *hdr)
{
RS_PHOTO *photo;
RSSettingsMask mask;
@@ -578,7 +597,7 @@
g_assert(filename != NULL);
- if (!(priority || exported)) return;
+ if (!(priority || exported || hdr)) return;
/* Aquire a "fake" RS_PHOTO */
photo = rs_photo_new();
@@ -591,6 +610,8 @@
photo->priority = *priority;
if (exported)
photo->exported = *exported;
+ if (hdr)
+ photo->hdr = *hdr;
rs_cache_save(photo, mask);
}
else
@@ -619,6 +640,9 @@
if (exported && *exported)
xmlTextWriterWriteFormatElement(writer,
BAD_CAST "exported", "yes");
+ if (hdr && *hdr)
+ xmlTextWriterWriteFormatElement(writer,
BAD_CAST "hdr", "yes");
+
ret = xmlTextWriterEndDocument(writer);
xmlFreeTextWriter(writer);
}
Modified: branches/4175-enfuse/src/rs-cache.h
===================================================================
--- branches/4175-enfuse/src/rs-cache.h 2012-04-17 16:55:48 UTC (rev 4180)
+++ branches/4175-enfuse/src/rs-cache.h 2012-04-17 21:12:42 UTC (rev 4181)
@@ -27,7 +27,7 @@
extern void rs_cache_save_settings(RSSettings *rss, const RSSettingsMask mask,
xmlTextWriterPtr writer);
extern guint rs_cache_load(RS_PHOTO *photo);
extern guint rs_cache_load_setting(RSSettings *rss, xmlDocPtr doc, xmlNodePtr
cur, gint version);
-extern void rs_cache_load_quick(const gchar *filename, gint *priority,
gboolean *exported);
-extern void rs_cache_save_flags(const gchar *filename, const guint *priority,
const gboolean *exported);
+extern void rs_cache_load_quick(const gchar *filename, gint *priority,
gboolean *exported, gboolean *hdr);
+extern void rs_cache_save_flags(const gchar *filename, const guint *priority,
const gboolean *exported, const gboolean *hdr);
#endif /* RS_CACHE_H */
Modified: branches/4175-enfuse/src/rs-save-dialog.c
===================================================================
--- branches/4175-enfuse/src/rs-save-dialog.c 2012-04-17 16:55:48 UTC (rev
4180)
+++ branches/4175-enfuse/src/rs-save-dialog.c 2012-04-17 21:12:42 UTC (rev
4181)
@@ -358,7 +358,7 @@
/* Set the exported flag */
if (exported)
- rs_store_set_flags(NULL, dialog->photo->filename, NULL, NULL,
&exported);
+ rs_store_set_flags(NULL, dialog->photo->filename, NULL, NULL,
&exported, NULL);
gdk_threads_enter();
gtk_widget_destroy(GTK_WIDGET(dialog));
Modified: branches/4175-enfuse/src/rs-store.c
===================================================================
--- branches/4175-enfuse/src/rs-store.c 2012-04-17 16:55:48 UTC (rev 4180)
+++ branches/4175-enfuse/src/rs-store.c 2012-04-17 21:12:42 UTC (rev 4181)
@@ -66,7 +66,7 @@
static GdkPixbuf *icon_priority_3 = NULL;
static GdkPixbuf *icon_priority_D = NULL;
static GdkPixbuf *icon_exported = NULL;
-
+static GdkPixbuf *icon_hdr = NULL;
static GdkPixbuf *icon_default = NULL;
enum {
@@ -77,6 +77,7 @@
FULLNAME_COLUMN, /* Full path to image */
PRIORITY_COLUMN,
EXPORTED_COLUMN,
+ HDR_COLUMN,
METADATA_COLUMN, /* RSMetadata for image */
TYPE_COLUMN,
GROUP_LIST_COLUMN,
@@ -142,7 +143,7 @@
static gboolean scroll_event(GtkWidget *widget, GdkEventScroll *event,
gpointer user_data);
static void selection_changed(GtkIconView *iconview, gpointer data);
static void thumbnail_overlay(GdkPixbuf *pixbuf, GdkPixbuf *lowerleft,
GdkPixbuf *lowerright, GdkPixbuf *topleft, GdkPixbuf *topright, gint shadow);
-static void thumbnail_update(GdkPixbuf *pixbuf, GdkPixbuf *pixbuf_clean, gint
priority, gboolean exported, gint shadow);
+static void thumbnail_update(GdkPixbuf *pixbuf, GdkPixbuf *pixbuf_clean, gint
priority, gboolean exported, gboolean hdr, gint shadow);
static void switch_page(GtkNotebook *notebook, GtkNotebookPage *page, guint
page_num, gpointer data);
static void selection_changed(GtkIconView *iconview, gpointer data);
static GtkWidget *make_iconview(GtkWidget *iconview, RSStore *store, gint
prio);
@@ -211,6 +212,7 @@
icon_priority_3 = gdk_pixbuf_new_from_file(PACKAGE_DATA_DIR
G_DIR_SEPARATOR_S "pixmaps" G_DIR_SEPARATOR_S PACKAGE G_DIR_SEPARATOR_S
"overlay_priority3.png", NULL);
icon_priority_D = gdk_pixbuf_new_from_file(PACKAGE_DATA_DIR
G_DIR_SEPARATOR_S "pixmaps" G_DIR_SEPARATOR_S PACKAGE G_DIR_SEPARATOR_S
"overlay_deleted.png", NULL);
icon_exported = gdk_pixbuf_new_from_file(PACKAGE_DATA_DIR
G_DIR_SEPARATOR_S "pixmaps" G_DIR_SEPARATOR_S PACKAGE G_DIR_SEPARATOR_S
"overlay_exported.png", NULL);
+ icon_hdr = gdk_pixbuf_new_from_file(PACKAGE_DATA_DIR
G_DIR_SEPARATOR_S "pixmaps" G_DIR_SEPARATOR_S PACKAGE G_DIR_SEPARATOR_S
"overlay_hdr.png", NULL);
}
}
@@ -239,6 +241,7 @@
G_TYPE_STRING,
G_TYPE_INT,
G_TYPE_BOOLEAN,
+ G_TYPE_BOOLEAN,
G_TYPE_OBJECT,
G_TYPE_INT,
G_TYPE_POINTER);
@@ -1094,10 +1097,11 @@
}
static void
-thumbnail_update(GdkPixbuf *pixbuf, GdkPixbuf *pixbuf_clean, gint priority,
gboolean exported, gint shadow)
+thumbnail_update(GdkPixbuf *pixbuf, GdkPixbuf *pixbuf_clean, gint priority,
gboolean exported, gboolean hdr, gint shadow)
{
GdkPixbuf *icon_priority_temp;
GdkPixbuf *icon_exported_temp;
+ GdkPixbuf *icon_hdr_temp;
if (!pixbuf_clean)
return;
@@ -1132,7 +1136,12 @@
else
icon_exported_temp = NULL;
- thumbnail_overlay(pixbuf, icon_exported_temp, icon_priority_temp, NULL,
NULL, shadow);
+ if (hdr)
+ icon_hdr_temp = icon_hdr;
+ else
+ icon_hdr_temp = NULL;
+
+ thumbnail_overlay(pixbuf, icon_exported_temp, icon_priority_temp,
icon_hdr_temp, NULL, shadow);
}
static void
@@ -1486,7 +1495,7 @@
*/
gboolean
rs_store_set_flags(RSStore *store, const gchar *filename, GtkTreeIter *iter,
- const guint *priority, const gboolean *exported)
+ const guint *priority, const gboolean *exported, const
gboolean *hdr)
{
GtkTreeIter i;
@@ -1496,7 +1505,7 @@
gboolean ret = FALSE;
for (i=0;i<g_list_length(all_stores);i++)
{
- if(rs_store_set_flags(g_list_nth_data(all_stores, i),
filename, iter, priority, exported))
+ if(rs_store_set_flags(g_list_nth_data(all_stores, i),
filename, iter, priority, exported, hdr))
ret = TRUE;
}
return ret;
@@ -1513,7 +1522,7 @@
if (iter)
{
guint prio;
- gboolean expo;
+ gboolean expo, hd;
GdkPixbuf *pixbuf;
GdkPixbuf *pixbuf_clean;
gchar *fullname;
@@ -1523,6 +1532,7 @@
PIXBUF_CLEAN_COLUMN, &pixbuf_clean,
PRIORITY_COLUMN, &prio,
EXPORTED_COLUMN, &expo,
+ HDR_COLUMN, &hd,
FULLNAME_COLUMN, &fullname,
-1);
@@ -1530,8 +1540,10 @@
prio = *priority;
if (exported)
expo = *exported;
+ if (hdr)
+ hd = *hdr;
- thumbnail_update(pixbuf, pixbuf_clean, prio, expo,
DROPSHADOWOFFSET);
+ thumbnail_update(pixbuf, pixbuf_clean, prio, expo, hd,
DROPSHADOWOFFSET);
gtk_list_store_set (store->store, iter,
PRIORITY_COLUMN, prio,
@@ -1539,7 +1551,7 @@
/* Update the cache */
if (priority || exported)
- rs_cache_save_flags(fullname, priority, exported);
+ rs_cache_save_flags(fullname, priority, exported, hdr);
return TRUE;
}
@@ -2156,6 +2168,7 @@
gchar *name_full = NULL;
guint priority;
gboolean exported;
+ gboolean hdr;
store_get_members(store, &iter, &members);
@@ -2169,12 +2182,13 @@
FULLNAME_COLUMN, &fullname,
PRIORITY_COLUMN, &priority,
EXPORTED_COLUMN, &exported,
+ HDR_COLUMN, &hdr,
-1);
pixbuf_clean = store_group_update_pixbufs(pixbuf, pixbuf_clean);
pixbuf = gdk_pixbuf_copy(pixbuf_clean);
- thumbnail_update(pixbuf, pixbuf_clean, priority, exported,
DROPSHADOWOFFSET);
+ thumbnail_update(pixbuf, pixbuf_clean, priority, exported, hdr,
DROPSHADOWOFFSET);
gtk_list_store_set (store, &iter,
PIXBUF_COLUMN, pixbuf,
@@ -2184,6 +2198,7 @@
FULLNAME_COLUMN, fullname,
PRIORITY_COLUMN, priority,
EXPORTED_COLUMN, exported,
+ HDR_COLUMN, hdr,
-1);
store_save_groups(store);
@@ -2808,6 +2823,7 @@
GtkTreeIter i;
guint prio;
gboolean expo;
+ gboolean hdr;
if (!pixbuf || !filename || !store || !store->store)
return;
@@ -2822,10 +2838,11 @@
gtk_tree_model_get(GTK_TREE_MODEL(store->store), &i,
PRIORITY_COLUMN, &prio,
EXPORTED_COLUMN, &expo,
+ HDR_COLUMN, &hdr,
-1);
gdk_threads_enter();
- thumbnail_update(pixbuf, pixbuf_clean, prio, expo,
DROPSHADOWOFFSET);
+ thumbnail_update(pixbuf, pixbuf_clean, prio, expo, hdr,
DROPSHADOWOFFSET);
gtk_list_store_set(GTK_LIST_STORE(store->store), &i,
PIXBUF_COLUMN, pixbuf,
@@ -2843,6 +2860,7 @@
{
WORKER_JOB *job = user_data;
gboolean exported;
+ gboolean hdr;
gint priority;
GdkPixbuf *pixbuf, *pixbuf_clean, *pixbuf2;
@@ -2866,10 +2884,10 @@
#endif
pixbuf_clean = gdk_pixbuf_copy(pixbuf);
- rs_cache_load_quick(job->filename, &priority, &exported);
+ rs_cache_load_quick(job->filename, &priority, &exported, &hdr);
/* Update thumbnail */
- thumbnail_update(pixbuf, pixbuf_clean, priority, exported,
DROPSHADOWOFFSET);
+ thumbnail_update(pixbuf, pixbuf_clean, priority, exported, hdr,
DROPSHADOWOFFSET);
g_assert(pixbuf != NULL);
g_assert(pixbuf_clean != NULL);
@@ -2882,6 +2900,7 @@
PIXBUF_CLEAN_COLUMN, pixbuf_clean,
PRIORITY_COLUMN, priority,
EXPORTED_COLUMN, exported,
+ HDR_COLUMN, hdr,
-1);
gdk_threads_leave();
Modified: branches/4175-enfuse/src/rs-store.h
===================================================================
--- branches/4175-enfuse/src/rs-store.h 2012-04-17 16:55:48 UTC (rev 4180)
+++ branches/4175-enfuse/src/rs-store.h 2012-04-17 21:12:42 UTC (rev 4181)
@@ -79,7 +79,7 @@
*/
extern gboolean
rs_store_set_flags(RSStore *store, const gchar *filename, GtkTreeIter *iter,
- const guint *priority, const gboolean *exported);
+ const guint *priority, const gboolean *exported, const gboolean *hdr);
/**
* Update thumbnail of a file in the store
_______________________________________________
Rawstudio-commit mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit