1414
1415
CairoDocksParam *pAccessibility = pDocksParam;
1415
1416
CairoDocksParam *pSystem = pDocksParam;
1418
1419
pBackground->iDockRadius = cairo_dock_get_integer_key_value (pKeyFile, "Background", "corner radius", &bFlushConfFileNeeded, 12, NULL, NULL);
1420
1421
pBackground->iDockLineWidth = cairo_dock_get_integer_key_value (pKeyFile, "Background", "line width", &bFlushConfFileNeeded, 2, NULL, NULL);
1427
1428
pBackground->bRoundedBottomCorner = cairo_dock_get_boolean_key_value (pKeyFile, "Background", "rounded bottom corner", &bFlushConfFileNeeded, TRUE, NULL, NULL);
1430
gchar *cBgImage = cairo_dock_get_string_key_value (pKeyFile, "Background", "background image", &bFlushConfFileNeeded, NULL, NULL, NULL);
1431
int iFillBg = cairo_dock_get_integer_key_value (pKeyFile, "Background", "fill bg", &bFlushConfFileNeeded, -1, NULL, NULL); // -1 pour intercepter le cas ou la cle n'existe pas.
1432
if (iFillBg == -1) // nouvelle cle
1434
iFillBg = (cBgImage != NULL ? 0 : 1); // si une image etait definie auparavant, on dit qu'on veut le mode "image"
1435
g_key_file_set_integer (pKeyFile, "Background", "fill bg", iFillBg);
1439
if (iFillBg != 0) // remplissage avec un degrade => on ne veut pas d'image
1431
int iStyle = cairo_dock_get_integer_key_value (pKeyFile, "Background", "style", &bFlushConfFileNeeded, -1, NULL, NULL); // -1 pour intercepter le cas ou la cle n'existe pas.
1432
if (iStyle == -1) // old params < 3.4
1434
iStyle = g_key_file_get_integer (pKeyFile, "Background", "fill bg", NULL);
1436
g_key_file_set_integer (pKeyFile, "Background", "style", iStyle);
1441
pBackground->bUseDefaultColors = TRUE;
1442
pBackground->iDockRadius = myStyleParam.iCornerRadius;
1443
pBackground->iDockLineWidth = myStyleParam.iLineWidth;
1445
else if (iStyle == 1)
1447
gchar *cBgImage = (iStyle == 1 ? cairo_dock_get_string_key_value (pKeyFile, "Background", "background image", &bFlushConfFileNeeded, NULL, NULL, NULL) : NULL);
1448
if (cBgImage != NULL)
1450
pBackground->cBackgroundImageFile = cairo_dock_search_image_s_path (cBgImage);
1441
1451
g_free (cBgImage);
1452
pBackground->fBackgroundImageAlpha = cairo_dock_get_double_key_value (pKeyFile, "Background", "image alpha", &bFlushConfFileNeeded, 0.5, NULL, NULL);
1453
pBackground->bBackgroundImageRepeat = cairo_dock_get_boolean_key_value (pKeyFile, "Background", "repeat image", &bFlushConfFileNeeded, FALSE, NULL, NULL);
1446
if (cBgImage != NULL)
1448
pBackground->cBackgroundImageFile = cairo_dock_search_image_s_path (cBgImage);
1452
pBackground->fBackgroundImageAlpha = cairo_dock_get_double_key_value (pKeyFile, "Background", "image alpha", &bFlushConfFileNeeded, 0.5, NULL, NULL);
1454
pBackground->bBackgroundImageRepeat = cairo_dock_get_boolean_key_value (pKeyFile, "Background", "repeat image", &bFlushConfFileNeeded, FALSE, NULL, NULL);
1457
if (pBackground->cBackgroundImageFile == NULL)
1457
// background gradation
1458
if (iStyle != 0 && pBackground->cBackgroundImageFile == NULL)
1459
1460
pBackground->iNbStripes = cairo_dock_get_integer_key_value (pKeyFile, "Background", "number of stripes", &bFlushConfFileNeeded, 10, NULL, NULL);
1857
static gboolean on_style_changed (G_GNUC_UNUSED gpointer data)
1859
g_print ("%s (Docks, %d)\n", __func__, myDocksParam.bUseDefaultColors);
1860
if (myDocksParam.bUseDefaultColors) // reload bg
1862
g_print (" reload dock's bg...\n");
1864
myDocksParam.iDockRadius = myStyleParam.iCornerRadius;
1865
myDocksParam.iDockLineWidth = myStyleParam.iLineWidth;
1867
gldi_docks_foreach_root ((GFunc)_reload_bg, NULL);
1869
return GLDI_NOTIFICATION_LET_PASS;
1856
1872
static void init (void)
1858
1874
s_hDocksTable = g_hash_table_new_full (g_str_hash,