~helene-verhaeghe27/cairo-dock-core/bugfix

« back to all changes in this revision

Viewing changes to src/gldit/cairo-dock-themes-manager.c

  • Committer: Fabrice Rey
  • Date: 2010-12-25 02:54:47 UTC
  • mto: This revision was merged to the branch mainline in revision 698.
  • Revision ID: fabounet03@gmail.com-20101225025447-nzn1l2o7qbkx5cag
theme-manager: added icons + improved GUI + added a config.h for gldi

Show diffs side-by-side

added added

removed removed

Lines of Context:
27
27
#include <glib/gstdio.h>
28
28
#include <glib/gi18n.h>
29
29
 
30
 
#include "../config.h"
 
30
#include "gldi-config.h"
31
31
#include "cairo-dock-config.h"
32
32
#include "cairo-dock-keyfile-utilities.h"
33
33
#include "cairo-dock-dock-manager.h"
42
42
#include "cairo-dock-themes-manager.h"
43
43
 
44
44
#define CAIRO_DOCK_MODIFIED_THEME_FILE ".cairo-dock-need-save"
45
 
#define CAIRO_DOCK_DISTANT_THEMES_DIR "themes2.2"
46
45
 
47
46
gchar *g_cCairoDockDataDir = NULL;  // le repertoire racine contenant tout.
48
47
gchar *g_cCurrentThemePath = NULL;  // le chemin vers le repertoire du theme courant.
55
54
gchar *g_cConfFile = NULL;  // le chemin du fichier de conf.
56
55
int g_iMajorVersion, g_iMinorVersion, g_iMicroVersion;  // version de la lib.
57
56
 
 
57
static gchar *s_cLocalThemeDirPath = NULL;
 
58
static gchar *s_cDistantThemeDirName = NULL;
 
59
 
58
60
extern CairoDock *g_pMainDock;
59
61
 
60
62
#define CAIRO_DOCK_LOCAL_EXTRAS_DIR "extras"
180
182
        g_free (cReadmeFile);
181
183
        g_free (cMessage);
182
184
        
 
185
        g_string_printf (sCommand, "rm -f \"%s/last-modif\"", cNewThemePath);
 
186
        r = system (sCommand->str);
 
187
        
183
188
        //\___________________ Le theme n'est plus en etat 'modifie'.
184
189
        g_free (cNewThemePath);
185
190
        if (bThemeSaved)
200
205
        
201
206
        cd_message ("building theme package ...");
202
207
        int r;
203
 
        if (g_file_test (CAIRO_DOCK_SHARE_DATA_DIR"/../../bin/cairo-dock-package-theme", G_FILE_TEST_EXISTS))
 
208
        if (g_file_test (GLDI_SHARE_DATA_DIR"/../../bin/cairo-dock-package-theme", G_FILE_TEST_EXISTS))
204
209
        {
205
210
                gchar *cCommand;
206
211
                const gchar *cTerm = g_getenv ("TERM");
310
315
        else  // c'est un theme officiel.
311
316
        {
312
317
                cd_debug ("c'est un theme officiel");
313
 
                cNewThemePath = cairo_dock_get_package_path (cNewThemeName, CAIRO_DOCK_SHARE_THEMES_DIR, g_cThemesDirPath, CAIRO_DOCK_DISTANT_THEMES_DIR, CAIRO_DOCK_ANY_PACKAGE);
 
318
                cNewThemePath = cairo_dock_get_package_path (cNewThemeName, s_cLocalThemeDirPath, g_cThemesDirPath, s_cDistantThemeDirName, CAIRO_DOCK_ANY_PACKAGE);
314
319
        }
315
320
        g_return_val_if_fail (cNewThemePath != NULL && g_file_test (cNewThemePath, G_FILE_TEST_EXISTS), FALSE);
316
321
        //g_print ("cNewThemePath : %s ; cNewThemeName : %s\n", cNewThemePath, cNewThemeName);
472
477
                g_free (cNewPlugInsDir);
473
478
        }
474
479
        
 
480
        g_string_printf (sCommand, "rm -f \"%s/last-modif\"", g_cCurrentThemePath);
 
481
        r = system (sCommand->str);
 
482
        
475
483
        // precaution probablement inutile.
476
484
        g_string_printf (sCommand, "chmod -R 777 \"%s\"", g_cCurrentThemePath);
477
485
        r = system (sCommand->str);
522
530
                        g_free (cDirPath);\
523
531
                        cDirPath = NULL; } }
524
532
 
525
 
void cairo_dock_set_paths (gchar *cRootDataDirPath, gchar *cExtraDirPath, gchar *cThemesDirPath, gchar *cCurrentThemeDirPath, gchar *cThemeServerAdress)
 
533
void cairo_dock_set_paths (gchar *cRootDataDirPath, gchar *cExtraDirPath, gchar *cThemesDirPath, gchar *cCurrentThemeDirPath, gchar *cLocalThemeDirPath, gchar *cDistantThemeDirName, gchar *cThemeServerAdress)
526
534
{
527
535
        //\___________________ On initialise les chemins de l'appli.
528
536
        g_cCairoDockDataDir = cRootDataDirPath;  // le repertoire racine contenant tout.
533
541
        _check_dir (g_cExtrasDirPath);
534
542
        g_cThemesDirPath = cThemesDirPath;  // le chemin vers le repertoire des themes.
535
543
        _check_dir (g_cThemesDirPath);
 
544
        s_cLocalThemeDirPath = cLocalThemeDirPath;
 
545
        s_cDistantThemeDirName = cDistantThemeDirName;  
536
546
        
537
547
        g_cCurrentLaunchersPath = g_strdup_printf ("%s/%s", g_cCurrentThemePath, CAIRO_DOCK_LAUNCHERS_DIR);
538
548
        _check_dir (g_cCurrentLaunchersPath);