📄 interface.c
字号:
"恢复原大", NULL, tmp_toolbar_icon, NULL, NULL); gtk_label_set_use_underline (GTK_LABEL (((GtkToolbarChild*) (g_list_last (GTK_TOOLBAR (toolbar1)->children)->data))->label), TRUE); gtk_widget_show (window->chm_reset); tmp_toolbar_icon = gtk_image_new_from_stock ("gtk-zoom-out", gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar1))); window->chm_small = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_CHILD_BUTTON, NULL, "缩小", "缩小文字", NULL, tmp_toolbar_icon, NULL, NULL); gtk_label_set_use_underline (GTK_LABEL (((GtkToolbarChild*) (g_list_last (GTK_TOOLBAR (toolbar1)->children)->data))->label), TRUE); gtk_widget_show (window->chm_small); gtk_toolbar_append_space (GTK_TOOLBAR (toolbar1)); tmp_toolbar_icon = gtk_image_new_from_stock ("gtk-preferences", gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar1))); chm_setup = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_CHILD_BUTTON, NULL, "设置", "设置", NULL, tmp_toolbar_icon, NULL, NULL); gtk_label_set_use_underline (GTK_LABEL (((GtkToolbarChild*) (g_list_last (GTK_TOOLBAR (toolbar1)->children)->data))->label), TRUE); gtk_widget_show(chm_setup); tmp_toolbar_icon = gtk_image_new_from_stock ("gtk-dialog-info", gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar1))); chm_about = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_CHILD_BUTTON, NULL, "关于", "关于...", NULL, tmp_toolbar_icon, NULL, NULL); gtk_label_set_use_underline (GTK_LABEL (((GtkToolbarChild*) (g_list_last (GTK_TOOLBAR (toolbar1)->children)->data))->label), TRUE); gtk_widget_show (chm_about); gtk_toolbar_append_space (GTK_TOOLBAR (toolbar1)); tmp_toolbar_icon = gtk_image_new_from_stock ("gtk-quit", gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar1))); chm_quit = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_CHILD_BUTTON, NULL, "退出", "退出", NULL, tmp_toolbar_icon, NULL, NULL); gtk_label_set_use_underline (GTK_LABEL (((GtkToolbarChild*) (g_list_last (GTK_TOOLBAR (toolbar1)->children)->data))->label), TRUE); gtk_widget_show (chm_quit); hpaned1 = gtk_hpaned_new (); gtk_widget_show (hpaned1); gtk_box_pack_start (GTK_BOX (vbox1), hpaned1, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hpaned1), 2); gtk_paned_set_position (GTK_PANED (hpaned1), 170); window->chm_pw = gtk_vbox_new (FALSE, 0); gtk_widget_ref (window->chm_pw); gtk_widget_show (window->chm_pw); pixgui_hbox = gtk_hbox_new (FALSE, 0); gtk_widget_show (pixgui_hbox); gtk_box_pack_start (GTK_BOX (window->chm_pw), pixgui_hbox, FALSE, FALSE, 0); pixgui_frame = gtk_frame_new (NULL); gtk_widget_show (pixgui_frame); gtk_box_pack_start (GTK_BOX (pixgui_hbox), pixgui_frame, TRUE, TRUE, 1); gtk_container_set_border_width (GTK_CONTAINER (pixgui_frame), 0); gtk_frame_set_shadow_type (GTK_FRAME (pixgui_frame), GTK_SHADOW_NONE); pixgui_vbox1 = gtk_vbox_new (FALSE, 0); gtk_widget_show (pixgui_vbox1); gtk_container_add (GTK_CONTAINER (pixgui_frame), pixgui_vbox1); hseparator1 = gtk_hseparator_new (); gtk_widget_show (hseparator1); gtk_box_pack_start (GTK_BOX (pixgui_vbox1), hseparator1, TRUE, TRUE, 0); hseparator2 = gtk_hseparator_new (); gtk_widget_show (hseparator2); gtk_box_pack_start (GTK_BOX (pixgui_vbox1), hseparator2, TRUE, TRUE, 0); hseparator3 = gtk_hseparator_new (); gtk_widget_show (hseparator3); gtk_box_pack_start (GTK_BOX (pixgui_vbox1), hseparator3, TRUE, TRUE, 0); pixgui_button = gtk_button_new (); gtk_widget_show (pixgui_button); gtk_box_pack_start (GTK_BOX (pixgui_hbox), pixgui_button, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (pixgui_button), 0); gtk_tooltips_set_tip (tooltips, pixgui_button, "将窗口隐藏", NULL); pixmapwid = CreateWidgetFromXpm(window->chm_window, (gchar **)hide_xpm); gtk_widget_show (pixmapwid); gtk_container_add (GTK_CONTAINER (pixgui_button), pixmapwid);/* ----------------------------------------------------------------------------- notebook -------------------------------------------------------------------------- */ notebook = gtk_notebook_new (); gtk_widget_show (notebook); gtk_container_set_border_width (GTK_CONTAINER (notebook), 1);/* tree */ model = gtk_tree_store_new (NUM_COLUMNS, G_TYPE_STRING, G_TYPE_STRING); window->chm_tree = gtk_tree_view_new_with_model (GTK_TREE_MODEL (model)); gtk_widget_show(window->chm_tree); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (window->chm_tree)); gtk_tree_selection_set_mode (GTK_TREE_SELECTION (selection), GTK_SELECTION_SINGLE); g_signal_connect (G_OBJECT (selection), "changed", G_CALLBACK (selection_cb), window); cell = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new_with_attributes ("Tree", cell, "text", TITLE_COLUMN, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (window->chm_tree), GTK_TREE_VIEW_COLUMN (column)); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (window->chm_tree), FALSE); GTK_WIDGET_SET_FLAGS (window->chm_tree, GTK_CAN_DEFAULT); chm_tree_sw = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (chm_tree_sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (chm_tree_sw), GTK_SHADOW_IN); gtk_container_add (GTK_CONTAINER (chm_tree_sw), window->chm_tree); gtk_container_set_border_width (GTK_CONTAINER (chm_tree_sw), 1); gtk_widget_show (chm_tree_sw); gtk_container_add (GTK_CONTAINER (notebook), chm_tree_sw); gtk_notebook_set_tab_label_packing (GTK_NOTEBOOK (notebook), chm_tree_sw, FALSE, TRUE, GTK_PACK_START);// end tree nb_label_contents = gtk_label_new ("Contents"); gtk_widget_show (nb_label_contents); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 0), nb_label_contents); nb_vbox1 = gtk_vbox_new (FALSE, 0); gtk_widget_show (nb_vbox1); gtk_container_add (GTK_CONTAINER (notebook), nb_vbox1); gtk_container_set_border_width (GTK_CONTAINER (nb_vbox1), 3); window->nb_entry = gtk_entry_new (); gtk_widget_show (window->nb_entry); gtk_box_pack_start (GTK_BOX (nb_vbox1), window->nb_entry, FALSE, FALSE, 2); gtk_widget_set_sensitive (window->nb_entry, FALSE); g_signal_connect (window->nb_entry, "changed", G_CALLBACK (nb_search_entry_changed), window); window->nb_button_contnts = gtk_button_new_from_stock ("gtk-find"); gtk_widget_show (window->nb_button_contnts); gtk_box_pack_start (GTK_BOX (nb_vbox1), window->nb_button_contnts, FALSE, FALSE, 2); gtk_widget_set_sensitive (window->nb_button_contnts, FALSE);/* nb_vbox3 = gtk_vbox_new (FALSE, 0); gtk_widget_show (nb_vbox3); gtk_box_pack_start (GTK_BOX (nb_vbox1), nb_vbox3, FALSE, FALSE, 3); nb_radiobutton = gtk_radio_button_new_with_label (NULL, "在目录搜索主题"); gtk_widget_show (nb_radiobutton); gtk_box_pack_start (GTK_BOX (nb_vbox3), nb_radiobutton, FALSE, FALSE, 0); nb_radiobutton_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (nb_radiobutton)); nb_radiobutton_search = gtk_radio_button_new_with_label (nb_radiobutton_group, "在当前页面搜索"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (nb_radiobutton_search), TRUE); gtk_widget_show (nb_radiobutton_search); gtk_box_pack_start (GTK_BOX (nb_vbox3), nb_radiobutton_search, FALSE, FALSE, 0);*/ nb_sw = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (nb_sw); gtk_box_pack_start (GTK_BOX (nb_vbox1), nb_sw, TRUE, TRUE, 3); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (nb_sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (nb_sw), GTK_SHADOW_IN); nb_treeview = gtk_tree_view_new (); gtk_widget_show (nb_treeview); gtk_container_add (GTK_CONTAINER (nb_sw), nb_treeview); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (nb_treeview), FALSE); nb_button_display = gtk_button_new_from_stock ("gtk-jump-to"); gtk_widget_show (nb_button_display); gtk_box_pack_start (GTK_BOX (nb_vbox1), nb_button_display, FALSE, FALSE, 0); gtk_widget_set_sensitive (nb_button_display, FALSE); nb_label_search = gtk_label_new ("Search"); gtk_widget_show (nb_label_search); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 1), nb_label_search);// ----------------------------------------------------------------------------- gtk_box_pack_start (GTK_BOX (window->chm_pw), notebook, TRUE, TRUE, 0);// end notebook// ----------------------------------------------------------------------------- gtk_paned_pack1 (GTK_PANED (hpaned1), window->chm_pw , FALSE, TRUE);// ----------------------------------------------------------------------------- window->chm_html = chmsee_html_view_new(); g_signal_connect (GTK_OBJECT(window->chm_html), "link_clicked", G_CALLBACK (chmsee_html_link_clicked), window); g_signal_connect (GTK_OBJECT(window->chm_html), "button_press_event",G_CALLBACK (chmsee_html_button_pressed), window); gtk_widget_show (window->chm_html); html_view_sw = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (html_view_sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (html_view_sw), GTK_SHADOW_IN); gtk_container_add (GTK_CONTAINER (html_view_sw), window->chm_html); gtk_widget_show (html_view_sw); gtk_paned_pack2 (GTK_PANED (hpaned1), html_view_sw, TRUE, TRUE); g_signal_connect ((gpointer) window->chm_window, "destroy", G_CALLBACK (destroy_chmsee), window); g_signal_connect ((gpointer) chm_open, "clicked", G_CALLBACK (on_open_chmfile_filesel), window); g_signal_connect ((gpointer) pixgui_button, "clicked", G_CALLBACK (on_hide_pw_button), window); g_signal_connect ((gpointer) window->chm_showw, "clicked", G_CALLBACK (on_show_pw_button), window->chm_pw); g_signal_connect ((gpointer) window->chm_home, "clicked", G_CALLBACK (go_home), window); g_signal_connect ((gpointer) window->chm_back, "clicked", G_CALLBACK (on_chm_back), window); g_signal_connect ((gpointer) window->chm_forward, "clicked", G_CALLBACK (on_chm_forward), window); g_signal_connect ((gpointer) chm_setup, "clicked", G_CALLBACK (chmsee_setup_window_new), NULL); g_signal_connect ((gpointer) chm_about, "clicked", G_CALLBACK (on_about_open), NULL); g_signal_connect ((gpointer) chm_quit, "clicked", G_CALLBACK (destroy_chmsee), window); g_signal_connect ((gpointer) window->chm_big, "clicked", G_CALLBACK (on_chm_big), window); g_signal_connect ((gpointer) window->chm_reset, "clicked", G_CALLBACK (on_chm_reset), window); g_signal_connect ((gpointer) window->chm_small, "clicked", G_CALLBACK (on_chm_small), window); g_signal_connect ((gpointer) window->chm_search, "clicked", G_CALLBACK (create_search_window), window); g_signal_connect ((gpointer) nb_treeview, "row_activated", G_CALLBACK (on_chmsee_SearchDisplay), window); g_signal_connect ((gpointer) nb_button_display, "clicked", G_CALLBACK (on_chmsee_SearchDisplay), window);/* g_signal_connect ((gpointer) search_button_forward, "clicked", G_CALLBACK (chmsee_html_search_next), window);*//* gtk_signal_connect ((gpointer) window->chm_window, "selection_get", G_CALLBACK (chmsee_selection_get), window->chm_window);*/ chmsee_init(window); gtk_widget_show ( window->chm_window ); return (window);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -