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

Reply via email to