Browse Source

Improving GUI

Bernardo Magri 8 years ago
parent
commit
f8dee44622
8 changed files with 1477 additions and 11702 deletions
  1. 1 5
      src/book.pas
  2. 1 2
      src/bookcollection.pas
  3. 355 282
      src/main.lfm
  4. 67 16
      src/main.pas
  5. 81 0
      src/myBookShelf.lpi
  6. 57 56
      src/myBookShelf.lps
  7. BIN
      src/myBookShelf.res
  8. 915 11341
      src/mybookshelf.lrs

+ 1 - 5
src/book.pas

@@ -19,11 +19,7 @@ type
       mFilePath : String;
       mCover : TImage;
       mImagePath : String;
-      mImageHeight : Integer;
-      mImageWidth : Integer;
       mIsSelected: Boolean;
-      mLeft:Integer;
-      mTop:Integer;
       procedure Setfile(Avalue: String);
       procedure Setimage(Avalue: String);
 
@@ -38,7 +34,7 @@ type
       property Title : String read mTitle write mTitle;
       property Authors : String read mAuthors write mAuthors;
       property ISBN : String read mISBN write mISBN;
-      destructor Destroy;
+      destructor Destroy; override;
       procedure BookDoubleClick(Sender:TObject);
       procedure BookCoverPaint(Sender:TObject);
   end;

+ 1 - 2
src/bookcollection.pas

@@ -14,7 +14,6 @@ type
 TBookCollection = class(TObject)
   private
     mList : TFPList;
-    mDataPath:String;
     function Get(Index: Integer): Tbook;
 
   public
@@ -26,7 +25,7 @@ TBookCollection = class(TObject)
     function Count:Integer;
     procedure SwapBooks(Source,Dest:Integer);
     constructor Create;
-    destructor Destroy;
+    destructor Destroy; override;
 
 end;
 

+ 355 - 282
src/main.lfm

@@ -10,11 +10,10 @@ object Form1: TForm1
   OnClose = FormClose
   OnCreate = FormCreate
   OnKeyDown = FormKeyDown
-  OnPaint = FormPaint
   LCLVersion = '1.6.4.0'
   object ImageToolBar: TImage
     Left = 0
-    Height = 48
+    Height = 56
     Top = 0
     Width = 817
     Align = alTop
@@ -202,292 +201,168 @@ object Form1: TForm1
     Stretch = True
   end
   object ButtonAdd: TImage
-    Left = 8
-    Height = 40
-    Top = 4
-    Width = 40
+    Left = 16
+    Height = 42
+    Top = 8
+    Width = 42
     OnClick = ButtonAddClick
+    OnMouseEnter = ButtonAddMouseEnter
+    OnMouseLeave = ButtonAddMouseLeave
     Picture.Data = {
-      1754506F727461626C654E6574776F726B47726170686963F521000089504E47
-      0D0A1A0A0000000D4948445200000200000002000806000000F478D4FA000000
-      097048597300000B1300000B1301009A9C1800000A4D6943435050686F746F73
-      686F70204943432070726F66696C65000078DA9D53775893F7163EDFF7650F56
-      42D8F0B1976C81002223AC08C81059A21092006184101240C585880A56141511
-      9C4855C482D50A489D88E2A028B867418A885A8B555C38EE1FDCA7B57D7AEFED
-      EDFBD7FBBCE79CE7FCCE79CF0F8011122691E6A26A003952853C3AD81F8F4F48
-      C4C9BD80021548E0042010E6CBC26705C50000F00379787E74B03FFC01AF6F00
-      020070D52E2412C7E1FF83BA50265700209100E02212E70B01905200C82E54C8
-      1400C81800B053B3640A009400006C797C422200AA0D00ECF4493E0500D8A993
-      DC1700D8A21CA908008D0100992847240240BB00605581522C02C0C200A0AC40
-      222E04C0AE018059B632470280BD0500768E58900F4060008099422CCC002038
-      0200431E13CD03204C03A030D2BFE0A95F7085B8480100C0CB95CD974BD23314
-      B895D01A77F2F0E0E221E2C26CB142611729106609E4229C979B231348E7034C
-      CE0C00001AF9D1C1FE383F90E7E6E4E1E666E76CEFF4C5A2FE6BF06F223E21F1
-      DFFEBC8C020400104ECFEFDA5FE5E5D60370C701B075BF6BA95B00DA560068DF
-      F95D33DB09A05A0AD07AF98B7938FC401E9EA150C83C1D1C0A0B0BED2562A1BD
-      30E38B3EFF33E16FE08B7EF6FC401EFEDB7AF000719A4099ADC0A383FD71616E
-      76AE528EE7CB0442316EF7E723FEC7857FFD8E29D1E234B15C2C158AF15889B8
-      50224DC779B952914421C995E212E97F32F11F96FD0993770D00AC864FC04EB6
-      07B5CB6CC07EEE01028B0E58D27600407EF32D8C1A0B91001067343279F70000
-      93BFF98F402B0100CD97A4E30000BCE8185CA894174CC608000044A0812AB041
-      070CC114ACC00E9CC11DBCC01702610644400C24C03C104206E4801C0AA11896
-      411954C03AD804B5B0031AA0119AE110B4C131380DE7E0125C81EB7017066018
-      9EC218BC86090441C8081361213A8811628ED822CE0817998E04226148349280
-      A420E988145122C5C872A402A9426A915D4823F22D7214398D5C40FA90DBC820
-      328AFC8ABC47319481B25103D4027540B9A81F1A8AC6A073D174340F5D8096A2
-      6BD11AB41E3D80B6A2A7D14BE87574007D8A8E6380D1310E668CD9615C8C8745
-      6089581A26C71663E55835568F35631D583776151BC09E61EF0824028B8013EC
-      085E8410C26C82909047584C5843A825EC23B412BA085709838431C2272293A8
-      4FB4257A12F9C478623AB1905846AC26EE211E219E255E270E135F9348240EC9
-      92E44E0A21259032490B496B48DB482DA453A43ED210699C4C26EB906DC9DEE4
-      08B280AC209791B7900F904F92FBC9C3E4B7143AC588E24C09A22452A494124A
-      35653FE504A59F324299A0AA51CDA99ED408AA883A9F5A496DA076502F5387A9
-      1334759A25CD9B1643CBA42DA3D5D09A696769F7682FE974BA09DD831E4597D0
-      97D26BE807E9E7E983F4770C0D860D83C7486228196B197B19A718B7192F994C
-      A605D39799C85430D7321B9967980F986F55582AF62A7C1591CA12953A955695
-      7E95E7AA545573553FD579AA0B54AB550FAB5E567DA64655B350E3A909D416AB
-      D5A91D55BBA936AECE5277528F50CF515FA3BE5FFD82FA630DB2868546A08648
-      A35463B7C6198D2116C63265F15842D6725603EB2C6B984D625BB2F9EC4C7605
-      FB1B762F7B4C534373AA66AC6691669DE671CD010EC6B1E0F039D99C4ACE21CE
-      0DCE7B2D032D3F2DB1D66AAD66AD7EAD37DA7ADABEDA62ED72ED16EDEBDAEF75
-      709D409D2C9DF53A6D3AF77509BA36BA51BA85BADB75CFEA3ED363EB79E909F5
-      CAF50EE9DDD147F56DF4A3F517EAEFD6EFD11F373034083690196C313863F0CC
-      9063E86B9869B8D1F084E1A811CB68BA91C468A3D149A327B826EE8767E33578
-      173E66AC6F1C62AC34DE65DC6B3C61626932DBA4C4A4C5E4BE29CD946B9A66BA
-      D1B4D374CCCCC82CDCACD8ACC9EC8E39D59C6B9E61BED9BCDBFC8D85A5459CC5
-      4A8B368BC796DA967CCB05964D96F7AC98563E567956F556D7AC49D65CEB2CEB
-      6DD6576C501B579B0C9B3A9BCBB6A8AD9BADC4769B6DDF14E2148F29D229F553
-      6EDA31ECFCEC0AEC9AEC06ED39F661F625F66DF6CF1DCC1C121DD63B743B7C72
-      7475CC766C70BCEBA4E134C3A9C4A9C3E957671B67A1739DF33517A64B90CB12
-      97769717536DA78AA76E9F7ACB95E51AEEBAD2B5D3F5A39BBB9BDCADD96DD4DD
-      CC3DC57DABFB4D2E9B1BC95DC33DEF41F4F0F758E271CCE39DA79BA7C2F390E7
-      2F5E765E595EFBBD1E4FB39C269ED6306DC8DBC45BE0BDCB7B603A3E3D65FACE
-      E9033EC63E029F7A9F87BEA6BE22DF3DBE237ED67E997E07FC9EFB3BFACBFD8F
-      F8BFE179F216F14E056001C101E501BD811A81B3036B031F049904A50735058D
-      05BB062F0C3E15420C090D591F72936FC017F21BF96333DC672C9AD115CA089D
-      155A1BFA30CC264C1ED6118E86CF08DF107E6FA6F94CE9CCB60888E0476C88B8
-      1F69199917F97D14292A32AA2EEA51B453747174F72CD6ACE459FB67BD8EF18F
-      A98CB93BDB6AB6727667AC6A6C526C63EC9BB880B8AAB8817887F845F1971274
-      132409ED89E4C4D8C43D89E37302E76C9A339CE49A54967463AEE5DCA2B917E6
-      E9CECB9E773C593559907C3885981297B23FE5832042502F184FE5A76E4D1D13
-      F2849B854F45BEA28DA251B1B7B84A3C92E69D5695F638DD3B7D43FA68864F46
-      75C633094F522B79911992B923F34D5644D6DEACCFD971D92D39949C949CA352
-      0D6996B42BD730B728B74F662B2B930DE479E66DCA1B9387CAF7E423F973F3DB
-      156C854CD1A3B452AE500E164C2FA82B785B185B78B848BD485AD433DF66FEEA
-      F9230B82167CBD90B050B8B0B3D8B87859F1E022BF45BB16238B5317772E315D
-      52BA647869F0D27DCB68CBB296FD50E2585255F26A79DCF28E5283D2A5A5432B
-      82573495A994C9CB6EAEF45AB9631561956455EF6A97D55B567F2A17955FAC70
-      ACA8AEF8B046B8E6E2574E5FD57CF5796DDADADE4AB7CAEDEB48EBA4EB6EACF7
-      59BFAF4ABD6A41D5D086F00DAD1BF18DE51B5F6D4ADE74A17A6AF58ECDB4CDCA
-      CD03356135ED5BCCB6ACDBF2A136A3F67A9D7F5DCB56FDADABB7BED926DAD6BF
-      DD777BF30E831D153BDEEF94ECBCB52B78576BBD457DF56ED2EE82DD8F1A621B
-      BABFE67EDDB847774FC59E8F7BA57B07F645EFEB6A746F6CDCAFBFBFB2096D52
-      368D1E483A70E59B806FDA9BED9A77B5705A2A0EC241E5C127DFA67C7BE350E8
-      A1CEC3DCC3CDDF997FB7F508EB48792BD23ABF75AC2DA36DA03DA1BDEFE88CA3
-      9D1D5E1D47BEB7FF7EEF31E36375C7358F579EA09D283DF1F9E48293E3A764A7
-      9E9D4E3F3DD499DC79F74CFC996B5D515DBD6743CF9E3F1774EE4CB75FF7C9F3
-      DEE78F5DF0BC70F422F762DB25B74BAD3DAE3D477E70FDE148AF5B6FEB65F7CB
-      ED573CAE74F44DEB3BD1EFD37FFA6AC0D573D7F8D72E5D9F79BDEFC6EC1BB76E
-      26DD1CB825BAF5F876F6ED17770AEE4CDC5D7A8F78AFFCBEDAFDEA07FA0FEA7F
-      B4FEB165C06DE0F860C060CFC3590FEF0E09879EFE94FFD387E1D247CC47D523
-      46238D8F9D1F1F1B0D1ABDF264CE93E1A7B2A713CFCA7E56FF79EB73ABE7DFFD
-      E2FB4BCF58FCD8F00BF98BCFBFAE79A9F372EFABA9AF3AC723C71FBCCE793DF1
-      A6FCADCEDB7DEFB8EFBADFC7BD1F9928FC40FE50F3D1FA63C7A7D04FF73EE77C
-      FEFC2FF784F3FB25D29F33000000206348524D00007A25000080830000F9FF00
-      0080E9000075300000EA6000003A980000176F925FC546000017224944415478
-      DAECDD6BB0756561D8F1FF411014792388428DDC144989291A35C825DE404025
-      26195B353153756AEB6812B59A49FC50DB99367EB14E4542B453AB4DD546A34E
-      3289312A10A21041A3188D970410835C54407C5150E422EFEE87B51D01E5F2B2
-      CF396BEDB37FBF9933AF83F0EE759E679FF5FCCFB3D75E7B6D369B0500AC965D
-      0C01000800004000000002000010000080000000040000200000000100000800
-      0040000000020000100000800000000400002000000001000008000010000080
-      0000000400002000000001000008000040000000020000100000800000000400
-      0020000000010000080000400000000200001000002000000001000008000040
-      0000000200001000008000000004000020000000010000080000400000000200
-      0010000080000000040000200000400000000200001000008000000004000020
-      00000001000008000040000000020000100000C0C6D8D5102C666D6D6D95BEDD
-      FB5407578FAC0EA91E3EFF73EFEAA7E65FDBAADD6EF3DFECED5902F7DAB5B7F9
-      DFB754D755DF997F5D5BFD7375C9FCCF2F579756B7AECAE0CC6633CF9045D62F
-      032800EEC4FDABC75547CEBF7E76BEF0EF6ED661B26EAA2EAAFEA9FABBEA53D5
-      67AAEF0B00048000B833BB548FAD4E9A7F1D9D1D22D80A6EA9CEAB4EAFCEA83E
-      5BED10000880D50E80DDAB13ABE754BF94ED7A5805DBABBFAADE3F8F829B0580
-      00607502E0D0EAC5D58BAAFDCD22ACAC6F547F54BDBDE13A02012000D88201B0
-      4B7572F5CAEAB86ACDEC01733BAAB3AA53AB0F554BB13058BF048000B86B7BCC
-      7FD37F5575981903EEC605D529D53B1A2E2A14000280250B806DD5ABABDFAAF6
-      3553C04EBAA67A73F5C686B71F0A0001C0C4036097EA85D5EBAA879A21604157
-      54FFA97A57137B69C0FA250004C08F1C5BBDA97ABC9901D6D9A71AAE21FAA400
-      10004C2700F6ADDED2F0763E808DF4FEEA65D5B704C072F35900CBEF19D5DF5B
-      FC814DF29C86BB0B9E68280400E37840F5CE86B7EC1C6038804D7450C34D84DE
-      393F17B184BC04B0E8008EF312C011D5BBAB47990160649FAF9E5F7D69B31FD8
-      FA650760D5BCA661FBCDE20F4CC111F373D22B0D851D003B001BE3FED55BABDF
-      30EAC044BDAB7A6975831D00012000D6C783AABF68789B1FC094FD6DF5AB0D1F
-      3A240004800058C0E10D17FA1D6CB481257149F5CC86DB0A0B8089720DC0B4FD
-      42F5318B3FB0640E999FBB1E672804003BEFC4F90FD0430C05B084F6ABCECEFD
-      0204003BE5D9D55F365CF807B0ACF69C9FCB9E6D28A6C735008B0EE0FA5F03F0
-      8CEACFABFB1A5D608BB8A9E1C2C08FACE75F6AFDB203B0959C6CF107B6A0DD1B
-      DEC9F44C436107C00EC08F3BA63AA361CB0C602BFA6E7542EBF48982D62F01B0
-      1502E0E7AA73AB6D4614D8E2B6CF7FE1B950008CCB4B00E3DBAFE122198B3FB0
-      0AF6A93E9C7738098015B75BF5DEBCCF1F582D8754EFA9763514026055FD61F5
-      64C300ACA0E3AA3F300C026015BD64FE05B0AA5E56FD7BC3300E17012E3A80F7
-      EE22C047375C05BB87110456DC0DD513AA2FEEEC7F68FD1200CB16007B559FAD
-      1E61F400AABAB87A6C75BD00D83C5E02D87CA75AFC016EE7D0EA8D86C10EC056
-      DE0138B9FAE016F9D667D53F557F5F7DE5365F57CEFFFF6BEFF027B0F3F6BEC3
-      9FFBCF7F81F8E1D763AB9FDD42E794931BDE22680740006CA900D8D6F01AD701
-      4BFCED5E55FD69C3A7149E5D5DED1900A3DBAFE1DD444FA9FE75CBFDFEFACB1A
-      6E8C768F5E0AB07E0980650980B7345CF1BA6C6EAC3E50BDB33ABDFA815987C9
-      DAB57A7AF5C2EA590DF7E05F36A755AF10000260AB04C0510DB7FA5DA66B2EB6
-      CFA3E534BFE9C3D2EE0CBCBCFACD7EF412C232D8D1F0AE80F305800058F60058
-      6B78CBDF914BB4F0FF7EF5B6860FEE0096DB5E0DF71C796DF5C02539E673AB27
-      365C172000368877016CBC172FC9E2BFA3E1AE5C8FA8DE64F1872DE3FAEA7F54
-      0F9FFF8CEF5882633EB67A81A9B303B0CC3B007B34BCBFF5A727FE6D7C75FE1B
-      C2996614B6BC93AAB756074EFC382FAB0EAB6EB20360076019FDF6122CFEFFAF
-      3AC2E20F2BE3F4862BEDDF3DF1E33CB07AA9E9B203B08C3B007B36BC2F7EBF89
-      1EFA8DD5EF345CE807ACE0E96BFE4BCA1B9AEEBB05BEDE7093A0EFDB01B003B0
-      4CFEC38417FFEF346C035AFC6175CD1ADEE5F3F4EABA891EE3431BAEA3C20EC0
-      D2EC00EC3AFFED7F8AAFB15D519DD870173F801AEE267846D37CC9F2ABF35D80
-      5BED00D8015806CF9AE8E27F79F5348B3F7007FF383F375C31C1633BB87AA629
-      1200CBE2E5133CA66F562754179A1EE027B8607E8EB86682C7F60AD3B3FEBC04
-      B0E800FEF84B0087CF6B7A4AAE6DB857F817CC187037FE55C3677D4CE9EE81B3
-      86B7045E7CBB7F68FDB2033031FF7662C77373F56F2CFEC03DF485EA79D52D53
-      FA5D6B82E75601C0EDDCA7E14338A6E477ABBF3135C04E38B37ACDC48EE945D6
-      2C0130654F6978DBCA54BCB3E1D69F003BEB94EA5D133A9E031B6E118C0098A4
-      5F9DD0B17CB9695E8C082C8F977787D7DD47F66C53B27E5C04B8E800FEE822C0
-      5D1ADE6637851D8059C36EC439660858D053ABB31A5E871FDBE5D541F3739C8B
-      00ED004CC6E39BCEF6FFFFB1F803EBE4A30D2F274EC101D5634C8900989A1327
-      721CD754BF673A8075F47B0D6F279E82134C8700989AE327721CAFAFB69B0E60
-      1D5DDDF0A141CEB55B886B00161DC0E11A803DAA6F37FE276A6D6F787DECBB66
-      065867DBAA4BAB078E7C1C37CC8FE116EB971D8029785CD3F838CD532CFEC006
-      B9AE3A7502C771FFEAE74D8700988A5F98C0317CAFFA9FA602D8406FAEBE3F81
-      E338D2540880A998C293F12FAA6F990A60037DB3FAC0048EE309A642004CC511
-      13388677980660134CE12D81479886C5B90870D1015C5BDBAD61FB7DB7110FE3
-      CAEA61D5AD6604D860BB565754FB8D780C37557BCE6633E73C3B00A37AF8C88B
-      7F0D5B727E1080CDF083EAAF463E86DDAB434C850018DB611338868F990660C5
-      CE398799060130B68326700C1F350DC0269AC2478C1F641A04C0D80E18F9F12F
-      6AB8060060B37CADFACA8A9F7B0500A33F093F670AB88D93AAB757FFD8F096AD
-      D9825FDF9CFF5D6F6B3A9F77C1348C7DEE11000BDAD5102C6CDF911FFF625340
-      B57FF5DEEA491BF0FCDEB73ABC7A717576F5BCEA2A43BEF2C63EF7EC6B0AEC00
-      8C6DEF911FFF2BA660E53DA43A6F0316FF9FE4C9D527E68FC96A1BFBDCB3B729
-      100063DBC70E00237B779BFB96A843E68F891D80553EF70A00DA36F2E3DB8A5D
-      6D2734CEC7A31E5F3DCDF0AFB4B1CF3DDB4C810018DBD89F02E8D3FF56DB0B56
-      F4B119DFD8E79EDD4D810018DBD87701BCC114ACB463467CEC630DFF4AFBDEC8
-      8F7F5F5320005AF127A11D80D5B6FF8A3E36E3BBDE0EC072F361408B0EE0DADA
-      D803B86616569AE71F2BFBFC9BCD669E7F760000000100000800004000008000
-      3004002000000001000008000040000000020000100000800000000400002000
-      0000010000080000400000000200001000008000000004000020000040000000
-      0200001000008000000004000020000000010000080000400000000200001000
-      0080000000040000200000000100000800004000008000000004000020000000
-      0100000800004000000002000010000080000000040000200000000100000800
-      0040000000020000100000800000000100000800004000000002000010000080
-      0000000400002000000001000008000040000000020000100000800000000400
-      0020000000010000020000100000800000000400002000000001000008000040
-      0000000200001000008000000004000020000000010000EC8C5D0D01EBECA4EA
-      B9D5D1D583AB7D0DC9963633041BEA9AEA9BD579D5FBAA330C09EB656D36F3F3
-      BBD000AEAD8D3D806B13198AFDABF7564FF2AC800D7376F5BCEA2A0158B3D96C
-      CD5342000880713DA4FA64758867046CB84BAAA3AAAB05800058846B00580FEF
-      B6F8C3A63964FE33070280519D501D6F1860531D5F3DCD30200018D30B0C01F8
-      D94300B07A8E3104308A630D01028031ED6F08C0CF1ECBC7BB00161D40EF02F0
-      04023FFFE33CB87701D801000004000020000000010000080000100000800000
-      000400002000000001000008000040000000020000100000800000000400D376
-      8321003F7B080056CF5586004671A521400030A68F1902F0B3870060F5BCC710
-      809F3D0400ABE7CCEA2CC3009BEAACEAAF0D038B589BCD66466191015C5B1B7B
-      00D726300C0FA93E591DE219011BEE92EAA8EAEA091CCBA8E7BFD96CB6E6E960
-      0780715D5D1D539D632860439D5D1D3D91C51F3B007600EC00DCCE49D573AB63
-      AB83AA3D3C4BE05EBBB1BAB4FA78F5BEEA8C891D9F1D000120000400AB7802F6
-      FCF3FC1300CBCB4B000020000000010000080000400000000200001000008000
-      0000040000200000000100000800004000000002000010000080000000040000
-      2000004000000002000010000080000000040000200000000100000800004000
-      0000020000100000800000000400002000000001000008000040000080000000
-      0400002000000001000008000040000000020000100000800000000400002000
-      0000010000080000400000000200001000008000000001000008000040000000
-      0200001000008000000004000020000000010000080000400000000200001000
-      0080000000040000200000000100000200001000008000000004000020000000
-      0100000800004000000002000010000080000000040000200000000100000800
-      00400000000200001000002000B817768CFCF8BB99829576C38A3E36E3BBEFC8
-      8F7FAB29100063BB79E4C7DFD314ACB4AB467CEC2B0DFF4A7BC0C88F7F932910
-      00AB1E000F30052BED632BFAD808809B4D8100B003C02A7BCF8A3E3602C00E80
-      0018DD75233FFE7EA660A59D599D35C2E39E55FDB5E15F69639F7BAE33050260
-      6CDB477EFC434DC1CA7B7E75C9263EDE25F3C764B58D7DEED96E0A04C0D8AE1D
-      F9F11F610A56DED5D531D5399BF058675747CF1F93D536F6B9E75A53B0985D0D
-      C1C2AEB103C0045C593DB93AA97A6E756C7550B5C7827FEF8DD5A5D5C7ABF755
-      67186A2672EEB9C6140880B15D3AF2E33FDE14701BA7CFBF60A31DB9E2E7DEA5
-      E72580C55D3EF2E33FBC3AD034009BE8E0EA80153FF70A0026F1243CD634009B
-      E889CEBD0280BA6802C7F014D300ACD839E742D3B098B5D96C66141619C0B5B5
-      FB54D757F71BF130B657FF2277C60236DEEED537AABD473C86EF55DB66B3D90E
-      D36107604CB74E6017609FEA4453016C82678CBCF8575DD0F81FC42600A8EA0B
-      1338865F370DC026F8B5091CC3174D8300988A4F4FE0187EA57A90A90036D083
-      AB5F9EC0717CCA540880A9F8C4048E61CFEA55A602D840AF6EDCEB9DA674CE5D
-      7A2E025C7400D7D66AB828E63BF33FC7B4BDE1EE6FDF3533C03ADBD670F39D07
-      8E7C1C37CC8FE116EB971D8029B8692245BA4FF552D3016C80DF9AC0E25FC36D
-      A96F311D02604A3E3291E3F82FD54F9B0E601D1D54BD7622C7E256D7026072A6
-      F221297B556F301DC03A7A43757FE7DAADC535008B0EE0700DC00F63EAF2EAA1
-      1338AC59C39DBACE3143C0829E5A9D55AD4DE0582E6FD88D985559BFEC004CC5
-      8EEACFA6D225D5DB1A2EDA01B8B77EAA7AEB4416FFAA3FFDE1E28F00989AF74D
-      E8581E59FDF1847E7081E5B2363F871C3AA1637AAF69110053755EF5F5091DCF
-      2F552F372DC0BDF01FAB9327743C97E506400260C26EADDE31B1637A43759CA9
-      0176C209D5EB27764CFF37F7FF5F572E025C7400D77E6C87FD90EAE289C5D5F7
-      1B3E2CE8E3660CB81B4F6C78ABDDFD26744CB756075757DCF61F5ABFEC004CCD
-      25D5D9133BA6FB355CA0F833A607B80BFF727EAEB8DFC48EEBA3775CFC110053
-      75EA048FE9C1D5992200B88BC5FFCC6ADF091EDB9B4CCFFAF312C0A203B8F613
-      2FB25FABBE541D3EC143BEB6E1E2C0F3CC1E30776CF5C1A671ABDF3BFA87EA31
-      3FE9FFB07ED90198A25975DA448F6DEFEA43D5934C13D070D3B00F4D74F1AFFA
-      4353640760997600AAF668B81870AAF7E5BFB1FA9DEA2D661156F3F455FD76C3
-      3B85769FE8315ED6704F939BED00D80158263756AF9BF0F1ED51BDB9E135BFFD
-      4D17AC94FDE73FFB7F30E1C5BFEABFDDD9E28F1D8029EF00FC7091FD72F5B089
-      7F1B5FAD5E323F21005BDB490DB7F73D70E2C7796975D85D0580F5CB0EC0D477
-      015EB304C77970C3276CFDE5129C14807BE7C0F9CFF84796E4E7FC77FDF66F07
-      609977006A789DED93D5914BF22D6DAF7EBFE1C384BE6B8661E9EDD5B0C3F7DA
-      A67BA1DF1D9DDB7043A2BB5CA0AC5F0260EA015075D4FC09BD4C3B2EDB1B2E10
-      3CADBADA4CC3D2D9AFE1B3407EB3E1DD3FCB6247F584EAFCBBFB17AD5F026019
-      02A0F962FAB225FC166FAC3E50BDB3E1F6A03F30EB3059BB564FAF5E583DAB69
-      5FE077674EAB5E714FFE45EB9700589600D8567DB13A6089BFDDAB1A6E137A6E
-      C3E70A5CEA1900A33BB8E1463EBF583DBB7AC8127F2F97553F575D2F0004C056
-      0A801A3E5AF3835BE8DBFF5AF599EAC2EAA2EA82868F43FE6EF5BDF917B0983D
-      E75F0FA81EDA70CBDEC3E67F3EB6E9DE6B6467CDE6E7C80FDFE3FFC0FA250096
-      28006AF89C8057183980DB39A57AF54E1583F54B002C5900EC5EFD5DF568A307
-      50D567ABA3AB9B04C0E6711F80CD7753C3053A371A0A806EA85EB0B38B3F0260
-      59FD43F51BDDCD7B5C01B6B8D9FC5CF84543210056C99F556F340CC00AFBEFD5
-      9F1B8671B80660D101DCF96B006E6BB7865BF03EC548022BE6AC867B16DCEB7B
-      8B58BF04C03207400DB7E93CA77A8CD10456C467AB27B5E0EDC6AD5F0260D903
-      A086F7F67E221FC4036C7D97365CF1FF8D45FF22EBD7625C03300D5FAF7EA5FA
-      B6A100B6B06BAB5F5E8FC51F01B0957CAE3AB17B780B4C8025F3EDEAA9D5E70D
-      8500E0C77DBA7A4E3E031BD85A6EAA9EDBF01668040077E2743B01C01672DDFC
-      9C76A6A1981617012E3A80EB7311E04FF2F8EA23D5838C32B0A4AEA99E519DBF
-      117FB9F5CB0EC05675FEFC07E76A43012CA1AB1ADEE77FBEA11000ECBC4F377C
-      DCE7E70C05B0443E373F777DC6500800EEBDAF554FABCE3514C012F8DBEAF886
-      B737230058D0B71A6E17FCFA7C8010304DB3F939EAA9D576C3317D2E025C7400
-      37EE22C03BF36BD5FFAE1E60F48189F84EC347FA7E60538BC3FA2500562C00AA
-      8EA8DE5D3DCA0C0023FB7CF5FCEA4B9BFDC0D6AFC5780960797FE07EBEFAAFD5
-      0EC3018C60C7FC1CF4B831167FEC00ACEA0EC06D3DA3FA5FD5016603D8249756
-      2F69F838F3D158BFEC00ACBA0F573FD370F1CDAD8603D840B7CECF35878FBDF8
-      6307C00EC0ED1D5BBDA9E12E8200EBE953D52BAB4F4EE580AC5F7600F89173AB
-      2754FF2EEFC105D6C715D50BABA3A6B4F86307C00EC09DDBADFAF5EA3F57879A
-      2960277DB97A5DF59EEA96291EA0F54B000880BBB647F5A2EA55D561660CB81B
-      1754A754EF68F818DFC9B27E09000170CFEC529DDCF01ADE71D59AD903E67654
-      6755A7561F6A49EE386AFD12000260E71D5ABD78BE33B0BF598495F58DEA8FAA
-      B757FFBC6C076FFD12000260318FAA9ED370BD80970860EBBBB0FA93EAFD2DF9
-      0D7CAC5F024000AC8F5DAA4737BC3C705CF5C46A2F330C4BEFBAEA9CEA6FAA8F
-      36DC49744BDC41D4FA250004C0C6B8CF3C087EB13A66BE53F0C86A77B30E9375
-      5375D1FC37FBF31A3E9AF70B6DD19B8459BF048000D8DC2838B87A44F5B086DB
-      0F1F58ED5B3DA8DA67FEE76ED5B6F9BF0F2CE6D6F96FF1B7347C34F8B71A3E6E
-      F79BD5E5D565D5D7AA8B1B6ED1BB327704B57E0900006027B913200008000040
-      0000000200001000008000000004000020000000010000080000400000000200
-      0010000080000000040000200000000100000800001000008000000004000020
-      0000000100000800004000000002000010000080000000040000200000000100
-      0008000040000000020000100000200000000100000800004000000002000010
-      0000800000000400002000000001000008000040000000020000100000800000
-      0004000020000040000000020000100000800000000400002000000001000008
-      0000400000000200001000008000000004000020000000010000080000400000
-      8000000004000020000000010000080000400000000200001000008000000004
-      0000200000000100000800004000000002000010000080000000040000080000
-      4000000002000010000080000000040000200000000100008CE8FF0F0016D45C
-      9A93AC1A5E0000000049454E44AE426082
+      1754506F727461626C654E6574776F726B477261706869632B12000089504E47
+      0D0A1A0A0000000D494844520000002A0000002A0806000000C5C3C95B000000
+      097048597300002E2300002E230178A53F7600000A4F6943435050686F746F73
+      686F70204943432070726F66696C65000078DA9D53675453E9163DF7DEF4424B
+      8880944B6F5215082052428B801491262A2109104A8821A1D91551C111454504
+      1BC8A088038E8E808C15512C0C8A0AD807E421A28E83A3888ACAFBE17BA36BD6
+      BCF7E6CDFEB5D73EE7ACF39DB3CF07C0080C9648335135800CA9421E11E083C7
+      C4C6E1E42E40810A2470001008B3642173FD230100F87E3C3C2B22C007BE0001
+      78D30B0800C04D9BC0301C87FF0FEA42995C01808401C07491384B0880140040
+      7A8E42A600404601809D98265300A0040060CB6362E300502D0060277FE6D300
+      809DF8997B01005B94211501A09100201365884400683B00ACCF568A45005830
+      0014664BC43900D82D00304957664800B0B700C0CE100BB200080C0030518885
+      2900047B0060C8232378008499001446F2573CF12BAE10E72A00007899B23CB9
+      243945815B082D710757572E1E28CE49172B14366102619A402EC27999193281
+      340FE0F3CC0000A0911511E083F3FD78CE0EAECECE368EB60E5F2DEABF06FF22
+      6262E3FEE5CFAB70400000E1747ED1FE2C2FB31A803B06806DFEA225EE04685E
+      0BA075F78B66B20F40B500A0E9DA57F370F87E3C3C45A190B9D9D9E5E4E4D84A
+      C4425B61CA577DFE67C25FC057FD6CF97E3CFCF7F5E0BEE22481325D814704F8
+      E0C2CCF44CA51CCF92098462DCE68F47FCB70BFFFC1DD322C44962B9582A14E3
+      5112718E449A8CF332A52289429229C525D2FF64E2DF2CFB033EDF3500B06A3E
+      017B912DA85D6303F64B27105874C0E2F70000F2BB6FC1D4280803806883E1CF
+      77FFEF3FFD47A02500806649927100005E44242E54CAB33FC708000044A0812A
+      B0411BF4C1182CC0061CC105DCC10BFC6036844224C4C24210420A64801C7260
+      29AC82422886CDB01D2A602FD4401D34C051688693700E2EC255B80E3D700FFA
+      61089EC128BC81090441C808136121DA8801628A58238E08179985F821C14804
+      128B2420C9881451224B91354831528A542055481DF23D720239875C46BA913B
+      C8003282FC86BC47319481B2513DD40CB543B9A8371A8446A20BD06474319A8F
+      16A09BD072B41A3D8C36A1E7D0AB680FDA8F3E43C730C0E8180733C46C302EC6
+      C342B1382C099363CBB122AC0CABC61AB056AC03BB89F563CFB17704128145C0
+      093604774220611E4148584C584ED848A8201C243411DA093709038451C22722
+      93A84BB426BA11F9C4186232318758482C23D6128F132F107B8843C437241289
+      433227B9900249B1A454D212D246D26E5223E92CA99B34481A2393C9DA646BB2
+      0739942C202BC885E49DE4C3E433E41BE421F25B0A9D624071A4F853E22852CA
+      6A4A19E510E534E5066598324155A39A52DDA8A15411358F5A42ADA1B652AF51
+      87A81334759A39CD8316494BA5ADA295D31A681768F769AFE874BA11DD951E4E
+      97D057D2CBE947E897E803F4770C0D861583C7886728199B18071867197718AF
+      984CA619D38B19C754303731EB98E7990F996F55582AB62A7C1591CA0A954A95
+      26951B2A2F54A9AAA6AADEAA0B55F355CB548FA95E537DAE46553353E3A909D4
+      96AB55AA9D50EB531B5367A93BA887AA67A86F543FA47E59FD890659C34CC34F
+      43A451A0B15FE3BCC6200B6319B3782C216B0DAB86758135C426B1CDD97C762A
+      BB98FD1DBB8B3DAAA9A13943334A3357B352F394663F07E39871F89C744E09E7
+      28A797F37E8ADE14EF29E2291BA6344CB931655C6BAA96979658AB48AB51AB47
+      EBBD36AEEDA79DA6BD45BB59FB810E41C74A275C2747678FCE059DE753D953DD
+      A70AA7164D3D3AF5AE2EAA6BA51BA1BB4477BF6EA7EE989EBE5E809E4C6FA7DE
+      79BDE7FA1C7D2FFD54FD6DFAA7F5470C5806B30C2406DB0CCE183CC535716F3C
+      1D2FC7DBF151435DC34043A561956197E18491B9D13CA3D5468D460F8C69C65C
+      E324E36DC66DC6A326062621264B4DEA4DEE9A524DB9A629A63B4C3B4CC7CDCC
+      CDA2CDD699359B3D31D732E79BE79BD79BDFB7605A785A2CB6A8B6B86549B2E4
+      5AA659EEB6BC6E855A3959A558555A5DB346AD9DAD25D6BBADBBA711A7B94E93
+      4EAB9ED667C3B0F1B6C9B6A9B719B0E5D806DBAEB66DB67D6167621767B7C5AE
+      C3EE93BD937DBA7D8DFD3D070D87D90EAB1D5A1D7E73B472143A563ADE9ACE9C
+      EE3F7DC5F496E92F6758CF10CFD833E3B613CB29C4699D539BD347671767B973
+      83F3888B894B82CB2E973E2E9B1BC6DDC8BDE44A74F5715DE17AD2F59D9BB39B
+      C2EDA8DBAFEE36EE69EE87DC9FCC349F299E593373D0C3C843E051E5D13F0B9F
+      95306BDFAC7E4F434F8167B5E7232F632F9157ADD7B0B7A577AAF761EF173EF6
+      3E729FE33EE33C37DE32DE595FCC37C0B7C8B7CB4FC36F9E5F85DF437F23FF64
+      FF7AFFD100A78025016703898141815B02FBF87A7C21BF8E3F3ADB65F6B2D9ED
+      418CA0B94115418F82AD82E5C1AD2168C8EC90AD21F7E798CE91CE690E85507E
+      E8D6D00761E6618BC37E0C2785878557863F8E7088581AD131973577D1DC4373
+      DF44FA449644DE9B67314F39AF2D4A352A3EAA2E6A3CDA37BA34BA3FC62E6659
+      CCD5589D58496C4B1C392E2AAE366E6CBEDFFCEDF387E29DE20BE37B17982FC8
+      5D7079A1CEC2F485A716A92E122C3A96404C884E3894F041102AA8168C25F213
+      77258E0A79C21DC267222FD136D188D8435C2A1E4EF2482A4D7A92EC91BC3579
+      24C533A52CE5B98427A990BC4C0D4CDD9B3A9E169A76206D323D3ABD31839291
+      907142AA214D93B667EA67E66676CBAC6585B2FEC56E8BB72F1E9507C96BB390
+      AC05592D0AB642A6E8545A28D72A07B267655766BFCD89CA3996AB9E2BCDEDCC
+      B3CADB90379CEF9FFFED12C212E192B6A5864B572D1D58E6BDAC6A39B23C7179
+      DB0AE315052B865606AC3CB88AB62A6DD54FABED5797AE7EBD267A4D6B815EC1
+      CA82C1B5016BEB0B550AE5857DEBDCD7ED5D4F582F59DFB561FA869D1B3E1589
+      8AAE14DB1797157FD828DC78E51B876FCABF99DC94B4A9ABC4B964CF66D266E9
+      E6DE2D9E5B0E96AA97E6970E6E0DD9DAB40DDF56B4EDF5F645DB2F97CD28DBBB
+      83B643B9A3BF3CB8BC65A7C9CECD3B3F54A454F454FA5436EED2DDB561D7F86E
+      D1EE1B7BBCF634ECD5DB5BBCF7FD3EC9BEDB5501554DD566D565FB49FBB3F73F
+      AE89AAE9F896FB6D5DAD4E6D71EDC703D203FD07230EB6D7B9D4D51DD23D5452
+      8FD62BEB470EC71FBEFE9DEF772D0D360D558D9CC6E223704479E4E9F709DFF7
+      1E0D3ADA768C7BACE107D31F761D671D2F6A429AF29A469B539AFB5B625BBA4F
+      CC3ED1D6EADE7AFC47DB1F0F9C343C59794AF354C969DAE982D39367F2CF8C9D
+      959D7D7E2EF9DC60DBA2B67BE763CEDF6A0F6FEFBA1074E1D245FF8BE73BBC3B
+      CE5CF2B874F2B2DBE51357B8579AAF3A5F6DEA74EA3CFE93D34FC7BB9CBB9AAE
+      B95C6BB9EE7ABDB57B66F7E91B9E37CEDDF4BD79F116FFD6D59E393DDDBDF37A
+      6FF7C5F7F5DF16DD7E7227FDCECBBBD97727EEADBC4FBC5FF440ED41D943DD87
+      D53F5BFEDCD8EFDC7F6AC077A0F3D1DC47F7068583CFFE91F58F0F43058F998F
+      CB860D86EB9E383E3939E23F72FDE9FCA743CF64CF269E17FEA2FECBAE17162F
+      7EF8D5EBD7CED198D1A197F29793BF6D7CA5FDEAC0EB19AFDBC6C2C61EBEC978
+      33315EF456FBEDC177DC771DEFA3DF0F4FE47C207F28FF68F9B1F553D0A7FB93
+      199393FF040398F3FC63332DDB000000206348524D00007A25000080830000F9
+      FF000080E9000075300000EA6000003A980000176F925FC54600000756494441
+      5478DACC595D88644715FE4E55DDDBB7B7E73793D9D10DEEECBAB0BE649F3779
+      107C120D2A06044171A31041447C105FD6C4755D174431F159B2912031FAA412
+      12A2E883E431461114036143329AD9ECFCF5ECF44CF7FDABAAE343DFDB535D53
+      B7A713A24931D53D9CDB75EBBBA7CECF77CE259DFE79E5139FFAF6BD3B3BBDF9
+      289202008410846A586B19FFE311DAAF2C8D5D5A9ADBFBFD733FF9278092A248
+      FDC85A7BC65A5EC6FB6C08415B428837D2DE9F1E57D6DAB3C4F63389A45C0AE8
+      F717544669ED1F3EFEC0B72E28625E9C4F687B21A19D44510682D106F97B052D
+      92688F603268B3CF6A77F7604E4901B3D0A6ED0FCC88CDF57DBCFEEF5DD3EF9C
+      8873F0F089B8FA0042A64A008584DE8F8F59EFFEF5D32239BD284F7C7801F780
+      8183128328924211C12692F24451D9D52DDDDF7FFE85384E32401A0006200DC0
+      0E772206B886260E7763AA009207AF5A334269AB25ECAC11002B802540B2D7EB
+      B7CF9CFBF483D6A652083652C000800200227061A109368F24DF66931A00DA99
+      E6709391D68433C9F9A64390F503C23AD355AD00202B1C0A809AED401A5364DD
+      8C5B8B2D6475545087F6C05C1665A5C511C0D2F9DF3680940190F0009A06B0A2
+      56963BCAD2D83BA99DEB44C2D432E5990C79403580A29219E7E635405903BCFE
+      C35F2CBDFAEA7F16EB5B9D3FFFA1DD472F5FDA70801A0F30AAF51CB071CA3512
+      635986810E87ABCDD2D1AAF5808EB4F2DDEFDD58F9F163CF7C05C0BC739FBD3C
+      2B6EFCE0FB0FBFE53DBC0BD437A91A686DDC1404CACCEC6940078EDE3D6E06C0
+      2FBDFCCA3201CB92F80149288708E885975E7E6519C02DC70C8C074E780F5FDD
+      7B5CC9D65A0E69D44E98F03C9B000829050901BB98D0ED99987A8260B7071848
+      295C278367BB93F63B32D4143198BCE93B926AB562298878B685BD931DDA9204
+      7B50A268B5E2DAA38DB7AE8E0A7E486B1CEA18602EA05A568792A89EEDA4A500
+      40114C2460A48011445CC9A386D0C48110D7087C12501F243B402300713DE358
+      C9D0CD2B79EC68105E18A306B0531FBDF0629C6BFC9103B405204E9258118D67
+      4E225092C4AAFA5D2851582F960AC7B926032590AB4D19C8DD3204544A11DCA0
+      92B71C2DB9408D279301C79BA851E11D95F0C252E41DBD388E563A5AF5813665
+      BB6380D2980D4900E2D4EA839FDDDEDE5B758EF4C830C62289657B4C9BC4EA67
+      4F3C7BF1C99F3F77D14F3DEC08EEBE7B7EEDD6DA6F7F37EE4C34B53309007CED
+      FA534BDD9DDE47C0F69220686A082452224AA4DD1324D640C39338B380531D25
+      97DEDCB7A7D282E7DC2CE3E2E8767BBFBC76FDA993571EFDF2CE3B712600A0CE
+      4C9B88604F44949D88685F8961D6093D5AA23068474845653202E0768474A94D
+      BB5944391A2AAF6E4EBA33D33E369E1E1BF08908F309ED2C7768B3255134D50C
+      42908D054AAA344A04EE4494469236ADE54627E96D8F9C0AEF142867690E0014
+      491C248A7A890A6B548A0607903044282169420137DA87276955052BAA2A8B3C
+      72F9D2D633BFFEE3DA4E7740370776DCCC68A471CAF21227933C5A9D352BF5F5
+      B57DB9B191C6653B896BB233E64400430841AB67E7361EB9FCD05675754A1B65
+      B7848001C0FFFAC7D3BF81483AD5450546342C1D100388C02CAE5CBD71CFD337
+      7E75511B23951C1EA501E96F7EE3737FBB76F5ABEB20B2155D2C00D2A09A3A12
+      C045CAC6944EA4E1507D751C7B326CB9073BE81D067C3A12F0BBDDEEC241A665
+      3FE6F69CA03E11D8686BBBDDDD3EDB62A722DF79F55D025C1E067C42804F4C06
+      CA43F5073829B9E9CEE5940CC096A5D659C9ADB4447BA68581ACA86D596A0D20
+      3B0A94CA400A7543E3D4CE546BD425CDB50D1D614259566863595886040F0B1A
+      E6A1DC01E90085F648099C7BBF2D67F20BB35A8314624245A18321A69217DED4
+      0E5037C75BEFDE53030D55911462426996EBA31B302AB95F7BD5E5377BA7C46F
+      17E824E0FEF11B003ACF0BC33C1E0619E03C2F8CD717F0CB8D4660D3B2A7D00C
+      64EAA1D68D09B7262BB9CFECA9A1A89B9E3DD190FDD67663ABEB36409EC718F9
+      FDF75DD87EF1C5BF776F0FE8AFBBF9308D1E14ACEFBFEFC2B6573148CF698453
+      DAC8437BA523FD53D5003E54DB343520C4D52B0F77CF9D3BF7EC9BEB7756B42E
+      AD5291585D5DDAFCC2E73FB60B2E7C12EE3720DCFA4B3599634828BDB64CDD94
+      900D245780357FE98B1F7D8388DFAA0303B328C085F534291A5A3A91A7D9E34A
+      9111D0103F9DDC246368663215F1652777CBA6F81B6A9201610A33021A4BA834
+      D7A2DFCF64A793842A52F6188E08D4FCE4D559E4980E7BDEEE5612231BDDDED9
+      8B8A5293882969EC947C7056CE2D2C7FF2A1248975457846CCA7A90F1BE0AF34
+      5A7394F004D7574E0C00C8F3328A94384B602667D518D0D3F358558256B60E8A
+      D9D270F25EB4C615613126DB6F29BA250519805196C62A807601DC0500B14079
+      579BF6C09099269EB6DDF26E0E22AC270AE9629BEEC40265A6293DB338D3A385
+      F9D9C7A51ECCCC27432762061986B43C7D5FE8DD7E15220856126C6E6890726B
+      B0B5F1FC6364CBBFDCFBB5AFFFF4FCCD9BAFC54AD52FC4C87941C5FF87176247
+      F7D3DAD8D5D5D3D9934F7CE735ABF7D6FF3B005A3F8EB29D1033280000000049
+      454E44AE426082
     }
     Stretch = True
   end
   object PanelBackground: TScrollBox
     Left = 0
-    Height = 525
-    Top = 48
+    Height = 517
+    Top = 56
     Width = 817
     HorzScrollBar.Page = 1
     HorzScrollBar.Visible = False
@@ -505,7 +380,7 @@ object Form1: TForm1
   object EditSearch: TEdit
     Left = 608
     Height = 21
-    Top = 10
+    Top = 16
     Width = 176
     AutoSelect = False
     BorderStyle = bsNone
@@ -518,6 +393,204 @@ object Form1: TForm1
     Text = 'Search...'
     TextHintFontColor = clBtnText
   end
+  object ButtonSettings: TImage
+    Left = 80
+    Height = 42
+    Top = 8
+    Width = 42
+    OnMouseEnter = ButtonSettingsMouseEnter
+    OnMouseLeave = ButtonSettingsMouseLeave
+    Picture.Data = {
+      1754506F727461626C654E6574776F726B477261706869635417000089504E47
+      0D0A1A0A0000000D494844520000002A0000002A0806000000C5C3C95B000000
+      097048597300002E2300002E230178A53F7600000A4F6943435050686F746F73
+      686F70204943432070726F66696C65000078DA9D53675453E9163DF7DEF4424B
+      8880944B6F5215082052428B801491262A2109104A8821A1D91551C111454504
+      1BC8A088038E8E808C15512C0C8A0AD807E421A28E83A3888ACAFBE17BA36BD6
+      BCF7E6CDFEB5D73EE7ACF39DB3CF07C0080C9648335135800CA9421E11E083C7
+      C4C6E1E42E40810A2470001008B3642173FD230100F87E3C3C2B22C007BE0001
+      78D30B0800C04D9BC0301C87FF0FEA42995C01808401C07491384B0880140040
+      7A8E42A600404601809D98265300A0040060CB6362E300502D0060277FE6D300
+      809DF8997B01005B94211501A09100201365884400683B00ACCF568A45005830
+      0014664BC43900D82D00304957664800B0B700C0CE100BB200080C0030518885
+      2900047B0060C8232378008499001446F2573CF12BAE10E72A00007899B23CB9
+      243945815B082D710757572E1E28CE49172B14366102619A402EC27999193281
+      340FE0F3CC0000A0911511E083F3FD78CE0EAECECE368EB60E5F2DEABF06FF22
+      6262E3FEE5CFAB70400000E1747ED1FE2C2FB31A803B06806DFEA225EE04685E
+      0BA075F78B66B20F40B500A0E9DA57F370F87E3C3C45A190B9D9D9E5E4E4D84A
+      C4425B61CA577DFE67C25FC057FD6CF97E3CFCF7F5E0BEE22481325D814704F8
+      E0C2CCF44CA51CCF92098462DCE68F47FCB70BFFFC1DD322C44962B9582A14E3
+      5112718E449A8CF332A52289429229C525D2FF64E2DF2CFB033EDF3500B06A3E
+      017B912DA85D6303F64B27105874C0E2F70000F2BB6FC1D4280803806883E1CF
+      77FFEF3FFD47A02500806649927100005E44242E54CAB33FC708000044A0812A
+      B0411BF4C1182CC0061CC105DCC10BFC6036844224C4C24210420A64801C7260
+      29AC82422886CDB01D2A602FD4401D34C051688693700E2EC255B80E3D700FFA
+      61089EC128BC81090441C808136121DA8801628A58238E08179985F821C14804
+      128B2420C9881451224B91354831528A542055481DF23D720239875C46BA913B
+      C8003282FC86BC47319481B2513DD40CB543B9A8371A8446A20BD06474319A8F
+      16A09BD072B41A3D8C36A1E7D0AB680FDA8F3E43C730C0E8180733C46C302EC6
+      C342B1382C099363CBB122AC0CABC61AB056AC03BB89F563CFB17704128145C0
+      093604774220611E4148584C584ED848A8201C243411DA093709038451C22722
+      93A84BB426BA11F9C4186232318758482C23D6128F132F107B8843C437241289
+      433227B9900249B1A454D212D246D26E5223E92CA99B34481A2393C9DA646BB2
+      0739942C202BC885E49DE4C3E433E41BE421F25B0A9D624071A4F853E22852CA
+      6A4A19E510E534E5066598324155A39A52DDA8A15411358F5A42ADA1B652AF51
+      87A81334759A39CD8316494BA5ADA295D31A681768F769AFE874BA11DD951E4E
+      97D057D2CBE947E897E803F4770C0D861583C7886728199B18071867197718AF
+      984CA619D38B19C754303731EB98E7990F996F55582AB62A7C1591CA0A954A95
+      26951B2A2F54A9AAA6AADEAA0B55F355CB548FA95E537DAE46553353E3A909D4
+      96AB55AA9D50EB531B5367A93BA887AA67A86F543FA47E59FD890659C34CC34F
+      43A451A0B15FE3BCC6200B6319B3782C216B0DAB86758135C426B1CDD97C762A
+      BB98FD1DBB8B3DAAA9A13943334A3357B352F394663F07E39871F89C744E09E7
+      28A797F37E8ADE14EF29E2291BA6344CB931655C6BAA96979658AB48AB51AB47
+      EBBD36AEEDA79DA6BD45BB59FB810E41C74A275C2747678FCE059DE753D953DD
+      A70AA7164D3D3AF5AE2EAA6BA51BA1BB4477BF6EA7EE989EBE5E809E4C6FA7DE
+      79BDE7FA1C7D2FFD54FD6DFAA7F5470C5806B30C2406DB0CCE183CC535716F3C
+      1D2FC7DBF151435DC34043A561956197E18491B9D13CA3D5468D460F8C69C65C
+      E324E36DC66DC6A326062621264B4DEA4DEE9A524DB9A629A63B4C3B4CC7CDCC
+      CDA2CDD699359B3D31D732E79BE79BD79BDFB7605A785A2CB6A8B6B86549B2E4
+      5AA659EEB6BC6E855A3959A558555A5DB346AD9DAD25D6BBADBBA711A7B94E93
+      4EAB9ED667C3B0F1B6C9B6A9B719B0E5D806DBAEB66DB67D6167621767B7C5AE
+      C3EE93BD937DBA7D8DFD3D070D87D90EAB1D5A1D7E73B472143A563ADE9ACE9C
+      EE3F7DC5F496E92F6758CF10CFD833E3B613CB29C4699D539BD347671767B973
+      83F3888B894B82CB2E973E2E9B1BC6DDC8BDE44A74F5715DE17AD2F59D9BB39B
+      C2EDA8DBAFEE36EE69EE87DC9FCC349F299E593373D0C3C843E051E5D13F0B9F
+      95306BDFAC7E4F434F8167B5E7232F632F9157ADD7B0B7A577AAF761EF173EF6
+      3E729FE33EE33C37DE32DE595FCC37C0B7C8B7CB4FC36F9E5F85DF437F23FF64
+      FF7AFFD100A78025016703898141815B02FBF87A7C21BF8E3F3ADB65F6B2D9ED
+      418CA0B94115418F82AD82E5C1AD2168C8EC90AD21F7E798CE91CE690E85507E
+      E8D6D00761E6618BC37E0C2785878557863F8E7088581AD131973577D1DC4373
+      DF44FA449644DE9B67314F39AF2D4A352A3EAA2E6A3CDA37BA34BA3FC62E6659
+      CCD5589D58496C4B1C392E2AAE366E6CBEDFFCEDF387E29DE20BE37B17982FC8
+      5D7079A1CEC2F485A716A92E122C3A96404C884E3894F041102AA8168C25F213
+      77258E0A79C21DC267222FD136D188D8435C2A1E4EF2482A4D7A92EC91BC3579
+      24C533A52CE5B98427A990BC4C0D4CDD9B3A9E169A76206D323D3ABD31839291
+      907142AA214D93B667EA67E66676CBAC6585B2FEC56E8BB72F1E9507C96BB390
+      AC05592D0AB642A6E8545A28D72A07B267655766BFCD89CA3996AB9E2BCDEDCC
+      B3CADB90379CEF9FFFED12C212E192B6A5864B572D1D58E6BDAC6A39B23C7179
+      DB0AE315052B865606AC3CB88AB62A6DD54FABED5797AE7EBD267A4D6B815EC1
+      CA82C1B5016BEB0B550AE5857DEBDCD7ED5D4F582F59DFB561FA869D1B3E1589
+      8AAE14DB1797157FD828DC78E51B876FCABF99DC94B4A9ABC4B964CF66D266E9
+      E6DE2D9E5B0E96AA97E6970E6E0DD9DAB40DDF56B4EDF5F645DB2F97CD28DBBB
+      83B643B9A3BF3CB8BC65A7C9CECD3B3F54A454F454FA5436EED2DDB561D7F86E
+      D1EE1B7BBCF634ECD5DB5BBCF7FD3EC9BEDB5501554DD566D565FB49FBB3F73F
+      AE89AAE9F896FB6D5DAD4E6D71EDC703D203FD07230EB6D7B9D4D51DD23D5452
+      8FD62BEB470EC71FBEFE9DEF772D0D360D558D9CC6E223704479E4E9F709DFF7
+      1E0D3ADA768C7BACE107D31F761D671D2F6A429AF29A469B539AFB5B625BBA4F
+      CC3ED1D6EADE7AFC47DB1F0F9C343C59794AF354C969DAE982D39367F2CF8C9D
+      959D7D7E2EF9DC60DBA2B67BE763CEDF6A0F6FEFBA1074E1D245FF8BE73BBC3B
+      CE5CF2B874F2B2DBE51357B8579AAF3A5F6DEA74EA3CFE93D34FC7BB9CBB9AAE
+      B95C6BB9EE7ABDB57B66F7E91B9E37CEDDF4BD79F116FFD6D59E393DDDBDF37A
+      6FF7C5F7F5DF16DD7E7227FDCECBBBD97727EEADBC4FBC5FF440ED41D943DD87
+      D53F5BFEDCD8EFDC7F6AC077A0F3D1DC47F7068583CFFE91F58F0F43058F998F
+      CB860D86EB9E383E3939E23F72FDE9FCA743CF64CF269E17FEA2FECBAE17162F
+      7EF8D5EBD7CED198D1A197F29793BF6D7CA5FDEAC0EB19AFDBC6C2C61EBEC978
+      33315EF456FBEDC177DC771DEFA3DF0F4FE47C207F28FF68F9B1F553D0A7FB93
+      199393FF040398F3FC63332DDB000000206348524D00007A25000080830000F9
+      FF000080E9000075300000EA6000003A980000176F925FC54600000C7F494441
+      5478DAAC586B6C94577A7EDE73CE779DF18CED99B1C1C6988B2921402E5AA16D
+      1242AA4665035D362205B6495489A4CB6A37DB8D94FC605308A1952A356DAAAA
+      55FB83AD920DD95675E9B29B36A992509A6D5205250436DD5D88D75C826D30BE
+      CDFDF2CDCC773BA73FB05DDB191B087BA49166E6FBCE7B9EF35E9FF725FC7AD6
+      E300BE0C60D9E4EF108006A004E03280F700BCD368A352EA860E10BF06905B01
+      6C64843FD438799CE01361FAF43044D60D554DCD03F446D72D03658CB543C99E
+      884EA5B84999A84615469053CF5DA9F44B39158742144065EEFE743A3DFD3D95
+      4A0100464747F1C61B6FDC34D08701E893E6FCC9DC87440446546BB168625194
+      C62C8DEAB3342A890FE4A45240231B7FB5ADADCDC4B56735A5D45B5F54A35F07
+      F09B009A0038009600383FD3DF6CDBA6C0ADA24947D9D6A9C667681300388724
+      826A00733B807B26654B001922124AA9376E16E863007E9B11FE40E3147042E0
+      85F89F402A7B52C31E00A356ABDDA933653322C91A6B0D2D1699B9AADA26154A
+      937F4500DC4B8427048321887CA99071431521221A1919F9F71B05FA4D00F770
+      C263964E9598413953A0E687E84957E1D57D95045006100FC3E00E43A3D5C468
+      60BE1BFF4692AFFADF9150D57D5556800FA09911BE690A729B0C1AB334549402
+      ABB8F470B626A9A3A303870E1D9A0596E6D1E416C1B02BA2532161D358AB4579
+      43901B2AF0624DC5D38E8A975DC543A5DA744E61C2A6D18E261A891A546D04D4
+      0F21B255D57AB524638EAF6C006D86A06A8B4913C908656C8D6A52811C5FD913
+      65151FAFC8B714F0D343870EBDB39046BF24181E8EE8944F45D8683242595B60
+      3A40344681E0F0AD1A5ABC90D2A640ADD5A6ACA9913B6F20708431934AA164BC
+      E42A21819188864A8B45F9A841CE945F1B9C7C4E08AB01AD28D7D5CF17323D03
+      C04C8DFC6484C65211CA581A5C9AE17B3A87DF625231A2A1164830C12934383C
+      C110CE0794006509B83C4A99B889920448E7E46B1CFECCE0E30C61DCA04A934E
+      BEE3AAE85C60D3EBE5975F866D59634AE13F9B4D2ACE0539B5348E20A253356E
+      5225A2A1B610C8FF4F635006871F35C88919543105DCB91962F2BD20EDA86145
+      6C988830F5117372A2FAEFF7DEFBC787BEB23979B55472E2265F74A389FF524E
+      8E7B21DC50A9100A2022D238B45509D679A3322E1764365D63B944AAED17FBF6
+      3F7FCCF3BCF983E995575E893DF8E0834BEEBC63DDEE165E4DAD6C65C9EB001C
+      2B7BA89403C16C43CB699A5621C6641884BAEB792D61E06BCDBA34D6B4B1EEEB
+      01FDF9382E2E5ADA73E6F90307DFBC70E1420633ACD928EA71F8F0E1C4B163C7
+      EE3FFEE6D12DB727D5528D2368F45E7F5A5ECEFBBABF6449E7D90F4E7CF85F52
+      4A9ECBE594EBBAAAA3A343534AA923478E44FEEC4F0F6EAB3BA5E6F62892DDCD
+      ACB591AC7AA0BCBE82FDD90FFFE99FFFBAAFAF6FDCF77D75DD3CBA7BF7EE6C2A
+      956A95249A1CDFB3E38CCA33CB22009CCBC8CB7516C99D3BDFF783D1D1D1F0F4
+      E9D34E2412A972CEFD62B1A8745D17FDFDFDD6A64D9BDC0F3F3EFDE39D3B766C
+      E8EF3B7B5747139A353E3B36AEF93D896AADAEF7F7F78F0921E0FB3EE6CBA33B
+      0198B896906300D6C44CF658578C065351CACC74FC81BC9C28CAE8D87FBC7DEC
+      1FAE5CB952DAB56B577E2193BEFAEAABF6AA55AB3A9F7BEE7B9BCEFCECE4FABB
+      176355A3403A3B1E0E67AA6A504A8CA86BDC8200640F1E3CF80E01E0000E0088
+      CFC80206273CD9645276498C0D2623949B29F8E408BFB8E75B4F7D7FF1E2C543
+      7BF7EEADDD68B0BCFDF6DBCBBFFB47DFD9594B0FDEBE3AC99273ADE4F8B0FA26
+      C2F1B2AB32EA1A3BA04932F43301E00011EEE184DFE28CBC49404AE3C8359B94
+      8968A8B2190207F26A3C168F0D2593C9C1BD7BF7D66F86126ED9B26560DFBE7D
+      C7FFEE6FFFA6CB0DBD0E53605691D019FCA571B622EDA87B1D4FC5A402570AB2
+      16281200DA744E1B231A32119DCA825D23BE0627B7C940D9D2A93E3397967D56
+      B1A2D64FF7EFDF7F5320A7567B7BFB053B12F5D24E963A62C4665A4A7084CD26
+      950443E8785408A4120AA08C834EC188585443BE3DCA466226CA9C5108009C10
+      0A8670AE798A752951AB0D7C51A24D448E526A225B432115419CCFD02A01CA10
+      F004A720AAC35120920AE478614130CE64D450A5B845455BC375B5E40792D2E9
+      74E58B027DFAE9A7552C162B9062A8075237C5E7390227482E309DED05238F31
+      22CED9EC9ABB60EB01250118B7D2BEF8BE6F865259BE84A6E6C9E5B3CE243026
+      A594377388AD1301E8BC45A0095272B95220DC4013CA1904D334BD54ACAB0B37
+      B605889BD4CC19EEBF059CD1300C9B0453AD4450D7D7273056962571DB9A359F
+      5EFAEC8238355C518291520AB03488BB16F39E469B96B7B08E91925C3F591CBE
+      48E4EF20A81E8D315763F0E7B2B381BC1C4F3BAA20277DC2539C37B7B45EA0DE
+      DEDEC47DF7DDD7F67B8F6CDF5CAB3A8C18539572D91A1D194EDCBB94DF365750
+      A8C07E3521736947F649853FBF49908B00EC3705ED6E8FD2E58E181B9919C0E7
+      33F24A45D9B9F6458BF242084944AC29DE5C78E699675F27003875EA543380A6
+      783CCE84102897CBFAE38FFEFE96ECF0F975AB93D43937D01C1FD6D9B170D0F1
+      D579A5F09737083205601F273C1933A9DA196383499BF27C92CB4A05F9D1A8B8
+      7CE6CCD997229108ABD7EBB25AAD52A150289D3871A2C40060C3860D857C3E3F
+      5CA954AE56ABD5E1A1A1A1E1682C7E21205DAB0730E646A6C9E1AD48B03506A7
+      3500FE02C0B605009A009E99AC80771B1AC96693324D0655F80CC25DF395AF71
+      561C1B1BCBB8AE7BD5719CABA55269B85028E4354D0BA7D9D3E6CD9B15304DE7
+      6A42887B2D8194E329DB14E4F219C1C619C2984E95152D6CED604146EB816A92
+      0AF7034803C84ECA8902689F2438294ED86568E4242C1A4FD894B5E694CF884E
+      46E8D7ED8D1B376E1A1A1A7A873106C61838E70BB6CB078220584B9CBE2C25BB
+      D4E8055DC06FB1A900624BB355F5A57C4D9D09A45AA214BCC91B09022C22A474
+      4E775B1A32CD26655B6DCA4675AA52832C9330D156F7B1B9BBBB9B5DBC78F12D
+      4DD316E4A3DF057097CEE92B9646E38680DB68B03055EE1236E50D01376AA0DB
+      F1A8C90D94154E267246087546AEA96338A653A9C9A4F27CBD12007435B394E0
+      B8ED524E524F4FCFF1DEDE5E3F994C4229F539A0046085C6B13566503A69D344
+      649EDB4F81D539FCB849655BA37A3D504537203D9410EA5A45913A876F70B886
+      204F708484F9F3B5C1E1276D2AE56BD459A8A9478BC5E20F3DCF836559B399F6
+      E1C3870140D91A1592364DB458549CAF0D995B9B4D01376E503969533E15A14C
+      5B8432299BB2CD16152306D5348E602190539DAAAD536D72D0E632C650AFD7C1
+      F99C96808858229138EF4B1C8B1AA8E8E2F309F9DAF015AA1E28AFD1419C21D4
+      38028D23101C2127C829197E88D00DE12F786B8560BCA22640AC3C154C8CB1D9
+      A61F191991AFBDF6DA9BDF79EADB89C1CC70F58EC57C69A3B678B0204B96AED5
+      5CDF37372D13AB185DBF10FE722CFC2C5F87CB8849934B6DC312BE7AEE3BA182
+      FAE00A06BBBBBB7FF9AD6F3F752C97CBCDDF2EBFF8E28BC6B66DDB567C6DDBEF
+      7EB53C3ED4BD6E115F36A591C1BC4CE742FBEAEADB6EBF6A5A96F25C979F3A7D
+      7AF57D5DE859887DF54DC8412BD1D9DFBE78896F1806CB65D3DAB95F7DDA7D4F
+      9758CD276DEA86F04F0E6378FDFA756777ECDCD54B4495EBB6CB478E1C31D6AE
+      5DBB62FBC35FDB3A34786971DC2451F5114463CD8525DDCBAFBEF4D25FFD9BEF
+      FBBEE779AD7FFCDCF7BE9E1F3EB77E558212F3813D39AA0D1C38F8277FBF61C3
+      8631C771609A66DB0B079EDFF2E1472797276CA25042BA4A84EBD6DF71F1D1C7
+      1E3F924EA74BB1586C96CBF146828F1E3D1A6EDCB8B1F48D3D7BD267CF7E9A14
+      6634DDB6A823FFF20F0E1FEDEAEAFA28168B390F3DF490B775EBD6CA8FFEF547
+      778681B7326EA0499F27F03ECB853922FAF10B2FBCE0F4F6F6BA8F3CF248E977
+      366F1E191EBED2C6753BD7926ACF7574764DECD8B9F35F1CC7292BA594AEEBB8
+      DED8717ABDFFFEFBC2719CB665CB9659131313D54F3EF964E2D9679F9D3567D2
+      75FD1B3A05DB7B5A29DE6A53A151F0BD37109C0F250E00981E4BBEFEFAEBACBD
+      BDBDD5B2AC781886FEC0C0C0C49933675C2184725D17D16814F30EC9E6AE071E
+      7820A8D7EBA341100CBAAE3B36172400442291BC176234548D65557DE5324279
+      264800D8BE7DBB0C8220EBFBFEA0E779C34110D489482D3011BCB575FCF8F196
+      279F78E2C9DCC4D5AE5484224A412A4031020B2582D10A6AD168D38942B1F893
+      46FB3FFEF863846188C1C141F4F7F783738E461AE5B70A74E5CA95C1BE7DFB26
+      846E5D1918C90D8868A2CF88A5CE31ABE5DCA2EE55E73FF8E0C49BB178FC17EF
+      BEFB6E43FFDDB3670F945228140AC86432608C210C43CCF5D1FF1B005B9DBB74
+      8EE1B6CC0000000049454E44AE426082
+    }
+  end
   object OpenDialog1: TOpenDialog
     DefaultExt = '.pdf'
     Filter = 'PDF Books|*.pdf|DJVU Books|*.djvu|EPUB Books|*.epub'

+ 67 - 16
src/main.pas

@@ -6,7 +6,7 @@ interface
 
 uses
   Classes, Sysutils, Fileutil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
-  ComCtrls, Book, BookCollection, LCLIntf, LResources, StdCtrls, LCLType;
+  Book, BookCollection, LCLIntf, LResources, StdCtrls, LCLType;
 
 
 type
@@ -15,19 +15,22 @@ type
 
   Tform1 = class(Tform)
     EditSearch: Tedit;
-    Image1: Timage;
+    ButtonSettings: Timage;
     ImageToolBar: Timage;
     ButtonAdd: Timage;
     Opendialog1: Topendialog;
     PanelBackground: Tscrollbox;
     procedure Buttonaddclick(Sender: Tobject);
+    procedure Buttonaddmouseenter(Sender: Tobject);
+    procedure Buttonaddmouseleave(Sender: Tobject);
+    procedure Buttonsettingsmouseenter(Sender: Tobject);
+    procedure Buttonsettingsmouseleave(Sender: Tobject);
     procedure Editsearchenter(Sender: Tobject);
     procedure Editsearchexit(Sender: Tobject);
     procedure Editsearchkeypress(Sender: Tobject; var Key: Char);
     procedure Formclose(Sender: Tobject; var Closeaction: Tcloseaction);
     procedure Formcreate(Sender: Tobject);
     procedure Formkeydown(Sender: Tobject; var Key: Word; Shift: Tshiftstate);
