src/gnome_applet_mgr.c

Thu, 02 Nov 2000 22:29:51 +0000

author
Eric Warmenhoven <warmenhoven@yahoo.com>
date
Thu, 02 Nov 2000 22:29:51 +0000
changeset 1051
d65ac9e2224f
parent 1031
33fd2ef1b912
child 1104
724bacd666c2
permissions
-rw-r--r--

[gaim-migrate @ 1061]
user_info only in aim_user (saves 2k per connection); mem leak fixes in dialogs.c and multi.c; and proto_opt in aim_user (so prpls can have their own saved information per user). no way to draw protocol option selection window thingy yet, so prpls will either have to do that on their own or something. i don't know. we'll figure it out.

1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1 /**************************************************************
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2 **
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3 ** GaimGnomeAppletMgr
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
4 ** Author - Quinticent (John Palmieri: johnp@martianrock.com)
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
5 **
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
6 ** Purpose - Takes over the task of managing the GNOME applet
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
7 ** code and provides a centralized codebase for
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
8 ** GNOME integration for Gaim.
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
9 **
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
10 **
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
11 ** gaim
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
12 **
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
13 ** Copyright (C) 1998-1999, Mark Spencer <markster@marko.net>
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
14 **
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
15 ** This program is free software; you can redistribute it and/or modify
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
16 ** it under the terms of the GNU General Public License as published by
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
17 ** the Free Software Foundation; either version 2 of the License, or
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
18 ** (at your option) any later version.
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
19 **
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
20 ** This program is distributed in the hope that it will be useful,
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
21 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
22 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
23 ** GNU General Public License for more details.
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
24 **
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
25 ** You should have received a copy of the GNU General Public License
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
26 ** along with this program; if not, write to the Free Software
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
27 ** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
28 */
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
29
349
6f7d28b0f98d [gaim-migrate @ 359]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 342
diff changeset
30 #ifdef HAVE_CONFIG_H
6f7d28b0f98d [gaim-migrate @ 359]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 342
diff changeset
31 #include "../config.h"
6f7d28b0f98d [gaim-migrate @ 359]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 342
diff changeset
32 #endif
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
33 #ifdef USE_APPLET
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
34 #include <string.h>
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
35 #include <gdk_imlib.h>
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
36 #include "gaim.h"
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
37 #include "gnome_applet_mgr.h"
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
38
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
39 enum gaim_user_states MRI_user_status;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
40
746
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
41 gboolean applet_buddy_show = FALSE;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
42 GtkWidget *applet_popup = NULL;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
43
776
445adc75c091 [gaim-migrate @ 786]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 746
diff changeset
44 /*
82
33bc54b6c16a [gaim-migrate @ 92]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 79
diff changeset
45 gchar GAIM_GNOME_OFFLINE_ICON[255] = GAIM_GNOME_PENGUIN_OFFLINE;
33bc54b6c16a [gaim-migrate @ 92]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 79
diff changeset
46 gchar GAIM_GNOME_CONNECT_ICON[255] = GAIM_GNOME_PENGUIN_CONNECT;
33bc54b6c16a [gaim-migrate @ 92]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 79
diff changeset
47 gchar GAIM_GNOME_ONLINE_ICON[255] = GAIM_GNOME_PENGUIN_ONLINE;
776
445adc75c091 [gaim-migrate @ 786]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 746
diff changeset
48 */
82
33bc54b6c16a [gaim-migrate @ 92]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 79
diff changeset
49
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
50 GtkWidget *applet;
338
21c93bc7ae83 [gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 246
diff changeset
51 GtkWidget *appletframe;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
52 GtkWidget *status_label;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
53
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
54 GtkWidget *icon;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
55 GdkPixmap *icon_offline_pm=NULL;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
56 GdkPixmap *icon_offline_bm=NULL;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
57
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
58 GdkPixmap *icon_online_pm=NULL;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
59 GdkPixmap *icon_online_bm=NULL;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
60
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
61 GdkPixmap *icon_connect_pm=NULL;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
62 GdkPixmap *icon_connect_bm=NULL;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
63
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
64 GdkPixmap *icon_msg_pending_pm=NULL;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
65 GdkPixmap *icon_msg_pending_bm=NULL;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
66
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
67 GdkPixmap *icon_away_pm=NULL;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
68 GdkPixmap *icon_away_bm=NULL;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
69
340
d2d7e1b4e088 [gaim-migrate @ 350]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 338
diff changeset
70 static GtkAllocation get_applet_pos(gboolean);
374
3f63857423bd [gaim-migrate @ 384]
Travis Emslander
parents: 350
diff changeset
71 gint sizehint=48;
3f63857423bd [gaim-migrate @ 384]
Travis Emslander
parents: 350
diff changeset
72
746
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
73 static gboolean load_applet_icon(const char *name, int height, int width,
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
74 GdkPixmap **pm, GdkBitmap **bm)
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
75 {
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
76 gboolean result = TRUE;
82
33bc54b6c16a [gaim-migrate @ 92]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 79
diff changeset
77 char *path;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
78 GdkImlibImage *im;
82
33bc54b6c16a [gaim-migrate @ 92]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 79
diff changeset
79
33bc54b6c16a [gaim-migrate @ 92]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 79
diff changeset
80 path = gnome_pixmap_file(name);
33bc54b6c16a [gaim-migrate @ 92]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 79
diff changeset
81
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
82 im=gdk_imlib_load_image( path );
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
83
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
84 if ((*pm)!=NULL)
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
85 gdk_imlib_free_pixmap((*pm));
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
86
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
87 if( im!= NULL ){
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
88 gdk_imlib_render(im,width,height);
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
89
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
90 (*pm) = gdk_imlib_move_image(im);
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
91 (*bm) = gdk_imlib_move_mask(im);
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
92
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
93 } else {
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
94 result = FALSE;
350
b02a56431923 [gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 349
diff changeset
95 sprintf(debug_buff,_("file not found: %s\n"),path);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
96 debug_print(debug_buff);
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
97 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
98
82
33bc54b6c16a [gaim-migrate @ 92]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 79
diff changeset
99 free(path);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
100 return result;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
101 }
746
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
102
374
3f63857423bd [gaim-migrate @ 384]
Travis Emslander
parents: 350
diff changeset
103 #ifdef HAVE_PANEL_PIXEL_SIZE
746
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
104 static void applet_change_pixel_size(GtkWidget *w, int size, gpointer data)
374
3f63857423bd [gaim-migrate @ 384]
Travis Emslander
parents: 350
diff changeset
105 {
3f63857423bd [gaim-migrate @ 384]
Travis Emslander
parents: 350
diff changeset
106 sizehint = size;
3f63857423bd [gaim-migrate @ 384]
Travis Emslander
parents: 350
diff changeset
107 update_pixmaps();
3f63857423bd [gaim-migrate @ 384]
Travis Emslander
parents: 350
diff changeset
108 }
3f63857423bd [gaim-migrate @ 384]
Travis Emslander
parents: 350
diff changeset
109 #endif
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
110
746
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
111 static gboolean update_applet(gboolean force_update){
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
112 static enum gaim_user_states old_user_status = offline;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
113
746
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
114 if( MRI_user_status != old_user_status || force_update) {
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
115
746
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
116 switch( MRI_user_status ){
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
117 case offline:
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
118 gtk_pixmap_set( GTK_PIXMAP(icon),
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
119 icon_offline_pm,
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
120 icon_offline_bm );
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
121 gtk_label_set( GTK_LABEL(status_label), _MSG_OFFLINE_ );
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
122 applet_set_tooltips(_("Offilne. Click to bring up login box."));
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
123 break;
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
124 case signing_on:
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
125 gtk_pixmap_set( GTK_PIXMAP(icon),
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
126 icon_connect_pm,
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
127 icon_connect_bm );
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
128 gtk_label_set( GTK_LABEL(status_label), _MSG_CONNECT_ );
350
b02a56431923 [gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 349
diff changeset
129 applet_set_tooltips(_("Attempting to sign on...."));
746
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
130 break;
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
131 case online:
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
132 gtk_pixmap_set( GTK_PIXMAP(icon),
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
133 icon_online_pm,
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
134 icon_online_bm );
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
135 gtk_label_set( GTK_LABEL(status_label), _MSG_ONLINE_ );
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
136 break;
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
137 case away:
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
138 gtk_pixmap_set( GTK_PIXMAP(icon),
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
139 icon_online_pm,
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
140 icon_online_bm );
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
141 gtk_label_set( GTK_LABEL(status_label), _("Away") );
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
142 break;
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
143 }
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
144 old_user_status = MRI_user_status;
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
145 }
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
146 return TRUE;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
147 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
148
82
33bc54b6c16a [gaim-migrate @ 92]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 79
diff changeset
149 void update_pixmaps() {
776
445adc75c091 [gaim-migrate @ 786]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 746
diff changeset
150 /*
82
33bc54b6c16a [gaim-migrate @ 92]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 79
diff changeset
151 if (display_options & OPT_DISP_DEVIL_PIXMAPS) {
33bc54b6c16a [gaim-migrate @ 92]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 79
diff changeset
152 sprintf(GAIM_GNOME_OFFLINE_ICON, "%s", GAIM_GNOME_DEVIL_OFFLINE);
33bc54b6c16a [gaim-migrate @ 92]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 79
diff changeset
153 sprintf(GAIM_GNOME_CONNECT_ICON, "%s", GAIM_GNOME_DEVIL_CONNECT);
33bc54b6c16a [gaim-migrate @ 92]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 79
diff changeset
154 sprintf(GAIM_GNOME_ONLINE_ICON, "%s", GAIM_GNOME_DEVIL_ONLINE);
33bc54b6c16a [gaim-migrate @ 92]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 79
diff changeset
155 } else {
33bc54b6c16a [gaim-migrate @ 92]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 79
diff changeset
156 sprintf(GAIM_GNOME_OFFLINE_ICON, "%s", GAIM_GNOME_PENGUIN_OFFLINE);
33bc54b6c16a [gaim-migrate @ 92]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 79
diff changeset
157 sprintf(GAIM_GNOME_CONNECT_ICON, "%s", GAIM_GNOME_PENGUIN_CONNECT);
33bc54b6c16a [gaim-migrate @ 92]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 79
diff changeset
158 sprintf(GAIM_GNOME_ONLINE_ICON, "%s", GAIM_GNOME_PENGUIN_ONLINE);
33bc54b6c16a [gaim-migrate @ 92]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 79
diff changeset
159 }
776
445adc75c091 [gaim-migrate @ 786]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 746
diff changeset
160 */
374
3f63857423bd [gaim-migrate @ 384]
Travis Emslander
parents: 350
diff changeset
161 load_applet_icon( GAIM_GNOME_OFFLINE_ICON, (sizehint-16), (sizehint-12),
82
33bc54b6c16a [gaim-migrate @ 92]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 79
diff changeset
162 &icon_offline_pm, &icon_offline_bm );
374
3f63857423bd [gaim-migrate @ 384]
Travis Emslander
parents: 350
diff changeset
163 load_applet_icon( GAIM_GNOME_CONNECT_ICON, (sizehint-16), (sizehint-12),
82
33bc54b6c16a [gaim-migrate @ 92]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 79
diff changeset
164 &icon_connect_pm, &icon_connect_bm );
374
3f63857423bd [gaim-migrate @ 384]
Travis Emslander
parents: 350
diff changeset
165 load_applet_icon( GAIM_GNOME_ONLINE_ICON, (sizehint-16), (sizehint-12),
82
33bc54b6c16a [gaim-migrate @ 92]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 79
diff changeset
166 &icon_online_pm, &icon_online_bm );
746
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
167 update_applet(TRUE);
374
3f63857423bd [gaim-migrate @ 384]
Travis Emslander
parents: 350
diff changeset
168 gtk_widget_set_usize(appletframe, sizehint, sizehint);
82
33bc54b6c16a [gaim-migrate @ 92]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 79
diff changeset
169 }
33bc54b6c16a [gaim-migrate @ 92]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 79
diff changeset
170
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
171
340
d2d7e1b4e088 [gaim-migrate @ 350]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 338
diff changeset
172 extern GtkWidget *mainwindow;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
173 void applet_show_login(AppletWidget *widget, gpointer data) {
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
174 show_login();
340
d2d7e1b4e088 [gaim-migrate @ 350]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 338
diff changeset
175 if (general_options & OPT_GEN_NEAR_APPLET) {
d2d7e1b4e088 [gaim-migrate @ 350]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 338
diff changeset
176 GtkAllocation a = get_applet_pos(FALSE);
d2d7e1b4e088 [gaim-migrate @ 350]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 338
diff changeset
177 gtk_widget_set_uposition(mainwindow, a.x, a.y);
d2d7e1b4e088 [gaim-migrate @ 350]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 338
diff changeset
178 }
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
179 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
180
342
17059c400667 [gaim-migrate @ 352]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 340
diff changeset
181 void applet_do_signon(AppletWidget *widget, gpointer data) {
746
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
182 applet_show_login(NULL, 0);
342
17059c400667 [gaim-migrate @ 352]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 340
diff changeset
183 }
17059c400667 [gaim-migrate @ 352]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 340
diff changeset
184
18
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
185 void insert_applet_away() {
940
b3985f53a6c0 [gaim-migrate @ 950]
kylev
parents: 776
diff changeset
186 GSList *awy = away_messages;
18
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
187 struct away_message *a;
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
188 char *awayname;
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
189
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
190 applet_widget_register_callback_dir(APPLET_WIDGET(applet),
46
13f9a59097db [gaim-migrate @ 55]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 23
diff changeset
191 "away/",
18
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
192 _("Away"));
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
193 applet_widget_register_callback(APPLET_WIDGET(applet),
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
194 "away/new",
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
195 _("New Away Message"),
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
196 (AppletCallbackFunc)create_away_mess,
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
197 NULL);
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
198
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
199 while(awy) {
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
200 a = (struct away_message *)awy->data;
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
201
79
d0d0ecf6fc03 [gaim-migrate @ 89]
G Sumner Hayes
parents: 46
diff changeset
202 awayname = g_malloc(sizeof *awayname * (6 + strlen(a->name)));
18
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
203 awayname[0] = '\0';
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
204 strcat(awayname, "away/");
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
205 strcat(awayname, a->name);
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
206 applet_widget_register_callback(APPLET_WIDGET(applet),
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
207 awayname,
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
208 a->name,
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
209 (AppletCallbackFunc)do_away_message,
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
210 a);
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
211
940
b3985f53a6c0 [gaim-migrate @ 950]
kylev
parents: 776
diff changeset
212 awy = g_slist_next(awy);
23
4c107a5f28af [gaim-migrate @ 32]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 20
diff changeset
213 free(awayname);
18
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
214 }
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
215 }
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
216
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
217 void remove_applet_away() {
940
b3985f53a6c0 [gaim-migrate @ 950]
kylev
parents: 776
diff changeset
218 GSList *awy = away_messages;
18
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
219 struct away_message *a;
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
220 char *awayname;
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
221
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
222 applet_widget_unregister_callback(APPLET_WIDGET(applet), "away/new");
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
223
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
224 while (awy) {
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
225 a = (struct away_message *)awy->data;
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
226
79
d0d0ecf6fc03 [gaim-migrate @ 89]
G Sumner Hayes
parents: 46
diff changeset
227 awayname = g_malloc(sizeof *awayname * (6 + strlen(a->name)));
18
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
228 awayname[0] = '\0';
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
229 strcat(awayname, "away/");
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
230 strcat(awayname, a->name);
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
231 applet_widget_unregister_callback(APPLET_WIDGET(applet), awayname);
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
232
940
b3985f53a6c0 [gaim-migrate @ 950]
kylev
parents: 776
diff changeset
233 awy = g_slist_next(awy);
23
4c107a5f28af [gaim-migrate @ 32]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 20
diff changeset
234 free(awayname);
18
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
235 }
46
13f9a59097db [gaim-migrate @ 55]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 23
diff changeset
236 applet_widget_unregister_callback_dir(APPLET_WIDGET(applet), "away/");
18
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
237 applet_widget_unregister_callback(APPLET_WIDGET(applet), "away");
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
238 }
602b40b60252 [gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 16
diff changeset
239
746
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
240 static void applet_show_about(AppletWidget *widget, gpointer data) {
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
241
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
242 const gchar *authors[] = {"Mark Spencer <markster@marko.net>",
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
243 "Jim Duchek <jimduchek@ou.edu>",
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
244 "Rob Flynn <rflynn@blueridge.net>",
82
33bc54b6c16a [gaim-migrate @ 92]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 79
diff changeset
245 "Eric Warmenhoven <warmenhoven@yahoo.com>",
178
88fbad3afffa [gaim-migrate @ 188]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 107
diff changeset
246 "Syd Logan",
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
247 NULL};
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
248
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
249 GtkWidget *about=gnome_about_new(_("GAIM"),
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
250 _(VERSION),
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
251 _(""),
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
252 authors,
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
253 "",
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
254 NULL);
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
255 gtk_widget_show(about);
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
256 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
257
746
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
258 static GtkAllocation get_applet_pos(gboolean for_blist) {
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
259 gint x,y,pad;
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
260 GtkRequisition buddy_req, applet_req;
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
261 GtkAllocation result;
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
262 GNOME_Panel_OrientType orient = applet_widget_get_panel_orient( APPLET_WIDGET(applet) );
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
263 pad = 5;
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
264
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
265 gdk_window_get_position(gtk_widget_get_parent_window(appletframe), &x, &y);
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
266 if (for_blist) {
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
267 if (general_options & OPT_GEN_SAVED_WINDOWS) {
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
268 buddy_req.width = blist_pos.width;
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
269 buddy_req.height = blist_pos.height;
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
270 } else {
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
271 buddy_req = blist->requisition;
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
272 }
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
273 } else {
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
274 buddy_req = mainwindow->requisition;
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
275 }
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
276 applet_req = appletframe->requisition;
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
277
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
278 /* FIXME : we need to be smarter here */
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
279 switch( orient ){
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
280 case ORIENT_UP:
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
281 result.x=x;
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
282 result.y=y-(buddy_req.height+pad);
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
283 break;
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
284 case ORIENT_DOWN:
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
285 result.x=x;
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
286 result.y=y+applet_req.height+pad;
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
287 break;
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
288 case ORIENT_LEFT:
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
289 result.x=x-(buddy_req.width + pad );
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
290 result.y=y;
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
291 break;
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
292 case ORIENT_RIGHT:
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
293 result.x=x+applet_req.width+pad;
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
294 result.y=y;
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
295 break;
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
296 }
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
297 return result;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
298 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
299
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
300 void createOnlinePopup(){
746
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
301 GtkAllocation al;
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
302 if (blist) gtk_widget_show(blist);
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
303 al = get_applet_pos(TRUE);
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
304 if (general_options & OPT_GEN_NEAR_APPLET)
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
305 gtk_widget_set_uposition ( blist, al.x, al.y );
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
306 else if (general_options & OPT_GEN_SAVED_WINDOWS)
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
307 gtk_widget_set_uposition(blist, blist_pos.x - blist_pos.xoff, blist_pos.y - blist_pos.yoff);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
308 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
309
338
21c93bc7ae83 [gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 246
diff changeset
310 void AppletClicked( GtkWidget *sender, GdkEventButton *ev, gpointer data ){
21c93bc7ae83 [gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 246
diff changeset
311 if (!ev || ev->button != 1 || ev->type != GDK_BUTTON_PRESS)
21c93bc7ae83 [gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 246
diff changeset
312 return;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
313
746
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
314 if(applet_buddy_show) {
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
315 applet_buddy_show = FALSE;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
316 switch( MRI_user_status ){
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
317 case offline:
941
da5dc4cfa8cc [gaim-migrate @ 951]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 940
diff changeset
318 if (mainwindow)
da5dc4cfa8cc [gaim-migrate @ 951]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 940
diff changeset
319 gtk_widget_hide(mainwindow);
746
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
320 break;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
321 case online:
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
322 case away:
746
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
323 applet_destroy_buddy(0, 0, 0);
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
324 break;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
325 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
326 } else {
746
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
327 applet_buddy_show = TRUE;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
328 switch( MRI_user_status ){
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
329 case offline:
746
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
330 applet_show_login( APPLET_WIDGET(applet), NULL );
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
331 break;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
332 case online:
746
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
333 case away:
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
334 createOnlinePopup();
746
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
335 break;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
336 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
337 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
338 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
339
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
340
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
341 /***************************************************************
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
342 **
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
343 ** Initialize GNOME stuff
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
344 **
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
345 ****************************************************************/
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
346
338
21c93bc7ae83 [gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 246
diff changeset
347 gint init_applet_mgr(int argc, char *argv[]) {
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
348 GtkWidget *vbox;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
349
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
350 GtkStyle *label_style;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
351 GdkFont *label_font = NULL;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
352
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
353 applet_widget_init("GAIM",VERSION,argc,argv,NULL,0,NULL);
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
354
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
355 /*init imlib for graphics*/
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
356 gdk_imlib_init();
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
357 gtk_widget_push_visual(gdk_imlib_get_visual());
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
358 gtk_widget_push_colormap(gdk_imlib_get_colormap());
342
17059c400667 [gaim-migrate @ 352]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 340
diff changeset
359
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
360 applet=applet_widget_new("gaim_applet");
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
361 if(!applet) g_error(_("Can't create GAIM applet!"));
338
21c93bc7ae83 [gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 246
diff changeset
362 gtk_widget_set_events(applet, gtk_widget_get_events(applet) |
21c93bc7ae83 [gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 246
diff changeset
363 GDK_BUTTON_PRESS_MASK);
21c93bc7ae83 [gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 246
diff changeset
364
21c93bc7ae83 [gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 246
diff changeset
365 appletframe = gtk_frame_new(NULL);
374
3f63857423bd [gaim-migrate @ 384]
Travis Emslander
parents: 350
diff changeset
366 #ifdef HAVE_PANEL_PIXEL_SIZE
3f63857423bd [gaim-migrate @ 384]
Travis Emslander
parents: 350
diff changeset
367 gtk_widget_set_usize(appletframe, 5, 5);
3f63857423bd [gaim-migrate @ 384]
Travis Emslander
parents: 350
diff changeset
368 #else
338
21c93bc7ae83 [gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 246
diff changeset
369 gtk_widget_set_usize(appletframe, 48, 48);
374
3f63857423bd [gaim-migrate @ 384]
Travis Emslander
parents: 350
diff changeset
370 #endif
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
371
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
372 /*load offline icon*/
338
21c93bc7ae83 [gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 246
diff changeset
373 load_applet_icon( GAIM_GNOME_OFFLINE_ICON, 32, 32,
21c93bc7ae83 [gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 246
diff changeset
374 &icon_offline_pm, &icon_offline_bm );
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
375
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
376 /*load connecting icon*/
338
21c93bc7ae83 [gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 246
diff changeset
377 load_applet_icon( GAIM_GNOME_CONNECT_ICON, 32, 32,
21c93bc7ae83 [gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 246
diff changeset
378 &icon_connect_pm, &icon_connect_bm );
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
379
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
380 /*load online icon*/
338
21c93bc7ae83 [gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 246
diff changeset
381 load_applet_icon( GAIM_GNOME_ONLINE_ICON, 32, 32,
21c93bc7ae83 [gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 246
diff changeset
382 &icon_online_pm, &icon_online_bm );
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
383
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
384 /*icon_away and icon_msg_pennding need to be implemented*/
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
385
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
386 icon=gtk_pixmap_new(icon_offline_pm,icon_offline_bm);
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
387
746
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
388 update_applet(FALSE);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
389
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
390 vbox = gtk_vbox_new(FALSE,0);
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
391
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
392 gtk_box_pack_start(GTK_BOX(vbox), icon, FALSE, TRUE, 0);
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
393
350
b02a56431923 [gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 349
diff changeset
394 status_label = gtk_label_new(_("Offline"));
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
395 /*set this label's font*/
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
396 label_style = gtk_widget_get_style( status_label );
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
397
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
398 label_font = gdk_font_load( _MSG_FONT_ );
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
399
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
400
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
401 if( label_font != NULL ){
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
402 label_style->font = label_font;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
403 gtk_widget_set_style( status_label, label_style );
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
404 } else {
350
b02a56431923 [gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 349
diff changeset
405 sprintf(debug_buff, _("Font does not exist") );
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
406 debug_print(debug_buff);
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
407 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
408
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
409 gtk_box_pack_start(GTK_BOX(vbox), status_label, FALSE, TRUE, 0);
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
410
338
21c93bc7ae83 [gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 246
diff changeset
411 gtk_container_add( GTK_CONTAINER(appletframe), vbox );
21c93bc7ae83 [gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 246
diff changeset
412 applet_widget_add(APPLET_WIDGET(applet), appletframe);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
413
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
414 gtk_widget_show( status_label );
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
415 gtk_widget_show( vbox );
338
21c93bc7ae83 [gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 246
diff changeset
416 gtk_widget_show( appletframe );
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
417
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
418 applet_widget_register_stock_callback(APPLET_WIDGET(applet),
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
419 "about",
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
420 GNOME_STOCK_MENU_ABOUT,
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
421 _("About..."),
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
422 applet_show_about,
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
423 NULL);
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
424
338
21c93bc7ae83 [gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 246
diff changeset
425 gtk_signal_connect( GTK_OBJECT(applet), "button_press_event", GTK_SIGNAL_FUNC( AppletClicked), NULL);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
426
425
bc3f0933ce54 [gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 411
diff changeset
427 gtk_signal_connect( GTK_OBJECT(applet), "destroy", GTK_SIGNAL_FUNC( do_quit), NULL);
bc3f0933ce54 [gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 411
diff changeset
428
374
3f63857423bd [gaim-migrate @ 384]
Travis Emslander
parents: 350
diff changeset
429 #ifdef HAVE_PANEL_PIXEL_SIZE
3f63857423bd [gaim-migrate @ 384]
Travis Emslander
parents: 350
diff changeset
430 gtk_signal_connect(GTK_OBJECT(applet), "change_pixel_size",
3f63857423bd [gaim-migrate @ 384]
Travis Emslander
parents: 350
diff changeset
431 GTK_SIGNAL_FUNC(applet_change_pixel_size), NULL);
3f63857423bd [gaim-migrate @ 384]
Travis Emslander
parents: 350
diff changeset
432 #endif
3f63857423bd [gaim-migrate @ 384]
Travis Emslander
parents: 350
diff changeset
433
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
434 gtk_widget_show(icon);
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
435 gtk_widget_show(applet);
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
436 return 0;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
437 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
438
746
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
439 void set_user_state( enum gaim_user_states state ){
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
440 MRI_user_status = state;
746
16a29fe20b65 [gaim-migrate @ 756]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
441 update_applet(FALSE);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
442 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
443
342
17059c400667 [gaim-migrate @ 352]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 340
diff changeset
444 void applet_set_tooltips(char *msg) {
17059c400667 [gaim-migrate @ 352]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 340
diff changeset
445 applet_widget_set_tooltip(APPLET_WIDGET(applet), msg);
17059c400667 [gaim-migrate @ 352]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 340
diff changeset
446 }
17059c400667 [gaim-migrate @ 352]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 340
diff changeset
447
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
448 #endif /*USE_APPLET*/

mercurial