diff --git a/windows/src/desktop/kmshell/main/Keyman.Configuration.UI.UfrmStartInstall.dfm b/windows/src/desktop/kmshell/main/Keyman.Configuration.UI.UfrmStartInstall.dfm index 0ca96f7123..592245267b 100644 --- a/windows/src/desktop/kmshell/main/Keyman.Configuration.UI.UfrmStartInstall.dfm +++ b/windows/src/desktop/kmshell/main/Keyman.Configuration.UI.UfrmStartInstall.dfm @@ -4,8 +4,8 @@ object frmStartInstall: TfrmStartInstall BorderIcons = [biSystemMenu] BorderStyle = bsDialog Caption = 'Keyman Update' - ClientHeight = 142 - ClientWidth = 322 + ClientHeight = 201 + ClientWidth = 393 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText @@ -17,33 +17,149 @@ object frmStartInstall: TfrmStartInstall PixelsPerInch = 96 TextHeight = 13 object lblInstallUpdate: TLabel - Left = 72 - Top = 48 - Width = 180 - Height = 19 - Caption = 'Keyman update available.' - Font.Charset = DEFAULT_CHARSET + Left = 87 + Top = 81 + Width = 218 + Height = 65 + Caption = 'An update to Keyman has been downloaded and is ready to install.' + Font.Charset = ANSI_CHARSET Font.Color = clWindowText - Font.Height = -16 - Font.Name = 'Tahoma' + Font.Height = -13 + Font.Name = 'Segoe UI' Font.Style = [] ParentFont = False + WordWrap = True + end + object imgKeymanLogo: TImage + Left = 8 + Top = 8 + Width = 201 + Height = 43 + Picture.Data = { + 0954506E67496D61676589504E470D0A1A0A0000000D49484452000000C30000 + 002E080600000095A5ADF6000000017352474200AECE1CE90000000467414D41 + 0000B18F0BFC6105000000097048597300000B0F00000B0F0192F903A500000C + EE4944415478DAED9D7B6C53D71DC77F76123B0FA893102083B1180AA87450A0 + ACAF3D5433AD629A2A06ACDA43955A83D43FB656C54C1BDAF64F0D7F22B482A6 + 6E95260DB307D3A6AD846AEDD4B1AD0EA3A0C158C30AE52106C95268024988F3 + B41D27DEEF77EFB17B7D7D1ED78E83A372BED2951DDF737FF79C73CFE79CDFEF + DC736F5CE9741AB4B4B4005C1A062D2D531A062D2D260D8396169386414B8B49 + C3A0A5C5A461D0D2629A36189E7FEBDC1AFCA87F65C3CA68B90BA9A5E5442587 + 0121A8C78F286EABD94F31F6772B6D08C7C09D28D852FFE228EFF72B1DD7020E + 8EA5324470AB172489A09DC89D2887D69D534961E080C0531B7C0446C774150C + 1B34B760D8885D0E8E6D9794E120DA084E57BEB5CAA792C1C0DCA208C841B0EB + 2C9860EC2BF588512C0C781C95E159C16E0DC2C758258101410835D57A7E9448 + 4DCE1E4AA6AAE9B786EAAAAE39359EA69A4A774D6A320D17FA8665268E200C9B + 4A59B06260D020DCDD2A1A06361204700BE1D6525755012E972B3ECC6058D650 + 07B33C9570BE7728F5C0DC7B2AFBC692F16BB1D16A81B95D0843B894052B1406 + 0508348205F0D83B12EF68954705C38010500F7E98B76F7E9DB7AFA6B2A2A2CA + EDAABF3E1C4F8E8E4F78AADCEED175CDBEDA58621C7A4612E343C989F10A374C + 2427D29EC974DA0B6680ED2737E9E89287C3600276E489ABA75E9E4AC10A8101 + D312D0A2F36910EE121503831FCC20B9C530E082D1FB1A67D5922B8430E4A5A7 + DF2BDDB9ED8FC0E81A8CC7C6521313F8E78B3FFED2FDBF4110EC90FD048178B1 + D882398501D305F1E380C08C2310D006D509011580DC988940A7609CE2A288D5 + 0E9BB16A15980C61DA76C9F96854DE27285F00F7D3BE3522BB2CBF6196DF164B + 5EA36417D34439E70BD9D267EAA7951D23AC2356D600CB5380FDEC67B6C8061D + DBC1CEDF2AB2C5AE55B0C072918E30BB1190C8390C7B9AD7C0CEEEEC05422828 + 53BBDD2ED7BCA61A4F1FC60A696CDC0BF17BFF2766791B7DDE2AA5C981F8F8F7 + BFBDAE65EFD5FD3FF7F7FCF96FA7862F5F9D6B4BF24D04E277CE329857714A18 + A60A02BBC8D4F044EE9555D4D8C2686F9FE578D1ACD57E4C17929C378C1F2F71 + 761DC1E336B169E5C739FBD783D9084565CE3B3F036BBB227D276E9BEC005B20 + 72523FC27A7250EE4CB9E8189FC4761BCB27F79AAA612008887EAFAF05967CF1 + 1234DEFB2AD0ACD1E7BE6718FCEDF91BC1FEB164E8FA706221F6F84DF41B06CE + B062CE2C55A1B77EEBD30B223822D45735F84E54D6D5AE18FBE0437B9A51DCB6 + 1503840A06DC2F74F7C0390851286CF68C940DC4253076621ABFE4DC2288B652 + EF2781E120386F98BB70DB5440F90C77D736FA51DB79B7C0FAC9AB278BBD30F0 + 6128A45C4687C1DBE1048676A89BB71A563F3D06AE8A1A4BC1894282A2837E40 + 2802576E8FFCA07B24B181FE5EECAB8D23141430C7AA2BDD565AA917092108AD + 3822D40FFEE7FDF678CFAD96F1D820247BFB613291B4E7A028206430B08B1405 + 7E2F329D2064B4837A3E66A743908FB53C5789B902D738E96398BE9EA5A1BCF1 + 60986EEDC23C846DF9A5F2B514650D6033DA6BB5D822DB2F1569CBAAF5765790 + 2487614FB379F2475E884165B568F8212AF72114C685A398021BFF3634FDCCCA + A6D92D1853F42320F1967B6A4EE3EE561A0D281D8260DC97484F4C2EFFF0F01B + 358D9F7D28951A1C9EEC79EB6D0FE71C0503218201B516C42010E46BB0A23A14 + B6A90CB29E8886633FC81BC1623A8FC416D7559204FBD61187CA570E18F24634 + 876E96237B2584813B3A8861D8D34C99B806BE45002BBFE1E404D400088A5659 + 221A0DC0F42369331A64ECECF9CEDEE88996454F6FE9ED6D3BD9C471974863B8 + AD40203A9D644602430CC47EE5565590A518FAC9B5C80693983600E608CA1B41 + 8CC62BB1C77595242E52762451C040E5A732521EE95A0441EE6793E8DA46D9F7 + 00C8415B6CED4C581DBC0DA6474036DAD996D126451EACE50A831C06EA9833E7 + 269BA2CE283B8A5A2583C1ACD0BA79D8573E038E14EB02484FF440BDFF558422 + 6CDDC54682102B7C4EC127C6E2C3899BB7DC9EC6C6EACE5F1C724BCED085307C + CA49562430C874162B698D2C41113DB91FCC8BCFBBD80D048EC495C87195242E + 92BD078D02BFC11208019B4D99AB462AC47727ADE7CD462966C7646EE78E4C30 + AD386F8E4BA5A807EE143B1F863DCDB943F1633BE2E0AE10DD30B35435C2F0DF + A3D7E1C16D0BF1AF3308C467E867044116ACC2E07B17866EFDFDF86CA57D535B + 1188882A51913090543339D4A3DA1B4E5EF0683B46E42A181750E2FAE4E44592 + 6E876D962A0AFC46200256E6CA34D8CBC51AEF6D417AAE3FAE926442231B87A8 + 66D1383685A3B833184CF728B727A3D161C5E65EF0CE6E929628816DE2DF0712 + F0582873C3612DC5120883A81059A52726E2375E7BB33A7EA35B556FD30D0329 + AF976136A96E783D3305DD21893DBA28BC466C5C6849E3B2F7F894A7AF72D2D9 + 5D9328F06110952B00A62B93572ED148299BBEE58C0C543E6AAC741EBF2D3D81 + 96719D8A85212F70B79CDBF1CD571E0CA20A3775DFC67E98B3BC51B8FFE4BE04 + 3CB8D50B5E83A55DE42E210CA2CACED1D0FB97877B8F9D34E66439B34AA44E04 + C1AFB223AB048B64B103379096349A62650D7A23C077BFD6B21B4A2260F27AC5 + 421AAAA25C6DA225EF4ECFC11A70363E2C424E60108E46C5C3B0A759EACE1852 + C510170E77C3C8CD4A70558CA06BF52F78E1FC53F43302C1732F72F4C1A1D760 + 022158F8F58DC9D4C0A0A7B7ED04246EF565761BFE2EC2D00E0EA480C1B0C536 + E1320C7BAF380D30641B9BC4B6E1DA48EE49E405FD33050607B36E4E540618F6 + 34AB022953AAD92572953A8E8D41EF25BA2711839DDD46D48E3048479C742A95 + FCDFAFFEE0490D0E8177EE1CA8AAF781A7A93131D675DD5BFDC90503F1EBDD1B + 3FDF76F81F4E6B50319B147038F362F7D903304D3030FB54FFF640DA7095042E + 1277566426C0A0B8BB9FB50FEA29E0B2C020AA905CA96018B90970EEF73148C5 + 3350ADA5651C0883B27226138958D7A1C33EFC84055F7B3276F32F519FB7A911 + E23DB79E0F9C39FA5365DE1C5402E4CFD0A83A016B4F270AC8326B900A55AB2D + F00D8378B901EFDA709795CF10184453C0B44E28648B71FC608ED2BCF6511618 + 9CDD3A9FBF6A0C966EA8C9FB3D95C0E670B01F1283F6786207C2B08FD61F812D + F84C8D8CF6246FF5253D73E7782AEB6AE78F0F0C76F6BCF9D716728DEEDDFE1C + 8C76745123DBB5F2E5DD05AF602D70D52A5D08514790335324B02B9D4D2A20CF + 7975C44473F4CAA9578B9D28941F065E3DA99699F08E295BCC100473D51FFF66 + 45A517E0A1EFF0A7592FB4F640FF95F9BC0A45188C0A4520727A8BCCCD36FA3E + FBFEE5306BE9E2710C9CD3B1F72E78166CF94A024788EF2EFBE1F6824684622A + 81A5974D2F5A7D7B91BB279CD160C7516713944DDB2AECDB256C58E58601CC19 + A2770BB427CA439960C8C884822E5AEE30376F25C0B22F0357EFEC05891A1088 + 01FB14AB150652E3A3EBA0B665D1B0BBDADB3770E66CF491D77F19842255E493 + 6EB2679F33D3A001108F22FBC15C71695FAA1DB2945BBAF649B180D0AA9C7B0B + 361B51282F0C548FCAA9625B1D913D5EDD9719868CCC38229C2DB4285EB8F87A + 3FF45D6E34F6D38DB77C6D46185A8F3FBEF90B95B3EB8E791AEA63BEB5AB3CE9 + D4781261F00D5DBC924DE8F67AA06E89FF8F8FBEF1EBA7600A2A12063F88EF16 + 672BDDC1DA9F36CB775E3A1510CA9937B0DD5BB01D2FCADF9D749344653097ED + 988D7F0DDB8CA72505E59C21306464DE880B63637F3607068A134EFF2C019329 + 2FAC7B2E06BD17AAA1F3B89763E120C210A42F47973C6C541235FA59CB968C55 + D454BB6E9F6EB7BA5D079FB87A2AA8CE945C537821009D5B14E81BB101FBDE01 + C5CF9D938477BA1D2C6E132E4366C747A1FC304460EAD3AAA41906434607020F + C0F227B700913C72D3979D355ABAA117E62CF5C23F5F112DA9E84418FCF40561 + 9055521B82102841054EF55531D23CB2A7C964CBC05592BE5C40124867245D50 + 384360703655AFD60C8521A377F6D6C3A53FED86DE8B1B818637728F6894A069 + 55B18C2956842108FC9ED7701D1086923C6B3C4518E842B68378E8B63E8FE0F4 + 493792F0292E4E1EA220586CC7BBB7E0F0D83B7DD3CD7C304CFD3C4327AB47E1 + 9215668F3E67180C56A966A03E9231C54A4FB6417E705552105825702BC7C91B + F5D8F1C2E78C99B28F0F5A9E81DE24A887CC8BD322571C4EBF3A796E4172ACF4 + 19E802CADAAE70E594E7601D46906DF600B98DD549449287ECDB0B55CF400BF2 + 19E5FDCE6B07A57BA39E3DD8CED7398461157D4120A296742507A1DC6270D0D6 + 5E40E3CF2C56CB2CA40B83E2B905ADD2AAF42F1E366FDEF11F02DFD96D0C4D08 + 43C6DFA68B1A72BADEE8E32A874B17486D4E4736ADC2357DAFA43767A0088A20 + 98415417C2E0E8C19CBB4D8AFB1B5615F5AC8096334DFFFF67301700D248D081 + 307494BBC0334D052CFED3AFB79C66E97F565266B13BCE11904F41D2E2B6A07E + ABDFF44AC33003247912AC03CC95ADAD855BD52A541A062D2D260D8396169386 + 414B8B49C3A0A5C5A461D0D262FA3F82D7F60E256D51F10000000049454E44AE + 426082} end object cmdInstall: TButton - Left = 140 - Top = 104 + Left = 188 + Top = 168 Width = 75 Height = 25 - Caption = 'Update' + Caption = 'Update now' ModalResult = 1 TabOrder = 0 end object cmdLater: TButton - Left = 234 - Top = 104 + Left = 298 + Top = 168 Width = 75 Height = 25 - Caption = 'Close' + Caption = 'Later' ModalResult = 8 TabOrder = 1 end diff --git a/windows/src/desktop/kmshell/main/Keyman.Configuration.UI.UfrmStartInstall.pas b/windows/src/desktop/kmshell/main/Keyman.Configuration.UI.UfrmStartInstall.pas index b2353bc6fd..f4ca051c32 100644 --- a/windows/src/desktop/kmshell/main/Keyman.Configuration.UI.UfrmStartInstall.pas +++ b/windows/src/desktop/kmshell/main/Keyman.Configuration.UI.UfrmStartInstall.pas @@ -19,13 +19,14 @@ uses Winapi.Messages, Winapi.Windows, UfrmKeymanBase, - UserMessages; + UserMessages, Vcl.Imaging.pngimage; type TfrmStartInstall = class(TfrmKeymanBase) cmdInstall: TButton; cmdLater: TButton; lblInstallUpdate: TLabel; + imgKeymanLogo: TImage; procedure FormCreate(Sender: TObject); private public @@ -42,8 +43,8 @@ uses procedure TfrmStartInstall.FormCreate(Sender: TObject); begin inherited; - cmdInstall.Caption := MsgFromId(S_Update); - cmdLater.Caption := MsgFromId(S_Button_Close); + cmdInstall.Caption := MsgFromId(S_Update_Now); + cmdLater.Caption := MsgFromId(S_Later); lblInstallUpdate.Caption := MsgFromId(S_Ready_To_Install); end; diff --git a/windows/src/desktop/kmshell/main/initprog.pas b/windows/src/desktop/kmshell/main/initprog.pas index 829183b8ed..e19a9db358 100644 --- a/windows/src/desktop/kmshell/main/initprog.pas +++ b/windows/src/desktop/kmshell/main/initprog.pas @@ -433,6 +433,9 @@ begin Application.HelpFile := GetCHMPath; // may change if language changes Application.Title := MsgFromId(SKApplicationTitle); + if (FMode in [fmStart, fmBoot]) then FIcon := 'appicon.ico' + else FIcon := 'cfgicon.ico'; + if GetOS in [osOther] then begin ShowMessage(MsgFromId(SKOSNotSupported)); @@ -460,9 +463,6 @@ begin // I1818 - remove start mode change - if (FMode in [fmStart, fmBoot]) then FIcon := 'appicon.ico' - else FIcon := 'cfgicon.ico'; - FIcon := GetDebugPath(FIcon, ExtractFilePath(ParamStr(0)) + FIcon, False); if FileExists(FIcon) then Application.Icon.LoadFromFile(FIcon); diff --git a/windows/src/desktop/kmshell/xml/strings.xml b/windows/src/desktop/kmshell/xml/strings.xml index 73b9831c3b..a50d161382 100644 --- a/windows/src/desktop/kmshell/xml/strings.xml +++ b/windows/src/desktop/kmshell/xml/strings.xml @@ -601,7 +601,7 @@ - Keyman Update ready to install. + An update to Keyman has been downloaded and is ready to install. @@ -732,6 +732,11 @@ keyboard that you use in Windows. Keyman keyboards will adapt automatically to Update + + + + Update Now + @@ -820,7 +825,10 @@ keyboard that you use in Windows. Keyman keyboards will adapt automatically to E&xit online update check - + + + + Later