aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy-gtk/empathy-subscription-dialog.c
diff options
context:
space:
mode:
authorXavier Claessens <xclaesse@gmail.com>2007-06-07 04:20:50 +0800
committerXavier Claessens <xclaesse@src.gnome.org>2007-06-07 04:20:50 +0800
commita3a321f7e30e09c0adce157d3894642bad32e42c (patch)
treedfd9d8951bdec45d00025c9f5d09f9a68a7f5204 /libempathy-gtk/empathy-subscription-dialog.c
parent51f7f13d735f8db9ead25711641f2974c18b2737 (diff)
downloadgsoc2013-empathy-a3a321f7e30e09c0adce157d3894642bad32e42c.tar
gsoc2013-empathy-a3a321f7e30e09c0adce157d3894642bad32e42c.tar.gz
gsoc2013-empathy-a3a321f7e30e09c0adce157d3894642bad32e42c.tar.bz2
gsoc2013-empathy-a3a321f7e30e09c0adce157d3894642bad32e42c.tar.lz
gsoc2013-empathy-a3a321f7e30e09c0adce157d3894642bad32e42c.tar.xz
gsoc2013-empathy-a3a321f7e30e09c0adce157d3894642bad32e42c.tar.zst
gsoc2013-empathy-a3a321f7e30e09c0adce157d3894642bad32e42c.zip
Implement editing and viewing contact information with right click on the
2007-06-06 Xavier Claessens <xclaesse@gmail.com> * libempathy-gtk/empathy-contact-dialogs.glade: * libempathy-gtk/empathy-contact-widget.glade: * libempathy-gtk/empathy-status-icon.c: * libempathy-gtk/empathy-contact-dialogs.c: * libempathy-gtk/empathy-contact-dialogs.h: * libempathy-gtk/gossip-ui-utils.c: * libempathy-gtk/empathy-subscription-dialog.glade: * libempathy-gtk/empathy-contact-widget.c: * libempathy-gtk/gossip-ui-utils.h: * libempathy-gtk/gossip-contact-list-view.c: * libempathy-gtk/empathy-subscription-dialog.c: * libempathy-gtk/Makefile.am: * libempathy-gtk/empathy-subscription-dialog.h: Implement editing and viewing contact information with right click on the roster. svn path=/trunk/; revision=128
Diffstat (limited to 'libempathy-gtk/empathy-subscription-dialog.c')
-rw-r--r--libempathy-gtk/empathy-subscription-dialog.c116
1 files changed, 0 insertions, 116 deletions
diff --git a/libempathy-gtk/empathy-subscription-dialog.c b/libempathy-gtk/empathy-subscription-dialog.c
deleted file mode 100644
index 578118581..000000000
--- a/libempathy-gtk/empathy-subscription-dialog.c
+++ /dev/null
@@ -1,116 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Copyright (C) 2007 Collabora Ltd.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: Xavier Claessens <xclaesse@gmail.com>
- */
-
-#include <config.h>
-
-#include <string.h>
-#include <stdlib.h>
-
-#include <gtk/gtk.h>
-#include <glade/glade.h>
-#include <glib/gi18n.h>
-
-#include <libempathy/empathy-contact-manager.h>
-#include <libempathy/empathy-contact-list.h>
-
-#include "empathy-subscription-dialog.h"
-#include "empathy-contact-widget.h"
-#include "gossip-ui-utils.h"
-
-static GHashTable *dialogs = NULL;
-
-static void
-subscription_dialog_response_cb (GtkDialog *dialog,
- gint response,
- GtkWidget *contact_widget)
-{
- EmpathyContactManager *manager;
- GossipContact *contact;
-
- manager = empathy_contact_manager_new ();
- contact = empathy_contact_widget_get_contact (contact_widget);
- empathy_contact_widget_save (contact_widget);
-
- if (response == GTK_RESPONSE_YES) {
- empathy_contact_list_add (EMPATHY_CONTACT_LIST (manager),
- contact,
- _("I would like to add you to my contact list."));
- }
- else if (response == GTK_RESPONSE_NO) {
- empathy_contact_list_remove (EMPATHY_CONTACT_LIST (manager),
- contact,
- _("Sorry, I don't want you in my contact list."));
- }
-
- g_hash_table_remove (dialogs, contact);
- g_object_unref (manager);
-}
-
-void
-empathy_subscription_dialog_show (GossipContact *contact,
- GtkWindow *parent)
-{
- GtkWidget *dialog;
- GtkWidget *hbox_subscription;
- GtkWidget *contact_widget;
-
- g_return_if_fail (GOSSIP_IS_CONTACT (contact));
-
- if (!dialogs) {
- dialogs = g_hash_table_new_full (gossip_contact_hash,
- gossip_contact_equal,
- (GDestroyNotify) g_object_unref,
- (GDestroyNotify) gtk_widget_destroy);
- }
-
- dialog = g_hash_table_lookup (dialogs, contact);
- if (dialog) {
- gtk_window_present (GTK_WINDOW (dialog));
- return;
- }
-
- gossip_glade_get_file_simple ("empathy-subscription-dialog.glade",
- "subscription_request_dialog",
- NULL,
- "subscription_request_dialog", &dialog,
- "hbox_subscription", &hbox_subscription,
- NULL);
-
- g_hash_table_insert (dialogs, g_object_ref (contact), dialog);
-
- contact_widget = empathy_contact_widget_new (contact, TRUE);
- gtk_box_pack_end (GTK_BOX (hbox_subscription),
- contact_widget,
- TRUE, TRUE,
- 0);
-
- g_signal_connect (dialog, "response",
- G_CALLBACK (subscription_dialog_response_cb),
- contact_widget);
-
- if (parent) {
- gtk_window_set_transient_for (GTK_WINDOW (dialog), parent);
- }
-
- gtk_widget_show (dialog);
-}
-