Skip to content

Commit

Permalink
use new delphi's gif support
Browse files Browse the repository at this point in the history
  • Loading branch information
rejetto committed May 11, 2020
1 parent 28b1919 commit c45cfb7
Show file tree
Hide file tree
Showing 4 changed files with 196 additions and 20 deletions.
1 change: 0 additions & 1 deletion data.rc
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,5 @@ filelistTpl TEXT filelist.tpl
uploadDisabled TEXT upload_disabled.txt
uploadHowTo TEXT upload_how.txt
alias TEXT alias.txt
shell GIF shell.gif
IPservices TEXT ipservices.txt
jquery TEXT jquery.min.js
Binary file removed shell.gif
Binary file not shown.
202 changes: 195 additions & 7 deletions shellExtDlg.dfm
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,9 @@ object shellExtFrm: TshellExtFrm
ClientHeight = 265
ClientWidth = 388
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = True
OldCreateOrder = False
Position = poDesktopCenter
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object Image1: TImage
Expand All @@ -22,6 +17,199 @@ object shellExtFrm: TshellExtFrm
Height = 169
Align = alTop
AutoSize = True
Picture.Data = {
0954474946496D6167654749463839618301A900B300000000000033660066CC
3333663333996600006666666699CC99999999CCFFCC9933CCCC99CCCCCCFFCC
99FFFFFF00000021F904000000FF002C000000008301A9008300000000336600
66CC3333663333996600006666666699CC99999999CCFFCC9933CCCC99CCCCCC
FFCC99FFFFFF00000004FFD0C949ABBD38EBCDBBFF60288E64699E68AAAE2CC8
B4702CCF746DDF789E31C7612C08C68241D4198FC8A472C9641D180647742A7D
35AFD8AC76CBD5202CC5CBB74B2E9BCFE8120331B03C31E3B47C9E6C140080C3
A441903400087778091C767800010B040B512E560D7A1206840E050167446B6D
156F069E56551F0D8D74A5A6210D940894900E0D03097C7E7D1BAD15B2B591AF
939284B8BB945D999A6EA01506A0AF0503AB0E0A87B17D0D5699B7067ACF88B1
B0AEB0D900C1A7E24BBCAE8BDCBF02859113417A86E016B80A07F412F6B6F4F6
C245C49C2F9E3E494A862E40B00602F82C8065079B3A0AB8FCA8C3F750E2B88B
756875E3E64A50BC5A1EFF132D22C0009DC63DB42635B8E46A2225952CB90CF3
47E1CD056428FD1488252891255FB45E859305EF124267BE7A625C9AC3CE4166
2C7F9DC410D19CA20521C399DBEAB41B14A01DB55E99497342A7805670CED2C9
06A82205EA7E719CB510AC1445DDEC32DD2BA36B4EB85BF3D63AA970A40659DF
F2DC43402B31BB2C64D914C3A036F04ABCCE443A3BD0D0595C939815B054702D
B068BEA85B08BD45AB00E7A03133542DCC60A7EC4BB65D45FD987BA5CC9992FF
85A250B928A16C060C3734645030623CC9FD70443E35B575128ED77634D053AC
3CC2CA95EA1C14B1EBEAF2B92103DF54D3181104F0935527E1FBBAFDFBF8AB39
88CC9EC21A0401C11704FF44F3A1728777F825A8E029D59055D604FF91B5E084
1456B88183EB59A8E1861C5E886126C1B523E088027668E2897C7D08627F0E04
81218028C62863292ABEC7621C167C41CA8C3CF6A8458D0FE25801809EF868E4
914A0019A2045F903822005078501592543655608A2A2ED9628B018816C0975F
0220859457B256E575F0C425C83B7734A7DD1F8140534848575DE9111ED81CA2
C79D082E51A3964D8229680062EE785899049E695D2ABD30EA946DF571C55050
880696E8A1139CC62444B1A9F721A05B8251A8746B3A030D51E030A7D59A45D5
A6A7A2A7AC360132E870A49049160D46205EF068F54B7A1001EBE98B376EA940
0112A8C3C0A8CEB9D9D2FFAD3C39646667E5750A6B1A3F1158DB4BAC0C60AB47
7DEE41E74825E9F56681FBFCF669B15F1480AC000708B0EC9896ED541456CDC9
359434944A17EEB564F8655E77D2211055BFBAA274555697E2D2A61FD60EEB20
A86320EBC097F336F26B5B56110098BE89D6E7F06300CFA14052BE6A84585C41
CD45157875CA16546FD208FB6396EC62C8EC2F9A6586173D9D7D5C2B4F600156
B21C2787252B05AEE554C96B1017023349366B97D95AE9F2B3EE900E1CE2F521
F41A672A00C9F1EA9AAA8299CAD9213EE1E1ECD101CBE9D81F8A396D07776EFF
6B69C71DB96D66A67AC2A38DBAC472BD81C695967014DC8C2F88F39040220E43
366F376EB9758F1317D0FFE69C1B7AF9E700670EFAE8A45F207AE9A8937EFA3D
0AB4AE40EAB0875E3805AF378040030DBC1EFBEE546E9DE902402C0BBCEBAEF3
6E7C8CBEDFB3A998B72CC03CA61D4C9985F4851D7F46F57324EF8C2B410080FB
F7B83B2F35995C254E3E7DD5611F3DA2D29F6F06F56D2685879A725A0608B852
1E52D1CB17A89F86F6B55B1603C0F73DF1256C7CED5B02F50CE3BE0D3DC35A49
FB18B796B616A148A503A2A144D264D63F06CA0180AE0084F708D800032A034F
7D43C4D862221545B88A6CE7B8C3016438B68F7483551E13C9426448C36F0C45
29BDAA1EDA0087881772267E7C108DD9F034C40978A46C0328D516A6741EC230
C46556C1554B3A500E22FFA62A87460CA2617C182CF220318A7938D009BFA8A9
14CC4E79D30802094BC8BCF3F8E41DE72044395AC8AF2CC62255B1595CB3B082
C7BAFC211681AC08B5F2D8B18549CB5F528846471CB2C8DAE8A26946BB850E0B
A2372350716812C8163CD8F18A6FD5EF3058DC434268E69C91602657A164856D
E0624140D6453758E9E407DEB83D388D9080269C1963E8922DBB29875FBCEA63
51EC568061F28D2835F3DBB9B0C2B63A61465676701334A5734D0F820C2293BA
66D5143895F3CCC52F6129D8C1ACC6C15BF4E4954419D712556835B924936F1D
71660354C0CB00CA9184C1640BC2B2C90A4ADD5388C8D462BDF4794C3F5A8A8F
BB62200509BACD6E7413FF9E2D5B552167A64B2BDD42A1F708C71EFBF0B18C82
6428A051591F15C6C8F2A8949BCA94683383C2CF89F5A776229C63407139CB44
44628FDC50A234C219D3D0B01036172D6A6358D85342B2D4A999B4854A1882C9
8450CA923A91D66A8C86BD484DCFA4117489D27C61ABD6404D37187493028C0A
4FAA1EC4954B659A2C8F63D5F25DB36735B529ED80C7D7BEF6B58E04A35BD9A4
780FE830F019658BE9D8A2331E6D40749BD481886153A8C3683A6B94853DA263
FB354AB459F09D8B2098167C789EF8857010297CAB4EF036380CEA6FB11E54DB
BDC63859719971B376ED4E558C3102ED75ED6BC0C5033B9590400A15D77A2B38
2E0A7C0B02E5E2C0B909FF822E724D205D123077BAD89DD175B3CB5D13F9D649
24EAAE78EFF3DD4F796EBCE8BDC87733A0A3F4BA1723EB854340DE4B5F53AC17
BCF081D279F7C682EAD6970EFE1DC77DBB342842D1EB3B7D299072033C5DBAB1
6970987DD3FD4E291B79DAE96B7942219FC830E0021B78BF0C6E202ACC97DD95
0423ACAE4059052735DC0E22187A57DBD41E228685FB9A6E6768CC4312999863
CEF498B235941F227698461D8F241B2463554F5E5837EC6EB095C728E82DD331
3E96A6F66FE80C56478F60E363256B3F38F6C51D715990298F7936AB2C24436C
19DA77742A9E789C317705B70DB2AA563AA6442D48AA492E905A065D24DB828D
DDE50078C96B67C23468FFA2055A41D0D245A9DD9CD64053793C73962B6DE87C
85C1CE55E54753336F0D6B0D3DBDAA35FE70AD6212C018A2198D4F3BE8B30006
38D89425DAD0C2443A64EB7C5A7765452BBB64796596A1F4A53C7DA55F15349D
66B8AFCEC286544543ECAEB9C4A7129B0A69CE0ECD3C24DD5F76F1E10DBAA6CD
6967834DA73BB62DFEDD639D59E3302FB7145CB0694CB706D56D60D906DBD326
D6AEB44EDB33D6E6B64F570EB982905F73B2532FD6FEFBC58F06F2B06BA85950
973A431410D24D5ABCF0040AF20617FFAFF1CA5B23C9B573B894DB720942AE71
E4FAB67328DF6FC957EEA7FFE097452C8F391D82E0AD9ADBDC5B43C22F7C64CE
73894928E2E6EDB9D05BFFFE21C389E1C0434F3A0E6A64F41CCD57E950AF01D3
23DE22FCEA37EA670AB17D55746A020F8A59AA41980DB40EBB34A5F023BF98B0
9E0F63E10D7C634F5E137992B84E75837918ECFD157B0DC89E3A464592829292
247F5DFC370CB41147A44E36DDDB11AA0A648C544CCC214F200CC48057024F4A
762C1A67A818D2364DD39F77D99A482BF93216D123816E9C05B1082DCB689BF0
09EF95B8BC9365C52F7E535FF072A1C11CB6327FBEAA8B9CF59F27E9995A2212
229FF98A57BA385C84742658718EDAE84449D852CA92C254B1F0A55D6AF8D4AB
FBF65B6AD7BBE2F5F8854EFAA259B9A03D15BB4CB5012ED0BFEA77FA262D772A
65BA3750E1F4011BC9B0FFC03C0CADD933758C876A171300E5B73193A629FE33
7CEB67575AF407A4D464395145AF2467FEE77D96F3649184352C034930D648F3
213035537F73077E4DB26C1E771933434990D266E06467415357D06454160529
03106DE6247842B5076EB51599E4734012844238844458844678844898843F67
0240C235ED265CEF9637E80161F4D67EFB265B48A458D4E15497F17906212BFB
B6852A830ED5245A63817537D08454773814570BAF670A19F723FBA184745887
76788778588773B85C02C82491D386174072E22088C230877978888898888A88
848678026A382B29C7393CF7028B588996788995D8884CD887680806868889A0
188AA238841210066AD0FF873D908AAAB88A3D207394388AB0188BB2480DBC25
028FE8008F9100BA28162468729F3884067008CC308BC4588C45B7879B787BB9
B88B362101BD683DAF4884C12820030025C6788DD7588AA6D85BA8588A09C000
DFC80307100CCF783CD13884789009D3188C06508DC308057830006B00000310
8C64838DF8A887DA788ADD088EBB4804F1D28A0E20167C573AE72884E94804EB
488FF9258F084036ECF89080B01080908F16798410528BBB748B91300CBA082F
3D400804091E85C73B07198409398F9E5091CB0225D5388FCC708FF0E8221759
93419891FCA88CDA4804BAA88AEA3092FBB73B27092429C98ED34804D5E83C5F
F390C8309336F99402B8FF8D21709366E18D9990003E098E8535641E13796F61
80D5B77932B4460F464FBDF38B28698D3379942D591213093C4CA9902C099574
391338695D1CB993E2E893BA28183FE0858ED47C6B864866C68524D62143D971
15C906FA758FC1E890F7C80671E994755999A628958ED087B5F802BBA88B4540
507F1633CDA754AC56908E839641688F0C098FC2A88E87905F4DC99696599777
C98D9AE991B8388E00A99BE2D233B6F65221834C33136B80A85DA87984B2399B
CA49959A688BB7C800044012D1C90001700004D003D7F90652C550A2E91C2C36
8348D5826792982AD26ED54893CB999EC7D89C53798B0E109DF09900D5799DD5
D9032FD0598A5681FB66FF4145356FD27496EA19A09898911AD901CC2901F469
9DD4699FD969803460716FD823E429A014AA8FFB689BB7079D9C4912060890F0
59A02A3025848824135AA1268A913B89A1195A8A19699FFDE08AC779A2325A84
FE01A21A20849DB803311A8A9F30A3C4C8A29869A0070A0201B012465AA4487A
A44A9AA44CBAA44EDAA450FAA4521AA5543AA5565AA5587AA5565AA22F228CE8
899C4DE9A3B208A436BA03432A059B731B1EB6A66CDAA66EFAA6701AA7723AA7
745AA718B3A35D8A0040D0A349C8A7621A8BB599999C6800F041A8307201769A
A88ABAA88CDAA88ECAA564E1A736E22D2E628FF2B839F3880744528D32F9A7A1
B81FC8D89EB7C83910D9FF3910E3A8A89AAAAABAAA740AA9C00108E809004320
4044003C80D08E41E03C7A3A04D3080473E9A99708AA41CA01383A2B85FA90E0
158C05C8AACCDAA6F2320072FA1008F0ACCDDAA8AE3A13AA19047C4AA8C380A9
5010A6DFAA8EE00AAC9978A1A2DA8786BA92C92A260851128C4AAD6002AF702A
AF6FFAACF24AAF82421206202F2401ADD5CAA6F83A28D74A16BE0A205F830CED
081D3DEAA7DB3AAEE4AA88812AA8EB2905854A36EBBAAC8D4AAF019BAAF6EAAE
F3EAB11BFBAF723AB00EB2397D358F7AEAAD0C1BA692FAB08998A22A8A21C401
9BB04A22CADAAEFEDAB1D09A0003C00EFBAA955C42090B0026425B11FEFA258A
249DEEDAAF15116B44ABFF8DAAF0ACBAE0AF04F05625D1B482E2B33A6B103D3B
2B066130FA2A28C1100424A10A028BA725CBADC8BA1095EA0990891642F08EE1
AA90081B9B76EBB2FAA81FCE5974C690AE9E70B10100AFFDFA048CE1B1817B14
06931003A0B12551B506C31960E2B881ABA1B090B87CE0AEF77AB55C6255945B
9D47DBB14A0BAD01CBB93DBB06FD1AAF2B911087EB619CDB07B1A60E47EBA046
C8989A6A23D08194F4588F7C2A91B7CAB2754BB7C08BB74A68AE7B2BB37D4BB3
178BB360E203D6B9000230B4498BB9576BB893BBB8D29BB3D2CBB42BE103DAF6
B9D32BBA1A5AB50E10BBD5CBAFD059019FCB83CCBB08CF1BB83CD8AF09607782
A20E3F7BBA610B26242BFFBC154ABCE7EA20A06AAC4462A8362B26D5BBBC648B
95D32A05937BBA5B1BAFDF5BC0870BBEA79B004C4BBD0E6CBD12BCB484E0BDD6
1BBA0546BFD57B00072CC2204CADF16BC15FBBC04B0B058292BFFA2BA0FC2BB1
1272BC4C59B32372B3993BB44FF0B3D0FA1AD7CBB80320B990FB25616BBE3D2C
040120B91FFCC0E64B007697004E5BBEE11BBF4BDCC3AF202F3A0C05D4EA63EE
3BB4053CC4461CC12D8CB62F2CA331BC917CAB39911810042CAF45FC0A6E4204
0CECAE84E0C55F52C7463BBF2871BD48CB83623B87192CBE0E60C752CCB47E7C
C7DA18C42CACB871ECB1508CB48D1B0CD24901E4EBC2659C9E67EC0143FA845F
A31B223BAF2BF1C9A28CFFB470ECA6216BC997AC9C992CA4693C02A3CCA6C140
BEAFDCAC545CAF287CA7D439CBBABCCBBC3C2841F02539E9BF65AAA6BD5CCCC6
3CA79478CCCABCCCAA8A0CC08C979CF801593ACD5A4ACDD65CCDD87CCDDA9CCD
529ACCCCFCCDE05CA74F10003027C34B98A38EB71F1C6BB8211BCEEE6CA70450
9D609B8C138BCE10A2CE75BA0D8392B91C0CB0207BBE945C1184FCCEB35C8FF5
19002AC7CAF56CCFC25AA7F2C2C2F3CBCE122DCB170CC9A74BC42CBC0804CDCB
06DD03D549CF32CBD0FE81CF737A000B90005EAC488B7BC86EE2BC13D0CF2A7C
B417BDD11C7D0001C018370DD2FE2BD2F79CCB730AC58A2BB9FC4AC5FC2CC4A1
ECBE0B37BE6246D3BC1CFFCFFE3ACC371ACDF6ECCDD1DAB85A9CBD7C0CC9180C
C1F01AC6FBECC94CFDCAB10BD551BDD0534DD271FA18CE8BD5E0CBC1D4DAD5FF
3CD3F97ACB61FDC9E5DCBFE72CD2541DA7B5CCB9B1E6C37F5DCAD56BD4151DD3
F19AD274FD7575BDAA24A1D376C9D3403AA782ABC589FC1048F9C72E2D0130ED
D5882C0971EA358B8DAA9551BC3B0DD97B1DDA757AA96C83DA893A20C1FCD8A6
8DD6708AA861FD3CACC9DA754AD6661AD2B1EDD3B83DA75032249CFADB6F3ADA
313B0C901DD9C44DA712C724ABBDDC02ABDB18007E0C7DDAD0EDA6775D8AAA79
DD492CDDD36DD6E88CCAE9F93C37FA985FAACA6E04DE392ADECB298FC4CA98F5
18A0794516D9DD89ECADFF9C45623A066BB1263A035A52DD646C930B4184FFDD
22F4F8032A32E09699DEA696DC24AB9478228A033EE1F248B06C3313E44D1C37
58E19900E1CFCBE14408E11D1A84D434E246C8870DDEDB215EE10A3E8A14EE20
0A2E1AC3C00C6B88A6204E4842F003203E84316EE21F82E332CE888EFD20005E
843DBE4306A894492E8F138E0C9423047AD2E14CCEE4847A8382E02D6B22E5B5
2A8FDF400AC8FAD2F3B3E5C340647900E54544E64F20E671CB069660E626AEE0
2D8EA2D00C712ACEE35E63D2650EE489C0E5D7B0100AAEE36A1EB70C401A26BD
E182EE3C4F10E4823EE826FE0C2FFD922F0DAE6D52AB653E6D899E08953EE247
9EE7AEC1E81DDEE9382EFFE422905F5EB322C92DAC2BBEE570CEE297EA038CB1
301D0AE145A48EAEEE4A53BEE82D2EE2947E089408250F090ABF3AE843C6EAAB
CE06B5DAE9667EE6AC1EE8C9EEE3273E0212F992A6EEE001AEE56BBEEC824E0F
376800F470EC37BDE399A0ED8C400F2FBEEAD64EE94FC0B652608DC1480DC1CE
B6C4CEEAC62E04C81EE7E6BEE83311E772EE02BFB5E3051EDED5AEE64AC4E29D
2EE30B212F84BE00E9DE4CC89EEFD69BF0B77EEFF8BEE8A21105F4B8E5B63D91
2411B7ABAEE73D7EEEB85EF0CE8E150F3DBCBDA596D35EE742A8EBB9EE36C77E
E9F41EE6BAFEE930AFE077E02D81AEEF57FE92171FB7ED08216A9707E6AEE4CD
3EE637CEE1443F0CD950FFF2264FDA29CFD3F79D9EDEE2B03FEFDCB3BAF2E08E
8D4E3F0CFFBEDE014F04C0959EEDEE20F5D80E280F24FA8E8F5BFFF47AFDF527
3AEF644F0AED78A2E64CE750EFF66FAF22342E09598FDE1FA0732352DF6818F5
7F0A08564FA121C00637B7F8828F75842FA6CE338FFD8DD7A95CF98F2FA60FD9
F77E5FF7965FC678AFBFE7BDE0C84DF99D7FC99F7F89695FFAA4F8896BAFFAFA
FBF5700E6B9A9FEA2F6EE1775E231E4EE2B34F9BA34FFAAE2FBCB00FEABB7F84
B5EFF03C0EEA0E0BE3C33F9BC7FDFBC06F847031E81F9EEC857EE8615AEE55FE
69581EE1CC8EE6319F07479FE544FF694C2FDFAFEDFC2EEBF632EE1A7E1EEF83
DEE748CFE7855EEE99DEFFE1A08DE88C1EEAAE12EB99AEE7130F014C4E5AEDC5
596FEAFC0743D1E34AF344537565DBD6519761311879017220608CC340101604
8A0F28140E6C4A99A4E9544E9EB72845B19B160CD1E6D3F5054B4663322C7C46
A7D5EB9539653010A915C56166A85BEDB47A97C9ADF25A8212941A40E0D2021C
644B73C3288B246BA4ACB4BCDC783CB93A585A28E834146050F0A190192D3DF0
63F4129C9A017522F28C5208F8ECBC65C484942461009EF82516E93D464E7E59
81B5D1E1C925E53995DD7D2A00185874D2C9D98272CE39C016C7C999369F66C0
1E4D2E1EE978970F51AEB7BFD7BCEF2DD4BF98FF0718A9DF408267F271E896A3
A0097EEE3404841851E248C48515591CC4F7EBC4187B1F1E4E041952E44812C0
4AC210669112C61428CD9084C9F1584C9A356DDEC49953E7CE916A78FE041A54
E850A245CB042B6154E952A64D9D3E851A3102003B}
ExplicitTop = -6
end
object Panel1: TPanel
Left = 0
Expand All @@ -34,7 +222,7 @@ object shellExtFrm: TshellExtFrm
object Label1: TLabel
Left = 16
Top = 16
Width = 215
Width = 217
Height = 13
Caption = 'Do you want HFS in your shell context menu?'
end
Expand Down
13 changes: 1 addition & 12 deletions shellExtDlg.pas
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, GIFImage, utilLib;
Dialogs, ExtCtrls, StdCtrls, utilLib, Vcl.Imaging.GIFImg;

type
TshellExtFrm = class(TForm)
Expand All @@ -13,7 +13,6 @@ TshellExtFrm = class(TForm)
Label1: TLabel;
Button1: TButton;
Button2: TButton;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
Expand All @@ -27,14 +26,4 @@ implementation

{$R *.dfm}

procedure TshellExtFrm.FormCreate(Sender: TObject);
var
gif: TGIFImage;
begin
// turbo delphi doesn't allow me to load a gif from the form designer, so i do it run-time
gif:=stringToGif(getRes('shell', 'GIF'));
try image1.picture.assign(gif);
finally gif.free end;
end;

end.

0 comments on commit c45cfb7

Please sign in to comment.