Mercurial > pidgin.yaz
comparison src/away.c @ 9827:430ef8fc963d
[gaim-migrate @ 10698]
Patch 1013229 from Rhett Robinson. See the ChangeLog.
"If at first you don't succeed, try try try again."
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Sun, 22 Aug 2004 18:24:33 +0000 |
parents | 4a15962c344a |
children | e4a27c9aec4c |
comparison
equal
deleted
inserted
replaced
9826:6f2a90c36ee2 | 9827:430ef8fc963d |
---|---|
208 | 208 |
209 | 209 |
210 void do_away_message(GtkWidget *w, struct away_message *a) | 210 void do_away_message(GtkWidget *w, struct away_message *a) |
211 { | 211 { |
212 GtkWidget *back; | 212 GtkWidget *back; |
213 GtkWidget *edit; | |
213 GtkWidget *awaytext; | 214 GtkWidget *awaytext; |
214 GtkWidget *sw; | 215 GtkWidget *sw; |
215 GtkWidget *vbox; | 216 GtkWidget *vbox; |
217 GtkWidget *hbox; | |
216 GtkTreeViewColumn *column; | 218 GtkTreeViewColumn *column; |
217 GtkCellRenderer *renderer; | 219 GtkCellRenderer *renderer; |
218 char *buf; | 220 char *buf; |
219 | 221 |
220 if (!a) | 222 if (!a) |
234 | 236 |
235 vbox = gtk_vbox_new(FALSE, 5); | 237 vbox = gtk_vbox_new(FALSE, 5); |
236 gtk_container_add(GTK_CONTAINER(imaway), vbox); | 238 gtk_container_add(GTK_CONTAINER(imaway), vbox); |
237 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); | 239 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
238 gtk_widget_show(vbox); | 240 gtk_widget_show(vbox); |
241 | |
242 hbox = gtk_hbox_new(FALSE, 5); | |
243 gtk_container_set_border_width(GTK_CONTAINER(hbox), 0); | |
244 gtk_widget_show(hbox); | |
239 | 245 |
240 sw = gtk_scrolled_window_new(NULL, NULL); | 246 sw = gtk_scrolled_window_new(NULL, NULL); |
241 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, | 247 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, |
242 GTK_POLICY_AUTOMATIC); | 248 GTK_POLICY_AUTOMATIC); |
243 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN); | 249 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN); |
290 if (gaim_prefs_get_bool("/gaim/gtk/away/queue_messages")) { | 296 if (gaim_prefs_get_bool("/gaim/gtk/away/queue_messages")) { |
291 gtk_widget_show(awayqueuesw); | 297 gtk_widget_show(awayqueuesw); |
292 gtk_widget_show(awayqueue); | 298 gtk_widget_show(awayqueue); |
293 } | 299 } |
294 | 300 |
301 awaymessage = a; | |
302 | |
303 edit = gaim_pixbuf_button_from_stock(_("Edit This Message"), GTK_STOCK_CONVERT, GAIM_BUTTON_HORIZONTAL); | |
304 gtk_box_pack_start(GTK_BOX(hbox), edit, TRUE, TRUE, 0); | |
305 g_signal_connect(G_OBJECT(edit), "clicked", G_CALLBACK(create_away_mess), awaymessage); | |
306 gtk_widget_show(edit); | |
307 | |
295 back = gaim_pixbuf_button_from_stock(_("I'm Back!"), GTK_STOCK_JUMP_TO, GAIM_BUTTON_HORIZONTAL); | 308 back = gaim_pixbuf_button_from_stock(_("I'm Back!"), GTK_STOCK_JUMP_TO, GAIM_BUTTON_HORIZONTAL); |
296 gtk_box_pack_start(GTK_BOX(vbox), back, FALSE, FALSE, 0); | 309 gtk_box_pack_start(GTK_BOX(hbox), back, TRUE, TRUE, 0); |
297 g_signal_connect(G_OBJECT(back), "clicked", G_CALLBACK(do_im_back), imaway); | 310 g_signal_connect(G_OBJECT(back), "clicked", G_CALLBACK(do_im_back), imaway); |
298 gtk_window_set_focus(GTK_WINDOW(imaway), back); | 311 gtk_window_set_focus(GTK_WINDOW(imaway), back); |
299 gtk_widget_show(back); | 312 gtk_widget_show(back); |
300 | 313 |
301 awaymessage = a; | 314 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
302 | 315 |
303 gtk_widget_show(imaway); | 316 gtk_widget_show(imaway); |
304 serv_set_away_all(awaymessage->message); | 317 serv_set_away_all(awaymessage->message); |
305 } | 318 } |
306 | 319 |
870 | 883 |
871 gtk_container_add(GTK_CONTAINER(sw), ca->text); | 884 gtk_container_add(GTK_CONTAINER(sw), ca->text); |
872 focus_chain = g_list_append(focus_chain, sw); | 885 focus_chain = g_list_append(focus_chain, sw); |
873 | 886 |
874 if (dummy) { | 887 if (dummy) { |
875 struct away_message *amt; | 888 /* If anything is passed here, it is an away_message pointer */ |
876 GtkTreeIter iter; | 889 struct away_message *amt = (struct away_message *) dummy ; |
877 GtkListStore *ls = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(dummy))); | |
878 GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(dummy)); | |
879 GValue val = { 0, }; | |
880 | |
881 if (! gtk_tree_selection_get_selected (sel, (GtkTreeModel**)&ls, &iter)) | |
882 return; | |
883 gtk_tree_model_get_value (GTK_TREE_MODEL(ls), &iter, 1, &val); | |
884 amt = g_value_get_pointer (&val); | |
885 gtk_entry_set_text(GTK_ENTRY(ca->entry), amt->name); | 890 gtk_entry_set_text(GTK_ENTRY(ca->entry), amt->name); |
886 gtk_imhtml_append_text_with_images(GTK_IMHTML(ca->text), amt->message, 0, NULL); | 891 gtk_imhtml_append_text_with_images(GTK_IMHTML(ca->text), amt->message, 0, NULL); |
887 ca->mess = amt; | 892 ca->mess = amt; |
888 } | 893 } |
889 | 894 |