| 509 |
507 |
| 510 |
508 |
| 511 /****************************************************************************** |
509 /****************************************************************************** |
| 512 * The Smiley Manager |
510 * The Smiley Manager |
| 513 *****************************************************************************/ |
511 *****************************************************************************/ |
| 514 #if 0 |
|
| 515 static void add_columns(GtkWidget *treeview, SmileyManager *dialog) |
|
| 516 { |
|
| 517 GtkCellRenderer *rend; |
|
| 518 GtkTreeViewColumn *column; |
|
| 519 |
|
| 520 /* Icon */ |
|
| 521 column = gtk_tree_view_column_new(); |
|
| 522 gtk_tree_view_column_set_title(column, _("Smiley")); |
|
| 523 gtk_tree_view_column_set_resizable(column, TRUE); |
|
| 524 gtk_tree_view_append_column(GTK_TREE_VIEW(treeview), column); |
|
| 525 |
|
| 526 rend = gtk_cell_renderer_pixbuf_new(); |
|
| 527 gtk_tree_view_column_pack_start(column, rend, FALSE); |
|
| 528 gtk_tree_view_column_add_attribute(column, rend, "pixbuf", ICON); |
|
| 529 |
|
| 530 /* Shortcut Text */ |
|
| 531 column = gtk_tree_view_column_new(); |
|
| 532 gtk_tree_view_column_set_title(column, _("Shortcut Text")); |
|
| 533 gtk_tree_view_column_set_resizable(column, TRUE); |
|
| 534 gtk_tree_view_append_column(GTK_TREE_VIEW(treeview), column); |
|
| 535 |
|
| 536 rend = gtk_cell_renderer_text_new(); |
|
| 537 gtk_tree_view_column_pack_start(column, rend, TRUE); |
|
| 538 gtk_tree_view_column_add_attribute(column, rend, "text", SHORTCUT); |
|
| 539 } |
|
| 540 #endif |
|
| 541 |
512 |
| 542 #if 0 |
513 #if 0 |
| 543 static void store_smiley_add(PurpleSmiley *smiley) |
514 static void store_smiley_add(PurpleSmiley *smiley) |
| 544 { |
515 { |
| 545 GtkTreeIter iter; |
516 GtkTreeIter iter; |
| 722 |
693 |
| 723 gtk_drag_finish(dc, FALSE, FALSE, t); |
694 gtk_drag_finish(dc, FALSE, FALSE, t); |
| 724 } |
695 } |
| 725 #endif |
696 #endif |
| 726 |
697 |
| 727 #if 0 |
698 static GtkWidget *pidgin_smiley_manager_list_create(SmileyManager *manager) |
| 728 static GtkWidget *smiley_list_create(SmileyManager *dialog) |
699 { |
| 729 { |
700 GtkTreeView *tree; |
| 730 GtkWidget *treeview; |
|
| 731 GtkTreeSelection *sel; |
701 GtkTreeSelection *sel; |
| 732 GtkTargetEntry te[3] = { |
702 GtkCellRenderer *cellrend; |
| |
703 GtkTreeViewColumn *column; |
| |
704 #if 0 |
| |
705 GtkTargetEntry targets[3] = { |
| 733 {"text/plain", 0, 0}, |
706 {"text/plain", 0, 0}, |
| 734 {"text/uri-list", 0, 1}, |
707 {"text/uri-list", 0, 1}, |
| 735 {"STRING", 0, 2} |
708 {"STRING", 0, 2} |
| 736 }; |
709 }; |
| 737 |
710 #endif |
| 738 /* Create the list model */ |
711 |
| 739 dialog->model = gtk_list_store_new(N_COL, |
712 manager->model = gtk_list_store_new(SMILEY_LIST_MODEL_N_COL, |
| 740 GDK_TYPE_PIXBUF, /* ICON */ |
713 GDK_TYPE_PIXBUF, /* icon */ |
| 741 G_TYPE_STRING, /* SHORTCUT */ |
714 G_TYPE_STRING, /* shortcut */ |
| 742 G_TYPE_OBJECT /* SMILEY */ |
715 G_TYPE_OBJECT /* PurpleSmiley */ |
| 743 ); |
716 ); |
| 744 |
717 |
| 745 /* the actual treeview */ |
718 manager->tree = tree = GTK_TREE_VIEW(gtk_tree_view_new_with_model( |
| 746 treeview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(dialog->model)); |
719 GTK_TREE_MODEL(manager->model))); |
| 747 dialog->treeview = treeview; |
720 |
| 748 gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(treeview), TRUE); |
721 gtk_tree_view_set_rules_hint(tree, TRUE); |
| 749 gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(dialog->model), SHORTCUT, GTK_SORT_ASCENDING); |
722 gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(manager->model), |
| 750 g_object_unref(G_OBJECT(dialog->model)); |
723 SMILEY_LIST_MODEL_SHORTCUT, GTK_SORT_ASCENDING); |
| 751 |
724 |
| 752 sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)); |
725 g_object_unref(manager->model); |
| |
726 |
| |
727 sel = gtk_tree_view_get_selection(tree); |
| 753 gtk_tree_selection_set_mode(sel, GTK_SELECTION_MULTIPLE); |
728 gtk_tree_selection_set_mode(sel, GTK_SELECTION_MULTIPLE); |
| 754 |
729 |
| 755 g_signal_connect(G_OBJECT(sel), "changed", G_CALLBACK(smile_selected_cb), dialog); |
730 // g_signal_connect(sel, "changed", |
| 756 g_signal_connect(G_OBJECT(treeview), "row_activated", G_CALLBACK(smiley_edit_cb), dialog); |
731 // G_CALLBACK(smile_selected_cb), manager); |
| 757 |
732 // g_signal_connect(tree, "row_activated", |
| 758 gtk_drag_dest_set(treeview, |
733 // G_CALLBACK(smiley_edit_cb), manager); |
| 759 GTK_DEST_DEFAULT_MOTION | GTK_DEST_DEFAULT_HIGHLIGHT | GTK_DEST_DEFAULT_DROP, |
734 |
| 760 te, G_N_ELEMENTS(te), GDK_ACTION_COPY | GDK_ACTION_MOVE); |
735 #if 0 |
| 761 g_signal_connect(G_OBJECT(treeview), "drag_data_received", G_CALLBACK(smiley_dnd_recv), dialog); |
736 gtk_drag_dest_set(GTK_WIDGET(tree), GTK_DEST_DEFAULT_MOTION | |
| 762 |
737 GTK_DEST_DEFAULT_HIGHLIGHT | GTK_DEST_DEFAULT_DROP, |
| 763 gtk_widget_show(treeview); |
738 targets, G_N_ELEMENTS(targets), |
| 764 |
739 GDK_ACTION_COPY | GDK_ACTION_MOVE); |
| 765 add_columns(treeview, dialog); |
740 g_signal_connect(tree, "drag_data_received", |
| 766 populate_smiley_list(dialog); |
741 G_CALLBACK(smiley_dnd_recv), manager); |
| 767 |
742 #endif |
| 768 return pidgin_make_scrollable(treeview, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC, GTK_SHADOW_IN, -1, -1); |
743 |
| 769 } |
744 gtk_widget_show(GTK_WIDGET(tree)); |
| 770 #endif |
745 |
| |
746 /* setting up columns */ |
| |
747 |
| |
748 column = gtk_tree_view_column_new(); |
| |
749 gtk_tree_view_column_set_title(column, _("Smiley")); |
| |
750 gtk_tree_view_column_set_resizable(column, TRUE); |
| |
751 gtk_tree_view_append_column(tree, column); |
| |
752 cellrend = gtk_cell_renderer_pixbuf_new(); |
| |
753 gtk_tree_view_column_pack_start(column, cellrend, FALSE); |
| |
754 gtk_tree_view_column_add_attribute(column, cellrend, |
| |
755 "pixbuf", SMILEY_LIST_MODEL_ICON); |
| |
756 |
| |
757 column = gtk_tree_view_column_new(); |
| |
758 gtk_tree_view_column_set_title(column, _("Shortcut Text")); |
| |
759 gtk_tree_view_column_set_resizable(column, TRUE); |
| |
760 gtk_tree_view_append_column(tree, column); |
| |
761 cellrend = gtk_cell_renderer_text_new(); |
| |
762 gtk_tree_view_column_pack_start(column, cellrend, TRUE); |
| |
763 gtk_tree_view_column_add_attribute(column, cellrend, |
| |
764 "text", SMILEY_LIST_MODEL_SHORTCUT); |
| |
765 |
| |
766 // populate_smiley_list(dialog); |
| |
767 |
| |
768 return pidgin_make_scrollable(GTK_WIDGET(tree), GTK_POLICY_AUTOMATIC, |
| |
769 GTK_POLICY_AUTOMATIC, GTK_SHADOW_IN, -1, -1); |
| |
770 } |
| 771 |
771 |
| 772 #if 0 |
772 #if 0 |
| 773 static void refresh_list() |
773 static void refresh_list() |
| 774 { |
774 { |
| 775 populate_smiley_list(smiley_manager); |
775 populate_smiley_list(smiley_manager); |