📄 menufunc.c
字号:
#include <gtk/gtk.h>#include "configfile.h"#include <sys/stat.h>extern gboolean tree_selectiszu;extern gchar sFilename[256]; extern GtkWidget *tree_main;extern ConfigFile *cfgfile;extern gchar tree_selectzuname[255];extern GtkWidget *tree_selectrootleaf;extern gint yesnoreturn;void GetFilename (char *sTitle);void Popup (gchar *szMessage);void file_close(){GList *list=NULL;gint n; if (tree_selectzuname[0]=='\0') return; list = gtk_container_children (GTK_CONTAINER (tree_main)); n=0; while (list) { n++; list = g_list_remove_link (list, list); } /*这里有一个bug,当只打开了一个文件时,且焦点不在记录薄上,会出错. 靠程序来点击记录薄也不行,必须要用户来点; 打开了多个文件或新建了一个记录不会出错. */ if (n==1) { if ((strcmp(tree_selectzuname,"yq"))||(!tree_selectiszu)) { Popup("请选择记录薄!"); return; } } if (cfgfile->changed) { YesNo("是否保存?"); if (yesnoreturn==2) return; if (yesnoreturn==1) { yq_cfg_write_file(cfgfile,cfgfile->cfgfilename); } } yq_cfg_free(cfgfile); g_free(cfgfile); gtk_tree_select_item(GTK_TREE(tree_main)->root_tree,0); gtk_tree_remove_item(GTK_TREE(tree_main),tree_selectrootleaf);}voidfile_saveas(GtkWidget *widget, gpointer data){ struct stat st; GetFilename ("另存为YQ文件"); if (sFilename[0]=='\0') return; if (!stat(sFilename, &st)) { Areyousure("此文件已经存在,确实要替换吗?"); if (!yesnoreturn) return; } yq_cfg_write_file(cfgfile,sFilename);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -