edit.cc

来自「一个功能比较强的下载软件」· CC 代码 · 共 1,749 行 · 第 1/5 页

CC
1,749
字号
	if (GTK_WIDGET_SENSITIVE(get_date_check))		parent->config->get_date=GTK_TOGGLE_BUTTON(get_date_check)->active;	if (GTK_WIDGET_SENSITIVE(retry_check))		parent->config->retry=GTK_TOGGLE_BUTTON(retry_check)->active;	if (GTK_WIDGET_SENSITIVE(follow_link_check)){		parent->config->follow_link=0;		if (GTK_TOGGLE_BUTTON(follow_link_check)->active)			parent->config->follow_link=1;		if (GTK_TOGGLE_BUTTON(link_as_file_check)->active)			parent->config->follow_link=2;	};	if (GTK_WIDGET_SENSITIVE(leave_server_check))		parent->config->leave_server=GTK_TOGGLE_BUTTON(leave_server_check)->active;	if (GTK_WIDGET_SENSITIVE(leave_dir_check))		parent->config->dont_leave_dir=GTK_TOGGLE_BUTTON(leave_dir_check)->active;	if (GTK_WIDGET_SENSITIVE(restart_from_begin_check))		parent->restart_from_begin=GTK_TOGGLE_BUTTON(restart_from_begin_check)->active;	if (GTK_WIDGET_SENSITIVE(sleep_check))		parent->config->sleep_before_complete=GTK_TOGGLE_BUTTON(sleep_check)->active;	if (GTK_WIDGET_SENSITIVE(check_time_check))		parent->config->check_time=GTK_TOGGLE_BUTTON(check_time_check)->active;	if (GTK_WIDGET_SENSITIVE(change_links_check))		parent->config->change_links=GTK_TOGGLE_BUTTON(change_links_check)->active;	if (GTK_WIDGET_SENSITIVE(ihate_etag_check))		parent->config->ihate_etag=GTK_TOGGLE_BUTTON(ihate_etag_check)->active;	if (GTK_WIDGET_SENSITIVE(quest_sign_check))		parent->config->quest_sign_replace=GTK_TOGGLE_BUTTON(quest_sign_check)->active;	if (GTK_WIDGET_SENSITIVE(ftp_dirontop_check))		parent->config->ftp_dirontop=GTK_TOGGLE_BUTTON(ftp_dirontop_check)->active;	parent->config->http_recursing=parent->config->http_recurse_depth==1?0:1;	if (GTK_WIDGET_SENSITIVE(split_entry)){		temp1=0;		sscanf(gtk_entry_get_text(GTK_ENTRY(split_entry)),"%u",&temp1);		if (temp1>1){			if (temp1>10) temp1=10;			if (parent->split==NULL)				parent->split=new tSplitInfo;			parent->split->NumOfParts=temp1;		}else{			if (parent->split)				delete(parent->split);			parent->split=NULL;		};	};	if (GTK_WIDGET_SENSITIVE(time_check)){		if (GTK_TOGGLE_BUTTON(time_check)->active) {			time_t NOW=time(NULL);			struct tm date;			date.tm_isdst=-1;			localtime_r(&NOW,&date);			sscanf(text_from_combo(hour_entry),"%i",&date.tm_hour);			sscanf(text_from_combo(minute_entry),"%i",&date.tm_min);			gtk_calendar_get_date(GTK_CALENDAR(calendar),					      (guint *)&date.tm_year,					      (guint *)&date.tm_mon,					      (guint *)&date.tm_mday);			date.tm_year-=1900;			date.tm_sec=0;			parent->ScheduleTime=mktime(&date);			if (time(NULL)<parent->ScheduleTime){				aa.schedule_download(parent);				parent_in_db=0;			};		} else {			parent->ScheduleTime=0;		};	};};void tDEdit::done() {	if (parent) parent->editor=NULL;	gtk_widget_destroy(window);	if (filter_sel)		gtk_widget_destroy(GTK_WIDGET(filter_sel));	filter_sel=NULL;	delete proxy;};tDEdit::~tDEdit() {	done();};/*******************************************************/static void proxy_toggle_pass_ftp(GtkWidget *parent,tProxyWidget *where) {	set_editable_for_combo(where->ftp_proxy_pass,GTK_TOGGLE_BUTTON(parent)->active);	gtk_editable_set_editable(GTK_EDITABLE(GTK_COMBO(where->ftp_proxy_user)->entry),GTK_TOGGLE_BUTTON(parent)->active);	gtk_widget_set_sensitive(where->ftp_proxy_user,GTK_TOGGLE_BUTTON(parent)->active);	gtk_widget_set_sensitive(where->ftp_proxy_pass,GTK_TOGGLE_BUTTON(parent)->active);};static void proxy_toggle_pass_http(GtkWidget *parent,tProxyWidget *where) {	set_editable_for_combo(where->http_proxy_pass,GTK_TOGGLE_BUTTON(parent)->active);	gtk_editable_set_editable(GTK_EDITABLE(GTK_COMBO(where->http_proxy_user)->entry),GTK_TOGGLE_BUTTON(parent)->active);	gtk_widget_set_sensitive(where->http_proxy_user,GTK_TOGGLE_BUTTON(parent)->active);	gtk_widget_set_sensitive(where->http_proxy_pass,GTK_TOGGLE_BUTTON(parent)->active);};static void proxy_toggle_socks(GtkWidget *parent,tProxyWidget *where) {	set_editable_for_combo(where->socks_port,GTK_TOGGLE_BUTTON(parent)->active);	set_editable_for_combo(where->socks_user,GTK_TOGGLE_BUTTON(parent)->active);	set_editable_for_combo(where->socks_pass,GTK_TOGGLE_BUTTON(parent)->active);	gtk_editable_set_editable(GTK_EDITABLE(GTK_COMBO(where->socks_host)->entry),GTK_TOGGLE_BUTTON(parent)->active);	gtk_widget_set_sensitive(where->socks_user,GTK_TOGGLE_BUTTON(parent)->active);	gtk_widget_set_sensitive(where->socks_pass,GTK_TOGGLE_BUTTON(parent)->active);	gtk_widget_set_sensitive(where->socks_port,GTK_TOGGLE_BUTTON(parent)->active);	gtk_widget_set_sensitive(where->socks_host,GTK_TOGGLE_BUTTON(parent)->active);};static void _proxy_port_changed_(GtkEntry *entry,GtkEntry *entryh){	const char *tmp=gtk_entry_get_text(entryh);	char *tmp1=index(tmp,':');	if (tmp1){		*tmp1=0;		char *ns=sum_strings(tmp,":",gtk_entry_get_text(entry),NULL);		*tmp1=':';		if (!equal(ns,tmp))			gtk_entry_set_text(entryh,ns);		delete[] ns;	};};static void _ftp_host_changed_(GtkEntry *entry,tProxyWidget *parent){	const char *tmp=gtk_entry_get_text(entry);	tmp=index(tmp,':');	if (tmp){		int a=0;		if (sscanf(tmp+1,"%i",&a)==1){			char str[100];			sprintf(str,"%i",a);			gtk_entry_set_text(GTK_ENTRY(parent->ftp_proxy_port),str);		};	};};static void _http_host_changed_(GtkEntry *entry,tProxyWidget *parent){	const char *tmp=gtk_entry_get_text(entry);	tmp=index(tmp,':');	if (tmp){		int a=0;		if (sscanf(tmp+1,"%i",&a)==1){			char str[100];			sprintf(str,"%i",a);			gtk_entry_set_text(GTK_ENTRY(parent->http_proxy_port),str);		};	};};static void _socks_host_changed_(GtkEntry *entry,tProxyWidget *parent){	const char *tmp=gtk_entry_get_text(entry);	tmp=index(tmp,':');	if (tmp){		int a=0;		if (sscanf(tmp+1,"%i",&a)==1){			char str[100];			sprintf(str,"%i",a);			gtk_entry_set_text(GTK_ENTRY(parent->socks_port),str);		};	};};void tProxyWidget::init() {//	frame=gtk_frame_new(_("Proxy"));	GtkWidget *proxy_frame1=gtk_frame_new("FTP");	GtkWidget *proxy_frame2=gtk_frame_new("HTTP");	GtkWidget *proxy_frame3=gtk_frame_new(_("FTP proxy type"));//	gtk_container_set_border_width(GTK_CONTAINER(frame),5);	gtk_container_set_border_width(GTK_CONTAINER(proxy_frame1),5);	gtk_container_set_border_width(GTK_CONTAINER(proxy_frame2),5);	GtkWidget *vbox=gtk_vbox_new(FALSE,0);	GtkWidget *hbox=gtk_hbox_new(FALSE,0);	gtk_box_pack_start(GTK_BOX(hbox),vbox,FALSE,0,0);	GtkWidget *table=gtk_table_new(2,1,FALSE);	gtk_container_add(GTK_CONTAINER(proxy_frame3),table);	ftp_proxy_type_ftp=gtk_radio_button_new_with_label(NULL,_("FTP (wingate)"));	GSList *proxy_group1=gtk_radio_button_get_group(GTK_RADIO_BUTTON(ftp_proxy_type_ftp));	gtk_table_attach_defaults(GTK_TABLE(table),ftp_proxy_type_ftp,0,1,0,1);	ftp_proxy_type_http=gtk_radio_button_new_with_label(proxy_group1,"HTTP");	gtk_table_attach_defaults(GTK_TABLE(table),ftp_proxy_type_http,0,1,1,2);	GtkWidget *vbox1=gtk_vbox_new(FALSE,0);	gtk_box_pack_start(GTK_BOX(vbox1),proxy_frame3,FALSE,0,0);	gtk_box_pack_start(GTK_BOX(hbox),vbox1,FALSE,0,0);	GtkWidget *box1=gtk_vbox_new(FALSE,0);	gtk_box_pack_start(GTK_BOX(vbox1),box1,FALSE,0,0);	gtk_box_set_spacing(GTK_BOX(vbox),2);	gtk_container_add(GTK_CONTAINER(proxy_frame1),hbox);	ftp_proxy_check=gtk_check_button_new_with_label(_("Use this proxy for FTP"));	gtk_box_pack_start(GTK_BOX(vbox),ftp_proxy_check,FALSE,0,0);	ftp_proxy_host=my_gtk_combo_new(ALL_HISTORIES[PROXY_HISTORY]);	g_signal_connect (G_OBJECT (GTK_COMBO(ftp_proxy_host)->entry),			  "changed",			  G_CALLBACK(_ftp_host_changed_), this);	gtk_widget_set_size_request(ftp_proxy_host,120,-1);	gtk_box_pack_start(GTK_BOX(vbox),ftp_proxy_host,FALSE,0,0);	ftp_proxy_port=my_gtk_entry_new_with_max_length(5,0);	g_signal_connect(G_OBJECT (ftp_proxy_port),			 "changed",			 G_CALLBACK(_proxy_port_changed_),			 GTK_COMBO(ftp_proxy_host)->entry);	GtkWidget *label=gtk_label_new(_("port"));	hbox=gtk_hbox_new(FALSE,0);	gtk_box_set_spacing(GTK_BOX(hbox),3);	gtk_box_pack_start(GTK_BOX(hbox),ftp_proxy_port,FALSE,0,0);	gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,0,0);	gtk_box_pack_start(GTK_BOX(vbox),hbox,FALSE,0,0);	ftp_proxy_user_check=gtk_check_button_new_with_label(_("need password"));	g_signal_connect(G_OBJECT(ftp_proxy_user_check),"clicked",G_CALLBACK(proxy_toggle_pass_ftp),this);	gtk_box_pack_start(GTK_BOX(vbox),ftp_proxy_user_check,FALSE,0,0);	//    ftp_proxy_user=gtk_entry_new();	ftp_proxy_user=my_gtk_combo_new(ALL_HISTORIES[USER_HISTORY]);	gtk_widget_set_size_request(ftp_proxy_user,100,-1);	label=gtk_label_new(_("username"));	hbox=gtk_hbox_new(FALSE,0);	gtk_box_set_spacing(GTK_BOX(hbox),3);	gtk_box_set_spacing(GTK_BOX(vbox),2);	gtk_box_pack_start(GTK_BOX(hbox),ftp_proxy_user,FALSE,0,0);	gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,0,0);	gtk_box_pack_start(GTK_BOX(vbox),hbox,FALSE,0,0);	if (CFG.REMEMBER_PASS)		ftp_proxy_pass=my_gtk_combo_new(ALL_HISTORIES[PASS_HISTORY]);	else{		ftp_proxy_pass=gtk_entry_new();		gtk_entry_set_visibility(GTK_ENTRY(ftp_proxy_pass),FALSE);	};	gtk_widget_set_size_request(ftp_proxy_pass,100,-1);	label=gtk_label_new(_("password"));	hbox=gtk_hbox_new(FALSE,0);	gtk_box_set_spacing(GTK_BOX(hbox),3);	gtk_box_set_spacing(GTK_BOX(vbox),2);	gtk_box_pack_start(GTK_BOX(hbox),ftp_proxy_pass,FALSE,0,0);	gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,0,0);	gtk_box_pack_start(GTK_BOX(vbox),hbox,FALSE,0,0);	hbox=gtk_hbox_new(FALSE,0);	gtk_box_set_spacing(GTK_BOX(hbox),3);	gtk_box_pack_start(GTK_BOX(hbox),proxy_frame1,FALSE,0,0);	gtk_box_pack_end(GTK_BOX(hbox),proxy_frame2,FALSE,0,0);	GtkWidget *vbox_temp=gtk_vbox_new(FALSE,0);	gtk_box_pack_start(GTK_BOX(vbox_temp),hbox,FALSE,0,0);//	gtk_container_add(GTK_CONTAINER(frame),vbox_temp);	frame=vbox_temp;	no_cache=gtk_check_button_new_with_label(_("Don't get from cache"));	gtk_box_pack_start(GTK_BOX(vbox_temp),no_cache,FALSE,0,0);	vbox=gtk_vbox_new(FALSE,0);	gtk_box_set_spacing(GTK_BOX(vbox),2);	gtk_container_add(GTK_CONTAINER(proxy_frame2),vbox);	http_proxy_check=gtk_check_button_new_with_label(_("Use this proxy for HTTP"));	gtk_box_pack_start(GTK_BOX(vbox),http_proxy_check,FALSE,0,0);	http_proxy_host=my_gtk_combo_new(ALL_HISTORIES[PROXY_HISTORY]);	g_signal_connect (G_OBJECT (GTK_COMBO(http_proxy_host)->entry),			  "changed",			  G_CALLBACK(_http_host_changed_), this);	gtk_widget_set_size_request(http_proxy_host,120,-1);	gtk_box_pack_start(GTK_BOX(vbox),http_proxy_host,FALSE,0,0);	http_proxy_port=my_gtk_entry_new_with_max_length(5,0);//gtk_entry_new();	g_signal_connect(G_OBJECT (http_proxy_port),			 "changed",			 G_CALLBACK(_proxy_port_changed_),			 GTK_COMBO(http_proxy_host)->entry);	label=gtk_label_new(_("port"));	hbox=gtk_hbox_new(FALSE,0);	gtk_box_set_spacing(GTK_BOX(hbox),3);	gtk_box_pack_start(GTK_BOX(hbox),http_proxy_port,FALSE,0,0);	gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,0,0);	gtk_box_pack_start(GTK_BOX(vbox),hbox,FALSE,0,0);	http_proxy_user_check=gtk_check_button_new_with_label(_("need password"));	g_signal_connect(G_OBJECT(http_proxy_user_check),"clicked",G_CALLBACK(proxy_toggle_pass_http),this);	gtk_box_pack_start(GTK_BOX(vbox),http_proxy_user_check,FALSE,0,0);	http_proxy_user=my_gtk_combo_new(ALL_HISTORIES[USER_HISTORY]);	gtk_widget_set_size_request(http_proxy_user,100,-1);	label=gtk_label_new(_("username"));	hbox=gtk_hbox_new(FALSE,0);	gtk_box_set_spacing(GTK_BOX(hbox),3);	gtk_box_pack_start(GTK_BOX(hbox),http_proxy_user,FALSE,0,0);	gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,0,0);	gtk_box_pack_start(GTK_BOX(vbox),hbox,FALSE,0,0);	if (CFG.REMEMBER_PASS)		http_proxy_pass=my_gtk_combo_new(ALL_HISTORIES[PASS_HISTORY]);	else{		http_proxy_pass=gtk_entry_new();		gtk_entry_set_visibility(GTK_ENTRY(http_proxy_pass),FALSE);	};	gtk_widget_set_size_request(http_proxy_pass,100,-1);	label=gtk_label_new(_("password"));	hbox=gtk_hbox_new(FALSE,0);	gtk_box_set_spacing(GTK_BOX(hbox),3);	gtk_box_pack_start(GTK_BOX(hbox),http_proxy_pass,FALSE,0,0);	gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,0,0);	gtk_box_pack_start(GTK_BOX(vbox),hbox,FALSE,0,0);/* SOCKS settings */	use_socks=gtk_check_button_new_with_label(_("Use SOCKS5 proxy"));	g_signal_connect(G_OBJECT(use_socks),"clicked",			 G_CALLBACK(proxy_toggle_socks),this);	gtk_box_pack_start(GTK_BOX(vbox_temp),use_socks,FALSE,0,0);	hbox=gtk_hbox_new(FALSE,0);	gtk_box_set_spacing(GTK_BOX(hbox),5);	label=gtk_label_new(_("host"));	socks_host=my_gtk_combo_new(ALL_HISTORIES[PROXY_HISTORY]);	g_signal_connect(G_OBJECT (GTK_COMBO(socks_host)->entry),			 "changed",			 G_CALLBACK(_socks_host_changed_), this);	gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,0,0);	gtk_box_pack_start(GTK_BOX(hbox),socks_host,FALSE,0,0);	label=gtk_label_new(_("port"));	socks_port=my_gtk_entry_new_with_max_length(5,0);	g_signal_connect (G_OBJECT (socks_port),			  "changed",			  G_CALLBACK(_proxy_port_changed_),			  GTK_COMBO(socks_host)->entry);	gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,0,0);	gtk_box_pack_start(GTK_BOX(hbox),socks_port,FALSE,0,0);	gtk_box_pack_start(GTK_BOX(vbox_temp),hbox,FALSE,0,0);	hbox=gtk_hbox_new(FALSE,0);	gtk_box_set_spacing(GTK_BOX(hbox),5);	label=gtk_label_new(_("username"));	socks_user=gtk_entry_new();	gtk_box_pack_start(GTK_BOX(hbox),socks_user,FALSE,0,0);	gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,0,0);	gtk_box_pack_start(GTK_BOX(vbox_temp),hbox,FALSE,0,0);	hbox=gtk_hbox_new(FALSE,0);	gtk_box_set_spacing(GTK_BOX(hbox),5);	label=gtk_label_new(_("password"));	socks_pass=gtk_entry_new();	gtk_box_pack_start(GTK_BOX(hbox),socks_pass,FALSE,0,0);	gtk_box_pack_start(GTK_BOX(hbox),labe

⌨️ 快捷键说明

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