-    procedure Formpaint(Sender: Tobject);
     procedure Panelbackgroundclick(Sender: Tobject);
     procedure Panelbackgrounddragdrop(Sender, Source: Tobject; X, Y: Integer);
     procedure Panelbackgrounddragover(Sender, Source: Tobject; X, Y: Integer;
@@ -49,7 +52,7 @@ var
   BookList:TBookCollection;
   Xspace, Yspace:integer;
   dataPath:String;
-  background:TPicture;
+  background,toolbar:TPicture;
   bookWidth,bookHeight:Integer;
 
 
@@ -59,11 +62,6 @@ implementation
 
 { Tform1 }
 
-procedure Tform1.Formpaint(Sender: Tobject);
-begin
-
-End;
-
 procedure Tform1.Panelbackgroundclick(Sender: Tobject);
 begin
  ActiveControl:=PanelBackground;
@@ -89,8 +87,28 @@ begin
 End;
 
 procedure Tform1.Panelbackgroundpaint(Sender: Tobject);
+var w,h:Integer;
+    x,y:Integer;
 begin
-  PanelBackground.Canvas.StretchDraw(PanelBackground.Canvas.ClipRect, background.Graphic);
+
+  x:=0;
+  y:=0;
+  w:=background.Width;
+  h:=background.Height;
+
+  while x < PanelBackground.Canvas.Width do
+  begin
+
+    while y < PanelBackground.Canvas.Height do
+    begin
+      PanelBackground.Canvas.Draw(x,y,background.Graphic);
+      y:=y+h;
+    end;
+
+    x:=x+w;
+    y:=0;
+  end;
+
 End;
 
 procedure Tform1.Rearrangebooksonscreen;
@@ -105,7 +123,7 @@ begin
     if X+Xspace > PanelBackground.Width-bookWidth then
     begin
       X:=0;
-      Y:=Y+Yspace+bookHeight;
+      Y:=Y+Yspace+bookHeight+26;
     end;
     with BookList.Books[i] do
     begin
@@ -192,6 +210,41 @@ begin
 end;
 End;
 
+procedure Tform1.Buttonaddmouseenter(Sender: Tobject);
+var hover:TPicture;
+begin
+hover:=TPicture.Create;
+hover.LoadFromLazarusResource('add_hover');
+Buttonadd.Picture:=hover;
+End;
+
+procedure Tform1.Buttonaddmouseleave(Sender: Tobject);
+var image:TPicture;
+begin
+ image:=TPicture.Create;
+ image.LoadFromLazarusResource('add');
+Buttonadd.Picture:=image;
+
+End;
+
+procedure Tform1.Buttonsettingsmouseenter(Sender: Tobject);
+var hover:TPicture;
+begin
+hover:=TPicture.Create;
+hover.LoadFromLazarusResource('gear_hover');
+ButtonSettings.Picture:=hover;
+
+End;
+
+procedure Tform1.Buttonsettingsmouseleave(Sender: Tobject);
+var image:TPicture;
+begin
+ image:=TPicture.Create;
+ image.LoadFromLazarusResource('gear');
+ButtonSettings.Picture:=image;
+
+End;
+
 procedure Tform1.Editsearchenter(Sender: Tobject);
 begin
 EditSearch.Caption:='';
@@ -213,21 +266,19 @@ end;
 End;
 
 procedure Tform1.Formcreate(Sender: Tobject);
-var i, X, Y:integer;
+var i:integer;
 begin
  bookWidth:=150;
  bookHeight:=200;
  Xspace:=40;
- Yspace:=30;
- X:=0;
- Y:=0;
+ Yspace:=25;
 
  Form1.KeyPreview:=True;
  ActiveControl:=PanelBackground;
 
 
  background:=TPicture.Create;
- background.LoadFromLazarusResource('back');
+ background.LoadFromLazarusResource('shelf');
 
  {$IFDEF MSWINDOWS}
  DataPath:= GetEnvironmentVariableUTF8('appdata') + '\mybookshelf'; //fix the data store dir

+ 81 - 0
src/myBookShelf.lpi

@@ -13,8 +13,89 @@
       <EnableI18N LFM="False"/>
     </i18n>
     <VersionInfo>
+      <UseVersionInfo Value="True"/>
+      <AutoIncrementBuild Value="True"/>
+      <MinorVersionNr Value="1"/>
+      <BuildNr Value="7"/>
       <StringTable ProductVersion=""/>
     </VersionInfo>
+    <CustomData Count="13">
+      <Item0 Name="lazpackager/copyright" Value="2017 Bernardo Magri"/>
+      <Item1 Name="lazpackager/deb/ppa" Value="ppa:johndoe/use-your-own"/>
+      <Item2 Name="lazpackager/deb/series" Value="precise"/>
+      <Item3 Name="lazpackager/deb/tpl_changelog" Value="?PACKAGE_NAME? (?FULLVERSION?) ?SERIES?; urgency=low
+
+  * Original version ?VERSION? packaged with lazdebian
+
+ -- ?MAINTAINER? &lt;?MAINTAINER_EMAIL?>  ?DATER?
+"/>
+      <Item4 Name="lazpackager/deb/tpl_control" Value="Source: ?PACKAGE_NAME?
+Maintainer: ?MAINTAINER? &lt;?MAINTAINER_EMAIL?>
+Section: misc
+Priority: optional
+Standards-Version: 3.9.3
+Build-Depends: fpc, lazarus, lcl, lcl-utils, debhelper (>= 8)
+
+Package: ?PACKAGE_NAME?
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends},
+Description: ?DESCRIPTION?
+ ?DESCRIPTION_LONG?
+"/>
+      <Item5 Name="lazpackager/deb/tpl_copyright" Value="Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+
+Files: *
+Copyright: ?COPYRIGHT?
+License: GPL-2+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ at your option) any later version.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ .
+ On Debian systems, the full text of the GNU General Public
+ License version 2 can be found in the file
+ /usr/share/common-licenses/GPL-2
+"/>
+      <Item6 Name="lazpackager/deb/tpl_rules" Value="#!/usr/bin/make -f
+
+ROOT = $(CURDIR)/debian/?PACKAGE_NAME?
+
+override_dh_auto_clean:
+	$(RM) -r lib
+	$(RM) lib *.res ?EXECUTABLE?
+
+override_dh_auto_build:
+	lazbuild ?PROJECT?
+
+override_dh_auto_install:
+	install -d -m 755 $(ROOT)/usr/bin
+	install -s -m 755 ?EXECUTABLE? $(ROOT)/usr/bin
+
+%:
+	dh $@
+"/>
+      <Item7 Name="lazpackager/description" Value="Organize ebooks and Pdfs in an easy way"/>
+      <Item8 Name="lazpackager/description_long" Value="Organize and visualize all your ebooks (many formats)
+in an easy way."/>
+      <Item9 Name="lazpackager/export_cmd" Value="?CP? *.lpi ?TEMPFOLDER?/
+?CP? *.lpr ?TEMPFOLDER?/
+?CP? *.pas ?TEMPFOLDER?/
+?CP? *.lfm ?TEMPFOLDER?/
+?CP? *.ico ?TEMPFOLDER?/
+"/>
+      <Item10 Name="lazpackager/maintainer" Value="Bernardo Magri"/>
+      <Item11 Name="lazpackager/maintainer_email" Value="bernardomagri21@gmail.com"/>
+      <Item12 Name="lazpackager/package_name" Value="myBookShelf"/>
+    </CustomData>
     <BuildModes Count="1">
       <Item1 Name="Default" Default="True"/>
     </BuildModes>

+ 57 - 56
src/myBookShelf.lps

@@ -8,7 +8,7 @@
         <Filename Value="myBookShelf.lpr"/>
         <IsPartOfProject Value="True"/>
         <CursorPos Y="21"/>
-        <UsageCount Value="62"/>
+        <UsageCount Value="64"/>
         <Loaded Value="True"/>
       </Unit0>
       <Unit1>
@@ -17,9 +17,11 @@
         <ComponentName Value="Form1"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
+        <IsVisibleTab Value="True"/>
         <EditorIndex Value="4"/>
-        <CursorPos X="34" Y="78"/>
-        <UsageCount Value="62"/>
+        <TopLine Value="258"/>
+        <CursorPos X="46" Y="281"/>
+        <UsageCount Value="64"/>
         <Loaded Value="True"/>
         <LoadedDesigner Value="True"/>
       </Unit1>
@@ -28,20 +30,19 @@
         <IsPartOfProject Value="True"/>
         <UnitName Value="Book"/>
         <EditorIndex Value="2"/>
-        <TopLine Value="43"/>
-        <CursorPos X="124" Y="77"/>
-        <UsageCount Value="62"/>
+        <TopLine Value="17"/>
+        <CursorPos X="36" Y="37"/>
+        <UsageCount Value="64"/>
         <Loaded Value="True"/>
       </Unit2>
       <Unit3>
         <Filename Value="bookcollection.pas"/>
         <IsPartOfProject Value="True"/>
         <UnitName Value="bookCollection"/>
