From 0348abaa8829ee168b78b54f42893f1529152912 Mon Sep 17 00:00:00 2001 From: Don Date: Tue, 24 Dec 2024 08:55:44 +0000 Subject: [PATCH] Final tweaks before release. --- fpcupdeluxe.lps | 69 ++++++-- fpcupdeluxetrunk.lps | 194 +++++++---------------- public/gitrevision.txt | 2 +- sources/fpcup.ini | 3 +- sources/revision.inc | 6 +- sources/updeluxe/fpcupdeluxemainform.lfm | 48 +++--- sources/updeluxe/fpcupdeluxemainform.pas | 12 +- up.res | Bin 328694 -> 479628 bytes 8 files changed, 147 insertions(+), 187 deletions(-) diff --git a/fpcupdeluxe.lps b/fpcupdeluxe.lps index 7288441c..2a3ba728 100644 --- a/fpcupdeluxe.lps +++ b/fpcupdeluxe.lps @@ -4,16 +4,18 @@ - - + + - + + - + + @@ -21,11 +23,11 @@ - - - + + + @@ -75,6 +77,8 @@ + + @@ -124,9 +128,9 @@ - - - + + + @@ -243,8 +247,8 @@ - - + + @@ -535,9 +539,9 @@ - - - + + + @@ -4950,11 +4954,44 @@ + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + diff --git a/fpcupdeluxetrunk.lps b/fpcupdeluxetrunk.lps index 98e01963..40f5f4ec 100644 --- a/fpcupdeluxetrunk.lps +++ b/fpcupdeluxetrunk.lps @@ -4,7 +4,6 @@ - @@ -13,7 +12,7 @@ - + @@ -21,9 +20,10 @@ - - - + + + + @@ -35,13 +35,13 @@ - + - + @@ -50,7 +50,7 @@ - + @@ -58,7 +58,7 @@ - + @@ -66,29 +66,33 @@ - + - + + + - + - + + + - + @@ -96,17 +100,15 @@ - + - - - - + + + - @@ -118,11 +120,10 @@ - - - + + + - @@ -134,11 +135,10 @@ - - + + - @@ -164,20 +164,18 @@ - - + + - - + - @@ -685,11 +683,10 @@ - - - + + + - @@ -715,11 +712,10 @@ - + - @@ -739,27 +735,24 @@ - + - - + - - + - @@ -776,119 +769,42 @@ - + - - + + - - + + - - + + - - + + - - + + - - + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/public/gitrevision.txt b/public/gitrevision.txt index 0614b048..8767f645 100644 --- a/public/gitrevision.txt +++ b/public/gitrevision.txt @@ -1 +1 @@ -[master]darwin_amd64_crossbins_all-2916(23d86e6) +[master]darwin_amd64_crossbins_all-2917(ea1e6a5) diff --git a/sources/fpcup.ini b/sources/fpcup.ini index 6e5c84dc..e173d039 100644 --- a/sources/fpcup.ini +++ b/sources/fpcup.ini @@ -19,7 +19,7 @@ ; ... and you can define your own, like below: [fpcupinfo] -inifileversion=4.0.0.1 +inifileversion=4.0.0.2 [ALIASfpcURL] stable.git=https://github.com/LongDirtyAnimAlf/fpcsource_3_2_2.git @@ -108,6 +108,7 @@ stable.gitlab=release_3_2_2 [ALIASlazTAG] stable.gitlab=lazarus_3_6 +; 4.0.gitlab=lazarus_4_0 3.6.gitlab=lazarus_3_6 3.4.gitlab=lazarus_3_4 3.2.gitlab=lazarus_3_2 diff --git a/sources/revision.inc b/sources/revision.inc index d390a004..08730ad1 100644 --- a/sources/revision.inc +++ b/sources/revision.inc @@ -1,4 +1,4 @@ const - {%H-}DELUXEVERSION='2.4.0fp'; - {%H-}RevisionStr='504'; - {%H-}VersionDate='20241102'; + {%H-}DELUXEVERSION='2.4.0f'; + {%H-}RevisionStr='506'; + {%H-}VersionDate='20241224'; diff --git a/sources/updeluxe/fpcupdeluxemainform.lfm b/sources/updeluxe/fpcupdeluxemainform.lfm index ed0f55bd..87f75700 100644 --- a/sources/updeluxe/fpcupdeluxemainform.lfm +++ b/sources/updeluxe/fpcupdeluxemainform.lfm @@ -9,11 +9,11 @@ object Form1: TForm1 ClientWidth = 1190 Constraints.MinHeight = 400 Menu = MainMenu1 - LCLVersion = '3.99.0.0' - Visible = True OnClose = FormClose OnCreate = FormCreate OnDestroy = FormDestroy + LCLVersion = '3.2.0.0' + Visible = True object btnSetupPlus: TButton AnchorSideLeft.Control = PageControl1 AnchorSideTop.Control = PageControl1 @@ -700,11 +700,11 @@ object Form1: TForm1 Caption = 'WA' Images = ImageList_32x32 ImageIndex = 7 + OnClick = QuickBtnClick ParentFont = False ParentShowHint = False ShowHint = True TabOrder = 9 - OnClick = QuickBtnClick end object TrunkBtn: TBitBtn AnchorSideLeft.Control = Panel1 @@ -721,11 +721,11 @@ object Form1: TForm1 Caption = 'Trunk' Images = ImageList_32x32 ImageIndex = 4 + OnClick = QuickBtnClick ParentFont = False ParentShowHint = False ShowHint = True TabOrder = 0 - OnClick = QuickBtnClick end object FixesBtn: TBitBtn AnchorSideLeft.Control = TrunkBtn @@ -743,11 +743,11 @@ object Form1: TForm1 Caption = 'Fixes' Images = ImageList_32x32 ImageIndex = 0 + OnClick = QuickBtnClick ParentFont = False ParentShowHint = False ShowHint = True TabOrder = 1 - OnClick = QuickBtnClick end object StableBtn: TBitBtn AnchorSideLeft.Control = FixesBtn @@ -765,11 +765,11 @@ object Form1: TForm1 Caption = 'Stable' Images = ImageList_32x32 ImageIndex = 3 + OnClick = QuickBtnClick ParentFont = False ParentShowHint = False ShowHint = True TabOrder = 2 - OnClick = QuickBtnClick end object AndroidBtn: TBitBtn AnchorSideLeft.Control = StableBtn @@ -787,11 +787,11 @@ object Form1: TForm1 Caption = 'LAMW' Images = ImageList_32x32 ImageIndex = 6 + OnClick = QuickBtnClick ParentFont = False ParentShowHint = False ShowHint = True TabOrder = 3 - OnClick = QuickBtnClick end object WioBtn: TBitBtn AnchorSideLeft.Control = WABtn @@ -809,11 +809,11 @@ object Form1: TForm1 Caption = 'Wio' Images = ImageList_32x32 ImageIndex = 14 + OnClick = QuickBtnClick ParentFont = False ParentShowHint = False ShowHint = True TabOrder = 4 - OnClick = QuickBtnClick end object PicoBtn: TBitBtn AnchorSideLeft.Control = WioBtn @@ -831,11 +831,11 @@ object Form1: TForm1 Caption = 'Pico' Images = ImageList_32x32 ImageIndex = 12 + OnClick = QuickBtnClick ParentFont = False ParentShowHint = False ShowHint = True TabOrder = 5 - OnClick = QuickBtnClick end object UltiboBtn: TBitBtn AnchorSideLeft.Control = ESPBtn @@ -852,11 +852,11 @@ object Form1: TForm1 BorderSpacing.Around = 4 Images = ImageList_88x32 ImageIndex = 1 + OnClick = QuickBtnClick ParentFont = False ParentShowHint = False ShowHint = True TabOrder = 6 - OnClick = QuickBtnClick end object mORMotBtn: TBitBtn AnchorSideLeft.Control = UltiboBtn @@ -874,11 +874,11 @@ object Form1: TForm1 Caption = 'mORMot2' Images = ImageList_32x32 ImageIndex = 11 + OnClick = btnInstallModuleClick ParentFont = False ParentShowHint = False ShowHint = True TabOrder = 7 - OnClick = btnInstallModuleClick end object ESPBtn: TBitBtn AnchorSideLeft.Control = PicoBtn @@ -896,11 +896,11 @@ object Form1: TForm1 Caption = 'ESP32' Images = ImageList_32x32 ImageIndex = 10 + OnClick = QuickBtnClick ParentFont = False ParentShowHint = False ShowHint = True TabOrder = 10 - OnClick = QuickBtnClick end object BitBtnHalt: TBitBtn AnchorSideTop.Control = Panel1 @@ -920,11 +920,11 @@ object Form1: TForm1 Enabled = False Images = ImageList_32x32 ImageIndex = 5 + OnClick = BitBtnHaltClick ParentFont = False ParentShowHint = False ShowHint = True TabOrder = 8 - OnClick = BitBtnHaltClick end end object memoSummary: TMemo @@ -1081,11 +1081,11 @@ object Form1: TForm1 Layout = blGlyphTop Images = ImageList_32x32 ImageIndex = 1 + OnClick = InstallClick ParentFont = False ParentShowHint = False ShowHint = True TabOrder = 0 - OnClick = InstallClick end object BitBtnLazarusOnly: TBitBtn AnchorSideLeft.Control = ListBoxLazarusTarget @@ -1106,11 +1106,11 @@ object Form1: TForm1 Layout = blGlyphTop Images = ImageList_32x32 ImageIndex = 2 + OnClick = InstallClick ParentFont = False ParentShowHint = False ShowHint = True TabOrder = 1 - OnClick = InstallClick end object BitBtnFPCandLazarus: TBitBtn AnchorSideLeft.Control = BasicSheet @@ -1135,11 +1135,11 @@ object Form1: TForm1 Layout = blGlyphTop Images = ImageList_88x32 ImageIndex = 0 + OnClick = InstallClick ParentFont = False ParentShowHint = False ShowHint = True TabOrder = 2 - OnClick = InstallClick end object chkGitlab: TCheckBox AnchorSideLeft.Control = BasicSheet @@ -1237,10 +1237,10 @@ object Form1: TForm1 'riscv32' 'riscv64' ) + OnSelectionChanged = radgrpTargetChanged ParentFont = False ParentShowHint = False TabOrder = 0 - OnSelectionChanged = radgrpTargetChanged end object radgrpOS: TRadioGroup AnchorSideLeft.Control = radgrpCPU @@ -1298,10 +1298,10 @@ object Form1: TForm1 'wasi' 'atari' ) + OnSelectionChanged = radgrpTargetChanged ParentFont = False ParentShowHint = False TabOrder = 1 - OnSelectionChanged = radgrpTargetChanged end object ButtonInstallCrossCompiler: TButton AnchorSideLeft.Control = radgrpCPU @@ -1502,10 +1502,10 @@ object Form1: TForm1 Caption = 'OPM' Images = ImageList_32x32 ImageIndex = 9 + OnClick = btnInstallModuleClick ParentShowHint = False ShowHint = True TabOrder = 4 - OnClick = btnInstallModuleClick end object DockBtn: TBitBtn AnchorSideLeft.Control = OPMBtn @@ -1526,10 +1526,10 @@ object Form1: TForm1 Caption = 'Dock' Images = ImageList_32x32 ImageIndex = 8 + OnClick = btnInstallModuleClick ParentShowHint = False ShowHint = True TabOrder = 5 - OnClick = btnInstallModuleClick end end object TagSheet: TTabSheet @@ -1643,11 +1643,11 @@ object Form1: TForm1 Layout = blGlyphTop Images = ImageList_32x32 ImageIndex = 1 + OnClick = OnlyTagClick ParentFont = False ParentShowHint = False ShowHint = True TabOrder = 2 - OnClick = OnlyTagClick end object BitBtnLazarusOnlyTag: TBitBtn AnchorSideLeft.Control = ListBoxLazarusTargetTag @@ -1668,11 +1668,11 @@ object Form1: TForm1 Layout = blGlyphTop Images = ImageList_32x32 ImageIndex = 2 + OnClick = OnlyTagClick ParentFont = False ParentShowHint = False ShowHint = True TabOrder = 3 - OnClick = OnlyTagClick end object MemoAddTag: TMemo AnchorSideLeft.Control = TagSheet @@ -1761,11 +1761,11 @@ object Form1: TForm1 Layout = blGlyphTop Images = ImageList_32x32 ImageIndex = 1 + OnClick = BitBtnSetRevisionClick ParentFont = False ParentShowHint = False ShowHint = True TabOrder = 0 - OnClick = BitBtnSetRevisionClick end object BitBtnLazarusSetRevision: TBitBtn AnchorSideLeft.Control = HistorySheet @@ -1789,11 +1789,11 @@ object Form1: TForm1 Layout = blGlyphTop Images = ImageList_32x32 ImageIndex = 2 + OnClick = BitBtnSetRevisionClick ParentFont = False ParentShowHint = False ShowHint = True TabOrder = 1 - OnClick = BitBtnSetRevisionClick end object MemoHistory: TMemo AnchorSideLeft.Control = HistorySheet diff --git a/sources/updeluxe/fpcupdeluxemainform.pas b/sources/updeluxe/fpcupdeluxemainform.pas index 004ff698..573b99b1 100644 --- a/sources/updeluxe/fpcupdeluxemainform.pas +++ b/sources/updeluxe/fpcupdeluxemainform.pas @@ -337,6 +337,8 @@ TForm1 = class(TForm) upSelectCPUTarget = 'Please select a CPU target first.'; upSelectOSTarget = 'Please select an OS target first.'; + upGITNotFound = 'No GIT executable found on system. Tag-list cannot be received.'; + var Form1: TForm1; @@ -1921,6 +1923,9 @@ procedure TForm1.PageControl1Change(Sender: TObject); if FileExists(GitExe) then begin + //Do this only once !! + TPageControl(Sender).OnChange:=nil; + aTargetListBox[FPC]:=ListBoxFPCTargetTag; aTargetListBox[LAZARUS]:=ListBoxLazarusTargetTag; @@ -1970,10 +1975,11 @@ procedure TForm1.PageControl1Change(Sender: TObject); end; aFileList.Free; + end + else + begin + AddMessage(upGITNotFound); end; - - //Do this only once !! - TPageControl(Sender).OnChange:=nil; end; end; diff --git a/up.res b/up.res index a45c68844c8cc4cffc44f8f35b5f1d51e0b4e2a2..dc9237468a650dea6e9b28df5e73f2de3ec33396 100644 GIT binary patch delta 102291 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 delta 7788 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 nUf7(`;O~RC-+uSupZ@bdhTAD?