Update UI to use country/city chooser
This commit is contained in:
parent
4e93781bb9
commit
86414b37df
@ -24,6 +24,8 @@ struct _AgWindowPrivate {
|
|||||||
GtkWidget *selection_toolbar;
|
GtkWidget *selection_toolbar;
|
||||||
GtkWidget *stack;
|
GtkWidget *stack;
|
||||||
GtkWidget *name;
|
GtkWidget *name;
|
||||||
|
GtkWidget *country;
|
||||||
|
GtkWidget *city;
|
||||||
GtkWidget *north_lat;
|
GtkWidget *north_lat;
|
||||||
GtkWidget *south_lat;
|
GtkWidget *south_lat;
|
||||||
GtkWidget *latitude;
|
GtkWidget *latitude;
|
||||||
@ -55,6 +57,8 @@ struct _AgWindowPrivate {
|
|||||||
GtkListStore *house_system_model;
|
GtkListStore *house_system_model;
|
||||||
GtkListStore *db_chart_data;
|
GtkListStore *db_chart_data;
|
||||||
AgDbSave *saved_data;
|
AgDbSave *saved_data;
|
||||||
|
GtkEntryCompletion *country_comp;
|
||||||
|
GtkEntryCompletion *city_comp;
|
||||||
};
|
};
|
||||||
|
|
||||||
G_DEFINE_QUARK(ag_window_error_quark, ag_window_error);
|
G_DEFINE_QUARK(ag_window_error_quark, ag_window_error);
|
||||||
@ -1387,6 +1391,15 @@ ag_window_list_selection_changed_cb(GdMainView *view, AgWindow *window)
|
|||||||
// Here it is possible to set button sensitivity later
|
// Here it is possible to set button sensitivity later
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gboolean
|
||||||
|
ag_window_country_selected_callback(GtkEntryCompletion *country_comp,
|
||||||
|
GtkTreeModel *list,
|
||||||
|
GtkTreeIter *iter,
|
||||||
|
AgWindow *window)
|
||||||
|
{
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
ag_window_init(AgWindow *window)
|
ag_window_init(AgWindow *window)
|
||||||
{
|
{
|
||||||
@ -1414,6 +1427,15 @@ ag_window_init(AgWindow *window)
|
|||||||
window
|
window
|
||||||
);
|
);
|
||||||
|
|
||||||
|
gtk_entry_completion_set_model(priv->country_comp, country_list);
|
||||||
|
gtk_entry_completion_set_text_column(priv->country_comp, AG_COUNTRY_NAME);
|
||||||
|
gtk_entry_set_completion(GTK_ENTRY(priv->country), priv->country_comp);
|
||||||
|
|
||||||
|
gtk_entry_completion_set_model(priv->city_comp, city_list);
|
||||||
|
gtk_entry_completion_set_text_column(priv->city_comp, AG_CITY_NAME);
|
||||||
|
gtk_entry_completion_set_minimum_key_length(priv->city_comp, 3);
|
||||||
|
gtk_entry_set_completion(GTK_ENTRY(priv->city), priv->city_comp);
|
||||||
|
|
||||||
house_system_list = gswe_all_house_systems();
|
house_system_list = gswe_all_house_systems();
|
||||||
g_list_foreach(house_system_list, (GFunc)ag_window_add_house_system, priv);
|
g_list_foreach(house_system_list, (GFunc)ag_window_add_house_system, priv);
|
||||||
g_list_free(house_system_list);
|
g_list_free(house_system_list);
|
||||||
@ -1506,6 +1528,16 @@ ag_window_name_changed_cb(GtkEntry *name_entry, AgWindow *window)
|
|||||||
gtk_header_bar_set_subtitle(GTK_HEADER_BAR(priv->header_bar), name);
|
gtk_header_bar_set_subtitle(GTK_HEADER_BAR(priv->header_bar), name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
ag_window_country_changed_callback(GtkSearchEntry *country, AgWindow *window)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
ag_window_city_changed_callback(GtkSearchEntry *city, AgWindow *window)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
ag_window_class_init(AgWindowClass *klass)
|
ag_window_class_init(AgWindowClass *klass)
|
||||||
{
|
{
|
||||||
@ -1544,6 +1576,22 @@ ag_window_class_init(AgWindowClass *klass)
|
|||||||
tab_edit
|
tab_edit
|
||||||
);
|
);
|
||||||
gtk_widget_class_bind_template_child_private(widget_class, AgWindow, name);
|
gtk_widget_class_bind_template_child_private(widget_class, AgWindow, name);
|
||||||
|
gtk_widget_class_bind_template_child_private(
|
||||||
|
widget_class,
|
||||||
|
AgWindow,
|
||||||
|
country
|
||||||
|
);
|
||||||
|
gtk_widget_class_bind_template_child_private(
|
||||||
|
widget_class,
|
||||||
|
AgWindow,
|
||||||
|
country_comp
|
||||||
|
);
|
||||||
|
gtk_widget_class_bind_template_child_private(widget_class, AgWindow, city);
|
||||||
|
gtk_widget_class_bind_template_child_private(
|
||||||
|
widget_class,
|
||||||
|
AgWindow,
|
||||||
|
city_comp
|
||||||
|
);
|
||||||
gtk_widget_class_bind_template_child_private(widget_class, AgWindow, year);
|
gtk_widget_class_bind_template_child_private(widget_class, AgWindow, year);
|
||||||
gtk_widget_class_bind_template_child_private(widget_class, AgWindow, month);
|
gtk_widget_class_bind_template_child_private(widget_class, AgWindow, month);
|
||||||
gtk_widget_class_bind_template_child_private(widget_class, AgWindow, day);
|
gtk_widget_class_bind_template_child_private(widget_class, AgWindow, day);
|
||||||
@ -1642,6 +1690,18 @@ ag_window_class_init(AgWindowClass *klass)
|
|||||||
widget_class,
|
widget_class,
|
||||||
ag_window_name_changed_cb
|
ag_window_name_changed_cb
|
||||||
);
|
);
|
||||||
|
gtk_widget_class_bind_template_callback(
|
||||||
|
widget_class,
|
||||||
|
ag_window_country_selected_callback
|
||||||
|
);
|
||||||
|
gtk_widget_class_bind_template_callback(
|
||||||
|
widget_class,
|
||||||
|
ag_window_country_changed_callback
|
||||||
|
);
|
||||||
|
gtk_widget_class_bind_template_callback(
|
||||||
|
widget_class,
|
||||||
|
ag_window_city_changed_callback
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
|
@ -136,6 +136,11 @@
|
|||||||
<column type="guint"/>
|
<column type="guint"/>
|
||||||
</columns>
|
</columns>
|
||||||
</object>
|
</object>
|
||||||
|
<object class="GtkEntryCompletion" id="country_comp">
|
||||||
|
<signal name="match-selected" handler="ag_window_country_selected_callback" swapped="no"/>
|
||||||
|
</object>
|
||||||
|
<object class="GtkEntryCompletion" id="city_comp">
|
||||||
|
</object>
|
||||||
<template class="AgWindow" parent="GtkApplicationWindow">
|
<template class="AgWindow" parent="GtkApplicationWindow">
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="has_focus">False</property>
|
<property name="has_focus">False</property>
|
||||||
@ -394,10 +399,11 @@
|
|||||||
<property name="primary_icon_name">edit-find-symbolic</property>
|
<property name="primary_icon_name">edit-find-symbolic</property>
|
||||||
<property name="primary_icon_activatable">False</property>
|
<property name="primary_icon_activatable">False</property>
|
||||||
<property name="primary_icon_sensitive">False</property>
|
<property name="primary_icon_sensitive">False</property>
|
||||||
|
<signal name="search-changed" handler="ag_window_country_changed_callback" swapped="no"/>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="left_attach">1</property>
|
<property name="left_attach">1</property>
|
||||||
<property name="top_attach">2</property>
|
<property name="top_attach">1</property>
|
||||||
<property name="width">3</property>
|
<property name="width">3</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
@ -419,10 +425,11 @@
|
|||||||
<property name="primary_icon_name">edit-find-symbolic</property>
|
<property name="primary_icon_name">edit-find-symbolic</property>
|
||||||
<property name="primary_icon_activatable">False</property>
|
<property name="primary_icon_activatable">False</property>
|
||||||
<property name="primary_icon_sensitive">False</property>
|
<property name="primary_icon_sensitive">False</property>
|
||||||
|
<signal name="search-changed" handler="ag_window_city_changed_callback" swapped="no"/>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="left_attach">1</property>
|
<property name="left_attach">1</property>
|
||||||
<property name="top_attach">1</property>
|
<property name="top_attach">2</property>
|
||||||
<property name="width">3</property>
|
<property name="width">3</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
|
Loading…
Reference in New Issue
Block a user