From f1a4e8043abe4816b2a6d36dd9a3acba5303e3be Mon Sep 17 00:00:00 2001 From: gbamber Date: Thu, 26 Jan 2017 16:53:05 +0000 Subject: [PATCH] To V0.3.4 Added OnUpdate event git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5707 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- .../lazautoupdate/latest_stable/lazupdate.lpk | 4 +- .../latest_stable/trayicon/trayupdater.lpi | 3 +- .../latest_stable/trayicon/trayupdater.lps | 74 +++++++++--------- .../latest_stable/trayicon/trayupdater.res | Bin 3488 -> 3484 bytes .../latest_stable/ulazautoupdate.pas | 58 +++++++++++--- .../latest_stable/updatepack/umainform.lfm | 7 +- .../latest_stable/updatepack/umainform.pas | 40 +++++++++- .../latest_stable/updatepack/updatepack.lpi | 2 +- .../latest_stable/updatepack/updatepack.res | Bin 5092 -> 5092 bytes .../latest_stable/updates/lazautoupdate.zip | Bin 901938 -> 902153 bytes .../updates/update_lazautoupdate.json | 2 +- 11 files changed, 132 insertions(+), 58 deletions(-) diff --git a/components/lazautoupdate/latest_stable/lazupdate.lpk b/components/lazautoupdate/latest_stable/lazupdate.lpk index f047622a2..c58120389 100644 --- a/components/lazautoupdate/latest_stable/lazupdate.lpk +++ b/components/lazautoupdate/latest_stable/lazupdate.lpk @@ -32,7 +32,7 @@ A component for SourceForge and GitHub Project Developers and end-users to update their apps easily. Drop onto a form, set a few properties and call the Method 'AutoUpdate' - as easy as pie! Fully configurable. -Included in the source tree is Update Pack - an app that makes update maintenance simple and efficient. Also TrayUpdater - a systray app that scedules updates automatically. +Included in the source tree is Update Pack - an app that makes update maintenance simple and efficient. Also TrayUpdater - a systray app that schedules updates automatically. Compiles and runs in Windows and Linux. More information in the Wiki Home Page http://wiki.freepascal.org/LazAutoUpdater"/> - + diff --git a/components/lazautoupdate/latest_stable/trayicon/trayupdater.lpi b/components/lazautoupdate/latest_stable/trayicon/trayupdater.lpi index 4ee76a880..63cb8d15d 100644 --- a/components/lazautoupdate/latest_stable/trayicon/trayupdater.lpi +++ b/components/lazautoupdate/latest_stable/trayicon/trayupdater.lpi @@ -22,8 +22,7 @@ - - + diff --git a/components/lazautoupdate/latest_stable/trayicon/trayupdater.lps b/components/lazautoupdate/latest_stable/trayicon/trayupdater.lps index 7c30965b7..7fd5be1d4 100644 --- a/components/lazautoupdate/latest_stable/trayicon/trayupdater.lps +++ b/components/lazautoupdate/latest_stable/trayicon/trayupdater.lps @@ -8,10 +8,11 @@ + - + @@ -43,7 +44,6 @@ - @@ -262,123 +262,123 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - - - - - - + + - - + + + + + + - + diff --git a/components/lazautoupdate/latest_stable/trayicon/trayupdater.res b/components/lazautoupdate/latest_stable/trayicon/trayupdater.res index fa455fa74544da01b99e80e8b8a7040bb60bc38c..53e7eaaa17856af52da3dbd4fba849539af52c7e 100644 GIT binary patch delta 61 zcmZ1=Jx6+i0%O5MMR_3MsL#&C00tAwRT(c#oU6>ZX5+zXCT0T$j>-1SikwCadJG02 Kyg8TIm@~ diff --git a/components/lazautoupdate/latest_stable/ulazautoupdate.pas b/components/lazautoupdate/latest_stable/ulazautoupdate.pas index ba3028213..d252a682c 100644 --- a/components/lazautoupdate/latest_stable/ulazautoupdate.pas +++ b/components/lazautoupdate/latest_stable/ulazautoupdate.pas @@ -138,9 +138,10 @@ const V0.2.9: Added CreateLocalLauImportFile in UpdateToNewVersion V0.3.1: Added SetExecutePermission (LINUX only) V0.3.2: Bugfix for DoSilentUpdate - V0.3.3: ?? + V0.3.3: Added event OnUpdate + V0.3.4: ?? } - C_TLazAutoUpdateComponentVersion = '0.3.2'; + C_TLazAutoUpdateComponentVersion = '0.3.3'; C_TThreadedDownloadComponentVersion = '0.0.3'; { V0.0.1: Initial alpha @@ -253,9 +254,9 @@ type OnlineVersion: string) of object; TOnDownloaded = procedure(Sender: TObject; ResultCode, BytesDownloaded: integer) of object; - // ToDo: TOnUpdated?? TOnDebugEvent = procedure(Sender: TObject; lauMethodName, lauMessage: string) of object; + TOnUpdated = Procedure(Sender:TObject;NewVersion,LauMessage:String) of Object; TLazAutoUpdate = class(TAboutLazAutoUpdate) private @@ -293,6 +294,7 @@ type FOnNewVersionAvailable: TOnNewVersionAvailable; FOnDownloaded: TOnDownloaded; fOnDebugEvent: TOnDebugEvent; + fOnUpdated:TOnUpdated; fLastError: string; fVersionCountLimit, fDownloadCountLimit: cardinal; fZipfileName: string; @@ -317,6 +319,8 @@ type function GetThreadDownloadReturnCode: integer; function IsOnlineVersionNewer(const sznewINIPath: string): boolean; function DoSilentUpdate: boolean; + function GetUpdateSilentExe:String; + function GetUpdateExe:String; protected public @@ -394,6 +398,7 @@ type read FOnNewVersionAvailable write FOnNewVersionAvailable; property OnDownloaded: TOnDownloaded read fOnDownloaded write fOnDownloaded; property OnDebugEvent: TOnDebugEvent read fOnDebugEvent write fOnDebugEvent; + property OnUpdated:TOnUpdated read fOnUpdated write fOnUpdated; // Embedded class property ThreadDownload: TThreadedDownload @@ -432,9 +437,9 @@ type // Default is application filename.zip property ZipfileName: string read fZipfileName write fZipfileName; // Name of Console app - property UpdateExe: string read fUpdateExe; + property UpdateExe: string read GetUpdateExe; // Name of Console app - property UpdateExeSilent: string read fUpdateSilentExe; + property UpdateExeSilent: string read GetUpdateSilentExe; // Main project name/UserName property GitHubProjectname: string read fGitHubProjectName write fGitHubProjectName; // Name of your GitHub repository within the project/username @@ -726,9 +731,8 @@ begin fZipfileName := ''; // assign later // BE SURE TO CHANGE THE CONSTANTS IF YOU CHANGE THE UPDATE EXE NAME - fUpdateExe := C_UPDATEHMNAME; - fUpdateSilentExe := C_LAUUPDATENAME; - + GetUpdateSilentExe; + GetUpdateExe; // Assorted versioninfo properties fLCLVersion := GetLCLVersion; @@ -771,6 +775,23 @@ begin FreeAndNil(fThreadDownload); inherited Destroy; end; +function TLazAutoUpdate.GetUpdateSilentExe:String; +begin + fUpdateSilentExe := C_LAUUPDATENAME; + If csDesigning in ComponentState then + Result:='lauupdate' + else + Result:=fUpdateSilentExe; +end; + +function TLazAutoUpdate.GetUpdateExe:String; +begin + fUpdateExe := C_UPDATEHMNAME; + If csDesigning in ComponentState then + Result:='updatehm' + else + Result:=fUpdateExe; +end; function TLazAutoUpdate.AppIsActive(const ExeName: string): boolean; begin @@ -844,6 +865,7 @@ begin C_WhatsNewFilename); Exit; end; + // Create the form, memo and close button if fParentForm <> nil then WhatsNewForm := TForm.CreateNew(fParentForm) @@ -2116,14 +2138,32 @@ begin begin fParentApplication.ProcessMessages; Inc(CCount); - if cCount > 10000000 then + if cCount > 100000 then + begin + // Fire the OnUpdated event + If Assigned(fOnUpdated) then + begin + fOnUpdated(Self,fGUIOnlineVersion,'Unsuccessful update'); + Application.Processmessages; + Sleep(100); + end; Break; // Get out of jail in case updatehm.exe fails to copy file + end; end; finally FUpdateHMProcess.Free; end; {$ENDIF} CreateLocalLauImportFile; // Creates a new import file in GetAppConfigDirUTF8 + + // Fire the OnUpdated event + If Assigned(fOnUpdated) then + begin + fOnUpdated(Self,fGUIOnlineVersion,'Successful update'); + Application.Processmessages; + Sleep(100); + end; + if fFireDebugEvent then fOndebugEvent(Self, 'UpdateToNewVersion', 'Success'); diff --git a/components/lazautoupdate/latest_stable/updatepack/umainform.lfm b/components/lazautoupdate/latest_stable/updatepack/umainform.lfm index 5a1cee757..8da6bc6f1 100644 --- a/components/lazautoupdate/latest_stable/updatepack/umainform.lfm +++ b/components/lazautoupdate/latest_stable/updatepack/umainform.lfm @@ -1,7 +1,7 @@ object mainform: Tmainform - Left = 1335 + Left = 375 Height = 481 - Top = 384 + Top = 127 Width = 587 AllowDropFiles = True BorderIcons = [biSystemMenu, biMinimize] @@ -706,7 +706,10 @@ object mainform: Tmainform About.AuthorEmail = 'minesadorada@gmail.com' About.ComponentName = 'Laz Auto-update v0.1.1' About.LicenseType = abLGPL + OnNewVersionAvailable = LazAutoUpdate1NewVersionAvailable + OnDownloaded = LazAutoUpdate1Downloaded OnDebugEvent = LazAutoUpdate1DebugEvent + OnUpdated = LazAutoUpdate1Updated SFProjectName = 'lazautoupdate' UpdatesFolder = 'updates' VersionsININame = 'updatepack.ini' diff --git a/components/lazautoupdate/latest_stable/updatepack/umainform.pas b/components/lazautoupdate/latest_stable/updatepack/umainform.pas index f4b385436..c28215502 100644 --- a/components/lazautoupdate/latest_stable/updatepack/umainform.pas +++ b/components/lazautoupdate/latest_stable/updatepack/umainform.pas @@ -182,6 +182,12 @@ type procedure FormShow(Sender: TObject); procedure grp_dragfilesDblClick(Sender: TObject); procedure LazAutoUpdate1DebugEvent(Sender: TObject; WhereAt, Message: string); + procedure LazAutoUpdate1Downloaded(Sender: TObject; ResultCode, + BytesDownloaded: integer); + procedure LazAutoUpdate1NewVersionAvailable(Sender: TObject; + Newer: boolean; OnlineVersion: string); + procedure LazAutoUpdate1Updated(Sender: TObject; NewVersion, + LauMessage: String); procedure lst_dragfilesDblClick(Sender: TObject); procedure mnuoptionsDisplayFileMangerClick(Sender: TObject); procedure mnuoptionsShowCodeInfoClick(Sender: TObject); @@ -419,27 +425,30 @@ begin cmb_profile.Clear; cmb_profile.Items := ProfileNameList; cmb_profile.ItemIndex := cmb_profile.Items.IndexOf(szCurrentProfileName); + { if LazAutoUpdate1.CreateLocalLauImportFile then LazAutoUpdate1.RelocateLauImportFile; + } if bIsVirgin then PageControl1.ActivePage := tab_intro else PageControl1.ActivePage := tab_configure; + if DebugMode then + BEGIN EventLog1.FileName := ChangeFileExt(ParamStr(0), '.log'); - if DebugMode then if FileExistsUTF8(EventLog1.FileName) then SysUtils.DeleteFile(EventLog1.FileName); - if DebugMode then EventLog1.AppendContent := True; - if DebugMode then EventLog1.Active := True; - LazAutoUpdate1.DebugMode := DebugMode; + LazAutoUpdate1.DebugMode := DebugMode; + end; end; procedure Tmainform.FormDestroy(Sender: TObject); begin // No memory leaks! + If Assigned(EventLog1) then FreeAndNil(EventLog1); FreeAndNil(ProfileConfig); FreeAndNil(AppConfig); FreeAndNil(ProfilenameList); @@ -494,6 +503,29 @@ begin EventLog1.Log(Format('LazAutoUpdate: Source=%s, Message=%s', [WhereAt, Message])); end; +procedure Tmainform.LazAutoUpdate1Downloaded(Sender: TObject; ResultCode, + BytesDownloaded: integer); +begin + if DebugMode and (EventLog1.Active = True) then + EventLog1.Log(Format('LazAutoUpdate: OnDownloaded ResultCode=%d BytesDownloaded=%d', + [ResultCode, BytesDownloaded])); +end; + +procedure Tmainform.LazAutoUpdate1NewVersionAvailable(Sender: TObject; + Newer: boolean; OnlineVersion: string); +begin + if DebugMode and (EventLog1.Active = True) then + EventLog1.Log(Format('LazAutoUpdate: NewVersionAvailable OnlineVersion=%s', + [OnlineVersion])); +end; + +procedure Tmainform.LazAutoUpdate1Updated(Sender: TObject; NewVersion, + LauMessage: String); +begin + if DebugMode and (EventLog1.Active = True) then + EventLog1.Log(Format('LazAutoUpdate: New Version=%s, Message=%s', [NewVersion, LauMessage])); +end; + procedure Tmainform.lst_dragfilesDblClick(Sender: TObject); var i: integer; diff --git a/components/lazautoupdate/latest_stable/updatepack/updatepack.lpi b/components/lazautoupdate/latest_stable/updatepack/updatepack.lpi index ac931ba76..0ca97aca4 100644 --- a/components/lazautoupdate/latest_stable/updatepack/updatepack.lpi +++ b/components/lazautoupdate/latest_stable/updatepack/updatepack.lpi @@ -23,7 +23,7 @@ - + diff --git a/components/lazautoupdate/latest_stable/updatepack/updatepack.res b/components/lazautoupdate/latest_stable/updatepack/updatepack.res index 0f0b3e2479ea5c938336d3b4d2ad84adf8239801..d79b33defa3458fa42815b6749102c1f01bbee6f 100644 GIT binary patch delta 21 dcmaE&{zQGlIW|VN&F9%RGBKKMZsbhn0svx62fhFR delta 21 dcmaE&{zQGlIW|U?&F9%RGBKKLZsbhn0svwr2f6?N diff --git a/components/lazautoupdate/latest_stable/updates/lazautoupdate.zip b/components/lazautoupdate/latest_stable/updates/lazautoupdate.zip index 1975b0c0526ae209878e25844332c9850cf316cf..1be6b6817335f4d983137187ee3d71477665a7a1 100644 GIT binary patch delta 21335 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 McZgEcFCWhQAH>7_w*UYD delta 21151 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 diff --git a/components/lazautoupdate/latest_stable/updates/update_lazautoupdate.json b/components/lazautoupdate/latest_stable/updates/update_lazautoupdate.json index 6da75d9ec..f28054264 100644 --- a/components/lazautoupdate/latest_stable/updates/update_lazautoupdate.json +++ b/components/lazautoupdate/latest_stable/updates/update_lazautoupdate.json @@ -9,7 +9,7 @@ "ForceNotify" : false, "InternalVersion" : 1, "Name" : "lazupdate.lpk", - "Version" : "0.3.2.0" + "Version" : "0.3.3.0" } ] }