📄 gui_common.c
字号:
GTK_SIGNAL_FUNC(guitl_ListDeleteSelected), (gpointer) urldlg.field_list); prow = gtk_table_new(2, 3, FALSE); gtk_box_pack_start(GTK_BOX(ptab), prow, FALSE, FALSE, 1); gtk_widget_show(prow); label = gtk_label_new(gettext("Type: ")); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); gtk_table_attach(GTK_TABLE(prow), label, 0, 1, 0, 1, GTK_SHRINK | GTK_FILL, GTK_FILL, 2, 2); gtk_widget_show(label); urldlg.field_type = gtk_option_menu_new(); gtk_table_attach(GTK_TABLE(prow), urldlg.field_type, 1, 2, 0, 1, GTK_SHRINK | GTK_FILL, GTK_FILL, 2, 2); menu = gtk_menu_new(); mi = gtk_menu_item_new_with_label("TEXT"); gtk_object_set_user_data(GTK_OBJECT(mi), (gpointer) FORM_T_TEXT); gtk_menu_append(GTK_MENU(menu), mi); gtk_widget_show(mi); gtk_signal_connect(GTK_OBJECT(mi), "activate", GTK_SIGNAL_FUNC(cfg_url_dlg_set_type), (gpointer) & urldlg); mi = gtk_menu_item_new_with_label("FILE"); gtk_object_set_user_data(GTK_OBJECT(mi), (gpointer) FORM_T_FILE); gtk_menu_append(GTK_MENU(menu), mi); gtk_widget_show(mi); gtk_signal_connect(GTK_OBJECT(mi), "activate", GTK_SIGNAL_FUNC(cfg_url_dlg_set_type), (gpointer) & urldlg); mi = gtk_menu_item_new_with_label("LONG TEXT"); gtk_object_set_user_data(GTK_OBJECT(mi), (gpointer) FORM_T_TEXTAREA); gtk_menu_append(GTK_MENU(menu), mi); gtk_widget_show(mi); gtk_signal_connect(GTK_OBJECT(mi), "activate", GTK_SIGNAL_FUNC(cfg_url_dlg_set_type), (gpointer) & urldlg); gtk_option_menu_set_menu(GTK_OPTION_MENU(urldlg.field_type), menu); gtk_widget_show(urldlg.field_type); urldlg.field_name = guitl_tab_add_entry(prow, gettext("Name: "), 0, 1, FALSE); label = gtk_label_new(gettext("Value: ")); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.0); gtk_table_attach(GTK_TABLE(prow), label, 0, 1, 2, 3, GTK_SHRINK | GTK_FILL, GTK_FILL, 2, 2); gtk_widget_show(label); urldlg.tab = gtk_notebook_new(); gtk_notebook_set_show_border(GTK_NOTEBOOK(urldlg.tab), FALSE); gtk_notebook_set_show_tabs(GTK_NOTEBOOK(urldlg.tab), FALSE); gtk_table_attach(GTK_TABLE(prow), urldlg.tab, 1, 2, 2, 3, GTK_SHRINK | GTK_FILL, GTK_FILL, 2, 2); gtk_widget_show(urldlg.tab); label = gtk_label_new("TEXT"); brow = gtk_vbox_new(FALSE, 1); gtk_widget_show(brow); gtk_notebook_append_page(GTK_NOTEBOOK(urldlg.tab), brow, label); urldlg.field_value_l = gtk_entry_new(); gtk_box_pack_start(GTK_BOX(brow), urldlg.field_value_l, FALSE, FALSE, 1); gtk_widget_show(urldlg.field_value_l); label = gtk_label_new("FILE"); brow = gtk_vbox_new(FALSE, 1); gtk_widget_show(brow); gtk_notebook_append_page(GTK_NOTEBOOK(urldlg.tab), brow, label); pbox = gtk_table_new(1, 2, FALSE); gtk_box_pack_start(GTK_BOX(brow), pbox, FALSE, FALSE, 1); gtk_widget_show(pbox); urldlg.field_value_f = guitl_tab_add_path_entry_full(pbox, NULL, 0, 0, FALSE, gettext("Pavuk: Choose form field file")); label = gtk_label_new("LONG TEXT"); brow = gtk_table_new(2, 2, FALSE); gtk_widget_show(brow); gtk_notebook_append_page(GTK_NOTEBOOK(urldlg.tab), brow, label); hadj = GTK_ADJUSTMENT(gtk_adjustment_new(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)); hsb = gtk_hscrollbar_new(hadj); gtk_table_attach(GTK_TABLE(brow), hsb, 0, 1, 1, 2, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0); gtk_widget_show(hsb); vadj = GTK_ADJUSTMENT(gtk_adjustment_new(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)); vsb = gtk_vscrollbar_new(vadj); gtk_table_attach(GTK_TABLE(brow), vsb, 1, 2, 0, 1, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_widget_show(vsb);#if GTK_FACE < 2 urldlg.field_value_t = gtk_text_new(hadj, vadj);#else urldlg.field_value_t = gtk_text_view_new();#endif gtk_widget_set_usize(urldlg.field_value_t, -1, 100);#if GTK_FACE < 2 gtk_text_set_editable(GTK_TEXT(urldlg.field_value_t), TRUE);#else gtk_text_view_set_editable(GTK_TEXT_VIEW(urldlg.field_value_t), TRUE);#endif gtk_table_attach(GTK_TABLE(brow), urldlg.field_value_t, 0, 1, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_widget_show(urldlg.field_value_t); gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(urldlg.ext_sw), FALSE); gtk_widget_set_sensitive(urldlg.ext_frame, FALSE);}/* FORM DATA */static void cfgtab_formdata(GtkWidget * notebook){ GtkWidget *label, *box, *tbox, *ptab, *prow, *menu, *mi; GtkWidget *swin, *brow, *button, *pbox; GtkWidget *hsb, *vsb; GtkAdjustment *hadj, *vadj; static struct cfg_url_dlg_t urldlg; urldlg.ext_sw = NULL; urldlg.encoding = NULL; urldlg.method = NULL; urldlg.localname_entry = NULL; tbox = gtk_hbox_new(FALSE, 2); gtk_widget_show(tbox); label = gtk_label_new(gettext("Form data")); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), tbox, label); box = gtk_table_new(3, 1, FALSE); gtk_box_pack_start(GTK_BOX(tbox), box, TRUE, TRUE, 1); gtk_widget_show(box); swin = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(swin), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_table_attach_defaults(GTK_TABLE(box), swin, 0, 1, 0, 1); gtk_widget_show(swin); gui_cfg.formdata_list = gtk_clist_new(1); urldlg.url_list = gui_cfg.formdata_list; gtk_clist_set_selection_mode(GTK_CLIST(gui_cfg.formdata_list), GTK_SELECTION_BROWSE); gtk_clist_set_reorderable(GTK_CLIST(gui_cfg.formdata_list), TRUE); gtk_clist_set_column_auto_resize(GTK_CLIST(gui_cfg.formdata_list), 0, TRUE); gtk_container_add(GTK_CONTAINER(swin), gui_cfg.formdata_list); gtk_widget_show(gui_cfg.formdata_list); brow = gtk_table_new(1, 2, FALSE); gtk_table_attach(GTK_TABLE(box), brow, 0, 1, 1, 2, GTK_EXPAND | GTK_FILL, GTK_FILL, 2, 5); gtk_widget_show(brow); gui_cfg.formdata_entry = guitl_tab_add_entry(brow, gettext("Matching action URL: "), 0, 0, FALSE); urldlg.url_entry = gui_cfg.formdata_entry; gtk_signal_connect(GTK_OBJECT(gui_cfg.formdata_list), "select_row", GTK_SIGNAL_FUNC(cfg_url_dlg_switch), (gpointer) & urldlg); brow = gtk_hbutton_box_new(); gtk_table_attach(GTK_TABLE(box), brow, 0, 1, 2, 3, GTK_EXPAND | GTK_FILL, GTK_FILL, 2, 5); gtk_hbutton_box_set_spacing_default(1); gtk_widget_show(brow); gtk_button_box_set_layout(GTK_BUTTON_BOX(brow), GTK_BUTTONBOX_SPREAD); button = guitl_pixmap_button(append_xpm, NULL, gettext("Append")); gtk_container_border_width(GTK_CONTAINER(button), 0); gtk_container_add(GTK_CONTAINER(brow), button); gtk_widget_show(button); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(cfg_url_dlg_append), (gpointer) & urldlg); gtk_signal_connect(GTK_OBJECT(gui_cfg.formdata_entry), "activate", GTK_SIGNAL_FUNC(cfg_url_dlg_append), (gpointer) & urldlg); button = guitl_pixmap_button(modify_xpm, NULL, gettext("Modify")); gtk_container_border_width(GTK_CONTAINER(button), 0); gtk_container_add(GTK_CONTAINER(brow), button); gtk_widget_show(button); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(cfg_url_dlg_modify), (gpointer) & urldlg); button = guitl_pixmap_button(clear_xpm, NULL, gettext("Clear")); gtk_container_border_width(GTK_CONTAINER(button), 0); gtk_container_add(GTK_CONTAINER(brow), button); gtk_widget_show(button); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(guitl_ListClear), (gpointer) gui_cfg.formdata_list); button = guitl_pixmap_button(delete_xpm, NULL, gettext("Delete")); gtk_container_border_width(GTK_CONTAINER(button), 0); gtk_container_add(GTK_CONTAINER(brow), button); gtk_widget_show(button); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(guitl_ListDeleteSelected), (gpointer) gui_cfg.formdata_list); /*** DRAG'N'DROP ***/ gtk_drag_dest_set(box, GTK_DEST_DEFAULT_ALL, dragtypes, NUM_ELEM(dragtypes) - 1, GDK_ACTION_COPY | GDK_ACTION_MOVE); gtk_signal_connect(GTK_OBJECT(box), "drag_data_received", GTK_SIGNAL_FUNC(gui_window_drop_url), NULL); box = gtk_vbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(tbox), box, TRUE, TRUE, 1); gtk_widget_show(box); urldlg.ext_frame = gtk_frame_new(NULL); gtk_box_pack_start(GTK_BOX(box), urldlg.ext_frame, FALSE, FALSE, 1); gtk_widget_show(urldlg.ext_frame); ptab = gtk_vbox_new(FALSE, 5); gtk_container_add(GTK_CONTAINER(urldlg.ext_frame), ptab); gtk_widget_show(ptab); label = gtk_label_new(gettext("Query fields: ")); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); gtk_box_pack_start(GTK_BOX(ptab), label, FALSE, FALSE, 2); gtk_widget_show(label); swin = gtk_scrolled_window_new(NULL, NULL); gtk_widget_set_usize(swin, -1, 100); gtk_box_pack_start(GTK_BOX(ptab), swin, TRUE, TRUE, 2); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(swin), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_widget_show(swin); urldlg.field_list = gtk_clist_new(3); gtk_clist_set_selection_mode(GTK_CLIST(urldlg.field_list), GTK_SELECTION_BROWSE); gtk_clist_set_column_title(GTK_CLIST(urldlg.field_list), 0, gettext("Type")); gtk_clist_set_column_title(GTK_CLIST(urldlg.field_list), 1, gettext("Name")); gtk_clist_set_column_title(GTK_CLIST(urldlg.field_list), 2, gettext("Value")); gtk_clist_column_titles_show(GTK_CLIST(urldlg.field_list)); gtk_clist_set_column_auto_resize(GTK_CLIST(urldlg.field_list), 0, TRUE); gtk_clist_set_column_auto_resize(GTK_CLIST(urldlg.field_list), 1, TRUE); gtk_clist_set_column_auto_resize(GTK_CLIST(urldlg.field_list), 2, TRUE); gtk_container_add(GTK_CONTAINER(swin), urldlg.field_list); gtk_widget_show(urldlg.field_list); gtk_signal_connect(GTK_OBJECT(urldlg.field_list), "select_row", GTK_SIGNAL_FUNC(cfg_url_dlg_field_switch), (gpointer) & urldlg); prow = gtk_hbutton_box_new(); gtk_box_pack_start(GTK_BOX(ptab), prow, FALSE, FALSE, 1); gtk_widget_show(prow); button = guitl_pixmap_button(append_xpm, NULL, gettext("Append")); gtk_container_add(GTK_CONTAINER(prow), button); gtk_widget_show(button); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(cfg_url_dlg_field_append), &urldlg); button = guitl_pixmap_button(modify_xpm, NULL, gettext("Modify")); gtk_container_add(GTK_CONTAINER(prow), button); gtk_widget_show(button); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(cfg_url_dlg_field_modify), &urldlg); button = guitl_pixmap_button(delete_xpm, NULL, gettext("Delete")); gtk_container_add(GTK_CONTAINER(prow), button); gtk_widget_show(button); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(guitl_ListDeleteSelected), (gpointer) urldlg.field_list); prow = gtk_table_new(2, 3, FALSE); gtk_box_pack_start(GTK_BOX(ptab), prow, FALSE, FALSE, 1); gtk_widget_show(prow); label = gtk_label_new(gettext("Type: ")); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); gtk_table_attach(GTK_TABLE(prow), label, 0, 1, 0, 1, GTK_SHRINK | GTK_FILL, GTK_FILL, 2, 2); gtk_widget_show(label); urldlg.field_type = gtk_option_menu_new(); gtk_table_attach(GTK_TABLE(prow), urldlg.field_type, 1, 2, 0, 1, GTK_SHRINK | GTK_FILL, GTK_FILL, 2, 2); menu = gtk_menu_new(); mi = gtk_menu_item_new_with_label("TEXT"); gtk_object_set_user_data(GTK_OBJECT(mi), (gpointer) FORM_T_TEXT); gtk_menu_append(GTK_MENU(menu), mi); gtk_widget_show(mi); gtk_signal_connect(GTK_OBJECT(mi), "activate", GTK_SIGNAL_FUNC(cfg_url_dlg_set_type), (gpointer) & urldlg); mi = gtk_menu_item_new_with_label("FILE"); gtk_object_set_user_data(GTK_OBJECT(mi), (gpointer) FORM_T_FILE); gtk_menu_append(GTK_MENU(menu), mi); gtk_widget_show(mi); gtk_signal_connect(GTK_OBJECT(mi), "activate", GTK_SIGNAL_FUNC(cfg_url_dlg_set_type), (gpointer) & urldlg); mi = gtk_menu_item_new_with_label("LONG TEXT"); gtk_object_set_user_data(GTK_OBJECT(mi), (gpointer) FORM_T_TEXTAREA); gtk_menu_append(GTK_MENU(menu), mi); gtk_widget_show(mi); gtk_signal_connect(GTK_OBJECT(mi), "activate", GTK_SIGNAL_FUNC(cfg_url_dlg_set_type), (gpointer) & urldlg); gtk_option_menu_set_menu(GTK_OPTION_MENU(urldlg.field_type), menu); gtk_widget_show(urldlg.field_type); urldlg.field_name = guitl_tab_add_entry(prow, gettext("Name: "), 0, 1, FALSE); label = gtk_label_new(gettext("Value: ")); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.0); gtk_table_attach(GTK_TABLE(prow), label, 0, 1, 2, 3, GTK_SHRINK | GTK_FILL, GTK_FILL, 2, 2); gtk_widget_show(label); urldlg.tab = gtk_notebook_new(); gtk_notebook_set_show_border(GTK_NOTEBOOK(urldlg.tab), FALSE); gtk_notebook_set_show_tabs(GTK_NOTEBOOK(urldlg.tab), FALSE); gtk_table_attach(GTK_TABLE(prow), urldlg.tab, 1, 2, 2, 3, GTK_SHRINK | GTK_FILL, GTK_FILL, 2, 2); gtk_widget_show(urldlg.tab); label = gtk_label_new("TEXT"); brow = gtk_vbox_new(FALSE, 1); gtk_widget_show(brow); gtk_notebook_append_page(GTK_NOTEBOOK(urldlg.tab), brow, label); urldlg.field_value_l = gtk_entry_new(); gtk_box_pack_start(GTK_BOX(brow), urldlg.field_value_l, FALSE, FALSE, 1); gtk_widget_show(urldlg.field_value_l); label = gtk_label_new("FILE"); brow = gtk_vbox_new(FALSE, 1); gtk_widget_show(brow); gtk_notebook_append_page(GTK_NOTEBOOK(urldlg.tab), brow, label); pbox = gtk_table_new(1, 2, FALSE); gtk_box_pack_start(GTK_BOX(brow), pbox, FALSE, FALSE, 1); gtk_widget_show(pbox); urldlg.field_value_f = guitl_tab_add_path_entry_full(pbox, NULL, 0, 0, FALSE, gettext("Pavuk: Choose form field file")); label = gtk_label_new("LONG TEXT"); brow = gtk_table_new(2, 2, FALSE); gtk_widget_show(brow); gtk_notebook_append_page(GTK_NOTEBOOK(urldlg.tab), brow, label); hadj = GTK_ADJUSTMENT(gtk_adjustment_new(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)); hsb = gtk_hscrollbar_new(hadj); gtk_table_attach(GTK_TABLE(brow), hsb, 0, 1, 1, 2, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0); gtk_widget_show(hsb); vadj = GTK_ADJUSTMENT(gtk_adjustment_new(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)); vsb = gtk_vscrollbar_new(vadj); gtk_table_attach(GTK_TABLE(brow), vsb, 1, 2, 0, 1, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_widget_show(vsb);#if GTK_FACE < 2 urldlg.field_value_t = gtk_text_new(hadj, vadj);#else urldlg.field_value_t = gtk_text_view_new();#endif gtk_widget_set_usize(urldlg.field_value_t, -1, 100);#if GTK_FACE < 2 gtk_text_set_editable(GTK_TEXT(urldlg.field_value_t), TRUE);#else gtk_text_view_set_editable(GTK_TEXT_VIEW(urldlg.field_value_t), TRUE);#endif gtk_table_attach(GTK_TABLE(brow), urldlg.field_value_t, 0, 1, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_widget_show(urldlg.field_value_t);}/*** GRABER I ***/static void cfgtab_graberI(GtkWidget * notebook){ GtkWidget *tbox, *label, *box, *frame, *ptab; const char *sample_index_names[] = { "", "_._.html", "index.html", "index.htm", "default.htm", NULL }; const char *sample_browsers[] = { "", "gnome-moz-remote", "netscape",
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -