diff --git a/src/ag-chart.c b/src/ag-chart.c index 5e9a7c4..d5cd6d3 100644 --- a/src/ag-chart.c +++ b/src/ag-chart.c @@ -46,6 +46,7 @@ typedef struct _AgChartPrivate { gchar *save_buffer; GList *planet_list; gchar *note; + gint db_id; } AgChartPrivate; enum { @@ -54,6 +55,7 @@ enum { PROP_COUNTRY, PROP_CITY, PROP_NOTE, + PROP_DBID, PROP_LAST }; @@ -148,6 +150,24 @@ ag_chart_class_init(AgChartClass *klass) PROP_NOTE, properties[PROP_NOTE] ); + + properties[PROP_DBID] = g_param_spec_int( + "db-id", + "DB ID", + "Database ID", + -1, G_MAXINT, + -1, + G_PARAM_STATIC_NICK + | G_PARAM_STATIC_NAME + | G_PARAM_STATIC_BLURB + | G_PARAM_READABLE + | G_PARAM_WRITABLE + ); + g_object_class_install_property( + gobject_class, + PROP_DBID, + properties[PROP_DBID] + ); } static void @@ -189,6 +209,11 @@ ag_chart_set_property(GObject *gobject, break; + case PROP_DBID: + ag_chart_set_db_id(AG_CHART(gobject), g_value_get_int(value)); + + break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID(gobject, prop_id, param_spec); @@ -225,6 +250,11 @@ ag_chart_get_property(GObject *gobject, break; + case PROP_DBID: + g_value_set_int(value, priv->db_id); + + break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID(gobject, prop_id, param_spec); @@ -2060,3 +2090,21 @@ ag_chart_get_db_save(AgChart *chart, gint db_id) return save_data; } + +void +ag_chart_set_db_id(AgChart *chart, gint id) +{ + AgChartPrivate *priv = ag_chart_get_instance_private(chart); + + priv->db_id = id; + + g_object_notify_by_pspec(G_OBJECT(chart), properties[PROP_DBID]); +} + +int +ag_chart_get_db_id(AgChart *chart) +{ + AgChartPrivate *priv = ag_chart_get_instance_private(chart); + + return priv->db_id; +} diff --git a/src/ag-chart.h b/src/ag-chart.h index 0bf8bb3..811761f 100644 --- a/src/ag-chart.h +++ b/src/ag-chart.h @@ -147,6 +147,10 @@ GdkPixbuf *ag_chart_get_pixbuf(AgChart *chart, AgDisplayTheme *theme, GError **err); +void ag_chart_set_db_id(AgChart *chart, gint db_id); + +gint ag_chart_get_db_id(AgChart *chart); + #define AG_CHART_ERROR (ag_chart_error_quark()) GQuark ag_chart_error_quark(void);