From 5f1598ae8aa28fccfa246045e98be9b8c969a097 Mon Sep 17 00:00:00 2001 From: abc874 <44179742+abc874@users.noreply.github.com> Date: Sat, 17 Dec 2022 20:43:26 +0100 Subject: [PATCH] themes, dialogs --- Main.dfm | 305 +++++++++++++++++++++++++++++++++++++++++++++---------- Main.pas | 180 ++++++++++++++++++++++++-------- 2 files changed, 387 insertions(+), 98 deletions(-) diff --git a/Main.dfm b/Main.dfm index 6a361a4..feed548 100644 --- a/Main.dfm +++ b/Main.dfm @@ -567,8 +567,8 @@ object FMain: TFMain TabOrder = 20 end object tbVolume: TTrackBar - Left = 413 - Top = 368 + Left = 414 + Top = 367 Width = 123 Height = 37 Anchors = [akRight, akBottom] @@ -1547,6 +1547,53 @@ object FMain: TFMain OnClick = actSearchCutlistLocalExecute SectionName = 'Main' end + object JvSpeedItem18: TJvSpeedItem + Action = actChangeStyle + BtnCaption = 'Change style' + Caption = 'JvSpeedItem18' + Glyph.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000000000000000000000000000000000000FF00FF00D48A + 0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A + 0000D48A0000D48A0000D48A0000D48A0000D48A0000FF00FF00D48A0000D48A + 0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A + 0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A + 0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A + 0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A + 0000D48A0000D48A0000D48A0000D48A0000FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D48A0000D48A0000D48A0000D48A + 0000D48A0000D48A0000D48A0000D48A0000FFFFFF00D48A0000D48A0000D48A + 0000D48A0000D48A0000D7911000FFFFFF00D48A0000D48A0000D48A0000D48A + 0000D48A0000D48A0000D48A0000D48A0000D6900D00D48A0000FCF8EF00FDFA + F500DFA94300D48A0000D48A0000FFFFFF00D48A0000D48A0000D48A0000D48A + 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D48A0000F1D9AC00EBC7 + 8600FDFBF600D58D0600D48A0000FFFFFF00D48A0000D48A0000D48A0000D48A + 0000FFFFFF00D48A0000D48A0000D48A0000D48A0000D48A0000EBC78600F4E2 + BF00FAF2E300E4B65F00D48A0000FFFFFF00D48A0000D48A0000D48A0000D48A + 0000FFFFFF00D48A0000D48A0000D48A0000FFFFFF00D48A0000D48A0000D48A + 0000D48A0000D48A0000D48A0000FFFFFF00D48A0000D48A0000D48A0000D48A + 0000FFFFFF00D48A0000D48A0000D48A0000FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D48A0000D48A0000D48A0000D48A + 0000FFFFFF00D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A + 0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A + 0000FFFFFF00D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000FFFF + FF00D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A + 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A + 0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A + 0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A + 0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A + 0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000FF00FF00D48A + 0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A + 0000D48A0000D48A0000D48A0000D48A0000D48A0000FF00FF00} + Hint = 'Change style' + Spacing = 1 + Left = 612 + Top = 5 + Visible = True + OnClick = actChangeStyleExecute + SectionName = 'Main' + end end object cbMute: TJvCheckBox Left = 543 @@ -1646,137 +1693,265 @@ object FMain: TFMain Left = 128 Top = 192 Bitmap = { - 494C010117001900040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 - 0000000000003600000028000000400000006000000001002000000000000060 + 494C010118002800040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 + 0000000000003600000028000000400000007000000001002000000000000070 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000FF FF0000FFFF00000000000000000000000000000000000000000000000000FF00 0000FF000000000000000000000000000000000000000000000000000000FF00 0000FF0000000000000000000000000000000000000000000000000000000000 00000000000000000000ECF1EC00ECF1EC00ECF1EC00ECF1EC00FCFCFC00FCFC - FC00000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000065658200000000006565 + FC000000000000000000000000000000000000000000D48A0000D48A0000D48A + 0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A + 0000D48A0000D48A0000D48A0000000000000000000065658200000000006565 82006565820065658200656582006565820065658200000000006565820000FF FF0000FFFF000000000000000000000000000000000000000000FF000000FF00 0000FF000000000000000000000000000000000000000000000000000000FF00 0000FF000000FF00000000000000000000000000000000000000000000000000 0000D5E6D900417441002660260026602600386D38005D895D00CAD8CA00DEE7 - DE00F9FAF9000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000006565 + DE00F9FAF900000000000000000000000000D48A0000D48A0000D48A0000D48A + 0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A + 0000D48A0000D48A0000D48A0000D48A00000000000000000000000000006565 8200656582006565820065658200656582006565820000000000000000000000 00000000000000000000000000000000000000000000FF000000FF000000FF00 0000000000000000000000000000000000000000000000000000000000000000 0000FF000000FF000000FF000000000000000000000000000000EDF4EE00579D 66003B8C4C002199210012921200129212001292120012921200094B09002A63 - 2A00D1DDD100F6F8F60000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000065658200000000006565 + 2A00D1DDD100F6F8F6000000000000000000D48A0000D48A0000D48A0000D48A + 0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A + 0000D48A0000D48A0000D48A0000D48A00000000000065658200000000006565 82006565820065658200656582006565820065658200000000006565820000FF FF0000FFFF00000000000000000000000000FF000000FF000000FF000000FF00 0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00 0000FF000000FF000000FF000000FF00000000000000000000000F7F1C0014AA 140014AA140014AA140014AA140014AA140014AA140014AA1400129212000F7B - 0F00094B0900D1DDD100F9FAF900000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000006565 + 0F00094B0900D1DDD100F9FAF90000000000D48A0000D48A0000D48A0000D48A + 0000D48A0000D48A0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00D48A0000D48A00000000000000000000000000006565 82006565820065658200656582006565820065658200000000000000000000FF FF0000FFFF00000000000000000000000000FF000000FF000000FF000000FF00 0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00 0000FF000000FF000000FF000000FF000000F9FCF900319E340014AA140014AA 140017BF170017BF170023C22300CDB0330032C42A0014AA140014AA14001292 - 12000F7B0F002A632A00E3EAE300F9FAF9000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000065658200000000000000 + 12000F7B0F002A632A00E3EAE300F9FAF900D48A0000D48A0000D48A0000D48A + 0000D48A0000D48A0000FFFFFF00D48A0000D48A0000D48A0000D48A0000D48A + 0000D7911000FFFFFF00D48A0000D48A00000000000065658200000000000000 00000000000000000000000000000000000000000000000000006565820000FF FF0000FFFF0000FFFF00000000000000000000000000FF000000FF000000FF00 00000000FF00000000000000FF000000FF000000FF000000FF00000000000000 FF00FF000000FF000000FF00000000000000D3EAD300118F140017BF170017BF 170018C8180018C81800FF260000FF260000D9B53F001EBE160017BF170014AA - 140012921200094B0900CFDCCF00F3F6F3000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000006565 + 140012921200094B0900CFDCCF00F3F6F300D48A0000D48A0000D48A0000D48A + 0000D48A0000D48A0000D6900D00D48A0000FCF8EF00FDFAF500DFA94300D48A + 0000D48A0000FFFFFF00D48A0000D48A00000000000000000000000000006565 8200656582006565820065658200656582006565820000000000000000000000 000000FFFF0000FFFF0000FFFF0000000000000000000000FF00FF000000FF00 0000FF000000000000000000FF000000FF000000FF000000FF0000000000FF00 0000FF000000FF0000000000FF000000000034AE340014AA140017BF170018C8 180018C81800FF260000FF260000FF260000FF260000D9B53F001EBE160014AA - 140014AA1400129212003F733F00ECF1EC000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000065658200000000006565 + 140014AA1400129212003F733F00ECF1EC00D48A0000D48A0000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00D48A0000F1D9AC00EBC78600FDFBF600D58D + 0600D48A0000FFFFFF00D48A0000D48A00000000000065658200000000006565 8200656582006565820065658200656582006565820000000000656582000000 00000000000000FFFF0000FFFF0000FFFF00000000000000000000000000FF00 0000FF000000000000000000000000000000000000000000000000000000FF00 0000FF00000000000000000000000000000023B2230017BF170018C8180018C8 1800FF260000FF260000FF260000FF260000FF260000FF260000D9B53F001EBE - 160014AA1400129212002B642B00ECF1EC000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000006565 + 160014AA1400129212002B642B00ECF1EC00D48A0000D48A0000FFFFFF00D48A + 0000D48A0000D48A0000D48A0000D48A0000EBC78600F4E2BF00FAF2E300E4B6 + 5F00D48A0000FFFFFF00D48A0000D48A00000000000000000000000000006565 82006565820065658200656582006565820000FFFF0000FFFF00000000000000 0000000000000000000000FFFF0000FFFF00000000000000FF000000FF000000 FF000000FF00000000000000FF000000FF000000FF000000FF00000000000000 FF000000FF000000FF000000FF000000000025C3250017BF170017BF1700FF26 0000FF260000FF260000FF260000FF260000FF260000FF260000FF260000F19F - 17001AA31200129212002B642B00ECF1EC000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000065658200000000006565 + 17001AA31200129212002B642B00ECF1EC00D48A0000D48A0000FFFFFF00D48A + 0000D48A0000D48A0000FFFFFF00D48A0000D48A0000D48A0000D48A0000D48A + 0000D48A0000FFFFFF00D48A0000D48A00000000000065658200000000006565 82006565820065658200656582006565820000FFFF0000FFFF0000FFFF000000 0000000000000000000000FFFF0000FFFF00000000000000FF000000FF000000 FF000000FF00000000000000FF000000FF000000FF000000FF00000000000000 FF000000FF000000FF000000FF000000000025C3250018C81800FF260000FF26 0000FF2600001BC91B00FF260000FF260000D7B43D0022C81A00FF260000FF26 - 00006CCA6C00129212002B642B00F1F5F1000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000006565 + 00006CCA6C00129212002B642B00F1F5F100D48A0000D48A0000FFFFFF00D48A + 0000D48A0000D48A0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00D48A0000D48A00000000000000000000000000006565 8200656582006565820065658200656582006565820000FFFF0000FFFF0000FF FF0000FFFF0000FFFF0000FFFF0000000000000000000000FF000000FF000000 FF000000FF00000000000000FF000000FF000000FF000000FF00000000000000 FF000000FF000000FF000000FF000000000036C7360039C939006CD86C0059D8 59001AC81A0018C81800FF260000FF260000D7B43D001FC717003FD13F004FCF - 4F0023AF2300129212002A632A00F8FAF8000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000065658200000000000000 + 4F0023AF2300129212002A632A00F8FAF800D48A0000D48A0000FFFFFF00D48A + 0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A + 0000D48A0000D48A0000D48A0000D48A00000000000065658200000000000000 000000000000000000000000000000000000000000000000000000FFFF0000FF FF0000FFFF0000FFFF0000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000D4F3D40045CC45008DE38D0039C9 390018C8180018C81800FF260000FF260000D7B43D001FC7170018C8180017BF - 170014AA14001D713800DDEAE100000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000006565 + 170014AA14001D713800DDEAE10000000000D48A0000D48A0000FFFFFF00D48A + 0000D48A0000D48A0000D48A0000D48A0000D48A0000FFFFFF00D48A0000D48A + 0000D48A0000D48A0000D48A0000D48A00000000000000000000000000006565 8200656582006565820065658200656582006565820000000000000000000000 000000000000000000000000000000000000000000000000FF000000FF000000 FF000000FF00000000000000FF000000FF000000FF000000FF00000000000000 FF000000FF000000FF000000FF00000000000000000054D054008DE38D00A2EA A20050D0500039C93900FF260000FF260000D0B336001FC7170017BF170014AA - 140014AA14003E944A0000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000065658200000000006565 + 140014AA14003E944A000000000000000000D48A0000D48A0000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D48A0000D48A + 0000D48A0000D48A0000D48A0000D48A00000000000065658200000000006565 8200656582006565820065658200656582006565820000000000656582000000 000000000000000000000000000000000000000000000000FF000000FF000000 FF000000FF00000000000000FF000000FF000000FF000000FF00000000000000 FF000000FF000000FF000000FF000000000000000000000000005AD25A0098E6 9800A2EAA20064D664009BE49B00FF26000038D0380017BF170017BF170014AA - 14002F9D3A00E5F1E60000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000006565 + 14002F9D3A00E5F1E6000000000000000000D48A0000D48A0000D48A0000D48A + 0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A + 0000D48A0000D48A0000D48A0000D48A00000000000000000000000000006565 8200656582006565820065658200656582006565820000000000000000000000 000000000000000000000000000000000000000000000000FF000000FF000000 FF000000FF00000000000000FF000000FF000000FF000000FF00000000000000 FF000000FF000000FF000000FF000000000000000000000000000000000054D0 54005AD25A0098E69800ABECAB00A1E4A10017BF17001EB01E0020A026003AA8 - 4200F1F9F2000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000065658200000000006565 + 4200F1F9F200000000000000000000000000D48A0000D48A0000D48A0000D48A + 0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A + 0000D48A0000D48A0000D48A0000D48A00000000000065658200000000006565 8200656582006565820065658200656582006565820000000000656582000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000D4F3D40045C4450039C1390023B726001FB723003CB63F00D5EFD6000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000D48A0000D48A0000D48A + 0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A0000D48A + 0000D48A0000D48A0000D48A0000000000000000000000000000000000000000 00000000000000000000ECF1EC00ECF1EC00ECF1EC00ECF1EC00FCFCFC00FCFC FC00000000000000000000000000000000000000000000000000000000000000 00000000000000000000ECF1EC00ECF1EC00ECF1EC00ECF1EC00FCFCFC00FCFC @@ -2417,12 +2592,16 @@ object FMain: TFMain E100E1E1E100209B0C00B2DFAB00000000000000000000000000000000000000 0000E0DADD00F2C4D100F7538000EA2A6500C4AEB40000000000000000000000 000000000000000000000000000000000000424D3E000000000000003E000000 - 2800000040000000600000000100010000000000000300000000000000000000 - 000000000000000000000000FFFFFF00FFE7E7E7FC0F00000007C7E3F0070000 + 2800000040000000700000000100010000000000800300000000000000000000 + 000000000000000000000000FFFFFF0000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000FFE7E7E7FC0F80010007C7E3F0070000 000F8FF1C003000000070000C001000000070000000000000003842100000000 00018421000000000008E7E700000000000C842100000000000C842100000000 00018421000000000003FFFF00010000000F842180030000000F8421C0030000 - 000F8421E0070000000FFFFFF01F0000FC0FFC0FF001E018F007F007C000C000 + 000F8421E0070000000FFFFFF01F8001FC0FFC0FF001E018F007F007C000C000 C003C0038000C000C001C0018000800000000000800080000000000080000000 00000000C000000000000000C001000000000000C003000800000000E003801F 00000000F003C01F00010001F007FE1F80038003F80FFE1FC003C003FC1FFE1F @@ -2448,7 +2627,6 @@ object FMain: TFMain object WebRequest_nl: TIdHTTP OnStatus = WebRequest_nlStatus OnWork = WebRequest_nlWork - AllowCookies = True HandleRedirects = True ProxyParams.BasicAuthentication = False ProxyParams.ProxyPort = 0 @@ -2979,6 +3157,13 @@ object FMain: TFMain Caption = 'Merge cuts' OnExecute = actMergeCutExecute end + object actChangeStyle: TAction + Category = 'Options' + Caption = 'Change style' + Hint = 'Change style' + ImageIndex = 23 + OnExecute = actChangeStyleExecute + end end object mnuMain: TMainMenu Images = ImageList @@ -3260,4 +3445,12 @@ object FMain: TFMain Left = 128 Top = 248 end + object mnuStyles: TPopupMenu + Left = 224 + Top = 384 + end + object JvDesktopAlertStack: TJvDesktopAlertStack + Left = 128 + Top = 384 + end end diff --git a/Main.pas b/Main.pas index 100e1f9..7e9883d 100644 --- a/Main.pas +++ b/Main.pas @@ -2,7 +2,7 @@ {$I Information.inc} -// basic review and reformatting: up to line 2790 +// basic review and reformatting: up to line 2969 interface @@ -24,7 +24,7 @@ interface // Jedi JclSimpleXml, JvDialogs, JvComponentBase, JvAppCommand, JvBaseDlg, JvProgressDialog, JvExStdCtrls, JvCheckBox, - JvSpeedbar, JvExExtCtrls, JvExtComponent, JvGIF, JvSimpleXml, JclDebug, + JvSpeedbar, JvExExtCtrls, JvExtComponent, JvGIF, JvSimpleXml, JclDebug, JvDesktopAlert, // CA CodecSettings, CutlistInfo_dialog, ManageFilters, Movie, Settings_dialog, TrackBarEx, UCutlist, UploadList, Utils; @@ -277,6 +277,10 @@ TFMain = class(TForm) actMergeCut: TAction; cmdMergeCut: TButton; cmdSplitCut: TButton; + actChangeStyle: TAction; + JvSpeedItem18: TJvSpeedItem; + mnuStyles: TPopupMenu; + JvDesktopAlertStack: TJvDesktopAlertStack; procedure FormCreate(Sender: TObject); procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); procedure FormClose(Sender: TObject; var Action: TCloseAction); @@ -379,6 +383,7 @@ TFMain = class(TForm) procedure AppCommandAppCommand(Handle: NativeUInt; Cmd: Word; Device: TJvAppCommandDevice; KeyState: Word; var Handled: Boolean); procedure actSplitCutExecute(Sender: TObject); procedure actMergeCutExecute(Sender: TObject); + procedure actChangeStyleExecute(Sender: TObject); private { private declarations } UploadDataEntries: TStringList; @@ -409,6 +414,7 @@ TFMain = class(TForm) procedure UpdatePlayPauseButton; procedure UpdateTrackBarPageSize; procedure UpdateVolume; + procedure SelectStyleClick(Sender: TObject); public { public declarations } procedure ProcessFileList(FileList: TStringList; IsMyOwnCommandLine: Boolean); @@ -447,6 +453,7 @@ TFMain = class(TForm) function DeleteCutlistFromServer(const cutlist_id: string): Boolean; function AskForUserRating(Cutlist: TCutlist): Boolean; function SendRating(Cutlist: TCutlist): Boolean; + procedure ShowNotifyMsg(const ACaption, AMessage: string); protected procedure WMDropFiles(var message: TWMDropFiles); message WM_DROPFILES; procedure WMCopyData(var msg: TWMCopyData); message WM_COPYDATA; @@ -489,13 +496,13 @@ implementation uses // Delphi - System.TypInfo, System.UITypes, Vcl.Consts, + System.TypInfo, System.UITypes, Vcl.Consts, Vcl.Themes, // Indy IdResourceStrings, IdURI, // Jedi - JvParameterList, JvParameterListParameter, JvParameterListTools, JvDynControlEngineVCL, ExceptDlg, + JvParameterList, JvParameterListParameter, JvParameterListTools, JvDynControlEngineVCL, ExceptDlg, JvDesktopAlertForm, // CA DateTools, Frames, CutlistRate_Dialog, ResultingTimes, CutlistSearchResults, UfrmCutting, UCutApplicationBase, @@ -638,9 +645,10 @@ procedure TFMain.FormCreate(Sender: TObject); end; end; var - numFrames: string; + S,numFrames: string; + M: TMenuItem; I,J: Integer; - icon : TIcon; + icon: TIcon; begin icon := TIcon.Create; try @@ -711,6 +719,31 @@ procedure TFMain.FormCreate(Sender: TObject); lblFinePos_nl.Caption := Format(RsFrames, [tbFinePos.Position, tbFinePos.Position / 25]); tbFilePos.Frequency := Round(60000 / tbFilePos.TimerInterval); // one tick every minute + with TStringList.Create do + try + for S in TStyleManager.StyleNames do + Add(S); + + Sort; + + for I := 0 to Pred(Count) do + begin + M := TMenuItem.Create(mnuStyles); + M.Caption := Strings[I]; + M.OnClick := SelectStyleClick; + M.AutoCheck := True; + M.RadioItem := True; + M.GroupIndex := 1; + + if Strings[I] = TStyleManager.ActiveStyle.Name then + M.Checked := True; + + mnuStyles.Items.Add(M); + end; + finally + Free; + end; + WindowState := Settings.MainFormWindowState; end; @@ -1843,6 +1876,44 @@ procedure TFMain.ShowMetaData; end; end; +procedure TFMain.ShowNotifyMsg(const ACaption, AMessage: string); +var + A: TJvDesktopAlert; +begin + if Settings.SuppressedMsgAsNotify then + begin + A := TJvDesktopAlert.Create(Self); + + A.AlertStack := JvDesktopAlertStack; + A.AutoFocus := True; + A.AutoFree := True; + A.Options := [daoCanClose]; + A.HeaderText := ACaption; + A.MessageText := AMessage; + A.ShowHint := False; + A.ParentFont := False; + + A.Colors.Frame := clWindowFrame; + A.Colors.WindowFrom := clWindow; + A.Colors.WindowTo := clWindow; + A.Colors.CaptionFrom := clActiveCaption; + A.Colors.CaptionTo := clActiveCaption; + + A.StyleOptions.DisplayDuration := 2345; + + A.HeaderFont := Font; + A.HeaderFont.Style := [fsBold]; + + A.Font := Font; + + TJvFormDesktopAlert(A.Form).lblText.AutoSize := True; + + A.Location.Height := cDefaultAlertFormHeight + (CountLines(AMessage) - 3) * lblVolume.Height; + + A.Execute; + end; +end; + procedure TFMain.tbFilePosSelChanged(Sender: TObject); begin with FFrames do @@ -2866,7 +2937,7 @@ function TFMain.SearchCutlistsByFileSize_Local(SearchType: TCutlistSearchType): if FindFirst(PathCombine(searchDir, '*' + CUTLIST_EXTENSION), faArchive, sr) = 0 then begin repeat - ACutlist := TCutlist.create(Settings, MovieInfo); + ACutlist := TCutlist.Create(Settings, MovieInfo); try if not ACutlist.LoadFromFile(PathCombine(searchDir, sr.Name), True) then Continue; @@ -2954,10 +3025,22 @@ function TFMain.SearchCutlistsByFileSize_XML(SearchType: TCutlistSearchType; Ign cstByName: begin if (MovieInfo.current_filename = '') then Exit; + + // From idURI.pas + // RLebeau 6/9/2017: if LChar is '%', check if it belongs to a pre-encoded + // '%HH' octet, and if so then preserve the whole sequence as-is... + + // So first encode + url := TIdURI.ParamsEncode(ExtractBaseFileNameOTR(MovieInfo.current_filename)); + + // Then add % as prefix + if IgnorePrefix then + url := '%25' + url; + url := settings.url_cutlists_home + php_name + '?name=' - + TIdURI.ParamsEncode(ExtractBaseFileNameOTR(MovieInfo.current_filename, IgnorePrefix)); + + url; end; else Exit; @@ -3017,6 +3100,12 @@ function TFMain.SearchCutlistsByFileSize_XML(SearchType: TCutlistSearchType; Ign end; end; +procedure TFMain.SelectStyleClick(Sender: TObject); +begin + if Sender is TMenuItem then + TStyleManager.TrySetStyle(StripHotkey(TMenuItem(Sender).Caption)); +end; + procedure TFMain.actSearchCutlistByFileSizeExecute(Sender: TObject); var SearchTypes : TCutlistSearchTypes; @@ -3078,7 +3167,7 @@ function TFMain.SearchCutlists(AutoOpen: Boolean; SearchLocal, SearchWeb: Boolea if numFound = 0 then begin if not batchmode then - ErrMsg(RsMsgSearchCutlistNoneFound); + ErrMsg(RsMsgSearchCutlistNoneFound, Settings.NoNotFoundMsg); Exit; end; @@ -3162,8 +3251,8 @@ function TFMain.SendRating(Cutlist: TCutlist): Boolean; if Error_message = '' then begin cutlist.RatingSent := FCutlistRate.SelectedRating; - if not (batchmode or settings.NoRateSuccMsg) then - InfMsg(RsMsgSendRatingDone); + if not batchmode then + InfMsg(RsMsgSendRatingDone, Settings.NoRateSuccMsg); end; end; if not batchmode and (Error_message <> '') then @@ -4293,6 +4382,14 @@ procedure TFMain.actTestExceptionHandlingExecute(Sender: TObject); raise Exception.Create('Exception handling test at ' + FormatDateTime('', Now)); end; +procedure TFMain.actChangeStyleExecute(Sender: TObject); +var + P: TPoint; +begin + GetCursorPos(P); + mnuStyles.Popup(P.X, P.Y); +end; + procedure TFMain.actCheckInfoOnServerExecute(Sender: TObject); begin DownloadInfo(Settings, False, Utils.ShiftDown); @@ -4579,38 +4676,38 @@ procedure TFMain.actSelectPrevCutExecute(Sender: TObject); ItemIndex := ItemIndex - 1; end; -procedure TFMain.actShiftCutExecute(Sender: TObject); -var - AParams : TJvParameterList; - AShiftTime : TJvDoubleEditParameter; - ACut : TCut; - AShift : Double; -begin - AParams := TJvParameterList.Create(nil); - try - AShiftTime := TJvDoubleEditParameter.Create(AParams); - AShiftTime.SearchName := 'Shift'; - AShiftTime.Caption := RsShiftCutTime; - AShiftTime.AsDouble := StrToFloatDefInv(Settings.Additional['CutShiftTime'], Settings.SmallSkipTime); - AShiftTime.Required := True; - AParams.AddParameter(AShiftTime); - AParams.ArrangeSettings.AutoArrange := True; - - AParams.Messages.Caption := SMsgDlgConfirm; - AParams.Messages.OkButton := SOKButton; - AParams.Messages.CancelButton := SCancelButton; - - if AParams.ShowParameterDialog then - begin - AShift := AShiftTime.AsDouble; - Settings.Additional['CutShiftTime'] := FloatToStrInvariant(AShift); - ACut := Cutlist.Cut[lvCutlist.ItemIndex]; - Cutlist.ReplaceCut(ACut.pos_from + AShift, ACut.pos_to + AShift, lvCutlist.ItemIndex); + procedure TFMain.actShiftCutExecute(Sender: TObject); + var + AParams: TJvParameterList; + AShiftTime: TJvDoubleEditParameter; + ACut: tcut; + AShift: Double; + begin + AParams := TJvParameterList.Create(nil); + try + AShiftTime := TJvDoubleEditParameter.Create(AParams); + AShiftTime.SearchName := 'Shift'; + AShiftTime.Caption := RsShiftCutTime; + AShiftTime.AsDouble := StrToFloatDefInv(settings.Additional['CutShiftTime'], settings.SmallSkipTime); + AShiftTime.Required := True; + AParams.AddParameter(AShiftTime); + AParams.ArrangeSettings.AutoArrange := True; + + AParams.Messages.Caption := SMsgDlgConfirm; + AParams.Messages.OkButton := SOKButton; + AParams.Messages.CancelButton := SCancelButton; + + if AParams.ShowParameterDialog then + begin + AShift := AShiftTime.AsDouble; + settings.Additional['CutShiftTime'] := FloatToStrInvariant(AShift); + ACut := cutlist.cut[lvCutlist.ItemIndex]; + cutlist.ReplaceCut(ACut.pos_from + AShift, ACut.pos_to + AShift, lvCutlist.ItemIndex); + end; + finally + AParams.Free; end; - finally - AParams.Free; end; -end; initialization Randomize; @@ -4634,4 +4731,3 @@ finalization Settings.Save; FreeAndNil(Settings); end. -