Forráskód Böngészése

Merge pull request #525 from bgrabitmap/dev-lazpaint

Dev lazpaint
circular17 3 éve
szülő
commit
8567499d67

+ 7 - 0
debian/changelog

@@ -1,3 +1,10 @@
+lazpaint (7.2.1-1) unstable; urgency=medium
+
+  * new upstream version
+  * d/control: update description with new features
+
+ -- Johann ELSASS <[email protected]>  Mon, 22 Aug 2022 16:02:00 +0100
+
 lazpaint (7.1.6-1) unstable; urgency=medium
 lazpaint (7.1.6-1) unstable; urgency=medium
 
 
   * new upstream version
   * new upstream version

+ 3 - 3
debian/control

@@ -1,7 +1,7 @@
 Source: lazpaint
 Source: lazpaint
 Section: graphics
 Section: graphics
 Priority: optional
 Priority: optional
-Maintainer: Johann ELSASS <circular@operamail.com>
+Maintainer: Johann ELSASS <circular@fastmail.com>
 Uploaders: Gürkan Myczko <[email protected]>
 Uploaders: Gürkan Myczko <[email protected]>
 Build-Depends: fpc, lcl, lazarus, libqt5pas-dev, debhelper-compat (= 13)
 Build-Depends: fpc, lcl, lazarus, libqt5pas-dev, debhelper-compat (= 13)
 Rules-Requires-Root: no
 Rules-Requires-Root: no
@@ -16,7 +16,7 @@ Depends: ${misc:Depends}, ${shlibs:Depends}
 Conflicts: lazpaint, lazpaint-gtk3, lazpaint-qt4, lazpaint-qt5
 Conflicts: lazpaint, lazpaint-gtk3, lazpaint-qt4, lazpaint-qt5
 Description: Image editor with raster and vector layers (gtk2)
 Description: Image editor with raster and vector layers (gtk2)
  Can read layered files (lzp, ora, pdn, oXo, flat psd), multi-images (gif,
  Can read layered files (lzp, ora, pdn, oXo, flat psd), multi-images (gif,
- ico, tiff), flat files (bmp, jpeg, pcx, png, tga, webp, xpm, xwd),
+ ico, tiff), flat files (avif, bmp, jpeg, pcx, png, tga, webp, xpm, xwd),
  raw images (dng, cr2, nef, arw...), vectorial (svg), 3D (obj). Has drawing
  raw images (dng, cr2, nef, arw...), vectorial (svg), 3D (obj). Has drawing
  tools, vector shapes, phong shading, curve adjustments, filters, render
  tools, vector shapes, phong shading, curve adjustments, filters, render
  some textures, Python scripting.
  some textures, Python scripting.
@@ -28,7 +28,7 @@ Architecture: any
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Description: Image editor with raster and  vector layers (qt5)
 Description: Image editor with raster and  vector layers (qt5)
  Can read layered files (lzp, ora, pdn, oXo, flat psd), multi-images (gif,
  Can read layered files (lzp, ora, pdn, oXo, flat psd), multi-images (gif,
- ico, tiff), flat files (bmp, jpeg, pcx, png, tga, webp, xpm, xwd),
+ ico, tiff), flat files (avif, bmp, jpeg, pcx, png, tga, webp, xpm, xwd),
  raw images (dng, cr2, nef, arw...), vectorial (svg), 3D (obj). Has drawing
  raw images (dng, cr2, nef, arw...), vectorial (svg), 3D (obj). Has drawing
  tools, vector shapes, phong shading, curve adjustments, filters, render
  tools, vector shapes, phong shading, curve adjustments, filters, render
  some textures, Python scripting.
  some textures, Python scripting.

+ 1 - 1
lazpaint/release/debian/applications/lazpaint.desktop

@@ -4,7 +4,7 @@ Name[fr]=LazPaint
 Comment=LazPaint
 Comment=LazPaint
 Comment[fr]=LazPaint
 Comment[fr]=LazPaint
 Icon=lazpaint
 Icon=lazpaint
-Exec=lazpaint
+Exec=lazpaint %f
 Terminal=false
 Terminal=false
 Type=Application
 Type=Application
 Categories=Graphics
 Categories=Graphics

+ 2 - 0
lazpaint/release/windows/lazpaint.iss

@@ -113,6 +113,8 @@ Source: "{#ReleaseDir}readme.txt"; DestDir: "{app}"; Flags: ignoreversion
 Source: "{#ScriptsDir}*"; DestDir: "{app}\scripts"; Flags: ignoreversion; Excludes: "\__pycache__\*";  
 Source: "{#ScriptsDir}*"; DestDir: "{app}\scripts"; Flags: ignoreversion; Excludes: "\__pycache__\*";  
 Source: "{#ScriptsDir}\lazpaint\*"; DestDir: "{app}\scripts\lazpaint"; Flags: ignoreversion; Excludes: "\__pycache__\*";  
 Source: "{#ScriptsDir}\lazpaint\*"; DestDir: "{app}\scripts\lazpaint"; Flags: ignoreversion; Excludes: "\__pycache__\*";  
 Source: "{#ScriptsDir}\test\*"; DestDir: "{app}\scripts\test"; Flags: ignoreversion; Excludes: "\__pycache__\*";  
 Source: "{#ScriptsDir}\test\*"; DestDir: "{app}\scripts\test"; Flags: ignoreversion; Excludes: "\__pycache__\*";  
+Source: "libavif\win32\*"; DestDir: "{app}"; Flags: ignoreversion; Check: not Is64BitInstallMode
+Source: "libavif\win64\*"; DestDir: "{app}"; Flags: ignoreversion; Check: Is64BitInstallMode
 
 
 [Icons]
 [Icons]
 Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Comment: "LazPaint"
 Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Comment: "LazPaint"

+ 2 - 0
lazpaint/release/windows/stage.bat

@@ -24,6 +24,7 @@ if not exist lazpaint32 mkdir lazpaint32
 copy ..\bin\lazpaint32.exe lazpaint32\lazpaint.exe >nul
 copy ..\bin\lazpaint32.exe lazpaint32\lazpaint.exe >nul
 copy dcraw\dcraw32.exe lazpaint32\dcraw.exe >nul
 copy dcraw\dcraw32.exe lazpaint32\dcraw.exe >nul
 copy libwebp\libwebp32.dll lazpaint32 >nul
 copy libwebp\libwebp32.dll lazpaint32 >nul
+if exist libavif\win32 copy libavif\win32\*.dll lazpaint32 >nul
 copy ..\bin\readme.txt lazpaint32 >nul
 copy ..\bin\readme.txt lazpaint32 >nul
 copy ..\bin\*.ini lazpaint32 >nul
 copy ..\bin\*.ini lazpaint32 >nul
 if not exist lazpaint32\i18n mkdir lazpaint32\i18n
 if not exist lazpaint32\i18n mkdir lazpaint32\i18n
@@ -47,6 +48,7 @@ if not exist lazpaint64 mkdir lazpaint64
 copy ..\bin\lazpaint64.exe lazpaint64\lazpaint.exe >nul
 copy ..\bin\lazpaint64.exe lazpaint64\lazpaint.exe >nul
 copy dcraw\dcraw64.exe lazpaint64\dcraw.exe >nul
 copy dcraw\dcraw64.exe lazpaint64\dcraw.exe >nul
 copy libwebp\libwebp64.dll lazpaint64 >nul
 copy libwebp\libwebp64.dll lazpaint64 >nul
+if exist libavif\win64 copy libavif\win64\*.dll lazpaint64 >nul
 copy ..\bin\readme.txt lazpaint64 >nul
 copy ..\bin\readme.txt lazpaint64 >nul
 copy ..\bin\*.ini lazpaint64 >nul
 copy ..\bin\*.ini lazpaint64 >nul
 if not exist lazpaint64\i18n mkdir lazpaint64\i18n
 if not exist lazpaint64\i18n mkdir lazpaint64\i18n

+ 11 - 4
lazpaint/ufilesystem.pas

@@ -6,7 +6,8 @@ unit UFileSystem;
 interface
 interface
 
 
 uses
 uses
-  Classes, SysUtils, UResourceStrings, LazUTF8, Forms, BGRAMultiFileType, ShellCtrls, fgl, Masks;
+  Classes, SysUtils, UResourceStrings, LazUTF8, Forms, BGRAMultiFileType,
+  ShellCtrls, fgl, Masks, LCLVersion;
 
 
 type
 type
   TDeleteConfirmationFunction = function(AForm: TForm; const AFiles: array of string; AContained: boolean): boolean of object;
   TDeleteConfirmationFunction = function(AForm: TForm; const AFiles: array of string; AContained: boolean): boolean of object;
@@ -1006,7 +1007,13 @@ begin
   end;
   end;
 end;
 end;
 
 
-{$i getfilesindir.inc}
+{$IF (LCL_FULLVERSION>=2020000)}
+  {$DEFINE CUSTOM_GETFILESINDIR}
+{$ENDIF}
+
+{$IFDEF CUSTOM_GETFILESINDIR}
+  {$i getfilesindir.inc}
+{$ENDIF}
 
 
 procedure TFileManager.GetDirectoryElements(const ABaseDir: string; AMask: string;
 procedure TFileManager.GetDirectoryElements(const ABaseDir: string; AMask: string;
   AObjectTypes: TObjectTypes; AResult: TFileInfoList; AFileSortType: TFileSortType);
   AObjectTypes: TObjectTypes; AResult: TFileInfoList; AFileSortType: TFileSortType);
@@ -1057,7 +1064,7 @@ begin
   begin
   begin
     temp := TStringList.Create;
     temp := TStringList.Create;
     temp.OwnsObjects := true;
     temp.OwnsObjects := true;
-    GetFilesInDir(ABaseDir,AMask,AObjectTypes,temp,fstNone);
+    {$IFNDEF CUSTOM_GETFILESINDIR}TCustomShellTreeView.{$ENDIF}GetFilesInDir(ABaseDir,AMask,AObjectTypes,temp,fstNone);
     for i := 0 to temp.Count-1 do
     for i := 0 to temp.Count-1 do
     begin
     begin
       fullname := IncludeTrailingPathDelimiter(ABaseDir)+temp[i];
       fullname := IncludeTrailingPathDelimiter(ABaseDir)+temp[i];
@@ -1089,7 +1096,7 @@ begin
     if otFolders in AObjectTypes then
     if otFolders in AObjectTypes then
     begin
     begin
       temp.Clear;
       temp.Clear;
-      GetFilesInDir(ABaseDir,'*.res;*.Res;*.RES;*.lrs;*.Lrs;*.LRS',[otNonFolders],temp,fstNone);
+      {$IFNDEF CUSTOM_GETFILESINDIR}TCustomShellTreeView.{$ENDIF}GetFilesInDir(ABaseDir,'*.res;*.Res;*.RES;*.lrs;*.Lrs;*.LRS',[otNonFolders],temp,fstNone);
       for i := 0 to temp.Count-1 do
       for i := 0 to temp.Count-1 do
       begin
       begin
         fullname := IncludeTrailingPathDelimiter(ABaseDir)+temp[i];
         fullname := IncludeTrailingPathDelimiter(ABaseDir)+temp[i];