📄 menu.c
字号:
#include "menu.h"GtkWidget *createMenuItem(GtkWidget *menuBar,char *menustr){ GtkWidget *menuItem; menuItem = gtk_menu_item_new_with_label(menustr); gtk_menu_shell_append(GTK_MENU_SHELL(menuBar),menuItem); gtk_widget_show(menuItem); return menuItem;}GtkWidget* createSubMenuFile(GtkWidget *menuItem){ GtkWidget *subMenu; GtkWidget *start; GtkWidget *stop; GtkWidget *exit; subMenu = gtk_menu_new(); start = createMenuItem(subMenu,"Start"); stop = createMenuItem(subMenu,"Stop"); exit = createMenuItem(subMenu,"Exit"); g_signal_connect(GTK_OBJECT(start),"activate",G_CALLBACK(fileStart),NULL); g_signal_connect(GTK_OBJECT(stop),"activate",G_CALLBACK(fileStop),NULL); g_signal_connect(GTK_OBJECT(exit),"activate",G_CALLBACK(fileExit),NULL); gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuItem),subMenu); gtk_widget_show(subMenu);}GtkWidget *createSubMenuEdit(GtkWidget *menuItem){ GtkWidget *subMenu; GtkWidget *monitorConf; GtkWidget *servConf; GtkWidget *confPath; GtkWidget *httpLogPath; GtkWidget *consoleAddress; subMenu = gtk_menu_new(); monitorConf = createMenuItem(subMenu,"MonitorOpt"); consoleAddress = createMenuItem(subMenu,"ConsoleAddress"); servConf = createMenuItem(subMenu,"ServConf"); confPath = createMenuItem(subMenu,"ConfPath"); httpLogPath = createMenuItem(subMenu,"LogPath"); g_signal_connect(GTK_OBJECT(monitorConf),"activate",G_CALLBACK(editMonitorOption),NULL); g_signal_connect(GTK_OBJECT(consoleAddress),"activate",G_CALLBACK(editConsoleAddress),NULL); g_signal_connect(GTK_OBJECT(servConf),"activate",G_CALLBACK(editServerConf),NULL); g_signal_connect(GTK_OBJECT(confPath),"activate",G_CALLBACK(editConfPath),NULL); g_signal_connect(GTK_OBJECT(httpLogPath),"activate",G_CALLBACK(editLogPath),NULL); gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuItem),subMenu); gtk_widget_show(subMenu);}GtkWidget *createSubMenuView(GtkWidget *menuItem){ GtkWidget *subMenu; GtkWidget *viewServConf; /*TODO*/ GtkWidget *viewHttpLog; GtkWidget *viewDNSLog; GtkWidget *viewSMTPLog; GtkWidget *viewPOP3Log; subMenu = gtk_menu_new(); viewServConf = createMenuItem(subMenu,"ServConf"); viewHttpLog = createMenuItem(subMenu,"HttpLog"); viewDNSLog = createMenuItem(subMenu,"DNSLog"); viewSMTPLog = createMenuItem(subMenu,"SMTPLog"); viewPOP3Log = createMenuItem(subMenu,"POP3Log"); g_signal_connect(GTK_OBJECT(viewServConf),"activate",G_CALLBACK(viewServerConf),NULL); g_signal_connect(GTK_OBJECT(viewHttpLog),"activate",G_CALLBACK(viewRunningLog),NULL); g_signal_connect(GTK_OBJECT(viewDNSLog),"activate",G_CALLBACK(viewDNSRunningLog),NULL); g_signal_connect(GTK_OBJECT(viewSMTPLog),"activate",G_CALLBACK(viewSMTPRunningLog),NULL); g_signal_connect(GTK_OBJECT(viewPOP3Log),"activate",G_CALLBACK(viewPOP3RunningLog),NULL); gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuItem),subMenu); gtk_widget_show(subMenu);}GtkWidget * menu(GtkWidget *box){ GtkWidget *menuBar; GtkWidget *menuItemFile; GtkWidget *menuItemEdit; GtkWidget *menuItemView; GtkWidget *menuItemHelp; GtkWidget *menuItemAbout; menuBar = gtk_menu_bar_new(); gtk_box_pack_start(GTK_BOX(box),menuBar,FALSE,TRUE,0); menuItemFile = createMenuItem(menuBar,"File"); createSubMenuFile(menuItemFile); menuItemEdit = createMenuItem(menuBar,"Edit"); createSubMenuEdit(menuItemEdit); menuItemView = createMenuItem(menuBar,"View"); createSubMenuView(menuItemView); menuItemHelp = createMenuItem(menuBar,"Help"); g_signal_connect(GTK_OBJECT(menuItemHelp),"activate",G_CALLBACK(helpHtml),NULL); menuItemAbout = createMenuItem(menuBar,"About"); g_signal_connect(GTK_OBJECT(menuItemAbout),"activate",G_CALLBACK(author),NULL); gtk_widget_show(menuBar);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -