Author: post
Date: 2010-06-14 22:24:23 +0200 (Mon, 14 Jun 2010)
New Revision: 3423
Modified:
trunk/plugins/output-picasa/output-picasa.c
Log:
Picasa: Store album as a property.
Modified: trunk/plugins/output-picasa/output-picasa.c
===================================================================
--- trunk/plugins/output-picasa/output-picasa.c 2010-06-14 19:14:13 UTC (rev
3422)
+++ trunk/plugins/output-picasa/output-picasa.c 2010-06-14 20:24:23 UTC (rev
3423)
@@ -67,7 +67,9 @@
PROP_0,
PROP_LOGO,
PROP_JPEG_QUALITY,
- PROP_ALBUM_SELECTOR
+ PROP_ALBUM_SELECTOR,
+ PROP_ALBUM_ID,
+ PROP_FILENAME /* Required for a output plugin - not in use */
};
static void get_property (GObject * object, guint property_id, GValue * value,
GParamSpec * pspec);
@@ -111,6 +113,11 @@
"Album selector",
GTK_TYPE_WIDGET,
G_PARAM_READABLE));
+ g_object_class_install_property (object_class,
+ PROP_ALBUM_ID, g_param_spec_string
("album id",
+
"album id",
+
"Album id","",
+
G_PARAM_READWRITE));
output_class->execute = execute;
output_class->display_name = _("Upload photo to Picasa");
@@ -120,6 +127,7 @@
rs_picasa_init (RSPicasa * picasa)
{
picasa->quality = 90;
+ picasa->album_id = rs_conf_get_string(CONF_PICASA_CLIENT_ALBUM_ID);
}
static void
@@ -135,9 +143,12 @@
case PROP_LOGO:
g_value_set_object(value, get_logo_widget(picasa));
break;
- case PROP_ALBUM_SELECTOR:
- g_value_set_object(value, get_album_selector_widget(picasa));
- break;
+ case PROP_ALBUM_SELECTOR:
+ g_value_set_object(value, get_album_selector_widget(picasa));
+ break;
+ case PROP_ALBUM_ID:
+ g_value_set_string(value, picasa->album_id);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
}
@@ -153,6 +164,9 @@
case PROP_JPEG_QUALITY:
picasa->quality = g_value_get_int (value);
break;
+ case PROP_ALBUM_ID:
+ picasa->album_id = g_strdup(g_value_get_string(value));
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
}
@@ -170,7 +184,7 @@
deal_with_error(GError **error)
{
if (!*error)
- return FALSE;
+ return TRUE;
g_warning("Error from Picasa: '%s'", (*error)->message);
@@ -189,7 +203,7 @@
g_clear_error(error);
- return TRUE;
+ return FALSE;
}
static void
@@ -328,7 +342,7 @@
get_album_selector_widget(RSPicasa *picasa)
{
GError *error = NULL;
- gchar *album_id = rs_conf_get_string(CONF_PICASA_CLIENT_ALBUM_ID);
+ gchar *album_id = picasa->album_id;
PicasaClient *picasa_client = rs_picasa_client_init();
if (NULL == picasa_client)
@@ -394,6 +408,9 @@
if (NULL == picasa_client)
return FALSE;
+ if (!picasa_client->auth_token);
+ return FALSE;
+
gchar *temp_file = g_strdup_printf ("%s%s.rawstudio-tmp-%d.jpg",
g_get_tmp_dir (), G_DIR_SEPARATOR_S, (gint) (g_random_double () * 10000.0));
g_object_set (jpegsave, "filename", temp_file, "quality",
picasa->quality, NULL);
_______________________________________________
Rawstudio-commit mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit