static void ts_import(const gchar *selected_filename) { char cmd[256]; #if UNIX if (inmd[default_input_method].method_type==method_type_TSIN) { snprintf(cmd, sizeof(cmd), "cd %s/.gcin && "GCIN_BIN_DIR"/tsd2a32 %s > tmpfile && cat %s >> tmpfile && "GCIN_BIN_DIR"/tsa2d32 tmpfile %s", getenv("HOME"), tsin32_f, selected_filename, tsin32_f); int res = system(cmd); res = 0; create_result_win(res, cmd); } else { char tt[512]; sprintf(tt, GCIN_SCRIPT_DIR"/tsin-gtab-import %s '%s'", inmd[default_input_method].filename, selected_filename); system(tt); } #else if (inmd[default_input_method].method_type==method_type_TSIN) win32exec_script_va("ts-import.bat", (char *)selected_filename, tsin32_f, NULL); else { win32exec_script_va("ts-gtab-import.bat", inmd[default_input_method].filename, selected_filename, NULL); } #endif }
static void cb_ts_export() { GtkWidget *file_selector; if (button_order) file_selector = gtk_file_chooser_dialog_new(_(_L("請輸入要匯出的檔案名稱")), GTK_WINDOW(main_window), GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, NULL); else file_selector = gtk_file_chooser_dialog_new(_(_L("請輸入要匯出的檔案名稱")), GTK_WINDOW(main_window), GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL); if (gtk_dialog_run (GTK_DIALOG (file_selector)) == GTK_RESPONSE_ACCEPT) { gchar *selected_filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (file_selector)); char gcin_dir[512]; get_gcin_dir(gcin_dir); char cmd[512]; char fname[256]; char *filename=inmd[default_input_method].filename; if (inmd[default_input_method].method_type==method_type_TSIN) get_gcin_user_fname(tsin32_f, fname); else if (filename) { char tt[256]; strcat(strcpy(tt, filename), ".append.gtab.tsin-db"); if (!get_gcin_user_fname(tt, fname)) { strcat(strcpy(tt, filename), ".tsin-db"); if (!get_gcin_user_fname(tt, fname)) p_err("cannot find %s", fname); } } #if UNIX snprintf(cmd, sizeof(cmd), GCIN_BIN_DIR"/tsd2a32 %s -o %s", fname, selected_filename); dbg("exec %s\n", cmd); int res = system(cmd); res = 0; // some problem in system(), the exit code is not reliable create_result_win(res, cmd); #else char para[256]; sprintf_s(para, sizeof(para), "\"%s\" -o \"%s\"", fname, selected_filename); win32exec_para("tsd2a32.exe", para); #endif } gtk_widget_destroy (file_selector); }
static void cb_ts_export() { GtkWidget *file_selector = gtk_file_chooser_dialog_new( _("Please input filename for exporting data"), GTK_WINDOW(main_window), GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL); gtk_dialog_set_alternative_button_order( GTK_DIALOG(file_selector), GTK_RESPONSE_ACCEPT, GTK_RESPONSE_CANCEL, -1); char hime_dir[512]; get_hime_dir(hime_dir); char cmd[512]; char fname[256]; char *filename=inmd[default_input_method].filename; char tt[256]; if (inmd[default_input_method].method_type==method_type_TSIN) { get_hime_user_fname(tsin32_f, fname); gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER (file_selector), tsin32_f); } else if (filename) { strcat(strcpy(tt, filename), ".append.gtab.tsin-db"); if (!get_hime_user_fname(tt, fname)) { strcat(strcpy(tt, filename), ".tsin-db"); if (!get_hime_user_fname(tt, fname)) p_err("cannot find %s", fname); } gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER (file_selector), tt); } gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER (file_selector), TRUE); if (gtk_dialog_run (GTK_DIALOG (file_selector)) == GTK_RESPONSE_ACCEPT) { gchar *selected_filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (file_selector)); snprintf(cmd, sizeof(cmd), HIME_BIN_DIR"/hime-tsd2a32 %s -o %s", fname, selected_filename); dbg("exec %s\n", cmd); int res = system(cmd); res = 0; // some problem in system(), the exit code is not reliable create_result_win(res, cmd); } gtk_widget_destroy (file_selector); }
static void ts_import(const gchar *selected_filename) { char cmd[256]; if (inmd[default_input_method].method_type==method_type_TSIN) { snprintf(cmd, sizeof(cmd), "cd %s/.config/hime && "HIME_BIN_DIR"/hime-tsd2a32 %s > tmpfile && cat %s >> tmpfile && "HIME_BIN_DIR"/hime-tsa2d32 tmpfile %s", getenv("HOME"), tsin32_f, selected_filename, tsin32_f); int res = system(cmd); res = 0; create_result_win(res, cmd); } else { char tt[512]; sprintf(tt, HIME_SCRIPT_DIR"/tsin-gtab-import %s '%s'", inmd[default_input_method].filename, selected_filename); system(tt); } }