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