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

📄 toolbarfunc.c

📁 这是一个Linux下的源代码,具体的你自己去看了,绝对的好东西,是关于网络通讯方面的!
💻 C
📖 第 1 页 / 共 2 页
字号:
toolbar_remove(GtkWidget *widget, gpointer data){	gint i,n,j,z,k;	gchar *ab,ti[4],tj[4],tz[260],*bb;	GtkWidget *leaf;	GList *children;	tree_node *tnode;   	if (tree_selectzuname[0]=='\0') return;	if (!tree_selectiszu) 	{		j=atoi(tree_selectjilu);				yq_cfg_read_int(cfgfile,tree_selectzuname,"z",&z);		yq_cfg_read_int(cfgfile,tree_selectzuname,"a",&n);			for (i=j;i<n;i++)		{			sprintf(ti,"%d",i);			sprintf(tj,"%d",i+1);			yq_cfg_read_string(cfgfile,tree_selectzuname,tj,&ab);			yq_cfg_write_string(cfgfile,tree_selectzuname,ti,ab);			bb=strchr(ab,',');			*bb='\0';			if (*(bb+1)=='1')				leaf=yq_createleaf(leaf_formattext(ab),BOY);			else				leaf=yq_createleaf(leaf_formattext(ab),GIRL);    			gtk_tree_append(GTK_TREE(tree_selecttree),leaf);			g_free(ab);			sprintf(tz,"%s-%s",tree_selectzuname,ti);			tnode = g_malloc(sizeof(tree_node));			tnode -> cfg = cfgfile;			tnode->attree=GTK_TREE(tree_selecttree);			tnode->uptree=GTK_TREE(tree_selectuptree);			tnode->root_leaf=tree_selectrootleaf;			strcpy(tnode -> nodename, tz);			gtk_signal_connect(GTK_OBJECT(leaf), "select",			GTK_SIGNAL_FUNC(leaf_selected),tnode);		}		if (j==n)			gtk_tree_clear_items(tree_selecttree,z+j-1,-1);		else			gtk_tree_clear_items(tree_selecttree,z+j-1,z+n-1);		yq_cfg_write_int(cfgfile,tree_selectzuname,"a",n-1);  		sprintf(tj,"%d",n);		yq_cfg_remove_key(cfgfile,tree_selectzuname,tj);		if (j==n) j--;		k=z+j-1;	}	else	{ 		bb=strrchr(tree_selectzuname,'_');		if (!bb) return;		yq_cfg_read_string(cfgfile,tree_selectzuname,"n",&ab);		sprintf(tz,"确实要删除组 \"%s\" 吗?",ab);		g_free(ab);		Areyousure(tz);		if (!yesnoreturn) return;		*bb='\0';		yq_cfg_read_int(cfgfile,tree_selectzuname,"z",&z);		yq_cfg_read_int(cfgfile,tree_selectzuname,"a",&n);			k=0;		children = gtk_container_children (GTK_CONTAINER (tree_selecttree));		while (children) {			if (children->data==tree_selectitem) break;			k++;			children = g_list_remove_link (children, children);		}			if ((k==(z-1))&&(n==0)) k--;		yq_cfg_write_int(cfgfile,tree_selectzuname,"z",z-1);             		sprintf(tz,"%s_%d",tree_selectzuname,z);		*bb='_';		if (!strcmp(tz,tree_selectzuname))		{			yq_cfg_remove_sections(cfgfile,tree_selectzuname); 			gtk_tree_remove_item(tree_selecttree,tree_selectitem);					}		else		{			yq_cfg_daiti_sections(cfgfile,tree_selectzuname,tz);			gtk_tree_remove_item(tree_selecttree,tree_selectitem);       			yq_cfg_read_string(cfgfile,tree_selectzuname,"n",&ab);			leaf=yq_createleaf(ab,ZU_CLOSE);			g_free(ab);			tnode = g_malloc(sizeof(tree_node));			tnode -> cfg = cfgfile;			tnode->attree=GTK_TREE(tree_selecttree);			tnode->uptree=GTK_TREE(tree_selectuptree);			tnode->root_leaf=tree_selectrootleaf;			strcpy(tnode -> nodename, tree_selectzuname);			gtk_signal_connect(GTK_OBJECT(leaf), "expand",				GTK_SIGNAL_FUNC(zu_expanded),tnode);			gtk_signal_connect(GTK_OBJECT(leaf), "collapse",				GTK_SIGNAL_FUNC(zu_collapsed),tnode);			gtk_signal_connect(GTK_OBJECT(leaf), "select",				GTK_SIGNAL_FUNC(zu_selected),tnode);			i=0;  			while (i<(z-1))			{				gtk_tree_select_item(tree_selecttree,i);				if (!strcmp(tree_selectzuname,tz)) {j=i;break;}				i++;			}			gtk_tree_insert(GTK_TREE(tree_selecttree),leaf,j);			gtk_tree_remove_item(tree_selecttree,tree_selectitem);			gtk_tree_item_set_subtree(GTK_TREE_ITEM(leaf),yq_readzu(tnode));		}			}	if (z+n==1)		gtk_tree_select_child(tree_selectuptree, tree_selecttree->tree_owner);	else		gtk_tree_select_item(tree_selecttree,k);  }voidtoolbar_add(GtkWidget *widget, gpointer data){if (tree_selectzuname[0]=='\0') return; if (yqlist.type==LIST_DETAILS) {  yq_set_list_type(LIST_NOTEBOOK);  } else { nb_changed=1; gtk_entry_set_text(GTK_ENTRY(nb_1_1),""); gtk_entry_set_text (GTK_ENTRY (GTK_COMBO(nb_1_2)->entry),"男"); gtk_entry_set_text (GTK_ENTRY (GTK_COMBO(nb_1_3)->entry), "阳历"); gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON(nb_1_4), 0); gtk_entry_set_text(GTK_ENTRY(nb_1_5),"");gtk_entry_set_text(GTK_ENTRY(nb_1_6),"");gtk_entry_set_text(GTK_ENTRY(nb_1_7),"");gtk_entry_set_text(GTK_ENTRY(nb_1_8),"");gtk_entry_set_text(GTK_ENTRY(nb_1_9),"");gtk_entry_set_text(GTK_ENTRY(nb_1_10),"");gtk_entry_set_text(GTK_ENTRY(nb_1_11),"");gtk_entry_set_text(GTK_ENTRY(nb_1_12),"");gtk_entry_set_text(GTK_ENTRY(nb_1_13),"");gtk_entry_set_text(GTK_ENTRY(nb_1_14),"");gtk_entry_set_text(GTK_ENTRY(nb_1_15),"");gtk_entry_set_text(GTK_ENTRY(nb_1_16),"");gtk_entry_set_text(GTK_ENTRY(nb_1_17),"");gtk_entry_set_text(GTK_ENTRY(nb_1_18),"");gtk_entry_set_text(GTK_ENTRY(nb_2_1),"");gtk_entry_set_text(GTK_ENTRY(nb_2_2),"");gtk_entry_set_text(GTK_ENTRY(nb_2_3),"");gtk_entry_set_text(GTK_ENTRY(nb_2_4),"");gtk_entry_set_text(GTK_ENTRY(nb_2_5),"");gtk_entry_set_text(GTK_ENTRY(nb_2_6),"");gtk_entry_set_text(GTK_ENTRY(nb_2_7),"");gtk_entry_set_text(GTK_ENTRY(nb_2_8),"");gtk_entry_set_text(GTK_ENTRY(nb_2_9),"");gtk_entry_set_text(GTK_ENTRY(nb_2_10),"");gtk_entry_set_text(GTK_ENTRY(nb_2_11),"");gtk_entry_set_text(GTK_ENTRY(nb_2_12),"");gtk_entry_set_text(GTK_ENTRY(nb_2_13),"");gtk_editable_delete_text (GTK_EDITABLE (nb_3_1), 0, -1);gtk_editable_delete_text (GTK_EDITABLE (nb_3_2), 0, -1);nb_changed=0;}nb_isadd=1;nb_setchanged(widget,NULL);}void toolbar_zu(GtkWidget *widget, gpointer data){	gint z;	gchar tz[260];	if (tree_selectzuname[0]=='\0') return;	yq_cfg_read_int(cfgfile,tree_selectzuname,"z",&z);	sprintf(tz,"%s_%d",tree_selectzuname,z+1);	InputName ("请输入组名:","新组");	if (!yesnoreturn) return;	if (sFilename[0]=='\0')	{		Popup("组名不能为空!");		return;	}	yq_cfg_write_int(cfgfile,tree_selectzuname,"z",z+1); 	yq_cfg_write_string(cfgfile,tz,"n",sFilename);	yq_cfg_write_int(cfgfile,tz,"z",0);             	yq_cfg_write_int(cfgfile,tz,"a",0);             	toolbar_addzu();}void toolbar_addzu(){	GtkWidget *leaf;	gint z;	gchar tz[260],*zuname;	tree_node *tnode;	yq_cfg_read_int(cfgfile,tree_selectzuname,"z",&z);	sprintf(tz,"%s_%d",tree_selectzuname,z);	yq_cfg_read_string(cfgfile,tz,"n",&zuname);	leaf=yq_createleaf(zuname,ZU_CLOSE); 	g_free(zuname);	tnode = g_malloc(sizeof(tree_node));	tnode -> cfg = cfgfile;	tnode->root_leaf=tree_selectrootleaf;	strcpy(tnode -> nodename, tz);			if (tree_selectiszu)		open_zu(tree_selectzuname);	else		gtk_tree_select_child(tree_selectuptree,tree_selecttree->tree_owner );	gtk_clist_select_row(GTK_CLIST(yqlist.list),z-1,0);   	if  (!GTK_TREE_ITEM(tree_selectitem)->subtree) 		gtk_tree_item_set_subtree(GTK_TREE_ITEM(tree_selectitem),yq_createnulltree());	if (!GTK_TREE_ITEM(tree_selectitem)->expanded)		gtk_tree_item_expand(GTK_TREE_ITEM(tree_selectitem));	gtk_tree_insert(GTK_TREE(GTK_TREE_ITEM(tree_selectitem)->subtree),leaf,z-1);  	tnode->attree=GTK_TREE(GTK_TREE_ITEM(tree_selectitem)->subtree);	tnode->uptree=tree_selecttree; 			gtk_signal_connect(GTK_OBJECT(leaf), "expand",				GTK_SIGNAL_FUNC(zu_expanded),tnode);	gtk_signal_connect(GTK_OBJECT(leaf), "collapse",				GTK_SIGNAL_FUNC(zu_collapsed),tnode);	gtk_signal_connect(GTK_OBJECT(leaf), "select",			GTK_SIGNAL_FUNC(zu_selected),tnode);	gtk_tree_item_set_subtree(GTK_TREE_ITEM(leaf),yq_readzu(tnode));   }voidtoolbar_open(GtkWidget *widget, gpointer data){GetFilename ("打开YQ文件");if (sFilename[0]!='\0') yq_readfile(widget,sFilename); }voidtoolbar_rename(GtkWidget *widget, gpointer data){gchar *ab,tz[256];if (tree_selectzuname[0]=='\0') return;if (!tree_selectiszu) return;  yq_cfg_read_string(cfgfile,tree_selectzuname,"n",&ab);  sprintf(tz,"将组 \"%s\" 重命名为:",ab);  InputName (tz,ab);  if (!yesnoreturn) return;  strcpy(tz,ab);  g_free(ab);  if (sFilename[0]=='\0')   {    Popup("组名不能为空!");    return;    }  if (!strcmp(sFilename,tz))   {    Popup("组名相同!");    return;    }   tree_set_text(GTK_TREE_ITEM(tree_selectitem),sFilename);   yq_cfg_write_string(cfgfile,tree_selectzuname,"n",sFilename);}voidtoolbar_new(GtkWidget *widget, gpointer data){	struct stat st;	FILE *file;	GetFilename ("新建YQ文件");	if (sFilename[0]=='\0') return;	if (!stat(sFilename, &st))	{	Areyousure("此文件已经存在,确实要替换?");	if (!yesnoreturn) return;	}	create_yqfile(sFilename);	yq_readfile(widget,sFilename);}voidtoolbar_copy(GtkWidget *widget, gpointer data){	if (tree_selectzuname[0]=='\0') return;	nowincopy.cfg=cfgfile;	nowincopy.iszu=tree_selectiszu;	strcpy(nowincopy.zuname,tree_selectzuname);	if (!tree_selectiszu)		strcpy(nowincopy.jiluname,tree_selectjilu);}void toolbar_copyzu(gchar *zuname1,gchar *zuname2){	gchar *ab,tz[260],tz2[260];	gint i,z;		yq_cfg_read_string(nowincopy.cfg,zuname2,"n",&ab);	yq_cfg_write_string(cfgfile,zuname1,"n",ab);	g_free(ab);	yq_cfg_read_int(nowincopy.cfg,zuname2,"a",&z);	yq_cfg_write_int(cfgfile,zuname1,"a",z);             	for (i=1;i<=z;i++)	{		sprintf(tz,"%d",i);		yq_cfg_read_string(nowincopy.cfg,zuname2,tz,&ab);		yq_cfg_write_string(cfgfile,zuname1,tz,ab);		g_free(ab);	}	yq_cfg_read_int(nowincopy.cfg,zuname2,"z",&z);	yq_cfg_write_int(cfgfile,zuname1,"z",z);             		for (i=1;i<=z;i++)	{		sprintf(tz,"%s_%d",zuname1,i);		sprintf(tz2,"%s_%d",zuname2,i);		toolbar_copyzu(tz,tz2);	}}voidtoolbar_paste(GtkWidget *widget, gpointer data){	gchar *ab,tz[256];	gint z;		if (nowincopy.zuname[0]=='\0') return;	if (tree_selectzuname[0]=='\0') return;	if (nowincopy.iszu)	{		if (!yq_cfg_read_int(nowincopy.cfg,nowincopy.zuname,"a",&z)) return;		yq_cfg_read_int(cfgfile,tree_selectzuname,"z",&z);		sprintf(tz,"%s_%d",tree_selectzuname,z+1);		toolbar_copyzu(tz,nowincopy.zuname);					yq_cfg_write_int(cfgfile,tree_selectzuname,"z",z+1); 		toolbar_addzu();	} else	{		if (!yq_cfg_read_string(nowincopy.cfg,nowincopy.zuname,nowincopy.jiluname,&ab))			return;		toolbar_addjilu(ab);		g_free(ab);		}}

⌨️ 快捷键说明

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