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

📄 email_rw.cxx

📁 LINUX下的收发E-MAIL的程序
💻 CXX
📖 第 1 页 / 共 2 页
字号:


void Email_rw_windowshow(int COMMAND)
{
    Fl_Color c1 = (Fl_Color) atoi("100");
    Fl_Color c2 = (Fl_Color) atoi("200");
    Fl::set_color(c1, 204, 255, 204);
    Fl::set_color(c2, 153, 255, 153);

    Fl_Window *w;
    {
	Fl_Window *o = Mold_read_window =
	    new Fl_Window(0, 40, RWW_W, RWW_H);
	w = o;
	o->color(c1);
	{
	    Fl_Group *o = Mold_read_gp = new Fl_Group(0, 0, RWW_W, RWW_H);
	    o->color(c1);

	    {
		Fl_Output *o = Mold_sdp_in =
		    new Fl_Output(RWW_W / 5, 0, RWW_W * 4 / 5,
				  RWW_H / 15 - 1, "发信人 ");
		o->color(255);
		o->box(FL_BORDER_BOX);
		o->labelsize(10);
		o->redraw();
	    }

	    {
		Fl_Output *o = Mold_recp_in =
		    new Fl_Output(RWW_W / 5, RWW_H / 15, RWW_W * 4 / 5,
				  RWW_H / 15, "收信人 ");
		o->color(255);
		o->box(FL_BORDER_BOX);
		o->labelsize(10);
		o->redraw();

	    }
	    {
		Fl_Output *o = Mold_top_in =
		    new Fl_Output(RWW_W / 5, RWW_H * 2 / 15, RWW_W * 4 / 5,
				  RWW_H / 15, "标题 ");
		o->color(255);
		o->box(FL_BORDER_BOX);
		o->labelsize(10);
		o->redraw();

	    }
	    {
		Fl_Output *o = Mold_time_in =
		    new Fl_Output(RWW_W / 5, RWW_H / 5, RWW_W * 4 / 5,
				  RWW_H / 15, "时间 ");
		o->color(255);
		o->box(FL_BORDER_BOX);
		o->textsize(10);
		o->labelsize(10);
		o->redraw();

	    }
	    {
		Fl_Multiline_Output *o = Mold_read_multin =
		    new Fl_Multiline_Output(0, RWW_H * 4 / 15, RWW_W,
					    RWW_H * 3 / 5);
		o->color(255);
		o->box(FL_BORDER_BOX);
		o->align(FL_ALIGN_CENTER);
		o->redraw();
	    }
	    {
		Fl_Button *o = Mold_rep_but =
		    new Fl_Button(RWW_W / 20, RWW_H * 4 / 5 + RWW_H / 10,
				  RWW_W * 3 / 20, RWW_H / 10,
				  "\273\330\270\264");
		o->color(c2);
		o->selection_color(c2);
		o->box(FL_THIN_UP_BOX);
		o->callback((Fl_Callback *) cb_Mold_rep_but);
	    }
	    {
		Fl_Button *o = Mold_del_but =
		    new Fl_Button(RWW_W / 4, RWW_H * 4 / 5 + RWW_H / 10,
				  RWW_W * 3 / 20, RWW_H / 10,
				  "\311\276\263\375");
		o->color(c2);
		o->selection_color(c2);
		o->box(FL_THIN_UP_BOX);
		o->callback((Fl_Callback *) cb_Mold_del_but);
	    }
	    {
		Fl_Button *o = Mold_quit_but =
		    new Fl_Button(RWW_W * 9 / 20,
				  RWW_H * 4 / 5 + RWW_H / 10,
				  RWW_W * 3 / 20, RWW_H / 10,
				  "返回");
		o->color(c2);
		o->selection_color(c2);
		o->box(FL_THIN_UP_BOX);
		o->callback((Fl_Callback *) cb_Mold_quit_but);
	    }
	    {
		Fl_Button *o = Mold_back_but =
		    new Fl_Button(RWW_W * 7 / 10,
				  RWW_H * 4 / 5 + RWW_H / 10,
				  RWW_W / 10, RWW_H / 10, "@<");
		o->color(c2);
		o->selection_color(c2);
		o->box(FL_THIN_UP_BOX);
		o->labeltype(FL_SYMBOL_LABEL);
		o->callback((Fl_Callback *) cb_Mold_back_but);
		if (lines == 1)
		    o->deactivate();
	    }
	    {
		Fl_Button *o = Mold_next_but = new Fl_Button(RWW_W * 4 / 5,
							     RWW_H * 4 /
							     5 +
							     RWW_H / 10,
							     RWW_W / 10,
							     RWW_H / 10,
							     "@>");
		o->color(c2);
		o->selection_color(c2);
		o->box(FL_THIN_UP_BOX);
		o->labeltype(FL_SYMBOL_LABEL);
		o->callback((Fl_Callback *) cb_Mold_next_but);
		if (lines == user_oldmail - 1 || user_oldmail == 1)
		    o->deactivate();
	    }
	    o->end();
	    if (COMMAND != OLD_MAIL_READ && COMMAND != NEW_MAIL_READ)
		o->hide();
	}
	{
	    Fl_Group *o = Mnew_write_gp = new Fl_Group(0, 0, RWW_W, RWW_H);
	    o->color(c1);
	    {
		Fl_Input *o = Mnew_sdp_in =
		    new Fl_Input(RWW_W / 5, 0, RWW_W * 4 / 5,
				 RWW_H / 15 - 1, "发信人 ");
		o->color(255);
		o->value(numset.maddr);
		o->box(FL_BORDER_BOX);
		o->labelsize(10);
	    }
	    {
		Fl_Input *o = Mnew_recp_in =
		    new Fl_Input(RWW_W / 5, RWW_H / 15, RWW_W * 4 / 5,
				 RWW_H / 15, "收信人 ");
		o->color(255);
		o->box(FL_BORDER_BOX);
		o->labelsize(10);
	    }
	    {
		Fl_Input *o = Mnew_top_in =
		    new Fl_Input(RWW_W / 5, RWW_H * 2 / 15, RWW_W * 4 / 5,
				 RWW_H / 15, "标题 ");
		o->color(255);
		o->box(FL_BORDER_BOX);
		o->labelsize(10);

	    }
	    {
		Fl_Input *o = Mnew_rep_in =
		    new Fl_Input(RWW_W / 5, RWW_H / 5, RWW_W * 4 / 5,
				 RWW_H / 15, "转发 ");
		o->color(255);
		o->box(FL_BORDER_BOX);
		o->textsize(10);
		o->labelsize(10);

	    }
	    {
		Fl_Multiline_Input *o = Mnew_write_multin =
		    new Fl_Multiline_Input(0, RWW_H * 4 / 15, RWW_W,
					   RWW_H * 3 / 5);
		o->color(255);
		o->box(FL_BORDER_BOX);
		o->align(FL_ALIGN_CENTER);
	    }
	    {
		Fl_Button *o = Mnew_send_but =
		    new Fl_Button(2 * RWW_W / 30,
				  RWW_H * 4 / 5 + RWW_H / 10,
				  RWW_W / 5,
				  RWW_H / 10, "\267\242\313\315");
		o->color(c2);
		o->selection_color(c2);
		o->box(FL_THIN_UP_BOX);
		o->callback((Fl_Callback *) cb_Mnew_send_but);
	    }
	    {
		Fl_Button *o = Mnew_save_but =
		    new Fl_Button(9 * RWW_W / 30,
				  RWW_H * 4 / 5 + RWW_H / 10, RWW_W / 5,
				  RWW_H / 10, "\261\243\264\346");
		o->color(c2);
		o->selection_color(c2);
		o->box(FL_THIN_UP_BOX);
		o->callback((Fl_Callback *) cb_Mnew_save_but);
	    }
	    {
		Fl_Button *o = Mnew_del_but =
		    new Fl_Button(16 * RWW_W / 30,
				  RWW_H * 4 / 5 + RWW_H / 10, RWW_W / 5,
				  RWW_H / 10, "\311\276\263\375");
		o->color(c2);
		o->selection_color(c2);
		o->box(FL_THIN_UP_BOX);
		if (com == MAIL_WRITE)
		    Mnew_del_but->deactivate();
		o->callback((Fl_Callback *) cb_Mnew_del_but);

	    }			// new del but

	    {
		Fl_Button *o = Mnew_quit_but =
		    new Fl_Button(23 * RWW_W / 30,
				  RWW_H * 4 / 5 + RWW_H / 10,
				  RWW_W * 3 / 20, RWW_H / 10,
				  "返回");
		o->color(c2);
		o->selection_color(c2);
		o->box(FL_THIN_UP_BOX);
		o->callback((Fl_Callback *) cb_Mnew_quit_but);
	    }
	    o->end();

	    if (COMMAND != MAIL_WRITE && COMMAND != MAIL_READ)
		o->hide();
	}
	o->end();
    }
    w->show();
}


