Enable selecting sound from other theme.
SVN revision: 36685
This commit is contained in:
parent
7f03196ff8
commit
34d36d4d31
1
src/E.h
1
src/E.h
|
@ -516,6 +516,7 @@ void StartupWindowsCreate(void);
|
|||
void StartupWindowsOpen(void);
|
||||
|
||||
/* theme.c */
|
||||
char *ThemeFind(const char *theme);
|
||||
char *ThemePathName(const char *path);
|
||||
void ThemePathFind(void);
|
||||
char **ThemesList(int *num);
|
||||
|
|
14
src/config.c
14
src/config.c
|
@ -223,14 +223,14 @@ ConfigAlertLoad(const char *txt)
|
|||
}
|
||||
|
||||
static int
|
||||
ConfigFilePreparse(const char *path, const char *dest)
|
||||
ConfigFilePreparse(const char *src, const char *dst, const char *themepath)
|
||||
{
|
||||
char execline[FILEPATH_LEN_MAX];
|
||||
const char *epp_path = ENLIGHTENMENT_BIN "/epp";
|
||||
char *def_home, *def_user, *def_shell;
|
||||
|
||||
if (EDebug(EDBUG_TYPE_CONFIG))
|
||||
Eprintf("ConfigFilePreparse %s -> %s\n", path, dest);
|
||||
Eprintf("ConfigFilePreparse %s -> %s\n", src, dst);
|
||||
|
||||
def_home = homedir(getuid());
|
||||
def_user = username(getuid());
|
||||
|
@ -246,18 +246,18 @@ ConfigFilePreparse(const char *path, const char *dest)
|
|||
"-D SCREEN_DEPTH_%i=1 " "-D USER_NAME=%s " "-D HOME_DIR=%s "
|
||||
"-D USER_SHELL=%s " "-D ENLIGHTENMENT_VERSION_015=1 "
|
||||
"%s %s",
|
||||
epp_path, EDirRoot(), Mode.theme.path, EDirRoot(),
|
||||
epp_path, EDirRoot(), themepath, EDirRoot(),
|
||||
E_PKG_VERSION, EDirRoot(), EDirBin(),
|
||||
Mode.theme.path, EDirUser(), EDirUserCache(),
|
||||
themepath, EDirUser(), EDirUserCache(),
|
||||
WinGetW(VROOT), WinGetH(VROOT), WinGetW(VROOT), WinGetH(VROOT),
|
||||
WinGetDepth(VROOT), def_user, def_home, def_shell, path, dest);
|
||||
WinGetDepth(VROOT), def_user, def_home, def_shell, src, dst);
|
||||
system(execline);
|
||||
|
||||
Efree(def_user);
|
||||
Efree(def_shell);
|
||||
Efree(def_home);
|
||||
|
||||
return exists(dest) ? 0 : 1;
|
||||
return exists(dst) ? 0 : 1;
|
||||
}
|
||||
|
||||
/* Split the process of finding the file from the process of loading it */
|
||||
|
@ -493,7 +493,7 @@ ConfigFileFind(const char *name, const char *themepath, int pp)
|
|||
goto done;
|
||||
|
||||
/* No preparesd file or source is newer. Do preparsing. */
|
||||
err = ConfigFilePreparse(fullname, ppfile);
|
||||
err = ConfigFilePreparse(fullname, ppfile, themepath);
|
||||
if (err)
|
||||
{
|
||||
Efree(ppfile);
|
||||
|
|
17
src/sound.c
17
src/sound.c
|
@ -42,6 +42,12 @@ static struct {
|
|||
char *theme;
|
||||
} Conf_sound;
|
||||
|
||||
static struct {
|
||||
char *theme_path;
|
||||
} Mode_sound;
|
||||
|
||||
#define SOUND_THEME_PATH ((Mode_sound.theme_path) ? Mode_sound.theme_path : Mode.theme.path)
|
||||
|
||||
static Ecore_List *sound_list = NULL;
|
||||
|
||||
#if USE_MODULES
|
||||
|
@ -113,7 +119,7 @@ SclassApply(SoundClass * sclass)
|
|||
{
|
||||
char *file;
|
||||
|
||||
file = FindFile(sclass->file, Mode.theme.path);
|
||||
file = FindFile(sclass->file, SOUND_THEME_PATH);
|
||||
if (file)
|
||||
{
|
||||
sclass->sample = ops->SampleLoad(file);
|
||||
|
@ -205,6 +211,12 @@ SoundInit(void)
|
|||
"communicating with the audio server (Esound). Audio will\n"
|
||||
"now be disabled.\n"));
|
||||
}
|
||||
|
||||
Efree(Mode_sound.theme_path);
|
||||
if (Conf_sound.theme)
|
||||
Mode_sound.theme_path = ThemeFind(Conf_sound.theme);
|
||||
else
|
||||
Mode_sound.theme_path = NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -264,10 +276,11 @@ SoundSighan(int sig, void *prm __UNUSED__)
|
|||
switch (sig)
|
||||
{
|
||||
case ESIGNAL_INIT:
|
||||
memset(&Mode_sound, 0, sizeof(Mode_sound));
|
||||
SoundInit();
|
||||
break;
|
||||
case ESIGNAL_CONFIGURE:
|
||||
ConfigFileLoad("sound.cfg", Mode.theme.path, SoundConfigLoad, 1);
|
||||
ConfigFileLoad("sound.cfg", SOUND_THEME_PATH, SoundConfigLoad, 1);
|
||||
break;
|
||||
case ESIGNAL_START:
|
||||
if (!Conf_sound.enable)
|
||||
|
|
|
@ -260,7 +260,7 @@ ThemeExtract(const char *path)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
static char *
|
||||
char *
|
||||
ThemeFind(const char *theme)
|
||||
{
|
||||
static const char *const default_themes[] = {
|
||||
|
|
Loading…
Reference in New Issue