comparison plugins/lagmeter.c @ 983:a05ad732b613

[gaim-migrate @ 993] bleh committer: Tailor Script <tailor@pidgin.im>
author Rob Flynn <gaim@robflynn.com>
date Fri, 13 Oct 2000 07:52:34 +0000
parents 5f19ec4a91f7
children 91b7377e7b45
comparison
equal deleted inserted replaced
982:09e5065fe22c 983:a05ad732b613
70 } 70 }
71 71
72 void check_lag(char **who, char **message, void *m) { 72 void check_lag(char **who, char **message, void *m) {
73 char *name = g_strdup(normalize(*who)); 73 char *name = g_strdup(normalize(*who));
74 if (!strcasecmp(normalize(current_user->username), name) && 74 if (!strcasecmp(normalize(current_user->username), name) &&
75 (*message != NULL) &&
75 !strcmp(*message, MY_LAG_STRING)) { 76 !strcmp(*message, MY_LAG_STRING)) {
76 struct timeval tv; 77 struct timeval tv;
77 int ms; 78 int ms;
78 79
79 gettimeofday(&tv, NULL); 80 gettimeofday(&tv, NULL);
96 void gaim_plugin_remove() { 97 void gaim_plugin_remove() {
97 if (check_timeout != -1) 98 if (check_timeout != -1)
98 gtk_timeout_remove(check_timeout); 99 gtk_timeout_remove(check_timeout);
99 if (confdlg) 100 if (confdlg)
100 gtk_widget_destroy(confdlg); 101 gtk_widget_destroy(confdlg);
102 if (lagbox)
103 gtk_widget_destroy(lagbox);
104
101 confdlg = NULL; 105 confdlg = NULL;
102 gtk_widget_destroy(lagbox); 106 lagbox = NULL;
103 } 107 }
104 108
105 void avail_now(void *m) { 109 void avail_now(void *m) {
106 update_lag(0); 110 update_lag(0);
107 gaim_signal_connect(handle, event_im_recv, check_lag, NULL); 111 gaim_signal_connect(handle, event_im_recv, check_lag, NULL);
109 check_timeout = gtk_timeout_add(1000 * delay, (GtkFunction)send_lag, NULL); 113 check_timeout = gtk_timeout_add(1000 * delay, (GtkFunction)send_lag, NULL);
110 } 114 }
111 115
112 void gaim_plugin_init(void *h) { 116 void gaim_plugin_init(void *h) {
113 handle = h; 117 handle = h;
118
119 confdlg = NULL;
120 lagbox = NULL;
114 121
115 if (!blist) 122 if (!blist)
116 gaim_signal_connect(handle, event_signon, avail_now, NULL); 123 gaim_signal_connect(handle, event_signon, avail_now, NULL);
117 else 124 else
118 avail_now(NULL); 125 avail_now(NULL);
136 GtkWidget *spinner; 143 GtkWidget *spinner;
137 GtkWidget *button; 144 GtkWidget *button;
138 GtkWidget *box; 145 GtkWidget *box;
139 146
140 if (confdlg) { 147 if (confdlg) {
141 gtk_widget_show(confdlg); 148 gtk_widget_show_all(confdlg);
142 return; 149 return;
143 } 150 }
144 151
145 confdlg = gtk_window_new(GTK_WINDOW_DIALOG); 152 confdlg = gtk_window_new(GTK_WINDOW_DIALOG);
146 gtk_window_set_title(GTK_WINDOW(confdlg), "Gaim Lag Delay"); 153 gtk_window_set_title(GTK_WINDOW(confdlg), "Gaim Lag Delay");
147 154
148 box = gtk_hbox_new(FALSE, 0); 155 box = gtk_hbox_new(FALSE, 0);
149 gtk_container_set_border_width(GTK_CONTAINER(box), 5); 156 gtk_container_set_border_width(GTK_CONTAINER(box), 5);
150 gtk_container_add(GTK_CONTAINER(confdlg), box); 157 gtk_container_add(GTK_CONTAINER(confdlg), box);
151 gtk_widget_show(box);
152 158
153 label = gtk_label_new("Delay between updates: "); 159 label = gtk_label_new("Delay between updates: ");
154 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); 160 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
155 gtk_box_pack_start(GTK_BOX(box), label, FALSE, TRUE, 0); 161 gtk_box_pack_start(GTK_BOX(box), label, FALSE, TRUE, 0);
156 gtk_widget_show(label);
157 162
158 adj = (GtkAdjustment *)gtk_adjustment_new(delay, 0, 3600, 1, 0, 0); 163 adj = (GtkAdjustment *)gtk_adjustment_new(delay, 0, 3600, 1, 0, 0);
159 spinner = gtk_spin_button_new(GTK_ADJUSTMENT(adj), 0, 0); 164 spinner = gtk_spin_button_new(GTK_ADJUSTMENT(adj), 0, 0);
160 gtk_box_pack_start(GTK_BOX(box), spinner, TRUE, TRUE, 0); 165 gtk_box_pack_start(GTK_BOX(box), spinner, TRUE, TRUE, 0);
161 gtk_widget_show(spinner);
162 166
163 button = gtk_button_new_with_label("OK"); 167 button = gtk_button_new_with_label("OK");
164 gtk_signal_connect(GTK_OBJECT(button), "clicked", 168 gtk_signal_connect(GTK_OBJECT(button), "clicked",
165 (GtkSignalFunc)adjust_timeout, spinner); 169 (GtkSignalFunc)adjust_timeout, spinner);
166 gtk_box_pack_start(GTK_BOX(box), button, FALSE, TRUE, 0); 170 gtk_box_pack_start(GTK_BOX(box), button, FALSE, TRUE, 0);
167 gtk_widget_show(button);
168 171
169 gtk_widget_show(confdlg); 172 gtk_widget_show_all(confdlg);
170 } 173 }
171 174
172 char *name() { 175 char *name() {
173 return "Lag-O-Meter, Pluggified"; 176 return "Lag-O-Meter, Pluggified";
174 } 177 }