int show_email_content(char *p)
{
    Mnew_sdp_in->value(((NEW *) p)->from);
    Mnew_sdp_in->redraw();
    Mnew_recp_in->value(((NEW *) p)->to);
    Mnew_recp_in->redraw();
    Mnew_rep_in->value(((NEW *) p)->cc);
    Mnew_rep_in->redraw();
    Mnew_top_in->value(((NEW *) p)->subject);
    Mnew_top_in->redraw();
    Mnew_write_multin->value(((NEW *) p)->textbody);
    Mnew_write_multin->redraw();
    return 1;
}


int Email_reic_show(char *p)
{
    char test[10];
    int i;
    
    test[0] = 105;
    test[1] = 106;
    test[2] = 107;
    test[3] = '\r';
    test[4] = '\n';
    test[5] = '\0';
    
    printf("mail %d user_oldmail %d\n  ", lines, user_oldmail);
    
    
    Mold_sdp_in->value(((RCV *) p)->sender);
    Mold_sdp_in->redraw();
    Mold_recp_in->value(((RCV *) p)->receiver);
    Mold_recp_in->redraw();
    Mold_time_in->value(((RCV *) p)->date);
    Mold_time_in->redraw();
    Mold_top_in->value(((RCV *) p)->subject);
    Mold_top_in->redraw();
//    Mold_read_multin->value(test);
    Mold_read_multin->value(((RCV *) p)->content);
    Mold_read_multin->redraw();
    
    for(i=0;i<strlen(((RCV *)p)->content);i++)
    {
    	printf("%d:",((RCV *)p)->content[i]);
    }
    return 1;
}


void next_back_func()
{
    if (lines == 1) {
	Mold_back_but->deactivate();
	Mold_next_but->activate();
	if (user_oldmail == 1)
	    Mold_next_but->deactivate();
    } else if (Rm_browser->value() == user_oldmail) {
	Mold_next_but->deactivate();
	Mold_back_but->activate();
    } else {
	Mold_next_but->activate();
	Mold_back_but->activate();
    }
}


void Mread_begin()
{
    Mold_read_window->show();
    Mnew_write_gp->hide();
    Mold_recp_in->value("");
    Mold_sdp_in->value("");
    Mold_time_in->value("");
    Mold_top_in->value("");
    Mold_read_multin->value("");
    Mold_read_gp->redraw();
    Mold_read_gp->show();
    Mnew_save_but->show();
    if (com == OLD_MAIL_READ)
	Mnew_del_but->activate();
    else
	Mnew_del_but->deactivate();
}


void Mwrite_begin()
{
    Mold_read_window->show();
    Mold_read_gp->hide();
    Mnew_sdp_in->value(numset.maddr);
    Mnew_sdp_in->redraw();
    Mnew_recp_in->value("");
    Mnew_top_in->value("");
    Mnew_rep_in->value("");
    Mnew_write_multin->value("");
    if (com == MAIL_READ)
	Mnew_del_but->activate();
    else
	Mnew_del_but->deactivate();

    Mnew_write_gp->redraw();
    Mnew_write_gp->show();
}


int Email_rw_window(int COMMAND)
{
    lines = Rm_browser->value();
    if (com != 0 && (COMMAND == OLD_MAIL_READ || COMMAND == NEW_MAIL_READ)) {
	com = COMMAND;
	Mread_begin();
	next_back_func();
    } else if (com != 0 && (COMMAND == MAIL_WRITE || COMMAND == MAIL_READ)) {
	com = COMMAND;
	Mwrite_begin();
    } else {
	com = COMMAND;
	Email_rw_windowshow(COMMAND);
	next_back_func();
    }
    return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -