diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index af3ae760..27a5de27 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -19,12 +19,12 @@ env:
FPC_URL: 'gitlab'
FPC_BRANCH: 'release_3_2_2'
LAZ_URL: 'gitlab'
- LAZ_BRANCH: 'lazarus_2_2_4'
- LAZ_REVISION_2_4: '0a3429053c0dfcae2359e3b0b62e1763d5e6a319'
+ LAZ_BRANCH: 'lazarus_3_2'
+ LAZ_REVISION_2_4: ''
LAZ_DIR: 'fpcLaz'
BUILD_MODE: 'Debug_GH_Action'
FPCUP_OPT: '--lazopt="-g -gl" --fpcopt="-g -gl"'
- LAZ_PATCH: '/3p/patch/lazarus_popupmenu_click.patch' #For Lazarus 2.2
+ LAZ_PATCH: '' #'/3p/patch/lazarus_popupmenu_click.patch' #For Lazarus 2.2
ASUITE_SOURCE: 'asuite_src'
jobs:
@@ -44,7 +44,7 @@ jobs:
- os: windows-latest
name: 'Windows 64'
- fpcup-url: 'https://github.com/LongDirtyAnimAlf/Reiniero-fpcup/releases/download/v2.2.0nf/fpclazup-x86_64-win64.exe'
+ fpcup-url: 'https://github.com/LongDirtyAnimAlf/Reiniero-fpcup/releases/download/v2.4.0c/fpclazup-x86_64-win64.exe'
lazbuild: 'fpcLaz/lazarus/lazbuild.exe'
dbg2mab: 'dbg2mab.exe'
build-widgetset: 'win32'
@@ -53,7 +53,7 @@ jobs:
- os: ubuntu-22.04
name: 'Linux 64 GTK2'
- fpcup-url: 'https://github.com/LongDirtyAnimAlf/Reiniero-fpcup/releases/download/v2.2.0nf/fpclazup-x86_64-linux'
+ fpcup-url: 'https://github.com/LongDirtyAnimAlf/Reiniero-fpcup/releases/download/v2.4.0c/fpclazup-x86_64-linux'
lazbuild: 'fpcLaz/lazarus/lazbuild'
dbg2mab: 'dbg2mab'
build-widgetset: 'gtk2'
@@ -62,7 +62,7 @@ jobs:
- os: ubuntu-22.04
name: 'Linux 64 GTK3'
- fpcup-url: 'https://github.com/LongDirtyAnimAlf/Reiniero-fpcup/releases/download/v2.2.0nf/fpclazup-x86_64-linux'
+ fpcup-url: 'https://github.com/LongDirtyAnimAlf/Reiniero-fpcup/releases/download/v2.4.0c/fpclazup-x86_64-linux'
lazbuild: 'fpcLaz/lazarus/lazbuild'
dbg2mab: 'dbg2mab'
build-widgetset: 'gtk3'
@@ -71,7 +71,7 @@ jobs:
- os: ubuntu-20.04
name: 'Linux 64 QT5'
- fpcup-url: 'https://github.com/LongDirtyAnimAlf/Reiniero-fpcup/releases/download/v2.2.0nf/fpclazup-x86_64-linux'
+ fpcup-url: 'https://github.com/LongDirtyAnimAlf/Reiniero-fpcup/releases/download/v2.4.0c/fpclazup-x86_64-linux'
lazbuild: 'fpcLaz/lazarus/lazbuild'
dbg2mab: 'dbg2mab'
build-widgetset: 'qt5'
@@ -80,7 +80,7 @@ jobs:
- os: ubuntu-22.04
name: 'Linux 64 QT6'
- fpcup-url: 'https://github.com/LongDirtyAnimAlf/Reiniero-fpcup/releases/download/v2.2.0nf/fpclazup-x86_64-linux'
+ fpcup-url: 'https://github.com/LongDirtyAnimAlf/Reiniero-fpcup/releases/download/v2.4.0c/fpclazup-x86_64-linux'
lazbuild: 'fpcLaz/lazarus/lazbuild'
dbg2mab: 'dbg2mab'
build-widgetset: 'qt6'
@@ -109,24 +109,22 @@ jobs:
- name: Install Dependencies (Ubuntu - only QT5)
if: (matrix.config.os == 'ubuntu-latest' || matrix.config.os == 'ubuntu-20.04') && matrix.config.build-widgetset == 'qt5'
run: |
- sudo apt-get -m -y install libqt5pas-dev libqt5pas1 qt5-qmake qtbase5-dev qt5-default libqt5x11extras5-dev libxcb-keysyms1-dev
- cd ${{ env.ASUITE_SOURCE }}/3p/AsuiteComps/library/platform/unix/QGHotkeyHookPas
- qmake
- make
- sudo make install
+ wget https://github.com/davidbannon/libqt5pas/releases/download/v1.2.15/libqt5pas1_2.15-1_amd64.deb
+ wget https://github.com/davidbannon/libqt5pas/releases/download/v1.2.15/libqt5pas-dev_2.15-1_amd64.deb
+ sudo apt-get update
+ sudo apt-get -m -y install qt5-qmake qtbase5-dev qt5-default libqt5x11extras5-dev libxcb-keysyms1-dev
+ sudo apt-get -m -y install ./libqt5pas1_2.15-1_amd64.deb
+ sudo apt-get -m -y install ./libqt5pas-dev_2.15-1_amd64.deb
- name: Install Dependencies (Ubuntu - only QT6)
if: (matrix.config.os == 'ubuntu-latest' || matrix.config.os == 'ubuntu-22.04') && matrix.config.build-widgetset == 'qt6'
run: |
- wget https://github.com/davidbannon/libqt6pas/releases/download/v6.2.2/libqt6pas6_6.2.2-2_amd64.deb
- wget https://github.com/davidbannon/libqt6pas/releases/download/v6.2.2/libqt6pas6-dev_6.2.2-2_amd64.deb
+ wget https://github.com/davidbannon/libqt6pas/releases/download/v6.2.7/libqt6pas6_6.2.7-1_amd64.deb
+ wget https://github.com/davidbannon/libqt6pas/releases/download/v6.2.7/libqt6pas6-dev_6.2.7-1_amd64.deb
+ sudo apt-get update
sudo apt-get -m -y install qt6-base-dev libxcb-keysyms1-dev libgl-dev qt6-base-private-dev
- sudo dpkg -i libqt6pas6_6.2.2-2_amd64.deb
- sudo dpkg -i libqt6pas6-dev_6.2.2-2_amd64.deb
- cd ${{ env.ASUITE_SOURCE }}/3p/AsuiteComps/library/platform/unix/QGHotkeyHookPas
- qmake6
- make
- sudo make install
+ sudo apt-get -m -y install ./libqt6pas6_6.2.7-1_amd64.deb
+ sudo apt-get -m -y install ./libqt6pas6-dev_6.2.7-1_amd64.deb
- name: Generate Cache Hash
run: echo "${{ matrix.config.fpcup-url }}${{ env.FPCUP_OPT }}${{ env.FPC_URL }}${{ env.FPC_BRANCH }}${{ env.LAZ_URL }}${{ env.LAZ_BRANCH }}${{ env.LAZ_REVISION_2_4 }}${{ env.LAZ_PATCH}}${{ matrix.config.name }}" > .cache
@@ -135,7 +133,7 @@ jobs:
id: cache
uses: actions/cache@v3.0.11
env:
- cache-name: cache-laz-v0.6.0
+ cache-name: cache-laz-v0.6.1
with:
path: |
${{ env.LAZ_DIR }}
@@ -143,15 +141,7 @@ jobs:
key: ${{ runner.os }}-${{ env.cache-name }}_${{ matrix.config.build-widgetset }}-${{ hashFiles('.cache') }}
- name: Install Lazarus
- if: steps.cache.outputs.cache-hit != 'true' && matrix.config.build-widgetset == 'qt6'
- run: |
- curl --retry 5 -L -o fpcup ${{ matrix.config.fpcup-url }}
- chmod +x fpcup
- mkdir ${{ env.LAZ_DIR }}
- ./fpcup --installdir=${{ env.LAZ_DIR }} --fpcURL=${{ env.FPC_URL }} --fpcBranch=${{ env.FPC_BRANCH }} --lazURL=${{ env.LAZ_URL }} --lazRevision=${{ env.LAZ_REVISION_2_4 }} --lazPATCH="${{ env.ASUITE_SOURCE}}${{ env.LAZ_PATCH}}" ${{ env.FPCUP_OPT }} --only=docker --noconfirm --verbose
-
- - name: Install Lazarus
- if: steps.cache.outputs.cache-hit != 'true' && matrix.config.build-widgetset != 'qt6'
+ if: steps.cache.outputs.cache-hit != 'true'
run: |
curl --retry 5 -L -o fpcup ${{ matrix.config.fpcup-url }}
chmod +x fpcup
@@ -168,10 +158,10 @@ jobs:
run: ${{ matrix.config.lazbuild }} --version && echo "success=true" >> $GITHUB_OUTPUT || echo "success=false" >> $GITHUB_OUTPUT
- name: Build ASuite (${{ env.BUILD_MODE }})
- run: ${{ matrix.config.lazbuild }} "${{ env.ASUITE_SOURCE }}/ASuite.lpi" --no-write-project --build-mode="${{ env.BUILD_MODE }}" --widgetset=${{ matrix.config.build-widgetset }} --operating-system=${{ matrix.config.build-os }}
+ run: ${{ matrix.config.lazbuild }} "${{ env.ASUITE_SOURCE }}/ASuite.lpi" --no-write-project --build-mode="${{ env.BUILD_MODE }}" --widgetset=${{ matrix.config.build-widgetset }}
- name: Build dbg2mab
- run: ${{ matrix.config.lazbuild }} "${{ env.ASUITE_SOURCE }}/3p/dbg2mab/dbg2mab.lpi" --no-write-project --widgetset=${{ matrix.config.build-widgetset }} --operating-system=${{ matrix.config.build-os }}
+ run: ${{ matrix.config.lazbuild }} "${{ env.ASUITE_SOURCE }}/3p/dbg2mab/dbg2mab.lpi" --no-write-project --widgetset=${{ matrix.config.build-widgetset }}
- name: Embedded debug info in asuite executable
#if: matrix.config.build-widgetset != 'gtk2'
@@ -183,4 +173,3 @@ jobs:
name: ASuite ${{ env.BUILD_MODE }} build - ${{ matrix.config.build-widgetset }}
path: |
${{ env.ASUITE_SOURCE}}/bin
- ${{ env.ASUITE_SOURCE }}/3p/AsuiteComps/library/platform/unix/QGHotkeyHookPas/libQGHotkeyHookPas.so*
diff --git a/.github/workflows/main_release.yml b/.github/workflows/main_release.yml
index e76410a8..20b2287c 100644
--- a/.github/workflows/main_release.yml
+++ b/.github/workflows/main_release.yml
@@ -15,11 +15,12 @@ env:
FPC_URL: 'gitlab'
FPC_BRANCH: 'release_3_2_2'
LAZ_URL: 'gitlab'
- LAZ_BRANCH: 'lazarus_2_2_4'
+ LAZ_BRANCH: 'lazarus_3_2'
+ LAZ_REVISION_2_4: ''
LAZ_DIR: 'fpcLaz'
- BUILD_MODE: 'Release'
- FPCUP_OPT: ''
- LAZ_PATCH: '/3p/patch/lazarus_popupmenu_click.patch' #For Lazarus 2.2
+ BUILD_MODE: 'Debug_GH_Action'
+ FPCUP_OPT: '--lazopt="-g -gl" --fpcopt="-g -gl"'
+ LAZ_PATCH: '' #'/3p/patch/lazarus_popupmenu_click.patch' #For Lazarus 2.2
ASUITE_SOURCE: 'asuite_src'
jobs:
@@ -39,25 +40,25 @@ jobs:
- os: windows-latest
name: 'Windows 64'
- fpcup-url: 'https://github.com/LongDirtyAnimAlf/Reiniero-fpcup/releases/download/v2.2.0h/fpclazup-x86_64-win64.exe'
+ fpcup-url: 'https://github.com/LongDirtyAnimAlf/Reiniero-fpcup/releases/download/v2.4.0c/fpclazup-x86_64-win64.exe'
lazbuild: 'fpcLaz/lazarus/lazbuild.exe'
dbg2mab: 'dbg2mab.exe'
build-widgetset: 'win32'
build-os: 'win64'
debug_file: 'ASuite.dbg'
- - os: ubuntu-latest
+ - os: ubuntu-22.04
name: 'Linux 64 GTK2'
- fpcup-url: 'https://github.com/LongDirtyAnimAlf/Reiniero-fpcup/releases/download/v2.2.0h/fpclazup-x86_64-linux'
+ fpcup-url: 'https://github.com/LongDirtyAnimAlf/Reiniero-fpcup/releases/download/v2.4.0c/fpclazup-x86_64-linux'
lazbuild: 'fpcLaz/lazarus/lazbuild'
dbg2mab: 'dbg2mab'
build-widgetset: 'gtk2'
build-os: 'linux'
debug_file: 'ASuite.dbg'
- - os: ubuntu-latest
+ - os: ubuntu-22.04
name: 'Linux 64 GTK3'
- fpcup-url: 'https://github.com/LongDirtyAnimAlf/Reiniero-fpcup/releases/download/v2.2.0h/fpclazup-x86_64-linux'
+ fpcup-url: 'https://github.com/LongDirtyAnimAlf/Reiniero-fpcup/releases/download/v2.4.0c/fpclazup-x86_64-linux'
lazbuild: 'fpcLaz/lazarus/lazbuild'
dbg2mab: 'dbg2mab'
build-widgetset: 'gtk3'
@@ -66,54 +67,74 @@ jobs:
- os: ubuntu-20.04
name: 'Linux 64 QT5'
- fpcup-url: 'https://github.com/LongDirtyAnimAlf/Reiniero-fpcup/releases/download/v2.2.0h/fpclazup-x86_64-linux'
+ fpcup-url: 'https://github.com/LongDirtyAnimAlf/Reiniero-fpcup/releases/download/v2.4.0c/fpclazup-x86_64-linux'
lazbuild: 'fpcLaz/lazarus/lazbuild'
dbg2mab: 'dbg2mab'
build-widgetset: 'qt5'
build-os: 'linux'
debug_file: 'ASuite.dbg'
+ - os: ubuntu-22.04
+ name: 'Linux 64 QT6'
+ fpcup-url: 'https://github.com/LongDirtyAnimAlf/Reiniero-fpcup/releases/download/v2.4.0c/fpclazup-x86_64-linux'
+ lazbuild: 'fpcLaz/lazarus/lazbuild'
+ dbg2mab: 'dbg2mab'
+ build-widgetset: 'qt6'
+ build-os: 'linux'
+ debug_file: 'ASuite.dbg'
+
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
with:
submodules: true
path: '${{ env.ASUITE_SOURCE }}'
- name: Install Dependencies (Ubuntu)
- if: matrix.config.os == 'ubuntu-latest' || matrix.config.os == 'ubuntu-20.04'
+ if: matrix.config.os == 'ubuntu-latest' || matrix.config.os == 'ubuntu-22.04' && matrix.config.build-widgetset == 'gtk2'
run: |
sudo apt-get update
sudo apt-get -m -y install libgtk2.0-dev libpango1.0-dev libffi-dev libxtst-dev xvfb
Xvfb :1 &
- name: Install Dependencies (Ubuntu - only GTK3)
- if: (matrix.config.os == 'ubuntu-latest' || matrix.config.os == 'ubuntu-20.04') && matrix.config.build-widgetset == 'gtk3'
+ if: (matrix.config.os == 'ubuntu-latest' || matrix.config.os == 'ubuntu-22.04') && matrix.config.build-widgetset == 'gtk3'
run: sudo apt-get -m -y install libgtk-3-dev
- name: Install Dependencies (Ubuntu - only QT5)
if: (matrix.config.os == 'ubuntu-latest' || matrix.config.os == 'ubuntu-20.04') && matrix.config.build-widgetset == 'qt5'
run: |
- sudo apt-get -m -y install libqt5pas-dev libqt5pas1 qt5-qmake qtbase5-dev qt5-default libqt5x11extras5-dev libxcb-keysyms1-dev
- cd ${{ env.ASUITE_SOURCE }}/3p/AsuiteComps/library/platform/unix/QGHotkeyHookPas
- qmake
- make
- sudo make install
+ wget https://github.com/davidbannon/libqt5pas/releases/download/v1.2.15/libqt5pas1_2.15-1_amd64.deb
+ wget https://github.com/davidbannon/libqt5pas/releases/download/v1.2.15/libqt5pas-dev_2.15-1_amd64.deb
+ sudo apt-get update
+ sudo apt-get -m -y install qt5-qmake qtbase5-dev qt5-default libqt5x11extras5-dev libxcb-keysyms1-dev
+ sudo apt-get -m -y install ./libqt5pas1_2.15-1_amd64.deb
+ sudo apt-get -m -y install ./libqt5pas-dev_2.15-1_amd64.deb
+
+ - name: Install Dependencies (Ubuntu - only QT6)
+ if: (matrix.config.os == 'ubuntu-latest' || matrix.config.os == 'ubuntu-22.04') && matrix.config.build-widgetset == 'qt6'
+ run: |
+ wget https://github.com/davidbannon/libqt6pas/releases/download/v6.2.7/libqt6pas6_6.2.7-1_amd64.deb
+ wget https://github.com/davidbannon/libqt6pas/releases/download/v6.2.7/libqt6pas6-dev_6.2.7-1_amd64.deb
+ sudo apt-get update
+ sudo apt-get -m -y install qt6-base-dev libxcb-keysyms1-dev libgl-dev qt6-base-private-dev
+ sudo apt-get -m -y install ./libqt6pas6_6.2.7-1_amd64.deb
+ sudo apt-get -m -y install ./libqt6pas6-dev_6.2.7-1_amd64.deb
- name: Generate Cache Hash
- run: echo "${{ matrix.config.fpcup-url }}${{ env.FPCUP_OPT }}${{ env.FPC_URL }}${{ env.FPC_BRANCH }}${{ env.LAZ_URL }}${{ env.LAZ_BRANCH }}${{ env.LAZ_PATCH}}${{ matrix.config.name }}" > .cache
+ run: echo "${{ matrix.config.fpcup-url }}${{ env.FPCUP_OPT }}${{ env.FPC_URL }}${{ env.FPC_BRANCH }}${{ env.LAZ_URL }}${{ env.LAZ_BRANCH }}${{ env.LAZ_REVISION_2_4 }}${{ env.LAZ_PATCH}}${{ matrix.config.name }}" > .cache
- name: Cache
id: cache
- uses: actions/cache@v2.1.3
+ uses: actions/cache@v3.0.11
env:
- cache-name: cache-laz-v0.5.4
+ cache-name: cache-laz-v0.6.1
with:
path: |
${{ env.LAZ_DIR }}
${{ env.ASUITE_SOURCE }}/3p/mORMot2/static
- key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('.cache') }}
+ key: ${{ runner.os }}-${{ env.cache-name }}_${{ matrix.config.build-widgetset }}-${{ hashFiles('.cache') }}
- name: Install Lazarus
if: steps.cache.outputs.cache-hit != 'true'
@@ -130,21 +151,21 @@ jobs:
- name: Validate Cache
if: steps.cache.outputs.cache-hit == 'true'
- run: ${{ matrix.config.lazbuild }} --version && echo "::set-output name=success::true" || echo "::set-output name=success::false"
+ run: ${{ matrix.config.lazbuild }} --version && echo "success=true" >> $GITHUB_OUTPUT || echo "success=false" >> $GITHUB_OUTPUT
- name: Build ASuite (${{ env.BUILD_MODE }})
- run: ${{ matrix.config.lazbuild }} "${{ env.ASUITE_SOURCE }}/ASuite.lpi" --no-write-project --build-mode="${{ env.BUILD_MODE }}" --widgetset=${{ matrix.config.build-widgetset }} --operating-system=${{ matrix.config.build-os }}
+ run: ${{ matrix.config.lazbuild }} "${{ env.ASUITE_SOURCE }}/ASuite.lpi" --no-write-project --build-mode="${{ env.BUILD_MODE }}" --widgetset=${{ matrix.config.build-widgetset }}
- name: Build dbg2mab
- run: ${{ matrix.config.lazbuild }} "${{ env.ASUITE_SOURCE }}/3p/dbg2mab/dbg2mab.lpi" --no-write-project --widgetset=${{ matrix.config.build-widgetset }} --operating-system=${{ matrix.config.build-os }}
+ run: ${{ matrix.config.lazbuild }} "${{ env.ASUITE_SOURCE }}/3p/dbg2mab/dbg2mab.lpi" --no-write-project --widgetset=${{ matrix.config.build-widgetset }}
- name: Embedded debug info in asuite executable
+ #if: matrix.config.build-widgetset != 'gtk2'
run: ${{ env.ASUITE_SOURCE }}/bin/${{ matrix.config.dbg2mab }} ${{ env.ASUITE_SOURCE }}/bin/${{ matrix.config.debug_file }}
- name: Upload the Build Artifact
- uses: actions/upload-artifact@v2.2.2
+ uses: actions/upload-artifact@v3.1.1
with:
name: ASuite ${{ env.BUILD_MODE }} build - ${{ matrix.config.build-widgetset }}
path: |
${{ env.ASUITE_SOURCE}}/bin
- ${{ env.ASUITE_SOURCE }}/3p/AsuiteComps/library/platform/unix/QGHotkeyHookPas/libQGHotkeyHookPas.so*
diff --git a/3p/AsuiteComps b/3p/AsuiteComps
index b5f1cd34..5fae32f1 160000
--- a/3p/AsuiteComps
+++ b/3p/AsuiteComps
@@ -1 +1 @@
-Subproject commit b5f1cd34c491d45db5ab80e4a1eb8bbbc863f9c2
+Subproject commit 5fae32f167fbbf019085396da67766fe4992ae34
diff --git a/3p/VirtualTreeView-Lazarus b/3p/VirtualTreeView-Lazarus
index 37ec238d..407238eb 160000
--- a/3p/VirtualTreeView-Lazarus
+++ b/3p/VirtualTreeView-Lazarus
@@ -1 +1 @@
-Subproject commit 37ec238d10368d8e222e5b5713df66c649868529
+Subproject commit 407238ebf207693431e7c49b6856cd7339b00b87
diff --git a/3p/bgrabitmap b/3p/bgrabitmap
index af444234..2fdbbea4 160000
--- a/3p/bgrabitmap
+++ b/3p/bgrabitmap
@@ -1 +1 @@
-Subproject commit af444234defd0fdcd9106e6c71ec55a3ea155689
+Subproject commit 2fdbbea4beacf1fadc0a2cd61f23a0dd618bfbdb
diff --git a/3p/bgracontrols b/3p/bgracontrols
index ecf2c2e5..3e54a921 160000
--- a/3p/bgracontrols
+++ b/3p/bgracontrols
@@ -1 +1 @@
-Subproject commit ecf2c2e5c281232031dda6c647ec14e575a185bf
+Subproject commit 3e54a92183df40fc61ff4765684c8a5cb41f4271
diff --git a/3p/mORMot2 b/3p/mORMot2
index 8279c942..824c86f0 160000
--- a/3p/mORMot2
+++ b/3p/mORMot2
@@ -1 +1 @@
-Subproject commit 8279c94235f28268935a247accf8eea23120014f
+Subproject commit 824c86f0d5714fd05818a3dfe360fe5affd398f5
diff --git a/ASuite.lpi b/ASuite.lpi
index 4713982a..bcbeac56 100644
--- a/ASuite.lpi
+++ b/ASuite.lpi
@@ -17,7 +17,7 @@
-
+
@@ -32,7 +32,7 @@
-
+
@@ -594,7 +594,7 @@
-
+
diff --git a/ASuite.res b/ASuite.res
index 5bd98158..43eda9b1 100644
Binary files a/ASuite.res and b/ASuite.res differ
diff --git a/Forms/Forms.GraphicMenu.pas b/Forms/Forms.GraphicMenu.pas
index bfd58a33..6a807ab0 100644
--- a/Forms/Forms.GraphicMenu.pas
+++ b/Forms/Forms.GraphicMenu.pas
@@ -132,7 +132,7 @@ implementation
uses
Forms.Main, Utility.System, Kernel.Consts, AppConfig.Main, DataModules.Icons,
Forms.About, NodeDataTypes.Base, Kernel.Enumerations, Forms.Options, LazVersion,
- Utility.Misc, VirtualTree.Methods, Kernel.Types,
+ Utility.Misc, VirtualTree.Methods, Kernel.Types, VirtualTrees.Types,
NodeDataTypes.Custom, Kernel.ResourceStrings, Kernel.Instance, Kernel.Manager
{$IFDEF MSWINDOWS} , Windows {$ENDIF};
diff --git a/Forms/Forms.ImportList.pas b/Forms/Forms.ImportList.pas
index 64934867..5599e509 100644
--- a/Forms/Forms.ImportList.pas
+++ b/Forms/Forms.ImportList.pas
@@ -24,7 +24,7 @@
interface
uses
- LCLIntf, SysUtils, Classes, Graphics, Controls, Forms,
+ LCLIntf, SysUtils, Classes, Graphics, Controls, Forms, VirtualTrees.Types,
Dialogs, ExtCtrls, StdCtrls, ComCtrls, VirtualTrees, Kernel.Consts, DOM, XMLRead,
Kernel.Enumerations, EditBtn;
diff --git a/Forms/Forms.Main.pas b/Forms/Forms.Main.pas
index 8d19bfa2..748042d6 100644
--- a/Forms/Forms.Main.pas
+++ b/Forms/Forms.Main.pas
@@ -167,9 +167,9 @@ implementation
Forms.Options, Forms.About, Utility.Misc, Forms.ScanFolder, Clipbrd,
DataModules.TrayMenu, Forms.ImportList, AppConfig.Main, Utility.System,
VirtualTree.Methods, Frame.Options.Stats, NodeDataTypes.Base,
- Kernel.Types, NodeDataTypes.Files, Kernel.Manager,
- Kernel.Logger, mormot.core.log, FileUtil, Kernel.ResourceStrings, Kernel.Instance
- {$IFDEF MSWINDOWS} , jwatlhelp32, Windows {$ENDIF};
+ Kernel.Types, NodeDataTypes.Files, Kernel.Manager, VirtualTrees.Types,
+ Kernel.Logger, mormot.core.log, FileUtil, Kernel.ResourceStrings, Kernel.Instance,
+ VirtualTrees.ClipBoard {$IFDEF MSWINDOWS} , jwatlhelp32, Windows {$ENDIF};
{$R *.lfm}
diff --git a/Forms/Forms.ScanFolder.pas b/Forms/Forms.ScanFolder.pas
index 126d8684..81d6997e 100644
--- a/Forms/Forms.ScanFolder.pas
+++ b/Forms/Forms.ScanFolder.pas
@@ -25,7 +25,7 @@ interface
uses
LCLIntf, LCLType, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
- StdCtrls, ExtCtrls, VirtualTrees, ComCtrls, ShellCtrls,
+ StdCtrls, ExtCtrls, VirtualTrees, ComCtrls, ShellCtrls, VirtualTrees.Types,
ImgList, ButtonPanel, FileUtil, Thread.FindFiles, mormot.core.log;
type
diff --git a/Frame/Frame.Options.Autorun.pas b/Frame/Frame.Options.Autorun.pas
index 33fd152e..92da6457 100644
--- a/Frame/Frame.Options.Autorun.pas
+++ b/Frame/Frame.Options.Autorun.pas
@@ -24,7 +24,7 @@
interface
uses
- LCLIntf, SysUtils, Classes, Controls, Dialogs, Frame.BaseEntity,
+ LCLIntf, SysUtils, Classes, Controls, Dialogs, Frame.BaseEntity, VirtualTrees.Types,
StdCtrls, VirtualTrees, Lists.Base, Menus, ExtCtrls, Buttons, ActnList;
type
diff --git a/Frame/Frame.Options.Hotkey.pas b/Frame/Frame.Options.Hotkey.pas
index a1f8c811..9aa6236d 100644
--- a/Frame/Frame.Options.Hotkey.pas
+++ b/Frame/Frame.Options.Hotkey.pas
@@ -81,7 +81,7 @@ TfrmHotkeyOptionsPage = class(TfrmBaseEntityPage)
implementation
uses
- AppConfig.Main, VirtualTree.Methods, NodeDataTypes.Custom,
+ AppConfig.Main, VirtualTree.Methods, NodeDataTypes.Custom, VirtualTrees.Types,
Forms.ShortcutGrabber, DataModules.Icons, Kernel.ResourceStrings,
LCLProc, Kernel.Consts, Kernel.Manager, Utility.Misc, Kernel.Instance;
@@ -214,7 +214,7 @@ function TfrmHotkeyOptionsPage.InternalLoadData: Boolean;
//Populate VST with HotKeyItemList's items
TVirtualTreeMethods.PopulateVSTItemList(vstItems, ASuiteManager.ListManager.HotKeyItemList);
- vstItems.SortTree(0, VirtualTrees.sdAscending);
+ vstItems.SortTree(0, VirtualTrees.Types.sdAscending);
//Enable/disable visual components
cbHotKeyClick(Self);
diff --git a/Frame/Frame.Properties.General.Category.pas b/Frame/Frame.Properties.General.Category.pas
index a295f97a..80ad8f74 100644
--- a/Frame/Frame.Properties.General.Category.pas
+++ b/Frame/Frame.Properties.General.Category.pas
@@ -56,7 +56,7 @@ implementation
uses
NodeDataTypes.Custom, NodeDataTypes.Files, Kernel.Instance,
- Kernel.Types, Forms.Main,
+ Kernel.Types, Forms.Main, VirtualTrees.Types,
VirtualTree.Methods;
{$R *.lfm}
diff --git a/Library/AppConfig.Main.pas b/Library/AppConfig.Main.pas
index 34d3bd72..08f7d23d 100644
--- a/Library/AppConfig.Main.pas
+++ b/Library/AppConfig.Main.pas
@@ -255,7 +255,7 @@ implementation
uses
Forms.Main, DataModules.TrayMenu, Utility.System, Kernel.Consts, Utility.Misc,
Forms.GraphicMenu, VirtualTree.Methods, Utility.FileFolder, mormot.core.log,
- LCLProc, BGRAIconCursor,
+ LCLProc, BGRAIconCursor, VirtualTrees.Types,
TypInfo, Kernel.ResourceStrings, LCLTranslator, AppConfig.Consts, BGRABitmapTypes,
Utility.Conversions, Hotkeys.Manager.Platform, Kernel.Instance, Kernel.Manager;
diff --git a/Library/Database.List.pas b/Library/Database.List.pas
index d4c8acbf..56e068d4 100644
--- a/Library/Database.List.pas
+++ b/Library/Database.List.pas
@@ -112,7 +112,7 @@ TSQLtbl_list = class(TOrm) //Table tbl_list
implementation
uses
- Kernel.Enumerations, VirtualTree.Methods, NodeDataTypes.Custom,
+ Kernel.Enumerations, VirtualTree.Methods, NodeDataTypes.Custom, VirtualTrees.Types,
NodeDataTypes.Files, Icons.Node, Kernel.Logger, mormot.core.unicode,
Kernel.Manager;
diff --git a/Library/Kernel.Instance.pas b/Library/Kernel.Instance.pas
index 10e87c59..7155b80e 100644
--- a/Library/Kernel.Instance.pas
+++ b/Library/Kernel.Instance.pas
@@ -73,7 +73,7 @@ implementation
uses
Forms.ImportList, Kernel.Logger, Forms, Kernel.Consts, Utility.FileFolder,
Utility.Misc, Utility.XML, VirtualTree.Methods, mormot.core.log, Kernel.Manager,
- mormot.core.base;
+ mormot.core.base, VirtualTrees.Types;
{ TASuiteInstance }
diff --git a/Library/VirtualTree.Events.pas b/Library/VirtualTree.Events.pas
index 68b43d33..09eec57c 100644
--- a/Library/VirtualTree.Events.pas
+++ b/Library/VirtualTree.Events.pas
@@ -24,8 +24,8 @@
interface
uses
- LCLIntf, LCLType, SysUtils, Classes, Graphics, VirtualTrees,
- {$IFDEF MSWINDOWS} ActiveX, {$ELSE} FakeActiveX, {$ENDIF}
+ LCLIntf, LCLType, SysUtils, Classes, Graphics, VirtualTrees, VirtualTrees.Header, VirtualTrees.Types,
+ {$ifdef lclwin32}ActiveX,{$endif} virtualdragmanager, VirtualTrees.BaseTree,
Forms.GraphicMenu, Forms.Dialog.BaseEntity, Menus, Forms, Controls;
type
@@ -38,6 +38,8 @@ TVirtualTreeEvents = class
function ClickOnButtonTree(Sender: TBaseVirtualTree; const HitInfo: THitInfo): Boolean;
procedure DoColumnResize(Sender: TVTHeader; Column: TColumnIndex);
+ procedure DoEditing(Sender: TBaseVirtualTree; Node: PVirtualNode;
+ Column: TColumnIndex; var Allowed: Boolean);
procedure DoGetHint(Sender: TBaseVirtualTree; Node: PVirtualNode;
Column: TColumnIndex; var LineBreakStyle: TVTTooltipLineBreakStyle;
var HintText: String);
@@ -52,14 +54,14 @@ TVirtualTreeEvents = class
{$ENDIF}
//Generic events
- procedure DoDragOver(Sender: TBaseVirtualTree; Source: TObject; Shift: TShiftState;
- State: TDragState; const Pt: TPoint; Mode: TDropMode; var Effect: LongWord;
- var Accept: Boolean);
+ procedure DoDragOver(Sender: TBaseVirtualTree; Source: TObject;
+ Shift: TShiftState; State: TDragState; Pt: TPoint; Mode: TDropMode;
+ var Effect: Integer; var Accept: Boolean);
procedure DoGetText(Sender: TBaseVirtualTree; Node: PVirtualNode;
Column: TColumnIndex; TextType: TVSTTextType; var CellText: string);
- procedure DoGetImageIndex(Sender: TBaseVirtualTree;
- Node: PVirtualNode; Kind: TVTImageKind; Column: TColumnIndex;
- var Ghosted: Boolean; var ImageIndex: Integer);
+ procedure DoGetImageIndex(Sender: TBaseVirtualTree; Node: PVirtualNode;
+ Kind: TVTImageKind; Column: TColumnIndex; var Ghosted: Boolean;
+ var ImageIndex: TImageIndex);
procedure DoPaintText(Sender: TBaseVirtualTree;
const TargetCanvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex;
TextType: TVSTTextType);
@@ -69,11 +71,9 @@ TVirtualTreeEvents = class
Stream: TStream);
procedure DoFreeNode(Sender: TBaseVirtualTree; Node: PVirtualNode);
procedure DoNewText(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex;
- const NewText: String);
- procedure DoDragDrop(Sender: TBaseVirtualTree; Source: TObject; DataObject: IDataObject;
- Formats: TFormatArray; Shift: TShiftState; const Pt: TPoint; var Effect: LongWord; Mode: TDropMode);
- procedure DoEditing(Sender: TBaseVirtualTree; Node: PVirtualNode;
- Column: TColumnIndex; var Allowed: Boolean);
+ NewText: string);
+ procedure DoDragDrop(Sender: TBaseVirtualTree; Source: TObject; DataObject: TVTDragDataObject;
+ Formats: TFormatArray; Shift: TShiftState; Pt: TPoint; var Effect: Integer; Mode: TDropMode);
procedure DoDrawText(Sender: TBaseVirtualTree; TargetCanvas: TCanvas;
Node: PVirtualNode; Column: TColumnIndex; const Text: string;
const CellRect: TRect; var DefaultDraw: Boolean);
@@ -108,9 +108,9 @@ TVirtualTreeEvents = class
var NodeDataSize: Integer);
procedure DoGetTextFrame(Sender: TBaseVirtualTree; Node: PVirtualNode;
Column: TColumnIndex; TextType: TVSTTextType; var CellText: string);
- procedure DoGetImageIndexFrame(Sender: TBaseVirtualTree;
- Node: PVirtualNode; Kind: TVTImageKind; Column: TColumnIndex;
- var Ghosted: Boolean; var ImageIndex: Integer);
+ procedure DoGetImageIndexFrame(Sender: TBaseVirtualTree; Node: PVirtualNode;
+ Kind: TVTImageKind; Column: TColumnIndex; var Ghosted: Boolean;
+ var ImageIndex: TImageIndex);
procedure DoFreeNodeFrame(Sender: TBaseVirtualTree; Node: PVirtualNode);
procedure DoAddToSelectionFrame(Sender: TBaseVirtualTree;
Node: PVirtualNode);
@@ -120,9 +120,9 @@ TVirtualTreeEvents = class
Node2: PVirtualNode; Column: TColumnIndex; var Result: Integer);
procedure DoGetTextHotkey(Sender: TBaseVirtualTree; Node: PVirtualNode;
Column: TColumnIndex; TextType: TVSTTextType; var CellText: string);
- procedure DoGetImageIndexHotkey(Sender: TBaseVirtualTree;
- Node: PVirtualNode; Kind: TVTImageKind; Column: TColumnIndex;
- var Ghosted: Boolean; var ImageIndex: Integer);
+ procedure DoGetImageIndexHotkey(Sender: TBaseVirtualTree; Node: PVirtualNode;
+ Kind: TVTImageKind; Column: TColumnIndex; var Ghosted: Boolean;
+ var ImageIndex: TImageIndex);
procedure DoBeforeCellPaintHotkey(Sender: TBaseVirtualTree;
TargetCanvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex;
CellPaintMode: TVTCellPaintMode; CellRect: TRect; var ContentRect: TRect);
@@ -148,7 +148,7 @@ TVirtualTreeEvents = class
implementation
uses
- AppConfig.Main, NodeDataTypes.Base, NodeDataTypes.Category,
+ AppConfig.Main, NodeDataTypes.Base, NodeDataTypes.Category, VirtualTrees.clipboard,
NodeDataTypes.Files, NodeDataTypes.Custom, NodeDataTypes.Separator, Kernel.Types,
Kernel.Enumerations, VirtualTree.Methods, DataModules.TrayMenu, LCLProc, Kernel.Consts,
DataModules.Icons, Kernel.Logger, mormot.core.log, Kernel.Instance, Kernel.Manager
@@ -435,8 +435,9 @@ procedure TVirtualTreeEvents.DoCompareNodesList(Sender: TBaseVirtualTree; Node1,
Result := CompareText(Data1.Name, Data2.Name);
end;
-procedure TVirtualTreeEvents.DoDragDrop(Sender: TBaseVirtualTree; Source: TObject; DataObject: IDataObject;
- Formats: TFormatArray; Shift: TShiftState; const Pt: TPoint; var Effect: LongWord; Mode: TDropMode);
+procedure TVirtualTreeEvents.DoDragDrop(Sender: TBaseVirtualTree;
+ Source: TObject; DataObject: TVTDragDataObject; Formats: TFormatArray;
+ Shift: TShiftState; Pt: TPoint; var Effect: Integer; Mode: TDropMode);
var
I : integer;
NodeData : TvBaseNodeData;
@@ -521,9 +522,9 @@ procedure TVirtualTreeEvents.DoDragDrop(Sender: TBaseVirtualTree; Source: TObjec
end;
end;
-procedure TVirtualTreeEvents.DoDragOver(Sender: TBaseVirtualTree; Source: TObject;
- Shift: TShiftState; State: TDragState; const Pt: TPoint; Mode: TDropMode;
- var Effect: LongWord; var Accept: Boolean);
+procedure TVirtualTreeEvents.DoDragOver(Sender: TBaseVirtualTree;
+ Source: TObject; Shift: TShiftState; State: TDragState; Pt: TPoint;
+ Mode: TDropMode; var Effect: Integer; var Accept: Boolean);
begin
Accept := True;
end;
@@ -706,8 +707,8 @@ procedure TVirtualTreeEvents.DoLoadNode(Sender: TBaseVirtualTree; Node: PVirtual
FreeMem(DataSource);
end;
-procedure TVirtualTreeEvents.DoNewText(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex;
- const NewText: String);
+procedure TVirtualTreeEvents.DoNewText(Sender: TBaseVirtualTree;
+ Node: PVirtualNode; Column: TColumnIndex; NewText: string);
var
NodeData : TvBaseNodeData;
begin
@@ -846,7 +847,7 @@ procedure TVirtualTreeEvents.GetFileListFromDataObject(
// Tidy up - release the drop handle
// don't use DropH again after this
DragFinish(Medium.hGlobal);
- ReleaseStgMedium(Medium);
+ ReleaseStgMedium(@Medium);
end;
end;
{$ENDIF}
@@ -901,7 +902,7 @@ function TVirtualTreeEvents.GetTextFromDataObject(
GlobalUnlock(Medium.hGlobal);
end;
finally
- ReleaseStgMedium(Medium);
+ ReleaseStgMedium(@Medium);
end;
end;
end;
@@ -937,7 +938,7 @@ procedure TVirtualTreeEvents.DoCompareNodesSearch(Sender: TBaseVirtualTree; Node
procedure TVirtualTreeEvents.DoGetImageIndex(Sender: TBaseVirtualTree;
Node: PVirtualNode; Kind: TVTImageKind; Column: TColumnIndex;
- var Ghosted: Boolean; var ImageIndex: Integer);
+ var Ghosted: Boolean; var ImageIndex: TImageIndex);
var
NodeData: TvBaseNodeData;
begin
@@ -958,7 +959,7 @@ procedure TVirtualTreeEvents.DoGetImageIndex(Sender: TBaseVirtualTree;
procedure TVirtualTreeEvents.DoGetImageIndexFrame(Sender: TBaseVirtualTree;
Node: PVirtualNode; Kind: TVTImageKind; Column: TColumnIndex;
- var Ghosted: Boolean; var ImageIndex: Integer);
+ var Ghosted: Boolean; var ImageIndex: TImageIndex);
var
NodeData : PFramesNodeData;
begin
@@ -972,7 +973,7 @@ procedure TVirtualTreeEvents.DoGetImageIndexFrame(Sender: TBaseVirtualTree;
procedure TVirtualTreeEvents.DoGetImageIndexHotkey(Sender: TBaseVirtualTree;
Node: PVirtualNode; Kind: TVTImageKind; Column: TColumnIndex;
- var Ghosted: Boolean; var ImageIndex: Integer);
+ var Ghosted: Boolean; var ImageIndex: TImageIndex);
var
NodeData: TvBaseNodeData;
begin
diff --git a/Library/VirtualTree.Helper.pas b/Library/VirtualTree.Helper.pas
index bb26d528..6a2f2ba8 100644
--- a/Library/VirtualTree.Helper.pas
+++ b/Library/VirtualTree.Helper.pas
@@ -42,6 +42,8 @@ VirtualTreeHelper = class helper for TVirtualStringTree
implementation
+uses
+ VirtualTrees.Types;
{ VirtualTreeHelper }
diff --git a/Library/VirtualTree.Methods.pas b/Library/VirtualTree.Methods.pas
index 1ed71110..637798e7 100644
--- a/Library/VirtualTree.Methods.pas
+++ b/Library/VirtualTree.Methods.pas
@@ -93,7 +93,7 @@ TVirtualTreeMethods = class
implementation
uses
- Utility.System, AppConfig.Main, NodeDataTypes.Files, Dialogs,
+ Utility.System, AppConfig.Main, NodeDataTypes.Files, Dialogs, VirtualTrees.Types,
Utility.FileFolder, Forms.PropertySeparator, Kernel.ResourceStrings,
NodeDataTypes.Category, NodeDataTypes.Separator, Forms.PropertyItem, Icons.Thread,
NodeDataTypes.Custom, Kernel.Consts, Icons.Node, Kernel.Logger, Utility.Misc,
diff --git a/Library/gtk3/Icons.Custom.pas b/Library/gtk3/Icons.Custom.pas
index 8d812db1..bf67dfc4 100644
--- a/Library/gtk3/Icons.Custom.pas
+++ b/Library/gtk3/Icons.Custom.pas
@@ -137,7 +137,7 @@ function TGTK3CustomIcon.ExtractIcon(const sIconName: AnsiString;
if FileExists(sIconName) then
pbPicture := gdk_pixbuf_new_from_file_at_size(PAnsiChar(sIconName), Size, Size, nil)
else
- pbPicture := gtk_icon_theme_load_icon(gtk_icon_theme_get_for_screen(gdk_screen_get_default), Pgchar(sIconName), Size, GTK_ICON_LOOKUP_USE_BUILTIN, nil);
+ pbPicture := gtk_icon_theme_load_icon(gtk_icon_theme_get_for_screen(gdk_screen_get_default), Pgchar(sIconName), Size, [GTK_ICON_LOOKUP_USE_BUILTIN], nil);
end;
if Assigned(pbPicture) then
diff --git a/Utilities/Utility.FileFolder.pas b/Utilities/Utility.FileFolder.pas
index d27a2fe5..d33d7537 100644
--- a/Utilities/Utility.FileFolder.pas
+++ b/Utilities/Utility.FileFolder.pas
@@ -6,7 +6,7 @@ interface
uses
Kernel.Consts, LCLIntf, LCLType, SysUtils, Classes, Kernel.Enumerations,
- FileUtil, {$IFDEF Windows}ComObj, {$ELSE} FakeActiveX, {$ENDIF} Dialogs,
+ FileUtil, {$IFDEF Windows}ComObj, {$ENDIF} Dialogs,
LazFileUtils, Kernel.Types;
{ Folders }
diff --git a/Utilities/Utility.XML.pas b/Utilities/Utility.XML.pas
index 31ac8503..c63eecda 100644
--- a/Utilities/Utility.XML.pas
+++ b/Utilities/Utility.XML.pas
@@ -37,7 +37,7 @@ function GetBoolPropertyXML(Node: TDOMNode; Name: String; Default: Boolean): Boo
implementation
uses
- NodeDataTypes.Custom, AppConfig.Main, Kernel.Types,
+ NodeDataTypes.Custom, AppConfig.Main, Kernel.Types, VirtualTrees.Types,
VirtualTree.Methods, NodeDataTypes.Files, Menus,
Kernel.Logger, Kernel.Instance, LCLProc;
diff --git a/utils/installPackages.ps1 b/utils/installPackages.ps1
index 3231e24e..74202bca 100644
--- a/utils/installPackages.ps1
+++ b/utils/installPackages.ps1
@@ -54,11 +54,11 @@ InstallPackageLink $LazBuildPath "$ASuiteSource/3p/mORMot2/packages/lazarus/morm
InstallPackageLink $LazBuildPath "$ASuiteSource/3p/HashLib4Pascal/HashLib/src/Packages/FPC/HashLib4PascalPackage.lpk"
InstallPackage $LazBuildPath "$ASuiteSource/3p/luipack/uniqueinstance/uniqueinstance_package.lpk"
InstallPackageLink $LazBuildPath "$ASuiteSource/3p/luipack/lclextensions/lclextensions_package.lpk"
-InstallPackage $LazBuildPath "$ASuiteSource/3p/VirtualTreeView-Lazarus/Source/virtualtreeview_package.lpk"
+InstallPackage $LazBuildPath "$ASuiteSource/3p/VirtualTreeView-Lazarus/Packages/Lazarus/virtualtreeview_package.lpk"
InstallPackage $LazBuildPath "$ASuiteSource/3p/AsuiteComps/ASuiteComps.lpk"
# Download mORMot 2 Static files and extract them in proper directory
-$Url = 'https://github.com/synopse/mORMot2/releases/download/2.0.4148/mormot2static.7z'
+$Url = 'https://github.com/synopse/mORMot2/releases/download/2.2.stable/mormot2static.7z'
$ZipFile = $(Split-Path -Path $Url -Leaf)
$Destination = $ASuiteSource + '/3p/mORMot2/static/'
$pwd = Get-Location