diff options
Diffstat (limited to 'plugins/google-account-setup')
-rw-r--r-- | plugins/google-account-setup/ChangeLog | 36 | ||||
-rw-r--r-- | plugins/google-account-setup/Makefile.am | 6 | ||||
-rw-r--r-- | plugins/google-account-setup/google-contacts-source.c | 24 | ||||
-rw-r--r-- | plugins/google-account-setup/google-source.c | 65 |
4 files changed, 85 insertions, 46 deletions
diff --git a/plugins/google-account-setup/ChangeLog b/plugins/google-account-setup/ChangeLog index 628455a523..03cf6b4e3e 100644 --- a/plugins/google-account-setup/ChangeLog +++ b/plugins/google-account-setup/ChangeLog @@ -1,3 +1,39 @@ +2009-04-24 Milan Crha <mcrha@redhat.com> + + ** Fix for bug #572348 + + * google-source.c: Remove deprecated Gtk+ symbols. + +2009-04-09 Milan Crha <mcrha@redhat.com> + + ** Fix for bug #574248 + + * google-contacts-source.c: (plugin_google_contacts): + * google-source.c: (plugin_google): + Compare base URI case insensitively. + +2009-04-07 Tobias Mueller <tobiasmue@gnome.org> + + ** Fixes bug #578034 + + * google-source.c (claim_error): + Call gtk_message_dialog_new with a proper format string. + +2009-02-26 Matthew Barnes <mbarnes@redhat.com> + + ** Fixes part of bug #572950 + + * Makefile.am: + Fix ordering of -I compiler directives. Patch by Daniel Macks. + +2009-02-25 Milan Crha <mcrha@redhat.com> + + ** Part of fix for bug #559719 + + * google-contacts-source.c: (struct ui_data), (destroy_ui_data), + (plugin_google_contacts): Use it's own/unique name for the property + on the 'epl' and free the widget only if it wasn't freed yet. + 2009-01-29 Milan Crha <mcrha@redhat.com> ** Fix for bug #539467 diff --git a/plugins/google-account-setup/Makefile.am b/plugins/google-account-setup/Makefile.am index d1c385b172..0d39004593 100644 --- a/plugins/google-account-setup/Makefile.am +++ b/plugins/google-account-setup/Makefile.am @@ -1,9 +1,9 @@ INCLUDES = \ - $(EVOLUTION_CALENDAR_CFLAGS) \ - $(EVOLUTION_ADDRESSBOOK_CFLAGS) \ -I . \ -I$(top_srcdir) \ - -DCALDAV_GLADEDIR=\""$(gladedir)"\" + -DCALDAV_GLADEDIR=\""$(gladedir)"\" \ + $(EVOLUTION_CALENDAR_CFLAGS) \ + $(EVOLUTION_ADDRESSBOOK_CFLAGS) @EVO_PLUGIN_RULE@ diff --git a/plugins/google-account-setup/google-contacts-source.c b/plugins/google-account-setup/google-contacts-source.c index f76b7e56ee..6d9697194b 100644 --- a/plugins/google-account-setup/google-contacts-source.c +++ b/plugins/google-account-setup/google-contacts-source.c @@ -246,10 +246,19 @@ on_interval_combo_changed (GtkComboBox *combo, gpointer user_data) g_free (value_string); } +struct ui_data { + GtkWidget *widget; +}; + static void destroy_ui_data(gpointer data) { - gtk_widget_destroy((GtkWidget *)data); + struct ui_data *ui = data; + + if (ui && ui->widget) + gtk_widget_destroy (ui->widget); + + g_free (ui); } GtkWidget * @@ -282,16 +291,16 @@ plugin_google_contacts (EPlugin *epl, int time; GtkWidget *ssl_cb; + struct ui_data *ui; source = t->source; group = e_source_peek_group (source); base_uri = e_source_group_peek_base_uri (group); - g_object_set_data_full (G_OBJECT (epl), "widget", NULL, - (GDestroyNotify)gtk_widget_destroy); + g_object_set_data (G_OBJECT (epl), "gwidget", NULL); - if (strcmp (base_uri, "google://")) { + if (g_ascii_strncasecmp ("google://", base_uri, 9) != 0) { return NULL; } @@ -375,8 +384,11 @@ plugin_google_contacts (EPlugin *epl, g_object_set_data (G_OBJECT (interval_sb), "interval-combo", interval_combo); g_object_set_data (G_OBJECT (interval_combo), "interval-sb", interval_sb); - g_object_set_data_full(G_OBJECT(epl), "widget", vbox2, - destroy_ui_data); + ui = g_malloc0 (sizeof (struct ui_data)); + ui->widget = vbox2; + g_object_set_data_full(G_OBJECT(epl), "gwidget", ui, destroy_ui_data); + g_signal_connect (ui->widget, "destroy", G_CALLBACK (gtk_widget_destroyed), &ui->widget); + g_signal_connect (G_OBJECT (username_entry), "changed", G_CALLBACK (on_username_entry_changed), source); diff --git a/plugins/google-account-setup/google-source.c b/plugins/google-account-setup/google-source.c index 02f08da5e5..a5b846076f 100644 --- a/plugins/google-account-setup/google-source.c +++ b/plugins/google-account-setup/google-source.c @@ -233,10 +233,10 @@ user_changed (GtkEntry *editable, ESource *source) } static char * -get_refresh_minutes (GtkWidget *spin, GtkWidget *option) +get_refresh_minutes (GtkWidget *spin, GtkWidget *combobox) { int setting = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (spin)); - switch (gtk_option_menu_get_history (GTK_OPTION_MENU (option))) { + switch (gtk_combo_box_get_active (GTK_COMBO_BOX (combobox))) { case 0: /* minutes */ break; @@ -264,30 +264,30 @@ static void spin_changed (GtkSpinButton *spin, ECalConfigTargetSource *t) { gchar *refresh_str; - GtkWidget *option; + GtkWidget *combobox; - option = g_object_get_data (G_OBJECT(spin), "option"); + combobox = g_object_get_data (G_OBJECT(spin), "combobox"); - refresh_str = get_refresh_minutes ((GtkWidget *)spin, option); + refresh_str = get_refresh_minutes ((GtkWidget *)spin, combobox); e_source_set_property (t->source, "refresh", refresh_str); g_free (refresh_str); } static void -option_changed (GtkSpinButton *option, ECalConfigTargetSource *t) +combobox_changed (GtkComboBox *combobox, ECalConfigTargetSource *t) { gchar *refresh_str; GtkWidget *spin; - spin = g_object_get_data (G_OBJECT(option), "spin"); + spin = g_object_get_data (G_OBJECT(combobox), "spin"); - refresh_str = get_refresh_minutes (spin, (GtkWidget *)option); + refresh_str = get_refresh_minutes (spin, (GtkWidget *)combobox); e_source_set_property (t->source, "refresh", refresh_str); g_free (refresh_str); } static void -set_refresh_time (ESource *source, GtkWidget *spin, GtkWidget *option) +set_refresh_time (ESource *source, GtkWidget *spin, GtkWidget *combobox) { int time; int item_num = 0; @@ -307,7 +307,7 @@ set_refresh_time (ESource *source, GtkWidget *spin, GtkWidget *option) item_num = 1; time /= 60; } - gtk_option_menu_set_history (GTK_OPTION_MENU (option), item_num); + gtk_combo_box_set_active (GTK_COMBO_BOX (combobox), item_num); gtk_spin_button_set_value (GTK_SPIN_BUTTON (spin), time); } @@ -391,6 +391,7 @@ claim_error (GtkWindow *parent, const char *error) GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, + "%s", error); gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); @@ -566,16 +567,13 @@ plugin_google (EPlugin *epl, GtkCellRenderer *renderer; GtkListStore *store; - GtkWidget *option, *spin, *menu, *hbox; - GtkWidget *times [4]; - int i; + GtkWidget *combobox, *spin, *hbox; source = t->source; group = e_source_peek_group (source); widget = NULL; - if (!g_str_has_prefix (e_source_group_peek_base_uri (group), - "Google")) { + if (g_ascii_strncasecmp ("google://", e_source_group_peek_base_uri (group), 9) != 0) { return NULL; } @@ -647,28 +645,21 @@ plugin_google (EPlugin *epl, gtk_widget_show (spin); gtk_box_pack_start (GTK_BOX(hbox), spin, FALSE, TRUE, 0); - option = gtk_option_menu_new (); - gtk_widget_show (option); - times[0] = gtk_menu_item_new_with_label (_("minutes")); - times[1] = gtk_menu_item_new_with_label (_("hours")); - times[2] = gtk_menu_item_new_with_label (_("days")); - times[3] = gtk_menu_item_new_with_label (_("weeks")); - - menu = gtk_menu_new (); - gtk_widget_show (menu); - for (i = 0; i < 4; i++) { - gtk_widget_show (times[i]); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), times[i]); - } - gtk_option_menu_set_menu (GTK_OPTION_MENU (option), menu); - set_refresh_time (source, spin, option); - gtk_box_pack_start (GTK_BOX (hbox), option, FALSE, TRUE, 0); - - e_source_set_property (source, "refresh", "30"); - - g_object_set_data (G_OBJECT (option), "spin", spin); - g_signal_connect (G_OBJECT (option), "changed", G_CALLBACK (option_changed), t); - g_object_set_data (G_OBJECT (spin), "option", option); + if (!e_source_get_property (source, "refresh")) + e_source_set_property (source, "refresh", "30"); + + combobox = gtk_combo_box_new_text (); + gtk_widget_show (combobox); + gtk_combo_box_append_text (GTK_COMBO_BOX (combobox), _("minutes")); + gtk_combo_box_append_text (GTK_COMBO_BOX (combobox), _("hours")); + gtk_combo_box_append_text (GTK_COMBO_BOX (combobox), _("days")); + gtk_combo_box_append_text (GTK_COMBO_BOX (combobox), _("weeks")); + set_refresh_time (source, spin, combobox); + gtk_box_pack_start (GTK_BOX (hbox), combobox, FALSE, TRUE, 0); + + g_object_set_data (G_OBJECT (combobox), "spin", spin); + g_signal_connect (G_OBJECT (combobox), "changed", G_CALLBACK (combobox_changed), t); + g_object_set_data (G_OBJECT (spin), "combobox", combobox); g_signal_connect (G_OBJECT (spin), "value-changed", G_CALLBACK (spin_changed), t); gtk_table_attach (GTK_TABLE (parent), hbox, 1, 2, row + 2, row + 3, GTK_EXPAND | GTK_FILL, 0, 0, 0); |