#include <telepathy-glib/telepathy-glib.h>
-#include <libempathy/empathy-contact-manager.h>
#include <libempathy/empathy-tp-contact-factory.h>
+#include <libempathy/empathy-utils.h>
#include <libempathy-gtk/empathy-account-chooser.h>
#include <libempathy-gtk/empathy-cell-renderer-text.h>
GtkWidget *search_entry;
/* GtkWidget *server_entry; */
GtkWidget *message;
+ GtkWidget *message_window;
+ GtkWidget *message_label;
};
static void
gtk_list_store_clear (priv->store);
tp_contact_search_start (priv->searcher, search);
- g_hash_table_destroy (search);
+ g_hash_table_unref (search);
}
static void
gpointer user_data,
GObject *object)
{
- EmpathyContactManager *manager = empathy_contact_manager_dup_singleton ();
const gchar *message = user_data;
if (error != NULL)
return;
}
- empathy_contact_list_add (EMPATHY_CONTACT_LIST (manager), contact,
- message);
+ empathy_contact_add_to_contact_list (contact, message);
}
static void
gtk_widget_set_sensitive (priv->add_button, sel);
}
+static void
+check_request_message_available (EmpathyContactSearchDialog *self,
+ TpConnection *conn)
+{
+ EmpathyContactSearchDialogPrivate *priv = GET_PRIVATE (self);
+
+ gtk_widget_set_visible (priv->message_window,
+ tp_connection_get_can_change_contact_list (conn));
+ gtk_widget_set_visible (priv->message_label,
+ tp_connection_get_can_change_contact_list (conn));
+}
static void
_account_chooser_changed (EmpathyAccountChooser *chooser,
NULL, /* gtk_entry_get_text (GTK_ENTRY (priv->server_entry)), */
0,
on_searcher_created, self);
+
+ /* Make the request message textview sensitive if it can be used */
+ check_request_message_available (self, conn);
}
static void
/* Title */
gtk_window_set_title (GTK_WINDOW (self), _("Search contacts"));
- vbox = gtk_vbox_new (FALSE, 3);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 6);
/* Account chooser */
- hbox = gtk_hbox_new (FALSE, 6);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
label = gtk_label_new (_("Account:"));
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0);
gtk_size_group_add_widget (size_group, label);
#endif
/* Search input */
- hbox = gtk_hbox_new (FALSE, 6);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
label = gtk_label_new (_("Search: "));
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0);
gtk_size_group_add_widget (size_group, label);
gtk_box_pack_start (GTK_BOX (vbox), priv->notebook, TRUE, TRUE, 3);
/* Request message textview */
- label = gtk_label_new (_("Your message introducing yourself:"));
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
+ priv->message_label = gtk_label_new (
+ _("Your message introducing yourself:"));
+ gtk_misc_set_alignment (GTK_MISC (priv->message_label), 0, 0.5);
priv->message = gtk_text_view_new ();
gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (priv->message),
gtk_text_view_get_buffer (GTK_TEXT_VIEW (priv->message)),
_("Please let me see when you're online. Thanks!"), -1);
- scrolled_window = gtk_scrolled_window_new (NULL, NULL);
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
+ priv->message_window = gtk_scrolled_window_new (NULL, NULL);
+ gtk_scrolled_window_set_shadow_type (
+ GTK_SCROLLED_WINDOW (priv->message_window),
+ GTK_SHADOW_ETCHED_IN);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->message_window),
GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
- gtk_container_add (GTK_CONTAINER (scrolled_window), priv->message);
+ gtk_container_add (GTK_CONTAINER (priv->message_window), priv->message);
- gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, TRUE, 3);
- gtk_box_pack_start (GTK_BOX (vbox), scrolled_window, FALSE, TRUE, 3);
+ gtk_box_pack_start (GTK_BOX (vbox), priv->message_label, FALSE, TRUE, 3);
+ gtk_box_pack_start (GTK_BOX (vbox), priv->message_window, FALSE, TRUE, 3);
gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (
GTK_DIALOG (self))), vbox, TRUE, TRUE, 0);