source-dialog: save the source when 'Add' button is clicked
This commit is contained in:
committed by
Erick Pérez Castellanos
parent
b91f732fba
commit
d4899eaa39
@@ -818,7 +818,7 @@
|
|||||||
<property name="sensitive">False</property>
|
<property name="sensitive">False</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="receives_default">True</property>
|
<property name="receives_default">True</property>
|
||||||
<signal name="clicked" handler="action_widget_activated" object="GcalSourceDialog" swapped="no"/>
|
<signal name="clicked" handler="add_button_clicked" object="GcalSourceDialog" swapped="no"/>
|
||||||
<style>
|
<style>
|
||||||
<class name="suggested-action"/>
|
<class name="suggested-action"/>
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -81,6 +81,9 @@ struct _GcalSourceDialog
|
|||||||
|
|
||||||
#define ENTRY_PROGRESS_TIMEOUT 100
|
#define ENTRY_PROGRESS_TIMEOUT 100
|
||||||
|
|
||||||
|
static void add_button_clicked (GtkWidget *button,
|
||||||
|
gpointer user_data);
|
||||||
|
|
||||||
static void add_source (GcalManager *manager,
|
static void add_source (GcalManager *manager,
|
||||||
ESource *source,
|
ESource *source,
|
||||||
gboolean enabled,
|
gboolean enabled,
|
||||||
@@ -180,6 +183,24 @@ GActionEntry actions[] = {
|
|||||||
{"web", NULL, NULL, NULL, NULL}
|
{"web", NULL, NULL, NULL, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
add_button_clicked (GtkWidget *button,
|
||||||
|
gpointer user_data)
|
||||||
|
{
|
||||||
|
GcalSourceDialogPrivate *priv = GCAL_SOURCE_DIALOG (user_data)->priv;
|
||||||
|
|
||||||
|
if (priv->source != NULL)
|
||||||
|
{
|
||||||
|
// Commit the new source
|
||||||
|
gcal_manager_save_source (priv->manager, priv->source);
|
||||||
|
|
||||||
|
priv->source = NULL;
|
||||||
|
|
||||||
|
gcal_source_dialog_set_mode (GCAL_SOURCE_DIALOG (user_data), GCAL_SOURCE_DIALOG_MODE_NORMAL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
add_source (GcalManager *manager,
|
add_source (GcalManager *manager,
|
||||||
ESource *source,
|
ESource *source,
|
||||||
@@ -1352,6 +1373,7 @@ gcal_source_dialog_class_init (GcalSourceDialogClass *klass)
|
|||||||
gtk_widget_class_bind_template_child_private (widget_class, GcalSourceDialog, web_sources_listbox);
|
gtk_widget_class_bind_template_child_private (widget_class, GcalSourceDialog, web_sources_listbox);
|
||||||
gtk_widget_class_bind_template_child_private (widget_class, GcalSourceDialog, web_sources_revealer);
|
gtk_widget_class_bind_template_child_private (widget_class, GcalSourceDialog, web_sources_revealer);
|
||||||
|
|
||||||
|
gtk_widget_class_bind_template_callback (widget_class, add_button_clicked);
|
||||||
gtk_widget_class_bind_template_callback (widget_class, action_widget_activated);
|
gtk_widget_class_bind_template_callback (widget_class, action_widget_activated);
|
||||||
gtk_widget_class_bind_template_callback (widget_class, back_button_clicked);
|
gtk_widget_class_bind_template_callback (widget_class, back_button_clicked);
|
||||||
gtk_widget_class_bind_template_callback (widget_class, calendar_file_selected);
|
gtk_widget_class_bind_template_callback (widget_class, calendar_file_selected);
|
||||||
|
|||||||
Reference in New Issue
Block a user