void create_gtab_conf_window() { if (gcin_gtab_conf_window) { gtk_window_present(GTK_WINDOW(gcin_gtab_conf_window)); return; } load_setttings(); gcin_gtab_conf_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_position(GTK_WINDOW(gcin_gtab_conf_window), GTK_WIN_POS_MOUSE); gtk_window_set_has_resize_grip(GTK_WINDOW(gcin_gtab_conf_window), FALSE); g_signal_connect (G_OBJECT (gcin_gtab_conf_window), "delete_event", G_CALLBACK (close_gtab_conf_window), NULL); gtk_window_set_title (GTK_WINDOW (gcin_gtab_conf_window), _(_L("倉頡/行列/嘸蝦米/大易設定"))); gtk_container_set_border_width (GTK_CONTAINER (gcin_gtab_conf_window), 3); GtkWidget *vbox_top = gtk_vbox_new (FALSE, 10); gtk_container_add (GTK_CONTAINER (gcin_gtab_conf_window), vbox_top); GtkWidget *hbox_lr = gtk_hbox_new (FALSE, 10); gtk_box_pack_start (GTK_BOX (vbox_top), hbox_lr, FALSE, FALSE, 0); GtkWidget *frame_gtab_l = gtk_frame_new(_(_L("外觀"))); gtk_container_set_border_width (GTK_CONTAINER (frame_gtab_l), 5); gtk_box_pack_start (GTK_BOX (hbox_lr), frame_gtab_l, FALSE, FALSE, 0); GtkWidget *vbox_gtab_l = gtk_vbox_new (FALSE, 0); gtk_container_add (GTK_CONTAINER (frame_gtab_l), vbox_gtab_l); gtk_container_set_border_width (GTK_CONTAINER (vbox_gtab_l), 10); GtkWidget *frame_gtab_r = gtk_frame_new(_(_L("行為"))); gtk_container_set_border_width (GTK_CONTAINER (frame_gtab_r), 5); gtk_box_pack_start (GTK_BOX (hbox_lr), frame_gtab_r, FALSE, FALSE, 0); GtkWidget *vbox_gtab_r = gtk_vbox_new (FALSE, 0); gtk_container_add (GTK_CONTAINER (frame_gtab_r), vbox_gtab_r); gtk_container_set_border_width (GTK_CONTAINER (vbox_gtab_r), 10); #define SPC 1 GtkWidget *hbox_gtab_pre_select = gtk_hbox_new (FALSE, SPC); gtk_box_pack_start (GTK_BOX (vbox_gtab_l), hbox_gtab_pre_select, FALSE, FALSE, 0); GtkWidget *label_gtab_pre_select = gtk_label_new(_(_L("預覽/預選 字"))); gtk_box_pack_start (GTK_BOX (hbox_gtab_pre_select), label_gtab_pre_select, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox_gtab_pre_select), create_auto_select_by_phrase_opts(&opt_gtab_pre_select, gtab_pre_select), FALSE, FALSE, 0); GtkWidget *hbox_gtab_disp_partial_match = gtk_hbox_new (FALSE, SPC); gtk_box_pack_start (GTK_BOX (vbox_gtab_l), hbox_gtab_disp_partial_match, FALSE, FALSE, 0); GtkWidget *label_gtab_gtab_disp_partial_match = gtk_label_new(_(_L("預選列中顯示部份符合的字"))); gtk_box_pack_start (GTK_BOX (hbox_gtab_disp_partial_match), label_gtab_gtab_disp_partial_match, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox_gtab_disp_partial_match), create_auto_select_by_phrase_opts(&opt_gtab_disp_partial_match, gtab_disp_partial_match), FALSE, FALSE, 0); GtkWidget *hbox_gtab_disp_key_codes = gtk_hbox_new (FALSE, SPC); gtk_box_pack_start (GTK_BOX (vbox_gtab_l), hbox_gtab_disp_key_codes, FALSE, FALSE, 0); GtkWidget *label_gtab_gtab_disp_key_codes = gtk_label_new(_(_L("顯示拆字"))); gtk_box_pack_start (GTK_BOX (hbox_gtab_disp_key_codes), label_gtab_gtab_disp_key_codes, FALSE, FALSE, 0); check_button_gtab_disp_key_codes = gtk_check_button_new (); gtk_box_pack_start (GTK_BOX (hbox_gtab_disp_key_codes), check_button_gtab_disp_key_codes, FALSE, FALSE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button_gtab_disp_key_codes), gtab_disp_key_codes); GtkWidget *hbox_gtab_disp_im_name = gtk_hbox_new (FALSE, SPC); gtk_box_pack_start (GTK_BOX (vbox_gtab_l), hbox_gtab_disp_im_name, FALSE, FALSE, 0); GtkWidget *label_gtab_gtab_disp_im_name = gtk_label_new(_(_L("顯示輸入法名稱"))); gtk_box_pack_start (GTK_BOX (hbox_gtab_disp_im_name), label_gtab_gtab_disp_im_name, FALSE, FALSE, 0); check_button_gtab_disp_im_name = gtk_check_button_new (); gtk_box_pack_start (GTK_BOX (hbox_gtab_disp_im_name), check_button_gtab_disp_im_name, FALSE, FALSE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button_gtab_disp_im_name), gtab_disp_im_name); GtkWidget *hbox_gtab_hide_row2 = gtk_hbox_new (FALSE, SPC); gtk_box_pack_start (GTK_BOX (vbox_gtab_l), hbox_gtab_hide_row2, FALSE, FALSE, 0); GtkWidget *label_gtab_hide_row2 = gtk_label_new(_(_L("隱藏第二列(輸入鍵…)"))); gtk_box_pack_start (GTK_BOX (hbox_gtab_hide_row2), label_gtab_hide_row2, FALSE, FALSE, 0); check_button_gtab_hide_row2 = gtk_check_button_new (); gtk_box_pack_start (GTK_BOX (hbox_gtab_hide_row2), check_button_gtab_hide_row2, FALSE, FALSE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button_gtab_hide_row2), gtab_hide_row2); GtkWidget *hbox_gtab_in_row1 = gtk_hbox_new (FALSE, SPC); gtk_box_pack_start (GTK_BOX (vbox_gtab_l), hbox_gtab_in_row1, FALSE, FALSE, 0); GtkWidget *label_gtab_in_row1 = gtk_label_new(_(_L("輸入鍵顯示移至第一列"))); gtk_box_pack_start (GTK_BOX (hbox_gtab_in_row1), label_gtab_in_row1, FALSE, FALSE, 0); check_button_gtab_in_row1 = gtk_check_button_new (); gtk_box_pack_start (GTK_BOX (hbox_gtab_in_row1), check_button_gtab_in_row1, FALSE, FALSE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button_gtab_in_row1), gtab_in_row1); GtkWidget *hbox_gtab_vertical_select = gtk_hbox_new (FALSE, SPC); gtk_box_pack_start (GTK_BOX (vbox_gtab_l), hbox_gtab_vertical_select, FALSE, FALSE, 0); GtkWidget *label_gtab_vertical_select = gtk_label_new(_(_L("垂直選擇"))); gtk_box_pack_start (GTK_BOX (hbox_gtab_vertical_select), label_gtab_vertical_select, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox_gtab_vertical_select), create_auto_select_by_phrase_opts(&opt_gtab_vertical_select, gtab_vertical_select), FALSE, FALSE, 0); GtkWidget *hbox_gtab_press_full_auto_send = gtk_hbox_new (FALSE, SPC); gtk_box_pack_start (GTK_BOX (vbox_gtab_r), hbox_gtab_press_full_auto_send, FALSE, FALSE, 0); GtkWidget *label_gtab_gtab_press_full_auto_send = gtk_label_new(_(_L("按滿自動送字"))); gtk_box_pack_start (GTK_BOX (hbox_gtab_press_full_auto_send), label_gtab_gtab_press_full_auto_send, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox_gtab_press_full_auto_send), create_auto_select_by_phrase_opts(&opt_gtab_press_full_auto_send, gtab_press_full_auto_send), FALSE, FALSE, 0); GtkWidget *hbox_gtab_auto_select_by_phrase = gtk_hbox_new (FALSE, SPC); gtk_box_pack_start (GTK_BOX (vbox_gtab_r), hbox_gtab_auto_select_by_phrase, FALSE, FALSE, 0); GtkWidget *label_gtab_auto_select = gtk_label_new(_(_L("由詞庫自動選擇字"))); gtk_box_pack_start (GTK_BOX (hbox_gtab_auto_select_by_phrase), label_gtab_auto_select, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox_gtab_auto_select_by_phrase), create_auto_select_by_phrase_opts(&opt_auto_select_by_phrase, gtab_auto_select_by_phrase), FALSE, FALSE, 0); GtkWidget *label_gtab_phrase_pre_select = gtk_label_new(_(_L("使用預選詞"))); gtk_box_pack_start (GTK_BOX (hbox_gtab_auto_select_by_phrase), label_gtab_phrase_pre_select, FALSE, FALSE, 0); check_button_gtab_phrase_pre_select = gtk_check_button_new (); gtk_box_pack_start (GTK_BOX (hbox_gtab_auto_select_by_phrase), check_button_gtab_phrase_pre_select, FALSE, FALSE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button_gtab_phrase_pre_select), gtab_phrase_pre_select); GtkWidget *hbox_gtab_dup_select_bell = gtk_hbox_new (FALSE, SPC); gtk_box_pack_start (GTK_BOX (vbox_gtab_r), hbox_gtab_dup_select_bell, FALSE, FALSE, 0); GtkWidget *label_gtab_sele = gtk_label_new(_(_L("重複字選擇鈴聲"))); gtk_box_pack_start (GTK_BOX (hbox_gtab_dup_select_bell), label_gtab_sele, FALSE, FALSE, 0); check_button_gtab_dup_select_bell = gtk_check_button_new (); gtk_box_pack_start (GTK_BOX (hbox_gtab_dup_select_bell),check_button_gtab_dup_select_bell, FALSE, FALSE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button_gtab_dup_select_bell), gtab_dup_select_bell); gtk_box_pack_start (GTK_BOX (vbox_gtab_r), create_spc_opts(), FALSE, FALSE, 0); GtkWidget *hbox_gtab_invalid_key_in = gtk_hbox_new (FALSE, SPC); gtk_box_pack_start (GTK_BOX (vbox_gtab_r), hbox_gtab_invalid_key_in, FALSE, FALSE, 0); GtkWidget *label_gtab_gtab_invalid_key_in = gtk_label_new(_(_L("允許錯誤鍵進入(傳統)"))); gtk_box_pack_start (GTK_BOX (hbox_gtab_invalid_key_in), label_gtab_gtab_invalid_key_in, FALSE, FALSE, 0); check_button_gtab_invalid_key_in = gtk_check_button_new (); gtk_box_pack_start (GTK_BOX (hbox_gtab_invalid_key_in), check_button_gtab_invalid_key_in, FALSE, FALSE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button_gtab_invalid_key_in), gtab_invalid_key_in); GtkWidget *hbox_gtab_shift_phrase_key = gtk_hbox_new (FALSE, SPC); gtk_box_pack_start (GTK_BOX (vbox_gtab_r), hbox_gtab_shift_phrase_key, FALSE, FALSE, 0); GtkWidget *label_gtab_gtab_shift_phrase_key = gtk_label_new(_(_L("Shift 用來輸入片語(Alt-Shift)"))); gtk_box_pack_start (GTK_BOX (hbox_gtab_shift_phrase_key), label_gtab_gtab_shift_phrase_key, FALSE, FALSE, 0); check_button_gtab_shift_phrase_key = gtk_check_button_new (); gtk_box_pack_start (GTK_BOX (hbox_gtab_shift_phrase_key), check_button_gtab_shift_phrase_key, FALSE, FALSE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button_gtab_shift_phrase_key), gtab_shift_phrase_key); gtk_box_pack_start (GTK_BOX (vbox_gtab_r), create_en_pho_key_sel(_(_L("[中/英]切換"))), FALSE, FALSE, 0); GtkWidget *hbox_gtab_unique_auto_send = gtk_hbox_new (FALSE, SPC); gtk_box_pack_start (GTK_BOX (vbox_gtab_r), hbox_gtab_unique_auto_send, FALSE, FALSE, 0); GtkWidget *label_gtab_unique_auto_send = gtk_label_new(_(_L("唯一選擇時自動送出"))); gtk_box_pack_start (GTK_BOX (hbox_gtab_unique_auto_send), label_gtab_unique_auto_send, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox_gtab_unique_auto_send), create_auto_select_by_phrase_opts(&opt_gtab_unique_auto_send, gtab_unique_auto_send), FALSE, FALSE, 0); GtkWidget *hbox_gtab_que_wild_card = gtk_hbox_new (FALSE, SPC); gtk_box_pack_start (GTK_BOX (vbox_gtab_r), hbox_gtab_que_wild_card, FALSE, FALSE, 0); GtkWidget *label_gtab_que_wild_card = gtk_label_new(_(_L("使用?萬用字元"))); gtk_box_pack_start (GTK_BOX (hbox_gtab_que_wild_card), label_gtab_que_wild_card, FALSE, FALSE, 0); check_button_gtab_que_wild_card = gtk_check_button_new (); gtk_box_pack_start (GTK_BOX (hbox_gtab_que_wild_card), check_button_gtab_que_wild_card, FALSE, FALSE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button_gtab_que_wild_card), gtab_que_wild_card); GtkWidget *button_edit_append = gtk_button_new_with_label(_(_L("編輯內定輸入法的使用者外加字詞"))); gtk_box_pack_start (GTK_BOX (vbox_gtab_r), button_edit_append, FALSE, FALSE, 0); g_signal_connect_swapped (G_OBJECT (button_edit_append), "clicked", G_CALLBACK (cb_gtab_edit_append), NULL); GtkWidget *hbox_cancel_ok = gtk_hbox_new (FALSE, 10); gtk_box_pack_start (GTK_BOX (vbox_top), hbox_cancel_ok, FALSE, FALSE, 0); GtkWidget *button_cancel = gtk_button_new_from_stock (GTK_STOCK_CANCEL); if (button_order) gtk_box_pack_end (GTK_BOX (hbox_cancel_ok), button_cancel, TRUE, TRUE, 0); else gtk_box_pack_start (GTK_BOX (hbox_cancel_ok), button_cancel, TRUE, TRUE, 0); g_signal_connect (G_OBJECT (button_cancel), "clicked", G_CALLBACK (close_gtab_conf_window), G_OBJECT (gcin_gtab_conf_window)); GtkWidget *button_ok = gtk_button_new_from_stock (GTK_STOCK_OK); if (button_order) gtk_box_pack_end (GTK_BOX (hbox_cancel_ok), button_ok, TRUE, TRUE, 0); else gtk_box_pack_start (GTK_BOX (hbox_cancel_ok), button_ok, TRUE, TRUE, 0); g_signal_connect_swapped (G_OBJECT (button_ok), "clicked", G_CALLBACK (cb_gtab_conf_ok), G_OBJECT (gcin_gtab_conf_window)); GTK_WIDGET_SET_FLAGS (button_ok, GTK_CAN_DEFAULT); gtk_widget_grab_default (button_ok); GtkWidget *button_help = gtk_button_new_from_stock (GTK_STOCK_HELP); gtk_box_pack_end (GTK_BOX (hbox_cancel_ok), button_help, FALSE, FALSE, 0); g_signal_connect (G_OBJECT (button_help), "clicked", G_CALLBACK (cb_gtab_help), G_OBJECT (gcin_gtab_conf_window)); gtk_widget_show_all (gcin_gtab_conf_window); return; }
void create_gtab_conf_window() { if (hime_gtab_conf_window) { gtk_window_present(GTK_WINDOW(hime_gtab_conf_window)); return; } load_settings(); hime_gtab_conf_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); if (hime_setup_window_type_utility) gtk_window_set_type_hint(GTK_WINDOW(hime_gtab_conf_window), GDK_WINDOW_TYPE_HINT_UTILITY); gtk_window_set_position(GTK_WINDOW(hime_gtab_conf_window), GTK_WIN_POS_MOUSE); gtk_window_set_has_resize_grip(GTK_WINDOW(hime_gtab_conf_window), FALSE); g_signal_connect (G_OBJECT (hime_gtab_conf_window), "delete_event", G_CALLBACK (close_gtab_conf_window), NULL); gtk_window_set_title (GTK_WINDOW (hime_gtab_conf_window), _("倉頡/行列/大易設定")); gtk_container_set_border_width (GTK_CONTAINER (hime_gtab_conf_window), 3); GtkWidget *vbox_top = gtk_vbox_new (FALSE, 10); gtk_orientable_set_orientation(GTK_ORIENTABLE(vbox_top), GTK_ORIENTATION_VERTICAL); gtk_container_add (GTK_CONTAINER (hime_gtab_conf_window), vbox_top); GtkWidget *hbox_lr = gtk_hbox_new (FALSE, 10); gtk_box_pack_start (GTK_BOX (vbox_top), hbox_lr, FALSE, FALSE, 0); GtkWidget *frame_gtab_l = gtk_frame_new(_("外觀")); gtk_container_set_border_width (GTK_CONTAINER (frame_gtab_l), 5); gtk_box_pack_start (GTK_BOX (hbox_lr), frame_gtab_l, TRUE, TRUE, 0); GtkWidget *vbox_gtab_l = gtk_vbox_new (FALSE, 0); gtk_orientable_set_orientation(GTK_ORIENTABLE(vbox_gtab_l), GTK_ORIENTATION_VERTICAL); gtk_container_add (GTK_CONTAINER (frame_gtab_l), vbox_gtab_l); gtk_container_set_border_width (GTK_CONTAINER (vbox_gtab_l), 10); GtkWidget *frame_gtab_r = gtk_frame_new(_("行為")); gtk_container_set_border_width (GTK_CONTAINER (frame_gtab_r), 5); gtk_box_pack_start (GTK_BOX (hbox_lr), frame_gtab_r, TRUE, TRUE, 0); GtkWidget *vbox_gtab_r = gtk_vbox_new (FALSE, 0); gtk_orientable_set_orientation(GTK_ORIENTABLE(vbox_gtab_r), GTK_ORIENTATION_VERTICAL); gtk_container_add (GTK_CONTAINER (frame_gtab_r), vbox_gtab_r); gtk_container_set_border_width (GTK_CONTAINER (vbox_gtab_r), 10); #define SPC 1 GtkWidget *hbox_gtab_pre_select = gtk_hbox_new (FALSE, SPC); gtk_box_pack_start (GTK_BOX (vbox_gtab_l), hbox_gtab_pre_select, FALSE, FALSE, 0); opt_gtab_pre_select = gtk_label_new (_("預覽/預選 字")); gtk_box_pack_start (GTK_BOX (hbox_gtab_pre_select),opt_gtab_pre_select, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox_gtab_pre_select), create_auto_select_by_phrase_opts(&opt_gtab_pre_select, gtab_pre_select), FALSE, FALSE, 0); GtkWidget *hbox_gtab_disp_partial_match = gtk_hbox_new (FALSE, SPC); gtk_box_pack_start (GTK_BOX (vbox_gtab_l), hbox_gtab_disp_partial_match, FALSE, FALSE, 0); opt_gtab_disp_partial_match = gtk_label_new (_("預選列中顯示部份符合的字")); gtk_box_pack_start (GTK_BOX (hbox_gtab_disp_partial_match), opt_gtab_disp_partial_match, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox_gtab_disp_partial_match), create_auto_select_by_phrase_opts(&opt_gtab_disp_partial_match, gtab_disp_partial_match), FALSE, FALSE, 0); GtkWidget *hbox_gtab_disp_key_codes = gtk_hbox_new (FALSE, SPC); gtk_box_pack_start (GTK_BOX (vbox_gtab_l), hbox_gtab_disp_key_codes, FALSE, FALSE, 0); check_button_gtab_disp_key_codes = gtk_check_button_new_with_label (_("顯示字根")); gtk_box_pack_start (GTK_BOX (hbox_gtab_disp_key_codes), check_button_gtab_disp_key_codes, FALSE, FALSE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button_gtab_disp_key_codes), gtab_disp_key_codes); GtkWidget *hbox_gtab_disp_im_name = gtk_hbox_new (FALSE, SPC); gtk_box_pack_start (GTK_BOX (vbox_gtab_l), hbox_gtab_disp_im_name, FALSE, FALSE, 0); check_button_gtab_disp_im_name = gtk_check_button_new_with_label (_("顯示輸入法名稱")); gtk_box_pack_start (GTK_BOX (hbox_gtab_disp_im_name), check_button_gtab_disp_im_name, FALSE, FALSE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button_gtab_disp_im_name), gtab_disp_im_name); GtkWidget *hbox_gtab_hide_row2 = gtk_hbox_new (FALSE, SPC); gtk_box_pack_start (GTK_BOX (vbox_gtab_l), hbox_gtab_hide_row2, FALSE, FALSE, 0); check_button_gtab_hide_row2 = gtk_check_button_new_with_label (_("隱藏第二列 (輸入鍵…)")); gtk_box_pack_start (GTK_BOX (hbox_gtab_hide_row2), check_button_gtab_hide_row2, FALSE, FALSE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button_gtab_hide_row2), gtab_hide_row2); GtkWidget *hbox_gtab_in_row1 = gtk_hbox_new (FALSE, SPC); gtk_box_pack_start (GTK_BOX (vbox_gtab_l), hbox_gtab_in_row1, FALSE, FALSE, 0); check_button_gtab_in_row1 = gtk_check_button_new_with_label (_("將字根移至第一列")); gtk_box_pack_start (GTK_BOX (hbox_gtab_in_row1), check_button_gtab_in_row1, FALSE, FALSE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button_gtab_in_row1), gtab_in_row1); GtkWidget *hbox_gtab_vertical_select = gtk_hbox_new (FALSE, SPC); gtk_box_pack_start (GTK_BOX (vbox_gtab_l), hbox_gtab_vertical_select, FALSE, FALSE, 0); GtkWidget *label_gtab_vertical_select = gtk_label_new (_("垂直選擇")); gtk_box_pack_start (GTK_BOX (hbox_gtab_vertical_select), label_gtab_vertical_select, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox_gtab_vertical_select), create_auto_select_by_phrase_opts(&opt_gtab_vertical_select, gtab_vertical_select), FALSE, FALSE, 0); GtkWidget *hbox_gtab_press_full_auto_send = gtk_hbox_new (FALSE, SPC); gtk_box_pack_start (GTK_BOX (vbox_gtab_r), hbox_gtab_press_full_auto_send, FALSE, FALSE, 0); GtkWidget *label_gtab_gtab_press_full_auto_send = gtk_label_new(_("按滿字根自動送字")); gtk_box_pack_start (GTK_BOX (hbox_gtab_press_full_auto_send), label_gtab_gtab_press_full_auto_send, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox_gtab_press_full_auto_send), create_auto_select_by_phrase_opts(&opt_gtab_press_full_auto_send, gtab_press_full_auto_send), FALSE, FALSE, 0); GtkWidget *hbox_gtab_auto_select_by_phrase = gtk_hbox_new (FALSE, SPC); gtk_box_pack_start (GTK_BOX (vbox_gtab_r), hbox_gtab_auto_select_by_phrase, FALSE, FALSE, 0); GtkWidget *label_gtab_auto_select = gtk_label_new(_("由詞庫自動選字")); gtk_box_pack_start (GTK_BOX (hbox_gtab_auto_select_by_phrase), label_gtab_auto_select, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox_gtab_auto_select_by_phrase), create_auto_select_by_phrase_opts(&opt_auto_select_by_phrase, gtab_auto_select_by_phrase), FALSE, FALSE, 0); check_button_gtab_phrase_pre_select = gtk_check_button_new_with_label (_("使用預選詞")); gtk_box_pack_start (GTK_BOX (hbox_gtab_auto_select_by_phrase), check_button_gtab_phrase_pre_select, FALSE, FALSE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button_gtab_phrase_pre_select), gtab_phrase_pre_select); GtkWidget *hbox_gtab_dup_select_bell = gtk_hbox_new (FALSE, SPC); gtk_box_pack_start (GTK_BOX (vbox_gtab_r), hbox_gtab_dup_select_bell, FALSE, FALSE, 0); check_button_gtab_dup_select_bell = gtk_check_button_new_with_label (_("有重複字時,發出嗶聲")); gtk_box_pack_start (GTK_BOX (hbox_gtab_dup_select_bell),check_button_gtab_dup_select_bell, FALSE, FALSE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button_gtab_dup_select_bell), gtab_dup_select_bell); gtk_box_pack_start (GTK_BOX (vbox_gtab_r), create_spc_opts(), FALSE, FALSE, 0); GtkWidget *hbox_gtab_invalid_key_in = gtk_hbox_new (FALSE, SPC); gtk_box_pack_start (GTK_BOX (vbox_gtab_r), hbox_gtab_invalid_key_in, FALSE, FALSE, 0); check_button_gtab_invalid_key_in = gtk_check_button_new_with_label (_("可鍵入錯誤字根 (傳統)")); gtk_box_pack_start (GTK_BOX (hbox_gtab_invalid_key_in), check_button_gtab_invalid_key_in, FALSE, FALSE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button_gtab_invalid_key_in), gtab_invalid_key_in); GtkWidget *hbox_gtab_shift_phrase_key = gtk_hbox_new (FALSE, SPC); gtk_box_pack_start (GTK_BOX (vbox_gtab_r), hbox_gtab_shift_phrase_key, FALSE, FALSE, 0); check_button_gtab_shift_phrase_key = gtk_check_button_new_with_label (_("可用 Shift 輸入片語 (預設為 Alt-Shift)")); gtk_box_pack_start (GTK_BOX (hbox_gtab_shift_phrase_key), check_button_gtab_shift_phrase_key, FALSE, FALSE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button_gtab_shift_phrase_key), gtab_shift_phrase_key); gtk_box_pack_start (GTK_BOX (vbox_gtab_r), create_en_pho_key_sel(_("切換[中/英]輸入")), FALSE, FALSE, 0); #if 0 GtkWidget *hbox_hime_capslock_lower = gtk_hbox_new (FALSE, SPC); gtk_box_pack_start (GTK_BOX (vbox_gtab_r), hbox_hime_capslock_lower, FALSE, FALSE, 0); check_button_hime_capslock_lower = gtk_check_button_new_with_label (_("\t用小寫字母")); gtk_box_pack_start (GTK_BOX (hbox_hime_capslock_lower), check_button_hime_capslock_lower, FALSE, FALSE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button_hime_capslock_lower), hime_capslock_lower); #endif GtkWidget *hbox_gtab_unique_auto_send = gtk_hbox_new (FALSE, SPC); gtk_box_pack_start (GTK_BOX (vbox_gtab_r), hbox_gtab_unique_auto_send, FALSE, FALSE, 0); GtkWidget *label_gtab_unique_auto_send = gtk_label_new (_("唯一選擇時自動送出")); gtk_box_pack_start (GTK_BOX (hbox_gtab_unique_auto_send), label_gtab_unique_auto_send, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox_gtab_unique_auto_send), create_auto_select_by_phrase_opts(&opt_gtab_unique_auto_send, gtab_unique_auto_send), FALSE, FALSE, 0); GtkWidget *hbox_gtab_que_wild_card = gtk_hbox_new (FALSE, SPC); gtk_box_pack_start (GTK_BOX (vbox_gtab_r), hbox_gtab_que_wild_card, FALSE, FALSE, 0); check_button_gtab_que_wild_card = gtk_check_button_new_with_label (_("使用?萬用字元")); gtk_box_pack_start (GTK_BOX (hbox_gtab_que_wild_card), check_button_gtab_que_wild_card, FALSE, FALSE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button_gtab_que_wild_card), gtab_que_wild_card); GtkWidget *hbox_gtab_que_wild_card_asterisk = gtk_hbox_new (FALSE, SPC); gtk_box_pack_start (GTK_BOX (vbox_gtab_r), hbox_gtab_que_wild_card_asterisk, FALSE, FALSE, 0); check_button_gtab_que_wild_card_asterisk = gtk_check_button_new_with_label (_("使用*萬用字元")); gtk_box_pack_start (GTK_BOX (hbox_gtab_que_wild_card_asterisk), check_button_gtab_que_wild_card_asterisk, FALSE, FALSE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button_gtab_que_wild_card_asterisk), gtab_que_wild_card_asterisk); GtkWidget *hbox_gtab_pho_query = gtk_hbox_new (FALSE, SPC); gtk_box_pack_start (GTK_BOX (vbox_gtab_r), hbox_gtab_pho_query, FALSE, FALSE, 0); check_button_gtab_pho_query = gtk_check_button_new_with_label (_("使用` 查詢同音字")); gtk_box_pack_start (GTK_BOX (hbox_gtab_pho_query), check_button_gtab_pho_query, FALSE, FALSE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button_gtab_pho_query), gtab_pho_query); GtkWidget *button_edit_append = gtk_button_new_with_label(_("編輯預設輸入法的使用者外加字詞")); gtk_box_pack_start (GTK_BOX (vbox_gtab_r), button_edit_append, FALSE, FALSE, 0); g_signal_connect_swapped (G_OBJECT (button_edit_append), "clicked", G_CALLBACK (cb_gtab_edit_append), NULL); GtkWidget *hbox_cancel_ok = gtk_hbox_new (FALSE, 10); gtk_grid_set_column_homogeneous(GTK_GRID(hbox_cancel_ok), TRUE); gtk_box_pack_start (GTK_BOX (vbox_top), hbox_cancel_ok, FALSE, FALSE, 0); GtkWidget *button_cancel = gtk_button_new_from_stock (GTK_STOCK_CANCEL); if (button_order) gtk_box_pack_end (GTK_BOX (hbox_cancel_ok), button_cancel, TRUE, TRUE, 0); else gtk_box_pack_start (GTK_BOX (hbox_cancel_ok), button_cancel, TRUE, TRUE, 0); g_signal_connect (G_OBJECT (button_cancel), "clicked", G_CALLBACK (close_gtab_conf_window), G_OBJECT (hime_gtab_conf_window)); GtkWidget *button_ok = gtk_button_new_from_stock (GTK_STOCK_OK); #if !GTK_CHECK_VERSION(2,91,2) if (button_order) gtk_box_pack_end (GTK_BOX (hbox_cancel_ok), button_ok, TRUE, TRUE, 0); else gtk_box_pack_start (GTK_BOX (hbox_cancel_ok), button_ok, TRUE, TRUE, 0); #else if (button_order) gtk_grid_attach_next_to (GTK_BOX (hbox_cancel_ok), button_ok, button_cancel, GTK_POS_LEFT, 1, 1); else gtk_grid_attach_next_to (GTK_BOX (hbox_cancel_ok), button_ok, button_cancel, GTK_POS_RIGHT, 1, 1); #endif g_signal_connect_swapped (G_OBJECT (button_ok), "clicked", G_CALLBACK (cb_gtab_conf_ok), G_OBJECT (hime_gtab_conf_window)); GTK_WIDGET_SET_FLAGS (button_ok, GTK_CAN_DEFAULT); gtk_widget_grab_default (button_ok); gtk_widget_show_all (hime_gtab_conf_window); return; }