-        <IsVisibleTab Value="True"/>
         <EditorIndex Value="3"/>
-        <TopLine Value="78"/>
-        <CursorPos X="3" Y="44"/>
-        <UsageCount Value="59"/>
+        <TopLine Value="7"/>
+        <CursorPos X="34" Y="28"/>
+        <UsageCount Value="61"/>
         <Loaded Value="True"/>
       </Unit3>
       <Unit4>
@@ -54,7 +55,7 @@
         <EditorIndex Value="5"/>
         <TopLine Value="48"/>
         <CursorPos X="2" Y="67"/>
-        <UsageCount Value="40"/>
+        <UsageCount Value="42"/>
         <Loaded Value="True"/>
         <LoadedDesigner Value="True"/>
       </Unit4>
@@ -111,7 +112,7 @@
       <Unit12>
         <Filename Value="main.lfm"/>
         <EditorIndex Value="1"/>
-        <UsageCount Value="22"/>
+        <UsageCount Value="23"/>
         <Loaded Value="True"/>
         <DefaultSyntaxHighlighter Value="LFM"/>
       </Unit12>
@@ -126,124 +127,124 @@
     </Units>
     <JumpHistory Count="30" HistoryIndex="29">
       <Position1>
-        <Filename Value="unitbookdialog.pas"/>
-        <Caret Line="55" Column="3" TopLine="52"/>
+        <Filename Value="main.pas"/>
+        <Caret Line="107" Column="14" TopLine="76"/>
       </Position1>
       <Position2>
-        <Filename Value="unitbookdialog.pas"/>
-        <Caret Line="61" Column="3" TopLine="42"/>
+        <Filename Value="main.pas"/>
+        <Caret Line="128" Column="32" TopLine="102"/>
       </Position2>
       <Position3>
-        <Filename Value="unitbookdialog.pas"/>
-        <Caret Line="65" Column="64" TopLine="43"/>
+        <Filename Value="main.pas"/>
+        <Caret Line="129" Column="32" TopLine="103"/>
       </Position3>
       <Position4>
-        <Filename Value="book.pas"/>
-        <Caret Line="97" Column="26" TopLine="73"/>
+        <Filename Value="main.pas"/>
+        <Caret Line="200" Column="3" TopLine="189"/>
       </Position4>
       <Position5>
         <Filename Value="main.pas"/>
-        <Caret Line="77" Column="25" TopLine="62"/>
+        <Caret Line="199" Column="3" TopLine="188"/>
       </Position5>
       <Position6>
         <Filename Value="main.pas"/>
-        <Caret Line="92" Column="33" TopLine="54"/>
+        <Caret Line="200" Column="3" TopLine="189"/>
       </Position6>
       <Position7>
         <Filename Value="main.pas"/>
-        <Caret Line="36" Column="50" TopLine="15"/>
+        <Caret Line="217" TopLine="281"/>
       </Position7>
       <Position8>
         <Filename Value="main.pas"/>
-        <Caret Line="128" Column="2" TopLine="107"/>
+        <Caret Line="218" TopLine="211"/>
       </Position8>
       <Position9>
         <Filename Value="main.pas"/>
-        <Caret Line="82" Column="25" TopLine="60"/>
+        <Caret Line="229" Column="35" TopLine="210"/>
       </Position9>
       <Position10>
         <Filename Value="main.pas"/>
-        <Caret Line="129" Column="9" TopLine="108"/>
+        <Caret Line="230" Column="35" TopLine="211"/>
       </Position10>
       <Position11>
         <Filename Value="main.pas"/>
-        <Caret Line="133" Column="38" TopLine="110"/>
+        <Caret Line="232" Column="24" TopLine="221"/>
       </Position11>
       <Position12>
         <Filename Value="main.pas"/>
-        <Caret Line="37" Column="46" TopLine="19"/>
+        <Caret Line="250" Column="15" TopLine="245"/>
       </Position12>
       <Position13>
         <Filename Value="main.pas"/>
-        <Caret Line="147" Column="25" TopLine="122"/>
+        <Caret Line="229" Column="17" TopLine="207"/>
       </Position13>
       <Position14>
-        <Filename Value="bookcollection.pas"/>
-        <Caret Line="16" Column="16"/>
+        <Filename Value="main.pas"/>
+        <Caret Line="228" Column="5" TopLine="207"/>
       </Position14>
       <Position15>
         <Filename Value="main.pas"/>
-        <Caret Line="143" Column="32" TopLine="3"/>
+        <Caret Line="241" Column="7" TopLine="220"/>
       </Position15>
       <Position16>
-        <Filename Value="bookcollection.pas"/>
-        <Caret Line="27" Column="46" TopLine="4"/>
+        <Filename Value="main.pas"/>
+        <Caret Line="256" Column="30" TopLine="222"/>
       </Position16>
       <Position17>
-        <Filename Value="book.pas"/>
-        <Caret Line="89" Column="34" TopLine="63"/>
+        <Filename Value="main.pas"/>
+        <Caret Line="89" Column="28" TopLine="60"/>
       </Position17>
       <Position18>
         <Filename Value="main.pas"/>
-        <Caret Line="37" Column="34" TopLine="9"/>
+        <Caret Line="87" Column="28" TopLine="63"/>
       </Position18>
       <Position19>
-        <Filename Value="main.pas"/>
-        <Caret Line="85" Column="38" TopLine="56"/>
+        <Filename Value="book.pas"/>
+        <Caret Line="77" Column="124" TopLine="43"/>
       </Position19>
       <Position20>
         <Filename Value="book.pas"/>
-        <Caret Line="109" Column="32" TopLine="80"/>
+        <Caret Line="33" Column="29" TopLine="12"/>
       </Position20>
       <Position21>
-        <Filename Value="main.pas"/>
-        <Caret Line="83" Column="19" TopLine="58"/>
+        <Filename Value="book.pas"/>
+        <Caret Line="24" Column="28" TopLine="5"/>
       </Position21>
       <Position22>
-        <Filename Value="main.pas"/>
-        <Caret Line="38" Column="55" TopLine="19"/>
+        <Filename Value="book.pas"/>
+        <Caret Line="23" Column="7" TopLine="2"/>
       </Position22>
       <Position23>
         <Filename Value="main.pas"/>
-        <Caret Line="81" Column="22" TopLine="62"/>
+        <Caret Line="126" Column="32"/>
       </Position23>
       <Position24>
         <Filename Value="main.pas"/>
-        <Caret Line="38" Column="27" TopLine="16"/>
+        <Caret Line="9" Column="3"/>
       </Position24>
       <Position25>
         <Filename Value="main.pas"/>
-        <Caret Line="140" Column="127" TopLine="83"/>
+        <Caret Line="33" Column="59" TopLine="12"/>
       </Position25>
       <Position26>
-        <Filename Value="main.pas"/>
-        <Caret Line="83" Column="35" TopLine="62"/>
+        <Filename Value="bookcollection.pas"/>
+        <Caret Line="44" Column="3" TopLine="5"/>
       </Position26>
       <Position27>
-        <Filename Value="main.pas"/>
-        <Caret Line="39" Column="27" TopLine="30"/>
+        <Filename Value="bookcollection.pas"/>
+        <Caret Line="17" Column="5"/>
       </Position27>
       <Position28>
-        <Filename Value="main.pas"/>
-        <Caret Line="150" Column="6" TopLine="127"/>
+        <Filename Value="bookcollection.pas"/>
+        <Caret Line="16" Column="21"/>
       </Position28>
       <Position29>
-        <Filename Value="main.pas"/>
-        <Caret Line="40" Column="50" TopLine="21"/>
+        <Filename Value="book.pas"/>
+        <Caret Line="21" Column="27"/>
       </Position29>
       <Position30>
         <Filename Value="main.pas"/>
-        <Caret Line="77" Column="6" TopLine="54"/>
+        <Caret Line="307" Column="5" TopLine="287"/>
       </Position30>
     </JumpHistory>
   </ProjectSession>

BIN
src/myBookShelf.res


File diff suppressed because it is too large
+ 915 - 11341
src/mybookshelf.lrs


Some files were not shown because too many files changed in this diff