⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 new-message-window.c

📁 一个功能全面的电子邮件客户端
💻 C
📖 第 1 页 / 共 5 页
字号:
  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 + -