{
PROP_0,
PROP_OUTPUT_TYPE,
- PROP_OUTPUT_FILENAME
+ PROP_OUTPUT_FILENAME,
+ PROP_PATH_RELATIVES_TO
};
static void rpt_print_class_init (RptPrintClass *klass);
RptPrintOutputType output_type;
gchar *output_filename;
+ gchar *path_relatives_to;
+
xmlNodeSet *pages;
cairo_surface_t *surface;
"The output type.",
RPTP_OUTPUT_PNG, RPTP_OUTPUT_GTK, RPTP_OUTPUT_PDF,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+
g_object_class_install_property (object_class, PROP_OUTPUT_FILENAME,
g_param_spec_string ("output-filename",
"Output File Name",
"The output file's name.",
"",
- G_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+
+ g_object_class_install_property (object_class, PROP_PATH_RELATIVES_TO,
+ g_param_spec_string ("path-relatives-to",
+ "Path are relatives to",
+ "Path are relatives to this property's content.",
+ "",
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
}
static void
rpt_print_init (RptPrint *rpt_print)
{
RptPrintPrivate *priv = RPT_PRINT_GET_PRIVATE (rpt_print);
-
- priv->output_filename = g_strdup ("");
}
/**
rpt_print_set_output_filename (rpt_print, g_value_get_string (value));
break;
+ case PROP_PATH_RELATIVES_TO:
+ priv->path_relatives_to = g_strstrip (g_strdup (g_value_get_string (value)));
+ break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
g_value_set_string (value, priv->output_filename);
break;
+ case PROP_PATH_RELATIVES_TO:
+ g_value_set_string (value, priv->path_relatives_to);
+ break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
return;
}
+ filename = g_build_filename (priv->path_relatives_to, filename, NULL);
+
adapt = xmlGetProp (xnode, (const xmlChar *)"adapt");
if (adapt == NULL)
{