annotate pidgin/gtklog.c @ 30460:0cc4f8651462

Don't bother sending a direct connection request if the other side doesn't support it. aMSN seems to say that they need MSNC1 to do direct connect.
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Sat, 24 Apr 2010 06:52:06 +0000
parents dcd52d2b1b97
children 917c597beb97
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1 /**
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2 * @file gtklog.c GTK+ Log viewer
16193
247e421c4fa6 Rename the Doxygen group from gtkui to pidgin.
Richard Laager <rlaager@wiktel.com>
parents: 15871
diff changeset
3 * @ingroup pidgin
20074
6bf32c9e15a7 remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@gmail.com>
parents: 19680
diff changeset
4 */
6bf32c9e15a7 remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@gmail.com>
parents: 19680
diff changeset
5
6bf32c9e15a7 remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@gmail.com>
parents: 19680
diff changeset
6 /* pidgin
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
7 *
15871
66dff3dfdea6 Re-sed the copyright notices so they don't all talk about Purple.
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
8 * Pidgin is the legal property of its developers, whose names are too numerous
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
9 * to list here. Please refer to the COPYRIGHT file distributed with this
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
10 * source distribution.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
11 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
12 * This program is free software; you can redistribute it and/or modify
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
13 * it under the terms of the GNU General Public License as published by
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
14 * the Free Software Foundation; either version 2 of the License, or
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
15 * (at your option) any later version.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
16 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
17 * This program is distributed in the hope that it will be useful,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
20 * GNU General Public License for more details.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
21 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
22 * You should have received a copy of the GNU General Public License
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
23 * along with this program; if not, write to the Free Software
19680
44b4e8bd759b The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 18495
diff changeset
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
25 */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
26 #include "internal.h"
15514
535f002e7b0f More pidgin changes
Sean Egan <seanegan@gmail.com>
parents: 15507
diff changeset
27 #include "pidgin.h"
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
28
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
29 #include "account.h"
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
30 #include "debug.h"
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
31 #include "log.h"
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
32 #include "notify.h"
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
33 #include "request.h"
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
34 #include "util.h"
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
35
15822
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents: 15821
diff changeset
36 #include "pidginstock.h"
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
37 #include "gtkblist.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
38 #include "gtkimhtml.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
39 #include "gtklog.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
40 #include "gtkutils.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
41
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
42 static GHashTable *log_viewers = NULL;
15501
d75099d2567e gaim_gtk to pidgin. I hope
Sean Egan <seanegan@gmail.com>
parents: 15436
diff changeset
43 static void populate_log_tree(PidginLogViewer *lv);
d75099d2567e gaim_gtk to pidgin. I hope
Sean Egan <seanegan@gmail.com>
parents: 15436
diff changeset
44 static PidginLogViewer *syslog_viewer = NULL;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
45
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
46 struct log_viewer_hash_t {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
47 PurpleLogType type;
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25308
diff changeset
48 char *buddyname;
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
49 PurpleAccount *account;
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
50 PurpleContact *contact;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
51 };
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
52
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
53 static guint log_viewer_hash(gconstpointer data)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
54 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
55 const struct log_viewer_hash_t *viewer = data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
56
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
57 if (viewer->contact != NULL)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
58 return g_direct_hash(viewer->contact);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
59
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25308
diff changeset
60 return g_str_hash(viewer->buddyname) +
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
61 g_str_hash(purple_account_get_username(viewer->account));
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
62 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
63
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
64 static gboolean log_viewer_equal(gconstpointer y, gconstpointer z)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
65 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
66 const struct log_viewer_hash_t *a, *b;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
67 int ret;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
68 char *normal;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
69
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
70 a = y;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
71 b = z;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
72
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
73 if (a->contact != NULL) {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
74 if (b->contact != NULL)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
75 return (a->contact == b->contact);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
76 else
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
77 return FALSE;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
78 } else {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
79 if (b->contact != NULL)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
80 return FALSE;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
81 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
82
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25308
diff changeset
83 normal = g_strdup(purple_normalize(a->account, a->buddyname));
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
84 ret = (a->account == b->account) &&
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25308
diff changeset
85 !strcmp(normal, purple_normalize(b->account, b->buddyname));
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
86 g_free(normal);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
87
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
88 return ret;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
89 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
90
15501
d75099d2567e gaim_gtk to pidgin. I hope
Sean Egan <seanegan@gmail.com>
parents: 15436
diff changeset
91 static void select_first_log(PidginLogViewer *lv)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
92 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
93 GtkTreeModel *model;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
94 GtkTreeIter iter, it;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
95 GtkTreePath *path;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
96
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
97 model = GTK_TREE_MODEL(lv->treestore);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
98
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
99 if (!gtk_tree_model_get_iter_first(model, &iter))
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
100 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
101
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
102 path = gtk_tree_model_get_path(model, &iter);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
103 if (gtk_tree_model_iter_children(model, &it, &iter))
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
104 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
105 gtk_tree_view_expand_row(GTK_TREE_VIEW(lv->treeview), path, TRUE);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
106 path = gtk_tree_model_get_path(model, &it);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
107 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
108
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
109 gtk_tree_selection_select_path(gtk_tree_view_get_selection(GTK_TREE_VIEW(lv->treeview)), path);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
110
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
111 gtk_tree_path_free(path);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
112 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
113
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
114 static const char *log_get_date(PurpleLog *log)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
115 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
116 if (log->tm)
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
117 return purple_date_format_full(log->tm);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
118 else
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
119 return purple_date_format_full(localtime(&log->time));
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
120 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
121
15501
d75099d2567e gaim_gtk to pidgin. I hope
Sean Egan <seanegan@gmail.com>
parents: 15436
diff changeset
122 static void search_cb(GtkWidget *button, PidginLogViewer *lv)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
123 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
124 const char *search_term = gtk_entry_get_text(GTK_ENTRY(lv->entry));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
125 GList *logs;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
126
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
127 if (!(*search_term)) {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
128 /* reset the tree */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
129 gtk_tree_store_clear(lv->treestore);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
130 populate_log_tree(lv);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
131 g_free(lv->search);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
132 lv->search = NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
133 gtk_imhtml_search_clear(GTK_IMHTML(lv->imhtml));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
134 select_first_log(lv);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
135 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
136 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
137
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
138 if (lv->search != NULL && !strcmp(lv->search, search_term))
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
139 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
140 /* Searching for the same term acts as "Find Next" */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
141 gtk_imhtml_search_find(GTK_IMHTML(lv->imhtml), lv->search);
22110
d8cc610bd388 Some more little leak fixes.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 22087
diff changeset
142 return;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
143 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
144
15501
d75099d2567e gaim_gtk to pidgin. I hope
Sean Egan <seanegan@gmail.com>
parents: 15436
diff changeset
145 pidgin_set_cursor(lv->window, GDK_WATCH);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
146
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
147 g_free(lv->search);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
148 lv->search = g_strdup(search_term);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
149
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
150 gtk_tree_store_clear(lv->treestore);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
151 gtk_imhtml_clear(GTK_IMHTML(lv->imhtml));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
152
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
153 for (logs = lv->logs; logs != NULL; logs = logs->next) {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
154 char *read = purple_log_read((PurpleLog*)logs->data, NULL);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
155 if (read && *read && purple_strcasestr(read, search_term)) {
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
156 GtkTreeIter iter;
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
157 PurpleLog *log = logs->data;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
158
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
159 gtk_tree_store_append (lv->treestore, &iter, NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
160 gtk_tree_store_set(lv->treestore, &iter,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
161 0, log_get_date(log),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
162 1, log, -1);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
163 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
164 g_free(read);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
165 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
166
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
167 select_first_log(lv);
15501
d75099d2567e gaim_gtk to pidgin. I hope
Sean Egan <seanegan@gmail.com>
parents: 15436
diff changeset
168 pidgin_clear_cursor(lv->window);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
169 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
170
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
171 static void destroy_cb(GtkWidget *w, gint resp, struct log_viewer_hash_t *ht) {
15501
d75099d2567e gaim_gtk to pidgin. I hope
Sean Egan <seanegan@gmail.com>
parents: 15436
diff changeset
172 PidginLogViewer *lv = syslog_viewer;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
173
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
174 #ifdef _WIN32
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
175 if (resp == GTK_RESPONSE_HELP) {
18495
64391b1e860e Make the "Browse Logs Folder" button open the folder containing the log
Richard Laager <rlaager@wiktel.com>
parents: 16442
diff changeset
176 GtkTreeSelection *sel;
64391b1e860e Make the "Browse Logs Folder" button open the folder containing the log
Richard Laager <rlaager@wiktel.com>
parents: 16442
diff changeset
177 GtkTreeIter iter;
64391b1e860e Make the "Browse Logs Folder" button open the folder containing the log
Richard Laager <rlaager@wiktel.com>
parents: 16442
diff changeset
178 GtkTreeModel *model;
64391b1e860e Make the "Browse Logs Folder" button open the folder containing the log
Richard Laager <rlaager@wiktel.com>
parents: 16442
diff changeset
179 PurpleLog *log = NULL;
64391b1e860e Make the "Browse Logs Folder" button open the folder containing the log
Richard Laager <rlaager@wiktel.com>
parents: 16442
diff changeset
180 char *logdir;
64391b1e860e Make the "Browse Logs Folder" button open the folder containing the log
Richard Laager <rlaager@wiktel.com>
parents: 16442
diff changeset
181
64391b1e860e Make the "Browse Logs Folder" button open the folder containing the log
Richard Laager <rlaager@wiktel.com>
parents: 16442
diff changeset
182 if (ht != NULL)
64391b1e860e Make the "Browse Logs Folder" button open the folder containing the log
Richard Laager <rlaager@wiktel.com>
parents: 16442
diff changeset
183 lv = g_hash_table_lookup(log_viewers, ht);
64391b1e860e Make the "Browse Logs Folder" button open the folder containing the log
Richard Laager <rlaager@wiktel.com>
parents: 16442
diff changeset
184 model = GTK_TREE_MODEL(lv->treestore);
64391b1e860e Make the "Browse Logs Folder" button open the folder containing the log
Richard Laager <rlaager@wiktel.com>
parents: 16442
diff changeset
185
64391b1e860e Make the "Browse Logs Folder" button open the folder containing the log
Richard Laager <rlaager@wiktel.com>
parents: 16442
diff changeset
186 sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(lv->treeview));
64391b1e860e Make the "Browse Logs Folder" button open the folder containing the log
Richard Laager <rlaager@wiktel.com>
parents: 16442
diff changeset
187 if (gtk_tree_selection_get_selected(sel, &model, &iter)) {
64391b1e860e Make the "Browse Logs Folder" button open the folder containing the log
Richard Laager <rlaager@wiktel.com>
parents: 16442
diff changeset
188 GValue val;
64391b1e860e Make the "Browse Logs Folder" button open the folder containing the log
Richard Laager <rlaager@wiktel.com>
parents: 16442
diff changeset
189
64391b1e860e Make the "Browse Logs Folder" button open the folder containing the log
Richard Laager <rlaager@wiktel.com>
parents: 16442
diff changeset
190 val.g_type = 0;
64391b1e860e Make the "Browse Logs Folder" button open the folder containing the log
Richard Laager <rlaager@wiktel.com>
parents: 16442
diff changeset
191 gtk_tree_model_get_value (model, &iter, 1, &val);
64391b1e860e Make the "Browse Logs Folder" button open the folder containing the log
Richard Laager <rlaager@wiktel.com>
parents: 16442
diff changeset
192 log = g_value_get_pointer(&val);
64391b1e860e Make the "Browse Logs Folder" button open the folder containing the log
Richard Laager <rlaager@wiktel.com>
parents: 16442
diff changeset
193 g_value_unset(&val);
64391b1e860e Make the "Browse Logs Folder" button open the folder containing the log
Richard Laager <rlaager@wiktel.com>
parents: 16442
diff changeset
194 }
64391b1e860e Make the "Browse Logs Folder" button open the folder containing the log
Richard Laager <rlaager@wiktel.com>
parents: 16442
diff changeset
195
64391b1e860e Make the "Browse Logs Folder" button open the folder containing the log
Richard Laager <rlaager@wiktel.com>
parents: 16442
diff changeset
196
64391b1e860e Make the "Browse Logs Folder" button open the folder containing the log
Richard Laager <rlaager@wiktel.com>
parents: 16442
diff changeset
197 if (log == NULL)
64391b1e860e Make the "Browse Logs Folder" button open the folder containing the log
Richard Laager <rlaager@wiktel.com>
parents: 16442
diff changeset
198 logdir = g_build_filename(purple_user_dir(), "logs", NULL);
64391b1e860e Make the "Browse Logs Folder" button open the folder containing the log
Richard Laager <rlaager@wiktel.com>
parents: 16442
diff changeset
199 else
64391b1e860e Make the "Browse Logs Folder" button open the folder containing the log
Richard Laager <rlaager@wiktel.com>
parents: 16442
diff changeset
200 logdir = purple_log_get_log_dir(log->type, log->name, log->account);
64391b1e860e Make the "Browse Logs Folder" button open the folder containing the log
Richard Laager <rlaager@wiktel.com>
parents: 16442
diff changeset
201
15515
75ffc646647f Win32 de-gaimification of pidgin
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15507
diff changeset
202 winpidgin_shell_execute(logdir, "explore", NULL);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
203 g_free(logdir);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
204 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
205 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
206 #endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
207
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
208 if (ht != NULL) {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
209 lv = g_hash_table_lookup(log_viewers, ht);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
210 g_hash_table_remove(log_viewers, ht);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
211
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25308
diff changeset
212 g_free(ht->buddyname);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
213 g_free(ht);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
214 } else
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
215 syslog_viewer = NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
216
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
217 purple_request_close_with_handle(lv);
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
218
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
219 g_list_foreach(lv->logs, (GFunc)purple_log_free, NULL);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
220 g_list_free(lv->logs);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
221
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
222 g_free(lv->search);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
223 g_free(lv);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
224
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
225 gtk_widget_destroy(w);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
226 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
227
15501
d75099d2567e gaim_gtk to pidgin. I hope
Sean Egan <seanegan@gmail.com>
parents: 15436
diff changeset
228 static void log_row_activated_cb(GtkTreeView *tv, GtkTreePath *path, GtkTreeViewColumn *col, PidginLogViewer *viewer) {
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
229 if (gtk_tree_view_row_expanded(tv, path))
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
230 gtk_tree_view_collapse_row(tv, path);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
231 else
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
232 gtk_tree_view_expand_row(tv, path, FALSE);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
233 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
234
15551
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
235 static void delete_log_cleanup_cb(gpointer *data)
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
236 {
15551
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
237 g_free(data[1]); /* iter */
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
238 g_free(data);
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
239 }
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
240
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
241 static void delete_log_cb(gpointer *data)
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
242 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
243 if (!purple_log_delete((PurpleLog *)data[2]))
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
244 {
22256
51d2bfedf679 Mark some strings for translation
Mark Doliner <mark@kingant.net>
parents: 22110
diff changeset
245 purple_notify_error(NULL, NULL, _("Log Deletion Failed"),
51d2bfedf679 Mark some strings for translation
Mark Doliner <mark@kingant.net>
parents: 22110
diff changeset
246 _("Check permissions and try again."));
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
247 }
15551
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
248 else
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
249 {
15552
7ebe32203e67 If you delete the last log for a month, delete the month header as well.
Richard Laager <rlaager@wiktel.com>
parents: 15551
diff changeset
250 GtkTreeStore *treestore = data[0];
7ebe32203e67 If you delete the last log for a month, delete the month header as well.
Richard Laager <rlaager@wiktel.com>
parents: 15551
diff changeset
251 GtkTreeIter *iter = (GtkTreeIter *)data[1];
7ebe32203e67 If you delete the last log for a month, delete the month header as well.
Richard Laager <rlaager@wiktel.com>
parents: 15551
diff changeset
252 GtkTreePath *path = gtk_tree_model_get_path(GTK_TREE_MODEL(treestore), iter);
7ebe32203e67 If you delete the last log for a month, delete the month header as well.
Richard Laager <rlaager@wiktel.com>
parents: 15551
diff changeset
253 gboolean first = !gtk_tree_path_prev(path);
7ebe32203e67 If you delete the last log for a month, delete the month header as well.
Richard Laager <rlaager@wiktel.com>
parents: 15551
diff changeset
254
7ebe32203e67 If you delete the last log for a month, delete the month header as well.
Richard Laager <rlaager@wiktel.com>
parents: 15551
diff changeset
255 if (!gtk_tree_store_remove(treestore, iter) && first)
7ebe32203e67 If you delete the last log for a month, delete the month header as well.
Richard Laager <rlaager@wiktel.com>
parents: 15551
diff changeset
256 {
7ebe32203e67 If you delete the last log for a month, delete the month header as well.
Richard Laager <rlaager@wiktel.com>
parents: 15551
diff changeset
257 /* iter was the last child at its level */
7ebe32203e67 If you delete the last log for a month, delete the month header as well.
Richard Laager <rlaager@wiktel.com>
parents: 15551
diff changeset
258
7ebe32203e67 If you delete the last log for a month, delete the month header as well.
Richard Laager <rlaager@wiktel.com>
parents: 15551
diff changeset
259 if (gtk_tree_path_up(path))
7ebe32203e67 If you delete the last log for a month, delete the month header as well.
Richard Laager <rlaager@wiktel.com>
parents: 15551
diff changeset
260 {
7ebe32203e67 If you delete the last log for a month, delete the month header as well.
Richard Laager <rlaager@wiktel.com>
parents: 15551
diff changeset
261 gtk_tree_model_get_iter(GTK_TREE_MODEL(treestore), iter, path);
7ebe32203e67 If you delete the last log for a month, delete the month header as well.
Richard Laager <rlaager@wiktel.com>
parents: 15551
diff changeset
262 gtk_tree_store_remove(treestore, iter);
7ebe32203e67 If you delete the last log for a month, delete the month header as well.
Richard Laager <rlaager@wiktel.com>
parents: 15551
diff changeset
263 }
7ebe32203e67 If you delete the last log for a month, delete the month header as well.
Richard Laager <rlaager@wiktel.com>
parents: 15551
diff changeset
264 }
29485
48ea900ee72a This should pretty much finish off the GTK_CHECK_VERSION calls in Pidgin.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 25416
diff changeset
265
16231
7d1847ba3484 Fix Gtk+ 2.0 support
Stu Tomlinson <stu@nosnilmot.com>
parents: 16216
diff changeset
266 gtk_tree_path_free(path);
15551
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
267 }
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
268
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
269 delete_log_cleanup_cb(data);
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
270 }
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
271
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
272 static void log_delete_log_cb(GtkWidget *menuitem, gpointer *data)
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
273 {
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
274 PidginLogViewer *lv = data[0];
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
275 PurpleLog *log = data[1];
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
276 const char *time = log_get_date(log);
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
277 const char *name;
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
278 char *tmp;
15551
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
279 gpointer *data2;
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
280
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
281 if (log->type == PURPLE_LOG_IM)
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
282 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
283 PurpleBuddy *buddy = purple_find_buddy(log->account, log->name);
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
284 if (buddy != NULL)
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
285 name = purple_buddy_get_contact_alias(buddy);
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
286 else
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
287 name = log->name;
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
288
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
289 tmp = g_strdup_printf(_("Are you sure you want to permanently delete the log of the "
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
290 "conversation with %s which started at %s?"), name, time);
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
291 }
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
292 else if (log->type == PURPLE_LOG_CHAT)
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
293 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
294 PurpleChat *chat = purple_blist_find_chat(log->account, log->name);
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
295 if (chat != NULL)
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
296 name = purple_chat_get_name(chat);
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
297 else
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
298 name = log->name;
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
299
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
300 tmp = g_strdup_printf(_("Are you sure you want to permanently delete the log of the "
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
301 "conversation in %s which started at %s?"), name, time);
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
302 }
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
303 else if (log->type == PURPLE_LOG_SYSTEM)
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
304 {
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
305 tmp = g_strdup_printf(_("Are you sure you want to permanently delete the system log "
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
306 "which started at %s?"), time);
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
307 }
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
308 else
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
309 g_return_if_reached();
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
310
15551
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
311 /* The only way to free data in all cases is to tie it to the menuitem with
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
312 * g_object_set_data_full(). But, since we need to get some data down to
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
313 * delete_log_cb() to delete the log from the log viewer after the file is
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
314 * deleted, we have to allocate a new data array and make sure it gets freed
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
315 * either way. */
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
316 data2 = g_new(gpointer, 3);
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
317 data2[0] = lv->treestore;
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
318 data2[1] = data[3]; /* iter */
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
319 data2[2] = log;
22256
51d2bfedf679 Mark some strings for translation
Mark Doliner <mark@kingant.net>
parents: 22110
diff changeset
320 purple_request_action(lv, NULL, _("Delete Log?"), tmp, 0,
16442
08db93bbd798 Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evan.s@dreskin.net>
parents: 16427
diff changeset
321 NULL, NULL, NULL,
21099
51cf02dbdb0e disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents: 21095
diff changeset
322 data2, 2,
16442
08db93bbd798 Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evan.s@dreskin.net>
parents: 16427
diff changeset
323 _("Delete"), delete_log_cb,
08db93bbd798 Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evan.s@dreskin.net>
parents: 16427
diff changeset
324 _("Cancel"), delete_log_cleanup_cb);
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
325 g_free(tmp);
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
326 }
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
327
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
328 static void log_show_popup_menu(GtkWidget *treeview, GdkEventButton *event, gpointer *data)
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
329 {
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
330 GtkWidget *menu = gtk_menu_new();
22256
51d2bfedf679 Mark some strings for translation
Mark Doliner <mark@kingant.net>
parents: 22110
diff changeset
331 GtkWidget *menuitem = gtk_menu_item_new_with_label(_("Delete Log..."));
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
332
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
333 if (!purple_log_is_deletable((PurpleLog *)data[1]))
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
334 gtk_widget_set_sensitive(menuitem, FALSE);
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
335
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
336 g_signal_connect(menuitem, "activate", G_CALLBACK(log_delete_log_cb), data);
15551
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
337 g_object_set_data_full(G_OBJECT(menuitem), "log-viewer-data", data, g_free);
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
338 gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
339 gtk_widget_show_all(menu);
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
340
15551
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
341 gtk_menu_popup(GTK_MENU(menu), NULL, NULL, (GtkMenuPositionFunc)data[2], NULL,
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
342 (event != NULL) ? event->button : 0,
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
343 gdk_event_get_time((GdkEvent *)event));
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
344 }
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
345
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
346 static gboolean log_button_press_cb(GtkWidget *treeview, GdkEventButton *event, PidginLogViewer *lv)
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
347 {
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
348 if (event->type == GDK_BUTTON_PRESS && event->button == 3)
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
349 {
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
350 GtkTreePath *path;
15551
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
351 GtkTreeIter *iter;
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
352 GValue val;
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
353 PurpleLog *log;
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
354 gpointer *data;
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
355
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
356 if (!gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(treeview), event->x, event->y, &path, NULL, NULL, NULL))
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
357 return FALSE;
15551
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
358 iter = g_new(GtkTreeIter, 1);
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
359 gtk_tree_model_get_iter(GTK_TREE_MODEL(lv->treestore), iter, path);
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
360 val.g_type = 0;
15551
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
361 gtk_tree_model_get_value(GTK_TREE_MODEL(lv->treestore), iter, 1, &val);
22313
42724bd41274 Plug some leaks caused by GtkTreePaths not being freed.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 22256
diff changeset
362 gtk_tree_path_free(path);
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
363
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
364 log = g_value_get_pointer(&val);
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
365
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
366 if (log == NULL)
15551
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
367 {
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
368 g_free(iter);
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
369 return FALSE;
15551
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
370 }
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
371
15551
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
372 data = g_new(gpointer, 4);
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
373 data[0] = lv;
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
374 data[1] = log;
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
375 data[2] = NULL;
15551
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
376 data[3] = iter;
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
377
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
378 log_show_popup_menu(treeview, event, data);
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
379 return TRUE;
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
380 }
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
381
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
382 return FALSE;
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
383 }
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
384
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
385 static gboolean log_popup_menu_cb(GtkWidget *treeview, PidginLogViewer *lv)
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
386 {
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
387 GtkTreeSelection *sel;
15551
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
388 GtkTreeIter *iter;
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
389 GValue val;
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
390 PurpleLog *log;
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
391 gpointer *data;
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
392
15551
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
393 iter = g_new(GtkTreeIter, 1);
18495
64391b1e860e Make the "Browse Logs Folder" button open the folder containing the log
Richard Laager <rlaager@wiktel.com>
parents: 16442
diff changeset
394 sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(lv->treeview));
15551
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
395 if (!gtk_tree_selection_get_selected(sel, NULL, iter))
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
396 {
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
397 return FALSE;
15551
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
398 }
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
399
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
400 val.g_type = 0;
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
401 gtk_tree_model_get_value(GTK_TREE_MODEL(lv->treestore),
15551
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
402 iter, NODE_COLUMN, &val);
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
403
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
404 log = g_value_get_pointer(&val);
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
405
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
406 if (log == NULL)
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
407 return FALSE;
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
408
15551
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
409 data = g_new(gpointer, 4);
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
410 data[0] = lv;
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
411 data[1] = log;
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
412 data[2] = pidgin_treeview_popup_menu_position_func;
15551
fa13722c7756 After the log is deleted, remove the entry from the log viewer.
Richard Laager <rlaager@wiktel.com>
parents: 15531
diff changeset
413 data[3] = iter;
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
414
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
415 log_show_popup_menu(treeview, NULL, data);
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
416 return TRUE;
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
417 }
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
418
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
419 static gboolean search_find_cb(gpointer data)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
420 {
15501
d75099d2567e gaim_gtk to pidgin. I hope
Sean Egan <seanegan@gmail.com>
parents: 15436
diff changeset
421 PidginLogViewer *viewer = data;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
422 gtk_imhtml_search_find(GTK_IMHTML(viewer->imhtml), viewer->search);
29228
ee1ed5d16235 Save the event source ID for search_find_cb so that it's removed when the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25416
diff changeset
423 g_object_steal_data(G_OBJECT(viewer->entry), "search-find-cb");
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
424 return FALSE;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
425 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
426
15501
d75099d2567e gaim_gtk to pidgin. I hope
Sean Egan <seanegan@gmail.com>
parents: 15436
diff changeset
427 static void log_select_cb(GtkTreeSelection *sel, PidginLogViewer *viewer) {
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
428 GtkTreeIter iter;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
429 GValue val;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
430 GtkTreeModel *model = GTK_TREE_MODEL(viewer->treestore);
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
431 PurpleLog *log = NULL;
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
432 PurpleLogReadFlags flags;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
433 char *read = NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
434
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
435 if (!gtk_tree_selection_get_selected(sel, &model, &iter))
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
436 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
437
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
438 val.g_type = 0;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
439 gtk_tree_model_get_value (model, &iter, 1, &val);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
440 log = g_value_get_pointer(&val);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
441 g_value_unset(&val);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
442
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
443 if (log == NULL)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
444 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
445
15501
d75099d2567e gaim_gtk to pidgin. I hope
Sean Egan <seanegan@gmail.com>
parents: 15436
diff changeset
446 pidgin_set_cursor(viewer->window, GDK_WATCH);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
447
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
448 if (log->type != PURPLE_LOG_SYSTEM) {
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
449 char *title;
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
450 if (log->type == PURPLE_LOG_CHAT)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
451 title = g_strdup_printf(_("<span size='larger' weight='bold'>Conversation in %s on %s</span>"),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
452 log->name, log_get_date(log));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
453 else
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
454 title = g_strdup_printf(_("<span size='larger' weight='bold'>Conversation with %s on %s</span>"),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
455 log->name, log_get_date(log));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
456
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
457 gtk_label_set_markup(GTK_LABEL(viewer->label), title);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
458 g_free(title);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
459 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
460
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
461 read = purple_log_read(log, &flags);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
462 viewer->flags = flags;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
463
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
464 gtk_imhtml_clear(GTK_IMHTML(viewer->imhtml));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
465 gtk_imhtml_set_protocol_name(GTK_IMHTML(viewer->imhtml),
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
466 purple_account_get_protocol_name(log->account));
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
467
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
468 purple_signal_emit(pidgin_log_get_handle(), "log-displaying", viewer, log);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
469
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
470 gtk_imhtml_append_text(GTK_IMHTML(viewer->imhtml), read,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
471 GTK_IMHTML_NO_COMMENTS | GTK_IMHTML_NO_TITLE | GTK_IMHTML_NO_SCROLL |
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
472 ((flags & PURPLE_LOG_READ_NO_NEWLINE) ? GTK_IMHTML_NO_NEWLINE : 0));
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
473 g_free(read);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
474
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
475 if (viewer->search != NULL) {
29228
ee1ed5d16235 Save the event source ID for search_find_cb so that it's removed when the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25416
diff changeset
476 guint source;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
477 gtk_imhtml_search_clear(GTK_IMHTML(viewer->imhtml));
29228
ee1ed5d16235 Save the event source ID for search_find_cb so that it's removed when the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25416
diff changeset
478 source = g_idle_add(search_find_cb, viewer);
ee1ed5d16235 Save the event source ID for search_find_cb so that it's removed when the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25416
diff changeset
479 g_object_set_data_full(G_OBJECT(viewer->entry), "search-find-cb",
ee1ed5d16235 Save the event source ID for search_find_cb so that it's removed when the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25416
diff changeset
480 GINT_TO_POINTER(source), (GDestroyNotify)g_source_remove);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
481 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
482
15501
d75099d2567e gaim_gtk to pidgin. I hope
Sean Egan <seanegan@gmail.com>
parents: 15436
diff changeset
483 pidgin_clear_cursor(viewer->window);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
484 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
485
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
486 /* I want to make this smarter, but haven't come up with a cool algorithm to do so, yet.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
487 * I want the tree to be divided into groups like "Today," "Yesterday," "Last week,"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
488 * "August," "2002," etc. based on how many conversation took place in each subdivision.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
489 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
490 * For now, I'll just make it a flat list.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
491 */
15501
d75099d2567e gaim_gtk to pidgin. I hope
Sean Egan <seanegan@gmail.com>
parents: 15436
diff changeset
492 static void populate_log_tree(PidginLogViewer *lv)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
493 /* Logs are made from trees in real life.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
494 This is a tree made from logs */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
495 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
496 const char *month;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
497 char prev_top_month[30] = "";
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
498 GtkTreeIter toplevel, child;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
499 GList *logs = lv->logs;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
500
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
501 while (logs != NULL) {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
502 PurpleLog *log = logs->data;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
503
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
504 month = purple_utf8_strftime(_("%B %Y"),
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
505 log->tm ? log->tm : localtime(&log->time));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
506
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
507 if (strcmp(month, prev_top_month) != 0)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
508 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
509 /* top level */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
510 gtk_tree_store_append(lv->treestore, &toplevel, NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
511 gtk_tree_store_set(lv->treestore, &toplevel, 0, month, 1, NULL, -1);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
512
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
513 strncpy(prev_top_month, month, sizeof(prev_top_month));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
514 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
515
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
516 /* sub */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
517 gtk_tree_store_append(lv->treestore, &child, &toplevel);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
518 gtk_tree_store_set(lv->treestore, &child,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
519 0, log_get_date(log),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
520 1, log,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
521 -1);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
522
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
523 logs = logs->next;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
524 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
525 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
526
21340
6c4de0d24eff Reverted changes from ef7ac46f90a801547f7dfc4295927a956f90e869 to
Richard Laager <rlaager@wiktel.com>
parents: 21088
diff changeset
527 static PidginLogViewer *display_log_viewer(struct log_viewer_hash_t *ht, GList *logs,
15578
3ae0ba9aee46 Use person icon for Person log viewer
Sean Egan <seanegan@gmail.com>
parents: 15552
diff changeset
528 const char *title, GtkWidget *icon, int log_size)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
529 {
15501
d75099d2567e gaim_gtk to pidgin. I hope
Sean Egan <seanegan@gmail.com>
parents: 15436
diff changeset
530 PidginLogViewer *lv;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
531 GtkWidget *title_box;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
532 char *text;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
533 GtkWidget *pane;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
534 GtkWidget *sw;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
535 GtkCellRenderer *rend;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
536 GtkTreeViewColumn *col;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
537 GtkTreeSelection *sel;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
538 GtkWidget *vbox;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
539 GtkWidget *frame;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
540 GtkWidget *hbox;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
541 GtkWidget *find_button;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
542 GtkWidget *size_label;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
543
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
544 if (logs == NULL)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
545 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
546 /* No logs were found. */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
547 const char *log_preferences = NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
548
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
549 if (ht == NULL) {
16427
4999bbc52881 Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@gmail.com>
parents: 16231
diff changeset
550 if (!purple_prefs_get_bool("/purple/logging/log_system"))
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
551 log_preferences = _("System events will only be logged if the \"Log all status changes to system log\" preference is enabled.");
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
552 } else {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
553 if (ht->type == PURPLE_LOG_IM) {
16427
4999bbc52881 Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@gmail.com>
parents: 16231
diff changeset
554 if (!purple_prefs_get_bool("/purple/logging/log_ims"))
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
555 log_preferences = _("Instant messages will only be logged if the \"Log all instant messages\" preference is enabled.");
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
556 } else if (ht->type == PURPLE_LOG_CHAT) {
16427
4999bbc52881 Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@gmail.com>
parents: 16231
diff changeset
557 if (!purple_prefs_get_bool("/purple/logging/log_chats"))
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
558 log_preferences = _("Chats will only be logged if the \"Log all chats\" preference is enabled.");
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
559 }
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25308
diff changeset
560 g_free(ht->buddyname);
22110
d8cc610bd388 Some more little leak fixes.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 22087
diff changeset
561 g_free(ht);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
562 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
563
22110
d8cc610bd388 Some more little leak fixes.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 22087
diff changeset
564 if(icon != NULL)
d8cc610bd388 Some more little leak fixes.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 22087
diff changeset
565 gtk_widget_destroy(icon);
d8cc610bd388 Some more little leak fixes.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 22087
diff changeset
566
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
567 purple_notify_info(NULL, title, _("No logs were found"), log_preferences);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
568 return NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
569 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
570
15501
d75099d2567e gaim_gtk to pidgin. I hope
Sean Egan <seanegan@gmail.com>
parents: 15436
diff changeset
571 lv = g_new0(PidginLogViewer, 1);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
572 lv->logs = logs;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
573
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
574 if (ht != NULL)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
575 g_hash_table_insert(log_viewers, ht, lv);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
576
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
577 /* Window ***********/
21340
6c4de0d24eff Reverted changes from ef7ac46f90a801547f7dfc4295927a956f90e869 to
Richard Laager <rlaager@wiktel.com>
parents: 21088
diff changeset
578 lv->window = gtk_dialog_new_with_buttons(title, NULL, 0,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
579 GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
580 #ifdef _WIN32
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
581 /* Steal the "HELP" response and use it to trigger browsing to the logs folder */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
582 gtk_dialog_add_button(GTK_DIALOG(lv->window), _("_Browse logs folder"), GTK_RESPONSE_HELP);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
583 #endif
15821
cebfc6af3eb5 More Gaim to Pidgin stuff
Sean Egan <seanegan@gmail.com>
parents: 15593
diff changeset
584 gtk_container_set_border_width (GTK_CONTAINER(lv->window), PIDGIN_HIG_BOX_SPACE);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
585 gtk_dialog_set_has_separator(GTK_DIALOG(lv->window), FALSE);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
586 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(lv->window)->vbox), 0);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
587 g_signal_connect(G_OBJECT(lv->window), "response",
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
588 G_CALLBACK(destroy_cb), ht);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
589 gtk_window_set_role(GTK_WINDOW(lv->window), "log_viewer");
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
590
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
591 /* Icon *************/
15578
3ae0ba9aee46 Use person icon for Person log viewer
Sean Egan <seanegan@gmail.com>
parents: 15552
diff changeset
592 if (icon != NULL) {
15821
cebfc6af3eb5 More Gaim to Pidgin stuff
Sean Egan <seanegan@gmail.com>
parents: 15593
diff changeset
593 title_box = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE);
cebfc6af3eb5 More Gaim to Pidgin stuff
Sean Egan <seanegan@gmail.com>
parents: 15593
diff changeset
594 gtk_container_set_border_width(GTK_CONTAINER(title_box), PIDGIN_HIG_BOX_SPACE);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
595 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(lv->window)->vbox), title_box, FALSE, FALSE, 0);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
596
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
597 gtk_box_pack_start(GTK_BOX(title_box), icon, FALSE, FALSE, 0);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
598 } else
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
599 title_box = GTK_DIALOG(lv->window)->vbox;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
600
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
601 /* Label ************/
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
602 lv->label = gtk_label_new(NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
603
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
604 text = g_strdup_printf("<span size='larger' weight='bold'>%s</span>", title);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
605
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
606 gtk_label_set_markup(GTK_LABEL(lv->label), text);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
607 gtk_misc_set_alignment(GTK_MISC(lv->label), 0, 0);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
608 gtk_box_pack_start(GTK_BOX(title_box), lv->label, FALSE, FALSE, 0);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
609 g_free(text);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
610
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
611 /* Pane *************/
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
612 pane = gtk_hpaned_new();
15821
cebfc6af3eb5 More Gaim to Pidgin stuff
Sean Egan <seanegan@gmail.com>
parents: 15593
diff changeset
613 gtk_container_set_border_width(GTK_CONTAINER(pane), PIDGIN_HIG_BOX_SPACE);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
614 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(lv->window)->vbox), pane, TRUE, TRUE, 0);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
615
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
616 /* List *************/
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
617 sw = gtk_scrolled_window_new (NULL, NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
618 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), GTK_SHADOW_IN);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
619 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
620 gtk_paned_add1(GTK_PANED(pane), sw);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
621 lv->treestore = gtk_tree_store_new (2, G_TYPE_STRING, G_TYPE_POINTER);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
622 lv->treeview = gtk_tree_view_new_with_model (GTK_TREE_MODEL (lv->treestore));
22087
d943df776c09 It turns out the tree-models need to be unref'ed.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 21354
diff changeset
623 g_object_unref(G_OBJECT(lv->treestore));
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
624 rend = gtk_cell_renderer_text_new();
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
625 col = gtk_tree_view_column_new_with_attributes ("time", rend, "markup", 0, NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
626 gtk_tree_view_append_column (GTK_TREE_VIEW(lv->treeview), col);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
627 gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (lv->treeview), FALSE);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
628 gtk_container_add (GTK_CONTAINER (sw), lv->treeview);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
629
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
630 populate_log_tree(lv);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
631
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
632 sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (lv->treeview));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
633 g_signal_connect (G_OBJECT (sel), "changed",
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
634 G_CALLBACK (log_select_cb),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
635 lv);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
636 g_signal_connect (G_OBJECT(lv->treeview), "row-activated",
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
637 G_CALLBACK(log_row_activated_cb),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
638 lv);
15507
311315e979f7 gtkutils changes
Sean Egan <seanegan@gmail.com>
parents: 15501
diff changeset
639 pidgin_set_accessible_label(lv->treeview, lv->label);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
640
15531
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
641 g_signal_connect(lv->treeview, "button-press-event", G_CALLBACK(log_button_press_cb), lv);
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
642 g_signal_connect(lv->treeview, "popup-menu", G_CALLBACK(log_popup_menu_cb), lv);
3fbd4d8b5f2b Implement the UI for deleting logs. This allows users to right-click on
Richard Laager <rlaager@wiktel.com>
parents: 15516
diff changeset
643
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
644 /* Log size ************/
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
645 if(log_size) {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
646 char *sz_txt = purple_str_size_to_units(log_size);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
647 text = g_strdup_printf("<span weight='bold'>%s</span> %s", _("Total log size:"), sz_txt);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
648 size_label = gtk_label_new(NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
649 gtk_label_set_markup(GTK_LABEL(size_label), text);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
650 /* gtk_paned_add1(GTK_PANED(pane), size_label); */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
651 gtk_misc_set_alignment(GTK_MISC(size_label), 0, 0);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
652 gtk_box_pack_end(GTK_BOX(GTK_DIALOG(lv->window)->vbox), size_label, FALSE, FALSE, 0);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
653 g_free(sz_txt);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
654 g_free(text);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
655 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
656
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
657 /* A fancy little box ************/
15821
cebfc6af3eb5 More Gaim to Pidgin stuff
Sean Egan <seanegan@gmail.com>
parents: 15593
diff changeset
658 vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
659 gtk_paned_add2(GTK_PANED(pane), vbox);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
660
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
661 /* Viewer ************/
15501
d75099d2567e gaim_gtk to pidgin. I hope
Sean Egan <seanegan@gmail.com>
parents: 15436
diff changeset
662 frame = pidgin_create_imhtml(FALSE, &lv->imhtml, NULL, NULL);
16198
88a93f78b489 I don't like the pidginfoo_bar widget names that resulted from the sed.
Richard Laager <rlaager@wiktel.com>
parents: 16193
diff changeset
663 gtk_widget_set_name(lv->imhtml, "pidgin_log_imhtml");
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
664 gtk_widget_set_size_request(lv->imhtml, 320, 200);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
665 gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
666 gtk_widget_show(frame);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
667
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
668 /* Search box **********/
15821
cebfc6af3eb5 More Gaim to Pidgin stuff
Sean Egan <seanegan@gmail.com>
parents: 15593
diff changeset
669 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
670 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
671 lv->entry = gtk_entry_new();
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
672 gtk_box_pack_start(GTK_BOX(hbox), lv->entry, TRUE, TRUE, 0);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
673 find_button = gtk_button_new_from_stock(GTK_STOCK_FIND);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
674 gtk_box_pack_start(GTK_BOX(hbox), find_button, FALSE, FALSE, 0);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
675 g_signal_connect(GTK_ENTRY(lv->entry), "activate", G_CALLBACK(search_cb), lv);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
676 g_signal_connect(GTK_BUTTON(find_button), "clicked", G_CALLBACK(search_cb), lv);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
677
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
678 select_first_log(lv);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
679
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
680 gtk_widget_show_all(lv->window);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
681
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
682 return lv;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
683 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
684
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25308
diff changeset
685 void pidgin_log_show(PurpleLogType type, const char *buddyname, PurpleAccount *account) {
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
686 struct log_viewer_hash_t *ht;
15501
d75099d2567e gaim_gtk to pidgin. I hope
Sean Egan <seanegan@gmail.com>
parents: 15436
diff changeset
687 PidginLogViewer *lv = NULL;
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25308
diff changeset
688 const char *name = buddyname;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
689 char *title;
20337
91f1465b34e9 applied changes from 1e697229b1c9a564fa1e509cc9a4a83da6e664df
Luke Schierer <lschiere@pidgin.im>
parents: 20074
diff changeset
690 GdkPixbuf *prpl_icon;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
691
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
692 g_return_if_fail(account != NULL);
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25308
diff changeset
693 g_return_if_fail(buddyname != NULL);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
694
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
695 ht = g_new0(struct log_viewer_hash_t, 1);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
696
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
697 ht->type = type;
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25308
diff changeset
698 ht->buddyname = g_strdup(buddyname);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
699 ht->account = account;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
700
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
701 if (log_viewers == NULL) {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
702 log_viewers = g_hash_table_new(log_viewer_hash, log_viewer_equal);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
703 } else if ((lv = g_hash_table_lookup(log_viewers, ht))) {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
704 gtk_window_present(GTK_WINDOW(lv->window));
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25308
diff changeset
705 g_free(ht->buddyname);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
706 g_free(ht);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
707 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
708 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
709
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
710 if (type == PURPLE_LOG_CHAT) {
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
711 PurpleChat *chat;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
712
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25308
diff changeset
713 chat = purple_blist_find_chat(account, buddyname);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
714 if (chat != NULL)
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
715 name = purple_chat_get_name(chat);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
716
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
717 title = g_strdup_printf(_("Conversations in %s"), name);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
718 } else {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
719 PurpleBuddy *buddy;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
720
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25308
diff changeset
721 buddy = purple_find_buddy(account, buddyname);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
722 if (buddy != NULL)
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
723 name = purple_buddy_get_contact_alias(buddy);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
724
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
725 title = g_strdup_printf(_("Conversations with %s"), name);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
726 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
727
20337
91f1465b34e9 applied changes from 1e697229b1c9a564fa1e509cc9a4a83da6e664df
Luke Schierer <lschiere@pidgin.im>
parents: 20074
diff changeset
728 prpl_icon = pidgin_create_prpl_icon(account, PIDGIN_PRPL_ICON_MEDIUM);
91f1465b34e9 applied changes from 1e697229b1c9a564fa1e509cc9a4a83da6e664df
Luke Schierer <lschiere@pidgin.im>
parents: 20074
diff changeset
729
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25308
diff changeset
730 display_log_viewer(ht, purple_log_get_logs(type, buddyname, account),
20337
91f1465b34e9 applied changes from 1e697229b1c9a564fa1e509cc9a4a83da6e664df
Luke Schierer <lschiere@pidgin.im>
parents: 20074
diff changeset
731 title, gtk_image_new_from_pixbuf(prpl_icon),
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25308
diff changeset
732 purple_log_get_total_size(type, buddyname, account));
20337
91f1465b34e9 applied changes from 1e697229b1c9a564fa1e509cc9a4a83da6e664df
Luke Schierer <lschiere@pidgin.im>
parents: 20074
diff changeset
733
91f1465b34e9 applied changes from 1e697229b1c9a564fa1e509cc9a4a83da6e664df
Luke Schierer <lschiere@pidgin.im>
parents: 20074
diff changeset
734 if (prpl_icon)
91f1465b34e9 applied changes from 1e697229b1c9a564fa1e509cc9a4a83da6e664df
Luke Schierer <lschiere@pidgin.im>
parents: 20074
diff changeset
735 g_object_unref(prpl_icon);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
736 g_free(title);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
737 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
738
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
739 void pidgin_log_show_contact(PurpleContact *contact) {
22110
d8cc610bd388 Some more little leak fixes.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 22087
diff changeset
740 struct log_viewer_hash_t *ht;
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
741 PurpleBlistNode *child;
15501
d75099d2567e gaim_gtk to pidgin. I hope
Sean Egan <seanegan@gmail.com>
parents: 15436
diff changeset
742 PidginLogViewer *lv = NULL;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
743 GList *logs = NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
744 GdkPixbuf *pixbuf;
22110
d8cc610bd388 Some more little leak fixes.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 22087
diff changeset
745 GtkWidget *image;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
746 const char *name = NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
747 char *title;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
748 int total_log_size = 0;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
749
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
750 g_return_if_fail(contact != NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
751
22110
d8cc610bd388 Some more little leak fixes.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 22087
diff changeset
752 ht = g_new0(struct log_viewer_hash_t, 1);
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
753 ht->type = PURPLE_LOG_IM;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
754 ht->contact = contact;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
755
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
756 if (log_viewers == NULL) {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
757 log_viewers = g_hash_table_new(log_viewer_hash, log_viewer_equal);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
758 } else if ((lv = g_hash_table_lookup(log_viewers, ht))) {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
759 gtk_window_present(GTK_WINDOW(lv->window));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
760 g_free(ht);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
761 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
762 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
763
25303
2e179c60f8c9 Fix one struct hiding issue.
Richard Laager <rlaager@wiktel.com>
parents: 22313
diff changeset
764 for (child = purple_blist_node_get_first_child((PurpleBlistNode*)contact) ;
2e179c60f8c9 Fix one struct hiding issue.
Richard Laager <rlaager@wiktel.com>
parents: 22313
diff changeset
765 child != NULL ;
2e179c60f8c9 Fix one struct hiding issue.
Richard Laager <rlaager@wiktel.com>
parents: 22313
diff changeset
766 child = purple_blist_node_get_sibling_next(child)) {
25308
673abaf19f6e Another small struct hiding change.
Richard Laager <rlaager@wiktel.com>
parents: 25303
diff changeset
767 const char *buddy_name;
673abaf19f6e Another small struct hiding change.
Richard Laager <rlaager@wiktel.com>
parents: 25303
diff changeset
768 PurpleAccount *account;
673abaf19f6e Another small struct hiding change.
Richard Laager <rlaager@wiktel.com>
parents: 25303
diff changeset
769
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
770 if (!PURPLE_BLIST_NODE_IS_BUDDY(child))
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
771 continue;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
772
25308
673abaf19f6e Another small struct hiding change.
Richard Laager <rlaager@wiktel.com>
parents: 25303
diff changeset
773 buddy_name = purple_buddy_get_name((PurpleBuddy *)child);
673abaf19f6e Another small struct hiding change.
Richard Laager <rlaager@wiktel.com>
parents: 25303
diff changeset
774 account = purple_buddy_get_account((PurpleBuddy *)child);
673abaf19f6e Another small struct hiding change.
Richard Laager <rlaager@wiktel.com>
parents: 25303
diff changeset
775 logs = g_list_concat(purple_log_get_logs(PURPLE_LOG_IM, buddy_name, account), logs);
673abaf19f6e Another small struct hiding change.
Richard Laager <rlaager@wiktel.com>
parents: 25303
diff changeset
776 total_log_size += purple_log_get_total_size(PURPLE_LOG_IM, buddy_name, account);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
777 }
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
778 logs = g_list_sort(logs, purple_log_compare);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
779
22110
d8cc610bd388 Some more little leak fixes.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 22087
diff changeset
780 image = gtk_image_new();
16216
6118bd3c9a7c Fix a printf(%s, NULL) when opening a log for an buddy whose contact has no online buddies and no alias.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 16198
diff changeset
781 pixbuf = gtk_widget_render_icon(image, PIDGIN_STOCK_STATUS_PERSON,
6118bd3c9a7c Fix a printf(%s, NULL) when opening a log for an buddy whose contact has no online buddies and no alias.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 16198
diff changeset
782 gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_SMALL), "GtkWindow");
22110
d8cc610bd388 Some more little leak fixes.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 22087
diff changeset
783 if (pixbuf) {
d8cc610bd388 Some more little leak fixes.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 22087
diff changeset
784 gtk_image_set_from_pixbuf(GTK_IMAGE(image), pixbuf);
d8cc610bd388 Some more little leak fixes.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 22087
diff changeset
785 g_object_unref(pixbuf);
d8cc610bd388 Some more little leak fixes.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 22087
diff changeset
786 } else {
d8cc610bd388 Some more little leak fixes.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 22087
diff changeset
787 gtk_widget_destroy(image);
d8cc610bd388 Some more little leak fixes.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 22087
diff changeset
788 image = NULL;
d8cc610bd388 Some more little leak fixes.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 22087
diff changeset
789 }
16216
6118bd3c9a7c Fix a printf(%s, NULL) when opening a log for an buddy whose contact has no online buddies and no alias.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 16198
diff changeset
790
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
791 if (contact->alias != NULL)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
792 name = contact->alias;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
793 else if (contact->priority != NULL)
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
794 name = purple_buddy_get_contact_alias(contact->priority);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
795
16216
6118bd3c9a7c Fix a printf(%s, NULL) when opening a log for an buddy whose contact has no online buddies and no alias.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 16198
diff changeset
796 /* This will happen if the contact doesn't have an alias,
6118bd3c9a7c Fix a printf(%s, NULL) when opening a log for an buddy whose contact has no online buddies and no alias.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 16198
diff changeset
797 * and none of the contact's buddies are online.
6118bd3c9a7c Fix a printf(%s, NULL) when opening a log for an buddy whose contact has no online buddies and no alias.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 16198
diff changeset
798 * There is probably a better way to deal with this. */
6118bd3c9a7c Fix a printf(%s, NULL) when opening a log for an buddy whose contact has no online buddies and no alias.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 16198
diff changeset
799 if (name == NULL) {
6118bd3c9a7c Fix a printf(%s, NULL) when opening a log for an buddy whose contact has no online buddies and no alias.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 16198
diff changeset
800 if (contact->node.child != NULL && PURPLE_BLIST_NODE_IS_BUDDY(contact->node.child))
6118bd3c9a7c Fix a printf(%s, NULL) when opening a log for an buddy whose contact has no online buddies and no alias.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 16198
diff changeset
801 name = purple_buddy_get_contact_alias((PurpleBuddy *) contact->node.child);
6118bd3c9a7c Fix a printf(%s, NULL) when opening a log for an buddy whose contact has no online buddies and no alias.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 16198
diff changeset
802 if (name == NULL)
6118bd3c9a7c Fix a printf(%s, NULL) when opening a log for an buddy whose contact has no online buddies and no alias.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 16198
diff changeset
803 name = "";
6118bd3c9a7c Fix a printf(%s, NULL) when opening a log for an buddy whose contact has no online buddies and no alias.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 16198
diff changeset
804 }
6118bd3c9a7c Fix a printf(%s, NULL) when opening a log for an buddy whose contact has no online buddies and no alias.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 16198
diff changeset
805
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
806 title = g_strdup_printf(_("Conversations with %s"), name);
21340
6c4de0d24eff Reverted changes from ef7ac46f90a801547f7dfc4295927a956f90e869 to
Richard Laager <rlaager@wiktel.com>
parents: 21088
diff changeset
807 display_log_viewer(ht, logs, title, image, total_log_size);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
808 g_free(title);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
809 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
810
21340
6c4de0d24eff Reverted changes from ef7ac46f90a801547f7dfc4295927a956f90e869 to
Richard Laager <rlaager@wiktel.com>
parents: 21088
diff changeset
811 void pidgin_syslog_show()
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
812 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
813 GList *accounts = NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
814 GList *logs = NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
815
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
816 if (syslog_viewer != NULL) {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
817 gtk_window_present(GTK_WINDOW(syslog_viewer->window));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
818 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
819 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
820
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
821 for(accounts = purple_accounts_get_all(); accounts != NULL; accounts = accounts->next) {
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
822
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
823 PurpleAccount *account = (PurpleAccount *)accounts->data;
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
824 if(purple_find_prpl(purple_account_get_protocol_id(account)) == NULL)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
825 continue;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
826
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
827 logs = g_list_concat(purple_log_get_system_logs(account), logs);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
828 }
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
829 logs = g_list_sort(logs, purple_log_compare);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
830
21340
6c4de0d24eff Reverted changes from ef7ac46f90a801547f7dfc4295927a956f90e869 to
Richard Laager <rlaager@wiktel.com>
parents: 21088
diff changeset
831 syslog_viewer = display_log_viewer(NULL, logs, _("System Log"), NULL, 0);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
832 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
833
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
834 /****************************************************************************
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
835 * GTK+ LOG SUBSYSTEM *******************************************************
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
836 ****************************************************************************/
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
837
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
838 void *
15501
d75099d2567e gaim_gtk to pidgin. I hope
Sean Egan <seanegan@gmail.com>
parents: 15436
diff changeset
839 pidgin_log_get_handle(void)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
840 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
841 static int handle;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
842
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
843 return &handle;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
844 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
845
15501
d75099d2567e gaim_gtk to pidgin. I hope
Sean Egan <seanegan@gmail.com>
parents: 15436
diff changeset
846 void pidgin_log_init(void)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
847 {
15501
d75099d2567e gaim_gtk to pidgin. I hope
Sean Egan <seanegan@gmail.com>
parents: 15436
diff changeset
848 void *handle = pidgin_log_get_handle();
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
849
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
850 purple_signal_register(handle, "log-displaying",
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
851 purple_marshal_VOID__POINTER_POINTER,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
852 NULL, 2,
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
853 purple_value_new(PURPLE_TYPE_BOXED,
15501
d75099d2567e gaim_gtk to pidgin. I hope
Sean Egan <seanegan@gmail.com>
parents: 15436
diff changeset
854 "PidginLogViewer *"),
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
855 purple_value_new(PURPLE_TYPE_SUBTYPE,
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
856 PURPLE_SUBTYPE_LOG));
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
857 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
858
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
859 void
15501
d75099d2567e gaim_gtk to pidgin. I hope
Sean Egan <seanegan@gmail.com>
parents: 15436
diff changeset
860 pidgin_log_uninit(void)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
861 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15822
diff changeset
862 purple_signals_unregister_by_instance(pidgin_log_get_handle());
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
863 }