mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-21 09:58:13 +00:00
ADD: SevenZip - install plugin under Linux (experimental)
This commit is contained in:
parent
22a8fdb239
commit
bc9d0074d2
4 changed files with 52 additions and 30 deletions
|
|
@ -52,6 +52,7 @@ mkdir -p $DC_INSTALL_DIR/plugins/wcx/deb
|
|||
mkdir -p $DC_INSTALL_DIR/plugins/wcx/rpm
|
||||
mkdir -p $DC_INSTALL_DIR/plugins/wcx/unrar
|
||||
mkdir -p $DC_INSTALL_DIR/plugins/wcx/zip
|
||||
mkdir -p $DC_INSTALL_DIR/plugins/wcx/sevenzip
|
||||
# WDX plugins directories
|
||||
mkdir -p $DC_INSTALL_DIR/plugins/wdx
|
||||
mkdir -p $DC_INSTALL_DIR/plugins/wdx/scripts
|
||||
|
|
@ -88,6 +89,8 @@ cp -r plugins/wcx/unrar/language $DC_INSTALL_DIR/plugins/wcx/
|
|||
install -m 644 plugins/wcx/unrar/unrar.wcx $DC_INSTALL_DIR/plugins/wcx/unrar/
|
||||
cp -r plugins/wcx/zip/language $DC_INSTALL_DIR/plugins/wcx/zip
|
||||
install -m 644 plugins/wcx/zip/zip.wcx $DC_INSTALL_DIR/plugins/wcx/zip/
|
||||
cp -r plugins/wcx/sevenzip/language $DC_INSTALL_DIR/plugins/wcx/sevenzip
|
||||
install -m 644 plugins/wcx/sevenzip/sevenzip.wcx $DC_INSTALL_DIR/plugins/wcx/sevenzip/
|
||||
# WDX
|
||||
install -m 644 plugins/wdx/rpm_wdx/rpm_wdx.wdx $DC_INSTALL_DIR/plugins/wdx/rpm_wdx/
|
||||
install -m 644 plugins/wdx/deb_wdx/deb_wdx.wdx $DC_INSTALL_DIR/plugins/wdx/deb_wdx/
|
||||
|
|
|
|||
|
|
@ -19,6 +19,12 @@ $lazbuild wcx/rpm/src/rpm.lpi $DC_ARCH
|
|||
$lazbuild wcx/unrar/src/unrar.lpi $DC_ARCH
|
||||
$lazbuild wcx/zip/src/Zip.lpi $DC_ARCH
|
||||
|
||||
if [ -n $(uname | grep Linux) ]; then
|
||||
|
||||
$lazbuild wcx/sevenzip/src/SevenZipWcx.lpi $DC_ARCH
|
||||
|
||||
fi
|
||||
|
||||
# WDX plugins
|
||||
$lazbuild wdx/rpm_wdx/src/rpm_wdx.lpi $DC_ARCH
|
||||
$lazbuild wdx/deb_wdx/src/deb_wdx.lpi $DC_ARCH
|
||||
|
|
|
|||
|
|
@ -89,6 +89,10 @@ uses
|
|||
DCOSUtils, DCClassesUtf8, uGlobs, uLng, uDCUtils;
|
||||
|
||||
procedure UpdatePlugins;
|
||||
{$IF DEFINED(MSWINDOWS) or DEFINED(LINUX)}
|
||||
const
|
||||
Z7ip = {$IFDEF MSWINDOWS}True{$ELSE}False{$ENDIF};
|
||||
{$ENDIF}
|
||||
var
|
||||
I: Integer;
|
||||
Folder: String;
|
||||
|
|
@ -106,10 +110,10 @@ begin
|
|||
if I < 0 then
|
||||
gWCXPlugins.Add('jar', 990, Folder + 'zip' + PathDelim + 'zip.wcx');
|
||||
|
||||
{$IF DEFINED(MSWINDOWS)}
|
||||
{$IF DEFINED(MSWINDOWS) or DEFINED(LINUX)}
|
||||
I:= gWCXPlugins.IndexOfName('7z');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('7z', 607, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
gWCXPlugins.Add('7z', 607, Z7ip, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
{$ENDIF}
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('tar');
|
||||
|
|
@ -203,70 +207,6 @@ begin
|
|||
// For deb used another plugin, so update path too
|
||||
gWCXPlugins.FileName[I]:= Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx';
|
||||
end;
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('arj');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('arj', 4, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('cab');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('cab', 4, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('cramfs');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('cramfs', 4, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('dmg');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('dmg', 4, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('fat');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('fat', 4, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('hfs');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('hfs', 4, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('iso');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('iso', 4, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('lha');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('lha', 4, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('lzh');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('lzh', 4, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('ntfs');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('ntfs', 4, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('squashfs');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('squashfs', 4, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('taz');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('taz', 4, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('vhd');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('vhd', 4, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('wim');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('wim', 85, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('xar');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('xar', 4, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('z');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('z', 4, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
{$ELSE}
|
||||
I:= gWCXPlugins.IndexOfName('cpio');
|
||||
if I < 0 then
|
||||
|
|
@ -281,6 +221,72 @@ begin
|
|||
gWCXPlugins.Flags[I]:= 4;
|
||||
{$ENDIF}
|
||||
|
||||
{$IF DEFINED(MSWINDOWS) or DEFINED(LINUX)}
|
||||
I:= gWCXPlugins.IndexOfName('arj');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('arj', 4, Z7ip, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('cab');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('cab', 4, Z7ip, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('cramfs');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('cramfs', 4, Z7ip, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('dmg');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('dmg', 4, Z7ip, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('fat');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('fat', 4, Z7ip, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('hfs');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('hfs', 4, Z7ip, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('iso');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('iso', 4, Z7ip, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('lha');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('lha', 4, Z7ip, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('lzh');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('lzh', 4, Z7ip, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('ntfs');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('ntfs', 4, Z7ip, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('squashfs');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('squashfs', 4, Z7ip, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('taz');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('taz', 4, Z7ip, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('vhd');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('vhd', 4, Z7ip, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('wim');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('wim', 85, Z7ip, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('xar');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('xar', 4, Z7ip, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('z');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('z', 4, Z7ip, Folder + 'sevenzip' + PathDelim + 'sevenzip.wcx');
|
||||
{$ENDIF}
|
||||
|
||||
I:= gWCXPlugins.IndexOfName('rpm');
|
||||
if I < 0 then
|
||||
gWCXPlugins.Add('rpm', 4, Folder + 'rpm' + PathDelim + 'rpm.wcx')
|
||||
|
|
|
|||
|
|
@ -176,6 +176,7 @@ Type
|
|||
procedure Save(AConfig: TXmlConfig; ANode: TXmlNode);
|
||||
function ComputeSignature(seed: dword): dword;
|
||||
function Add(Ext: String; Flags: PtrInt; FileName: String): Integer; reintroduce;
|
||||
function Add(Ext: String; Flags: PtrInt; AEnabled: Boolean; FileName: String): Integer; reintroduce;
|
||||
function FindFirstEnabledByName(Name: String): Integer;
|
||||
function Find(const aFileName, aExt: String): Integer; overload;
|
||||
function LoadModule(const FileName: String): TWcxModule;
|
||||
|
|
@ -762,6 +763,12 @@ begin
|
|||
Result:= AddObject(Ext + '=' + IntToStr(Flags) + #44 + FileName, TObject(True));
|
||||
end;
|
||||
|
||||
function TWCXModuleList.Add(Ext: String; Flags: PtrInt; AEnabled: Boolean;
|
||||
FileName: String): Integer;
|
||||
begin
|
||||
Result:= AddObject(Ext + '=' + IntToStr(Flags) + #44 + FileName, TObject(UIntPtr(AEnabled)));
|
||||
end;
|
||||
|
||||
function TWCXModuleList.FindFirstEnabledByName(Name: String): Integer;
|
||||
begin
|
||||
Result:=0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue