| @@ -18,7 +18,6 @@ | ||||
|       <second>45</second> | ||||
|       <timezone>1</timezone> | ||||
|     </time> | ||||
|     <housesystem>placidus</housesystem> | ||||
|   </data> | ||||
|   <note>This is my own chart.</note> | ||||
| </chartinfo> | ||||
|   | ||||
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 27 KiB | 
| @@ -37,6 +37,7 @@ | ||||
| #include "ag-db.h" | ||||
| #include "ag-chart.h" | ||||
| #include "placidus.h" | ||||
| #include "ag-settings.h" | ||||
|  | ||||
| typedef struct _AgChartPrivate { | ||||
|     gchar *name; | ||||
| @@ -1228,9 +1229,9 @@ ag_chart_new_from_db_save(AgDbChartSave *save_data, | ||||
|                           GError **err) | ||||
| { | ||||
|     GsweTimestamp   *timestamp; | ||||
|     gchar           *house_system_enum_name; | ||||
|     GsweHouseSystem house_system; | ||||
|     AgChart         *chart; | ||||
|     AgSettings      *settings; | ||||
|  | ||||
|     if (save_data == NULL) { | ||||
|         g_set_error( | ||||
| @@ -1242,9 +1243,9 @@ ag_chart_new_from_db_save(AgDbChartSave *save_data, | ||||
|         return NULL; | ||||
|     } | ||||
|  | ||||
|     house_system_enum_name = g_utf8_strdown(save_data->house_system, -1); | ||||
|     house_system = ag_house_system_nick_to_id(house_system_enum_name); | ||||
|     g_free(house_system_enum_name); | ||||
|     settings = ag_settings_get(); | ||||
|     house_system = ag_settings_get_house_system(settings); | ||||
|     g_object_unref(settings); | ||||
|  | ||||
|     timestamp = gswe_timestamp_new_from_gregorian_full( | ||||
|             save_data->year, save_data->month, save_data->day, | ||||
| @@ -2012,8 +2013,6 @@ ag_chart_get_db_save(AgChart *chart, gint db_id) | ||||
|     AgChartPrivate  *priv      = ag_chart_get_instance_private(chart); | ||||
|     AgDbChartSave   *save_data = ag_db_chart_save_new(TRUE); | ||||
|     GsweTimestamp   *timestamp = gswe_moment_get_timestamp(GSWE_MOMENT(chart)); | ||||
|     GEnumClass      *house_system_class; | ||||
|     GEnumValue      *house_system_enum; | ||||
|  | ||||
|     save_data->db_id = db_id; | ||||
|  | ||||
| @@ -2047,13 +2046,6 @@ ag_chart_get_db_save(AgChart *chart, gint db_id) | ||||
|             NULL | ||||
|         ); | ||||
|     save_data->timezone     = gswe_timestamp_get_gregorian_timezone(timestamp); | ||||
|     house_system_class      = g_type_class_ref(GSWE_TYPE_HOUSE_SYSTEM); | ||||
|     house_system_enum       = g_enum_get_value( | ||||
|             house_system_class, | ||||
|             gswe_moment_get_house_system(GSWE_MOMENT(chart)) | ||||
|         ); | ||||
|     save_data->house_system = g_strdup(house_system_enum->value_nick); | ||||
|     g_type_class_unref(house_system_class); | ||||
|     save_data->note         = g_strdup(priv->note); | ||||
|  | ||||
|     return save_data; | ||||
|   | ||||
							
								
								
									
										28
									
								
								src/ag-db.c
									
									
									
									
									
								
							
							
						
						
									
										28
									
								
								src/ag-db.c
									
									
									
									
									
								
							| @@ -61,7 +61,6 @@ enum { | ||||
|     COLUMN_CHART_MINUTE, | ||||
|     COLUMN_CHART_SECOND, | ||||
|     COLUMN_CHART_TIMEZONE, | ||||
|     COLUMN_CHART_HOUSE_SYSTEM, | ||||
|     COLUMN_CHART_NOTE, | ||||
|  | ||||
|     /* Leave this as the last element */ | ||||
| @@ -88,7 +87,6 @@ static TableColumnDef chart_table_column[] = { | ||||
|     { COLUMN_CHART_MINUTE,       "minute" }, | ||||
|     { COLUMN_CHART_SECOND,       "second" }, | ||||
|     { COLUMN_CHART_TIMEZONE,     "timezone" }, | ||||
|     { COLUMN_CHART_HOUSE_SYSTEM, "house_system" }, | ||||
|     { COLUMN_CHART_NOTE,         "note" }, | ||||
| }; | ||||
|  | ||||
| @@ -453,7 +451,6 @@ ag_db_check_chart_table(AgDb *db) | ||||
|                 "minute UNSIGNED INTEGER NOT NULL, " \ | ||||
|                 "second UNSIGNED INTEGER NOT NULL, " \ | ||||
|                 "timezone DOUBLE NOT NULL, " \ | ||||
|                 "house_system TEXT NOT NULL, " \ | ||||
|                 "note TEXT" \ | ||||
|             ")" | ||||
|         ); | ||||
| @@ -589,10 +586,6 @@ ag_db_chart_save_free(AgDbChartSave *save_data) | ||||
|         g_free(save_data->city); | ||||
|     } | ||||
|  | ||||
|     if (save_data->house_system) { | ||||
|         g_free(save_data->house_system); | ||||
|     } | ||||
|  | ||||
|     if (save_data->note) { | ||||
|         g_free(save_data->note); | ||||
|     } | ||||
| @@ -655,7 +648,6 @@ ag_db_chart_save(AgDb *db, AgDbChartSave *save_data,  GError **err) | ||||
|                 minute       = G_VALUE_INIT, | ||||
|                 second       = G_VALUE_INIT, | ||||
|                 timezone     = G_VALUE_INIT, | ||||
|                 house_system = G_VALUE_INIT, | ||||
|                 note         = G_VALUE_INIT; | ||||
|     AgDbPrivate *priv = ag_db_get_instance_private(db); | ||||
|  | ||||
| @@ -706,9 +698,6 @@ ag_db_chart_save(AgDb *db, AgDbChartSave *save_data,  GError **err) | ||||
|     g_value_init(&timezone, G_TYPE_DOUBLE); | ||||
|     g_value_set_double(&timezone, save_data->timezone); | ||||
|  | ||||
|     g_value_init(&house_system, G_TYPE_STRING); | ||||
|     g_value_set_string(&house_system, save_data->house_system); | ||||
|  | ||||
|     g_value_init(¬e, G_TYPE_STRING); | ||||
|     g_value_set_string(¬e, save_data->note); | ||||
|  | ||||
| @@ -731,7 +720,6 @@ ag_db_chart_save(AgDb *db, AgDbChartSave *save_data,  GError **err) | ||||
|                     "minute",       &minute, | ||||
|                     "second",       &second, | ||||
|                     "timezone",     &timezone, | ||||
|                     "house_system", &house_system, | ||||
|                     "note",         ¬e, | ||||
|                     NULL | ||||
|                 )) { | ||||
| @@ -795,7 +783,6 @@ ag_db_chart_save(AgDb *db, AgDbChartSave *save_data,  GError **err) | ||||
|                     "minute",       &minute, | ||||
|                     "second",       &second, | ||||
|                     "timezone",     &timezone, | ||||
|                     "house_system", &house_system, | ||||
|                     "note",         ¬e, | ||||
|                     NULL | ||||
|                 )) { | ||||
| @@ -817,7 +804,6 @@ ag_db_chart_save(AgDb *db, AgDbChartSave *save_data,  GError **err) | ||||
|     } | ||||
|  | ||||
|     g_value_unset(¬e); | ||||
|     g_value_unset(&house_system); | ||||
|     g_value_unset(&timezone); | ||||
|     g_value_unset(&second); | ||||
|     g_value_unset(&minute); | ||||
| @@ -1067,14 +1053,6 @@ ag_db_chart_get_data_by_id(AgDb *db, guint row_id, GError **err) | ||||
|         ); | ||||
|     save_data->timezone = g_value_get_double(value); | ||||
|  | ||||
|     value = gda_data_model_get_value_at( | ||||
|             result, | ||||
|             COLUMN_CHART_HOUSE_SYSTEM, | ||||
|             0, | ||||
|             NULL | ||||
|         ); | ||||
|     save_data->house_system = g_strdup(g_value_get_string(value)); | ||||
|  | ||||
|     value = gda_data_model_get_value_at(result, COLUMN_CHART_NOTE, 0, NULL); | ||||
|  | ||||
|     if (GDA_VALUE_HOLDS_NULL(value)) { | ||||
| @@ -1225,12 +1203,6 @@ ag_db_chart_save_identical(const AgDbChartSave *a, | ||||
|         return FALSE; | ||||
|     } | ||||
|  | ||||
|     if (string_collate(a->house_system, b->house_system) != 0) { | ||||
|         g_debug("identical: House systems differ"); | ||||
|  | ||||
|         return FALSE; | ||||
|     } | ||||
|  | ||||
|     if (!chart_only && string_collate(a->note, b->note) != 0) { | ||||
|         g_debug("identical: Notes differ"); | ||||
|  | ||||
|   | ||||
| @@ -64,7 +64,6 @@ typedef struct _AgDbChartSave { | ||||
|     guint minute; | ||||
|     guint second; | ||||
|     gdouble timezone; | ||||
|     gchar *house_system; | ||||
|     gchar *note; | ||||
|     gint refcount; | ||||
| } AgDbChartSave; | ||||
|   | ||||
| @@ -17,6 +17,7 @@ | ||||
|  * <http://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| #include "ag-settings.h" | ||||
| #include "astrognome.h" | ||||
|  | ||||
| #define SETTINGS_SCHEMA_ID_MAIN   "eu.polonkai.gergely.Astrognome" | ||||
| #define SETTINGS_SCHEMA_ID_WINDOW "eu.polonkai.gergely.Astrognome.state.window" | ||||
| @@ -98,3 +99,20 @@ ag_settings_peek_window_settings(AgSettings *settings) | ||||
|  | ||||
|     return priv->settings_window; | ||||
| } | ||||
|  | ||||
| GsweHouseSystem | ||||
| ag_settings_get_house_system(AgSettings *settings) | ||||
| { | ||||
|     gchar             *house_system_nick; | ||||
|     GsweHouseSystem   house_system; | ||||
|     AgSettingsPrivate *priv = ag_settings_get_instance_private(settings); | ||||
|  | ||||
|     house_system_nick = g_settings_get_string( | ||||
|             priv->settings_main, | ||||
|             "default-house-system" | ||||
|         ); | ||||
|     house_system = ag_house_system_nick_to_id(house_system_nick); | ||||
|     g_free(house_system_nick); | ||||
|  | ||||
|     return house_system; | ||||
| } | ||||
|   | ||||
| @@ -21,6 +21,7 @@ | ||||
|  | ||||
| #include <gio/gio.h> | ||||
| #include <glib-object.h> | ||||
| #include <swe-glib.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
| @@ -57,6 +58,8 @@ AgSettings *ag_settings_get(void); | ||||
| GSettings *ag_settings_peek_main_settings(AgSettings *settings); | ||||
| GSettings *ag_settings_peek_window_settings(AgSettings *settings); | ||||
|  | ||||
| GsweHouseSystem ag_settings_get_house_system(AgSettings *settings); | ||||
|  | ||||
| G_END_DECLS | ||||
|  | ||||
| #endif /* __AG_SETTINGS_H__ */ | ||||
|   | ||||
							
								
								
									
										259
									
								
								src/ag-window.c
									
									
									
									
									
								
							
							
						
						
									
										259
									
								
								src/ag-window.c
									
									
									
									
									
								
							| @@ -85,6 +85,7 @@ struct _AgWindowPrivate { | ||||
|     GList              *style_sheets; | ||||
|     AgDisplayTheme     *theme; | ||||
|     GtkListStore       *display_theme_model; | ||||
|     gulong             chart_changed_handler; | ||||
| }; | ||||
|  | ||||
| struct cc_search { | ||||
| @@ -109,10 +110,20 @@ typedef struct { | ||||
|     GList      *items; | ||||
| } LoadIdleData; | ||||
|  | ||||
| enum { | ||||
|     PROP_0, | ||||
|     PROP_CHART, | ||||
|     PROP_COUNT | ||||
| }; | ||||
|  | ||||
| G_DEFINE_QUARK(ag_window_error_quark, ag_window_error); | ||||
|  | ||||
| G_DEFINE_TYPE_WITH_PRIVATE(AgWindow, ag_window, GTK_TYPE_APPLICATION_WINDOW); | ||||
|  | ||||
| static GParamSpec *properties[PROP_COUNT]; | ||||
|  | ||||
| #define GET_PRIV(o) AgWindowPrivate *priv = ag_window_get_instance_private((o)) | ||||
|  | ||||
| static void | ||||
| ag_window_gear_menu_action(GSimpleAction *action, | ||||
|                            GVariant      *parameter, | ||||
| @@ -309,7 +320,7 @@ ag_window_redraw_aspect_table(AgWindow *window) | ||||
|                     *planet2; | ||||
|     guint           i, | ||||
|                     j; | ||||
|     AgWindowPrivate *priv        = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|  | ||||
|     planet_list = ag_chart_get_planets(priv->chart); | ||||
|  | ||||
| @@ -451,7 +462,7 @@ ag_window_set_element_point(AgWindow    *window, | ||||
|     guint            points; | ||||
|     GtkWidget        *label; | ||||
|     gchar            *points_string; | ||||
|     AgWindowPrivate *priv = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|  | ||||
|     points = gswe_moment_get_element_points( | ||||
|             GSWE_MOMENT(priv->chart), | ||||
| @@ -481,7 +492,7 @@ ag_window_set_quality_point(AgWindow    *window, | ||||
|     guint            points; | ||||
|     GtkWidget        *label; | ||||
|     gchar            *points_string; | ||||
|     AgWindowPrivate *priv = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|  | ||||
|     points = gswe_moment_get_quality_points( | ||||
|             GSWE_MOMENT(priv->chart), | ||||
| @@ -526,7 +537,7 @@ ag_window_redraw_chart(AgWindow *window) | ||||
| { | ||||
|     gsize           length; | ||||
|     GError          *err         = NULL; | ||||
|     AgWindowPrivate *priv        = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|     gchar           *svg_content = ag_chart_create_svg( | ||||
|             priv->chart, | ||||
|             &length, | ||||
| @@ -561,13 +572,13 @@ ag_window_redraw_chart(AgWindow *window) | ||||
| } | ||||
|  | ||||
| static gboolean | ||||
| ag_window_set_house_system(GtkTreeModel *model, | ||||
|                             GtkTreePath  *path, | ||||
|                             GtkTreeIter  *iter, | ||||
|                             AgWindow     *window) | ||||
| ag_window_set_model_house_system(GtkTreeModel *model, | ||||
|                                  GtkTreePath  *path, | ||||
|                                  GtkTreeIter  *iter, | ||||
|                                  AgWindow     *window) | ||||
| { | ||||
|     GsweHouseSystem row_house_system; | ||||
|     AgWindowPrivate *priv        = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|     GsweHouseSystem house_system = gswe_moment_get_house_system( | ||||
|             GSWE_MOMENT(priv->chart) | ||||
|         ); | ||||
| @@ -593,7 +604,7 @@ ag_window_update_from_chart(AgWindow *window) | ||||
| { | ||||
|     const gchar     *country, | ||||
|                     *city; | ||||
|     AgWindowPrivate *priv        = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|     GsweTimestamp   *timestamp   = gswe_moment_get_timestamp( | ||||
|             GSWE_MOMENT(priv->chart) | ||||
|         ); | ||||
| @@ -672,7 +683,7 @@ ag_window_update_from_chart(AgWindow *window) | ||||
|  | ||||
|     gtk_tree_model_foreach( | ||||
|             GTK_TREE_MODEL(priv->house_system_model), | ||||
|             (GtkTreeModelForeachFunc)ag_window_set_house_system, | ||||
|             (GtkTreeModelForeachFunc)ag_window_set_model_house_system, | ||||
|             window | ||||
|         ); | ||||
|  | ||||
| @@ -700,6 +711,7 @@ ag_window_update_from_chart(AgWindow *window) | ||||
| static void | ||||
| ag_window_chart_changed(AgChart *chart, AgWindow *window) | ||||
| { | ||||
|     g_debug("Chart changed!"); | ||||
|     ag_window_redraw_chart(window); | ||||
| } | ||||
|  | ||||
| @@ -708,7 +720,7 @@ ag_window_recalculate_chart(AgWindow *window, gboolean set_everything) | ||||
| { | ||||
|     AgDbChartSave   *edit_data, | ||||
|                     *chart_data; | ||||
|     AgWindowPrivate *priv = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|     gboolean        south, | ||||
|                     west; | ||||
|     GtkTreeIter     house_system_iter; | ||||
| @@ -718,6 +730,7 @@ ag_window_recalculate_chart(AgWindow *window, gboolean set_everything) | ||||
|     GsweTimestamp   *timestamp; | ||||
|     GtkWidget       *current; | ||||
|     gint            db_id = (priv->saved_data) ? priv->saved_data->db_id : -1; | ||||
|     AgSettings      *settings; | ||||
|  | ||||
|     south = gtk_toggle_button_get_active( | ||||
|             GTK_TOGGLE_BUTTON(priv->south_lat) | ||||
| @@ -790,15 +803,6 @@ ag_window_recalculate_chart(AgWindow *window, gboolean set_everything) | ||||
|         g_error("House system is not set! This is clearly a bug."); | ||||
|     } | ||||
|  | ||||
|     gtk_tree_model_get( | ||||
|             GTK_TREE_MODEL(priv->house_system_model), | ||||
|             &house_system_iter, | ||||
|             0, &house_system, | ||||
|             -1 | ||||
|         ); | ||||
|     edit_data->house_system = g_strdup( | ||||
|             ag_house_system_id_to_nick(house_system) | ||||
|         ); | ||||
|     gtk_text_buffer_get_bounds(priv->note_buffer, &start_iter, &end_iter); | ||||
|     edit_data->note = gtk_text_buffer_get_text( | ||||
|             priv->note_buffer, | ||||
| @@ -824,24 +828,25 @@ ag_window_recalculate_chart(AgWindow *window, gboolean set_everything) | ||||
|  | ||||
|     g_debug("Recalculating chart data"); | ||||
|  | ||||
|     settings = ag_settings_get(); | ||||
|     house_system = ag_settings_get_house_system(settings); | ||||
|     g_object_unref(settings); | ||||
|  | ||||
|     // TODO: Set timezone according to the city selected! | ||||
|     if (priv->chart == NULL) { | ||||
|         AgChart *chart; | ||||
|  | ||||
|         timestamp = gswe_timestamp_new_from_gregorian_full( | ||||
|                 edit_data->year, edit_data->month, edit_data->day, | ||||
|                 edit_data->hour, edit_data->minute, edit_data->second, 0, | ||||
|                 edit_data->timezone | ||||
|             ); | ||||
|         priv->chart = ag_chart_new_full( | ||||
|         chart = ag_chart_new_full( | ||||
|                 timestamp, | ||||
|                 edit_data->longitude, edit_data->latitude, edit_data->altitude, | ||||
|                 house_system | ||||
|             ); | ||||
|         g_signal_connect( | ||||
|                 priv->chart, | ||||
|                 "changed", | ||||
|                 G_CALLBACK(ag_window_chart_changed), | ||||
|                 window | ||||
|             ); | ||||
|         ag_window_set_chart(window, chart); | ||||
|         ag_window_redraw_chart(window); | ||||
|     } else { | ||||
|         gswe_moment_set_house_system(GSWE_MOMENT(priv->chart), house_system); | ||||
| @@ -872,7 +877,7 @@ ag_window_export_image(AgWindow *window, GError **err) | ||||
|     GtkWidget       *fs; | ||||
|     gint            response; | ||||
|     GError          *local_err = NULL; | ||||
|     AgWindowPrivate *priv = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|  | ||||
|     ag_window_recalculate_chart(window, TRUE); | ||||
|  | ||||
| @@ -1121,7 +1126,7 @@ ag_window_export_agc(AgWindow *window, GError **err) | ||||
|     gchar           *file_name; | ||||
|     GtkWidget       *fs; | ||||
|     gint            response; | ||||
|     AgWindowPrivate *priv = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|  | ||||
|     ag_window_recalculate_chart(window, FALSE); | ||||
|  | ||||
| @@ -1207,7 +1212,7 @@ ag_window_export_agc_action(GSimpleAction *action, | ||||
| gboolean | ||||
| ag_window_can_close(AgWindow *window, gboolean display_dialog) | ||||
| { | ||||
|     AgWindowPrivate *priv      = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|     gint            db_id      = (priv->saved_data) | ||||
|             ? priv->saved_data->db_id | ||||
|             : -1; | ||||
| @@ -1284,7 +1289,7 @@ ag_window_save_action(GSimpleAction *action, | ||||
|                       gpointer      user_data) | ||||
| { | ||||
|     AgWindow        *window = AG_WINDOW(user_data); | ||||
|     AgWindowPrivate *priv   = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|     AgDb            *db     = ag_db_get(); | ||||
|     GError          *err    = NULL; | ||||
|     gint            old_id; | ||||
| @@ -1334,7 +1339,7 @@ static void | ||||
| ag_window_clear_style_sheets(AgWindow *window) | ||||
| { | ||||
|     WebKitUserContentManager *manager; | ||||
|     AgWindowPrivate          *priv    = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|  | ||||
|     g_debug("Clearing style sheets"); | ||||
|  | ||||
| @@ -1355,7 +1360,7 @@ ag_window_add_style_sheet(AgWindow *window, const gchar *path) | ||||
| { | ||||
|     gchar           *css_source; | ||||
|     gboolean        source_free = FALSE; | ||||
|     AgWindowPrivate *priv       = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|  | ||||
|     if (strncmp("gres://", path, 7) == 0) { | ||||
|         gchar  *res_path = g_strdup_printf( | ||||
| @@ -1409,7 +1414,7 @@ ag_window_update_style_sheets(AgWindow *window) | ||||
| { | ||||
|     GList                    *item; | ||||
|     WebKitUserContentManager *manager; | ||||
|     AgWindowPrivate          *priv    = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|  | ||||
|     g_debug("Updating style sheets"); | ||||
|  | ||||
| @@ -1431,7 +1436,7 @@ ag_window_set_theme(AgWindow *window, AgDisplayTheme *theme) | ||||
| { | ||||
|     gchar           *css, | ||||
|                     *css_final; | ||||
|     AgWindowPrivate *priv = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|  | ||||
|     g_debug("Setting theme to %s", (theme) ? theme->name : "no theme"); | ||||
|     ag_window_clear_style_sheets(window); | ||||
| @@ -1462,7 +1467,7 @@ ag_window_tab_changed_cb(GtkStack *stack, GParamSpec *pspec, AgWindow *window) | ||||
| { | ||||
|     GtkWidget       *active_tab; | ||||
|     const gchar     *active_tab_name = gtk_stack_get_visible_child_name(stack); | ||||
|     AgWindowPrivate *priv            = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|  | ||||
|     g_debug("Active tab changed: %s", active_tab_name); | ||||
|  | ||||
| @@ -1530,7 +1535,7 @@ ag_window_change_tab_action(GSimpleAction *action, | ||||
| { | ||||
|     AgWindow        *window     = AG_WINDOW(user_data); | ||||
|     const gchar     *target_tab = g_variant_get_string(parameter, NULL); | ||||
|     AgWindowPrivate *priv       = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|  | ||||
|     gtk_stack_set_visible_child_name(GTK_STACK(priv->stack), target_tab); | ||||
|     g_action_change_state(G_ACTION(action), parameter); | ||||
| @@ -1543,7 +1548,7 @@ ag_window_set_default_house_system(GtkTreeModel *model, | ||||
|                             AgWindow     *window) | ||||
| { | ||||
|     GsweHouseSystem row_house_system; | ||||
|     AgWindowPrivate *priv          = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|     AgSettings      *settings      = ag_settings_get(); | ||||
|     GSettings       *main_settings = ag_settings_peek_main_settings(settings); | ||||
|     GsweHouseSystem house_system   = g_settings_get_enum( | ||||
| @@ -1576,7 +1581,7 @@ ag_window_set_default_display_theme(GtkTreeModel *model, | ||||
|                                     AgWindow     *window) | ||||
| { | ||||
|     gint            row_display_theme; | ||||
|     AgWindowPrivate *priv          = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|     AgSettings      *settings      = ag_settings_get(); | ||||
|     GSettings       *main_settings = ag_settings_peek_main_settings(settings); | ||||
|     gint            default_theme  = g_settings_get_int( | ||||
| @@ -1606,7 +1611,7 @@ ag_window_new_chart_action(GSimpleAction *action, | ||||
|                            gpointer      user_data) | ||||
| { | ||||
|     AgWindow        *window = AG_WINDOW(user_data); | ||||
|     AgWindowPrivate *priv   = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|  | ||||
|     /* Empty edit tab values */ | ||||
|     gtk_entry_set_text(GTK_ENTRY(priv->name), ""); | ||||
| @@ -1653,7 +1658,7 @@ ag_window_back_action(GSimpleAction *action, | ||||
|                       gpointer      user_data) | ||||
| { | ||||
|     AgWindow        *window = AG_WINDOW(user_data); | ||||
|     AgWindowPrivate *priv   = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|  | ||||
|     g_debug("Back button pressed"); | ||||
|  | ||||
| @@ -1684,7 +1689,7 @@ static void | ||||
| ag_window_set_selection_mode(AgWindow *window, gboolean state) | ||||
| { | ||||
|     GtkStyleContext *style; | ||||
|     AgWindowPrivate *priv = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|  | ||||
|     style = gtk_widget_get_style_context(priv->header_bar); | ||||
|  | ||||
| @@ -1765,7 +1770,7 @@ ag_window_delete_action(GSimpleAction *action, | ||||
|     GList           *selection, | ||||
|                     *item; | ||||
|     AgWindow        *window = AG_WINDOW(user_data); | ||||
|     AgWindowPrivate *priv   = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|     AgDb            *db     = ag_db_get(); | ||||
|  | ||||
|     selection = ag_icon_view_get_selected_items(AG_ICON_VIEW(priv->chart_list)); | ||||
| @@ -1818,9 +1823,7 @@ ag_window_connection_action(GSimpleAction *action, | ||||
|     GVariant        *current_state; | ||||
|     const gchar     *state; | ||||
|     gchar           *js_code = NULL; | ||||
|     AgWindowPrivate *priv    = ag_window_get_instance_private( | ||||
|             AG_WINDOW(user_data) | ||||
|         ); | ||||
|     GET_PRIV(AG_WINDOW(user_data)); | ||||
|     static gchar *js         = "aspects = document.getElementById('aspects');\n"   \ | ||||
|                                "antiscia = document.getElementById('antiscia');\n" \ | ||||
|                                "aspects.setAttribute('display', '%s');\n"       \ | ||||
| @@ -1877,7 +1880,7 @@ static GActionEntry win_entries[] = { | ||||
| static void | ||||
| ag_window_display_changed(GSettings *settings, gchar *key, AgWindow *window) | ||||
| { | ||||
|     AgWindowPrivate *priv = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|  | ||||
|     /* The planet symbols are redrawn only if aspect_table_populated is | ||||
|      * set to FALSE */ | ||||
| @@ -1924,7 +1927,8 @@ ag_window_list_item_activated_cb(AgIconView        *icon_view, | ||||
|                                  const GtkTreePath *path, | ||||
|                                  AgWindow          *window) | ||||
| { | ||||
|     AgWindowPrivate *priv  = ag_window_get_instance_private(window); | ||||
|     AgChart         *chart; | ||||
|     GET_PRIV(window); | ||||
|     AgDb            *db    = ag_db_get(); | ||||
|     GError          *err   = NULL; | ||||
|     AgDbChartSave   *save_data; | ||||
| @@ -1968,7 +1972,7 @@ ag_window_list_item_activated_cb(AgIconView        *icon_view, | ||||
|         g_clear_object(&(priv->chart)); | ||||
|     } | ||||
|  | ||||
|     if ((priv->chart = ag_chart_new_from_db_save( | ||||
|     if ((chart = ag_chart_new_from_db_save( | ||||
|                  priv->saved_data, | ||||
|                  FALSE, | ||||
|                  &err | ||||
| @@ -1985,6 +1989,8 @@ ag_window_list_item_activated_cb(AgIconView        *icon_view, | ||||
|         return; | ||||
|     } | ||||
|  | ||||
|     ag_window_set_chart(window, chart); | ||||
|  | ||||
|     ag_window_update_from_chart(window); | ||||
|  | ||||
|     ag_window_change_tab(window, "chart"); | ||||
| @@ -1995,7 +2001,7 @@ ag_window_list_selection_changed_cb(AgIconView *view, AgWindow *window) | ||||
| { | ||||
|     GList           *selection; | ||||
|     guint           count; | ||||
|     AgWindowPrivate *priv = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|  | ||||
|     selection = ag_icon_view_get_selected_items(view); | ||||
|  | ||||
| @@ -2020,7 +2026,7 @@ ag_window_city_matches(GtkEntryCompletion *city_comp, | ||||
|                        GtkTreeIter        *iter, | ||||
|                        AgWindow           *window) | ||||
| { | ||||
|     AgWindowPrivate *priv = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|     gchar           *ccode, | ||||
|                     *name, | ||||
|                     *normalized_name, | ||||
| @@ -2077,7 +2083,7 @@ ag_window_init(AgWindow *window) | ||||
|     GtkCellRenderer          *house_system_renderer, | ||||
|                              *display_theme_renderer; | ||||
|     WebKitUserContentManager *manager = webkit_user_content_manager_new(); | ||||
|     AgWindowPrivate          *priv = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|  | ||||
|     gtk_widget_init_template(GTK_WIDGET(window)); | ||||
|  | ||||
| @@ -2188,7 +2194,7 @@ ag_window_init(AgWindow *window) | ||||
|             NULL | ||||
|         ); | ||||
|  | ||||
|     priv->chart    = NULL; | ||||
|     ag_window_set_chart(window, NULL); | ||||
|  | ||||
|     g_action_map_add_action_entries( | ||||
|             G_ACTION_MAP(window), | ||||
| @@ -2204,7 +2210,7 @@ ag_window_init(AgWindow *window) | ||||
| static void | ||||
| ag_window_dispose(GObject *gobject) | ||||
| { | ||||
|     AgWindowPrivate *priv = ag_window_get_instance_private(AG_WINDOW(gobject)); | ||||
|     GET_PRIV(AG_WINDOW(gobject)); | ||||
|  | ||||
|     g_clear_object(&priv->settings); | ||||
|  | ||||
| @@ -2215,7 +2221,7 @@ static void | ||||
| ag_window_name_changed_cb(GtkEntry *name_entry, AgWindow *window) | ||||
| { | ||||
|     const gchar     *name; | ||||
|     AgWindowPrivate *priv = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|  | ||||
|     name = gtk_entry_get_text(name_entry); | ||||
|  | ||||
| @@ -2262,7 +2268,7 @@ static void | ||||
| ag_window_country_changed_callback(GtkSearchEntry *country, AgWindow *window) | ||||
| { | ||||
|     struct cc_search search; | ||||
|     AgWindowPrivate  *priv = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|  | ||||
|     search.target   = gtk_entry_get_text(GTK_ENTRY(country)); | ||||
|     search.ret_iter = NULL; | ||||
| @@ -2316,7 +2322,7 @@ static void | ||||
| ag_window_city_changed_callback(GtkSearchEntry *city, AgWindow *window) | ||||
| { | ||||
|     struct cc_search search; | ||||
|     AgWindowPrivate  *priv = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|  | ||||
|     search.target   = gtk_entry_get_text(GTK_ENTRY(city)); | ||||
|     search.ret_iter = NULL; | ||||
| @@ -2404,14 +2410,36 @@ ag_window_city_changed_callback(GtkSearchEntry *city, AgWindow *window) | ||||
|     } | ||||
| } | ||||
|  | ||||
| void | ||||
| static void | ||||
| ag_window_house_system_changed_cb(GtkComboBox *combo_box, | ||||
|                                   AgWindow    *window) | ||||
| { | ||||
|     GtkTreeIter     iter; | ||||
|     GsweHouseSystem house_system; | ||||
|     GET_PRIV(window); | ||||
|  | ||||
|     gtk_combo_box_get_active_iter(combo_box, &iter); | ||||
|     gtk_tree_model_get( | ||||
|             GTK_TREE_MODEL(priv->house_system_model), &iter, | ||||
|             0, &house_system, | ||||
|             -1 | ||||
|         ); | ||||
|  | ||||
|     if (priv->chart) { | ||||
|         gswe_moment_set_house_system(GSWE_MOMENT(priv->chart), house_system); | ||||
|     } | ||||
|  | ||||
|     g_debug("House system changed: %d", house_system); | ||||
| } | ||||
|  | ||||
| static void | ||||
| ag_window_display_theme_changed_cb(GtkComboBox *combo_box, | ||||
|                                    AgWindow    *window) | ||||
| { | ||||
|     GtkTreeIter     iter; | ||||
|     gint            theme_id; | ||||
|     AgDisplayTheme  *theme; | ||||
|     AgWindowPrivate *priv = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|  | ||||
|     gtk_combo_box_get_active_iter(combo_box, &iter); | ||||
|     gtk_tree_model_get( | ||||
| @@ -2427,7 +2455,7 @@ ag_window_display_theme_changed_cb(GtkComboBox *combo_box, | ||||
| static void | ||||
| ag_window_destroy(GtkWidget *widget) | ||||
| { | ||||
|     AgWindowPrivate *priv = ag_window_get_instance_private(AG_WINDOW(widget)); | ||||
|     GET_PRIV(AG_WINDOW(widget)); | ||||
|  | ||||
|     // Destroy the signal handlers on priv->stack, as “tab” switching | ||||
|     // can cause trouble during destroy. However, this function might | ||||
| @@ -2446,6 +2474,48 @@ ag_window_selection_mode_cancel_cb(GtkButton *button, AgWindow *window) | ||||
|     ag_window_set_selection_mode(window, FALSE); | ||||
| } | ||||
|  | ||||
| static void | ||||
| ag_window_set_property(GObject      *gobject, | ||||
|                        guint        prop_id, | ||||
|                        const GValue *value, | ||||
|                        GParamSpec   *pspec) | ||||
| { | ||||
|     AgWindow *window = AG_WINDOW(gobject); | ||||
|  | ||||
|     switch (prop_id) { | ||||
|         case PROP_CHART: | ||||
|             ag_window_set_chart(window, (g_value_get_object(value))); | ||||
|  | ||||
|             break; | ||||
|  | ||||
|         default: | ||||
|             G_OBJECT_WARN_INVALID_PROPERTY_ID(gobject, prop_id, pspec); | ||||
|  | ||||
|             break; | ||||
|     } | ||||
| } | ||||
|  | ||||
| static void | ||||
| ag_window_get_property(GObject    *gobject, | ||||
|                        guint      prop_id, | ||||
|                        GValue     *value, | ||||
|                        GParamSpec *pspec) | ||||
| { | ||||
|     GET_PRIV(AG_WINDOW(gobject)); | ||||
|  | ||||
|     switch (prop_id) { | ||||
|         case PROP_CHART: | ||||
|             g_value_set_object(value, priv->chart); | ||||
|  | ||||
|             break; | ||||
|  | ||||
|         default: | ||||
|             G_OBJECT_WARN_INVALID_PROPERTY_ID(gobject, prop_id, pspec); | ||||
|  | ||||
|             break; | ||||
|     } | ||||
| } | ||||
|  | ||||
| static void | ||||
| ag_window_class_init(AgWindowClass *klass) | ||||
| { | ||||
| @@ -2454,6 +2524,25 @@ ag_window_class_init(AgWindowClass *klass) | ||||
|  | ||||
|     widget_class->destroy = ag_window_destroy; | ||||
|     gobject_class->dispose = ag_window_dispose; | ||||
|     gobject_class->set_property = ag_window_set_property; | ||||
|     gobject_class->get_property = ag_window_get_property; | ||||
|  | ||||
|     properties[PROP_CHART] = g_param_spec_object( | ||||
|             "chart", | ||||
|             "Chart", | ||||
|             "The AgChart associated with this window", | ||||
|             AG_TYPE_CHART, | ||||
|             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_CHART, | ||||
|             properties[PROP_CHART] | ||||
|         ); | ||||
|  | ||||
|     gtk_widget_class_set_template_from_resource( | ||||
|             widget_class, | ||||
| @@ -2652,6 +2741,10 @@ ag_window_class_init(AgWindowClass *klass) | ||||
|             widget_class, | ||||
|             ag_window_selection_mode_cancel_cb | ||||
|         ); | ||||
|     gtk_widget_class_bind_template_callback( | ||||
|             widget_class, | ||||
|             ag_window_house_system_changed_cb | ||||
|         ); | ||||
| } | ||||
|  | ||||
| static gboolean | ||||
| @@ -2660,7 +2753,7 @@ ag_window_configure_event_cb(GtkWidget         *widget, | ||||
|                              gpointer          user_data) | ||||
| { | ||||
|     AgWindow        *window = AG_WINDOW(widget); | ||||
|     AgWindowPrivate *priv   = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|  | ||||
|     ag_window_settings_save( | ||||
|             GTK_WINDOW(window), | ||||
| @@ -2673,8 +2766,8 @@ ag_window_configure_event_cb(GtkWidget         *widget, | ||||
| GtkWidget * | ||||
| ag_window_new(AgApp *app) | ||||
| { | ||||
|     AgWindow                 *window  = g_object_new(AG_TYPE_WINDOW, NULL); | ||||
|     AgWindowPrivate          *priv    = ag_window_get_instance_private(window); | ||||
|     AgWindow *window  = g_object_new(AG_TYPE_WINDOW, NULL); | ||||
|     GET_PRIV(window); | ||||
|  | ||||
|     // TODO: translate this error message! | ||||
|     webkit_web_view_load_html( | ||||
| @@ -2712,13 +2805,12 @@ ag_window_new(AgApp *app) | ||||
| void | ||||
| ag_window_set_chart(AgWindow *window, AgChart *chart) | ||||
| { | ||||
|     AgWindowPrivate *priv = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|  | ||||
|     if (priv->chart != NULL) { | ||||
|         g_signal_handlers_disconnect_by_func( | ||||
|         g_signal_handler_disconnect( | ||||
|                 priv->chart, | ||||
|                 ag_window_chart_changed, | ||||
|                 window | ||||
|                 priv->chart_changed_handler | ||||
|             ); | ||||
|         g_clear_object(&(priv->chart)); | ||||
|     } | ||||
| @@ -2726,20 +2818,27 @@ ag_window_set_chart(AgWindow *window, AgChart *chart) | ||||
|     ag_db_chart_save_unref(priv->saved_data); | ||||
|  | ||||
|     priv->chart = chart; | ||||
|     g_signal_connect( | ||||
|             priv->chart, | ||||
|             "changed", | ||||
|             G_CALLBACK(ag_window_chart_changed), | ||||
|             window | ||||
|         ); | ||||
|     g_object_ref(chart); | ||||
|     priv->saved_data = ag_chart_get_db_save(chart, -1); | ||||
|  | ||||
|     if (chart) { | ||||
|         priv->chart_changed_handler = g_signal_connect( | ||||
|                 priv->chart, | ||||
|                 "changed", | ||||
|                 G_CALLBACK(ag_window_chart_changed), | ||||
|                 window | ||||
|             ); | ||||
|         g_object_ref(chart); | ||||
|         priv->saved_data = ag_chart_get_db_save(chart, -1); | ||||
|     } else { | ||||
|         priv->saved_data = NULL; | ||||
|     } | ||||
|  | ||||
|     g_object_notify_by_pspec(G_OBJECT(window), properties[PROP_CHART]); | ||||
| } | ||||
|  | ||||
| AgChart * | ||||
| ag_window_get_chart(AgWindow *window) | ||||
| { | ||||
|     AgWindowPrivate *priv = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|  | ||||
|     return priv->chart; | ||||
| } | ||||
| @@ -2799,7 +2898,7 @@ ag_window_settings_save(GtkWindow *window, GSettings *settings) | ||||
| void | ||||
| ag_window_change_tab(AgWindow *window, const gchar *tab_name) | ||||
| { | ||||
|     AgWindowPrivate *priv = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|  | ||||
|     gtk_stack_set_visible_child_name(GTK_STACK(priv->stack), tab_name); | ||||
|     g_action_change_state( | ||||
| @@ -2868,7 +2967,7 @@ ag_window_reload_chart_list(AgWindow *window) | ||||
|     AgDb            *db         = ag_db_get(); | ||||
|     GError          *err        = NULL; | ||||
|     GList           *chart_list = ag_db_chart_get_list(db, &err); | ||||
|     AgWindowPrivate *priv       = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|  | ||||
|     ag_icon_view_remove_all(AG_ICON_VIEW(priv->chart_list)); | ||||
|  | ||||
| @@ -2904,7 +3003,7 @@ ag_window_reload_chart_list(AgWindow *window) | ||||
| gboolean | ||||
| ag_window_is_usable(AgWindow *window) | ||||
| { | ||||
|     AgWindowPrivate *priv = ag_window_get_instance_private(window); | ||||
|     GET_PRIV(window); | ||||
|  | ||||
|     return (priv->current_tab == priv->tab_list); | ||||
| } | ||||
|   | ||||
| @@ -366,7 +366,7 @@ | ||||
|                   <object class="GtkLabel" id="name_label"> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">False</property> | ||||
|                     <property name="label" translatable="yes" context="Chart edit, Name label">Name</property> | ||||
|                     <property name="label" translatable="yes">Name</property> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">0</property> | ||||
| @@ -382,385 +382,416 @@ | ||||
|                   <packing> | ||||
|                     <property name="left_attach">1</property> | ||||
|                     <property name="top_attach">0</property> | ||||
|                     <property name="width">6</property> | ||||
|                   </packing> | ||||
|                 </child> | ||||
|                 <child> | ||||
|                   <object class="GtkLabel" id="country_label"> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">False</property> | ||||
|                     <property name="label" translatable="yes" context="Chart edit, Country label">Country</property> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">0</property> | ||||
|                     <property name="top_attach">1</property> | ||||
|                   </packing> | ||||
|                 </child> | ||||
|                 <child> | ||||
|                   <object class="GtkSearchEntry" id="country"> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">True</property> | ||||
|                     <property name="primary_icon_name">edit-find-symbolic</property> | ||||
|                     <property name="primary_icon_activatable">False</property> | ||||
|                     <property name="primary_icon_sensitive">False</property> | ||||
|                     <signal name="search-changed" handler="ag_window_country_changed_callback" swapped="no"/> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">1</property> | ||||
|                     <property name="top_attach">1</property> | ||||
|                     <property name="width">3</property> | ||||
|                   </packing> | ||||
|                 </child> | ||||
|                 <child> | ||||
|                   <object class="GtkLabel" id="city_label"> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">False</property> | ||||
|                     <property name="label" translatable="yes" context="Chart edit, City label">City</property> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">0</property> | ||||
|                     <property name="top_attach">2</property> | ||||
|                   </packing> | ||||
|                 </child> | ||||
|                 <child> | ||||
|                   <object class="GtkSearchEntry" id="city"> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">True</property> | ||||
|                     <property name="primary_icon_name">edit-find-symbolic</property> | ||||
|                     <property name="primary_icon_activatable">False</property> | ||||
|                     <property name="primary_icon_sensitive">False</property> | ||||
|                     <signal name="search-changed" handler="ag_window_city_changed_callback" swapped="no"/> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">1</property> | ||||
|                     <property name="top_attach">2</property> | ||||
|                     <property name="width">3</property> | ||||
|                   </packing> | ||||
|                 </child> | ||||
|                 <child> | ||||
|                   <object class="GtkLabel" id="latitude_label"> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">False</property> | ||||
|                     <property name="label" translatable="yes" context="Chart edit, Latitude label">Latitude</property> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">0</property> | ||||
|                     <property name="top_attach">3</property> | ||||
|                     <property name="width">2</property> | ||||
|                   </packing> | ||||
|                 </child> | ||||
|                 <child> | ||||
|                   <object class="GtkRadioButton" id="north_lat"> | ||||
|                     <property name="label" translatable="yes" context="Chart edit, latitude North label">North</property> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">True</property> | ||||
|                     <property name="receives_default">False</property> | ||||
|                     <property name="xalign">0</property> | ||||
|                     <property name="active">True</property> | ||||
|                     <property name="draw_indicator">True</property> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">0</property> | ||||
|                     <property name="top_attach">4</property> | ||||
|                   </packing> | ||||
|                 </child> | ||||
|                 <child> | ||||
|                   <object class="GtkRadioButton" id="south_lat"> | ||||
|                     <property name="label" translatable="yes" context="Chart edit, latitude South">South</property> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">True</property> | ||||
|                     <property name="receives_default">False</property> | ||||
|                     <property name="xalign">0</property> | ||||
|                     <property name="active">True</property> | ||||
|                     <property name="draw_indicator">True</property> | ||||
|                     <property name="group">north_lat</property> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">1</property> | ||||
|                     <property name="top_attach">4</property> | ||||
|                   </packing> | ||||
|                 </child> | ||||
|                 <child> | ||||
|                   <object class="GtkSpinButton" id="latitude"> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">True</property> | ||||
|                     <property name="adjustment">latitude_adjust</property> | ||||
|                     <property name="digits">6</property> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">0</property> | ||||
|                     <property name="top_attach">5</property> | ||||
|                     <property name="width">2</property> | ||||
|                   </packing> | ||||
|                 </child> | ||||
|                 <child> | ||||
|                   <object class="GtkLabel" id="longitude_label"> | ||||
|                   <object class="GtkFrame" id="location_frame"> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">False</property> | ||||
|                     <property name="label" translatable="yes" context="Chart edit, Longitude label">Longitude</property> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">2</property> | ||||
|                     <property name="top_attach">3</property> | ||||
|                     <property name="width">2</property> | ||||
|                   </packing> | ||||
|                 </child> | ||||
|                 <child> | ||||
|                   <object class="GtkRadioButton" id="east_long"> | ||||
|                     <property name="label" translatable="yes" context="Chart edit, longitude East">East</property> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">True</property> | ||||
|                     <property name="receives_default">False</property> | ||||
|                     <property name="xalign">0</property> | ||||
|                     <property name="active">True</property> | ||||
|                     <property name="draw_indicator">True</property> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">2</property> | ||||
|                     <property name="top_attach">4</property> | ||||
|                   </packing> | ||||
|                 </child> | ||||
|                 <child> | ||||
|                   <object class="GtkRadioButton" id="west_long"> | ||||
|                     <property name="label" translatable="yes" context="Chart edit, longitude West">West</property> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">True</property> | ||||
|                     <property name="receives_default">False</property> | ||||
|                     <property name="xalign">0</property> | ||||
|                     <property name="active">True</property> | ||||
|                     <property name="draw_indicator">True</property> | ||||
|                     <property name="group">east_long</property> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">3</property> | ||||
|                     <property name="top_attach">4</property> | ||||
|                   </packing> | ||||
|                 </child> | ||||
|                 <child> | ||||
|                   <object class="GtkSpinButton" id="longitude"> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">True</property> | ||||
|                     <property name="adjustment">longitude_adjust</property> | ||||
|                     <property name="digits">6</property> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">2</property> | ||||
|                     <property name="top_attach">5</property> | ||||
|                     <property name="width">2</property> | ||||
|                   </packing> | ||||
|                 </child> | ||||
|                 <child> | ||||
|                   <object class="GtkLabel" id="year_label"> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">False</property> | ||||
|                     <property name="label" translatable="yes" context="Chart edit, Year label">Year</property> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">4</property> | ||||
|                     <property name="top_attach">1</property> | ||||
|                   </packing> | ||||
|                 </child> | ||||
|                 <child> | ||||
|                   <object class="GtkSpinButton" id="year"> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">True</property> | ||||
|                     <property name="adjustment">year_adjust</property> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">4</property> | ||||
|                     <property name="top_attach">2</property> | ||||
|                   </packing> | ||||
|                 </child> | ||||
|                 <child> | ||||
|                   <object class="GtkLabel" id="month_label"> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">False</property> | ||||
|                     <property name="label" translatable="yes" context="Chart edit, Month label">Month</property> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">5</property> | ||||
|                     <property name="top_attach">1</property> | ||||
|                   </packing> | ||||
|                 </child> | ||||
|                 <child> | ||||
|                   <object class="GtkSpinButton" id="month"> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">True</property> | ||||
|                     <property name="adjustment">month_adjust</property> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">5</property> | ||||
|                     <property name="top_attach">2</property> | ||||
|                   </packing> | ||||
|                 </child> | ||||
|                 <child> | ||||
|                   <object class="GtkLabel" id="day_label"> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">False</property> | ||||
|                     <property name="label" translatable="yes" context="Chart edit, Day label">Day</property> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">6</property> | ||||
|                     <property name="top_attach">1</property> | ||||
|                   </packing> | ||||
|                 </child> | ||||
|                 <child> | ||||
|                   <object class="GtkSpinButton" id="day"> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">True</property> | ||||
|                     <property name="adjustment">day_adjust</property> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">6</property> | ||||
|                     <property name="top_attach">2</property> | ||||
|                   </packing> | ||||
|                 </child> | ||||
|                 <child> | ||||
|                   <object class="GtkLabel" id="hour_label"> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">False</property> | ||||
|                     <property name="label" translatable="yes" context="Chart edit, Hour label">Hour</property> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">4</property> | ||||
|                     <property name="top_attach">3</property> | ||||
|                   </packing> | ||||
|                 </child> | ||||
|                 <child> | ||||
|                   <object class="GtkSpinButton" id="hour"> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">True</property> | ||||
|                     <property name="adjustment">hour_adjust</property> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">4</property> | ||||
|                     <property name="top_attach">4</property> | ||||
|                   </packing> | ||||
|                 </child> | ||||
|                 <child> | ||||
|                   <object class="GtkLabel" id="minute_label"> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">False</property> | ||||
|                     <property name="label" translatable="yes" context="Chart edit, Minute label">Minute</property> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">5</property> | ||||
|                     <property name="top_attach">3</property> | ||||
|                   </packing> | ||||
|                 </child> | ||||
|                 <child> | ||||
|                   <object class="GtkSpinButton" id="minute"> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">True</property> | ||||
|                     <property name="adjustment">minute_adjust</property> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">5</property> | ||||
|                     <property name="top_attach">4</property> | ||||
|                   </packing> | ||||
|                 </child> | ||||
|                 <child> | ||||
|                   <object class="GtkLabel" id="second_label"> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">False</property> | ||||
|                     <property name="label" translatable="yes" context="Chart edit, Second label">Second</property> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">6</property> | ||||
|                     <property name="top_attach">3</property> | ||||
|                   </packing> | ||||
|                 </child> | ||||
|                 <child> | ||||
|                   <object class="GtkSpinButton" id="second"> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">True</property> | ||||
|                     <property name="adjustment">second_adjust</property> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">6</property> | ||||
|                     <property name="top_attach">4</property> | ||||
|                   </packing> | ||||
|                 </child> | ||||
|                 <child> | ||||
|                   <object class="GtkLabel" id="timezone_label"> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">False</property> | ||||
|                     <property name="label" translatable="yes" context="Chart edit, Timezone label">Timezone</property> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">7</property> | ||||
|                     <property name="top_attach">3</property> | ||||
|                   </packing> | ||||
|                 </child> | ||||
|                 <child> | ||||
|                   <object class="GtkSpinButton" id="timezone"> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">True</property> | ||||
|                     <property name="adjustment">timezone_adjust</property> | ||||
|                     <property name="digits">1</property> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">7</property> | ||||
|                     <property name="top_attach">4</property> | ||||
|                   </packing> | ||||
|                 </child> | ||||
|                 <child> | ||||
|                   <object class="GtkLabel" id="house_system_label"> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">False</property> | ||||
|                     <property name="label" translatable="yes" context="Chart edit, House system label">House system</property> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">4</property> | ||||
|                     <property name="top_attach">5</property> | ||||
|                   </packing> | ||||
|                 </child> | ||||
|                 <child> | ||||
|                   <object class="GtkComboBox" id="house_system"> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">False</property> | ||||
|                     <property name="model">house_system_model</property> | ||||
|                     <property name="id_column">1</property> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">5</property> | ||||
|                     <property name="top_attach">5</property> | ||||
|                     <property name="width">2</property> | ||||
|                   </packing> | ||||
|                 </child> | ||||
|                 <child> | ||||
|                   <object class="GtkLabel" id="note_label"> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">False</property> | ||||
|                     <property name="xalign">0</property> | ||||
|                     <property name="label" translatable="yes" context="Chart edit, Note label">Note</property> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">0</property> | ||||
|                     <property name="top_attach">6</property> | ||||
|                     <property name="width">7</property> | ||||
|                   </packing> | ||||
|                 </child> | ||||
|                 <child> | ||||
|                   <object class="GtkScrolledWindow" id="note_scroll"> | ||||
|                     <property name="height_request">300</property> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">True</property> | ||||
|                     <property name="shadow_type">in</property> | ||||
|                     <child> | ||||
|                       <object class="GtkTextView" id="note"> | ||||
|                     <property name="label_xalign">0</property> | ||||
|                     <property name="shadow_type">none</property> | ||||
|                     <child type="label"> | ||||
|                       <object class="GtkLabel" id="location_frame_label"> | ||||
|                         <property name="visible">True</property> | ||||
|                         <property name="can_focus">True</property> | ||||
|                         <property name="buffer">note_buffer</property> | ||||
|                         <property name="can_focus">False</property> | ||||
|                         <property name="label" translatable="yes">Location</property> | ||||
|                       </object> | ||||
|                     </child> | ||||
|                     <child> | ||||
|                       <object class="GtkGrid" id="location_grid"> | ||||
|                         <property name="visible">True</property> | ||||
|                         <property name="can_focus">False</property> | ||||
|                         <child> | ||||
|                           <object class="GtkLabel" id="country_label"> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">False</property> | ||||
|                             <property name="label" translatable="yes">Country</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">0</property> | ||||
|                             <property name="top_attach">0</property> | ||||
|                             <property name="width">2</property> | ||||
|                             <property name="height">1</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                         <child> | ||||
|                           <object class="GtkSearchEntry" id="country"> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">True</property> | ||||
|                             <property name="primary_icon_name">edit-find-symbolic</property> | ||||
|                             <property name="primary_icon_activatable">False</property> | ||||
|                             <property name="primary_icon_sensitive">False</property> | ||||
|                             <signal name="search-changed" handler="ag_window_country_changed_callback" swapped="no"/> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">0</property> | ||||
|                             <property name="top_attach">1</property> | ||||
|                             <property name="width">2</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                         <child> | ||||
|                           <object class="GtkLabel" id="city_label"> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">False</property> | ||||
|                             <property name="label" translatable="yes">City</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">2</property> | ||||
|                             <property name="top_attach">0</property> | ||||
|                             <property name="width">2</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                         <child> | ||||
|                           <object class="GtkSearchEntry" id="city"> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">True</property> | ||||
|                             <property name="primary_icon_name">edit-find-symbolic</property> | ||||
|                             <property name="primary_icon_activatable">False</property> | ||||
|                             <property name="primary_icon_sensitive">False</property> | ||||
|                             <signal name="search-changed" handler="ag_window_city_changed_callback" swapped="no"/> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">2</property> | ||||
|                             <property name="top_attach">1</property> | ||||
|                             <property name="width">2</property> | ||||
|                             <property name="height">1</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                         <child> | ||||
|                           <object class="GtkLabel" id="latitude_label"> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">False</property> | ||||
|                             <property name="label" translatable="yes">Latitude</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">0</property> | ||||
|                             <property name="top_attach">2</property> | ||||
|                             <property name="width">2</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                         <child> | ||||
|                           <object class="GtkRadioButton" id="north_lat"> | ||||
|                             <property name="label" translatable="yes">North</property> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">True</property> | ||||
|                             <property name="receives_default">False</property> | ||||
|                             <property name="active">True</property> | ||||
|                             <property name="draw_indicator">True</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">0</property> | ||||
|                             <property name="top_attach">3</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                         <child> | ||||
|                           <object class="GtkRadioButton" id="south_lat"> | ||||
|                             <property name="label" translatable="yes">South</property> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">True</property> | ||||
|                             <property name="receives_default">False</property> | ||||
|                             <property name="active">True</property> | ||||
|                             <property name="draw_indicator">True</property> | ||||
|                             <property name="group">north_lat</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">1</property> | ||||
|                             <property name="top_attach">3</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                         <child> | ||||
|                           <object class="GtkSpinButton" id="latitude"> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">True</property> | ||||
|                             <property name="adjustment">latitude_adjust</property> | ||||
|                             <property name="digits">6</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">0</property> | ||||
|                             <property name="top_attach">4</property> | ||||
|                             <property name="width">2</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                         <child> | ||||
|                           <object class="GtkLabel" id="longitude_label"> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">False</property> | ||||
|                             <property name="label" translatable="yes">Longitude</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">2</property> | ||||
|                             <property name="top_attach">2</property> | ||||
|                             <property name="width">2</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                         <child> | ||||
|                           <object class="GtkRadioButton" id="east_long"> | ||||
|                             <property name="label" translatable="yes">East</property> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">True</property> | ||||
|                             <property name="receives_default">False</property> | ||||
|                             <property name="active">True</property> | ||||
|                             <property name="draw_indicator">True</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">2</property> | ||||
|                             <property name="top_attach">3</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                         <child> | ||||
|                           <object class="GtkRadioButton" id="west_long"> | ||||
|                             <property name="label" translatable="yes">West</property> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">True</property> | ||||
|                             <property name="receives_default">False</property> | ||||
|                             <property name="active">True</property> | ||||
|                             <property name="draw_indicator">True</property> | ||||
|                             <property name="group">east_long</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">3</property> | ||||
|                             <property name="top_attach">3</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                         <child> | ||||
|                           <object class="GtkSpinButton" id="longitude"> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">True</property> | ||||
|                             <property name="adjustment">longitude_adjust</property> | ||||
|                             <property name="digits">6</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">2</property> | ||||
|                             <property name="top_attach">4</property> | ||||
|                             <property name="width">2</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                       </object> | ||||
|                     </child> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">0</property> | ||||
|                     <property name="top_attach">7</property> | ||||
|                     <property name="width">7</property> | ||||
|                     <property name="top_attach">1</property> | ||||
|                     <property name="width">2</property> | ||||
|                   </packing> | ||||
|                 </child> | ||||
|                 </child><!-- location_frame --> | ||||
|                 <child> | ||||
|                   <object class="GtkFrame" id="time_frame"> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">False</property> | ||||
|                     <property name="label_xalign">0</property> | ||||
|                     <property name="shadow_type">none</property> | ||||
|                     <child type="label"> | ||||
|                       <object class="GtkLabel" id="time_frame_label"> | ||||
|                         <property name="visible">True</property> | ||||
|                         <property name="can_focus">False</property> | ||||
|                         <property name="label" translatable="yes">Date and time</property> | ||||
|                       </object> | ||||
|                     </child> | ||||
|                     <child> | ||||
|                       <object class="GtkGrid" id="time_grid"> | ||||
|                         <property name="visible">True</property> | ||||
|                         <property name="can_focus">False</property> | ||||
|                         <property name="row_homogeneous">True</property> | ||||
|                         <property name="column_homogeneous">True</property> | ||||
|                         <child> | ||||
|                           <object class="GtkLabel" id="year_label"> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">False</property> | ||||
|                             <property name="label" translatable="yes">Year</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">0</property> | ||||
|                             <property name="top_attach">0</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                         <child> | ||||
|                           <object class="GtkSpinButton" id="year"> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">True</property> | ||||
|                             <property name="adjustment">year_adjust</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">1</property> | ||||
|                             <property name="top_attach">0</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                         <child> | ||||
|                           <object class="GtkLabel" id="month_label"> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">False</property> | ||||
|                             <property name="label" translatable="yes">Month</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">0</property> | ||||
|                             <property name="top_attach">1</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                         <child> | ||||
|                           <object class="GtkSpinButton" id="month"> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">True</property> | ||||
|                             <property name="adjustment">month_adjust</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">1</property> | ||||
|                             <property name="top_attach">1</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                         <child> | ||||
|                           <object class="GtkLabel" id="day_label"> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">False</property> | ||||
|                             <property name="label" translatable="yes">Day</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">0</property> | ||||
|                             <property name="top_attach">2</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                         <child> | ||||
|                           <object class="GtkSpinButton" id="day"> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">True</property> | ||||
|                             <property name="adjustment">day_adjust</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">1</property> | ||||
|                             <property name="top_attach">2</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                         <child> | ||||
|                           <object class="GtkLabel" id="hour_label"> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">False</property> | ||||
|                             <property name="label" translatable="yes">Hour</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">2</property> | ||||
|                             <property name="top_attach">0</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                         <child> | ||||
|                           <object class="GtkSpinButton" id="hour"> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">True</property> | ||||
|                             <property name="adjustment">hour_adjust</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">3</property> | ||||
|                             <property name="top_attach">0</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                         <child> | ||||
|                           <object class="GtkLabel" id="minute_label"> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">False</property> | ||||
|                             <property name="label" translatable="yes">Minute</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">2</property> | ||||
|                             <property name="top_attach">1</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                         <child> | ||||
|                           <object class="GtkSpinButton" id="minute"> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">True</property> | ||||
|                             <property name="adjustment">minute_adjust</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">3</property> | ||||
|                             <property name="top_attach">1</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                         <child> | ||||
|                           <object class="GtkLabel" id="second_label"> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">False</property> | ||||
|                             <property name="label" translatable="yes">Second</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">2</property> | ||||
|                             <property name="top_attach">2</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                         <child> | ||||
|                           <object class="GtkSpinButton" id="second"> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">True</property> | ||||
|                             <property name="adjustment">second_adjust</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">3</property> | ||||
|                             <property name="top_attach">2</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                         <child> | ||||
|                           <object class="GtkLabel" id="timezone_label"> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">False</property> | ||||
|                             <property name="label" translatable="yes">Timezone</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">2</property> | ||||
|                             <property name="top_attach">3</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                         <child> | ||||
|                           <object class="GtkSpinButton" id="timezone"> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">True</property> | ||||
|                             <property name="adjustment">timezone_adjust</property> | ||||
|                             <property name="digits">1</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">3</property> | ||||
|                             <property name="top_attach">3</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                       </object> | ||||
|                     </child><!-- time_grid --> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">2</property> | ||||
|                     <property name="top_attach">1</property> | ||||
|                   </packing> | ||||
|                 </child><!-- time_frame --> | ||||
|                 <child> | ||||
|                   <object class="GtkFrame" id="notes_frame"> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">False</property> | ||||
|                     <property name="label_xalign">0</property> | ||||
|                     <property name="shadow_type">none</property> | ||||
|                     <child type="label"> | ||||
|                       <object class="GtkLabel" id="notes_frame_label"> | ||||
|                         <property name="visible">True</property> | ||||
|                         <property name="can_focus">False</property> | ||||
|                         <property name="label" translatable="yes">Notes</property> | ||||
|                       </object> | ||||
|                     </child> | ||||
|                     <child> | ||||
|                       <object class="GtkScrolledWindow" id="notes_scroll"> | ||||
|                         <property name="visible">True</property> | ||||
|                         <property name="can_focus">False</property> | ||||
|                         <property name="shadow_type">in</property> | ||||
|                         <property name="min_content_height">300</property> | ||||
|                         <child> | ||||
|                           <object class="GtkTextView" id="note"> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">True</property> | ||||
|                             <property name="buffer">note_buffer</property> | ||||
|                           </object> | ||||
|                         </child> | ||||
|                       </object> | ||||
|                     </child> | ||||
|                   </object> | ||||
|                   <packing> | ||||
|                     <property name="left_attach">0</property> | ||||
|                     <property name="top_attach">2</property> | ||||
|                     <property name="width">3</property> | ||||
|                   </packing> | ||||
|                 </child><!-- notes_frame --> | ||||
|               </object> | ||||
|               <packing> | ||||
|                 <property name="name">edit</property> | ||||
| @@ -797,6 +828,18 @@ | ||||
|                         <property name="action_target">'antiscia'</property> | ||||
|                       </object> | ||||
|                     </child> | ||||
|                     <child> | ||||
|                       <object class="GtkComboBox" id="house_system"> | ||||
|                         <property name="visible">True</property> | ||||
|                         <property name="can_focus">False</property> | ||||
|                         <property name="model">house_system_model</property> | ||||
|                         <property name="id_column">1</property> | ||||
|                         <signal name="changed" handler="ag_window_house_system_changed_cb" swapped="no"/> | ||||
|                       </object> | ||||
|                       <packing> | ||||
|                         <property name="pack_type">start</property> | ||||
|                       </packing> | ||||
|                     </child> | ||||
|                     <child> | ||||
|                       <object class="GtkComboBox" id="display_theme"> | ||||
|                         <property name="visible">True</property> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user