📄 new-message-window.c
字号:
gtk_widget_ref (label5); gtk_object_set_data_full (GTK_OBJECT (new_message_window), "label5", label5, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label5); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 2), label5); hseparator3 = gtk_hseparator_new (); gtk_widget_set_name (hseparator3, "hseparator3"); gtk_widget_ref (hseparator3); gtk_object_set_data_full (GTK_OBJECT (new_message_window), "hseparator3", hseparator3, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator3); gtk_box_pack_start (GTK_BOX (vbox1), hseparator3, FALSE, TRUE, 2); frame6 = gtk_frame_new (NULL); gtk_widget_set_name (frame6, "frame6"); gtk_widget_ref (frame6); gtk_object_set_data_full (GTK_OBJECT (new_message_window), "frame6", frame6, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame6); gtk_box_pack_start (GTK_BOX (vbox1), frame6, FALSE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame6), GTK_SHADOW_IN); label8 = gtk_label_new (""); gtk_widget_set_name (label8, "label8"); gtk_widget_ref (label8); gtk_object_set_data_full (GTK_OBJECT (new_message_window), "label8", label8, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label8); gtk_container_add (GTK_CONTAINER (frame6), label8); gtk_label_set_justify (GTK_LABEL (label8), GTK_JUSTIFY_LEFT); gtk_object_set_data (GTK_OBJECT (new_message_window), "tooltips", tooltips); gtk_window_add_accel_group (GTK_WINDOW (new_message_window), accel_group); return new_message_window;}GtkWidget *new_message_window_add_recip( GtkWidget *placeholder, RecipSignalData *recip ){ GtkWidget *hbox11; GtkWidget *button1; GtkWidget *combo3; GtkWidget *send_type; GtkWidget *address; GtkWidget *menuitem ; GList *combo3_items ;RecipSignalData *newrecip = (RecipSignalData *)calloc (1, sizeof (RecipSignalData)); newrecip->tree = recip->tree; if( recip == NULL ) return NULL ; g_return_val_if_fail( recip -> tree != NULL, NULL ) ; newrecip->tree = recip->tree;#if DEBUG > 6 printf( "RecipSignalData pointer is %p.\n", recip ) ;#endif menuitem=gtk_tree_item_new (); gtk_widget_show (menuitem); gtk_tree_append (recip -> tree, menuitem); hbox11 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox11, "hbox11"); gtk_widget_ref (hbox11); gtk_object_set_data_full (GTK_OBJECT (menuitem), "hbox11", hbox11, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox11); gtk_container_add (GTK_CONTAINER (menuitem), hbox11); button1 = gtk_button_new_with_label (_("To:...")); gtk_widget_set_name (button1, "button1"); gtk_widget_ref (button1); gtk_object_set_data_full (GTK_OBJECT (menuitem), "button1", button1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button1); gtk_box_pack_start (GTK_BOX (hbox11), button1, FALSE, FALSE, 0); combo3 = gtk_combo_new (); gtk_widget_set_name (combo3, "combo3"); gtk_widget_ref (combo3); gtk_object_set_data_full (GTK_OBJECT (menuitem), "combo3", combo3, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (combo3); gtk_box_pack_start (GTK_BOX (hbox11), combo3, FALSE, FALSE, 0); gtk_widget_set_usize (combo3, 62, -2); combo3_items = NULL ; combo3_items = g_list_append (combo3_items, _("To:")); combo3_items = g_list_append (combo3_items, _("Cc:")); combo3_items = g_list_append (combo3_items, _("Bcc:")); gtk_combo_set_popdown_strings (GTK_COMBO (combo3), combo3_items); g_list_free (combo3_items); send_type = GTK_COMBO (combo3)->entry; gtk_widget_set_name (send_type, "send_type"); gtk_widget_ref (send_type); gtk_object_set_data_full (GTK_OBJECT (menuitem), "send_type", send_type, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (send_type); switch( recip -> type ) { case 0: gtk_entry_set_text (GTK_ENTRY (send_type), _("To:")); break; case 1: gtk_entry_set_text (GTK_ENTRY (send_type), _("Cc:")); break; case 2: gtk_entry_set_text (GTK_ENTRY (send_type), _("Bcc:")); break; } address = gtk_entry_new (); gtk_widget_set_name (address, "address"); gtk_widget_ref (address); gtk_object_set_data_full (GTK_OBJECT (menuitem), "address", address, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (address); gtk_box_pack_start (GTK_BOX (hbox11), address, TRUE, TRUE, 0); clip_handle_editable (address); if (recip -> email) { if( is_emailv( recip -> email ) ) { gtk_entry_set_text (GTK_ENTRY (address), recip -> email); } } gtk_widget_grab_focus (address); gtk_signal_connect (GTK_OBJECT (address), "activate", GTK_SIGNAL_FUNC (new_message_window_add_recip), (gpointer)newrecip); //GTK_SIGNAL_FUNC (new_message_window_add_recip), (gpointer)recip); gtk_signal_connect (GTK_OBJECT (address), "activate", GTK_SIGNAL_FUNC (new_message_recip_check), NULL); gtk_signal_connect (GTK_OBJECT (address), "changed", GTK_SIGNAL_FUNC (new_message_recip_changed), NULL); gtk_signal_connect (GTK_OBJECT (button1), "clicked", GTK_SIGNAL_FUNC (new_message_select_recipients), NULL); return menuitem;}void new_message_tree_child_selected (GtkTree *tree, GtkWidget *child) { gtk_tree_unselect_child (tree, child); if (GTK_IS_HBOX (GTK_BIN (child)->child)) { GtkBoxChild *bchild=GTK_BOX (GTK_BIN (child)->child)->children->next->next->data; if (GTK_IS_ENTRY (bchild->widget)) { gtk_widget_grab_focus (bchild->widget); } }}GtkWidget* create_new_message_window () { GList *combo_items=NULL; GtkWidget *scratch; GtkWidget *window=create_new_message_window2 (); RecipSignalData *recip ; scratch = pixmap_widget_create (window, PIXMAP_SEND); gtk_widget_show (scratch); gtk_container_add (GTK_CONTAINER (lookup_widget (window, "send_button")), scratch); scratch = pixmap_widget_create (window, PIXMAP_SAVE); gtk_widget_show (scratch); gtk_container_add (GTK_CONTAINER (lookup_widget (window, "save_button")), scratch); gtk_signal_connect (GTK_OBJECT (lookup_widget (window, "select_categories")), "clicked", GTK_SIGNAL_FUNC (calendar_event_categories2), NULL); gtk_signal_connect (GTK_OBJECT (lookup_widget (window, "msg_exp_label")), "clicked", GTK_SIGNAL_FUNC (msgexp_cal), NULL); gtk_signal_connect (GTK_OBJECT (lookup_widget (window, "replyby_label")), "clicked", GTK_SIGNAL_FUNC (replyto_cal), NULL); gtk_signal_connect (GTK_OBJECT (lookup_widget (window, "save_button")), "clicked", GTK_SIGNAL_FUNC (new_message_save), NULL); gtk_signal_connect (GTK_OBJECT (lookup_widget (window, "menuitem17")), "activate", GTK_SIGNAL_FUNC (new_message_save), NULL); scratch = pixmap_widget_create (window, PIXMAP_PRINT); gtk_widget_show (scratch); gtk_container_add (GTK_CONTAINER (lookup_widget (window, "print_button")), scratch); gtk_signal_connect (GTK_OBJECT (lookup_widget (window, "print_button")), "clicked", GTK_SIGNAL_FUNC (new_message_print), NULL); scratch = pixmap_widget_create (window, PIXMAP_ABOOK); gtk_widget_show (scratch); gtk_container_add (GTK_CONTAINER (lookup_widget (window, "address_book_button")), scratch); gtk_signal_connect (GTK_OBJECT (lookup_widget (window, "address_book_button")), "clicked", GTK_SIGNAL_FUNC (address_book_clicked), NULL); scratch = pixmap_widget_create (window, PIXMAP_SPELL); gtk_widget_show (scratch); gtk_container_add (GTK_CONTAINER (lookup_widget (window, "spell_check_button")), scratch); gtk_signal_connect (GTK_OBJECT (lookup_widget (window, "spell_check_button")), "clicked", GTK_SIGNAL_FUNC (spelling_widget_create), window); scratch = pixmap_widget_create (window, PIXMAP_ATTACH); gtk_widget_show (scratch); gtk_container_add (GTK_CONTAINER (lookup_widget (window, "attach_button")), scratch); gtk_signal_connect (GTK_OBJECT (lookup_widget (window, "attach_button")), "clicked", GTK_SIGNAL_FUNC (new_message_add_attachment), NULL); scratch = pixmap_widget_create (window, PIXMAP_CRYPT); gtk_widget_show (scratch); gtk_container_add (GTK_CONTAINER (lookup_widget (window, "encrypt_button")), scratch); gtk_widget_set_sensitive (lookup_widget (window, "encrypt_button"), FALSE); /* Allocate a chunk of memory for this new message's recip list */ recip = (RecipSignalData *)calloc (1, sizeof(RecipSignalData)); recip->tree = GTK_TREE (lookup_widget (window, "recip_tree")); recip->email = NULL; recip->type = 0; gtk_signal_connect (GTK_OBJECT (lookup_widget (window, "new_message_window")), "size_allocate", GTK_SIGNAL_FUNC (wsize_set_nmsgw), NULL); gtk_signal_connect (GTK_OBJECT (lookup_widget (window, "new_message_window")), "delete_event", GTK_SIGNAL_FUNC (gtk_false), NULL); gtk_signal_connect (GTK_OBJECT (lookup_widget (window, "new_message_window")), "destroy", GTK_SIGNAL_FUNC (destroy_new_message_window), (gpointer)recip); gtk_signal_connect (GTK_OBJECT (lookup_widget (window, "send_button")), "clicked", GTK_SIGNAL_FUNC (accept_new_message_window), tm_globs->msg_selected); gtk_signal_connect (GTK_OBJECT (lookup_widget (window, "menuitem2")), "activate", GTK_SIGNAL_FUNC (accept_new_message_window), tm_globs->msg_selected); gtk_signal_connect (GTK_OBJECT (lookup_widget (window, "menuitem4")), "activate", GTK_SIGNAL_FUNC (make_new_message_window), NULL); gtk_signal_connect (GTK_OBJECT (lookup_widget (window, "menuitem13")), "activate", GTK_SIGNAL_FUNC (address_book_clicked), NULL); gtk_signal_connect (GTK_OBJECT (lookup_widget (window, "menuitem13")), "activate", GTK_SIGNAL_FUNC (abook_widget_add_entry), NULL); gtk_signal_connect (GTK_OBJECT (lookup_widget (window, "menuitem25")), "activate", GTK_SIGNAL_FUNC (destroy_new_message_window), (gpointer)recip ); gtk_signal_connect (GTK_OBJECT (lookup_widget (window, "menuitem26")), "activate", GTK_SIGNAL_FUNC (puma_die), NULL); gtk_signal_connect (GTK_OBJECT (lookup_widget (window, "add_attachment")), "clicked", GTK_SIGNAL_FUNC (new_message_add_attachment), NULL); gtk_signal_connect (GTK_OBJECT (lookup_widget (window, "remove_attachment")), "clicked", GTK_SIGNAL_FUNC (new_message_delete_attachment), NULL); gtk_signal_connect (GTK_OBJECT (lookup_widget (window, "attachment_clist")), "select_row", GTK_SIGNAL_FUNC (new_message_attachment_selected), NULL); gtk_signal_connect (GTK_OBJECT (lookup_widget (window, "attachment_clist")), "unselect_row", GTK_SIGNAL_FUNC (new_message_attachment_unselected), NULL); gtk_signal_connect (GTK_OBJECT (lookup_widget (window, "menuitem79")), "activate", GTK_SIGNAL_FUNC (address_book_clicked), NULL); gtk_signal_connect (GTK_OBJECT (lookup_widget (window, "menuitem78")), "activate", GTK_SIGNAL_FUNC (new_message_check_names), NULL); gtk_signal_connect (GTK_OBJECT (lw (window, "menuitem75")), "activate", GTK_SIGNAL_FUNC (spelling_widget_create), window); gtk_signal_connect (GTK_OBJECT (lw (window, "menuitem99")), "activate", GTK_SIGNAL_FUNC (activate_aboutbox), NULL); combo_items=pop_create_glist (); gtk_combo_set_popdown_strings (GTK_COMBO (lookup_widget (window, "combo2")), combo_items); gtk_entry_set_text (GTK_ENTRY (GTK_COMBO (lookup_widget (window, "combo2"))->entry), tm_globs->default_account); g_list_free (combo_items); new_message_window_add_recip( NULL, recip ) ; gtk_signal_connect (GTK_OBJECT (lw (window, "recip_tree")), "select_child", GTK_SIGNAL_FUNC (new_message_tree_child_selected), NULL); gtk_drag_dest_set (lookup_widget (window, "body_textbox"), GTK_DEST_DEFAULT_ALL, target_table, n_targets -1, GDK_ACTION_COPY | GDK_ACTION_MOVE); gtk_signal_connect (GTK_OBJECT (lookup_widget (window, "body_textbox")), "drag_data_received", GTK_SIGNAL_FUNC (new_message_drag_data_received), NULL); gtk_signal_connect (GTK_OBJECT (lookup_widget (window, "subject_entry")), "focus-out-event", GTK_SIGNAL_FUNC (new_msg_subject_changed), NULL); clip_handle_editable (lookup_widget (window, "entry9")); /* Categories? */ clip_handle_editable (lookup_widget (window, "sensitivit
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -