Mercurial > pidgin
annotate src/applet.c @ 2583:ce3df2c43f46
[gaim-migrate @ 2596]
thanks to Dennis Lambe Jr. (malsyned).
Several of you will probably wonder why I put it in gtkimhtml.c instead of conversation.c like the rest of the smilies. (Dennis also put it in gtkimhtml.c.)
gtkimhtml.c strives to be more or less compatible and identical with winaim (though fewer bugs ;) ). winaim parses out :-d. winaim doesn't parse any of the ones in conversation.c though. So if winaim parses it, it goes in gtkimhtml.c.
committer: Tailor Script <tailor@pidgin.im>
| author | Eric Warmenhoven <eric@warmenhoven.org> |
|---|---|
| date | Tue, 23 Oct 2001 04:59:46 +0000 |
| parents | f0e8cf09d8a3 |
| children | b74421e92d55 |
| rev | line source |
|---|---|
| 1261 | 1 /************************************************************** |
| 2 ** | |
| 3 ** GaimGnomeAppletMgr | |
| 4 ** Author - Quinticent (John Palmieri: johnp@martianrock.com) | |
| 5 ** | |
| 6 ** Purpose - Takes over the task of managing the GNOME applet | |
| 7 ** code and provides a centralized codebase for | |
| 8 ** GNOME integration for Gaim. | |
| 9 ** | |
| 10 ** | |
| 11 ** gaim | |
| 12 ** | |
| 13 ** Copyright (C) 1998-1999, Mark Spencer <markster@marko.net> | |
| 14 ** | |
| 15 ** This program is free software; you can redistribute it and/or modify | |
| 16 ** it under the terms of the GNU General Public License as published by | |
| 17 ** the Free Software Foundation; either version 2 of the License, or | |
| 18 ** (at your option) any later version. | |
| 19 ** | |
| 20 ** This program is distributed in the hope that it will be useful, | |
| 21 ** but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 22 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 23 ** GNU General Public License for more details. | |
| 24 ** | |
| 25 ** You should have received a copy of the GNU General Public License | |
| 26 ** along with this program; if not, write to the Free Software | |
| 27 ** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| 28 */ | |
| 29 | |
| 30 #ifdef HAVE_CONFIG_H | |
|
2090
b66aca8e8dce
[gaim-migrate @ 2100]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1815
diff
changeset
|
31 #include <config.h> |
| 1261 | 32 #endif |
| 33 #ifdef USE_APPLET | |
| 34 #include <string.h> | |
|
2484
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
35 #include <gdk-pixbuf/gdk-pixbuf.h> |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
36 #include <libart_lgpl/art_affine.h> |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
37 #include <libart_lgpl/art_rgb_affine.h> |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
38 #include <libart_lgpl/art_rgb_rgba_affine.h> |
| 1261 | 39 #include "gaim.h" |
| 40 #include "applet.h" | |
|
2484
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
41 #include "pixmaps/aimicon.xpm" |
| 1261 | 42 |
| 43 static int connecting = 0; | |
| 44 | |
| 45 gboolean applet_buddy_show = FALSE; | |
| 46 | |
| 47 GtkWidget *applet; | |
|
2484
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
48 static GtkWidget *icon; |
| 1261 | 49 |
|
2549
7c64b3ad0c3d
[gaim-migrate @ 2562]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2534
diff
changeset
|
50 static GtkAllocation *get_applet_pos(gboolean); |
|
2484
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
51 static gint sizehint = 48; |
| 1261 | 52 |
|
2484
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
53 static GdkPixmap *get_applet_icon(const char *name) |
| 1261 | 54 { |
|
2484
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
55 GdkPixmap *cache; |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
56 GdkGC *gc; |
| 1261 | 57 char *path; |
|
2486
cf3218cd9f94
[gaim-migrate @ 2499]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2484
diff
changeset
|
58 GdkPixbuf *pb, *scale; |
|
2484
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
59 guchar *dst, *p; |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
60 double affine[6]; |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
61 int r,g,b,i; |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
62 |
| 2567 | 63 if (!applet) |
| 64 return NULL; | |
| 65 | |
|
2484
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
66 cache = gdk_pixmap_new(applet->window, sizehint, sizehint, |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
67 gtk_widget_get_visual(applet)->depth); |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
68 gc = gdk_gc_new(cache); |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
69 gdk_gc_copy(gc, applet->style->bg_gc[GTK_WIDGET_STATE(applet)]); |
| 1261 | 70 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
71 path = gnome_pixmap_file(name); |
|
2486
cf3218cd9f94
[gaim-migrate @ 2499]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2484
diff
changeset
|
72 scale = gdk_pixbuf_new_from_file(path); |
|
2484
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
73 g_free(path); |
|
2486
cf3218cd9f94
[gaim-migrate @ 2499]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2484
diff
changeset
|
74 if (!scale) |
|
2484
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
75 return NULL; |
|
2486
cf3218cd9f94
[gaim-migrate @ 2499]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2484
diff
changeset
|
76 pb = gdk_pixbuf_scale_simple(scale, sizehint, sizehint, GDK_INTERP_HYPER); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
77 |
|
2484
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
78 dst = g_new0(guchar, sizehint*sizehint*3); |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
79 r = applet->style->bg[GTK_WIDGET_STATE(applet)].red>>8; |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
80 g = applet->style->bg[GTK_WIDGET_STATE(applet)].green>>8; |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
81 b = applet->style->bg[GTK_WIDGET_STATE(applet)].blue>>8; |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
82 p = dst; |
|
2486
cf3218cd9f94
[gaim-migrate @ 2499]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2484
diff
changeset
|
83 for (i = 0; i < sizehint * sizehint; i++) { |
|
2484
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
84 *p++ = r; |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
85 *p++ = g; |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
86 *p++ = b; |
| 1261 | 87 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
88 |
|
2484
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
89 art_affine_identity(affine); |
|
2497
be88e02789e0
[gaim-migrate @ 2510]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2492
diff
changeset
|
90 if (gdk_pixbuf_get_has_alpha(pb)) |
|
be88e02789e0
[gaim-migrate @ 2510]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2492
diff
changeset
|
91 art_rgb_rgba_affine(dst, 0, 0, sizehint, sizehint, sizehint * 3, |
|
be88e02789e0
[gaim-migrate @ 2510]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2492
diff
changeset
|
92 gdk_pixbuf_get_pixels(pb), gdk_pixbuf_get_width(pb), |
|
be88e02789e0
[gaim-migrate @ 2510]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2492
diff
changeset
|
93 gdk_pixbuf_get_height(pb), gdk_pixbuf_get_rowstride(pb), |
|
be88e02789e0
[gaim-migrate @ 2510]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2492
diff
changeset
|
94 affine, ART_FILTER_NEAREST, NULL); |
|
be88e02789e0
[gaim-migrate @ 2510]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2492
diff
changeset
|
95 else |
|
be88e02789e0
[gaim-migrate @ 2510]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2492
diff
changeset
|
96 art_rgb_affine(dst, 0, 0, sizehint, sizehint, sizehint * 3, |
|
be88e02789e0
[gaim-migrate @ 2510]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2492
diff
changeset
|
97 gdk_pixbuf_get_pixels(pb), gdk_pixbuf_get_width(pb), |
|
be88e02789e0
[gaim-migrate @ 2510]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2492
diff
changeset
|
98 gdk_pixbuf_get_height(pb), gdk_pixbuf_get_rowstride(pb), |
|
be88e02789e0
[gaim-migrate @ 2510]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2492
diff
changeset
|
99 affine, ART_FILTER_NEAREST, NULL); |
| 1261 | 100 |
|
2484
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
101 gdk_pixbuf_unref(pb); |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
102 gdk_draw_rgb_image(cache, gc, 0, 0, sizehint, sizehint, |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
103 GDK_RGB_DITHER_NORMAL, dst, sizehint * 3); |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
104 g_free(dst); |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
105 |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
106 gdk_gc_unref(gc); |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
107 return cache; |
| 1261 | 108 } |
| 109 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
110 static gboolean update_applet() |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
111 { |
| 1261 | 112 char buf[BUF_LONG]; |
| 113 GSList *c = connections; | |
|
2484
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
114 GdkPixmap *newpix; |
| 1261 | 115 |
| 116 if (connecting) { | |
|
2484
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
117 newpix = get_applet_icon(GAIM_GNOME_CONNECT_ICON); |
| 1261 | 118 applet_set_tooltips(_("Attempting to sign on....")); |
| 119 } else if (!connections) { | |
|
2484
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
120 newpix = get_applet_icon(GAIM_GNOME_OFFLINE_ICON); |
|
1815
f15d449b3167
[gaim-migrate @ 1825]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1689
diff
changeset
|
121 applet_set_tooltips(_("Offline. Click to bring up login box.")); |
|
2468
16e8b83b10a2
[gaim-migrate @ 2481]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
122 } else if (awaymessage) { |
|
16e8b83b10a2
[gaim-migrate @ 2481]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
123 int dsr = 0; |
|
16e8b83b10a2
[gaim-migrate @ 2481]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
124 |
|
16e8b83b10a2
[gaim-migrate @ 2481]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
125 if ((away_options & OPT_AWAY_QUEUE) && message_queue) { |
|
16e8b83b10a2
[gaim-migrate @ 2481]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
126 GSList *m = message_queue; |
|
16e8b83b10a2
[gaim-migrate @ 2481]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
127 while (m) { |
|
16e8b83b10a2
[gaim-migrate @ 2481]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
128 struct queued_message *qm = m->data; |
|
16e8b83b10a2
[gaim-migrate @ 2481]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
129 if (qm->flags & WFLAG_RECV) |
|
16e8b83b10a2
[gaim-migrate @ 2481]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
130 dsr++; |
|
16e8b83b10a2
[gaim-migrate @ 2481]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
131 m = m->next; |
|
16e8b83b10a2
[gaim-migrate @ 2481]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
132 } |
|
16e8b83b10a2
[gaim-migrate @ 2481]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
133 } |
|
16e8b83b10a2
[gaim-migrate @ 2481]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
134 |
|
16e8b83b10a2
[gaim-migrate @ 2481]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
135 if (dsr) { |
|
2484
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
136 newpix = get_applet_icon(GAIM_GNOME_MSG_PENDING_ICON); |
|
2468
16e8b83b10a2
[gaim-migrate @ 2481]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
137 g_snprintf(buf, sizeof(buf), _("Away: %d pending."), dsr); |
|
16e8b83b10a2
[gaim-migrate @ 2481]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
138 } else { |
|
2484
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
139 newpix = get_applet_icon(GAIM_GNOME_AWAY_ICON); |
|
2468
16e8b83b10a2
[gaim-migrate @ 2481]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
140 g_snprintf(buf, sizeof(buf), _("Away.")); |
|
16e8b83b10a2
[gaim-migrate @ 2481]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
141 } |
|
16e8b83b10a2
[gaim-migrate @ 2481]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
142 |
|
16e8b83b10a2
[gaim-migrate @ 2481]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
143 applet_set_tooltips(buf); |
|
16e8b83b10a2
[gaim-migrate @ 2481]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
144 } else { |
|
2484
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
145 newpix = get_applet_icon(GAIM_GNOME_ONLINE_ICON); |
| 1261 | 146 g_snprintf(buf, sizeof buf, "Online: "); |
| 147 while (c) { | |
| 148 strcat(buf, ((struct gaim_connection *)c->data)->username); | |
| 149 c = g_slist_next(c); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
150 if (c) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
151 strcat(buf, ", "); |
| 1261 | 152 } |
| 153 applet_set_tooltips(buf); | |
| 154 } | |
| 155 | |
|
2484
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
156 if (newpix) { |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
157 gtk_pixmap_set(GTK_PIXMAP(icon), newpix, NULL); |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
158 gdk_pixmap_unref(newpix); |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
159 } |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
160 |
| 1261 | 161 return TRUE; |
| 162 } | |
| 163 | |
|
2484
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
164 #ifdef HAVE_PANEL_PIXEL_SIZE |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
165 static void applet_change_pixel_size(GtkWidget *w, int size, gpointer data) |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
166 { |
|
2484
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
167 sizehint = size; |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
168 gtk_widget_set_usize(icon, sizehint, sizehint); |
| 1261 | 169 update_applet(); |
| 170 } | |
|
2484
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
171 #endif |
| 1261 | 172 |
| 173 extern GtkWidget *mainwindow; | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
174 void applet_show_login(AppletWidget *widget, gpointer data) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
175 { |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
176 show_login(); |
|
2314
64b4c69c1c5e
[gaim-migrate @ 2324]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2090
diff
changeset
|
177 if (blist_options & OPT_BLIST_NEAR_APPLET) { |
|
2549
7c64b3ad0c3d
[gaim-migrate @ 2562]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2534
diff
changeset
|
178 GtkAllocation *a = get_applet_pos(FALSE); |
|
7c64b3ad0c3d
[gaim-migrate @ 2562]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2534
diff
changeset
|
179 gtk_widget_set_uposition(mainwindow, a->x, a->y); |
| 1261 | 180 } |
| 181 } | |
| 182 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
183 void applet_do_signon(AppletWidget *widget, gpointer data) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
184 { |
| 1261 | 185 applet_show_login(NULL, 0); |
| 186 } | |
| 187 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
188 void insert_applet_away() |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
189 { |
| 1261 | 190 GSList *awy = away_messages; |
| 191 struct away_message *a; | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
192 char *awayname; |
| 1261 | 193 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
194 applet_widget_register_callback_dir(APPLET_WIDGET(applet), "away/", _("Away")); |
| 1261 | 195 applet_widget_register_callback(APPLET_WIDGET(applet), |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
196 "away/new", |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
197 _("New Away Message"), |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
198 (AppletCallbackFunc)create_away_mess, NULL); |
| 1261 | 199 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
200 while (awy) { |
| 1261 | 201 a = (struct away_message *)awy->data; |
| 202 | |
| 203 awayname = g_malloc(sizeof *awayname * (6 + strlen(a->name))); | |
| 204 awayname[0] = '\0'; | |
| 205 strcat(awayname, "away/"); | |
| 206 strcat(awayname, a->name); | |
| 207 applet_widget_register_callback(APPLET_WIDGET(applet), | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
208 awayname, |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
209 a->name, (AppletCallbackFunc)do_away_message, a); |
| 1261 | 210 |
| 211 awy = g_slist_next(awy); | |
|
1421
13a34fb4abb0
[gaim-migrate @ 1431]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1420
diff
changeset
|
212 g_free(awayname); |
| 1261 | 213 } |
| 214 } | |
| 215 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
216 void remove_applet_away() |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
217 { |
| 1261 | 218 GSList *awy = away_messages; |
| 219 struct away_message *a; | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
220 char *awayname; |
| 1261 | 221 |
|
1591
5c74d8b6cb57
[gaim-migrate @ 1601]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
222 if (!applet) |
|
5c74d8b6cb57
[gaim-migrate @ 1601]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
223 return; |
|
5c74d8b6cb57
[gaim-migrate @ 1601]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
224 |
| 1261 | 225 applet_widget_unregister_callback(APPLET_WIDGET(applet), "away/new"); |
| 226 | |
| 227 while (awy) { | |
| 228 a = (struct away_message *)awy->data; | |
| 229 | |
| 230 awayname = g_malloc(sizeof *awayname * (6 + strlen(a->name))); | |
| 231 awayname[0] = '\0'; | |
| 232 strcat(awayname, "away/"); | |
| 233 strcat(awayname, a->name); | |
| 234 applet_widget_unregister_callback(APPLET_WIDGET(applet), awayname); | |
| 235 | |
| 236 awy = g_slist_next(awy); | |
|
2492
1a25e4869e7d
[gaim-migrate @ 2505]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2489
diff
changeset
|
237 g_free(awayname); |
| 1261 | 238 } |
| 239 applet_widget_unregister_callback_dir(APPLET_WIDGET(applet), "away/"); | |
| 240 applet_widget_unregister_callback(APPLET_WIDGET(applet), "away"); | |
| 241 } | |
| 242 | |
|
2549
7c64b3ad0c3d
[gaim-migrate @ 2562]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2534
diff
changeset
|
243 static GtkAllocation *get_applet_pos(gboolean for_blist) |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
244 { |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
245 gint x, y, pad; |
| 1261 | 246 GtkRequisition buddy_req, applet_req; |
|
2549
7c64b3ad0c3d
[gaim-migrate @ 2562]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2534
diff
changeset
|
247 GtkAllocation *result = g_new0(GtkAllocation, 1); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
248 GNOME_Panel_OrientType orient = applet_widget_get_panel_orient(APPLET_WIDGET(applet)); |
| 1261 | 249 pad = 5; |
| 250 | |
|
2484
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
251 gdk_window_get_position(gtk_widget_get_parent_window(icon), &x, &y); |
| 1261 | 252 if (for_blist) { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
253 if (blist_options & OPT_BLIST_SAVED_WINDOWS) { |
| 1261 | 254 buddy_req.width = blist_pos.width; |
| 255 buddy_req.height = blist_pos.height; | |
| 256 } else { | |
| 257 buddy_req = blist->requisition; | |
| 258 } | |
| 259 } else { | |
| 260 buddy_req = mainwindow->requisition; | |
| 261 } | |
|
2484
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
262 applet_req = icon->requisition; |
| 1261 | 263 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
264 switch (orient) { |
| 1261 | 265 case ORIENT_UP: |
|
2549
7c64b3ad0c3d
[gaim-migrate @ 2562]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2534
diff
changeset
|
266 result->x = x; |
|
7c64b3ad0c3d
[gaim-migrate @ 2562]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2534
diff
changeset
|
267 result->y = y - (buddy_req.height + pad); |
| 1261 | 268 break; |
| 269 case ORIENT_DOWN: | |
|
2549
7c64b3ad0c3d
[gaim-migrate @ 2562]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2534
diff
changeset
|
270 result->x = x; |
|
7c64b3ad0c3d
[gaim-migrate @ 2562]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2534
diff
changeset
|
271 result->y = y + applet_req.height + pad; |
| 1261 | 272 break; |
| 273 case ORIENT_LEFT: | |
|
2549
7c64b3ad0c3d
[gaim-migrate @ 2562]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2534
diff
changeset
|
274 result->x = x - (buddy_req.width + pad); |
|
7c64b3ad0c3d
[gaim-migrate @ 2562]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2534
diff
changeset
|
275 result->y = y; |
| 1261 | 276 break; |
| 277 case ORIENT_RIGHT: | |
|
2549
7c64b3ad0c3d
[gaim-migrate @ 2562]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2534
diff
changeset
|
278 result->x = x + applet_req.width + pad; |
|
7c64b3ad0c3d
[gaim-migrate @ 2562]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2534
diff
changeset
|
279 result->y = y; |
| 1261 | 280 break; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
281 } |
|
2549
7c64b3ad0c3d
[gaim-migrate @ 2562]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2534
diff
changeset
|
282 |
|
7c64b3ad0c3d
[gaim-migrate @ 2562]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2534
diff
changeset
|
283 if (result->x < 0) |
|
7c64b3ad0c3d
[gaim-migrate @ 2562]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2534
diff
changeset
|
284 result->x = 0; |
|
7c64b3ad0c3d
[gaim-migrate @ 2562]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2534
diff
changeset
|
285 if (result->y < 0) |
|
7c64b3ad0c3d
[gaim-migrate @ 2562]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2534
diff
changeset
|
286 result->y = 0; |
|
7c64b3ad0c3d
[gaim-migrate @ 2562]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2534
diff
changeset
|
287 if (result->x > gdk_screen_width() - buddy_req.width) |
|
7c64b3ad0c3d
[gaim-migrate @ 2562]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2534
diff
changeset
|
288 result->x = gdk_screen_width() - buddy_req.width; |
|
7c64b3ad0c3d
[gaim-migrate @ 2562]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2534
diff
changeset
|
289 if (result->y > gdk_screen_height() - buddy_req.height) |
|
7c64b3ad0c3d
[gaim-migrate @ 2562]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2534
diff
changeset
|
290 result->y = gdk_screen_height() - buddy_req.height; |
|
7c64b3ad0c3d
[gaim-migrate @ 2562]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2534
diff
changeset
|
291 |
| 1261 | 292 return result; |
| 293 } | |
| 294 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
295 void createOnlinePopup() |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
296 { |
|
2549
7c64b3ad0c3d
[gaim-migrate @ 2562]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2534
diff
changeset
|
297 GtkAllocation *al; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
298 if (blist) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
299 gtk_widget_show(blist); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
300 al = get_applet_pos(TRUE); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
301 if (blist_options & OPT_BLIST_NEAR_APPLET) |
|
2549
7c64b3ad0c3d
[gaim-migrate @ 2562]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2534
diff
changeset
|
302 gtk_widget_set_uposition(blist, al->x, al->y); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
303 else if (blist_options & OPT_BLIST_SAVED_WINDOWS) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
304 gtk_widget_set_uposition(blist, blist_pos.x - blist_pos.xoff, |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
305 blist_pos.y - blist_pos.yoff); |
|
2549
7c64b3ad0c3d
[gaim-migrate @ 2562]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2534
diff
changeset
|
306 g_free(al); |
| 1261 | 307 } |
| 308 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
309 void AppletClicked(GtkWidget *sender, GdkEventButton *ev, gpointer data) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
310 { |
| 1261 | 311 if (!ev || ev->button != 1 || ev->type != GDK_BUTTON_PRESS) |
| 312 return; | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
313 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
314 if (applet_buddy_show) { |
| 1261 | 315 applet_buddy_show = FALSE; |
| 316 if (!connections && mainwindow) | |
| 317 gtk_widget_hide(mainwindow); | |
| 318 else | |
| 319 gtk_widget_hide(blist); | |
| 320 } else { | |
| 321 applet_buddy_show = TRUE; | |
| 322 if (!connections) | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
323 applet_show_login(APPLET_WIDGET(applet), NULL); |
| 1261 | 324 else |
| 325 createOnlinePopup(); | |
| 326 } | |
| 327 } | |
| 328 | |
| 329 | |
| 330 /*************************************************************** | |
| 331 ** | |
| 332 ** Initialize GNOME stuff | |
| 333 ** | |
| 334 ****************************************************************/ | |
| 335 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
336 gint init_applet_mgr(int argc, char *argv[]) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
337 { |
|
2484
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
338 GdkPixmap *pm; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
339 |
| 2534 | 340 applet_widget_init("Gaim", VERSION, argc, argv, NULL, 0, NULL); |
| 1261 | 341 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
342 applet = applet_widget_new("gaim_applet"); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
343 if (!applet) |
| 2534 | 344 g_error(_("Can't create Gaim applet!")); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
345 gtk_widget_set_events(applet, gtk_widget_get_events(applet) | GDK_BUTTON_PRESS_MASK); |
|
2484
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
346 gtk_widget_realize(applet); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
347 |
|
2484
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
348 pm = get_applet_icon(GAIM_GNOME_OFFLINE_ICON); |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
349 if (!pm) |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
350 pm = gdk_pixmap_create_from_xpm_d(applet->window, NULL, |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
351 &applet->style->bg[GTK_WIDGET_STATE(applet)], aimicon_xpm); |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
352 icon = gtk_pixmap_new(pm, NULL); |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
353 gtk_widget_set_usize(icon, sizehint, sizehint); |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
354 gdk_pixmap_unref(pm); |
|
a4647b25dbf1
[gaim-migrate @ 2497]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2468
diff
changeset
|
355 applet_widget_add(APPLET_WIDGET(applet), icon); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
356 |
| 1261 | 357 applet_widget_register_stock_callback(APPLET_WIDGET(applet), |
| 358 "about", | |
| 359 GNOME_STOCK_MENU_ABOUT, | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
360 _("About..."), (AppletCallbackFunc)show_about, NULL); |
| 1261 | 361 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
362 gtk_signal_connect(GTK_OBJECT(applet), "button_press_event", GTK_SIGNAL_FUNC(AppletClicked), |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
363 NULL); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
364 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
365 gtk_signal_connect(GTK_OBJECT(applet), "destroy", GTK_SIGNAL_FUNC(do_quit), NULL); |
| 1261 | 366 |
| 367 #ifdef HAVE_PANEL_PIXEL_SIZE | |
| 368 gtk_signal_connect(GTK_OBJECT(applet), "change_pixel_size", | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
369 GTK_SIGNAL_FUNC(applet_change_pixel_size), NULL); |
| 1261 | 370 #endif |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
371 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
372 gtk_widget_show(icon); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
373 gtk_widget_show(applet); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
374 return 0; |
| 1261 | 375 } |
| 376 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
377 void set_user_state(enum gaim_user_states state) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
378 { |
| 1261 | 379 if (state == signing_on) |
| 380 connecting++; | |
| 381 else if ((state == away || state == online) && connecting > 0) | |
| 382 connecting--; | |
| 383 update_applet(); | |
| 384 } | |
| 385 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
386 void applet_set_tooltips(char *msg) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
387 { |
|
1591
5c74d8b6cb57
[gaim-migrate @ 1601]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
388 if (!applet) |
|
5c74d8b6cb57
[gaim-migrate @ 1601]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
389 return; |
| 1261 | 390 applet_widget_set_tooltip(APPLET_WIDGET(applet), msg); |
| 391 } | |
| 392 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2314
diff
changeset
|
393 #endif /*USE_APPLET */ |
