pidgin/plugins/gevolution/add_buddy_dialog.c

Wed, 27 Nov 2019 00:08:11 +0300

author
qarkai <qarkai@gmail.com>
date
Wed, 27 Nov 2019 00:08:11 +0300
changeset 40329
b5e0f65a5d9c
parent 39897
16b440d4ab36
child 40197
75ffd76260fc
permissions
-rw-r--r--

Replace PurpleNamedValue with PurpleKeyValuePair

20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
1 /*
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
2 * Evolution integration plugin for Purple
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
3 *
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
4 * Copyright (C) 2003 Christian Hammond.
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
5 *
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
6 * This program is free software; you can redistribute it and/or
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
7 * modify it under the terms of the GNU General Public License as
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
8 * published by the Free Software Foundation; either version 2 of the
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
9 * License, or (at your option) any later version.
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
10 *
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
11 * This program is distributed in the hope that it will be useful, but
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
14 * General Public License for more details.
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
15 *
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
16 * You should have received a copy of the GNU General Public License
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
17 * along with this program; if not, write to the Free Software
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
19 * 02111-1301, USA.
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
20 */
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
21 #include "internal.h"
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
22 #include "gtkblist.h"
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
23 #include "pidgin.h"
35526
ed1be305c985 Fix gtk_[hv]box_new gtk3 deprecation warnings
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35522
diff changeset
24
ed1be305c985 Fix gtk_[hv]box_new gtk3 deprecation warnings
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35522
diff changeset
25 #include "gtk3compat.h"
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
26 #include "gtkutils.h"
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
27
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
28 #include "debug.h"
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
29
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
30 #include "gevolution.h"
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
31
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
32 #include <stdlib.h>
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
33
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
34 enum
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
35 {
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
36 COLUMN_NAME,
36545
23b59a16c808 Replaced some _prpl_ stuff with _protocol_
Ankit Vani <a@nevitus.org>
parents: 34728
diff changeset
37 COLUMN_PROTOCOL_ICON,
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
38 COLUMN_USERNAME,
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
39 COLUMN_DATA,
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
40 NUM_COLUMNS
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
41 };
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
42
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
43 static gint
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
44 delete_win_cb(GtkWidget *w, GdkEvent *event, GevoAddBuddyDialog *dialog)
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
45 {
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
46 gtk_widget_destroy(dialog->win);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
47
39897
16b440d4ab36 Use g_list_free_full instead of g_list_foreach+g_list_free.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39502
diff changeset
48 g_list_free_full(dialog->contacts, g_object_unref);
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
49
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
50 if (dialog->book != NULL)
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
51 g_object_unref(dialog->book);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
52
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
53 gevo_addrbooks_model_unref(dialog->addrbooks);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
54
30721
c2175573fa90 Using if (x) g_free(x) is unnecessary.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30710
diff changeset
55 g_free(dialog->username);
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
56
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
57 g_free(dialog);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
58
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
59 return 0;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
60 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
61
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
62 static void
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
63 new_person_cb(GtkWidget *w, GevoAddBuddyDialog *dialog)
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
64 {
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
65 const char *group_name;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
66
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
67 group_name =
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
68 pidgin_text_combo_box_entry_get_text(dialog->group_combo);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
69
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
70 gevo_new_person_dialog_show(dialog->book, NULL, dialog->account, dialog->username,
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
71 (*group_name ? group_name : NULL),
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
72 NULL, FALSE);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
73
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
74 delete_win_cb(NULL, NULL, dialog);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
75 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
76
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
77 static void
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
78 cancel_cb(GtkWidget *w, GevoAddBuddyDialog *dialog)
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
79 {
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
80 delete_win_cb(NULL, NULL, dialog);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
81 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
82
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
83 static void
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
84 select_buddy_cb(GtkWidget *w, GevoAddBuddyDialog *dialog)
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
85 {
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
86 GtkTreeSelection *selection;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
87 GtkTreeIter iter;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
88 const char *group_name;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
89 const char *fullname;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
90 const char *username;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
91 EContact *contact;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
92
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
93 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(dialog->treeview));
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
94
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
95 if (!gtk_tree_selection_get_selected(selection, NULL, &iter))
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
96 return;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
97
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
98 gtk_tree_model_get(GTK_TREE_MODEL(dialog->model), &iter,
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
99 COLUMN_NAME, &fullname,
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
100 COLUMN_USERNAME, &username,
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
101 COLUMN_DATA, &contact,
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
102 -1);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
103
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
104 group_name =
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
105 pidgin_text_combo_box_entry_get_text(dialog->group_combo);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
106
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
107 if (username == NULL || *username == '\0')
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
108 {
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
109 gevo_new_person_dialog_show(dialog->book, NULL, dialog->account, dialog->username,
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
110 (*group_name ? group_name : NULL),
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
111 NULL, FALSE);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
112 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
113 else
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
114 {
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
115 gevo_add_buddy(dialog->account, group_name, username, fullname);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
116 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
117
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
118 delete_win_cb(NULL, NULL, dialog);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
119 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
120
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
121 static void
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
122 add_columns(GevoAddBuddyDialog *dialog)
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
123 {
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
124 GtkCellRenderer *renderer;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
125 GtkTreeViewColumn *column;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
126
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
127 /* Name column */
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
128 column = gtk_tree_view_column_new();
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
129 gtk_tree_view_column_set_title(column, _("Name"));
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
130 gtk_tree_view_insert_column(GTK_TREE_VIEW(dialog->treeview), column, -1);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
131 gtk_tree_view_column_set_sort_column_id(column, COLUMN_NAME);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
132
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
133 renderer = gtk_cell_renderer_text_new();
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
134 gtk_tree_view_column_pack_start(column, renderer, TRUE);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
135 gtk_tree_view_column_add_attribute(column, renderer,
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
136 "text", COLUMN_NAME);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
137
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
138 /* Account column */
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
139 column = gtk_tree_view_column_new();
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
140 gtk_tree_view_column_set_title(column, _("Instant Messaging"));
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
141 gtk_tree_view_insert_column(GTK_TREE_VIEW(dialog->treeview), column, -1);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
142 gtk_tree_view_column_set_sort_column_id(column, COLUMN_USERNAME);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
143
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
144 /* Protocol icon */
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
145 renderer = gtk_cell_renderer_pixbuf_new();
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
146 gtk_tree_view_column_pack_start(column, renderer, FALSE);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
147 gtk_tree_view_column_add_attribute(column, renderer,
36545
23b59a16c808 Replaced some _prpl_ stuff with _protocol_
Ankit Vani <a@nevitus.org>
parents: 34728
diff changeset
148 "pixbuf", COLUMN_PROTOCOL_ICON);
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
149
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
150 /* Account name */
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
151 renderer = gtk_cell_renderer_text_new();
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
152 gtk_tree_view_column_pack_start(column, renderer, TRUE);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
153 gtk_tree_view_column_add_attribute(column, renderer,
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
154 "text", COLUMN_USERNAME);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
155 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
156
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
157 static void
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
158 add_ims(GevoAddBuddyDialog *dialog, EContact *contact, const char *name,
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
159 GList *list, const char *id)
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
160 {
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
161 PurpleAccount *account = NULL;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
162 GList *l;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
163 GtkTreeIter iter;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
164 GdkPixbuf *pixbuf;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
165
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
166 if (list == NULL)
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
167 return;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
168
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
169 for (l = purple_connections_get_all(); l != NULL; l = l->next)
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
170 {
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
171 PurpleConnection *gc = (PurpleConnection *)l->data;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
172
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
173 account = purple_connection_get_account(gc);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
174
38258
9a6551eba09c Replace !strcmp() with purple_strequal()
qarkai <qarkai@gmail.com>
parents: 38089
diff changeset
175 if (purple_strequal(purple_account_get_protocol_id(account), id))
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
176 break;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
177
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
178 account = NULL;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
179 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
180
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
181 if (account == NULL)
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
182 return;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
183
36545
23b59a16c808 Replaced some _prpl_ stuff with _protocol_
Ankit Vani <a@nevitus.org>
parents: 34728
diff changeset
184 pixbuf = pidgin_create_protocol_icon(account, PIDGIN_PROTOCOL_ICON_SMALL);
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
185
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
186 for (l = list; l != NULL; l = l->next)
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
187 {
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
188 char *account_name = (char *)l->data;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
189
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
190 if (account_name == NULL)
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
191 continue;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
192
34728
8efd73063ecf Renamed buddy list functions to more appropriate/simler names.
Ankit Vani <a@nevitus.org>
parents: 34708
diff changeset
193 if (purple_blist_find_buddy(dialog->account, account_name) != NULL)
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
194 continue;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
195
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
196 gtk_list_store_append(dialog->model, &iter);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
197
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
198 gtk_list_store_set(dialog->model, &iter,
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
199 COLUMN_NAME, name,
36545
23b59a16c808 Replaced some _prpl_ stuff with _protocol_
Ankit Vani <a@nevitus.org>
parents: 34728
diff changeset
200 COLUMN_PROTOCOL_ICON, pixbuf,
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
201 COLUMN_USERNAME, account_name,
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
202 COLUMN_DATA, contact,
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
203 -1);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
204
38258
9a6551eba09c Replace !strcmp() with purple_strequal()
qarkai <qarkai@gmail.com>
parents: 38089
diff changeset
205 if (purple_strequal(purple_account_get_protocol_id(account),
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
206 purple_account_get_protocol_id(dialog->account)) &&
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
207 dialog->username != NULL &&
38258
9a6551eba09c Replace !strcmp() with purple_strequal()
qarkai <qarkai@gmail.com>
parents: 38089
diff changeset
208 purple_strequal(account_name, dialog->username))
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
209 {
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
210 GtkTreeSelection *selection;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
211
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
212 /* This is it. Select it. */
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
213 selection = gtk_tree_view_get_selection(
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
214 GTK_TREE_VIEW(dialog->treeview));
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
215
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
216 gtk_tree_selection_select_iter(selection, &iter);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
217 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
218 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
219
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
220 if (pixbuf != NULL)
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
221 g_object_unref(G_OBJECT(pixbuf));
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
222
39897
16b440d4ab36 Use g_list_free_full instead of g_list_foreach+g_list_free.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39502
diff changeset
223 g_list_free_full(list, g_free);
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
224 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
225
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
226 static void
35522
82139d173179 Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34728
diff changeset
227 populate_treeview(GevoAddBuddyDialog *dialog, const gchar *uid)
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
228 {
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
229 EBookQuery *query;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
230 EBook *book;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
231 gboolean status;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
232 GList *cards, *c;
27706
ae1893256821 Hopefully provide better debug logs when gevolution plugin can't open the
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22605
diff changeset
233 GError *err = NULL;
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
234
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
235 if (dialog->book != NULL)
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
236 {
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
237 g_object_unref(dialog->book);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
238 dialog->book = NULL;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
239 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
240
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
241 if (dialog->contacts != NULL)
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
242 {
39897
16b440d4ab36 Use g_list_free_full instead of g_list_foreach+g_list_free.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39502
diff changeset
243 g_list_free_full(dialog->contacts, g_object_unref);
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
244 dialog->contacts = NULL;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
245 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
246
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
247 gtk_list_store_clear(dialog->model);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
248
35522
82139d173179 Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34728
diff changeset
249 if (!gevo_load_addressbook(uid, &book, &err)) {
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
250 purple_debug_error("evolution",
27706
ae1893256821 Hopefully provide better debug logs when gevolution plugin can't open the
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22605
diff changeset
251 "Error retrieving default addressbook: %s\n", err->message);
ae1893256821 Hopefully provide better debug logs when gevolution plugin can't open the
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22605
diff changeset
252 g_error_free(err);
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
253
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
254 return;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
255 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
256
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
257 query = e_book_query_field_exists(E_CONTACT_FULL_NAME);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
258
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
259 if (query == NULL)
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
260 {
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
261 purple_debug_error("evolution", "Error in creating query\n");
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
262
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
263 g_object_unref(book);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
264
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
265 return;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
266 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
267
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
268 status = e_book_get_contacts(book, query, &cards, NULL);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
269
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
270 e_book_query_unref(query);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
271
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
272 if (!status)
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
273 {
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
274 purple_debug_error("evolution", "Error %d in getting card list\n",
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
275 status);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
276
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
277 g_object_unref(book);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
278
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
279 return;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
280 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
281
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
282 for (c = cards; c != NULL; c = c->next)
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
283 {
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
284 EContact *contact = E_CONTACT(c->data);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
285 const char *name;
38089
da90fe7312d3 yahoo: Remove protocol plugin from tree
Mike Ruprecht <cmaiku@gmail.com>
parents: 38077
diff changeset
286 GList *aims, *jabbers, *icqs, *novells, *ggs;
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
287
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
288 name = e_contact_get_const(contact, E_CONTACT_FULL_NAME);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
289
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
290 aims = e_contact_get(contact, E_CONTACT_IM_AIM);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
291 jabbers = e_contact_get(contact, E_CONTACT_IM_JABBER);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
292 icqs = e_contact_get(contact, E_CONTACT_IM_ICQ);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
293 novells = e_contact_get(contact, E_CONTACT_IM_GROUPWISE);
30710
b3c55bf4a7c6 Add GG support to gevolution.
Etan Reisner <deryni@pidgin.im>
parents: 30352
diff changeset
294 ggs = e_contact_get(contact, E_CONTACT_IM_GADUGADU);
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
295
38089
da90fe7312d3 yahoo: Remove protocol plugin from tree
Mike Ruprecht <cmaiku@gmail.com>
parents: 38077
diff changeset
296 if (aims == NULL && jabbers == NULL &&
38077
482a3b3e5c89 pidgin/plugins/gevolution: Remove MSN contact handling
Mike Ruprecht <cmaiku@gmail.com>
parents: 33793
diff changeset
297 icqs == NULL && novells == NULL && ggs == NULL)
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
298 {
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
299 GtkTreeIter iter;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
300
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
301 gtk_list_store_append(dialog->model, &iter);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
302
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
303 gtk_list_store_set(dialog->model, &iter,
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
304 COLUMN_NAME, name,
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
305 COLUMN_DATA, contact,
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
306 -1);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
307 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
308 else
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
309 {
22605
3fae96d9be83 More gevolution fixes for the prpl-oscar -> prpl-aim/icq split
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20644
diff changeset
310 add_ims(dialog, contact, name, aims, "prpl-aim");
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
311 add_ims(dialog, contact, name, jabbers, "prpl-jabber");
22605
3fae96d9be83 More gevolution fixes for the prpl-oscar -> prpl-aim/icq split
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20644
diff changeset
312 add_ims(dialog, contact, name, icqs, "prpl-icq");
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
313 add_ims(dialog, contact, name, novells, "prpl-novell");
30710
b3c55bf4a7c6 Add GG support to gevolution.
Etan Reisner <deryni@pidgin.im>
parents: 30352
diff changeset
314 add_ims(dialog, contact, name, ggs, "prpl-gg");
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
315 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
316 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
317
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
318 dialog->contacts = cards;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
319 dialog->book = book;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
320 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
321
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
322 static void
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
323 addrbook_change_cb(GtkComboBox *combo, GevoAddBuddyDialog *dialog)
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
324 {
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
325 GtkTreeIter iter;
35522
82139d173179 Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34728
diff changeset
326 const char *esource_uid;
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
327
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
328 if (!gtk_combo_box_get_active_iter(combo, &iter))
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
329 return;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
330
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
331 gtk_tree_model_get(GTK_TREE_MODEL(dialog->addrbooks), &iter,
35522
82139d173179 Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34728
diff changeset
332 ADDRBOOK_COLUMN_UID, &esource_uid, -1);
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
333
35522
82139d173179 Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34728
diff changeset
334 populate_treeview(dialog, esource_uid);
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
335 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
336
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
337 static void
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
338 selected_cb(GtkTreeSelection *sel, GevoAddBuddyDialog *dialog)
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
339 {
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
340 GtkTreeSelection *selection;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
341
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
342 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(dialog->treeview));
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
343 gtk_widget_set_sensitive(dialog->select_button,
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
344 gtk_tree_selection_get_selected(selection, NULL, NULL));
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
345 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
346
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
347 static void
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
348 search_changed_cb(GtkEntry *entry, GevoAddBuddyDialog *dialog)
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
349 {
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
350 const char *text = gtk_entry_get_text(entry);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
351 GList *l;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
352
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
353 gtk_list_store_clear(dialog->model);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
354
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
355 for (l = dialog->contacts; l != NULL; l = l->next)
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
356 {
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
357 EContact *contact = E_CONTACT(l->data);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
358 const char *name;
38089
da90fe7312d3 yahoo: Remove protocol plugin from tree
Mike Ruprecht <cmaiku@gmail.com>
parents: 38077
diff changeset
359 GList *aims, *jabbers, *icqs, *novells, *ggs;
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
360
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
361 name = e_contact_get_const(contact, E_CONTACT_FULL_NAME);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
362
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
363 if (text != NULL && *text != '\0' && name != NULL &&
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
364 g_ascii_strncasecmp(name, text, strlen(text)))
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
365 {
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
366 continue;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
367 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
368
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
369 aims = e_contact_get(contact, E_CONTACT_IM_AIM);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
370 jabbers = e_contact_get(contact, E_CONTACT_IM_JABBER);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
371 icqs = e_contact_get(contact, E_CONTACT_IM_ICQ);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
372 novells = e_contact_get(contact, E_CONTACT_IM_GROUPWISE);
30710
b3c55bf4a7c6 Add GG support to gevolution.
Etan Reisner <deryni@pidgin.im>
parents: 30352
diff changeset
373 ggs = e_contact_get(contact, E_CONTACT_IM_GADUGADU);
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
374
38089
da90fe7312d3 yahoo: Remove protocol plugin from tree
Mike Ruprecht <cmaiku@gmail.com>
parents: 38077
diff changeset
375 if (aims == NULL && jabbers == NULL &&
38077
482a3b3e5c89 pidgin/plugins/gevolution: Remove MSN contact handling
Mike Ruprecht <cmaiku@gmail.com>
parents: 33793
diff changeset
376 icqs == NULL && novells == NULL && ggs == NULL)
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
377 {
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
378 GtkTreeIter iter;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
379
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
380 gtk_list_store_append(dialog->model, &iter);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
381
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
382 gtk_list_store_set(dialog->model, &iter,
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
383 COLUMN_NAME, name,
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
384 COLUMN_DATA, contact,
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
385 -1);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
386 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
387 else
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
388 {
22605
3fae96d9be83 More gevolution fixes for the prpl-oscar -> prpl-aim/icq split
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20644
diff changeset
389 add_ims(dialog, contact, name, aims, "prpl-aim");
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
390 add_ims(dialog, contact, name, jabbers, "prpl-jabber");
22605
3fae96d9be83 More gevolution fixes for the prpl-oscar -> prpl-aim/icq split
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20644
diff changeset
391 add_ims(dialog, contact, name, icqs, "prpl-icq");
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
392 add_ims(dialog, contact, name, novells, "prpl-novell");
30710
b3c55bf4a7c6 Add GG support to gevolution.
Etan Reisner <deryni@pidgin.im>
parents: 30352
diff changeset
393 add_ims(dialog, contact, name, ggs, "prpl-gg");
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
394 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
395 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
396 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
397
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
398 static void
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
399 clear_cb(GtkWidget *w, GevoAddBuddyDialog *dialog)
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
400 {
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
401 static gboolean lock = FALSE;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
402
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
403 if (lock)
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
404 return;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
405
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
406 lock = TRUE;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
407 gtk_entry_set_text(GTK_ENTRY(dialog->search_field), "");
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
408 lock = FALSE;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
409 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
410
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
411 void
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
412 gevo_add_buddy_dialog_show(PurpleAccount *account, const char *username,
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
413 const char *group, const char *alias)
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
414 {
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
415 GevoAddBuddyDialog *dialog;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
416 GtkWidget *button;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
417 GtkWidget *label;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
418 GtkWidget *vbox;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
419 GtkWidget *hbox;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
420 GtkWidget *bbox;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
421 GtkWidget *sep;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
422 GtkTreeSelection *selection;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
423 GtkCellRenderer *cell;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
424
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
425 dialog = g_new0(GevoAddBuddyDialog, 1);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
426
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
427 dialog->account =
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
428 (account != NULL
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
429 ? account
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
430 : purple_connection_get_account(purple_connections_get_all()->data));
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
431
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
432 if (username != NULL)
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
433 dialog->username = g_strdup(username);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
434
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
435 dialog->win = pidgin_create_window(_("Add Buddy"), PIDGIN_HIG_BORDER, "add_buddy", TRUE);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
436 gtk_widget_set_size_request(dialog->win, -1, 400);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
437
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
438 g_signal_connect(G_OBJECT(dialog->win), "delete_event",
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
439 G_CALLBACK(delete_win_cb), dialog);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
440
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
441 /* Setup the vbox */
35526
ed1be305c985 Fix gtk_[hv]box_new gtk3 deprecation warnings
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35522
diff changeset
442 vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 12);
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
443 gtk_container_add(GTK_CONTAINER(dialog->win), vbox);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
444 gtk_widget_show(vbox);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
445
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
446 /* Add the label. */
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
447 label = gtk_label_new(_("Select a person from your address book below, "
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
448 "or add a new person."));
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
449 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
38007
3b971d2ecae1 Simplify gtk_label_set_[xy]align calls.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 37990
diff changeset
450 gtk_label_set_xalign(GTK_LABEL(label), 0);
3b971d2ecae1 Simplify gtk_label_set_[xy]align calls.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 37990
diff changeset
451 gtk_label_set_yalign(GTK_LABEL(label), 0);
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
452 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, TRUE, 0);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
453 gtk_widget_show(label);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
454
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
455 /* Add the search hbox */
35526
ed1be305c985 Fix gtk_[hv]box_new gtk3 deprecation warnings
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35522
diff changeset
456 hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6);
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
457 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
458 gtk_widget_show(hbox);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
459
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
460 /* "Search" */
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
461 label = gtk_label_new(_("Search"));
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
462 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
463 gtk_widget_show(label);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
464
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
465 /* Addressbooks */
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
466 dialog->addrbooks = gevo_addrbooks_model_new();
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
467
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
468 dialog->addrbooks_combo = gtk_combo_box_new_with_model(
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
469 dialog->addrbooks);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
470 cell = gtk_cell_renderer_text_new();
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
471 gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(dialog->addrbooks_combo),
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
472 cell, TRUE);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
473 gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(dialog->addrbooks_combo),
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
474 cell,
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
475 "text", ADDRBOOK_COLUMN_NAME,
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
476 NULL);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
477 gtk_box_pack_start(GTK_BOX(hbox), dialog->addrbooks_combo, FALSE,
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
478 FALSE, 0);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
479 gtk_widget_show(dialog->addrbooks_combo);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
480
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
481 /* Search field */
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
482 dialog->search_field = gtk_entry_new();
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
483 gtk_box_pack_start(GTK_BOX(hbox), dialog->search_field, TRUE, TRUE, 0);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
484 gtk_widget_show(dialog->search_field);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
485
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
486 g_signal_connect(G_OBJECT(dialog->search_field), "changed",
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
487 G_CALLBACK(search_changed_cb), dialog);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
488
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
489 /* Clear button */
39502
818d74083471 Remove stock from a gevolution, imgupload, screencap, and spellchk
Gary Kramlich <grim@reaperworld.com>
parents: 38583
diff changeset
490 button = gtk_button_new_with_mnemonic(_("C_lear"));
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
491 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
492 gtk_widget_show(button);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
493
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
494 g_signal_connect(G_OBJECT(button), "clicked",
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
495 G_CALLBACK(clear_cb), dialog);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
496
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
497 /* Create the list model for the treeview. */
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
498 dialog->model = gtk_list_store_new(NUM_COLUMNS,
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
499 G_TYPE_STRING, GDK_TYPE_PIXBUF,
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
500 G_TYPE_STRING, G_TYPE_POINTER);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
501
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
502 /* Now for the treeview */
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
503 dialog->treeview =
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
504 gtk_tree_view_new_with_model(GTK_TREE_MODEL(dialog->model));
38258
9a6551eba09c Replace !strcmp() with purple_strequal()
qarkai <qarkai@gmail.com>
parents: 38089
diff changeset
505 gtk_box_pack_start(GTK_BOX(vbox),
9a6551eba09c Replace !strcmp() with purple_strequal()
qarkai <qarkai@gmail.com>
parents: 38089
diff changeset
506 pidgin_make_scrollable(dialog->treeview, GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS, GTK_SHADOW_IN, -1, -1),
31321
1fef3832cfa2 Add pidgin_make_scrollable and use it. Cleans up a bunch of duplicate code. Net code loss of 180 lines. Fixes #13073.
Gabriel Schulhof <nix@go-nix.ca>
parents: 30721
diff changeset
507 TRUE, TRUE, 0);
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
508 gtk_widget_show(dialog->treeview);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
509
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
510 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(dialog->treeview));
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
511
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
512 gtk_tree_selection_set_mode(selection, GTK_SELECTION_SINGLE);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
513
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
514 g_signal_connect(G_OBJECT(selection), "changed",
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
515 G_CALLBACK(selected_cb), dialog);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
516
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
517 add_columns(dialog);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
518
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
519 /*
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
520 * Catch addressbook selection and populate treeview with the first
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
521 * addressbook
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
522 */
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
523 gevo_addrbooks_model_populate(dialog->addrbooks);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
524 g_signal_connect(G_OBJECT(dialog->addrbooks_combo), "changed",
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
525 G_CALLBACK(addrbook_change_cb), dialog);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
526 gtk_combo_box_set_active(GTK_COMBO_BOX(dialog->addrbooks_combo), 0);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
527
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
528 /* Group box */
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
529 dialog->group_combo =
30352
9ddeb8b03876 Fix the Group selectors on gevolution plugin add buddy and new person
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 29935
diff changeset
530 pidgin_text_combo_box_entry_new(group, gevo_get_groups());
9ddeb8b03876 Fix the Group selectors on gevolution plugin add buddy and new person
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 29935
diff changeset
531 pidgin_add_widget_to_vbox(GTK_BOX(vbox), _("Group:"), NULL,
9ddeb8b03876 Fix the Group selectors on gevolution plugin add buddy and new person
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 29935
diff changeset
532 dialog->group_combo, TRUE, NULL);
9ddeb8b03876 Fix the Group selectors on gevolution plugin add buddy and new person
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 29935
diff changeset
533 gtk_widget_show_all(dialog->group_combo);
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
534
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
535 /* Cool. Now we only have a little left... */
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
536
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
537 /* Separator. */
35528
e04ba70092e9 Fix the rest of [hv] gtk3 deprecation warnings
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35526
diff changeset
538 sep = gtk_separator_new(GTK_ORIENTATION_HORIZONTAL);
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
539 gtk_box_pack_start(GTK_BOX(vbox), sep, FALSE, FALSE, 0);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
540 gtk_widget_show(sep);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
541
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
542 /* Button box */
35528
e04ba70092e9 Fix the rest of [hv] gtk3 deprecation warnings
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35526
diff changeset
543 bbox = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL);
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
544 gtk_box_set_spacing(GTK_BOX(bbox), 6);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
545 gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
546 gtk_box_pack_end(GTK_BOX(vbox), bbox, FALSE, TRUE, 0);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
547 gtk_widget_show(bbox);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
548
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
549 /* "New Person" button */
39502
818d74083471 Remove stock from a gevolution, imgupload, screencap, and spellchk
Gary Kramlich <grim@reaperworld.com>
parents: 38583
diff changeset
550 button = gtk_button_new_with_mnemonic(_("_New Person"));
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
551 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
552 gtk_widget_show(button);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
553
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
554 g_signal_connect(G_OBJECT(button), "clicked",
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
555 G_CALLBACK(new_person_cb), dialog);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
556
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
557 /* "Cancel" button */
39502
818d74083471 Remove stock from a gevolution, imgupload, screencap, and spellchk
Gary Kramlich <grim@reaperworld.com>
parents: 38583
diff changeset
558 button = gtk_button_new_with_mnemonic(_("_Cancel"));
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
559 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
560 gtk_widget_show(button);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
561
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
562 g_signal_connect(G_OBJECT(button), "clicked",
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
563 G_CALLBACK(cancel_cb), dialog);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
564
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
565 /* "Select Buddy" button */
39502
818d74083471 Remove stock from a gevolution, imgupload, screencap, and spellchk
Gary Kramlich <grim@reaperworld.com>
parents: 38583
diff changeset
566 button = gtk_button_new_with_mnemonic(_("_Select Buddy"));
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
567 dialog->select_button = button;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
568 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
569 gtk_widget_set_sensitive(button, FALSE);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
570 gtk_widget_show(button);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
571
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
572 g_signal_connect(G_OBJECT(button), "clicked",
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
573 G_CALLBACK(select_buddy_cb), dialog);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
574
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
575 /* Show it. */
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
576 gtk_widget_show(dialog->win);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
577 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
578
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
579 void
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
580 gevo_add_buddy_dialog_add_person(GevoAddBuddyDialog *dialog,
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
581 EContact *contact, const char *name,
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
582 PurpleAccount *account, const char *screenname)
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
583 {
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
584 GdkPixbuf *pixbuf;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
585 GtkTreeIter iter;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
586
36545
23b59a16c808 Replaced some _prpl_ stuff with _protocol_
Ankit Vani <a@nevitus.org>
parents: 34728
diff changeset
587 pixbuf = pidgin_create_protocol_icon(account, PIDGIN_PROTOCOL_ICON_SMALL);
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
588
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
589 gtk_list_store_append(dialog->model, &iter);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
590
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
591 gtk_list_store_set(dialog->model, &iter,
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
592 COLUMN_NAME, name,
36545
23b59a16c808 Replaced some _prpl_ stuff with _protocol_
Ankit Vani <a@nevitus.org>
parents: 34728
diff changeset
593 COLUMN_PROTOCOL_ICON, pixbuf,
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
594 COLUMN_DATA, contact,
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
595 COLUMN_USERNAME, screenname,
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
596 -1);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
597
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
598 if (contact != NULL)
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
599 dialog->contacts = g_list_append(dialog->contacts, contact);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
600
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
601 if (pixbuf != NULL)
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
602 g_object_unref(G_OBJECT(pixbuf));
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
603 }

mercurial