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

📄 option.c

📁 这是一个Linux下的源代码,具体的你自己去看了,绝对的好东西,是关于网络通讯方面的!
💻 C
字号:
#include <gtk/gtk.h>#include "yqtype.h"#include "configfile.h"#include "pixmaps/about.xpm"static GtkWidget *configwindow = NULL;static GtkWidget *option_1_title_entry[33];static GtkWidget *option_1_width_entry[33];static GtkWidget *option_1_check_button[33];/*static GtkWidget *option_2_oldname_entry[33];static GtkWidget *option_2_newname_entry[33];*/extern struct _YQList yqlist;extern ConfigFile *rccfgfile;extern gboolean titleshow[33];extern gchar *title[];extern gint yesnoreturn;extern gchar tree_selectzuname[255];void clist_openzu(gchar *zu);void createclist();void Areyousure (gchar *szMessage);void Popup (gchar *szMessage);GtkWidget *CreateWidgetFromXpm (GtkWidget *parent,gchar **xpm_data);static void config_window_ok_cb(GtkWidget *widget, gpointer data);static void config_window_close_cb(GtkWidget *widget, gpointer data){	gtk_widget_destroy(configwindow);	configwindow = NULL;}static void config_window_huifu_cb(GtkWidget *widget, gpointer data){	gint i;		Areyousure("确实要恢复所有设置吗?");	if (!yesnoreturn) return;	for (i=0;i<33;i++)	{		gtk_entry_set_text(GTK_ENTRY(option_1_title_entry[i]),title[i]);		gtk_entry_set_text(GTK_ENTRY(option_1_width_entry[i]),"0");		if ((i==0)||(i==9)||(i==10)||(i==15)||(i==16)||(i==21)||(i==32))			gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON(option_1_check_button[i]),1);		else 			gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON(option_1_check_button[i]),0);	}	config_window_ok_cb(NULL,NULL);}static void config_window_destroy(GtkWidget *w, GdkEvent *event, gpointer data){	config_window_close_cb(NULL, NULL);}static void config_window_ok_cb(GtkWidget *widget, gpointer data){	gchar *ab,ti[4],*bb,tz[256];	gint i,a,b;	gboolean ifshow;		for (i=0;i<33;i++)	{		if (*gtk_entry_get_text(GTK_ENTRY(option_1_title_entry[i]))=='\0')		{			sprintf(tz,"第 %d 个列表名为空!",i+1);			Popup(tz); 			return;  		}					}		for (i=0;i<33;i++)		{		bb=gtk_entry_get_text(GTK_ENTRY(option_1_width_entry[i]));		if (*bb=='\0')		{			sprintf(tz,"第 %d 个列表宽度为空!",i+1);			Popup(tz); 			return;  		}		a=atoi(bb);		if (a<0) 		{			sprintf(tz,"第 %d 个列表宽度不是数字!",i+1);			Popup(tz); 			return;  		}		}			for (i=1;i<=33;i++)	{		sprintf(ti,"%d",i);		yq_cfg_read_string(rccfgfile,"title",ti,&ab);				bb=gtk_entry_get_text(GTK_ENTRY(option_1_title_entry[i-1]));		if (strcmp(ab,bb))			yq_cfg_write_string(rccfgfile,"title",ti,bb);	}			for (i=2;i<=33;i++)	{		sprintf(ti,"%d",i);				if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(option_1_check_button[i-1]))!=titleshow[i-1])		{			titleshow[i-1]=!titleshow[i-1];			yq_cfg_write_boolean(rccfgfile,"titleshow",ti,titleshow[i-1]);		}		}			for (i=1;i<=33;i++)	{		sprintf(ti,"%d",i);		yq_cfg_read_int(rccfgfile,"titlewidth",ti,&a);		b=atoi(gtk_entry_get_text(GTK_ENTRY(option_1_width_entry[i-1])));		if (a!=b)			yq_cfg_write_int(rccfgfile,"titlewidth",ti,b);  	}			if (yqlist.type==LIST_DETAILS)	{	gtk_clist_clear(GTK_CLIST(yqlist.list));        gtk_container_remove(GTK_CONTAINER(yqlist.box), yqlist.listwin);	createclist();	clist_openzu(tree_selectzuname); 	}	config_window_close_cb(NULL, NULL);}static void config_window_create(gint start_tab){	GtkWidget *win_vbox;	GtkWidget *hbox;	GtkWidget *notebook;	GtkWidget *frame;	GtkWidget *label;	GtkWidget *vbox;	GtkWidget *vbox1;	GtkWidget *vbox2;	GtkWidget *button;	GtkWidget *table;	GtkWidget *opwin;		gchar buf[255],*ab;	gint i;	configwindow = gtk_window_new (GTK_WINDOW_TOPLEVEL);	gtk_signal_connect (GTK_OBJECT (configwindow), "delete_event",(GtkSignalFunc) config_window_destroy, NULL);	gtk_window_set_policy (GTK_WINDOW (configwindow), FALSE, FALSE, FALSE);	gtk_window_set_title (GTK_WINDOW (configwindow), "友情强裆-设置");	gtk_window_set_wmclass(GTK_WINDOW (configwindow), "设置", "友情强裆");	gtk_container_border_width (GTK_CONTAINER (configwindow), 5);	win_vbox = gtk_vbox_new(FALSE, 5);	gtk_container_add(GTK_CONTAINER(configwindow), win_vbox);	gtk_widget_show(win_vbox);	hbox = gtk_hbox_new (TRUE, 0);	gtk_box_pack_end(GTK_BOX(win_vbox), hbox, FALSE, FALSE, 0);	gtk_widget_show(hbox);	button = gtk_button_new_with_label("确定");	gtk_signal_connect (GTK_OBJECT (button), "clicked",(GtkSignalFunc) config_window_ok_cb, NULL);	gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 20);	gtk_widget_show(button);	button = gtk_button_new_with_label("恢复");	gtk_signal_connect (GTK_OBJECT (button), "clicked",(GtkSignalFunc) config_window_huifu_cb, NULL);	gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 20);	gtk_widget_show(button);	button = gtk_button_new_with_label("取消");	gtk_signal_connect (GTK_OBJECT (button), "clicked",(GtkSignalFunc) config_window_close_cb, NULL);	gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 20);	gtk_widget_show(button);	notebook = gtk_notebook_new();	gtk_notebook_set_tab_pos (GTK_NOTEBOOK(notebook), GTK_POS_TOP);	gtk_box_pack_start (GTK_BOX(win_vbox), notebook, TRUE, TRUE, 0);	/* list tab */	frame = gtk_frame_new(NULL);	gtk_container_border_width (GTK_CONTAINER (frame), 5);	gtk_widget_show(frame);	label = gtk_label_new("自定义列表");	gtk_notebook_append_page (GTK_NOTEBOOK (notebook), frame, label);	vbox = gtk_vbox_new (FALSE, 0);	gtk_container_border_width (GTK_CONTAINER (vbox), 5);	gtk_container_add (GTK_CONTAINER(frame),vbox);	gtk_widget_show(vbox);	table=gtk_table_new(3,34,FALSE);	gtk_widget_show(table);				opwin = gtk_scrolled_window_new(NULL, NULL);	gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(opwin),	GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);	gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(opwin), table);	gtk_box_pack_start(GTK_BOX (vbox),opwin, TRUE, TRUE, 0);	gtk_widget_show(opwin);	label = gtk_label_new("显示");	gtk_table_attach_defaults(GTK_TABLE (table),label, 0, 1, 0, 1);	gtk_widget_show(label);	label = gtk_label_new("列表名");	gtk_table_attach_defaults(GTK_TABLE (table),label, 1, 2, 0, 1);	gtk_widget_show(label);	label = gtk_label_new("宽度");	gtk_table_attach_defaults(GTK_TABLE (table),label, 2, 3, 0, 1);	gtk_widget_show(label);			for (i=0; i<33; i++)		{		sprintf(buf,"%d",i+1);		option_1_check_button[i] = gtk_check_button_new_with_label(buf);		gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON(option_1_check_button[i]),titleshow[i]);		gtk_table_attach_defaults(GTK_TABLE (table),option_1_check_button[i], 0, 1, i+1, i+2);		gtk_widget_show(option_1_check_button[i]);		gtk_widget_set_sensitive(option_1_check_button[0],0);						option_1_title_entry[i] = gtk_entry_new_with_max_length(32);		yq_cfg_read_string(rccfgfile,"title",buf,&ab); 		gtk_entry_set_text(GTK_ENTRY(option_1_title_entry[i]),ab);		g_free(ab);		gtk_table_attach_defaults(GTK_TABLE (table),option_1_title_entry[i],1,2,i+1,i+2);		gtk_widget_show(option_1_title_entry[i]);		option_1_width_entry[i] = gtk_entry_new_with_max_length(3);		gtk_widget_set_usize(option_1_width_entry[i],28,-1);		yq_cfg_read_string(rccfgfile,"titlewidth",buf,&ab);		gtk_entry_set_text(GTK_ENTRY(option_1_width_entry[i]),ab);		g_free(ab);		gtk_table_attach_defaults(GTK_TABLE (table),option_1_width_entry[i],2,3,i+1,i+2);		gtk_widget_show(option_1_width_entry[i]);		}/*	frame = gtk_frame_new(NULL);	gtk_container_border_width (GTK_CONTAINER (frame), 5);	gtk_widget_show(frame);	label = gtk_label_new("自定义名称");	gtk_notebook_append_page (GTK_NOTEBOOK (notebook), frame, label);	vbox = gtk_vbox_new (FALSE, 0);	gtk_container_border_width (GTK_CONTAINER (vbox), 5);	gtk_container_add (GTK_CONTAINER(frame),vbox);	gtk_widget_show(vbox);	table=gtk_table_new(3,34,FALSE);	gtk_widget_show(table);			opwin = gtk_scrolled_window_new(NULL, NULL);	gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(opwin),	GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);	gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(opwin), table);	gtk_box_pack_start(GTK_BOX (vbox),opwin, TRUE, TRUE, 0);	gtk_widget_show(opwin);	label = gtk_label_new("#");	gtk_table_attach_defaults(GTK_TABLE (table),label, 0, 1, 0, 1);	gtk_widget_show(label);	label = gtk_label_new("原名称");	gtk_table_attach_defaults(GTK_TABLE (table),label, 1, 2, 0, 1);	gtk_widget_show(label);	label = gtk_label_new("目前名称");	gtk_table_attach_defaults(GTK_TABLE (table),label, 2, 3, 0, 1);	gtk_widget_show(label);	for (i=0; i<33; i++)		{		sprintf(buf,"%d",i+1);		label = gtk_label_new(buf);		gtk_table_attach_defaults(GTK_TABLE (table),label, 0, 1, i+1, i+2);		gtk_widget_show(label);		option_2_oldname_entry[i] = gtk_entry_new_with_max_length(32);		gtk_entry_set_text(GTK_ENTRY(option_1_title_entry[i]),title[i]);		gtk_table_attach_defaults(GTK_TABLE (table),option_1_title_entry[i],1,2,i+1,i+2);		gtk_widget_show(option_1_title_entry[i]);		option_1_width_entry[i] = gtk_entry_new_with_max_length(3);		gtk_widget_set_usize(option_1_width_entry[i],22,-1);		sprintf(buf,"%d",titlewid[i]);		gtk_entry_set_text(GTK_ENTRY(option_1_width_entry[i]),buf);		gtk_table_attach_defaults(GTK_TABLE (table),option_1_width_entry[i],2,3,i+1,i+2);		gtk_widget_show(option_1_width_entry[i]);		}*/	/* about tab */	frame = gtk_frame_new(NULL);	gtk_container_border_width (GTK_CONTAINER (frame), 5);	gtk_widget_show(frame);	label = gtk_label_new("关于");	gtk_notebook_append_page (GTK_NOTEBOOK (notebook), frame, label);	vbox = gtk_vbox_new (FALSE, 0);	gtk_container_add (GTK_CONTAINER(frame),vbox);	gtk_widget_show(vbox);		gtk_widget_realize(configwindow);		gtk_box_pack_start(GTK_BOX(vbox),CreateWidgetFromXpm (configwindow,(gchar **) about_xpm), TRUE, TRUE, 0);	strcpy(buf, "友情强档 0.03\n\n胡正制作\nhttp://clinuxer.yeah.net\nhuzheng@21cn.com\n\n    Released under the GNU Public License    ");	label = gtk_label_new(buf);	gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 0);	gtk_widget_show (label);	gtk_notebook_set_page (GTK_NOTEBOOK(notebook), start_tab);	gtk_widget_show(notebook);	gtk_widget_unrealize(configwindow);		 	gtk_widget_show(configwindow);}void show_config_window(){	if (configwindow) return;	config_window_create(0);}void show_about_window(){	if (configwindow) return;	config_window_create(1);}

⌨️ 快捷键说明

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