📄 main.c
字号:
#include "configfile.h"#include <gtk/gtk.h>extern ConfigFile *rccfgfile,*cfgfile;extern GtkWidget *tree_main,*root_leaf;extern GtkWidget *nb_1_1;extern gint yesnoreturn;extern gboolean nb_changed;void yq_main ();void createmenu (GtkWidget *win_main,GtkWidget *main_vbox);void createtoolbar (GtkWidget *parent,GtkWidget *main_vbox);void createtoolbar1(GtkWidget *main_vbox); void createtoolbar2(GtkWidget *parent,GtkWidget *main_vbox); void createtree(GtkWidget *parent,GtkWidget *vbox);void createlist(GtkWidget *vbox);void yq_load_pixmaps(GtkWidget *parent);void yqrc_init();void yq_readfile(GtkWidget *widget, gpointer openfile);void toolbar_cancel(GtkWidget *widget, gpointer data);void toolbar_save(GtkWidget *widget, gpointer data);void YesNo (gchar *szMessage);gint CloseAppWindow (GtkWidget *widget, gpointer *data){ GList *list=NULL; if (nb_changed) { if (*gtk_entry_get_text(GTK_ENTRY(nb_1_1))!='\0') { YesNo("正在修改记录,是否保存?"); if (yesnoreturn==2) return; if (yesnoreturn==1) toolbar_save(widget,NULL); } }/*for (list=listofopenfile;list;list=list->next) { cfgfile=(ConfigFile *)list->data; if (cfgfile->changed) yq_cfg_write_file(cfgfile,cfgfile->cfgfilename); yq_cfg_free(cfgfile); g_free(cfgfile); } g_slist_free(listofopenfile);*/ if (GTK_TREE_ITEM(root_leaf)->subtree) { list = gtk_container_children (GTK_CONTAINER (tree_main)); while (list) { gtk_tree_select_child(GTK_TREE(tree_main),list->data); if (cfgfile->changed) yq_cfg_write_file(cfgfile,cfgfile->cfgfilename); yq_cfg_free(cfgfile); g_free(cfgfile); list = g_list_remove_link (list, list); } } if (rccfgfile->changed) yq_cfg_write_file(rccfgfile,rccfgfile->cfgfilename); yq_cfg_free(rccfgfile); g_free(rccfgfile); gtk_main_quit (); return (FALSE);} int main (int argc,char * argv []){ gtk_init (&argc, &argv); yqrc_init(); yq_main(); gtk_main(); return 0;}void kk (GtkWidget *widget, gpointer data){ g_print ("%s\n", data);}voidwinmain_size_changed(GtkWidget *box){ yq_cfg_write_int(rccfgfile,"setting","window_width",box->allocation.width); yq_cfg_write_int(rccfgfile,"setting","window_height",box->allocation.height); }void yq_main(){ GtkWidget *main_vbox,*win_main; GtkWidget *hpaned,*vbox,*hbox; GtkWidget *label,*entry; gint a,b; gchar *ab; win_main = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(win_main),"友情强档"); gtk_widget_set_usize(win_main, 300, 200); gtk_container_border_width(GTK_CONTAINER(win_main), 2); gtk_signal_connect(GTK_OBJECT(win_main),"delete_event", GTK_SIGNAL_FUNC(CloseAppWindow),NULL); main_vbox = gtk_vbox_new(FALSE,0); gtk_container_add(GTK_CONTAINER(win_main),main_vbox); gtk_widget_show(main_vbox); gtk_widget_realize(win_main); yq_load_pixmaps(win_main); createmenu(win_main,main_vbox); createtoolbar(win_main,main_vbox); label=gtk_label_new("检索: "); gtk_widget_show(label); entry=gtk_entry_new(); gtk_widget_set_usize(entry,60,-1); gtk_widget_show(entry); hbox=gtk_hbox_new(FALSE,0); gtk_box_pack_start(GTK_BOX (hbox), label, FALSE, TRUE, 0); gtk_box_pack_start(GTK_BOX (hbox), entry, TRUE, TRUE, 0); gtk_widget_show(hbox); vbox=gtk_vbox_new(FALSE,0); gtk_widget_show(vbox); gtk_box_pack_start(GTK_BOX (vbox), hbox, FALSE, TRUE, 0); createtree(win_main,vbox); hpaned = gtk_hpaned_new(); gtk_paned_pack1(GTK_PANED(hpaned), vbox, TRUE, TRUE); label=gtk_label_new("拼音首字: "); gtk_widget_show(label); entry=gtk_entry_new_with_max_length(3); gtk_widget_set_usize(entry,35,-1); gtk_widget_show(entry); hbox=gtk_hbox_new(FALSE,0); gtk_widget_show(hbox); gtk_box_pack_start(GTK_BOX (hbox), label, FALSE, TRUE, 0); gtk_box_pack_start(GTK_BOX (hbox), entry, FALSE,FALSE , 0); createtoolbar2(win_main,hbox); createtoolbar1(hbox); vbox=gtk_vbox_new(FALSE,0); gtk_widget_show(vbox); gtk_box_pack_start(GTK_BOX (vbox), hbox, FALSE, TRUE, 0); createlist(vbox); gtk_paned_pack2(GTK_PANED(hpaned), vbox, TRUE, TRUE); yq_cfg_read_int(rccfgfile,"setting","paned_position",&b); yq_cfg_read_int(rccfgfile,"setting","window_width",&a); gtk_paned_compute_position(GTK_PANED(hpaned), a-4,b+2,a-b-6); gtk_paned_set_position(GTK_PANED(hpaned), b+2); gtk_widget_show(hpaned); gtk_box_pack_start (GTK_BOX (main_vbox), hpaned, TRUE, TRUE, 0); yq_cfg_read_int(rccfgfile,"setting","window_height",&b); gtk_window_set_default_size(GTK_WINDOW(win_main),a,b); gtk_signal_connect_object( GTK_OBJECT(win_main), "size_allocate", GTK_SIGNAL_FUNC(winmain_size_changed), GTK_OBJECT(win_main)); gtk_widget_unrealize(win_main); gtk_widget_show(win_main); yq_cfg_read_string(rccfgfile,"file","1",&ab); yq_readfile(win_main,ab); g_free(ab); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -