Esempio n. 1
0
void rclib_settings_set_double_list(const gchar *group_name,
    const gchar *key, gdouble list[], gsize length)
{
    settings_dirty = TRUE;
    if(settings_keyfile==NULL) return;
    g_key_file_set_double_list(settings_keyfile, group_name, key,
        list, length);
}
Esempio n. 2
0
/**
 * pragha_preferences_set_double_list
 *
 */
void
pragha_preferences_set_double_list (PraghaPreferences *preferences,
                                    const gchar *group_name,
                                    const gchar *key,
                                    gdouble list[],
                                    gsize length)
{
	g_return_if_fail(PRAGHA_IS_PREFERENCES(preferences));

	g_key_file_set_double_list(preferences->priv->rc_keyfile,
	                           group_name,
	                           key,
	                           list,
	                           length);
}
Esempio n. 3
0
void 
cid_save_data (CidMainContainer **pCid) 
{
    CidMainContainer *cid = *pCid;
    if (!cid_load_key_file(pCid, cid->config->cConfFile))
        cid_exit(CID_ERROR_READING_FILE,"Key File error");
    
    if (cid->pWindow!=NULL)
        cid_get_data(pCid);
    
    // [System] configuration
    g_key_file_set_integer (cid->pKeyFile, "System", "PLAYER", cid->config->iPlayer);
    g_key_file_set_integer (cid->pKeyFile, "System", "INTER", cid->config->iInter/1000);
    g_key_file_set_integer (cid->pKeyFile, "System", "SYMBOL_COLOR", cid->config->iSymbolColor);
    g_key_file_set_boolean (cid->pKeyFile, "System", "MONITOR", cid->config->bMonitorPlayer);
    g_key_file_set_boolean (cid->pKeyFile, "System", "STATE", cid->config->bPlayerState);
    g_key_file_set_boolean (cid->pKeyFile, "System", "TITLE", cid->config->bDisplayTitle);
    g_key_file_set_boolean (cid->pKeyFile, "System", "CONTROLS", cid->config->bDisplayControl);
    g_key_file_set_double (cid->pKeyFile, "System", "POLICE_SIZE",(cid->config->dPoliceSize));
    g_key_file_set_double_list (cid->pKeyFile, "System", "POLICE_COLOR", (cid->config->dPoliceColor), cid->config->gPlainTextSize);
    g_key_file_set_double_list (cid->pKeyFile, "System", "OUTLINE_COLOR", (cid->config->dOutlineTextColor), cid->config->gOutlineTextSize);

    // [Options] configuration
    g_key_file_set_boolean (cid->pKeyFile, "Options", "ANIMATION", cid->config->bRunAnimation);
    g_key_file_set_boolean (cid->pKeyFile, "Options", "HIDE", cid->config->bHide);
    if (strcmp(cid->config->cDefaultImage,TESTING_DIR"/"TESTING_COVER)!=0 && strcmp(cid->config->cDefaultImage,CID_DEFAULT_IMAGE)!=0)
        g_key_file_set_string  (cid->pKeyFile, "Options", "IMAGE", cid->config->cDefaultImage);
    else
        g_key_file_set_string  (cid->pKeyFile, "Options", "IMAGE", "");
    g_key_file_set_boolean (cid->pKeyFile, "Options", "THREAD", cid->config->bThreaded);
    g_key_file_set_boolean (cid->pKeyFile, "Options", "DOWNLOAD", cid->config->bDownload);
    g_key_file_set_integer (cid->pKeyFile, "Options", "ANIMATION_TYPE", cid->config->iAnimationType);
    g_key_file_set_integer (cid->pKeyFile, "Options", "ANIMATION_SPEED", cid->config->iAnimationSpeed);
    g_key_file_set_integer (cid->pKeyFile, "Options", "DELAY", cid->config->iTimeToWait);
    g_key_file_set_integer (cid->pKeyFile, "Options", "D_SIZE", cid->config->iImageSize);
    g_key_file_set_boolean (cid->pKeyFile, "Options", "B_UNSTABLE", cid->config->bUnstable);
    if (strcmp(cid->config->cDLPath,cid->defaut->cDLPath) != 0)
        g_key_file_set_string (cid->pKeyFile, "Options", "DL_PATH", cid->config->cDLPath);
    else
        g_key_file_set_string (cid->pKeyFile, "Options", "DL_PATH", "");
    
    // [Behaviour] configuration
    gint pSize[2] = {cid->config->iWidth,cid->config->iHeight};
    gsize iReadSize = sizeof (pSize) / sizeof (*pSize);
    g_key_file_set_integer_list (cid->pKeyFile, "Behaviour", "SIZE", pSize, iReadSize);
    g_key_file_set_integer (cid->pKeyFile, "Behaviour", "GAP_X",cid->config->iPosX);
    g_key_file_set_integer (cid->pKeyFile, "Behaviour", "GAP_Y",cid->config->iPosY);
    
    g_key_file_set_double (cid->pKeyFile, "Behaviour", "ROTATION",(cid->config->dRotate));
    g_key_file_set_double_list (cid->pKeyFile, "Behaviour", "COLOR", (cid->config->dColor), cid->config->gColorSize);
    g_key_file_set_double_list (cid->pKeyFile, "Behaviour", "FLYING_COLOR", (cid->config->dFlyingColor), cid->config->gFlyingColorSize);
    g_key_file_set_boolean (cid->pKeyFile, "Behaviour", "KEEP_CORNERS", cid->config->bKeepCorners);
    g_key_file_set_boolean (cid->pKeyFile, "Behaviour", "ALL_DESKTOP", cid->config->bAllDesktop);
    g_key_file_set_boolean (cid->pKeyFile, "Behaviour", "LOCK", cid->config->bLockPosition);
    g_key_file_set_boolean (cid->pKeyFile, "Behaviour", "MASK", cid->config->bMask);
    g_key_file_set_boolean (cid->pKeyFile, "Behaviour", "SWITCH_ABOVE", cid->config->bShowAbove);

    // [MPD] configuration
    gchar *cDefaultDir = g_strdup_printf ("%s/Music", g_getenv ("HOME"));
    if (cid->mpd_dir != NULL && strcmp (cid->mpd_dir, cDefaultDir) != 0)
        g_key_file_set_string (cid->pKeyFile, "MPD", "MPD_DIR", cid->mpd_dir);
    else
        g_key_file_set_string (cid->pKeyFile, "MPD", "MPD_DIR", "");
    g_free (cDefaultDir);
    g_key_file_set_string (cid->pKeyFile, "MPD", "MPD_HOST", cid->mpd_host);
    gchar *cEncrypted = NULL;
    cid_encrypt_string (cid->mpd_pass, &cEncrypted);
    g_key_file_set_string (cid->pKeyFile, "MPD", "MPD_PASS", cEncrypted);
    g_free (cEncrypted);
    g_key_file_set_integer (cid->pKeyFile, "MPD", "MPD_PORT", cid->mpd_port);
    
    cid_write_keys_to_file (cid->pKeyFile, cid->config->cConfFile);
}
Esempio n. 4
0
void
img_save_slideshow( img_window_struct *img,
					const gchar       *output )
{
	GKeyFile *img_key_file;
	gchar *conf, *string, *path, *filename, *file, *font_desc;
	gint count = 0;
	gsize len;
	GtkTreeIter iter;
	slide_struct *entry;
	GtkTreeModel *model;

	model = GTK_TREE_MODEL( img->thumbnail_model );
	if (!gtk_tree_model_get_iter_first (model, &iter))
		return;

	img_key_file = g_key_file_new();

	/* Slideshow settings */
	g_key_file_set_comment(img_key_file, NULL, NULL, comment_string, NULL);

    g_key_file_set_string(img_key_file, "slideshow settings",
                          "video codec",
                          video_format_list[img->video_format_index].config_name);

                          g_key_file_set_integer(img_key_file, "slideshow settings",
                          "video width", img->video_size[0]);
    g_key_file_set_integer(img_key_file, "slideshow settings",
                          "video height", img->video_size[1]);

    g_key_file_set_string(img_key_file, "slideshow settings",
                "fps",
                video_format_list[img->video_format_index].fps_list[img->fps_index].name);

    if (NULL != video_format_list[img->video_format_index].aspect_ratio_list)
        g_key_file_set_string(img_key_file, "slideshow settings",
                "aspect ratio",
                video_format_list[img->video_format_index].aspect_ratio_list[img->aspect_ratio_index].name);

    if (NULL != video_format_list[img->video_format_index].bitratelist)
        g_key_file_set_integer(img_key_file, "slideshow settings",
                "bitrate",
                video_format_list[img->video_format_index].bitratelist[img->bitrate_index].value);

	g_key_file_set_double_list( img_key_file, "slideshow settings",
								"background color", img->background_color, 3 );
	g_key_file_set_boolean(img_key_file,"slideshow settings", "distort images", img->distort_images);

	g_key_file_set_integer(img_key_file, "slideshow settings", "number of slides", img->slides_nr);

	/* Slide settings */
	do
	{
		count++;
		gtk_tree_model_get(model, &iter,1,&entry,-1);
		conf = g_strdup_printf("slide %d",count);

        if (entry->load_ok)
            filename = entry->o_filename;
        else
            filename = entry->original_filename;

        if (filename)
		{
			/* Save original filename and rotation */
			g_key_file_set_string( img_key_file, conf,
								   "filename", filename);
			g_key_file_set_integer( img_key_file, conf, "angle", entry->angle );
		}
		else
		{
			/* We are dealing with an empty slide */
			gdouble *start_color = entry->g_start_color,
					*stop_color  = entry->g_stop_color,
					*start_point = entry->g_start_point,
					*stop_point  = entry->g_stop_point;

			g_key_file_set_integer(img_key_file, conf, "gradient",	entry->gradient);
			g_key_file_set_double_list(img_key_file, conf, "start_color", start_color, 3 );
			g_key_file_set_double_list(img_key_file, conf, "stop_color" , stop_color , 3 );
			g_key_file_set_double_list(img_key_file, conf, "start_point", start_point, 2 );
			g_key_file_set_double_list(img_key_file, conf, "stop_point" , stop_point , 2 );
		}

		/* Duration */
		g_key_file_set_integer(img_key_file,conf, "duration",		entry->duration);

		/* Transition */
		g_key_file_set_integer(img_key_file,conf, "transition_id",	entry->transition_id);
		g_key_file_set_integer(img_key_file,conf, "speed", 			entry->speed);

		/* Stop points */
		g_key_file_set_integer(img_key_file,conf, "no_points",		entry->no_points);
		if (entry->no_points > 0)
		{
			gint    point_counter;
			gdouble my_points[entry->no_points * 4];

			for( point_counter = 0;
				 point_counter < entry->no_points;
				 point_counter++ )
			{
				ImgStopPoint *my_point = g_list_nth_data(entry->points,point_counter);
				my_points[ (point_counter * 4) + 0] = (gdouble)my_point->time;
				my_points[ (point_counter * 4) + 1] = my_point->offx;
				my_points[ (point_counter * 4) + 2] = my_point->offy;
				my_points[ (point_counter * 4) + 3] = my_point->zoom;
			}
			g_key_file_set_double_list(img_key_file,conf, "points", my_points, (gsize) entry->no_points * 4);
		}

		/* Subtitle */
		/* EXPLANATION: Only facultative field here is subtitle text, since user
		 * may have set other text properties on slide and we would let them out
		 * if we only save slides with text present. */
		if( entry->subtitle )
			g_key_file_set_string (img_key_file, conf,"text",			entry->subtitle);

		font_desc = pango_font_description_to_string(entry->font_desc);
		g_key_file_set_integer(img_key_file,conf, "anim id",		entry->anim_id);
		g_key_file_set_integer(img_key_file,conf, "anim duration",	entry->anim_duration);
		g_key_file_set_integer(img_key_file,conf, "text pos",		entry->position);
		g_key_file_set_integer(img_key_file,conf, "placing",		entry->placing);
		g_key_file_set_string (img_key_file, conf,"font",			font_desc);
		g_key_file_set_double_list(img_key_file, conf,"font color",entry->font_color,4);
        g_key_file_set_double_list(img_key_file, conf,"font bgcolor",entry->font_bgcolor,4);
		g_free(font_desc);
		g_free(conf);
	}
	while (gtk_tree_model_iter_next (model,&iter));
	count = 0;

	/* Background music */
	model = gtk_tree_view_get_model(GTK_TREE_VIEW(img->music_file_treeview));
	if (gtk_tree_model_get_iter_first (model, &iter))
	{
		g_key_file_set_integer(img_key_file, "music", "number", gtk_tree_model_iter_n_children(model, NULL));
		do
		{
			count++;
			gtk_tree_model_get(model, &iter, 0, &path, 1, &filename ,-1);
			conf = g_strdup_printf("music_%d",count);
			file = g_build_filename(path, filename, NULL);
			g_free(path);
			g_free(filename);
			g_key_file_set_string(img_key_file, "music", conf, file);
			g_free(file);
			g_free(conf);
		}
		while (gtk_tree_model_iter_next (model, &iter));
	}

	/* Write the project file */
	conf = g_key_file_to_data(img_key_file, &len, NULL);
	g_file_set_contents( output, conf, len, NULL );
	g_free (conf);

	string = g_path_get_basename( output );
	img_set_window_title(img,string);
	g_free(string);
	g_key_file_free(img_key_file);

	if( img->project_filename )
		g_free( img->project_filename );
	img->project_filename = g_strdup( output );

	img->project_is_modified = FALSE;
}
Esempio n. 5
0
/**
 * Sets a list of doubles to preferences.
 *
 * @param key the specific settings key
 * @param list the array of double values to set
 * @param n the array length
 */
void
prefs_set_double_list(const gchar *key, gdouble *list, gsize n)
{
	g_key_file_set_double_list(keyFile, "PNMixer", key, list, n);
}