comparison pidgin/plugins/xmppconsole.c @ 32672:3828a61c44da

A boring and large patch so I can merge heads.
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Fri, 23 Dec 2011 08:21:58 +0000
parents ea07a6230b57
children
comparison
equal deleted inserted replaced
32671:0e69949b3e61 32672:3828a61c44da
188 char *text; 188 char *text;
189 189
190 gc = console->gc; 190 gc = console->gc;
191 191
192 if (gc) 192 if (gc)
193 prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl); 193 prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(purple_connection_get_prpl(gc));
194 194
195 buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(console->entry)); 195 buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(console->entry));
196 gtk_text_buffer_get_start_iter(buffer, &start); 196 gtk_text_buffer_get_start_iter(buffer, &start);
197 gtk_text_buffer_get_end_iter(buffer, &end); 197 gtk_text_buffer_get_end_iter(buffer, &end);
198 198
272 GTK_STOCK_CANCEL, 272 GTK_STOCK_CANCEL,
273 GTK_RESPONSE_REJECT, 273 GTK_RESPONSE_REJECT,
274 GTK_STOCK_OK, 274 GTK_STOCK_OK,
275 GTK_RESPONSE_ACCEPT, 275 GTK_RESPONSE_ACCEPT,
276 NULL); 276 NULL);
277 /* TODO: how to set no separator for GtkDialog in gtk+ 3.0... */ 277 #if !GTK_CHECK_VERSION(2,22,0)
278 gtk_dialog_set_has_separator(GTK_DIALOG(dialog), FALSE);
279 #endif
278 gtk_dialog_set_default_response (GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT); 280 gtk_dialog_set_default_response (GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT);
279 gtk_container_set_border_width(GTK_CONTAINER(dialog), 12); 281 gtk_container_set_border_width(GTK_CONTAINER(dialog), 12);
280 #if GTK_CHECK_VERSION(2,14,0) 282 #if GTK_CHECK_VERSION(2,14,0)
281 vbox = gtk_dialog_get_content_area(GTK_DIALOG(dialog)); 283 vbox = gtk_dialog_get_content_area(GTK_DIALOG(dialog));
282 #else 284 #else
300 label = gtk_label_new("Type:"); 302 label = gtk_label_new("Type:");
301 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); 303 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
302 304
303 gtk_size_group_add_widget(sg, label); 305 gtk_size_group_add_widget(sg, label);
304 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); 306 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
305 type_combo = gtk_combo_box_text_new(); 307 type_combo = gtk_combo_box_new_text();
306 gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(type_combo), "get"); 308 gtk_combo_box_append_text(GTK_COMBO_BOX(type_combo), "get");
307 gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(type_combo), "set"); 309 gtk_combo_box_append_text(GTK_COMBO_BOX(type_combo), "set");
308 gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(type_combo), "result"); 310 gtk_combo_box_append_text(GTK_COMBO_BOX(type_combo), "result");
309 gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(type_combo), "error"); 311 gtk_combo_box_append_text(GTK_COMBO_BOX(type_combo), "error");
310 gtk_combo_box_set_active(GTK_COMBO_BOX(type_combo), 0); 312 gtk_combo_box_set_active(GTK_COMBO_BOX(type_combo), 0);
311 gtk_box_pack_start(GTK_BOX(hbox), type_combo, FALSE, FALSE, 0); 313 gtk_box_pack_start(GTK_BOX(hbox), type_combo, FALSE, FALSE, 0);
312 314
313 gtk_widget_show_all(vbox); 315 gtk_widget_show_all(vbox);
314 316
323 stanza = g_strdup_printf("<iq %s%s%s id='console%x' type='%s'></iq>", 325 stanza = g_strdup_printf("<iq %s%s%s id='console%x' type='%s'></iq>",
324 to && *to ? "to='" : "", 326 to && *to ? "to='" : "",
325 to && *to ? to : "", 327 to && *to ? to : "",
326 to && *to ? "'" : "", 328 to && *to ? "'" : "",
327 g_random_int(), 329 g_random_int(),
328 gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(type_combo))); 330 gtk_combo_box_get_active_text(GTK_COMBO_BOX(type_combo)));
329 331
330 buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(console->entry)); 332 buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(console->entry));
331 gtk_text_buffer_set_text(buffer, stanza, -1); 333 gtk_text_buffer_set_text(buffer, stanza, -1);
332 gtk_text_buffer_get_iter_at_offset(buffer, &iter, strstr(stanza, "</iq>") - stanza); 334 gtk_text_buffer_get_iter_at_offset(buffer, &iter, strstr(stanza, "</iq>") - stanza);
333 gtk_text_buffer_place_cursor(buffer, &iter); 335 gtk_text_buffer_place_cursor(buffer, &iter);
360 GTK_STOCK_CANCEL, 362 GTK_STOCK_CANCEL,
361 GTK_RESPONSE_REJECT, 363 GTK_RESPONSE_REJECT,
362 GTK_STOCK_OK, 364 GTK_STOCK_OK,
363 GTK_RESPONSE_ACCEPT, 365 GTK_RESPONSE_ACCEPT,
364 NULL); 366 NULL);
365 367 #if !GTK_CHECK_VERSION(2,22,0)
366 /* TODO: find a way to specify no separator for a dialog in gtk+ 3 */ 368 gtk_dialog_set_has_separator(GTK_DIALOG(dialog), FALSE);
367 /*gtk_dialog_set_has_separator(GTK_DIALOG(dialog), FALSE);*/ 369 #endif
368 gtk_dialog_set_default_response (GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT); 370 gtk_dialog_set_default_response (GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT);
369 gtk_container_set_border_width(GTK_CONTAINER(dialog), 12); 371 gtk_container_set_border_width(GTK_CONTAINER(dialog), 12);
370 #if GTK_CHECK_VERSION(2,14,0) 372 #if GTK_CHECK_VERSION(2,14,0)
371 vbox = gtk_dialog_get_content_area(GTK_DIALOG(dialog)); 373 vbox = gtk_dialog_get_content_area(GTK_DIALOG(dialog));
372 #else 374 #else
389 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); 391 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
390 label = gtk_label_new("Type:"); 392 label = gtk_label_new("Type:");
391 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); 393 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
392 gtk_size_group_add_widget(sg, label); 394 gtk_size_group_add_widget(sg, label);
393 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); 395 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
394 type_combo = gtk_combo_box_text_new(); 396 type_combo = gtk_combo_box_new_text();
395 gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(type_combo), "default"); 397 gtk_combo_box_append_text(GTK_COMBO_BOX(type_combo), "default");
396 gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(type_combo), "unavailable"); 398 gtk_combo_box_append_text(GTK_COMBO_BOX(type_combo), "unavailable");
397 gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(type_combo), "subscribe"); 399 gtk_combo_box_append_text(GTK_COMBO_BOX(type_combo), "subscribe");
398 gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(type_combo), "unsubscribe"); 400 gtk_combo_box_append_text(GTK_COMBO_BOX(type_combo), "unsubscribe");
399 gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(type_combo), "subscribed"); 401 gtk_combo_box_append_text(GTK_COMBO_BOX(type_combo), "subscribed");
400 gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(type_combo), "unsubscribed"); 402 gtk_combo_box_append_text(GTK_COMBO_BOX(type_combo), "unsubscribed");
401 gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(type_combo), "probe"); 403 gtk_combo_box_append_text(GTK_COMBO_BOX(type_combo), "probe");
402 gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(type_combo), "error"); 404 gtk_combo_box_append_text(GTK_COMBO_BOX(type_combo), "error");
403 gtk_combo_box_set_active(GTK_COMBO_BOX(type_combo), 0); 405 gtk_combo_box_set_active(GTK_COMBO_BOX(type_combo), 0);
404 gtk_box_pack_start(GTK_BOX(hbox), type_combo, FALSE, FALSE, 0); 406 gtk_box_pack_start(GTK_BOX(hbox), type_combo, FALSE, FALSE, 0);
405 407
406 hbox = gtk_hbox_new(FALSE, 3); 408 hbox = gtk_hbox_new(FALSE, 3);
407 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); 409 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
408 label = gtk_label_new("Show:"); 410 label = gtk_label_new("Show:");
409 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); 411 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
410 gtk_size_group_add_widget(sg, label); 412 gtk_size_group_add_widget(sg, label);
411 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); 413 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
412 show_combo = gtk_combo_box_text_new(); 414 show_combo = gtk_combo_box_new_text();
413 gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(show_combo), "default"); 415 gtk_combo_box_append_text(GTK_COMBO_BOX(show_combo), "default");
414 gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(show_combo), "away"); 416 gtk_combo_box_append_text(GTK_COMBO_BOX(show_combo), "away");
415 gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(show_combo), "dnd"); 417 gtk_combo_box_append_text(GTK_COMBO_BOX(show_combo), "dnd");
416 gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(show_combo), "xa"); 418 gtk_combo_box_append_text(GTK_COMBO_BOX(show_combo), "xa");
417 gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(show_combo), "chat"); 419 gtk_combo_box_append_text(GTK_COMBO_BOX(show_combo), "chat");
418 420
419 gtk_combo_box_set_active(GTK_COMBO_BOX(show_combo), 0); 421 gtk_combo_box_set_active(GTK_COMBO_BOX(show_combo), 0);
420 gtk_box_pack_start(GTK_BOX(hbox), show_combo, FALSE, FALSE, 0); 422 gtk_box_pack_start(GTK_BOX(hbox), show_combo, FALSE, FALSE, 0);
421 423
422 hbox = gtk_hbox_new(FALSE, 3); 424 hbox = gtk_hbox_new(FALSE, 3);
450 gtk_widget_destroy(dialog); 452 gtk_widget_destroy(dialog);
451 return; 453 return;
452 } 454 }
453 455
454 to = gtk_entry_get_text(GTK_ENTRY(to_entry)); 456 to = gtk_entry_get_text(GTK_ENTRY(to_entry));
455 type = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(type_combo)); 457 type = gtk_combo_box_get_active_text(GTK_COMBO_BOX(type_combo));
456 if (!strcmp(type, "default")) 458 if (!strcmp(type, "default"))
457 type = ""; 459 type = "";
458 show = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(show_combo)); 460 show = gtk_combo_box_get_active_text(GTK_COMBO_BOX(show_combo));
459 if (!strcmp(show, "default")) 461 if (!strcmp(show, "default"))
460 show = ""; 462 show = "";
461 status = gtk_entry_get_text(GTK_ENTRY(status_entry)); 463 status = gtk_entry_get_text(GTK_ENTRY(status_entry));
462 priority = gtk_entry_get_text(GTK_ENTRY(priority_entry)); 464 priority = gtk_entry_get_text(GTK_ENTRY(priority_entry));
463 if (!strcmp(priority, "0")) 465 if (!strcmp(priority, "0"))
520 GTK_STOCK_CANCEL, 522 GTK_STOCK_CANCEL,
521 GTK_RESPONSE_REJECT, 523 GTK_RESPONSE_REJECT,
522 GTK_STOCK_OK, 524 GTK_STOCK_OK,
523 GTK_RESPONSE_ACCEPT, 525 GTK_RESPONSE_ACCEPT,
524 NULL); 526 NULL);
525 /* TODO: find a way to create a dialog without separtor in gtk+ 3 */ 527 #if !GTK_CHECK_VERSION(2,22,0)
526 /*gtk_dialog_set_has_separator(GTK_DIALOG(dialog), FALSE);*/ 528 gtk_dialog_set_has_separator(GTK_DIALOG(dialog), FALSE);
529 #endif
527 gtk_dialog_set_default_response (GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT); 530 gtk_dialog_set_default_response (GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT);
528 gtk_container_set_border_width(GTK_CONTAINER(dialog), 12); 531 gtk_container_set_border_width(GTK_CONTAINER(dialog), 12);
529 #if GTK_CHECK_VERSION(2,14,0) 532 #if GTK_CHECK_VERSION(2,14,0)
530 vbox = gtk_dialog_get_content_area(GTK_DIALOG(dialog)); 533 vbox = gtk_dialog_get_content_area(GTK_DIALOG(dialog));
531 #else 534 #else
548 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); 551 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
549 label = gtk_label_new("Type:"); 552 label = gtk_label_new("Type:");
550 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); 553 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
551 gtk_size_group_add_widget(sg, label); 554 gtk_size_group_add_widget(sg, label);
552 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); 555 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
553 type_combo = gtk_combo_box_text_new(); 556 type_combo = gtk_combo_box_new_text();
554 gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(type_combo), "chat"); 557 gtk_combo_box_append_text(GTK_COMBO_BOX(type_combo), "chat");
555 gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(type_combo), "headline"); 558 gtk_combo_box_append_text(GTK_COMBO_BOX(type_combo), "headline");
556 gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(type_combo), "groupchat"); 559 gtk_combo_box_append_text(GTK_COMBO_BOX(type_combo), "groupchat");
557 gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(type_combo), "normal"); 560 gtk_combo_box_append_text(GTK_COMBO_BOX(type_combo), "normal");
558 gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(type_combo), "error"); 561 gtk_combo_box_append_text(GTK_COMBO_BOX(type_combo), "error");
559 gtk_combo_box_set_active(GTK_COMBO_BOX(type_combo), 0); 562 gtk_combo_box_set_active(GTK_COMBO_BOX(type_combo), 0);
560 gtk_box_pack_start(GTK_BOX(hbox), type_combo, FALSE, FALSE, 0); 563 gtk_box_pack_start(GTK_BOX(hbox), type_combo, FALSE, FALSE, 0);
561 564
562 hbox = gtk_hbox_new(FALSE, 3); 565 hbox = gtk_hbox_new(FALSE, 3);
563 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); 566 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
614 617
615 *to ? "to='" : "", 618 *to ? "to='" : "",
616 *to ? to : "", 619 *to ? to : "",
617 *to ? "'" : "", 620 *to ? "'" : "",
618 g_random_int(), 621 g_random_int(),
619 gtk_combo_box_text_get_active_text( 622 gtk_combo_box_get_active_text(GTK_COMBO_BOX(type_combo)),
620 GTK_COMBO_BOX_TEXT(type_combo)),
621 623
622 *body ? "<body>" : "", 624 *body ? "<body>" : "",
623 *body ? body : "", 625 *body ? body : "",
624 *body ? "</body>" : "", 626 *body ? "</body>" : "",
625 627
645 signing_on_cb(PurpleConnection *gc) 647 signing_on_cb(PurpleConnection *gc)
646 { 648 {
647 if (!console) 649 if (!console)
648 return; 650 return;
649 651
650 gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(console->dropdown), 652 gtk_combo_box_append_text(GTK_COMBO_BOX(console->dropdown), purple_account_get_username(purple_connection_get_account(gc)));
651 purple_account_get_username(gc->account));
652 console->accounts = g_list_append(console->accounts, gc); 653 console->accounts = g_list_append(console->accounts, gc);
653 console->count++; 654 console->count++;
654 655
655 if (console->count == 1) 656 if (console->count == 1)
656 console->gc = gc; 657 console->gc = gc;
677 } 678 }
678 679
679 if (l == NULL) 680 if (l == NULL)
680 return; 681 return;
681 682
682 gtk_combo_box_text_remove(GTK_COMBO_BOX_TEXT(console->dropdown), i); 683 gtk_combo_box_remove_text(GTK_COMBO_BOX(console->dropdown), i);
683 console->accounts = g_list_remove(console->accounts, gc); 684 console->accounts = g_list_remove(console->accounts, gc);
684 console->count--; 685 console->count--;
685 686
686 if (gc == console->gc) { 687 if (gc == console->gc) {
687 console->gc = NULL; 688 console->gc = NULL;
719 gtk_widget_destroy(console->window); 720 gtk_widget_destroy(console->window);
720 return TRUE; 721 return TRUE;
721 } 722 }
722 723
723 static void 724 static void
724 console_destroy(GtkWidget *window, gpointer nul) 725 console_destroy(GtkObject *window, gpointer nul)
725 { 726 {
726 g_list_free(console->accounts); 727 g_list_free(console->accounts);
727 g_free(console); 728 g_free(console);
728 console = NULL; 729 console = NULL;
729 } 730 }
734 PurpleAccount *account; 735 PurpleAccount *account;
735 736
736 if (!console) 737 if (!console)
737 return; 738 return;
738 739
739 account = 740 account = purple_accounts_find(gtk_combo_box_get_active_text(GTK_COMBO_BOX(console->dropdown)),
740 purple_accounts_find(gtk_combo_box_text_get_active_text( 741 "prpl-jabber");
741 GTK_COMBO_BOX_TEXT(console->dropdown)), "prpl-jabber"); 742 if (!account || !purple_account_get_connection(account))
742 if (!account || !account->gc) 743 return;
743 return; 744
744 745 console->gc = purple_account_get_connection(account);
745 console->gc = account->gc;
746 gtk_imhtml_clear(GTK_IMHTML(console->imhtml)); 746 gtk_imhtml_clear(GTK_IMHTML(console->imhtml));
747 } 747 }
748 748
749 static void 749 static void
750 create_console(PurplePluginAction *action) 750 create_console(PurplePluginAction *action)
771 console->hbox = gtk_hbox_new(FALSE, 3); 771 console->hbox = gtk_hbox_new(FALSE, 3);
772 gtk_box_pack_start(GTK_BOX(vbox), console->hbox, FALSE, FALSE, 0); 772 gtk_box_pack_start(GTK_BOX(vbox), console->hbox, FALSE, FALSE, 0);
773 label = gtk_label_new(_("Account: ")); 773 label = gtk_label_new(_("Account: "));
774 gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); 774 gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5);
775 gtk_box_pack_start(GTK_BOX(console->hbox), label, FALSE, FALSE, 0); 775 gtk_box_pack_start(GTK_BOX(console->hbox), label, FALSE, FALSE, 0);
776 console->dropdown = gtk_combo_box_text_new(); 776 console->dropdown = gtk_combo_box_new_text();
777 for (connections = purple_connections_get_all(); connections; connections = connections->next) { 777 for (connections = purple_connections_get_all(); connections; connections = connections->next) {
778 PurpleConnection *gc = connections->data; 778 PurpleConnection *gc = connections->data;
779 if (!strcmp(purple_account_get_protocol_id(purple_connection_get_account(gc)), "prpl-jabber")) { 779 if (!strcmp(purple_account_get_protocol_id(purple_connection_get_account(gc)), "prpl-jabber")) {
780 console->count++; 780 console->count++;
781 console->accounts = g_list_append(console->accounts, gc); 781 console->accounts = g_list_append(console->accounts, gc);
782 gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(console->dropdown), 782 gtk_combo_box_append_text(GTK_COMBO_BOX(console->dropdown),
783 purple_account_get_username(purple_connection_get_account(gc))); 783 purple_account_get_username(purple_connection_get_account(gc)));
784 if (!console->gc) 784 if (!console->gc)
785 console->gc = gc; 785 console->gc = gc;
786 } 786 }
787 } 787 }
797 pidgin_make_scrollable(console->imhtml, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC, GTK_SHADOW_ETCHED_IN, -1, -1), 797 pidgin_make_scrollable(console->imhtml, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC, GTK_SHADOW_ETCHED_IN, -1, -1),
798 TRUE, TRUE, 0); 798 TRUE, TRUE, 0);
799 799
800 toolbar = gtk_toolbar_new(); 800 toolbar = gtk_toolbar_new();
801 button = gtk_tool_button_new(NULL, "<iq/>"); 801 button = gtk_tool_button_new(NULL, "<iq/>");
802 gtk_tool_item_set_is_important(button, TRUE);
802 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(iq_clicked_cb), NULL); 803 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(iq_clicked_cb), NULL);
803 gtk_container_add(GTK_CONTAINER(toolbar), GTK_WIDGET(button)); 804 gtk_container_add(GTK_CONTAINER(toolbar), GTK_WIDGET(button));
804 805
805 button = gtk_tool_button_new(NULL, "<presence/>"); 806 button = gtk_tool_button_new(NULL, "<presence/>");
807 gtk_tool_item_set_is_important(button, TRUE);
806 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(presence_clicked_cb), NULL); 808 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(presence_clicked_cb), NULL);
807 gtk_container_add(GTK_CONTAINER(toolbar), GTK_WIDGET(button)); 809 gtk_container_add(GTK_CONTAINER(toolbar), GTK_WIDGET(button));
808 810
809 button = gtk_tool_button_new(NULL, "<message/>"); 811 button = gtk_tool_button_new(NULL, "<message/>");
812 gtk_tool_item_set_is_important(button, TRUE);
810 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(message_clicked_cb), NULL); 813 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(message_clicked_cb), NULL);
811 gtk_container_add(GTK_CONTAINER(toolbar), GTK_WIDGET(button)); 814 gtk_container_add(GTK_CONTAINER(toolbar), GTK_WIDGET(button));
812 815
813 gtk_box_pack_start(GTK_BOX(vbox), toolbar, FALSE, FALSE, 0); 816 gtk_box_pack_start(GTK_BOX(vbox), toolbar, FALSE, FALSE, 0);
814 817