annotate gtk/gtknotify.c @ 20387:24843d86c2a3

sf patch #1644019, from good ol' Ka-Hing Cheung "fix compiling on gtk 2.4. xmppconsole.c is the culprit. gtk_combo_box_get_active_text is defined in gtk 2.6 but not 2.4."
author Mark Doliner <mark@kingant.net>
date Thu, 25 Jan 2007 08:29:50 +0000
parents 85a2aafc9c4b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1 /**
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
2 * @file gtknotify.c GTK+ Notification API
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
3 * @ingroup gtkui
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
4 *
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
5 * gaim
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
6 *
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
7 * Gaim is the legal property of its developers, whose names are too numerous
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
8 * to list here. Please refer to the COPYRIGHT file distributed with this
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
9 * source distribution.
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
10 *
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
11 * This program is free software; you can redistribute it and/or modify
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
12 * it under the terms of the GNU General Public License as published by
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
13 * the Free Software Foundation; either version 2 of the License, or
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
14 * (at your option) any later version.
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
15 *
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
16 * This program is distributed in the hope that it will be useful,
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
19 * GNU General Public License for more details.
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
20 *
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
21 * You should have received a copy of the GNU General Public License
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
22 * along with this program; if not, write to the Free Software
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
24 */
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
25 #include "internal.h"
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
26 #include "gtkgaim.h"
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
27
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
28 #include <gdk/gdkkeysyms.h>
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
29
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
30 #include "connection.h"
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
31 #include "debug.h"
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
32 #include "prefs.h"
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
33 #include "gaimstock.h"
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
34 #include "util.h"
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
35
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
36 #include "gtkblist.h"
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
37 #include "gtkimhtml.h"
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
38 #include "gtknotify.h"
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
39 #include "gtkutils.h"
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
40
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
41 typedef struct
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
42 {
15333
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
43 GaimAccount *account;
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
44 char *url;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
45 GtkWidget *label;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
46 GtkTreeIter iter;
15333
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
47 int count;
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
48 } GaimNotifyMailData;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
49
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
50 typedef struct
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
51 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
52 GaimAccount *account;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
53 GtkListStore *model;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
54 GtkWidget *treeview;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
55 GtkWidget *window;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
56 gpointer user_data;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
57 GaimNotifySearchResults *results;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
58
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
59 } GaimNotifySearchResultsData;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
60
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
61 typedef struct
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
62 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
63 GaimNotifySearchButton *button;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
64 GaimNotifySearchResultsData *data;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
65
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
66 } GaimNotifySearchResultsButtonData;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
67
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
68 enum
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
69 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
70 GAIM_MAIL_ICON,
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
71 GAIM_MAIL_TEXT,
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
72 GAIM_MAIL_DATA,
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
73 COLUMNS_GAIM_MAIL
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
74 };
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
75
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
76 typedef struct _GaimMailDialog GaimMailDialog;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
77
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
78 struct _GaimMailDialog
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
79 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
80 GtkWidget *dialog;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
81 GtkWidget *treeview;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
82 GtkTreeStore *treemodel;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
83 GtkLabel *label;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
84 GtkWidget *open_button;
15184
a505577b6f4b [gaim-migrate @ 17973]
Sean Egan <seanegan@gmail.com>
parents: 15163
diff changeset
85 int total_count;
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
86 gboolean in_use;
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
87 };
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
88
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
89 static GaimMailDialog *mail_dialog = NULL;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
90
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
91 static void *gaim_gtk_notify_emails(GaimConnection *gc, size_t count, gboolean detailed,
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
92 const char **subjects,
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
93 const char **froms, const char **tos,
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
94 const char **urls);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
95
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
96 static void
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
97 message_response_cb(GtkDialog *dialog, gint id, GtkWidget *widget)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
98 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
99 gaim_notify_close(GAIM_NOTIFY_MESSAGE, widget);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
100 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
101
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
102 static void
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
103 email_response_cb(GtkDialog *dlg, gint id, GaimMailDialog *dialog)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
104 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
105 GaimNotifyMailData *data = NULL;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
106 GtkTreeIter iter;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
107
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
108 if (id == GTK_RESPONSE_YES)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
109 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
110 GtkTreeSelection *selection;
14224
ab8a105eff62 [gaim-migrate @ 16905]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14191
diff changeset
111
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
112 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(dialog->treeview));
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
113
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
114 if (gtk_tree_selection_get_selected(selection, NULL, &iter))
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
115 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
116 gtk_tree_model_get(GTK_TREE_MODEL(dialog->treemodel), &iter,
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
117 GAIM_MAIL_DATA, &data, -1);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
118 gaim_notify_uri(NULL, data->url);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
119
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
120 gtk_tree_store_remove(dialog->treemodel, &iter);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
121 gaim_notify_close(GAIM_NOTIFY_EMAILS, data);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
122
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
123 if (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(mail_dialog->treemodel), &iter))
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
124 return;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
125 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
126 else
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
127 return;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
128 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
129 else
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
130 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
131 while (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(mail_dialog->treemodel), &iter))
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
132 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
133 gtk_tree_model_get(GTK_TREE_MODEL(dialog->treemodel), &iter,
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
134 GAIM_MAIL_DATA, &data, -1);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
135
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
136 if (id == GTK_RESPONSE_ACCEPT)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
137 gaim_notify_uri(NULL, data->url);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
138
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
139 gtk_tree_store_remove(dialog->treemodel, &iter);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
140 gaim_notify_close(GAIM_NOTIFY_EMAILS, data);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
141 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
142 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
143 gtk_widget_destroy(dialog->dialog);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
144 g_free(dialog);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
145 mail_dialog = NULL;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
146 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
147
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
148 static void
15324
e3ea20c6e73f [gaim-migrate @ 18115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15213
diff changeset
149 reset_mail_dialog(GtkDialog *dialog)
e3ea20c6e73f [gaim-migrate @ 18115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15213
diff changeset
150 {
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
151 if (mail_dialog->in_use)
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
152 return;
15324
e3ea20c6e73f [gaim-migrate @ 18115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15213
diff changeset
153 gtk_widget_destroy(mail_dialog->dialog);
e3ea20c6e73f [gaim-migrate @ 18115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15213
diff changeset
154 g_free(mail_dialog);
e3ea20c6e73f [gaim-migrate @ 18115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15213
diff changeset
155 mail_dialog = NULL;
e3ea20c6e73f [gaim-migrate @ 18115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15213
diff changeset
156 }
e3ea20c6e73f [gaim-migrate @ 18115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15213
diff changeset
157
e3ea20c6e73f [gaim-migrate @ 18115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15213
diff changeset
158 static void
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
159 formatted_close_cb(GtkWidget *win, GdkEvent *event, void *user_data)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
160 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
161 gaim_notify_close(GAIM_NOTIFY_FORMATTED, win);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
162 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
163
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
164 static void
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
165 searchresults_close_cb(GaimNotifySearchResultsData *data, GdkEvent *event, gpointer user_data)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
166 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
167 gaim_notify_close(GAIM_NOTIFY_SEARCHRESULTS, data);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
168 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
169
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
170 static void
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
171 searchresults_callback_wrapper_cb(GtkWidget *widget, GaimNotifySearchResultsButtonData *bd)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
172 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
173 GaimNotifySearchResultsData *data = bd->data;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
174
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
175 GtkTreeSelection *selection;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
176 GtkTreeModel *model;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
177 GtkTreeIter iter;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
178 GaimNotifySearchButton *button;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
179 GList *row = NULL;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
180 gchar *str;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
181 int i;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
182
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
183 g_return_if_fail(data != NULL);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
184
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
185 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->treeview));
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
186
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
187 if (gtk_tree_selection_get_selected(selection, &model, &iter))
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
188 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
189 for (i = 1; i < gtk_tree_model_get_n_columns(GTK_TREE_MODEL(model)); i++) {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
190 gtk_tree_model_get(GTK_TREE_MODEL(model), &iter, i, &str, -1);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
191 row = g_list_append(row, str);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
192 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
193 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
194
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
195 button = bd->button;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
196 button->callback(gaim_account_get_connection(data->account), row, data->user_data);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
197 g_list_foreach(row, (GFunc)g_free, NULL);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
198 g_list_free(row);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
199 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
200
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
201 static void *
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
202 gaim_gtk_notify_message(GaimNotifyMsgType type, const char *title,
14803
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
203 const char *primary, const char *secondary)
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
204 {
14803
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
205 GtkWidget *dialog;
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
206 GtkWidget *hbox;
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
207 GtkWidget *label;
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
208 GtkWidget *img = NULL;
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
209 char label_text[2048];
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
210 const char *icon_name = NULL;
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
211 char *primary_esc, *secondary_esc;
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
212
14803
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
213 switch (type)
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
214 {
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
215 case GAIM_NOTIFY_MSG_ERROR:
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
216 icon_name = GAIM_STOCK_DIALOG_ERROR;
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
217 break;
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
218
14803
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
219 case GAIM_NOTIFY_MSG_WARNING:
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
220 icon_name = GAIM_STOCK_DIALOG_WARNING;
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
221 break;
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
222
14803
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
223 case GAIM_NOTIFY_MSG_INFO:
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
224 icon_name = GAIM_STOCK_DIALOG_INFO;
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
225 break;
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
226
14803
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
227 default:
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
228 icon_name = NULL;
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
229 break;
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
230 }
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
231
14803
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
232 if (icon_name != NULL)
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
233 {
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
234 img = gtk_image_new_from_stock(icon_name, GTK_ICON_SIZE_DIALOG);
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
235 gtk_misc_set_alignment(GTK_MISC(img), 0, 0);
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
236 }
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
237
14803
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
238 dialog = gtk_dialog_new_with_buttons(title ? title : GAIM_ALERT_TITLE,
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
239 NULL, 0, GTK_STOCK_CLOSE,
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
240 GTK_RESPONSE_CLOSE, NULL);
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
241
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
242 gtk_window_set_role(GTK_WINDOW(dialog), "notify_dialog");
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
243
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
244 g_signal_connect(G_OBJECT(dialog), "response",
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
245 G_CALLBACK(message_response_cb), dialog);
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
246
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
247 gtk_container_set_border_width(GTK_CONTAINER(dialog), GAIM_HIG_BORDER);
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
248 gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE);
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
249 gtk_dialog_set_has_separator(GTK_DIALOG(dialog), FALSE);
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
250 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(dialog)->vbox), GAIM_HIG_BORDER);
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
251 gtk_container_set_border_width(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), GAIM_HIG_BOX_SPACE);
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
252
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
253 hbox = gtk_hbox_new(FALSE, GAIM_HIG_BORDER);
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
254 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), hbox);
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
255
14803
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
256 if (img != NULL)
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
257 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
258
14803
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
259 primary_esc = g_markup_escape_text(primary, -1);
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
260 secondary_esc = (secondary != NULL) ? g_markup_escape_text(secondary, -1) : NULL;
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
261 g_snprintf(label_text, sizeof(label_text),
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
262 "<span weight=\"bold\" size=\"larger\">%s</span>\n\n%s",
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
263 primary_esc, (secondary ? secondary_esc : ""));
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
264 g_free(primary_esc);
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
265 g_free(secondary_esc);
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
266
14803
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
267 label = gtk_label_new(NULL);
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
268
14803
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
269 gtk_label_set_markup(GTK_LABEL(label), label_text);
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
270 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
271 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
272 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
273
14803
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
274 gtk_widget_show_all(dialog);
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
275
14803
967c39d78bc4 [gaim-migrate @ 17568]
Sean Egan <seanegan@gmail.com>
parents: 14802
diff changeset
276 return dialog;
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
277 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
278
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
279 static void
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
280 selection_changed_cb(GtkTreeSelection *sel, GaimMailDialog *dialog)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
281 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
282 GtkTreeIter iter;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
283 GtkTreeModel *model;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
284 GaimNotifyMailData *data;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
285 gboolean active = TRUE;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
286
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
287 if (gtk_tree_selection_get_selected(sel, &model, &iter) == FALSE)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
288 active = FALSE;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
289 else
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
290 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
291 gtk_tree_model_get(model, &iter, GAIM_MAIL_DATA, &data, -1);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
292 if (data->url == NULL)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
293 active = FALSE;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
294 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
295
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
296 gtk_widget_set_sensitive(dialog->open_button, active);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
297 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
298
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
299 static void *
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
300 gaim_gtk_notify_email(GaimConnection *gc, const char *subject, const char *from,
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
301 const char *to, const char *url)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
302 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
303 return gaim_gtk_notify_emails(gc, 1, (subject != NULL),
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
304 (subject == NULL ? NULL : &subject),
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
305 (from == NULL ? NULL : &from),
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
306 (to == NULL ? NULL : &to),
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
307 (url == NULL ? NULL : &url));
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
308 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
309
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
310 static GtkWidget *
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
311 gaim_gtk_get_mail_dialog()
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
312 {
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
313 if (mail_dialog == NULL) {
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
314 GtkWidget *dialog = NULL;
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
315 GtkWidget *label;
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
316 GtkWidget *sw;
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
317 GtkCellRenderer *rend;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
318 GtkTreeViewColumn *column;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
319 GtkWidget *button = NULL;
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
320 GtkWidget *vbox = NULL;
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
321
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
322 dialog = gtk_dialog_new_with_buttons(_("New Mail"), NULL, 0,
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
323 GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
324 NULL);
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
325 gtk_window_set_role(GTK_WINDOW(dialog), "new_mail_detailed");
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
326
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
327 gtk_dialog_add_button(GTK_DIALOG(dialog),
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
328 _("Open All Messages"), GTK_RESPONSE_ACCEPT);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
329
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
330 button = gtk_dialog_add_button(GTK_DIALOG(dialog),
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
331 GAIM_STOCK_OPEN_MAIL, GTK_RESPONSE_YES);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
332
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
333 /* Setup the dialog */
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
334 gtk_container_set_border_width(GTK_CONTAINER(dialog), GAIM_HIG_BOX_SPACE);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
335 gtk_container_set_border_width(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), GAIM_HIG_BOX_SPACE);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
336 gtk_dialog_set_has_separator(GTK_DIALOG(dialog), FALSE);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
337 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(dialog)->vbox), GAIM_HIG_BORDER);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
338
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
339 /* Vertical box */
15163
fe05223b5d04 [gaim-migrate @ 17949]
Sean Egan <seanegan@gmail.com>
parents: 15144
diff changeset
340 vbox = GTK_DIALOG(dialog)->vbox;
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
341
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
342 /* Golden ratio it up! */
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
343 gtk_widget_set_size_request(dialog, 550, 400);
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
344
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
345 sw = gtk_scrolled_window_new(NULL, NULL);
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
346 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN);
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
347 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
348
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
349 mail_dialog = g_new0(GaimMailDialog, 1);
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
350 mail_dialog->dialog = dialog;
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
351 mail_dialog->open_button = button;
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
352
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
353 mail_dialog->treemodel = gtk_tree_store_new(COLUMNS_GAIM_MAIL,
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
354 GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_POINTER);
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
355 mail_dialog->treeview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(mail_dialog->treemodel));
15331
f8c999ce917f [gaim-migrate @ 18123]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15327
diff changeset
356 gtk_tree_view_set_search_column(GTK_TREE_VIEW(mail_dialog->treeview), GAIM_MAIL_TEXT);
f8c999ce917f [gaim-migrate @ 18123]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15327
diff changeset
357 gtk_tree_view_set_search_equal_func(GTK_TREE_VIEW(mail_dialog->treeview),
f8c999ce917f [gaim-migrate @ 18123]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15327
diff changeset
358 gaim_gtk_tree_view_search_equal_func, NULL, NULL);
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
359
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
360 g_signal_connect(G_OBJECT(dialog), "response",
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
361 G_CALLBACK(email_response_cb), mail_dialog);
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
362 g_signal_connect(G_OBJECT(gtk_tree_view_get_selection(GTK_TREE_VIEW(mail_dialog->treeview))),
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
363 "changed", G_CALLBACK(selection_changed_cb), mail_dialog);
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
364
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
365 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(mail_dialog->treeview), FALSE);
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
366 gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(mail_dialog->treeview), TRUE);
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
367 gtk_container_add(GTK_CONTAINER(sw), mail_dialog->treeview);
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
368
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
369 column = gtk_tree_view_column_new();
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
370 gtk_tree_view_column_set_resizable(column, TRUE);
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
371 rend = gtk_cell_renderer_pixbuf_new();
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
372 gtk_tree_view_column_pack_start(column, rend, FALSE);
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
373 gtk_tree_view_column_set_attributes(column, rend, "pixbuf", GAIM_MAIL_ICON, NULL);
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
374 rend = gtk_cell_renderer_text_new();
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
375 gtk_tree_view_column_pack_start(column, rend, TRUE);
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
376 gtk_tree_view_column_set_attributes(column, rend, "markup", GAIM_MAIL_TEXT, NULL);
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
377 gtk_tree_view_append_column(GTK_TREE_VIEW(mail_dialog->treeview), column);
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
378
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
379 label = gtk_label_new(NULL);
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
380 gtk_label_set_markup(GTK_LABEL(label), _("<span weight=\"bold\" size=\"larger\">You have mail!</span>"));
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
381 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
382 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
383 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
384 gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0);
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
385 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
386
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
387 return mail_dialog->dialog;
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
388 }
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
389
15333
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
390 /* count == 0 means this is a detailed mail notification.
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
391 * count > 0 mean non-detailed.
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
392 */
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
393 static void *
15333
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
394 gaim_gtk_notify_add_mail(GtkTreeStore *treemodel, GaimAccount *account, char *notification, const char *url, int count)
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
395 {
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
396 GaimNotifyMailData *data = NULL;
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
397 GtkTreeIter iter;
15333
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
398 GdkPixbuf *icon;
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
399 gboolean new_n = TRUE;
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
400
15333
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
401 icon = gaim_gtk_create_prpl_icon(account, 1);
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
402
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
403 if (count > 0) {
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
404 /* Allow only one non-detailed email notification for each account */
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
405 if (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(treemodel), &iter)) {
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
406 do {
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
407 gtk_tree_model_get(GTK_TREE_MODEL(treemodel), &iter,
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
408 GAIM_MAIL_DATA, &data, -1);
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
409 if (data->account == account && data->count > 0) {
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
410 new_n = FALSE;
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
411 g_free(data->url);
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
412 data->url = NULL;
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
413 mail_dialog->total_count -= data->count;
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
414 break;
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
415 }
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
416 } while (gtk_tree_model_iter_next(GTK_TREE_MODEL(treemodel), &iter));
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
417 }
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
418 }
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
419
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
420 if (new_n) {
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
421 data = g_new0(GaimNotifyMailData, 1);
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
422 gtk_tree_store_append(treemodel, &iter, NULL);
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
423 }
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
424
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
425 if (url != NULL)
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
426 data->url = g_strdup(url);
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
427
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
428 gtk_tree_store_set(treemodel, &iter,
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
429 GAIM_MAIL_ICON, icon,
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
430 GAIM_MAIL_TEXT, notification,
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
431 GAIM_MAIL_DATA, data,
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
432 -1);
15333
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
433 data->iter = iter; /* XXX: Do we use this for something? */
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
434 data->account = account;
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
435 data->count = count;
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
436 gtk_tree_model_get(GTK_TREE_MODEL(treemodel), &iter,
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
437 GAIM_MAIL_DATA, &data, -1);
15333
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
438 if (icon)
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
439 g_object_unref(icon);
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
440 return data;
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
441 }
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
442
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
443 static void *
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
444 gaim_gtk_notify_emails(GaimConnection *gc, size_t count, gboolean detailed,
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
445 const char **subjects, const char **froms,
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
446 const char **tos, const char **urls)
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
447 {
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
448 GtkWidget *dialog = NULL;
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
449 char *notification;
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
450 GaimAccount *account;
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
451 GaimNotifyMailData *data = NULL;
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
452
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
453 account = gaim_connection_get_account(gc);
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
454 dialog = gaim_gtk_get_mail_dialog(); /* This creates mail_dialog if necessary */
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
455
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
456 mail_dialog->total_count += count;
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
457 if (detailed) {
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
458 while (count--) {
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
459 char *to_text = NULL;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
460 char *from_text = NULL;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
461 char *subject_text = NULL;
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
462 char *tmp;
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
463 gboolean first = TRUE;
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
464
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
465 if (tos != NULL) {
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
466 tmp = g_markup_escape_text(*tos, -1);
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
467 to_text = g_strdup_printf("<b>%s</b>: %s\n", _("Account"), tmp);
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
468 g_free(tmp);
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
469 first = FALSE;
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
470 tos++;
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
471 }
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
472 if (froms != NULL) {
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
473 tmp = g_markup_escape_text(*froms, -1);
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
474 from_text = g_strdup_printf("%s<b>%s</b>: %s\n", first ? "<br>" : "", _("Sender"), tmp);
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
475 g_free(tmp);
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
476 first = FALSE;
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
477 froms++;
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
478 }
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
479 if (subjects != NULL) {
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
480 tmp = g_markup_escape_text(*subjects, -1);
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
481 subject_text = g_strdup_printf("%s<b>%s</b>: %s", first ? "<br>" : "", _("Subject"), tmp);
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
482 g_free(tmp);
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
483 first = FALSE;
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
484 subjects++;
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
485 }
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
486 #define SAFE(x) ((x) ? (x) : "")
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
487 notification = g_strdup_printf("%s%s%s", SAFE(to_text), SAFE(from_text), SAFE(subject_text));
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
488 #undef SAFE
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
489 g_free(to_text);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
490 g_free(from_text);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
491 g_free(subject_text);
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
492
15333
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
493 data = gaim_gtk_notify_add_mail(mail_dialog->treemodel, account, notification, urls ? *urls : NULL, 0);
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
494 g_free(notification);
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
495
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
496 if (urls != NULL)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
497 urls++;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
498 }
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
499 } else {
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
500 notification = g_strdup_printf(ngettext("%s has %d new message.",
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
501 "%s has %d new messages.",
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
502 (int)count),
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
503 *tos, (int)count);
15333
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
504 data = gaim_gtk_notify_add_mail(mail_dialog->treemodel, account, notification, urls ? *urls : NULL, count);
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
505 g_free(notification);
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
506 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
507
15184
a505577b6f4b [gaim-migrate @ 17973]
Sean Egan <seanegan@gmail.com>
parents: 15163
diff changeset
508 if (!GTK_WIDGET_VISIBLE(dialog)) {
a505577b6f4b [gaim-migrate @ 17973]
Sean Egan <seanegan@gmail.com>
parents: 15163
diff changeset
509 GdkPixbuf *pixbuf = gtk_widget_render_icon(dialog, GAIM_STOCK_ICON_ONLINE_MSG,
a505577b6f4b [gaim-migrate @ 17973]
Sean Egan <seanegan@gmail.com>
parents: 15163
diff changeset
510 GTK_ICON_SIZE_BUTTON, NULL);
a505577b6f4b [gaim-migrate @ 17973]
Sean Egan <seanegan@gmail.com>
parents: 15163
diff changeset
511 char *label_text = g_strdup_printf(ngettext("<b>You have %d new e-mail.</b>",
a505577b6f4b [gaim-migrate @ 17973]
Sean Egan <seanegan@gmail.com>
parents: 15163
diff changeset
512 "<b>You have %d new e-mails.</b>",
a505577b6f4b [gaim-migrate @ 17973]
Sean Egan <seanegan@gmail.com>
parents: 15163
diff changeset
513 mail_dialog->total_count), mail_dialog->total_count);
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
514 mail_dialog->in_use = TRUE; /* So that _set_headline doesn't accidentally
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
515 remove the notifications when replacing an
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
516 old notification. */
15184
a505577b6f4b [gaim-migrate @ 17973]
Sean Egan <seanegan@gmail.com>
parents: 15163
diff changeset
517 gaim_gtk_blist_set_headline(label_text,
15324
e3ea20c6e73f [gaim-migrate @ 18115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15213
diff changeset
518 pixbuf, G_CALLBACK(gtk_widget_show_all), dialog,
e3ea20c6e73f [gaim-migrate @ 18115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15213
diff changeset
519 (GDestroyNotify)reset_mail_dialog);
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
520 mail_dialog->in_use = FALSE;
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
521 g_free(label_text);
15333
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
522 if (pixbuf)
2086755211a5 [gaim-migrate @ 18125]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15331
diff changeset
523 g_object_unref(pixbuf);
15184
a505577b6f4b [gaim-migrate @ 17973]
Sean Egan <seanegan@gmail.com>
parents: 15163
diff changeset
524 }
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
525
15327
5dee50faa9ef [gaim-migrate @ 18118]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 15326
diff changeset
526 return NULL;
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
527 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
528
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
529 static gboolean
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
530 formatted_input_cb(GtkWidget *win, GdkEventKey *event, gpointer data)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
531 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
532 if (event->keyval == GDK_Escape)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
533 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
534 gaim_notify_close(GAIM_NOTIFY_FORMATTED, win);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
535
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
536 return TRUE;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
537 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
538
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
539 return FALSE;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
540 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
541
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
542 static void *
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
543 gaim_gtk_notify_formatted(const char *title, const char *primary,
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
544 const char *secondary, const char *text)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
545 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
546 GtkWidget *window;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
547 GtkWidget *vbox;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
548 GtkWidget *label;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
549 GtkWidget *button;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
550 GtkWidget *imhtml;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
551 GtkWidget *frame;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
552 int options = 0;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
553 char label_text[2048];
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
554 char *linked_text, *primary_esc, *secondary_esc;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
555
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
556 window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
557 gtk_window_set_title(GTK_WINDOW(window), title);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
558 gtk_window_set_type_hint(GTK_WINDOW(window), GDK_WINDOW_TYPE_HINT_DIALOG);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
559 gtk_container_set_border_width(GTK_CONTAINER(window), GAIM_HIG_BORDER);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
560
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
561 g_signal_connect(G_OBJECT(window), "delete_event",
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
562 G_CALLBACK(formatted_close_cb), NULL);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
563
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
564 /* Setup the main vbox */
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
565 vbox = gtk_vbox_new(FALSE, GAIM_HIG_BORDER);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
566 gtk_container_add(GTK_CONTAINER(window), vbox);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
567 gtk_widget_show(vbox);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
568
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
569 /* Setup the descriptive label */
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
570 primary_esc = g_markup_escape_text(primary, -1);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
571 secondary_esc = (secondary != NULL) ? g_markup_escape_text(secondary, -1) : NULL;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
572 g_snprintf(label_text, sizeof(label_text),
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
573 "<span weight=\"bold\" size=\"larger\">%s</span>%s%s",
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
574 primary_esc,
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
575 (secondary ? "\n" : ""),
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
576 (secondary ? secondary_esc : ""));
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
577 g_free(primary_esc);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
578 g_free(secondary_esc);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
579
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
580 label = gtk_label_new(NULL);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
581
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
582 gtk_label_set_markup(GTK_LABEL(label), label_text);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
583 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
584 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
585 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
586 gtk_widget_show(label);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
587
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
588 /* Add the imhtml */
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
589 frame = gaim_gtk_create_imhtml(FALSE, &imhtml, NULL, NULL);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
590 gtk_widget_set_name(imhtml, "gaim_gtknotify_imhtml");
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
591 gtk_imhtml_set_format_functions(GTK_IMHTML(imhtml),
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
592 gtk_imhtml_get_format_functions(GTK_IMHTML(imhtml)) | GTK_IMHTML_IMAGE);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
593 gtk_widget_set_size_request(imhtml, 300, 250);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
594 gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
595 gtk_widget_show(frame);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
596
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
597 /* Add the Close button. */
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
598 button = gtk_button_new_from_stock(GTK_STOCK_CLOSE);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
599 gtk_box_pack_start(GTK_BOX(vbox), button, FALSE, FALSE, 0);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
600 gtk_widget_show(button);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
601
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
602 g_signal_connect_swapped(G_OBJECT(button), "clicked",
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
603 G_CALLBACK(formatted_close_cb), window);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
604 g_signal_connect(G_OBJECT(window), "key_press_event",
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
605 G_CALLBACK(formatted_input_cb), NULL);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
606
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
607 /* Add the text to the gtkimhtml */
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
608 if (!gaim_prefs_get_bool("/gaim/gtk/conversations/show_incoming_formatting"))
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
609 options |= GTK_IMHTML_NO_COLOURS | GTK_IMHTML_NO_FONTS | GTK_IMHTML_NO_SIZES;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
610
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
611 options |= GTK_IMHTML_NO_COMMENTS;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
612 options |= GTK_IMHTML_NO_TITLE;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
613 options |= GTK_IMHTML_NO_NEWLINE;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
614 options |= GTK_IMHTML_NO_SCROLL;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
615
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
616 /* Make sure URLs are clickable */
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
617 linked_text = gaim_markup_linkify(text);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
618 gtk_imhtml_append_text(GTK_IMHTML(imhtml), linked_text, options);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
619 g_free(linked_text);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
620
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
621 /* Show the window */
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
622 gtk_widget_show(window);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
623
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
624 return window;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
625 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
626
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
627 static void
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
628 gaim_gtk_notify_searchresults_new_rows(GaimConnection *gc, GaimNotifySearchResults *results,
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
629 void *data_)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
630 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
631 GaimNotifySearchResultsData *data = data_;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
632 GtkListStore *model = data->model;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
633 GtkTreeIter iter;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
634 GdkPixbuf *pixbuf;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
635 guint col_num;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
636 guint i;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
637 guint j;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
638
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
639 gtk_list_store_clear(data->model);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
640
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
641 pixbuf = gaim_gtk_create_prpl_icon(gaim_connection_get_account(gc), 0.5);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
642
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
643 /* +1 is for the automagically created Status column. */
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
644 col_num = gaim_notify_searchresults_get_columns_count(results) + 1;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
645
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
646 for (i = 0; i < gaim_notify_searchresults_get_rows_count(results); i++) {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
647 GList *row = gaim_notify_searchresults_row_get(results, i);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
648
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
649 gtk_list_store_append(model, &iter);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
650 gtk_list_store_set(model, &iter, 0, pixbuf, -1);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
651
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
652 for (j = 1; j < col_num; j++) {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
653 GValue v;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
654 char *escaped = g_markup_escape_text(g_list_nth_data(row, j - 1), -1);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
655
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
656 v.g_type = 0;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
657 g_value_init(&v, G_TYPE_STRING);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
658 g_value_set_string(&v, escaped);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
659 gtk_list_store_set_value(model, &iter, j, &v);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
660 g_free(escaped);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
661 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
662 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
663
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
664 if (pixbuf != NULL)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
665 g_object_unref(pixbuf);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
666 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
667
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
668 static void *
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
669 gaim_gtk_notify_searchresults(GaimConnection *gc, const char *title,
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
670 const char *primary, const char *secondary,
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
671 GaimNotifySearchResults *results, gpointer user_data)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
672 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
673 GtkWidget *window;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
674 GtkWidget *treeview;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
675 GtkWidget *close_button;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
676 GType *col_types;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
677 GtkListStore *model;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
678 GtkCellRenderer *renderer;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
679 guint col_num;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
680 guint i;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
681
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
682 GtkWidget *vbox;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
683 GtkWidget *button_area;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
684 GtkWidget *label;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
685 GtkWidget *sw;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
686 GaimNotifySearchResultsData *data;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
687 char *label_text;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
688 char *primary_esc, *secondary_esc;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
689
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
690 g_return_val_if_fail(gc != NULL, NULL);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
691 g_return_val_if_fail(results != NULL, NULL);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
692
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
693 data = g_malloc(sizeof(GaimNotifySearchResultsData));
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
694 data->user_data = user_data;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
695 data->results = results;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
696
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
697 /* Create the window */
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
698 window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
699 gtk_window_set_title(GTK_WINDOW(window), (title ? title :_("Search Results")));
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
700 gtk_window_set_type_hint(GTK_WINDOW(window), GDK_WINDOW_TYPE_HINT_DIALOG);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
701 gtk_container_set_border_width(GTK_CONTAINER(window), GAIM_HIG_BORDER);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
702
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
703 g_signal_connect_swapped(G_OBJECT(window), "delete_event",
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
704 G_CALLBACK(searchresults_close_cb), data);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
705
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
706 /* Setup the main vbox */
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
707 vbox = gtk_vbox_new(FALSE, GAIM_HIG_BORDER);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
708 gtk_container_add(GTK_CONTAINER(window), vbox);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
709 gtk_widget_show(vbox);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
710
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
711 /* Setup the descriptive label */
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
712 primary_esc = (primary != NULL) ? g_markup_escape_text(primary, -1) : NULL;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
713 secondary_esc = (secondary != NULL) ? g_markup_escape_text(secondary, -1) : NULL;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
714 label_text = g_strdup_printf(
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
715 "<span weight=\"bold\" size=\"larger\">%s</span>%s%s",
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
716 (primary ? primary_esc : ""),
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
717 (primary && secondary ? "\n" : ""),
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
718 (secondary ? secondary_esc : ""));
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
719 g_free(primary_esc);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
720 g_free(secondary_esc);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
721 label = gtk_label_new(NULL);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
722 gtk_label_set_markup(GTK_LABEL(label), label_text);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
723 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
724 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
725 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
726 gtk_widget_show(label);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
727 g_free(label_text);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
728
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
729 /* +1 is for the automagically created Status column. */
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
730 col_num = gaim_notify_searchresults_get_columns_count(results) + 1;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
731
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
732 /* Setup the list model */
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
733 col_types = g_new0(GType, col_num);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
734
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
735 /* There always is this first column. */
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
736 col_types[0] = GDK_TYPE_PIXBUF;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
737 for (i = 1; i < col_num; i++) {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
738 col_types[i] = G_TYPE_STRING;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
739 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
740 model = gtk_list_store_newv(col_num, col_types);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
741
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
742 /* Setup the scrolled window containing the treeview */
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
743 sw = gtk_scrolled_window_new(NULL, NULL);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
744 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw),
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
745 GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
746 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw),
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
747 GTK_SHADOW_IN);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
748 gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
749 gtk_widget_show(sw);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
750
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
751 /* Setup the treeview */
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
752 treeview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(model));
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
753 gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(treeview), TRUE);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
754 gtk_widget_set_size_request(treeview, 500, 400);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
755 gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)),
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
756 GTK_SELECTION_SINGLE);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
757 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(treeview), TRUE);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
758 gtk_container_add(GTK_CONTAINER(sw), treeview);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
759 gtk_widget_show(treeview);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
760
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
761 renderer = gtk_cell_renderer_pixbuf_new();
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
762 gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(treeview),
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
763 -1, "", renderer, "pixbuf", 0, NULL);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
764
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
765 for (i = 1; i < col_num; i++) {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
766 renderer = gtk_cell_renderer_text_new();
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
767
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
768 gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(treeview), -1,
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
769 gaim_notify_searchresults_column_get_title(results, i-1),
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
770 renderer, "text", i, NULL);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
771 }
14224
ab8a105eff62 [gaim-migrate @ 16905]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14191
diff changeset
772
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
773 /* Setup the button area */
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
774 button_area = gtk_hbutton_box_new();
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
775 gtk_box_pack_start(GTK_BOX(vbox), button_area, FALSE, FALSE, 0);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
776 gtk_button_box_set_layout(GTK_BUTTON_BOX(button_area), GTK_BUTTONBOX_END);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
777 gtk_box_set_spacing(GTK_BOX(button_area), GAIM_HIG_BORDER);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
778 gtk_widget_show(button_area);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
779
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
780 for (i = 0; i < g_list_length(results->buttons); i++) {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
781 GaimNotifySearchButton *b = g_list_nth_data(results->buttons, i);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
782 GtkWidget *button = NULL;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
783 switch (b->type) {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
784 case GAIM_NOTIFY_BUTTON_LABELED:
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
785 if(b->label) {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
786 button = gtk_button_new_with_label(b->label);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
787 } else {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
788 gaim_debug_warning("gtknotify", "Missing button label");
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
789 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
790 break;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
791 case GAIM_NOTIFY_BUTTON_CONTINUE:
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
792 button = gtk_button_new_from_stock(GTK_STOCK_GO_FORWARD);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
793 break;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
794 case GAIM_NOTIFY_BUTTON_ADD:
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
795 button = gtk_button_new_from_stock(GTK_STOCK_ADD);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
796 break;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
797 case GAIM_NOTIFY_BUTTON_INFO:
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
798 button = gtk_button_new_from_stock(GAIM_STOCK_INFO);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
799 break;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
800 case GAIM_NOTIFY_BUTTON_IM:
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
801 button = gtk_button_new_from_stock(GAIM_STOCK_IM);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
802 break;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
803 case GAIM_NOTIFY_BUTTON_JOIN:
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
804 button = gtk_button_new_from_stock(GAIM_STOCK_CHAT);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
805 break;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
806 case GAIM_NOTIFY_BUTTON_INVITE:
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
807 button = gtk_button_new_from_stock(GAIM_STOCK_INVITE);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
808 break;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
809 default:
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
810 gaim_debug_warning("gtknotify", "Incorrect button type: %d\n", b->type);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
811 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
812 if (button != NULL) {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
813 GaimNotifySearchResultsButtonData *bd;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
814
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
815 gtk_box_pack_start(GTK_BOX(button_area), button, FALSE, FALSE, 0);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
816 gtk_widget_show(button);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
817
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
818 bd = g_new0(GaimNotifySearchResultsButtonData, 1);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
819 bd->button = b;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
820 bd->data = data;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
821
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
822 g_signal_connect(G_OBJECT(button), "clicked",
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
823 G_CALLBACK(searchresults_callback_wrapper_cb), bd);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
824 g_signal_connect_swapped(G_OBJECT(button), "destroy", G_CALLBACK(g_free), bd);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
825 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
826 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
827
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
828 /* Add the Close button */
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
829 close_button = gtk_button_new_from_stock(GTK_STOCK_CLOSE);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
830 gtk_box_pack_start(GTK_BOX(button_area), close_button, FALSE, FALSE, 0);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
831 gtk_widget_show(close_button);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
832
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
833 g_signal_connect_swapped(G_OBJECT(close_button), "clicked",
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
834 G_CALLBACK(searchresults_close_cb), data);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
835
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
836 data->account = gc->account;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
837 data->model = model;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
838 data->treeview = treeview;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
839 data->window = window;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
840
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
841 /* Insert rows. */
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
842 gaim_gtk_notify_searchresults_new_rows(gc, results, data);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
843
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
844 /* Show the window */
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
845 gtk_widget_show(window);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
846 return data;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
847 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
848
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
849 static void *
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
850 gaim_gtk_notify_userinfo(GaimConnection *gc, const char *who,
15144
94adee1cba70 [gaim-migrate @ 17930]
Evan Schoenberg <evan.s@dreskin.net>
parents: 14803
diff changeset
851 GaimNotifyUserInfo *user_info)
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
852 {
15144
94adee1cba70 [gaim-migrate @ 17930]
Evan Schoenberg <evan.s@dreskin.net>
parents: 14803
diff changeset
853 char *primary, *info;
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
854 void *ui_handle;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
855
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
856 primary = g_strdup_printf(_("Info for %s"), who);
15144
94adee1cba70 [gaim-migrate @ 17930]
Evan Schoenberg <evan.s@dreskin.net>
parents: 14803
diff changeset
857 info = gaim_notify_user_info_get_text_with_newline(user_info, "<br />");
94adee1cba70 [gaim-migrate @ 17930]
Evan Schoenberg <evan.s@dreskin.net>
parents: 14803
diff changeset
858 ui_handle = gaim_gtk_notify_formatted(_("Buddy Information"), primary, NULL, info);
94adee1cba70 [gaim-migrate @ 17930]
Evan Schoenberg <evan.s@dreskin.net>
parents: 14803
diff changeset
859 g_free(info);
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
860 g_free(primary);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
861 return ui_handle;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
862 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
863
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
864 static void
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
865 gaim_gtk_close_notify(GaimNotifyType type, void *ui_handle)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
866 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
867 if (type == GAIM_NOTIFY_EMAIL || type == GAIM_NOTIFY_EMAILS)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
868 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
869 GaimNotifyMailData *data = (GaimNotifyMailData *)ui_handle;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
870
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
871 g_free(data->url);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
872 g_free(data);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
873 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
874 else if (type == GAIM_NOTIFY_SEARCHRESULTS)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
875 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
876 GaimNotifySearchResultsData *data = (GaimNotifySearchResultsData *)ui_handle;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
877
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
878 gtk_widget_destroy(data->window);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
879 gaim_notify_searchresults_free(data->results);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
880
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
881 g_free(data);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
882 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
883 else if (ui_handle != NULL)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
884 gtk_widget_destroy(GTK_WIDGET(ui_handle));
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
885 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
886
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
887 #ifndef _WIN32
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
888 static gint
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
889 uri_command(const char *command, gboolean sync)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
890 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
891 gchar *tmp;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
892 GError *error = NULL;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
893 gint ret = 0;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
894
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
895 gaim_debug_misc("gtknotify", "Executing %s\n", command);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
896
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
897 if (!gaim_program_is_valid(command))
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
898 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
899 tmp = g_strdup_printf(_("The browser command \"%s\" is invalid."),
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
900 command ? command : "(none)");
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
901 gaim_notify_error(NULL, NULL, _("Unable to open URL"), tmp);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
902 g_free(tmp);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
903
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
904 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
905 else if (sync)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
906 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
907 gint status;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
908
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
909 if (!g_spawn_command_line_sync(command, NULL, NULL, &status, &error))
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
910 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
911 tmp = g_strdup_printf(_("Error launching \"%s\": %s"),
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
912 command, error->message);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
913 gaim_notify_error(NULL, NULL, _("Unable to open URL"), tmp);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
914 g_free(tmp);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
915 g_error_free(error);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
916 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
917 else
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
918 ret = status;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
919 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
920 else
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
921 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
922 if (!g_spawn_command_line_async(command, &error))
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
923 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
924 tmp = g_strdup_printf(_("Error launching \"%s\": %s"),
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
925 command, error->message);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
926 gaim_notify_error(NULL, NULL, _("Unable to open URL"), tmp);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
927 g_free(tmp);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
928 g_error_free(error);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
929 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
930 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
931
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
932 return ret;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
933 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
934 #endif /* _WIN32 */
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
935
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
936 static void *
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
937 gaim_gtk_notify_uri(const char *uri)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
938 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
939 #ifndef _WIN32
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
940 char *escaped = g_shell_quote(uri);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
941 char *command = NULL;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
942 char *remote_command = NULL;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
943 const char *web_browser;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
944 int place;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
945
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
946 web_browser = gaim_prefs_get_string("/gaim/gtk/browsers/browser");
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
947 place = gaim_prefs_get_int("/gaim/gtk/browsers/place");
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
948
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
949 /* if they are running gnome, use the gnome web browser */
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
950 if (gaim_running_gnome() == TRUE)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
951 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
952 command = g_strdup_printf("gnome-open %s", escaped);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
953 }
14647
18b74ed00850 [gaim-migrate @ 17393]
Evan Schoenberg <evan.s@dreskin.net>
parents: 14614
diff changeset
954 else if (gaim_running_osx() == TRUE)
18b74ed00850 [gaim-migrate @ 17393]
Evan Schoenberg <evan.s@dreskin.net>
parents: 14614
diff changeset
955 {
18b74ed00850 [gaim-migrate @ 17393]
Evan Schoenberg <evan.s@dreskin.net>
parents: 14614
diff changeset
956 command = g_strdup_printf("open %s", escaped);
18b74ed00850 [gaim-migrate @ 17393]
Evan Schoenberg <evan.s@dreskin.net>
parents: 14614
diff changeset
957 }
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
958 else if (!strcmp(web_browser, "epiphany") ||
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
959 !strcmp(web_browser, "galeon"))
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
960 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
961 if (place == GAIM_BROWSER_NEW_WINDOW)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
962 command = g_strdup_printf("%s -w %s", web_browser, escaped);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
963 else if (place == GAIM_BROWSER_NEW_TAB)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
964 command = g_strdup_printf("%s -n %s", web_browser, escaped);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
965 else
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
966 command = g_strdup_printf("%s %s", web_browser, escaped);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
967 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
968 else if (!strcmp(web_browser, "gnome-open"))
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
969 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
970 command = g_strdup_printf("gnome-open %s", escaped);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
971 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
972 else if (!strcmp(web_browser, "kfmclient"))
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
973 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
974 command = g_strdup_printf("kfmclient openURL %s", escaped);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
975 /*
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
976 * Does Konqueror have options to open in new tab
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
977 * and/or current window?
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
978 */
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
979 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
980 else if (!strcmp(web_browser, "mozilla") ||
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
981 !strcmp(web_browser, "mozilla-firebird") ||
14614
45cdf2cf456c [gaim-migrate @ 17342]
Mark Doliner <mark@kingant.net>
parents: 14574
diff changeset
982 !strcmp(web_browser, "firefox") ||
45cdf2cf456c [gaim-migrate @ 17342]
Mark Doliner <mark@kingant.net>
parents: 14574
diff changeset
983 !strcmp(web_browser, "seamonkey"))
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
984 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
985 char *args = "";
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
986
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
987 command = g_strdup_printf("%s %s", web_browser, escaped);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
988
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
989 /*
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
990 * Firefox 0.9 and higher require a "-a firefox" option when
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
991 * using -remote commands. This breaks older versions of
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
992 * mozilla. So we include this other handly little string
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
993 * when calling firefox. If the API for remote calls changes
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
994 * any more in firefox then firefox should probably be split
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
995 * apart from mozilla-firebird and mozilla... but this is good
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
996 * for now.
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
997 */
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
998 if (!strcmp(web_browser, "firefox"))
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
999 args = "-a firefox";
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1000
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1001 if (place == GAIM_BROWSER_NEW_WINDOW)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1002 remote_command = g_strdup_printf("%s %s -remote "
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1003 "openURL(%s,new-window)",
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1004 web_browser, args, escaped);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1005 else if (place == GAIM_BROWSER_NEW_TAB)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1006 remote_command = g_strdup_printf("%s %s -remote "
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1007 "openURL(%s,new-tab)",
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1008 web_browser, args, escaped);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1009 else if (place == GAIM_BROWSER_CURRENT)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1010 remote_command = g_strdup_printf("%s %s -remote "
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1011 "openURL(%s)",
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1012 web_browser, args, escaped);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1013 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1014 else if (!strcmp(web_browser, "netscape"))
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1015 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1016 command = g_strdup_printf("netscape %s", escaped);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1017
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1018 if (place == GAIM_BROWSER_NEW_WINDOW)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1019 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1020 remote_command = g_strdup_printf("netscape -remote "
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1021 "openURL(%s,new-window)",
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1022 escaped);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1023 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1024 else if (place == GAIM_BROWSER_CURRENT)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1025 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1026 remote_command = g_strdup_printf("netscape -remote "
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1027 "openURL(%s)", escaped);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1028 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1029 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1030 else if (!strcmp(web_browser, "opera"))
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1031 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1032 if (place == GAIM_BROWSER_NEW_WINDOW)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1033 command = g_strdup_printf("opera -newwindow %s", escaped);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1034 else if (place == GAIM_BROWSER_NEW_TAB)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1035 command = g_strdup_printf("opera -newpage %s", escaped);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1036 else if (place == GAIM_BROWSER_CURRENT)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1037 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1038 remote_command = g_strdup_printf("opera -remote "
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1039 "openURL(%s)", escaped);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1040 command = g_strdup_printf("opera %s", escaped);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1041 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1042 else
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1043 command = g_strdup_printf("opera %s", escaped);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1044
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1045 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1046 else if (!strcmp(web_browser, "custom"))
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1047 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1048 const char *web_command;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1049
15343
85a2aafc9c4b [gaim-migrate @ 18136]
Nathan Walp <nwalp@pidgin.im>
parents: 15333
diff changeset
1050 web_command = gaim_prefs_get_path("/gaim/gtk/browsers/command");
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1051
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1052 if (web_command == NULL || *web_command == '\0')
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1053 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1054 gaim_notify_error(NULL, NULL, _("Unable to open URL"),
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1055 _("The 'Manual' browser command has been "
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1056 "chosen, but no command has been set."));
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1057 return NULL;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1058 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1059
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1060 if (strstr(web_command, "%s"))
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1061 command = gaim_strreplace(web_command, "%s", escaped);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1062 else
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1063 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1064 /*
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1065 * There is no "%s" in the browser command. Assume the user
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1066 * wanted the URL tacked on to the end of the command.
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1067 */
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1068 command = g_strdup_printf("%s %s", web_command, escaped);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1069 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1070 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1071
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1072 g_free(escaped);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1073
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1074 if (remote_command != NULL)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1075 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1076 /* try the remote command first */
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1077 if (uri_command(remote_command, TRUE) != 0)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1078 uri_command(command, FALSE);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1079
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1080 g_free(remote_command);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1081
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1082 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1083 else
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1084 uri_command(command, FALSE);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1085
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1086 g_free(command);
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1087
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1088 #else /* !_WIN32 */
14224
ab8a105eff62 [gaim-migrate @ 16905]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14191
diff changeset
1089 gtkwgaim_notify_uri(uri);
14191
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1090 #endif /* !_WIN32 */
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1091
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1092 return NULL;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1093 }
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1094
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1095 static GaimNotifyUiOps ops =
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1096 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1097 gaim_gtk_notify_message,
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1098 gaim_gtk_notify_email,
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1099 gaim_gtk_notify_emails,
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1100 gaim_gtk_notify_formatted,
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1101 gaim_gtk_notify_searchresults,
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1102 gaim_gtk_notify_searchresults_new_rows,
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1103 gaim_gtk_notify_userinfo,
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1104 gaim_gtk_notify_uri,
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1105 gaim_gtk_close_notify
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1106 };
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1107
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1108 GaimNotifyUiOps *
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1109 gaim_gtk_notify_get_ui_ops(void)
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1110 {
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1111 return &ops;
009db0b357b5 This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1112 }