]> git.0d.be Git - empathy.git/commitdiff
EmpathyContactSearchDialog: Add a "Not Supported" message page
authorXavier Claessens <xavier.claessens@collabora.co.uk>
Mon, 8 Jul 2013 10:19:02 +0000 (12:19 +0200)
committerXavier Claessens <xavier.claessens@collabora.co.uk>
Mon, 8 Jul 2013 10:43:39 +0000 (12:43 +0200)
https://bugzilla.gnome.org/show_bug.cgi?id=703775

libempathy-gtk/empathy-contact-search-dialog.c

index 90c61dfb1eca2f71daf350d83b141f269cfeb0b7..cb74a12a55edc05abebad99a41175ba643a595f9 100644 (file)
@@ -54,7 +54,8 @@ enum
 
 enum {
    PAGE_SEARCH_RESULTS,
-   PAGE_NO_MATCH
+   PAGE_NO_MATCH,
+   PAGE_NOT_SUPPORTED,
 };
 
 typedef struct _EmpathyContactSearchDialogPrivate EmpathyContactSearchDialogPrivate;
@@ -102,10 +103,16 @@ on_searcher_reset (GObject *source_object,
   if (error != NULL)
     {
       DEBUG ("Failed to reset the TpContactSearch: %s", error->message);
+      gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook),
+          PAGE_NOT_SUPPORTED);
+
       g_error_free (error);
       return;
     }
 
+  gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook),
+      PAGE_SEARCH_RESULTS);
+
   search = g_hash_table_new (g_str_hash, g_str_equal);
 
   search_criteria = gtk_entry_get_text (GTK_ENTRY (priv->search_entry));
@@ -314,10 +321,16 @@ on_searcher_created (GObject *source_object,
   if (error != NULL)
     {
       DEBUG ("Failed to create a TpContactSearch: %s", error->message);
+      gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook),
+          PAGE_NOT_SUPPORTED);
+
       g_error_free (error);
       return;
     }
 
+  gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook),
+      PAGE_SEARCH_RESULTS);
+
   g_signal_connect (priv->searcher, "search-results-received",
       G_CALLBACK (_search_results_received), self);
   g_signal_connect (priv->searcher, "notify::state",
@@ -642,6 +655,7 @@ empathy_contact_search_dialog_init (EmpathyContactSearchDialog *self)
       NULL);
 
   append_message_page (self, _("No contacts found"));
+  append_message_page (self, _("Contact search is not supported on this account"));
 
   gtk_box_pack_start (GTK_BOX (vbox), priv->notebook, TRUE, TRUE, 3);