Finished chart loading code
This commit is contained in:
parent
157c02d0f5
commit
707e7395b0
27
src/ag-app.c
27
src/ag-app.c
@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
#include "ag-app.h"
|
#include "ag-app.h"
|
||||||
#include "ag-window.h"
|
#include "ag-window.h"
|
||||||
|
#include "ag-chart.h"
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "astrognome.h"
|
#include "astrognome.h"
|
||||||
|
|
||||||
@ -203,7 +204,11 @@ ag_app_open_chart(AgApp *app, GFile *file)
|
|||||||
*day,
|
*day,
|
||||||
*hour,
|
*hour,
|
||||||
*minute,
|
*minute,
|
||||||
*second;
|
*second,
|
||||||
|
*timezone;
|
||||||
|
GtkWidget *window;
|
||||||
|
AgChart *chart;
|
||||||
|
GsweTimestamp *timestamp;
|
||||||
|
|
||||||
uri = g_file_get_uri(file);
|
uri = g_file_get_uri(file);
|
||||||
|
|
||||||
@ -247,6 +252,26 @@ ag_app_open_chart(AgApp *app, GFile *file)
|
|||||||
hour = get_by_xpath(xpathCtx, "/chartinfo/data/time/hour/text()", XML_CONVERT_INT);
|
hour = get_by_xpath(xpathCtx, "/chartinfo/data/time/hour/text()", XML_CONVERT_INT);
|
||||||
minute = get_by_xpath(xpathCtx, "/chartinfo/data/time/minute/text()", XML_CONVERT_INT);
|
minute = get_by_xpath(xpathCtx, "/chartinfo/data/time/minute/text()", XML_CONVERT_INT);
|
||||||
second = get_by_xpath(xpathCtx, "/chartinfo/data/time/second/text()", XML_CONVERT_INT);
|
second = get_by_xpath(xpathCtx, "/chartinfo/data/time/second/text()", XML_CONVERT_INT);
|
||||||
|
timezone = get_by_xpath(xpathCtx, "/chartinfo/data/time/timezone/text()", XML_CONVERT_DOUBLE);
|
||||||
|
|
||||||
|
window = ag_app_create_window(app);
|
||||||
|
timestamp = gswe_timestamp_new_from_gregorian_full(
|
||||||
|
g_variant_get_int32(year),
|
||||||
|
g_variant_get_int32(month),
|
||||||
|
g_variant_get_int32(day),
|
||||||
|
g_variant_get_int32(hour),
|
||||||
|
g_variant_get_int32(minute),
|
||||||
|
g_variant_get_int32(second),
|
||||||
|
0,
|
||||||
|
g_variant_get_double(timezone)
|
||||||
|
);
|
||||||
|
// TODO: Make house system configurable (and saveable)
|
||||||
|
chart = ag_chart_new_full(timestamp, g_variant_get_double(longitude), g_variant_get_double(latitude), g_variant_get_double(altitude), GSWE_HOUSE_SYSTEM_PLACIDUS);
|
||||||
|
ag_chart_set_name(chart, g_variant_get_string(chart_name, NULL));
|
||||||
|
ag_chart_set_country(chart, g_variant_get_string(country, NULL));
|
||||||
|
ag_chart_set_city(chart, g_variant_get_string(city, NULL));
|
||||||
|
ag_window_set_chart(AG_WINDOW(window), chart);
|
||||||
|
ag_window_update_from_chart(AG_WINDOW(window));
|
||||||
|
|
||||||
g_variant_unref(chart_name);
|
g_variant_unref(chart_name);
|
||||||
g_variant_unref(country);
|
g_variant_unref(country);
|
||||||
|
Loading…
Reference in New Issue
Block a user