mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-21 09:58:13 +00:00
ADD: Feature [0001344] Separate UseConfigInProgramDir from all other settings
This commit is contained in:
parent
5acd8f58be
commit
91d151a91c
9 changed files with 41 additions and 140 deletions
|
|
@ -62,7 +62,7 @@ rem Move created package
|
|||
move release\*.exe %PACK_DIR%
|
||||
|
||||
rem Create *.zip package
|
||||
patch doublecmd/doublecmd.xml portable.diff
|
||||
copy NUL doublecmd\doublecmd.inf
|
||||
zip -9 -Dr %PACK_DIR%\doublecmd-%DC_VER%.%CPU_TARGET%-%OS_TARGET%.zip doublecmd
|
||||
|
||||
rem Create help packages
|
||||
|
|
|
|||
|
|
@ -1,42 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<doublecmd DCVersion="0.0.0" ConfigVersion="5">
|
||||
<Configuration Save="True">
|
||||
<UseConfigInProgramDir>False</UseConfigInProgramDir>
|
||||
</Configuration>
|
||||
<Behaviours>
|
||||
<ListFilesInThread>False</ListFilesInThread>
|
||||
<LoadIconsSeparately>True</LoadIconsSeparately>
|
||||
</Behaviours>
|
||||
<Colors>
|
||||
<FileFilters>
|
||||
<Filter>
|
||||
<Name>Pascal sources</Name>
|
||||
<FileMasks>*.pas;*.pp</FileMasks>
|
||||
<Color>32768</Color>
|
||||
<Attributes/>
|
||||
</Filter>
|
||||
<Filter>
|
||||
<Name>Pascal binaries</Name>
|
||||
<FileMasks>*.ppu;*.o;*.dcu</FileMasks>
|
||||
<Color>16711680</Color>
|
||||
<Attributes/>
|
||||
</Filter>
|
||||
<Filter>
|
||||
<Name>Specified Executables</Name>
|
||||
<FileMasks>*</FileMasks>
|
||||
<Color>55758</Color>
|
||||
<Attributes>-rwxrwxr*x</Attributes>
|
||||
</Filter>
|
||||
<Filter>
|
||||
<Name>Executables</Name>
|
||||
<FileMasks>*</FileMasks>
|
||||
<Color>32768</Color>
|
||||
<Attributes>-*x*</Attributes>
|
||||
</Filter>
|
||||
</FileFilters>
|
||||
</Colors>
|
||||
<Icons>
|
||||
<Size>32</Size>
|
||||
<ShowOverlays>True</ShowOverlays>
|
||||
</Icons>
|
||||
</doublecmd>
|
||||
|
|
@ -33,7 +33,6 @@ mkdir -p $DC_INSTALL_DIR/plugins/wfx/ftp
|
|||
cp -r doublecmd.app/* $DC_APP_DIR/
|
||||
cp -a doublecmd $DC_INSTALL_DIR/
|
||||
cp -a doublecmd.zdli $DC_INSTALL_DIR/
|
||||
cp -a install/darwin/doublecmd.xml $DC_INSTALL_DIR/
|
||||
cp -a doublecmd.ext.example $DC_INSTALL_DIR/
|
||||
cp -a pixmaps.txt $DC_INSTALL_DIR/
|
||||
cp -a multiarc.ini $DC_INSTALL_DIR/
|
||||
|
|
|
|||
|
|
@ -1,43 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<doublecmd DCVersion="0.0.0" ConfigVersion="5">
|
||||
<Configuration Save="True">
|
||||
<UseConfigInProgramDir>False</UseConfigInProgramDir>
|
||||
</Configuration>
|
||||
<Colors>
|
||||
<FileFilters>
|
||||
<Filter>
|
||||
<Name>Pascal sources</Name>
|
||||
<FileMasks>*.pas;*.pp</FileMasks>
|
||||
<Color>32768</Color>
|
||||
<Attributes/>
|
||||
</Filter>
|
||||
<Filter>
|
||||
<Name>Pascal binaries</Name>
|
||||
<FileMasks>*.ppu;*.o;*.dcu</FileMasks>
|
||||
<Color>16711680</Color>
|
||||
<Attributes/>
|
||||
</Filter>
|
||||
<Filter>
|
||||
<Name>Specified Executables</Name>
|
||||
<FileMasks>*</FileMasks>
|
||||
<Color>55758</Color>
|
||||
<Attributes>-rwxrwxr*x</Attributes>
|
||||
</Filter>
|
||||
<Filter>
|
||||
<Name>Executables</Name>
|
||||
<FileMasks>*</FileMasks>
|
||||
<Color>32768</Color>
|
||||
<Attributes>-*x*</Attributes>
|
||||
</Filter>
|
||||
</FileFilters>
|
||||
</Colors>
|
||||
<Plugins>
|
||||
<WlxPlugins>
|
||||
<WlxPlugin>
|
||||
<Name>wlxMplayer</Name>
|
||||
<Path>%commander_path%/plugins/wlx/wlxmplayer/wlxmplayer.wlx</Path>
|
||||
<DetectString>(EXT="MPG")|(EXT="AVI")|(EXT="MPEG")|(EXT="FLV")</DetectString>
|
||||
</WlxPlugin>
|
||||
</WlxPlugins>
|
||||
</Plugins>
|
||||
</doublecmd>
|
||||
|
|
@ -71,7 +71,6 @@ mkdir -p $DC_INSTALL_DIR/plugins/dsx/dsxlocate
|
|||
# Copy files
|
||||
cp -a doublecmd $DC_INSTALL_DIR/
|
||||
cp -a doublecmd.zdli $DC_INSTALL_DIR/
|
||||
cp -a install/linux/doublecmd.xml $DC_INSTALL_DIR/
|
||||
cp -a doublecmd.ext.example $DC_INSTALL_DIR/
|
||||
cp -a pixmaps.txt $DC_INSTALL_DIR/
|
||||
cp -a multiarc.ini $DC_INSTALL_DIR/
|
||||
|
|
@ -138,6 +137,8 @@ if [ -z $CK_PORTABLE ]
|
|||
install -d $DC_INSTALL_PREFIX/usr/share/polkit-1/actions
|
||||
install -m 644 install/linux/org.doublecmd.root.policy $DC_INSTALL_PREFIX/usr/share/polkit-1/actions/
|
||||
else
|
||||
# Mark as portable version
|
||||
touch $DC_INSTALL_DIR/doublecmd.inf
|
||||
# Copy documentation
|
||||
mkdir -p $DC_INSTALL_DIR/doc
|
||||
cp -a doc/*.txt $DC_INSTALL_DIR/doc/
|
||||
|
|
|
|||
|
|
@ -1,22 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<doublecmd DCVersion="0.0.0" ConfigVersion="5">
|
||||
<Configuration Save="True">
|
||||
<UseConfigInProgramDir>False</UseConfigInProgramDir>
|
||||
</Configuration>
|
||||
<Colors>
|
||||
<FileFilters>
|
||||
<Filter>
|
||||
<Name>Pascal sources</Name>
|
||||
<FileMasks>*.pas;*.pp</FileMasks>
|
||||
<Color>32768</Color>
|
||||
<Attributes/>
|
||||
</Filter>
|
||||
<Filter>
|
||||
<Name>Pascal binaries</Name>
|
||||
<FileMasks>*.ppu;*.o;*.dcu</FileMasks>
|
||||
<Color>16711680</Color>
|
||||
<Attributes/>
|
||||
</Filter>
|
||||
</FileFilters>
|
||||
</Colors>
|
||||
</doublecmd>
|
||||
|
|
@ -32,7 +32,6 @@ rem Copy files
|
|||
copy doc\*.txt %DC_INSTALL_DIR%\doc\
|
||||
copy doublecmd.exe %DC_INSTALL_DIR%\
|
||||
copy doublecmd.zdli %DC_INSTALL_DIR%\
|
||||
copy install\windows\doublecmd.xml %DC_INSTALL_DIR%\
|
||||
copy doublecmd.ext.example %DC_INSTALL_DIR%\
|
||||
copy pixmaps.txt %DC_INSTALL_DIR%\
|
||||
copy multiarc.ini %DC_INSTALL_DIR%\
|
||||
|
|
|
|||
|
|
@ -1,4 +0,0 @@
|
|||
4c4
|
||||
< <UseConfigInProgramDir>False</UseConfigInProgramDir>
|
||||
---
|
||||
> <UseConfigInProgramDir>True</UseConfigInProgramDir>
|
||||
|
|
@ -1869,34 +1869,41 @@ begin
|
|||
Exit(True);
|
||||
|
||||
// Check global directory for XML config.
|
||||
if (gpCmdLineCfgDir = EmptyStr) and
|
||||
mbFileExists(gpGlobalCfgDir + 'doublecmd.xml') then
|
||||
if (gpCmdLineCfgDir = EmptyStr) then
|
||||
begin
|
||||
gConfig := TXmlConfig.Create(gpGlobalCfgDir + 'doublecmd.xml');
|
||||
gUseConfigInProgramDir := True;
|
||||
if mbFileAccess(gpGlobalCfgDir + 'doublecmd.xml', fmOpenRead or fmShareDenyWrite) then
|
||||
gUseConfigInProgramDir:= mbFileExists(gpGlobalCfgDir + 'doublecmd.inf');
|
||||
|
||||
if gUseConfigInProgramDir or mbFileExists(gpGlobalCfgDir + 'doublecmd.xml') then
|
||||
begin
|
||||
LoadConfigCheckErrors(@LoadGlobalConfig, gpGlobalCfgDir + 'doublecmd.xml', ErrorMessage);
|
||||
gUseConfigInProgramDir := gConfig.GetValue(gConfig.RootNode, 'Configuration/UseConfigInProgramDir', False);
|
||||
if not gUseConfigInProgramDir then
|
||||
gConfig := TXmlConfig.Create(gpGlobalCfgDir + 'doublecmd.xml');
|
||||
if mbFileExists(gpGlobalCfgDir + 'doublecmd.xml') then
|
||||
begin
|
||||
if mbFileExists(gpCfgDir + 'doublecmd.xml') then
|
||||
// Close global config so that the local config is opened below.
|
||||
FreeAndNil(gConfig)
|
||||
if mbFileAccess(gpGlobalCfgDir + 'doublecmd.xml', fmOpenRead or fmShareDenyWrite) then
|
||||
begin
|
||||
LoadConfigCheckErrors(@LoadGlobalConfig, gpGlobalCfgDir + 'doublecmd.xml', ErrorMessage);
|
||||
gConfig.TryGetValue(gConfig.RootNode, 'Configuration/UseConfigInProgramDir', gUseConfigInProgramDir);
|
||||
|
||||
if not gUseConfigInProgramDir then
|
||||
begin
|
||||
if mbFileExists(gpCfgDir + 'doublecmd.xml') then
|
||||
// Close global config so that the local config is opened below.
|
||||
FreeAndNil(gConfig)
|
||||
else
|
||||
// Local config is used but it doesn't exist. Use global config that has just
|
||||
// been read but set file name accordingly and later save to local config.
|
||||
gConfig.FileName := gpCfgDir + 'doublecmd.xml';
|
||||
end;
|
||||
end
|
||||
else
|
||||
// Local config is used but it doesn't exist. Use global config that has just
|
||||
// been read but set file name accordingly and later save to local config.
|
||||
gConfig.FileName := gpCfgDir + 'doublecmd.xml';
|
||||
begin
|
||||
// Configuration file is not readable.
|
||||
AddStrWithSep(ErrorMessage,
|
||||
'Config file "' + gpGlobalCfgDir + 'doublecmd.xml' +
|
||||
'" exists but is not readable.',
|
||||
LineEnding);
|
||||
Exit(False);
|
||||
end;
|
||||
end;
|
||||
end
|
||||
else
|
||||
begin
|
||||
// Configuration file is not readable.
|
||||
AddStrWithSep(ErrorMessage,
|
||||
'Config file "' + gpGlobalCfgDir + 'doublecmd.xml' +
|
||||
'" exists but is not readable.',
|
||||
LineEnding);
|
||||
Exit(False);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
|
@ -2064,18 +2071,24 @@ begin
|
|||
(gpCmdLineCfgDir = EmptyStr) then
|
||||
begin
|
||||
LoadPaths;
|
||||
|
||||
if gUseConfigInProgramDirNew then
|
||||
begin
|
||||
gpCfgDir := gpGlobalCfgDir;
|
||||
UpdateEnvironmentVariable;
|
||||
FileClose(mbFileCreate(gpGlobalCfgDir + 'doublecmd.inf'));
|
||||
end
|
||||
else begin
|
||||
if mbFileExists(gpGlobalCfgDir + 'doublecmd.inf') then
|
||||
mbDeleteFile(gpGlobalCfgDir + 'doublecmd.inf')
|
||||
end;
|
||||
|
||||
{ Save location of configuration files }
|
||||
{ Remove location of configuration files from XML}
|
||||
if mbFileAccess(gpGlobalCfgDir + 'doublecmd.xml', fmOpenWrite or fmShareDenyWrite) then
|
||||
begin
|
||||
TmpConfig := TXmlConfig.Create(gpGlobalCfgDir + 'doublecmd.xml', True);
|
||||
try
|
||||
TmpConfig.SetValue(TmpConfig.RootNode, 'Configuration/UseConfigInProgramDir', gUseConfigInProgramDirNew);
|
||||
TmpConfig.DeleteNode(TmpConfig.RootNode, 'Configuration/UseConfigInProgramDir');
|
||||
TmpConfig.Save;
|
||||
finally
|
||||
TmpConfig.Free;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue