Browse Source

Merge pull request #572 from bgrabitmap/master

keep dev up-to-date
circular17 1 year ago
parent
commit
6839fb7e7b

+ 2 - 1
.gitignore

@@ -36,4 +36,5 @@ lazpaint/release/debian/lazpaint*_no_install.tar.gz
 lazpaint/release/windows/lazpaint*_no_install.zip
 lazpaint/release/windows/lazpaint*_no_install.zip
 /web/public/*
 /web/public/*
 lazpaint/release/bin/i18n/lazpaint64.pot
 lazpaint/release/bin/i18n/lazpaint64.pot
-lazpaint/release/windows/libavif/
+lazpaint/release/windows/libavif/
+web/.hugo_build.lock

+ 1 - 1
Makefile

@@ -170,7 +170,7 @@ ifeq "$(lazdir)" ""
 else
 else
 	$(COPY) "resources/lazpaint.res" "lazpaint/lazpaint.res"
 	$(COPY) "resources/lazpaint.res" "lazpaint/lazpaint.res"
 	$(CREATEDIR) "lazpaint/release/lib"
 	$(CREATEDIR) "lazpaint/release/lib"
-	cd lazpaint $(THEN) $(fpcbin) -orelease/lazpaint -Fu./buttons -Fi./buttons -Fu./image -Fi./image -Fu./cursors -Fi./cursors -Fu./buttons -Fi./buttons -Fu./* -Fi./* -Fu../$(BGRACONTROLS_DIR) -Fi../$(BGRACONTROLS_DIR) -Fu../$(BGRABITMAP_DIR) -Fi../$(BGRABITMAP_DIR) $(LAZARUSDIRECTORIES) -MObjFPC -Scgi -Cg -OoREGVAR -Xs -XX -l -vewnhibq -O3 -CX -vi -FUrelease/lib/ -dLCL -d$(INTERFACE) lazpaint.lpr
+	cd lazpaint $(THEN) $(fpcbin) -B -orelease/lazpaint -Fu./buttons -Fi./buttons -Fu./image -Fi./image -Fu./cursors -Fi./cursors -Fu./buttons -Fi./buttons -Fu./* -Fi./* -Fu../$(BGRACONTROLS_DIR) -Fi../$(BGRACONTROLS_DIR) -Fu../$(BGRABITMAP_DIR) -Fi../$(BGRABITMAP_DIR) $(LAZARUSDIRECTORIES) -MObjFPC -Scgi -Cg -OoREGVAR -Xs -XX -l -vewnhibq -O1 -CX -vi -FUrelease/lib/ -dLCL -d$(INTERFACE) lazpaint.lpr
 endif
 endif
 ifeq ($(MULTIBIN),1)
 ifeq ($(MULTIBIN),1)
 	mv "$(SOURCE_BIN_DIR)/lazpaint" "$(SOURCE_BIN_DIR)/$(package)"
 	mv "$(SOURCE_BIN_DIR)/lazpaint" "$(SOURCE_BIN_DIR)/$(package)"

+ 27 - 3
README.md

@@ -50,11 +50,17 @@ Right mouse button can be used to:
 Many common actions can be done with the toolbar. Zoom can be changed with the magnifying glass (+ or -), or by clicking on the 1:1 button to show the image at its original size in pixels, or with the zoom fit button to set the zoom so that the whole image be within the window.
 Many common actions can be done with the toolbar. Zoom can be changed with the magnifying glass (+ or -), or by clicking on the 1:1 button to show the image at its original size in pixels, or with the zoom fit button to set the zoom so that the whole image be within the window.
 It is possible to undo/redo the 200 last operations. If you have a doubt on what you are drawing, undo back to the beginning, save a copy, and redo the modifications before going further.
 It is possible to undo/redo the 200 last operations. If you have a doubt on what you are drawing, undo back to the beginning, save a copy, and redo the modifications before going further.
 
 
+Dark theme is supported.
+
 # Image manipulation
 # Image manipulation
-An image can be resampled, flipped horizontally and vertically.
-Smart zoom x3 : resize the image x3 and detects borders; this provides a useful zoom with ancient games sprites.
+An image can be resampled, flipped horizontally and vertically, canvas size can be changed
+* Remove transparency : fill the transparent pixels of the image
+* Flatten : reduce a layered image to one single layer
+* Smart zoom x3 : resize the image x3 and detects borders; this provides a useful zoom with ancient games sprites.
 
 
 # Color manipulation
 # Color manipulation
+* Curves : adjustment of curves for RGB and HSL channels
+* Posterize : reduce the number of colors by lightness or independently on each color channel
 * Colorize : set the color of an image while preserving intensities
 * Colorize : set the color of an image while preserving intensities
 * Shift colors : cycle colors and change colorness (saturation)
 * Shift colors : cycle colors and change colorness (saturation)
 * Intensity : make colors lighter or darker without making them white
 * Intensity : make colors lighter or darker without making them white
@@ -66,14 +72,32 @@ Smart zoom x3 : resize the image x3 and detects borders; this provides a useful
 
 
 # Filters
 # Filters
 Filters can be applied to the whole image or to the active selection.
 Filters can be applied to the whole image or to the active selection.
-* Radial blur : non directional blur
+* Radial blur : non directional blur (box, gaussian, corona...)
 * Motion blur : directional blur
 * Motion blur : directional blur
 * Custom blur : blur according to a mask
 * Custom blur : blur according to a mask
 * Sharpen : makes contours more accute, complementary to Smooth
 * Sharpen : makes contours more accute, complementary to Smooth
 * Smooth : softens whole image, complementary to Sharpen
 * Smooth : softens whole image, complementary to Sharpen
+* Noise : add random pixel noise
 * Median : computes the median of colors around each pixel, which softens corners
 * Median : computes the median of colors around each pixel, which softens corners
+* ClearType : mimics the effect of TrueType font rendering
+* Apply function : applies any given function to any channel (RGB, HSL, Lab)
 * Contour : draws contours on a white background (like a pencil drawing)
 * Contour : draws contours on a white background (like a pencil drawing)
 * Emboss : draws contours with shadow
 * Emboss : draws contours with shadow
+* Shaded map : draw Phong highlights and shadows using a channel of the image as altitude
 * Sphere : spherical projection
 * Sphere : spherical projection
+* Twirl : Distorts the image as a vortex
+* Wave displacement : Distorts as if reflected on waves
 * Cylinder : cylinder projection
 * Cylinder : cylinder projection
+
+# Render
+* Perlin noise : random image that can be used to make Nature-like randomness
+* Cyclic Perlin noise : same but with cyclic behavior
+* Water, snow print, wood, metal, stone, marble... : generate random texture
 * Clouds : add clouds of the current pen color
 * Clouds : add clouds of the current pen color
+* Rain : add rain falling with custom wind
+
+# Layer effect (via scripts)
+* Color overlay : replace the color
+* Drop shadow : add a shadow layer
+* Inner light, inner shadow : add lighting layer depending on the border (according to transparency)
+* Stroke : add a layer to draw a stroke around the shape (according to transparency)

+ 0 - 30
debian/changelog

@@ -1,30 +0,0 @@
-lazpaint (7.2.2-1) unstable; urgency=medium
-
-  * new upstream version
-
- -- Johann ELSASS <[email protected]>  Tue, 23 Aug 2022 10:35:00 +0100
-
-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
-
-  * new upstream version
-  * d/control: update description with new features
-  * d/copyright:
-    - add entry for bgrabitmap folder (Closes: #973774)
-    - add copyright for new files
-    - use license LGPL-3-linking-exception
-  * d/rules: update rules to specify usage of custom packages
-
- -- Johann ELSASS <[email protected]>  Fri, 4 Dec 2020 08:35:00 +0100
-
-lazpaint (6.4.1-1) unstable; urgency=medium
-
-  * Initial release. (Closes: #972503)
-
- -- Johann ELSASS <[email protected]>  Wed, 14 Oct 2020 17:49:00 +0100

+ 0 - 35
debian/control

@@ -1,35 +0,0 @@
-Source: lazpaint
-Section: graphics
-Priority: optional
-Maintainer: Johann ELSASS <[email protected]>
-Uploaders: Gürkan Myczko <[email protected]>
-Build-Depends: fpc, lcl, lazarus, libqt5pas-dev, debhelper-compat (= 13)
-Rules-Requires-Root: no
-Standards-Version: 4.5.0
-Homepage: https://wiki.freepascal.org/LazPaint
-Vcs-Git: https://github.com/bgrabitmap/lazpaint-upstream.git
-Vcs-Browser: https://github.com/bgrabitmap/lazpaint-upstream
-
-Package: lazpaint-gtk2
-Architecture: any
-Depends: ${misc:Depends}, ${shlibs:Depends}
-Conflicts: lazpaint, lazpaint-gtk3, lazpaint-qt4, lazpaint-qt5
-Description: Image editor with raster and vector layers (gtk2)
- Can read layered files (lzp, ora, pdn, oXo, flat psd), multi-images (gif,
- 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
- tools, vector shapes, phong shading, curve adjustments, filters, render
- some textures, Python scripting.
- Uses Gtk2 widgetset.
-
-Package: lazpaint-qt5
-Conflicts: lazpaint, lazpaint-gtk2, lazpaint-gtk3, lazpaint-qt4
-Architecture: any
-Depends: ${misc:Depends}, ${shlibs:Depends}
-Description: Image editor with raster and  vector layers (qt5)
- Can read layered files (lzp, ora, pdn, oXo, flat psd), multi-images (gif,
- 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
- tools, vector shapes, phong shading, curve adjustments, filters, render
- some textures, Python scripting.
- Uses Qt5 widgetset.

+ 0 - 119
debian/copyright

@@ -1,119 +0,0 @@
-Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
-Upstream-Name: lazpaint
-Upstream-Contact: Johann ELSASS <[email protected]>
-Source: https://github.com/bgrabitmap/lazpaint-upstream/releases
-
-Files: *
-Copyright: 2011-2019 Johann ELSASS <[email protected]>
-License: GPL-3+
-
-Files: debian/*
-Copyright: 2011-2020 Johann ELSASS <[email protected]>
-License: GPL-3+
-
-Files: bgracontrols/*
-Copyright: 2012 Krzysztof Dibowski <[email protected]>
-License: LGPL-3-linking-exception
-
-Files: bgracontrols/bgraimagemanipulation.pas
-Copyright: 2011 Emerson Cavalcanti
-License: LGPL-3-linking-exception
-
-Files: bgrabitmap/*
-Copyright: 2016 Johann ELSASS
-License: LGPL-3-linking-exception
-
-Files: bgrabitmap/bgrareadtiff.pas bgrabitmap/bgrawritetiff.pas
-Copyright: 2012-2013 by the Free Pascal development team
-License: LGPL-3-linking-exception
-
-Files: bgrabitmap/bgrareadpsd.pas
-Copyright: 2008 by the Free Pascal development team
-License: LGPL-3-linking-exception
-
-Files: bgrabitmap/libwebp.pas
-Copyright: 2010 Google Inc.
-License: BSD-3-Clause
-
-Files: bgrabitmap/bgrawritepng.pas bgrabitmap/bgrareadpng.pas
-Copyright: 2003 by the Free Pascal development team
-License: LGPL-3-linking-exception
-
-Files: bgrabitmap/bgrareadtga.pas bgrabitmap/bgrareadbmp.pas
-Copyright: 2003 by Mazen NEIFER of the Free Pascal development team
-License: LGPL-3-linking-exception
-
-License: LGPL-3-linking-exception
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; version 3, with the following modification:
- .
- As a special exception, the copyright holders of this library give you
- permission to link this library with independent modules to produce an
- executable, regardless of the license terms of these independent modules,
- and to copy and distribute the resulting executable under terms of your choice,
- provided that you also meet, for each linked independent module, the terms
- and conditions of the license of that module. An independent module is a
- module which is not derived from or based on this library. If you modify this
- library, you may extend this exception to your version of the library, but
- you are not obligated to do so. If you do not wish to do so, delete this
- exception statement from your version.
- .
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
- .
- You should have received a copy of the GNU Lesser General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- .
- On Debian systems, the full text of the GNU Lesser General Public
- License version 3 can be found in the file
- '/usr/share/common-licenses/LGPL-3'.
-
-License: BSD-3-Clause
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
- .
- Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
- .
- Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
- .
- Neither the name of Google nor the names of its contributors may be used to
- endorse or promote products derived from this software without specific prior
- written permission.
- .
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
-
-License: GPL-3+
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version. 
- .
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- .
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- .
- On Debian systems, the full text of the GNU General Public
- License version 3 can be found in the file
- '/usr/share/common-licenses/GPL-3'.

+ 0 - 26
debian/rules

@@ -1,26 +0,0 @@
-#!/usr/bin/make -f
-#DH_VERBOSE = 1
-
-# see FEATURE AREAS in dpkg-buildflags(1)
-export DEB_BUILD_MAINT_OPTIONS = hardening=+all
-
-# see ENVIRONMENT in dpkg-buildflags(1)
-# package maintainers to append CFLAGS
-#export DEB_CFLAGS_MAINT_APPEND  = -Wall -pedantic
-# package maintainers to append LDFLAGS
-#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
-
-%:
-	dh $@ --no-parallel
-	
-override_dh_auto_build:
-	dh_auto_build --no-parallel -- MULTIBIN=1 TARGET=Gtk2 FOREIGN_LPK=1
-	dh_auto_build --no-parallel -- MULTIBIN=1 TARGET=Qt5 FOREIGN_LPK=1
-
-override_dh_auto_install:
-	dh_auto_install --no-parallel -- MULTIBIN=1 TARGET=Gtk2 FOREIGN_LPK=1
-	dh_auto_install --no-parallel -- MULTIBIN=1 TARGET=Qt5 FOREIGN_LPK=1
-
-override_dh_auto_clean:
-	dh_auto_clean --no-parallel -- MULTIBIN=1 TARGET=Gtk2 FOREIGN_LPK=1
-	dh_auto_clean --no-parallel -- MULTIBIN=1 TARGET=Qt5 FOREIGN_LPK=1

+ 0 - 1
debian/source/format

@@ -1 +0,0 @@
-3.0 (quilt)

+ 0 - 5
debian/upstream/metadata

@@ -1,5 +0,0 @@
-Bug-Database: https://github.com/bgrabitmap/lazpaint/issues
-Bug-Submit: https://github.com/bgrabitmap/lazpaint/issues/new
-Repository: https://github.com/bgrabitmap/lazpaint.git
-Repository-Browse: https://github.com/bgrabitmap/lazpaint
-

+ 0 - 3
debian/watch

@@ -1,3 +0,0 @@
-version=4
-opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/lazpaint-$1\.tar\.gz/ \
-  https://github.com/bgrabitmap/lazpaint/tags .*/v?(\d\S+)\.tar\.gz

+ 1 - 0
lazpaint/lazpaintinstance.pas

@@ -381,6 +381,7 @@ procedure TLazPaintInstance.ReportActionProgress(AProgressPercent: integer);
 var
 var
   delay: Integer;
   delay: Integer;
 begin
 begin
+  {$IFDEF LCLqt5}exit;{$ENDIF}
   if AProgressPercent < 100 then delay := 10000 else delay := 1000;
   if AProgressPercent < 100 then delay := 10000 else delay := 1000;
   if Assigned(FMain) then FMain.UpdatingPopup:= true;
   if Assigned(FMain) then FMain.UpdatingPopup:= true;
   try
   try

+ 1 - 0
lazpaint/lazpaintmainform.lfm

@@ -5796,6 +5796,7 @@ object FMain: TFMain
     Top = 514
     Top = 514
   end
   end
   object TimerUpdate: TTimer
   object TimerUpdate: TTimer
+    Enabled = False
     Interval = 50
     Interval = 50
     OnTimer = TimerUpdateTimer
     OnTimer = TimerUpdateTimer
     Left = 653
     Left = 653

+ 3 - 0
lazpaint/lazpaintmainform.pas

@@ -1253,6 +1253,7 @@ begin
   UpdateToolBar;
   UpdateToolBar;
   FShouldArrange := true;
   FShouldArrange := true;
   QueryArrange;
   QueryArrange;
+  TimerUpdate.Enabled := true;
 end;
 end;
 
 
 procedure TFMain.OnLatestVersionUpdate(ANewVersion: string);
 procedure TFMain.OnLatestVersionUpdate(ANewVersion: string);
@@ -2595,6 +2596,7 @@ end;
 
 
 procedure TFMain.FormHide(Sender: TObject);
 procedure TFMain.FormHide(Sender: TObject);
 begin
 begin
+  TimerUpdate.Enabled := false;
   FShouldArrange := false;
   FShouldArrange := false;
   FTopMostInfo := LazPaintInstance.HideTopmost;
   FTopMostInfo := LazPaintInstance.HideTopmost;
   LazPaintInstance.SaveMainWindowPosition;
   LazPaintInstance.SaveMainWindowPosition;
@@ -2697,6 +2699,7 @@ end;
 
 
 procedure TFMain.TimerUpdateTimer(Sender: TObject);
 procedure TFMain.TimerUpdateTimer(Sender: TObject);
 begin
 begin
+  if FLazPaintInstance = nil then exit;
   TimerUpdate.Enabled := false;
   TimerUpdate.Enabled := false;
   if ToolManager.ToolSleeping and not spacePressed and
   if ToolManager.ToolSleeping and not spacePressed and
      ([ssLeft,ssRight,ssMiddle] * FLayout.MouseButtonState = []) then
      ([ssLeft,ssRight,ssMiddle] * FLayout.MouseButtonState = []) then

File diff suppressed because it is too large
+ 257 - 267
lazpaint/release/bin/i18n/lazpaint.tr.po


+ 2 - 2
lazpaint/release/stable/latest.txt

@@ -1,2 +1,2 @@
-7.1.6
-lang_update=ru
+7.2.2
+lang_update=tr

+ 17 - 17
lazpaint/release/stable/pad_file.xml

@@ -6,26 +6,26 @@
 		<MASTER_PAD_INFO>Portable Application Description, or PAD for short, is a data set that is used by shareware authors to disseminate information to anyone interested in their software products. To find out more go to http://pad.asp-software.org</MASTER_PAD_INFO>
 		<MASTER_PAD_INFO>Portable Application Description, or PAD for short, is a data set that is used by shareware authors to disseminate information to anyone interested in their software products. To find out more go to http://pad.asp-software.org</MASTER_PAD_INFO>
 	</MASTER_PAD_VERSION_INFO>
 	</MASTER_PAD_VERSION_INFO>
 	<Company_Info>
 	<Company_Info>
-		<Company_Name>Circular</Company_Name>
+		<Company_Name>LazPaint</Company_Name>
 		<Address_1>no adress</Address_1>
 		<Address_1>no adress</Address_1>
 		<Address_2>no adress</Address_2>
 		<Address_2>no adress</Address_2>
 		<City_Town>no adress</City_Town>
 		<City_Town>no adress</City_Town>
 		<State_Province>no adress</State_Province>
 		<State_Province>no adress</State_Province>
 		<Zip_Postal_Code>no adress</Zip_Postal_Code>
 		<Zip_Postal_Code>no adress</Zip_Postal_Code>
 		<Country>France</Country>
 		<Country>France</Country>
-		<Company_WebSite_URL>http://sourceforge.net/projects/lazpaint/</Company_WebSite_URL>
+		<Company_WebSite_URL>https://lazpaint.github.io/</Company_WebSite_URL>
 		<Contact_Info>
 		<Contact_Info>
 			<Author_First_Name>Johann</Author_First_Name>
 			<Author_First_Name>Johann</Author_First_Name>
 			<Author_Last_Name>ELSASS</Author_Last_Name>
 			<Author_Last_Name>ELSASS</Author_Last_Name>
 			<Author_Email>[email protected]</Author_Email>
 			<Author_Email>[email protected]</Author_Email>
 			<Contact_First_Name>Circular17</Contact_First_Name>
 			<Contact_First_Name>Circular17</Contact_First_Name>
 			<Contact_Last_Name></Contact_Last_Name>
 			<Contact_Last_Name></Contact_Last_Name>
-			<Contact_Email>circular@operamail.com</Contact_Email>
+			<Contact_Email>circular@fastmail.com</Contact_Email>
 		</Contact_Info>
 		</Contact_Info>
 		<Support_Info>
 		<Support_Info>
-			<Sales_Email>circular@operamail.com</Sales_Email>
-			<Support_Email>circular@operamail.com</Support_Email>
-			<General_Email>circular@operamail.com</General_Email>
+			<Sales_Email>circular@fastmail.com</Sales_Email>
+			<Support_Email>circular@fastmail.com</Support_Email>
+			<General_Email>circular@fastmail.com</General_Email>
 			<Sales_Phone />
 			<Sales_Phone />
 			<Support_Phone />
 			<Support_Phone />
 			<General_Phone />
 			<General_Phone />
@@ -34,26 +34,26 @@
 	</Company_Info>
 	</Company_Info>
 	<Program_Info>
 	<Program_Info>
 		<Program_Name>LazPaint</Program_Name>
 		<Program_Name>LazPaint</Program_Name>
-		<Program_Version>7.1.6</Program_Version>
-		<Program_Release_Month>12/Program_Release_Month>
-		<Program_Release_Day>03</Program_Release_Day>
-		<Program_Release_Year>2020</Program_Release_Year>
+		<Program_Version>7.2.2</Program_Version>
+		<Program_Release_Month>08</Program_Release_Month>
+		<Program_Release_Day>23</Program_Release_Day>
+		<Program_Release_Year>2022</Program_Release_Year>
 		<Program_Cost_Dollars />
 		<Program_Cost_Dollars />
 		<Program_Cost_Other_Code />
 		<Program_Cost_Other_Code />
 		<Program_Cost_Other />
 		<Program_Cost_Other />
 		<Program_Type>Freeware</Program_Type>
 		<Program_Type>Freeware</Program_Type>
 		<Program_Release_Status>New Release</Program_Release_Status>
 		<Program_Release_Status>New Release</Program_Release_Status>
 		<Program_Install_Support>Install and Uninstall</Program_Install_Support>
 		<Program_Install_Support>Install and Uninstall</Program_Install_Support>
-		<Program_OS_Support>Mac OSX,Linux,Win7 x32,Win7 x64,WinVista,WinVista x64,WinXP</Program_OS_Support>
-		<Program_Language>English</Program_Language>
-		<Program_Change_Info>bug and interface fixes, progressive magic wand, click within area of multi-selection, script translation, MacOS retina display, clone from other layer, optimize text tool, print count</Program_Change_Info>
+		<Program_OS_Support>Mac OSX,Linux,Linux Open Source,Win7 x32,Win7 x64,Windows 8,WinVista,WinVista x64,WinXP</Program_OS_Support>
+		<Program_Language>Arabic,Bulgarian,Chinese,Czech,Dutch,English,Finnish,French,German,Italian,Japanese,Latvian,Polish,Portuguese,Russian,Spanish,Swedish</Program_Language>
+		<Program_Change_Info>quick save, screenshot&editor command line, AVIF format support, various bug fixes and improvements</Program_Change_Info>
 		<Program_Specific_Category>Graphics</Program_Specific_Category>
 		<Program_Specific_Category>Graphics</Program_Specific_Category>
 		<Program_Category_Class>Graphic Apps::Editors</Program_Category_Class>
 		<Program_Category_Class>Graphic Apps::Editors</Program_Category_Class>
 		<Program_System_Requirements>Pentium, 32-bit processor, 200 Mbytes RAM</Program_System_Requirements>
 		<Program_System_Requirements>Pentium, 32-bit processor, 200 Mbytes RAM</Program_System_Requirements>
 		<File_Info>
 		<File_Info>
-			<File_Size_Bytes>7106297</File_Size_Bytes>
-			<File_Size_K>6939</File_Size_K>
-			<File_Size_MB>6.78</File_Size_MB>
+			<File_Size_Bytes>13800439</File_Size_Bytes>
+			<File_Size_K>13477</File_Size_K>
+			<File_Size_MB>13.2</File_Size_MB>
 		</File_Info>
 		</File_Info>
 		<Expire_Info>
 		<Expire_Info>
 			<Has_Expire_Info>N</Has_Expire_Info>
 			<Has_Expire_Info>N</Has_Expire_Info>
@@ -116,7 +116,7 @@
 			<Application_XML_File_URL>https://gitcdn.link/repo/bgrabitmap/lazpaint/master/lazpaint/release/stable/pad_file.xml</Application_XML_File_URL>
 			<Application_XML_File_URL>https://gitcdn.link/repo/bgrabitmap/lazpaint/master/lazpaint/release/stable/pad_file.xml</Application_XML_File_URL>
 		</Application_URLs>
 		</Application_URLs>
 		<Download_URLs>
 		<Download_URLs>
-			<Primary_Download_URL>https://github.com/bgrabitmap/lazpaint/releases/download/v7.1.5/lazpaint7.1.5_setup_win32_win64.exe</Primary_Download_URL>
+			<Primary_Download_URL>https://github.com/bgrabitmap/lazpaint/releases/download/v7.2.2/lazpaint7.2.2_setup_win32_win64.exe</Primary_Download_URL>
 			<Secondary_Download_URL />
 			<Secondary_Download_URL />
 			<Additional_Download_URL_1 />
 			<Additional_Download_URL_1 />
 			<Additional_Download_URL_2 />
 			<Additional_Download_URL_2 />

+ 9 - 0
web/layouts/index.html

@@ -7,6 +7,10 @@
    {{ $link_linux64_no_install := printf "%s_linux64_no_install.tar.gz" $prefix -}}
    {{ $link_linux64_no_install := printf "%s_linux64_no_install.tar.gz" $prefix -}}
    {{ $link_linux32_deb := printf "%s_linux32.deb" $prefix -}}
    {{ $link_linux32_deb := printf "%s_linux32.deb" $prefix -}}
    {{ $link_linux64_deb := printf "%s_linux64.deb" $prefix -}}
    {{ $link_linux64_deb := printf "%s_linux64.deb" $prefix -}}
+   {{ $link_linux32_qt5_no_install := printf "%s_linux32_qt5_no_install.tar.gz" $prefix -}}
+   {{ $link_linux64_qt5_no_install := printf "%s_linux64_qt5_no_install.tar.gz" $prefix -}}
+   {{ $link_linux32_qt5_deb := printf "%s_linux32_qt5.deb" $prefix -}}
+   {{ $link_linux64_qt5_deb := printf "%s_linux64_qt5.deb" $prefix -}}
    {{ $link_rpi32_no_install := printf "%s_raspbian-hf_no_install.tar.gz" $prefix -}}
    {{ $link_rpi32_no_install := printf "%s_raspbian-hf_no_install.tar.gz" $prefix -}}
    {{ $link_rpi64_no_install := printf "%s_raspbian64_no_install.tar.gz" $prefix -}}
    {{ $link_rpi64_no_install := printf "%s_raspbian64_no_install.tar.gz" $prefix -}}
    {{ $link_rpi32_deb := printf "%s_raspbian-hf.deb" $prefix -}}
    {{ $link_rpi32_deb := printf "%s_raspbian-hf.deb" $prefix -}}
@@ -43,6 +47,11 @@
                     ({{ i18n "no_install" }})</a>
                     ({{ i18n "no_install" }})</a>
                 <a class="button" href="{{$link_linux64_no_install}}">{{ printf (i18n "archive") (i18n "bit_64") }}
                 <a class="button" href="{{$link_linux64_no_install}}">{{ printf (i18n "archive") (i18n "bit_64") }}
                     ({{ i18n "no_install" }})</a></p>
                     ({{ i18n "no_install" }})</a></p>
+            <h2>Linux (Qt5)</h2>
+            <p><a class="btn btn-dark" href="{{$link_linux64_qt5_deb}}">Qt5 {{ printf (i18n "deb_package") (i18n "bit_64") }}
+                    </a>
+                <a class="btn btn-dark" href="{{$link_linux64_qt5_no_install}}">Qt5 {{ printf (i18n "archive") (i18n "bit_64") }}
+                    ({{ i18n "no_install" }})</a></p>
             <h2>Rpi</h2>
             <h2>Rpi</h2>
             <p><a class="button" href="{{$link_rpi32_deb}}">{{ printf (i18n "deb_package") (i18n "bit_32") }}
             <p><a class="button" href="{{$link_rpi32_deb}}">{{ printf (i18n "deb_package") (i18n "bit_32") }}
                     </a>
                     </a>

Some files were not shown because too many files changed in this diff