aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/google-account-setup
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/google-account-setup')
-rw-r--r--plugins/google-account-setup/ChangeLog36
-rw-r--r--plugins/google-account-setup/Makefile.am6
-rw-r--r--plugins/google-account-setup/google-contacts-source.c24
-rw-r--r--plugins/google-account-setup/google-source.c65
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);