void cd_musiplayer_apply_cover (void) { cd_debug ("%s (%s)", __func__, myData.cCoverPath); g_return_if_fail (myData.cCoverPath != NULL); if (CD_APPLET_MY_CONTAINER_IS_OPENGL && myConfig.bOpenglThemes) { if (myData.iPrevTextureCover != 0) _cairo_dock_delete_texture (myData.iPrevTextureCover); myData.iPrevTextureCover = myData.TextureCover; myData.TextureCover = cairo_dock_create_texture_from_image (myData.cCoverPath); if (myData.iPrevTextureCover != 0) { myData.iCoverTransition = NB_TRANSITION_STEP; cairo_dock_launch_animation (myContainer); } else { cd_opengl_render_to_texture (myApplet); CD_APPLET_REDRAW_MY_ICON; } } else { CD_APPLET_SET_IMAGE_ON_MY_ICON (myData.cCoverPath); CD_APPLET_REDRAW_MY_ICON; } }
static void _load_theme (CairoDockModuleInstance *myApplet, GError **erreur) { //\_______________ On charge le theme si necessaire, avec en priorite les images utilisateur. if (myConfig.cThemePath != NULL && (myConfig.cNoMailUserImage == NULL || myConfig.cHasMailUserImage == NULL)) { GError *tmp_erreur = NULL; GDir *dir = g_dir_open (myConfig.cThemePath, 0, &tmp_erreur); if (tmp_erreur != NULL) { g_propagate_error (erreur, tmp_erreur); return ; } const gchar *cElementName; gchar *cElementPath; while ((cElementName = g_dir_read_name (dir)) != NULL) { cElementPath = g_strdup_printf ("%s/%s", myConfig.cThemePath, cElementName); cd_debug (" Mail theme item: %s", cElementPath); if (strncmp (cElementName, "no_mail", 7) == 0 && myConfig.cNoMailUserImage == NULL) { myConfig.cNoMailUserImage = cElementPath; } else if (strncmp (cElementName, "has_mail", 8) == 0 && myConfig.cHasMailUserImage == NULL) { myConfig.cHasMailUserImage = cElementPath; } else if (strncmp (cElementName, "new_mail_sound", 14) == 0 && myConfig.cNewMailUserSound == NULL) { myConfig.cNewMailUserSound = cElementPath; } else { g_free (cElementPath); } } g_dir_close (dir); } if (myConfig.cNoMailUserImage == NULL || myConfig.cHasMailUserImage == NULL || myConfig.cNewMailUserSound == NULL) { cd_warning ("mail : couldn't find images, this theme is not valid"); } // textures et calllist. if (myData.iNoMailTexture != 0) { _cairo_dock_delete_texture (myData.iNoMailTexture); myData.iNoMailTexture = 0; } if (myData.iHasMailTexture != 0) { _cairo_dock_delete_texture (myData.iHasMailTexture); myData.iHasMailTexture = 0; } if (CD_APPLET_MY_CONTAINER_IS_OPENGL && myDesklet) { if (myConfig.cNoMailUserImage != NULL) myData.iNoMailTexture = cairo_dock_create_texture_from_image(myConfig.cNoMailUserImage); if (myConfig.cHasMailUserImage != NULL) myData.iHasMailTexture = cairo_dock_create_texture_from_image(myConfig.cHasMailUserImage); if (myData.iCubeCallList == 0) myData.iCubeCallList = cd_mail_load_cube_calllist(); } // on cree le repertoire de l'historique si necessaire. myData.cWorkingDirPath = g_strdup_printf ("%s/mail", g_cCairoDockDataDir); if (! g_file_test (myData.cWorkingDirPath, G_FILE_TEST_EXISTS)) { cd_debug ("Plugin Mail : le dossier '%s' n'existe pas encore -> On le cree", myData.cWorkingDirPath); if (g_mkdir (myData.cWorkingDirPath, 7*8*8+7*8+0) != 0) { cd_warning ("couldn't create directory '%s' !\nNo read history will be available.", myData.cWorkingDirPath); } } }