Пример #1
0
void load_shortcuts (gpointer user_data)
{
	Widgets *widgets = (Widgets*)user_data;
	
	gtk_entry_set_text (widgets->entry_sn, execute_xpath_expression (conf_file, "//normal_notify_hotkey", NULL, 0));
	gtk_entry_set_text (widgets->entry_wn, execute_xpath_expression (conf_file, "//wide_notify_hotkey", NULL, 0));
	gtk_entry_set_text (widgets->entry_sf, execute_xpath_expression (conf_file, "//favorite_hotkey", NULL, 0));
	gtk_entry_set_text (widgets->entry_sb, execute_xpath_expression (conf_file, "//favorite_hotkey_back", NULL, 0));
}
Пример #2
0
int 
main(int argc, char **argv) {
  /* Parse command line and process file */
  if((argc < 3) || (argc > 4)) {
    fprintf(stderr, "Error: wrong number of arguments.\n");
    usage(argv[0]);
    return(-1);
  } 
    
  /* Init libxml */     
  xmlInitParser();
    LIBXML_TEST_VERSION

      /* Do the main job */
      if(execute_xpath_expression(argv[1], BAD_CAST argv[2], (argc > 3) ? BAD_CAST argv[3] : NULL) < 0) {
	usage(argv[0]);
	return(-1);
      }

    /* Shutdown libxml */
    xmlCleanupParser();
    
    /*
     * this is to debug memory for regression tests
     */
    xmlMemoryDump();
    return 0;
}
Пример #3
0
void load_favorites (gpointer user_data)
{
	GtkTreeIter iter;
	GtkTreeIter iter_log;
	int i, src, dst;
	char lang_temp_src[128], lang_temp_dst[128];
	char *temp_src, *temp_dst;
	Widgets *widgets = (Widgets*)user_data;

	int favorite_size = get_xpath_nodes_size (conf_file, "//favorite", NULL);
	for(i=0; i<favorite_size; i++)
	{
		sprintf (lang_temp_src, "//favorite[%d]/src_lang", i+1);
		sprintf (lang_temp_dst, "//favorite[%d]/dst_lang", i+1);

		temp_src = execute_xpath_expression (conf_file, lang_temp_src, NULL, 0);
		temp_dst = execute_xpath_expression (conf_file, lang_temp_dst, NULL, 0);
		src = atoi (temp_src);
		dst = atoi (temp_dst);

		gtk_tree_store_append (widgets->store, &iter, NULL);
		gtk_tree_store_set (widgets->store, &iter,
		                    FROM_COLUMN, dicts[src].name,
		                    TO_COLUMN, dicts[dst].name,
		                    -1);
		gtk_tree_store_append (widgets->store_log, &iter_log, NULL);
		gtk_tree_store_set (widgets->store_log, &iter_log,
		                    FROM_COLUMN, dicts[src].name,
		                    TO_COLUMN, dicts[dst].name,
		                    -1);
	}

	int size_dicts = strlen(dicts);
	for(i=0; i<size_lang; i++)
	{
		gtk_combo_box_text_append_text (widgets->cb_src, dicts[i].name);
		gtk_combo_box_text_append_text (widgets->cb_dst, dicts[i].name);
		gtk_combo_box_text_append_text (widgets->cb_src_log, dicts[i].name);
		gtk_combo_box_text_append_text (widgets->cb_dst_log, dicts[i].name);
		gtk_combo_box_text_append_text (widgets->cb_hidden, dicts[i].name);
	}
}
Пример #4
0
void load_hidden (gpointer user_data)
{
	GtkTreeIter iter;
	int i, tmp;
	char lang_temp[128];
	char *temp;
	Widgets *widgets = (Widgets*)user_data;

	int hidden_size = get_xpath_nodes_size (conf_file, "//hidden", NULL);
	for(i=0; i<hidden_size; i++)
	{
		sprintf (lang_temp, "//hidden[%d]", i+1);

		temp = execute_xpath_expression (conf_file, lang_temp, NULL, 0);
		tmp = atoi (temp);

		gtk_tree_store_append (widgets->store_hidden, &iter, NULL);
		gtk_tree_store_set (widgets->store_hidden, &iter,
		                    HIDDEN_COLUMN, dicts[tmp].name,
		                    -1);
	}
}
Пример #5
0
/**
 * xpath :
 * @xml : the input string
 * @path : the rules
 * @get : array of string
 * @num : size of @get

 * return the number of string we get
 **/
int xpath(char *xml, char *path, char **get, int num) { 

  int size;
    /* Init libxml */     
    xmlInitParser();
    //LIBXML_TEST_VERSION

    /* Do the main job */
    size = execute_xpath_expression(xml, BAD_CAST path, get, num);
      if(size == -1) {
	
	return -1;
      }

    /* Shutdown libxml */
    xmlCleanupParser();
    
    /*
     * this is to debug memory for regression tests
     */
    //xmlMemoryDump();
    return size;
}
Пример #6
0
int create_properties_window(char *conf_file_xml, int deploy, language *dictionaries)
{
	GtkBuilder *builder;
	Widgets *widgets;
	size_lang = 60;
	int i;
	for (i=0; i<sizeof(favorite)/sizeof(favorite[0]); i++)
	{
		favorite[i].src_code = -1;
		favorite[i].src_code = -1;
	}
	for (i=0; i<sizeof(favorite_log)/sizeof(favorite_log[0]); i++)
	{
		favorite_log[i].src_code = -1;
		favorite_log[i].src_code = -1;
	}
	for (i=0; i<sizeof(h_dict)/sizeof(h_dict[0]); i++)
	{
		h_dict[i].code = -1;
	}
	for (i=0; i<size_lang; i++)
	{
		strcpy (dicts[i].name, dictionaries->name);
		dictionaries++;
	}
	strcpy(conf_file, conf_file_xml);
	builder = gtk_builder_new ();
	if(deploy)
	{
		gtk_builder_add_from_file (builder, PACKAGE_DATA_DIR"/gstranslator/ui/properties.ui", NULL);
	}
	else
	{
		gtk_builder_add_from_file (builder, "src/properties.ui", NULL);
	}

	widgets = g_slice_new (Widgets);
	
	widgets->window = gtk_builder_get_object (builder, "properties");
	g_signal_connect (widgets->window, "destroy", G_CALLBACK (exit_window), widgets);
	
	widgets->ok_button = gtk_builder_get_object (builder, "ok_button");
	g_signal_connect (widgets->ok_button, "clicked", G_CALLBACK (save_config), widgets);
	widgets->ok_button = gtk_builder_get_object (builder, "ok_button1");
	g_signal_connect (widgets->ok_button, "clicked", G_CALLBACK (save_config), widgets);
	widgets->ok_button = gtk_builder_get_object (builder, "ok_button2");
	g_signal_connect (widgets->ok_button, "clicked", G_CALLBACK (save_config), widgets);
	widgets->ok_button = gtk_builder_get_object (builder, "ok_button3");
	g_signal_connect (widgets->ok_button, "clicked", G_CALLBACK (save_config), widgets);

	widgets->cancel_button = gtk_builder_get_object (builder, "cancel_button");
	g_signal_connect (widgets->cancel_button, "clicked", G_CALLBACK (exit_window), widgets);
	widgets->cancel_button = gtk_builder_get_object (builder, "cancel_button1");
	g_signal_connect (widgets->cancel_button, "clicked", G_CALLBACK (exit_window), widgets);
	widgets->cancel_button = gtk_builder_get_object (builder, "cancel_button2");
	g_signal_connect (widgets->cancel_button, "clicked", G_CALLBACK (exit_window), widgets);
	widgets->cancel_button = gtk_builder_get_object (builder, "cancel_button3");
	g_signal_connect (widgets->cancel_button, "clicked", G_CALLBACK (exit_window), widgets);

	widgets->entry_sn = gtk_builder_get_object (builder, "entry_sn");
	widgets->entry_wn = gtk_builder_get_object (builder, "entry_wn");
	widgets->entry_sf = gtk_builder_get_object (builder, "entry_sf");
	widgets->entry_sb = gtk_builder_get_object (builder, "entry_sb");

	widgets->move_up_button = gtk_builder_get_object (builder, "move_up_button");
	g_signal_connect (widgets->move_up_button, "clicked", G_CALLBACK (move_up), widgets);
	widgets->move_down_button = gtk_builder_get_object (builder, "move_down_button");
	g_signal_connect (widgets->move_down_button, "clicked", G_CALLBACK (move_down), widgets);
	widgets->cb_src = gtk_builder_get_object (builder, "cb_src");
	widgets->cb_dst = gtk_builder_get_object (builder, "cb_dst");
	widgets->cb_src_log = gtk_builder_get_object (builder, "cb_src_log");
	widgets->cb_dst_log = gtk_builder_get_object (builder, "cb_dst_log");
	widgets->cb_hidden = gtk_builder_get_object (builder, "cb_hidden");
	widgets->add_button = gtk_builder_get_object (builder, "add_button");
	g_signal_connect (widgets->add_button, "clicked", G_CALLBACK (add_favorite), widgets);
	widgets->add_log_button = gtk_builder_get_object (builder, "add_log_button");
	g_signal_connect (widgets->add_log_button, "clicked", G_CALLBACK (add_log), widgets);
	widgets->add_hidden_button = gtk_builder_get_object (builder, "add_hidden_button");
	g_signal_connect (widgets->add_hidden_button, "clicked", G_CALLBACK (add_hidden), widgets);
	widgets->add_all_hidden_button = gtk_builder_get_object (builder, "add_all_hidden_button");
	g_signal_connect (widgets->add_all_hidden_button, "clicked", G_CALLBACK (add_all_hidden), widgets);
	widgets->delete_button = gtk_builder_get_object (builder, "delete_button");
	g_signal_connect (widgets->delete_button, "clicked", G_CALLBACK (delete_favorite), widgets);
	widgets->delete_log_button = gtk_builder_get_object (builder, "delete_log_button");
	g_signal_connect (widgets->delete_log_button, "clicked", G_CALLBACK (delete_log), widgets);
	widgets->delete_hidden_button = gtk_builder_get_object (builder, "delete_hidden_button");
	g_signal_connect (widgets->delete_hidden_button, "clicked", G_CALLBACK (delete_hidden), widgets);

	widgets->choose_file_button = gtk_builder_get_object (builder, "choose_file_button");
	g_signal_connect (widgets->choose_file_button, "clicked", G_CALLBACK (choose_file_dialog), widgets);
	widgets->choose_output_button = gtk_builder_get_object (builder, "choose_output_button");
	g_signal_connect (widgets->choose_output_button, "clicked", G_CALLBACK (choose_file_dialog), widgets);
	widgets->log_file_entry = gtk_builder_get_object (builder, "log_file_entry");
	widgets->output_file_entry = gtk_builder_get_object (builder, "output_file_entry");
	widgets->save_freq_entry = gtk_builder_get_object (builder, "save_freq_entry");
	widgets->clean_xml_button = gtk_builder_get_object (builder, "clean_xml_button");
	g_signal_connect (widgets->clean_xml_button, "clicked", G_CALLBACK (clean_xml), widgets);
	widgets->convert_button = gtk_builder_get_object (builder, "convert_button");
	g_signal_connect (widgets->convert_button, "clicked", G_CALLBACK (convert), widgets);
	gtk_widget_set_sensitive (widgets->convert_button, FALSE);
	
	load_shortcuts (widgets);
	init_favorites_list (widgets, builder);
	init_hidden_list (widgets, builder);
	strcpy(log_filename, execute_xpath_expression (conf_file, "/config/log_filename", NULL, 0));                    
	gtk_entry_set_text (widgets->log_file_entry, log_filename);
	gtk_entry_set_text (widgets->save_freq_entry, 
	                    execute_xpath_expression (conf_file, "/config/save_frequency", NULL, 0));
	
	gtk_widget_show (widgets->window);
	gtk_main ();

	return exit_code;
}