Changeset 207
- Timestamp:
- Sep 20, 2021, 10:16:37 AM (3 years ago)
- Location:
- trunk
- Files:
-
- 19 added
- 4 deleted
- 31 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/AcronymDecoder.lpi
r205 r207 85 85 </Modes> 86 86 </RunParams> 87 <RequiredPackages Count=" 4">87 <RequiredPackages Count="3"> 88 88 <Item1> 89 89 <PackageName Value="SQLDBLaz"/> 90 90 </Item1> 91 91 <Item2> 92 <PackageName Value="Co olTranslator"/>93 <DefaultFilename Value="Packages\Co olTranslator\CoolTranslator.lpk" Prefer="True"/>92 <PackageName Value="Common"/> 93 <DefaultFilename Value="Packages\Common\Common.lpk" Prefer="True"/> 94 94 </Item2> 95 95 <Item3> 96 <PackageName Value="Common"/> 97 <DefaultFilename Value="Packages\Common\Common.lpk" Prefer="True"/> 96 <PackageName Value="LCL"/> 98 97 </Item3> 99 <Item4>100 <PackageName Value="LCL"/>101 </Item4>102 98 </RequiredPackages> 103 <Units Count="1 8">99 <Units Count="17"> 104 100 <Unit0> 105 101 <Filename Value="AcronymDecoder.lpr"/> … … 174 170 </Unit10> 175 171 <Unit11> 176 <Filename Value="Forms\UForm About.pas"/>177 <IsPartOfProject Value="True"/> 178 <ComponentName Value="Form About"/>172 <Filename Value="Forms\UFormImportFormat.pas"/> 173 <IsPartOfProject Value="True"/> 174 <ComponentName Value="FormImportFormat"/> 179 175 <HasResources Value="True"/> 180 176 <ResourceBaseClass Value="Form"/> 181 177 </Unit11> 182 178 <Unit12> 183 <Filename Value="Forms\UFormImportFormat .pas"/>184 <IsPartOfProject Value="True"/> 185 <ComponentName Value="FormImportFormat "/>179 <Filename Value="Forms\UFormImportFormats.pas"/> 180 <IsPartOfProject Value="True"/> 181 <ComponentName Value="FormImportFormats"/> 186 182 <HasResources Value="True"/> 187 183 <ResourceBaseClass Value="Form"/> 188 184 </Unit12> 189 185 <Unit13> 190 <Filename Value="Forms\UFormImport Formats.pas"/>191 <IsPartOfProject Value="True"/> 192 <ComponentName Value="FormImport Formats"/>186 <Filename Value="Forms\UFormImportPattern.pas"/> 187 <IsPartOfProject Value="True"/> 188 <ComponentName Value="FormImportPattern"/> 193 189 <HasResources Value="True"/> 194 190 <ResourceBaseClass Value="Form"/> 195 191 </Unit13> 196 192 <Unit14> 197 <Filename Value=" Forms\UFormImportPattern.pas"/>198 <IsPartOfProject Value="True"/> 199 <ComponentName Value=" FormImportPattern"/>200 <HasResources Value="True"/> 201 <ResourceBaseClass Value=" Form"/>193 <Filename Value="UCore.pas"/> 194 <IsPartOfProject Value="True"/> 195 <ComponentName Value="Core"/> 196 <HasResources Value="True"/> 197 <ResourceBaseClass Value="DataModule"/> 202 198 </Unit14> 203 199 <Unit15> 204 <Filename Value=" UCore.pas"/>205 <IsPartOfProject Value="True"/> 206 <ComponentName Value=" Core"/>207 <HasResources Value="True"/> 208 <ResourceBaseClass Value=" DataModule"/>200 <Filename Value="Forms\UFormExport.pas"/> 201 <IsPartOfProject Value="True"/> 202 <ComponentName Value="FormExport"/> 203 <HasResources Value="True"/> 204 <ResourceBaseClass Value="Form"/> 209 205 </Unit15> 210 206 <Unit16> 211 <Filename Value="Forms\UForm Export.pas"/>212 <IsPartOfProject Value="True"/> 213 <ComponentName Value="Form Export"/>207 <Filename Value="Forms\UFormCheck.pas"/> 208 <IsPartOfProject Value="True"/> 209 <ComponentName Value="FormCheck"/> 214 210 <HasResources Value="True"/> 215 211 <ResourceBaseClass Value="Form"/> 216 212 </Unit16> 217 <Unit17>218 <Filename Value="Forms\UFormCheck.pas"/>219 <IsPartOfProject Value="True"/>220 <ComponentName Value="FormCheck"/>221 <HasResources Value="True"/>222 <ResourceBaseClass Value="Form"/>223 </Unit17>224 213 </Units> 225 214 </ProjectOptions> -
trunk/AcronymDecoder.lpr
r205 r207 9 9 Interfaces, // this includes the LCL widgetset 10 10 Forms, UAcronym, Common, SysUtils, 11 CoolTranslator,UFormMain, UCore, UFormCheck11 UFormMain, UCore, UFormCheck 12 12 { you can add units after this }; 13 13 -
trunk/Forms/UFormAcronym.pas
r174 r207 68 68 procedure TFormAcronym.FormCreate(Sender: TObject); 69 69 begin 70 Core. CoolTranslator1.TranslateComponentRecursive(Self);70 Core.Translator.TranslateComponentRecursive(Self); 71 71 Core.ThemeManager.UseTheme(Self); 72 72 end; -
trunk/Forms/UFormAcronyms.pas
r204 r207 258 258 FocusAcronym := nil; 259 259 MeaningCount := 0; 260 Core. CoolTranslator1.TranslateComponentRecursive(Self);260 Core.Translator.TranslateComponentRecursive(Self); 261 261 Core.ThemeManager.UseTheme(Self); 262 262 for I := 0 to ToolBar1.ButtonCount - 1 do -
trunk/Forms/UFormCategories.pas
r174 r207 187 187 I: Integer; 188 188 begin 189 Core. CoolTranslator1.TranslateComponentRecursive(Self);189 Core.Translator.TranslateComponentRecursive(Self); 190 190 Core.ThemeManager.UseTheme(Self); 191 191 for I := 0 to ToolBar1.ButtonCount - 1 do -
trunk/Forms/UFormCategorySelect.pas
r174 r207 50 50 procedure TFormCategorySelect.FormCreate(Sender: TObject); 51 51 begin 52 Core. CoolTranslator1.TranslateComponentRecursive(Self);52 Core.Translator.TranslateComponentRecursive(Self); 53 53 Core.ThemeManager.UseTheme(Self); 54 54 end; -
trunk/Forms/UFormCheck.pas
r206 r207 207 207 AcronymDbSummary := TAcronymDb.Create; 208 208 AcronymDbContent := TAcronymDb.Create; 209 Core. CoolTranslator1.TranslateComponentRecursive(Self);209 Core.Translator.TranslateComponentRecursive(Self); 210 210 Core.ThemeManager.UseTheme(Self); 211 211 ReportItems := TReportItems.Create; -
trunk/Forms/UFormExport.pas
r184 r207 67 67 procedure TFormExport.FormCreate(Sender: TObject); 68 68 begin 69 Core. CoolTranslator1.TranslateComponentRecursive(Self);69 Core.Translator.TranslateComponentRecursive(Self); 70 70 Core.ThemeManager.UseTheme(Self); 71 71 end; -
trunk/Forms/UFormImport.pas
r184 r207 69 69 procedure TFormImport.FormCreate(Sender: TObject); 70 70 begin 71 Core. CoolTranslator1.TranslateComponentRecursive(Self);71 Core.Translator.TranslateComponentRecursive(Self); 72 72 Core.ThemeManager.UseTheme(Self); 73 73 end; -
trunk/Forms/UFormImportFormat.pas
r174 r207 160 160 procedure TFormImportFormat.FormCreate(Sender: TObject); 161 161 begin 162 Core. CoolTranslator1.TranslateComponentRecursive(Self);162 Core.Translator.TranslateComponentRecursive(Self); 163 163 Core.ThemeManager.UseTheme(Self); 164 164 YesNoString[False] := SNo; -
trunk/Forms/UFormImportFormats.pas
r174 r207 189 189 I: Integer; 190 190 begin 191 Core. CoolTranslator1.TranslateComponentRecursive(Self);191 Core.Translator.TranslateComponentRecursive(Self); 192 192 Core.ThemeManager.UseTheme(Self); 193 193 for I := 0 to ToolBar1.ButtonCount - 1 do -
trunk/Forms/UFormImportPattern.pas
r174 r207 53 53 procedure TFormImportPattern.FormCreate(Sender: TObject); 54 54 begin 55 Core. CoolTranslator1.TranslateComponentRecursive(Self);55 Core.Translator.TranslateComponentRecursive(Self); 56 56 Core.ThemeManager.UseTheme(Self); 57 57 InitControls; -
trunk/Forms/UFormImportSource.pas
r174 r207 98 98 procedure TFormImportSource.FormCreate(Sender: TObject); 99 99 begin 100 Core. CoolTranslator1.TranslateComponentRecursive(Self);100 Core.Translator.TranslateComponentRecursive(Self); 101 101 Core.ThemeManager.UseTheme(Self); 102 102 end; -
trunk/Forms/UFormImportSources.pas
r204 r207 354 354 I: Integer; 355 355 begin 356 Core. CoolTranslator1.TranslateComponentRecursive(Self);356 Core.Translator.TranslateComponentRecursive(Self); 357 357 Core.ThemeManager.UseTheme(Self); 358 358 for I := 0 to ToolBar1.ButtonCount - 1 do -
trunk/Forms/UFormMain.lfm
r203 r207 1 1 object FormMain: TFormMain 2 2 Left = 395 3 Height = 6023 Height = 722 4 4 Top = 261 5 Width = 8475 Width = 1016 6 6 Caption = 'Acronym Decoder' 7 ClientHeight = 5778 ClientWidth = 8479 DesignTimePPI = 1 207 ClientHeight = 688 8 ClientWidth = 1016 9 DesignTimePPI = 144 10 10 Menu = MainMenu1 11 11 OnClose = FormClose … … 16 16 OnResize = FormResize 17 17 OnShow = FormShow 18 LCLVersion = '2.0. 2.0'18 LCLVersion = '2.0.12.0' 19 19 object PanelMain: TPanel 20 20 Left = 0 21 Height = 47922 Top = 7023 Width = 84721 Height = 580 22 Top = 81 23 Width = 1016 24 24 Align = alClient 25 25 BevelOuter = bvNone 26 ClientHeight = 479 27 ClientWidth = 847 26 ClientHeight = 580 27 ClientWidth = 1016 28 ParentFont = False 28 29 TabOrder = 0 29 30 object ListViewFilter1: TListViewFilter 30 Left = 431 Height = 3832 Top = 433 Width = 83831 Left = 5 32 Height = 46 33 Top = 5 34 Width = 1005 34 35 OnChange = ListViewFilter1Change 35 36 Anchors = [akTop, akLeft, akRight] 36 37 end 37 38 object ListViewAcronyms: TListView 38 Left = 439 Height = 43240 Top = 4241 Width = 83839 Left = 5 40 Height = 524 41 Top = 50 42 Width = 1005 42 43 Anchors = [akTop, akLeft, akRight, akBottom] 43 44 Columns = < 44 45 item 45 46 Caption = 'Name' 46 Width = 1 2547 Width = 150 47 48 end 48 49 item 49 50 Caption = 'Meaning' 50 Width = 37551 Width = 450 51 52 end 52 53 item 53 54 Caption = 'Categories' 54 Width = 43455 Width = 521 55 56 end> 56 57 OwnerData = True 58 ParentFont = False 57 59 PopupMenu = PopupMenuFilter 58 60 ReadOnly = True … … 67 69 object PanelParam: TPanel 68 70 Left = 0 69 Height = 3 270 Top = 3871 Width = 84771 Height = 38 72 Top = 43 73 Width = 1016 72 74 Align = alTop 73 75 BevelOuter = bvNone 74 ClientHeight = 32 75 ClientWidth = 847 76 ClientHeight = 38 77 ClientWidth = 1016 78 ParentFont = False 76 79 TabOrder = 1 77 80 object CheckBoxExactLength: TCheckBox 78 Left = 1 079 Height = 2480 Top = 481 Width = 1 0781 Left = 12 82 Height = 30 83 Top = 5 84 Width = 132 82 85 Action = AFilterSameLength 86 ParentFont = False 83 87 TabOrder = 0 84 88 end 85 89 object CheckBoxCaseSensitive: TCheckBox 86 Left = 2 0087 Height = 2488 Top = 489 Width = 1 3390 Left = 240 91 Height = 30 92 Top = 5 93 Width = 165 90 94 Action = AFilterSameLetterCase 95 ParentFont = False 91 96 TabOrder = 1 92 97 end 93 98 object CheckBoxEnabledCategories: TCheckBox 94 Left = 45095 Height = 2496 Top = 497 Width = 1 5199 Left = 540 100 Height = 30 101 Top = 5 102 Width = 187 98 103 Action = AFilterEnabledCategories 104 ParentFont = False 99 105 TabOrder = 2 100 106 end … … 102 108 object CoolBar1: TCoolBar 103 109 Left = 0 104 Height = 38110 Height = 43 105 111 Top = 0 106 Width = 847112 Width = 1016 107 113 AutoSize = True 108 114 Bands = < … … 136 142 end> 137 143 Images = Core.ImageList1 144 ParentFont = False 138 145 object ToolBarFile: TToolBar 139 146 AnchorSideLeft.Control = CoolBar1 140 147 AnchorSideTop.Control = CoolBar1 141 148 Left = 24 142 Height = 28143 Top = 5 144 Width = 1 32149 Height = 33 150 Top = 5 151 Width = 159 145 152 Align = alNone 146 153 AutoSize = True … … 151 158 EdgeOuter = esNone 152 159 Images = Core.ImageList1 160 ParentFont = False 153 161 ParentShowHint = False 154 162 ShowHint = True … … 161 169 end 162 170 object ToolButton6: TToolButton 163 Left = 3 0171 Left = 36 164 172 Top = 0 165 173 Action = AFileOpen … … 168 176 end 169 177 object ToolButton7: TToolButton 170 Left = 74178 Left = 89 171 179 Top = 0 172 180 Action = AFileSave 173 181 end 174 182 object ToolButton12: TToolButton 175 Left = 1 03183 Left = 124 176 184 Top = 0 177 185 Action = AFileClose … … 182 190 AnchorSideTop.Control = CoolBar1 183 191 Left = 188 184 Height = 28185 Top = 5 186 Width = 1 17192 Height = 33 193 Top = 5 194 Width = 141 187 195 Align = alNone 188 196 AutoSize = True … … 193 201 EdgeOuter = esNone 194 202 Images = Core.ImageList1 203 ParentFont = False 195 204 ParentShowHint = False 196 205 ShowHint = True … … 203 212 end 204 213 object ToolButton3: TToolButton 205 Left = 3 0214 Left = 36 206 215 Top = 0 207 216 Action = AShowCategories 208 217 end 209 218 object ToolButton5: TToolButton 210 Left = 59219 Left = 71 211 220 Top = 0 212 221 Action = AShowImportSources 213 222 end 214 223 object ToolButton4: TToolButton 215 Left = 88224 Left = 106 216 225 Top = 0 217 226 Action = AShowImportFormats … … 222 231 AnchorSideTop.Control = CoolBar1 223 232 Left = 337 224 Height = 28225 Top = 5 226 Width = 59233 Height = 33 234 Top = 5 235 Width = 71 227 236 Align = alNone 228 237 AutoSize = True … … 233 242 EdgeOuter = esNone 234 243 Images = Core.ImageList1 244 ParentFont = False 235 245 ParentShowHint = False 236 246 ShowHint = True … … 238 248 Transparent = True 239 249 object ToolButton11: TToolButton 240 Left = 3 0250 Left = 36 241 251 Top = 0 242 252 Action = ASettings … … 252 262 AnchorSideTop.Control = CoolBar1 253 263 Left = 428 254 Height = 28255 Top = 5 256 Width = 88264 Height = 33 265 Top = 5 266 Width = 106 257 267 Align = alNone 258 268 AutoSize = True … … 263 273 EdgeOuter = esNone 264 274 Images = Core.ImageList1 275 ParentFont = False 265 276 ParentShowHint = False 266 277 ShowHint = True … … 274 285 end 275 286 object ToolButton13: TToolButton 276 Left = 3 0287 Left = 36 277 288 Top = 0 278 289 Action = AFilterSameLetterCase … … 280 291 end 281 292 object ToolButton8: TToolButton 282 Left = 59293 Left = 71 283 294 Top = 0 284 295 Action = AFilterEnabledCategories … … 289 300 object StatusBar1: TStatusBar 290 301 Left = 0 291 Height = 2 8292 Top = 549293 Width = 847302 Height = 27 303 Top = 661 304 Width = 1016 294 305 Panels = < 295 306 item 296 Width = 250307 Width = 300 297 308 end 298 309 item 299 Width = 250310 Width = 300 300 311 end> 312 ParentFont = False 301 313 SimplePanel = False 302 314 end 303 315 object ActionList1: TActionList 304 316 Images = Core.ImageList1 305 left = 590306 top = 240317 Left = 708 318 Top = 288 307 319 object AExit: TAction 308 320 Caption = 'Exit' … … 426 438 object MainMenu1: TMainMenu 427 439 Images = Core.ImageList1 428 left = 590429 top = 170440 Left = 708 441 Top = 204 430 442 object MenuItem8: TMenuItem 431 443 Caption = 'File' … … 515 527 object OpenDialog1: TOpenDialog 516 528 DefaultExt = '.adp' 517 left = 100518 top = 260529 Left = 120 530 Top = 312 519 531 end 520 532 object SaveDialog1: TSaveDialog 521 533 DefaultExt = '.adp' 522 534 Filter = 'Acronym Decoder project (.adp)|*.adp|All files|*.*' 523 left = 100524 top = 180535 Left = 120 536 Top = 216 525 537 end 526 538 object LastOpenedList1: TLastOpenedList 527 539 MaxCount = 10 528 540 OnChange = LastOpenedList1Change 529 left = 330530 top = 300541 Left = 396 542 Top = 360 531 543 end 532 544 object ListViewSort1: TListViewSort … … 537 549 Column = 2 538 550 Order = soDown 539 left = 590540 top = 320551 Left = 708 552 Top = 384 541 553 end 542 554 object PopupMenuOpenRecent: TPopupMenu 543 555 Images = Core.ImageList1 544 left = 100545 top = 350556 Left = 120 557 Top = 420 546 558 end 547 559 object PopupMenuFilter: TPopupMenu 548 left = 345549 top = 181560 Left = 414 561 Top = 217 550 562 object MenuItem1: TMenuItem 551 563 Action = AManageAcronym … … 556 568 end 557 569 end 570 object AboutDialog1: TAboutDialog 571 Translator = Core.Translator 572 ThemeManager = Core.ThemeManager 573 ApplicationInfo = Core.ApplicationInfo1 574 Left = 392 575 Top = 448 576 end 558 577 end -
trunk/Forms/UFormMain.pas
r204 r207 8 8 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Menus, 9 9 ComCtrls, StdCtrls, ExtCtrls, ActnList, Grids, UAcronym, UPersistentForm, 10 URegistry, ULastOpenedList, UListViewSort, UJobProgressView, 10 URegistry, ULastOpenedList, UListViewSort, UJobProgressView, UAboutDialog, 11 11 Registry, fgl, LazUTF8, LazFileUtils; 12 12 … … 16 16 17 17 TFormMain = class(TForm) 18 AboutDialog1: TAboutDialog; 18 19 ADocumentCheck: TAction; 19 20 AFilterEnabledCategories: TAction; … … 439 440 procedure TFormMain.AShowAboutExecute(Sender: TObject); 440 441 begin 441 FormAbout := TFormAbout.Create(Self); 442 try 443 FormAbout.ApplicationInfo := Core.ApplicationInfo1; 444 FormAbout.ShowModal; 445 finally 446 FreeAndNil(FormAbout); 447 end; 442 AboutDialog1.Show; 448 443 end; 449 444 … … 760 755 // If installed in Linux system then use installation directory for po files 761 756 if Application.ExeName = '/usr/bin/' + ExtractFileNameOnly(Application.ExeName) then 762 Core. CoolTranslator1.POFilesFolder := '/usr/share/' + ExtractFileNameOnly(Application.ExeName) + '/languages';757 Core.Translator.POFilesFolder := '/usr/share/' + ExtractFileNameOnly(Application.ExeName) + '/languages'; 763 758 {$ENDIF} 764 759 -
trunk/Forms/UFormSettings.pas
r184 r207 81 81 procedure TFormSettings.FormCreate(Sender: TObject); 82 82 begin 83 Core. CoolTranslator1.TranslateComponentRecursive(Self);83 Core.Translator.TranslateComponentRecursive(Self); 84 84 Core.ThemeManager.UseTheme(Self); 85 85 Core.ThemeManager.Themes.LoadToStrings(ComboBoxTheme.Items); 86 Core. CoolTranslator1.LanguageListToStrings(ComboBoxLanguage.Items);86 Core.Translator.LanguageListToStrings(ComboBoxLanguage.Items); 87 87 end; 88 88 89 89 procedure TFormSettings.Load; 90 90 begin 91 ComboBoxLanguage.ItemIndex := ComboBoxLanguage.Items.IndexOfObject(Core. CoolTranslator1.Language);91 ComboBoxLanguage.ItemIndex := ComboBoxLanguage.Items.IndexOfObject(Core.Translator.Language); 92 92 if ComboBoxLanguage.ItemIndex = -1 then ComboBoxLanguage.ItemIndex := 0; 93 93 ComboBoxTheme.ItemIndex := ComboBoxTheme.Items.IndexOfObject(Core.ThemeManager.Theme); … … 105 105 begin 106 106 if ComboBoxLanguage.ItemIndex <> -1 then 107 Core. CoolTranslator1.Language := TLanguage(ComboBoxLanguage.Items.Objects[ComboBoxLanguage.ItemIndex]);107 Core.Translator.Language := TLanguage(ComboBoxLanguage.Items.Objects[ComboBoxLanguage.ItemIndex]); 108 108 if ComboBoxTheme.ItemIndex <> -1 then 109 109 Core.ThemeManager.Theme := TTheme(ComboBoxTheme.Items.Objects[ComboBoxTheme.ItemIndex]); -
trunk/Languages/AcronymDecoder.cs.po
r204 r207 12 12 "X-Generator: Poedit 2.2\n" 13 13 14 #: tformabout.buttonclose.caption 15 msgctxt "tformabout.buttonclose.caption" 16 msgid "Close" 17 msgstr "Zavřít" 18 19 #: tformabout.buttonhomepage.caption 20 msgid "Home page" 21 msgstr "Domovská stránka" 22 23 #: tformabout.caption 24 msgctxt "tformabout.caption" 25 msgid "About" 26 msgstr "O aplikaci" 27 28 #: tformabout.labelappname.caption 29 msgctxt "tformabout.labelappname.caption" 30 msgid "Acronym Decoder" 31 msgstr "Acronym Decoder" 32 33 #: tformabout.labelcontent.caption 34 msgctxt "tformabout.labelcontent.caption" 35 msgid " " 36 msgstr " " 14 #: tcore.applicationinfo1.description 15 msgid "A simple tool for quick searching of meaning for various acronyms and abbreviations." 16 msgstr "" 37 17 38 18 #: tformacronym.acategoryadd.caption … … 850 830 msgstr "Startovat zmenšený do oznamovací oblasti" 851 831 852 #: uformabout.slicense853 msgid "License"854 msgstr "Licence"855 856 #: uformabout.sreleasedate857 msgid "Release date"858 msgstr "Datum uvolnění"859 860 #: uformabout.sversion861 msgid "Version"862 msgstr "Verze"863 864 832 #: uformacronyms.sfiltered 865 833 msgid "Filtered" -
trunk/Languages/AcronymDecoder.po
r204 r207 2 2 msgstr "Content-Type: text/plain; charset=UTF-8" 3 3 4 #: tformabout.buttonclose.caption 5 msgctxt "TFORMABOUT.BUTTONCLOSE.CAPTION" 6 msgid "Close" 7 msgstr "" 8 9 #: tformabout.buttonhomepage.caption 10 msgid "Home page" 11 msgstr "" 12 13 #: tformabout.caption 14 msgctxt "tformabout.caption" 15 msgid "About" 16 msgstr "" 17 18 #: tformabout.labelappname.caption 19 msgctxt "TFORMABOUT.LABELAPPNAME.CAPTION" 20 msgid "Acronym Decoder" 21 msgstr "" 22 23 #: tformabout.labelcontent.caption 24 msgctxt "TFORMABOUT.LABELCONTENT.CAPTION" 25 msgid " " 4 #: tcore.applicationinfo1.description 5 msgid "A simple tool for quick searching of meaning for various acronyms and abbreviations." 26 6 msgstr "" 27 7 … … 840 820 msgstr "" 841 821 842 #: uformabout.slicense843 msgid "License"844 msgstr ""845 846 #: uformabout.sreleasedate847 msgid "Release date"848 msgstr ""849 850 #: uformabout.sversion851 msgid "Version"852 msgstr ""853 854 822 #: uformacronyms.sfiltered 855 823 msgid "Filtered" -
trunk/Packages/Common/Common.lpk
r204 r207 37 37 </Other> 38 38 </CompilerOptions> 39 <Description Value="Various libraries"/> 40 <License Value="GNU/GPL"/> 41 <Version Minor="7"/> 42 <Files Count="22"> 39 <Description Value="Common package with various useful units. 40 41 Source: https://svn.zdechov.net/PascalClassLibrary/Common/"/> 42 <License Value="Copy left."/> 43 <Version Minor="8"/> 44 <Files Count="29"> 43 45 <Item1> 44 46 <Filename Value="StopWatch.pas"/> … … 139 141 <UnitName Value="UStringTable"/> 140 142 </Item22> 143 <Item23> 144 <Filename Value="UMetaCanvas.pas"/> 145 <UnitName Value="UMetaCanvas"/> 146 </Item23> 147 <Item24> 148 <Filename Value="UGeometric.pas"/> 149 <UnitName Value="UGeometric"/> 150 </Item24> 151 <Item25> 152 <Filename Value="UTranslator.pas"/> 153 <HasRegisterProc Value="True"/> 154 <UnitName Value="UTranslator"/> 155 </Item25> 156 <Item26> 157 <Filename Value="ULanguages.pas"/> 158 <UnitName Value="ULanguages"/> 159 </Item26> 160 <Item27> 161 <Filename Value="UFormAbout.pas"/> 162 <UnitName Value="UFormAbout"/> 163 </Item27> 164 <Item28> 165 <Filename Value="UAboutDialog.pas"/> 166 <HasRegisterProc Value="True"/> 167 <UnitName Value="UAboutDialog"/> 168 </Item28> 169 <Item29> 170 <Filename Value="UPixelPointer.pas"/> 171 <UnitName Value="UPixelPointer"/> 172 </Item29> 141 173 </Files> 142 174 <i18n> -
trunk/Packages/Common/Common.pas
r204 r207 12 12 UMemory, UResetableThread, UPool, ULastOpenedList, URegistry, 13 13 UJobProgressView, UXMLUtils, UApplicationInfo, USyncCounter, UListViewSort, 14 UPersistentForm, UFindFile, UScaleDPI, UTheme, UStringTable, 15 LazarusPackageIntf; 14 UPersistentForm, UFindFile, UScaleDPI, UTheme, UStringTable, UMetaCanvas, 15 UGeometric, UTranslator, ULanguages, UFormAbout, UAboutDialog, 16 UPixelPointer, LazarusPackageIntf; 16 17 17 18 implementation … … 29 30 RegisterUnit('UScaleDPI', @UScaleDPI.Register); 30 31 RegisterUnit('UTheme', @UTheme.Register); 32 RegisterUnit('UTranslator', @UTranslator.Register); 33 RegisterUnit('UAboutDialog', @UAboutDialog.Register); 31 34 end; 32 35 -
trunk/Packages/Common/UApplicationInfo.pas
r181 r207 6 6 7 7 uses 8 SysUtils, Classes, Forms, URegistry, Controls ;8 SysUtils, Classes, Forms, URegistry, Controls, Graphics, LCLType; 9 9 10 10 type … … 14 14 TApplicationInfo = class(TComponent) 15 15 private 16 FDescription: TCaption; 16 FDescription: TTranslateString; 17 FIcon: TBitmap; 17 18 FIdentification: Byte; 18 19 FLicense: string; … … 33 34 public 34 35 constructor Create(AOwner: TComponent); override; 36 destructor Destroy; override; 35 37 property Version: string read GetVersion; 36 38 function GetRegistryContext: TRegistryContext; … … 47 49 property EmailContact: string read FEmailContact write FEmailContact; 48 50 property AppName: string read FAppName write FAppName; 49 property Description: string read FDescription write FDescription;51 property Description: TTranslateString read FDescription write FDescription; 50 52 property ReleaseDate: TDateTime read FReleaseDate write FReleaseDate; 51 53 property RegistryKey: string read FRegistryKey write FRegistryKey; 52 54 property RegistryRoot: TRegistryRoot read FRegistryRoot write FRegistryRoot; 53 55 property License: string read FLicense write FLicense; 56 property Icon: TBitmap read FIcon write FIcon; 54 57 end; 55 58 … … 74 77 constructor TApplicationInfo.Create(AOwner: TComponent); 75 78 begin 76 inherited Create(AOwner);79 inherited; 77 80 FVersionMajor := 1; 78 81 FIdentification := 1; … … 80 83 FRegistryKey := '\Software\' + FAppName; 81 84 FRegistryRoot := rrKeyCurrentUser; 85 FIcon := TBitmap.Create; 86 end; 87 88 destructor TApplicationInfo.Destroy; 89 begin 90 FreeAndNil(FIcon); 91 inherited; 82 92 end; 83 93 -
trunk/Packages/Common/UCommon.pas
r204 r207 40 40 {$ENDIF} 41 41 42 function IntToBin(Data: Int64; Count: Byte): string;42 function AddLeadingZeroes(const aNumber, Length : integer) : string; 43 43 function BinToInt(BinStr: string): Int64; 44 function TryHexToInt(Data: string; var Value: Integer): Boolean;45 function TryBinToInt(Data: string; var Value: Integer): Boolean;46 44 function BinToHexString(Source: AnsiString): string; 47 45 //function DelTree(DirName : string): Boolean; … … 49 47 function BCDToInt(Value: Byte): Byte; 50 48 function CompareByteArray(Data1, Data2: TArrayOfByte): Boolean; 49 procedure CopyStringArray(Dest: TStringArray; Source: array of string); 50 function CombinePaths(Path1, Path2: string): string; 51 function ComputerName: string; 52 procedure DeleteFiles(APath, AFileSpec: string); 53 procedure ExecuteProgram(Executable: string; Parameters: array of string); 54 procedure FileDialogUpdateFilterFileType(FileDialog: TOpenDialog); 55 procedure FreeThenNil(var Obj); 56 function GetDirCount(Dir: string): Integer; 51 57 function GetUserName: string; 52 function LoggedOnUserNameEx(Format: TUserNameFormat): string;53 function SplitString(var Text: string; Count: Word): string;54 58 function GetBitCount(Variable: QWord; MaxIndex: Integer): Integer; 55 59 function GetBit(Variable: QWord; Index: Byte): Boolean; 60 function GetStringPart(var Text: string; Separator: string): string; 61 function GenerateNewName(OldName: string): string; 62 function GetFileFilterItemExt(Filter: string; Index: Integer): string; 63 function IntToBin(Data: Int64; Count: Byte): string; 64 function LastPos(const SubStr: String; const S: String): Integer; 65 function LoadFileToStr(const FileName: TFileName): AnsiString; 66 function LoggedOnUserNameEx(Format: TUserNameFormat): string; 67 function MergeArray(A, B: array of string): TArrayOfString; 68 function OccurenceOfChar(What: Char; Where: string): Integer; 69 procedure OpenWebPage(URL: string); 70 procedure OpenFileInShell(FileName: string); 71 function PosFromIndex(SubStr: string; Text: string; 72 StartIndex: Integer): Integer; 73 function PosFromIndexReverse(SubStr: string; Text: string; 74 StartIndex: Integer): Integer; 75 function RemoveQuotes(Text: string): string; 76 procedure SaveStringToFile(S, FileName: string); 56 77 procedure SetBit(var Variable: Int64; Index: Byte; State: Boolean); overload; 57 78 procedure SetBit(var Variable: QWord; Index: Byte; State: Boolean); overload; 58 79 procedure SetBit(var Variable: Cardinal; Index: Byte; State: Boolean); overload; 59 80 procedure SetBit(var Variable: Word; Index: Byte; State: Boolean); overload; 60 function AddLeadingZeroes(const aNumber, Length : integer) : string;61 function LastPos(const SubStr: String; const S: String): Integer;62 function GenerateNewName(OldName: string): string;63 function GetFileFilterItemExt(Filter: string; Index: Integer): string;64 procedure FileDialogUpdateFilterFileType(FileDialog: TOpenDialog);65 procedure DeleteFiles(APath, AFileSpec: string);66 procedure OpenWebPage(URL: string);67 procedure OpenFileInShell(FileName: string);68 procedure ExecuteProgram(Executable: string; Parameters: array of string);69 procedure FreeThenNil(var Obj);70 function RemoveQuotes(Text: string): string;71 function ComputerName: string;72 function OccurenceOfChar(What: Char; Where: string): Integer;73 function GetDirCount(Dir: string): Integer;74 function MergeArray(A, B: array of string): TArrayOfString;75 function LoadFileToStr(const FileName: TFileName): AnsiString;76 procedure SaveStringToFile(S, FileName: string);77 81 procedure SearchFiles(AList: TStrings; Dir: string; 78 82 FilterMethod: TFilterMethod = nil; FileNameMethod: TFileNameMethod = nil); 79 function GetStringPart(var Text: string; Separator: string): string;83 function SplitString(var Text: string; Count: Word): string; 80 84 function StripTags(const S: string): string; 81 function PosFromIndex(SubStr: string; Text: string; 82 StartIndex: Integer): Integer; 83 function PosFromIndexReverse(SubStr: string; Text: string; 84 StartIndex: Integer): Integer; 85 procedure CopyStringArray(Dest: TStringArray; Source: array of string); 85 function TryHexToInt(Data: string; var Value: Integer): Boolean; 86 function TryBinToInt(Data: string; var Value: Integer): Boolean; 86 87 87 88 … … 669 670 end; 670 671 672 function CombinePaths(Path1, Path2: string): string; 673 begin 674 Result := Path1; 675 if Result <> '' then Result := Result + DirectorySeparator + Path2 676 else Result := Path2; 677 end; 678 671 679 672 680 initialization -
trunk/Packages/Common/UListViewSort.pas
r204 r207 1 1 unit UListViewSort; 2 2 3 // Date: 201 0-11-033 // Date: 2019-05-17 4 4 5 5 {$mode delphi} … … 8 8 9 9 uses 10 {$IFDEF Windows}Windows, CommCtrl, {$ENDIF}Classes, Graphics, ComCtrls, SysUtils,10 {$IFDEF Windows}Windows, CommCtrl, LMessages, {$ENDIF}Classes, Graphics, ComCtrls, SysUtils, 11 11 Controls, DateUtils, Dialogs, fgl, Forms, Grids, StdCtrls, ExtCtrls, 12 LclIntf, L Messages, LclType, LResources;12 LclIntf, LclType, LResources; 13 13 14 14 type -
trunk/Packages/Common/UPersistentForm.pas
r200 r207 3 3 {$mode delphi} 4 4 5 // Date: 20 15-04-185 // Date: 2020-11-26 6 6 7 7 interface … … 9 9 uses 10 10 Classes, SysUtils, Forms, URegistry, LCLIntf, Registry, Controls, ComCtrls, 11 ExtCtrls ;11 ExtCtrls, LCLType; 12 12 13 13 type … … 26 26 FormRestoredSize: TRect; 27 27 FormWindowState: TWindowState; 28 FormFullScreen: Boolean; 28 29 Form: TForm; 29 30 procedure LoadFromRegistry(RegistryContext: TRegistryContext); … … 31 32 function CheckEntireVisible(Rect: TRect): TRect; 32 33 function CheckPartVisible(Rect: TRect; Part: Integer): TRect; 33 procedure Load(Form: TForm; DefaultMaximized: Boolean = False); 34 procedure Load(Form: TForm; DefaultMaximized: Boolean = False; 35 DefaultFullScreen: Boolean = False); 34 36 procedure Save(Form: TForm); 35 37 constructor Create(AOwner: TComponent); override; 38 procedure SetFullScreen(State: Boolean); 36 39 property RegistryContext: TRegistryContext read FRegistryContext 37 40 write FRegistryContext; … … 43 46 procedure Register; 44 47 48 45 49 implementation 46 47 50 48 51 procedure Register; … … 169 172 + FormRestoredSize.Top; 170 173 // Other state 171 FormWindowState := TWindowState(ReadIntegerWithDefault('WindowState', Integer(wsNormal))); 174 FormWindowState := TWindowState(ReadIntegerWithDefault('WindowState', Integer(FormWindowState))); 175 FormFullScreen := ReadBoolWithDefault('FullScreen', FormFullScreen); 172 176 finally 173 177 Free; … … 193 197 // Other state 194 198 WriteInteger('WindowState', Integer(FormWindowState)); 199 WriteBool('FullScreen', FormFullScreen); 195 200 finally 196 201 Free; … … 250 255 end; 251 256 252 procedure TPersistentForm.Load(Form: TForm; DefaultMaximized: Boolean = False); 257 procedure TPersistentForm.Load(Form: TForm; DefaultMaximized: Boolean = False; 258 DefaultFullScreen: Boolean = False); 253 259 begin 254 260 Self.Form := Form; … … 258 264 FormRestoredSize := Bounds((Screen.Width - Form.Width) div 2, 259 265 (Screen.Height - Form.Height) div 2, Form.Width, Form.Height); 266 FormWindowState := Form.WindowState; 267 FormFullScreen := DefaultFullScreen; 260 268 261 269 LoadFromRegistry(RegistryContext); … … 277 285 Form.BoundsRect := FormNormalSize; 278 286 end; 287 if FormFullScreen then SetFullScreen(True); 279 288 LoadControl(Form); 280 289 end; … … 284 293 Self.Form := Form; 285 294 FormNormalSize := Bounds(Form.Left, Form.Top, Form.Width, Form.Height); 286 FormRestoredSize := Bounds(Form.RestoredLeft, Form.RestoredTop, Form.RestoredWidth, 287 Form.RestoredHeight); 295 if not FormFullScreen then 296 FormRestoredSize := Bounds(Form.RestoredLeft, Form.RestoredTop, Form.RestoredWidth, 297 Form.RestoredHeight); 288 298 FormWindowState := Form.WindowState; 289 299 SaveToRegistry(RegistryContext); … … 300 310 end; 301 311 312 procedure TPersistentForm.SetFullScreen(State: Boolean); 313 begin 314 if State then begin 315 FormFullScreen := True; 316 FormNormalSize := Form.BoundsRect; 317 FormRestoredSize := Bounds(Form.RestoredLeft, Form.RestoredTop, Form.RestoredWidth, 318 Form.RestoredHeight); 319 FormWindowState := Form.WindowState; 320 ShowWindow(Form.Handle, SW_SHOWFULLSCREEN); 321 {$IFDEF WINDOWS} 322 Form.BorderStyle := bsNone; 323 {$ENDIF} 324 end else begin 325 FormFullScreen := False; 326 {$IFDEF WINDOWS} 327 Form.BorderStyle := bsSizeable; 328 {$ENDIF} 329 ShowWindow(Form.Handle, SW_SHOWNORMAL); 330 if FormWindowState = wsNormal then begin 331 Form.BoundsRect := FormNormalSize; 332 end else 333 if FormWindowState = wsMaximized then begin 334 Form.BoundsRect := FormRestoredSize; 335 Form.WindowState := wsMaximized; 336 end; 337 end; 338 end; 339 302 340 end. 303 341 -
trunk/Packages/Common/URegistry.pas
r204 r207 1 1 unit URegistry; 2 2 3 {$MODE Delphi}3 {$MODE delphi} 4 4 5 5 interface … … 17 17 RootKey: HKEY; 18 18 Key: string; 19 class function Create(RootKey: TRegistryRoot; Key: string): TRegistryContext; static; overload; 20 class function Create(RootKey: HKEY; Key: string): TRegistryContext; static; overload; 19 21 class operator Equal(A, B: TRegistryContext): Boolean; 20 function Create(RootKey: TRegistryRoot; Key: string): TRegistryContext; overload;21 function Create(RootKey: HKEY; Key: string): TRegistryContext; overload;22 22 end; 23 23 … … 58 58 end; 59 59 60 function TRegistryContext.Create(RootKey: TRegistryRoot; Key: string): TRegistryContext;60 class function TRegistryContext.Create(RootKey: TRegistryRoot; Key: string): TRegistryContext; 61 61 begin 62 62 Result.RootKey := RegistryRootHKEY[RootKey]; … … 64 64 end; 65 65 66 function TRegistryContext.Create(RootKey: HKEY; Key: string): TRegistryContext;66 class function TRegistryContext.Create(RootKey: HKEY; Key: string): TRegistryContext; 67 67 begin 68 68 Result.RootKey := RootKey; … … 133 133 begin 134 134 {$IFDEF Linux} 135 CloseKey;135 //CloseKey; 136 136 {$ENDIF} 137 137 Result := inherited OpenKey(Key, CanCreate); -
trunk/Packages/Common/UScaleDPI.pas
r200 r207 227 227 Temp[I] := TBitmap.Create; 228 228 Temp[I].SetSize(NewWidth, NewHeight); 229 {$IFDEF Linux} 230 Temp[I].PixelFormat := pf24bit; 231 {$ELSE} 229 232 Temp[I].PixelFormat := pf32bit; 233 {$ENDIF} 230 234 Temp[I].TransparentColor := TempBmp.TransparentColor; 231 235 //Temp[I].TransparentMode := TempBmp.TransparentMode; -
trunk/Packages/Common/UThreading.pas
r181 r207 6 6 7 7 uses 8 Classes, SysUtils, Forms, Contnrs, SyncObjs;8 Classes, SysUtils, Forms, fgl, SyncObjs; 9 9 10 10 type … … 22 22 function GetSuspended: Boolean; virtual; abstract; 23 23 function GetTerminated: Boolean; virtual; abstract; 24 function GetThreadId: Integer; virtual; abstract;24 function GetThreadId: TThreadID; virtual; abstract; 25 25 procedure SetFreeOnTerminate(const AValue: Boolean); virtual; abstract; 26 26 procedure SetPriority(const AValue: TThreadPriority); virtual; abstract; … … 42 42 property Terminated: Boolean read GetTerminated write SetTerminated; 43 43 property Finished: Boolean read GetFinished; 44 property ThreadId: Integerread GetThreadId;44 property ThreadId: TThreadID read GetThreadId; 45 45 end; 46 46 … … 68 68 function GetSuspended: Boolean; override; 69 69 function GetTerminated: Boolean; override; 70 function GetThreadId: Integer; override;70 function GetThreadId: TThreadID; override; 71 71 procedure SetFreeOnTerminate(const AValue: Boolean); override; 72 72 procedure SetPriority(const AValue: TThreadPriority); override; … … 102 102 { TThreadList } 103 103 104 TThreadList = class(T ObjectList)105 function FindById(Id: Integer): TVirtualThread;104 TThreadList = class(TFPGObjectList<TVirtualThread>) 105 function FindById(Id: TThreadID): TVirtualThread; 106 106 constructor Create; virtual; 107 107 end; … … 164 164 if MainThreadID = ThreadID then Method 165 165 else begin 166 Thread := ThreadList.FindById(ThreadID); 166 try 167 ThreadListLock.Acquire; 168 Thread := ThreadList.FindById(ThreadID); 169 finally 170 ThreadListLock.Release; 171 end; 167 172 if Assigned(Thread) then begin 168 173 Thread.Synchronize(Method); … … 173 178 { TThreadList } 174 179 175 function TThreadList.FindById(Id: Integer): TVirtualThread;180 function TThreadList.FindById(Id: TThreadID): TVirtualThread; 176 181 var 177 182 I: Integer; 178 183 begin 179 184 I := 0; 180 while (I < ThreadList.Count) and (T VirtualThread(ThreadList[I]).ThreadID <> Id) do185 while (I < ThreadList.Count) and (ThreadList[I].ThreadID <> Id) do 181 186 Inc(I); 182 if I < ThreadList.Count then Result := T VirtualThread(ThreadList[I])187 if I < ThreadList.Count then Result := ThreadList[I] 183 188 else Result := nil; 184 189 end; … … 233 238 end; 234 239 235 function TListedThread.GetThreadId: Integer;240 function TListedThread.GetThreadId: TThreadID; 236 241 begin 237 242 Result := FThread.ThreadID; … … 356 361 ThreadListLock := TCriticalSection.Create; 357 362 ThreadList := TThreadList.Create; 358 ThreadList. OwnsObjects := False;363 ThreadList.FreeObjects := False; 359 364 360 365 finalization -
trunk/Read Me.txt
r203 r207 16 16 * Home page: https://app.zdechov.net/AcronymDecoder/ 17 17 * Source code: https://svn.zdechov.net/AcronymDecoder/ 18 * Developed in [http://www.lazarus-ide.org/ Lazarus/FPC] 2.0. 218 * Developed in [http://www.lazarus-ide.org/ Lazarus/FPC] 2.0.12 19 19 * To build new Windows installer run Install/build.bat. InnoSetup (http://www.jrsoftware.org/isdl.php) needs to be installed). -
trunk/UCore.lfm
r204 r207 3 3 OnDestroy = DataModuleDestroy 4 4 OldCreateOrder = False 5 Height = 6486 HorizontalOffset = 5357 VerticalOffset = 2 208 Width = 7019 PPI = 1 2010 object CoolTranslator1: TCoolTranslator5 Height = 778 6 HorizontalOffset = 642 7 VerticalOffset = 264 8 Width = 841 9 PPI = 144 10 object Translator: TTranslator 11 11 POFilesFolder = 'Languages' 12 OnTranslate = CoolTranslator1Translate13 left = 19014 top = 19012 OnTranslate = TranslatorTranslate 13 Left = 228 14 Top = 228 15 15 end 16 16 object PersistentForm1: TPersistentForm 17 17 MinVisiblePart = 50 18 18 EntireVisible = False 19 left = 36520 top = 19519 Left = 438 20 Top = 234 21 21 end 22 22 object JobProgressView1: TJobProgressView … … 24 24 ShowDelay = 0 25 25 AutoClose = False 26 left = 36527 top = 34026 Left = 438 27 Top = 408 28 28 end 29 29 object ScaleDPI1: TScaleDPI 30 30 AutoDetect = False 31 left = 19532 top = 34031 Left = 234 32 Top = 408 33 33 end 34 34 object ImageList1: TImageList 35 left = 36536 top = 42035 Left = 438 36 Top = 504 37 37 Bitmap = { 38 38 4C69150000001000000010000000000000000000000000000000000000000000 … … 1249 1249 Visible = True 1250 1250 OnClick = TrayIcon1Click 1251 left = 1901252 top = 4201251 Left = 228 1252 Top = 504 1253 1253 end 1254 1254 object PopupMenuTrayIcon: TPopupMenu 1255 1255 Images = ImageList1 1256 left = 1901257 top = 5001256 Left = 228 1257 Top = 600 1258 1258 object MenuItem2: TMenuItem 1259 1259 Action = FormMain.AShow … … 1282 1282 Height = 32 1283 1283 Width = 32 1284 left = 5301285 top = 4201284 Left = 636 1285 Top = 504 1286 1286 Bitmap = { 1287 1287 4C69110000002000000020000000000000000000000000000000000000000000 … … 3476 3476 AppName = 'Acronym Decoder' 3477 3477 Description = 'A simple tool for quick searching of meaning for various acronyms and abbreviations.' 3478 ReleaseDate = 4 35913479 RegistryKey = '\Software\ '3478 ReleaseDate = 44322 3479 RegistryKey = '\Software\Chronosoft\AcronymDecoder' 3480 3480 RegistryRoot = rrKeyCurrentUser 3481 3481 License = 'CC0' 3482 left = 96 3483 top = 40 3482 Icon.Data = { 3483 36400000424D3640000000000000360000002800000040000000400000000100 3484 2000000000000040000064000000640000000000000000000000000000000000 3485 0000000000000000000000000000000000000000000000000000000000000000 3486 0000000000000000000000000000000000000000000000000000000000000000 3487 0000000000000000000000000000000000000000000000000000000000000000 3488 0000000000000000000000000000000000000000000000000000000000000000 3489 0000000000000000000000000000000000000000000000000000000000000000 3490 0000000000000000000000000000000000000000000000000000000000000000 3491 0000000000000000000000000000000000000000000000000000000000000000 3492 0000000000000000000000000000000000000000000000000000000000000000 3493 0000000000000000000000000000000000000000000000000000000000000000 3494 0000000000000000000000000000000000000000000000000000000000000000 3495 0000000000000000000000000000000000000000000000000000000000000000 3496 0000000000000000000000000000000000000000000000000000000000000000 3497 0000000000000000000000000000000000000000000000000000000000000000 3498 0000000000000000000000000000000000000000000000000000000000000000 3499 0000000000000000000000000000000000000000000000000000000000000000 3500 0000000000000000000000000000000000000000000000000000000000000000 3501 0000000000000000000000000000000000000000000000000000000000000000 3502 0000000000000000000000000000000000000000000000000000000000000000 3503 0000000000000000000000000000000000000000000000000000000000000000 3504 0000000000000000000000000000000000000000000000000000000000000000 3505 0000000000000000000000000000000000000000000000000000000000000000 3506 0000000000000000000000000000000000000000000000000000000000000000 3507 0000000000000000000000000000000000000000000000000000000000000000 3508 0000000000000000000000000000000000000000000000000000000000000000 3509 0000000000000000000000000000000000000000000000000000000000000000 3510 0000000000000000000000000000000000000000000000000000000000000000 3511 0000000000000000000000000000000000000000000000000000000000000000 3512 0000000000000000000000000000000000000000000000000000000000000000 3513 0000000000000000000000000000000000000000000000000000000000000000 3514 0000000000000000000000000000000000000000000000000000000000000000 3515 0000000000000000000000000000000000000000000000000000000000000000 3516 0000000000000000000000000000000000000000000000000000000000000000 3517 0000000000000000000000000000000000000000000000000000000000000000 3518 0000000000000000000000000000000000000000000000000000000000000000 3519 0000000000000000000000000000000000000000000000000000000000000000 3520 0000000000000000000000000000000000000000000000000000000000000000 3521 0000000000000000000000000000000000000000000000000000000000000000 3522 0000000000000000000000000000000000000000000000000000000000000000 3523 0000000000000000000000000000000000000000000000000000000000000000 3524 0000000000000000000000000000000000000000000000000000000000000000 3525 0000000000000000000000000000000000000000000000000000000000000000 3526 0000000000000000000000000000000000000000000000000000000000000000 3527 0000000000000000000000000000000000000000000000000000000000000000 3528 0000000000000000000000000000000000000000000000000000000000000000 3529 0000000000000000000000000000000000000000000000000000000000000000 3530 0000000000000000000000000000000000000000000000000000000000000000 3531 0000000000000000000000000000000000000000000000000000000000000000 3532 0000000000000000000000000000000000000000000000000000000000000000 3533 0000000000000000000000000000000000000000000000000000000000000000 3534 0000000000000000000000000000000000000000000000000000000000000000 3535 0000000000000000000000000000000000000000000000000000000000000000 3536 0000000000000000000000000000000000000000000000000000000000000000 3537 0000000000000000000000000000000000000000000000000000000000000000 3538 0000000000000000000000000000000000000000000000000000000000000000 3539 0000000000000000000000000000000000000000000000000000000000000000 3540 0000000000000000000000000000000000000000000000000000000000000000 3541 0000000000000000000000000000000000000000000000000000000000000000 3542 0000000000000000000000000000000000000000000000000000000000000000 3543 0000000000000000000000000000000000000000000000000000000000000000 3544 0000000000000000000000000000000000000000000000000000000000000000 3545 0000000000000000000000000000000000000000000000000000000000000000 3546 0000000000000000000000000000000000000000000000000000000000000000 3547 0000000000000000000000000000000000000000000000000000000000000000 3548 0000000000000000000000000000000000000000000000000000000000000000 3549 0000000000000000000000000000000000000000000000000000000000000000 3550 0000000000000000000000000000000000000000000000000000000000000000 3551 0000000000000000000000000000000000000000000000000000000000000000 3552 0000000000000000000000000000000000000000000000000000000000000000 3553 0000000000000000000000000000000000000000000000000000000000000000 3554 0000000000000000000000000000000000000000000000000000000000000000 3555 0000000000000000000000000000000000000000000000000000000000000000 3556 0000000000000000000000000000000000000000000000000000000000000000 3557 0000000000000000000000000000000000000000000000000000000000000000 3558 0000000000000000000000000000000000000000000000000000000000000000 3559 0000000000000000000000000000000000000000000000000000000000000000 3560 0000000000000000000000000000000000000000000000000000000000000000 3561 0000000000000000000000000000000000000000000000000000000000000000 3562 0000000000000000000000000000000000000000000000000000000000000000 3563 0000000000000000000000000000000000000000000000000000000000000000 3564 0000000000000000000000000000000000000000000000000000000000000000 3565 0000000000000000000000000000000000000000000000000000000000000000 3566 00000000000000000000000000FF000000FF000000FF000000FF000000FF0000 3567 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3568 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3569 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3570 00FF000000FF000000FF00000000000000000000000000000000000000000000 3571 0000000000000000000000000000000000000000000000000000000000000000 3572 0000000000000000000000000000000000000000000000000000000000000000 3573 0000000000000000000000000000000000000000000000000000000000000000 3574 00000000000000000000000000FF000000FF000000FF000000FF000000FF0000 3575 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3576 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3577 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3578 00FF000000FF000000FF000000FF000000FF0000000000000000000000000000 3579 0000000000000000000000000000000000000000000000000000000000000000 3580 0000000000000000000000000000000000000000000000000000000000000000 3581 0000000000000000000000000000000000000000000000000000000000000000 3582 00000000000000000000000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3583 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3584 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3585 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3586 FFFF000000FF000000FF000000FF000000FF000000FF000000FF000000000000 3587 0000000000000000000000000000000000000000000000000000000000000000 3588 0000000000000000000000000000000000000000000000000000000000000000 3589 0000000000000000000000000000000000000000000000000000000000000000 3590 00000000000000000000000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3591 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3592 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3593 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3594 FFFF0EC9FFFF0EC9FFFF000000FF000000FF000000FF000000FF000000FF0000 3595 0000000000000000000000000000000000000000000000000000000000000000 3596 0000000000000000000000000000000000000000000000000000000000000000 3597 0000000000000000000000000000000000000000000000000000000000000000 3598 00000000000000000000000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3599 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3600 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3601 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3602 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF000000FF000000FF0000 3603 00FF000000000000000000000000000000000000000000000000000000000000 3604 0000000000000000000000000000000000000000000000000000000000000000 3605 0000000000000000000000000000000000000000000000000000000000000000 3606 00000000000000000000000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3607 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3608 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3609 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3610 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF000000FF0000 3611 00FF000000FF0000000000000000000000000000000000000000000000000000 3612 0000000000000000000000000000000000000000000000000000000000FF0000 3613 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3614 00FF000000FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3615 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3616 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3617 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3618 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0000 3619 00FF000000FF000000FF00000000000000000000000000000000000000000000 3620 0000000000000000000000000000000000000000000000000000000000FF0000 3621 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3622 00FF000000FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3623 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3624 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3625 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3626 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3627 FFFF000000FF000000FF00000000000000000000000000000000000000000000 3628 0000000000000000000000000000000000000000000000000000000000FF0000 3629 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3630 00FF000000FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3631 FFFF000000FF000000FF000000FF000000FF000000FF000000FF0EC9FFFF0EC9 3632 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3633 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF000000FF0000 3634 00FF000000FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3635 FFFF000000FF000000FF000000FF000000000000000000000000000000000000 3636 0000000000000000000000000000000000000000000000000000000000FF0000 3637 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3638 00FF000000FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3639 FFFF000000FF000000FF000000FF000000FF000000FF000000FF0EC9FFFF0EC9 3640 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3641 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF000000FF0000 3642 00FF000000FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3643 FFFF000000FF000000FF000000FF000000000000000000000000000000000000 3644 0000000000000000000000000000000000000000000000000000000000000000 3645 0000000000000000000000000000000000000000000000000000000000000000 3646 00000000000000000000000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3647 FFFF000000FF000000FF000000FF000000FF000000FF000000FF0EC9FFFF0EC9 3648 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3649 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF000000FF0000 3650 00FF000000FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3651 FFFF0EC9FFFF000000FF000000FF000000FF0000000000000000000000000000 3652 0000000000000000000000000000000000000000000000000000000000000000 3653 0000000000000000000000000000000000000000000000000000000000000000 3654 00000000000000000000000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3655 FFFF000000FF000000FF000000FF000000FF000000FF000000FF0EC9FFFF0EC9 3656 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3657 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF000000FF0000 3658 00FF000000FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3659 FFFF0EC9FFFF000000FF000000FF000000FF0000000000000000000000000000 3660 0000000000000000000000000000000000000000000000000000000000000000 3661 0000000000000000000000000000000000000000000000000000000000000000 3662 00000000000000000000000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3663 FFFF0EC9FFFF000000FF000000FF000000FF000000FF000000FF000000FF0EC9 3664 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3665 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF000000FF000000FF0000 3666 00FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3667 FFFF0EC9FFFF0EC9FFFF000000FF000000FF0000000000000000000000000000 3668 0000000000000000000000000000000000000000000000000000000000000000 3669 0000000000000000000000000000000000000000000000000000000000000000 3670 00000000000000000000000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3671 FFFF0EC9FFFF000000FF000000FF000000FF000000FF000000FF000000FF0EC9 3672 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3673 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF000000FF3A0000FF0000 3674 00FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3675 FFFF0EC9FFFF0EC9FFFF000000FF000000FF0000000000000000000000000000 3676 0000000000000000000000000000000000000000000000000000000000000000 3677 0000000000000000000000000000000000000000000000000000000000000000 3678 00000000000000000000000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3679 FFFF0EC9FFFF000000FF000000FF000000FF000000FF000000FF000000FF0000 3680 00FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3681 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF000000FF000000FF000000FF0000 3682 00FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3683 FFFF0EC9FFFF0EC9FFFF000000FF000000FF0000000000000000000000000000 3684 0000000000000000000000000000000000000000000000000000000000000000 3685 0000000000000000000000000000000000000000000000000000000000000000 3686 00000000000000000000000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3687 FFFF0EC9FFFF0EC9FFFF000000FF000000FF000000FF000000FF000000FF0000 3688 00FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3689 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF000000FF000000FF000000FF0000 3690 00FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3691 FFFF0EC9FFFF0EC9FFFF000000FF000000FF0000000000000000000000000000 3692 0000000000000000000000000000000000000000000000000000000000000000 3693 0000000000000000000000000000000000000000000000000000000000000000 3694 00000000000000000000000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3695 FFFF0EC9FFFF0EC9FFFF000000FF000000FF000000FF000000FF000000FF0000 3696 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3697 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3698 00FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3699 FFFF0EC9FFFF0EC9FFFF000000FF000000FF0000000000000000000000000000 3700 0000000000000000000000000000000000000000000000000000000000000000 3701 0000000000000000000000000000000000000000000000000000000000000000 3702 00000000000000000000000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3703 FFFF0EC9FFFF0EC9FFFF000000FF000000FF000000FF000000FF000000FF0000 3704 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3705 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3706 00FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3707 FFFF0EC9FFFF0EC9FFFF000000FF000000FF0000000000000000000000000000 3708 0000000000000000000000000000000000000000000000000000000000000000 3709 0000000000000000000000000000000000000000000000000000000000000000 3710 00000000000000000000000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3711 FFFF0EC9FFFF0EC9FFFF0EC9FFFF000000FF000000FF000000FF000000FF0000 3712 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3713 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3714 00FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3715 FFFF0EC9FFFF0EC9FFFF000000FF000000FF0000000000000000000000000000 3716 0000000000000000000000000000000000000000000000000000000000000000 3717 0000000000000000000000000000000000000000000000000000000000000000 3718 00000000000000000000000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3719 FFFF0EC9FFFF0EC9FFFF0EC9FFFF000000FF000000FF000000FF000000FF0000 3720 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3721 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3722 00FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3723 FFFF0EC9FFFF0EC9FFFF000000FF000000FF0000000000000000000000000000 3724 0000000000000000000000000000000000000000000000000000000000FF0000 3725 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3726 00FF000000FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3727 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF000000FF000000FF000000FF0000 3728 00FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3729 FFFF0EC9FFFF0EC9FFFF000000FF000000FF000000FF000000FF000000FF0000 3730 00FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3731 FFFF0EC9FFFF0EC9FFFF000000FF000000FF000000FF000000FF000000FF0000 3732 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3733 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3734 00FF000000FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3735 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF000000FF000000FF000000FF0000 3736 00FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3737 FFFF0EC9FFFF0EC9FFFF000000FF000000FF000000FF000000FF000000FF0000 3738 00FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3739 FFFF0EC9FFFF0EC9FFFF000000FF000000FF000000FF000000FF000000FF0000 3740 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3741 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3742 00FF000000FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3743 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF000000FF000000FF0000 3744 00FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3745 FFFF0EC9FFFF000000FF000000FF000000FF000000FF000000FF000000FF0EC9 3746 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3747 FFFF0EC9FFFF0EC9FFFF000000FF000000FF000000FF000000FF000000FF0000 3748 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3749 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3750 00FF000000FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3751 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF000000FF000000FF0000 3752 00FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3753 FFFF0EC9FFFF000000FF000000FF000000FF000000FF000000FF000000FF0EC9 3754 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3755 FFFF0EC9FFFF0EC9FFFF000000FF000000FF000000FF000000FF000000FF0000 3756 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000000000 3757 0000000000000000000000000000000000000000000000000000000000000000 3758 00000000000000000000000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3759 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF000000FF0000 3760 00FF000000FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3761 FFFF000000FF000000FF000000FF000000FF000000FF000000FF0EC9FFFF0EC9 3762 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3763 FFFF0EC9FFFF0EC9FFFF000000FF000000FF0000000000000000000000000000 3764 0000000000000000000000000000000000000000000000000000000000000000 3765 0000000000000000000000000000000000000000000000000000000000000000 3766 00000000000000000000000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3767 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF000000FF0000 3768 00FF000000FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3769 FFFF000000FF000000FF000000FF000000FF000000FF000000FF0EC9FFFF0EC9 3770 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3771 FFFF0EC9FFFF0EC9FFFF000000FF000000FF0000000000000000000000000000 3772 0000000000000000000000000000000000000000000000000000000000000000 3773 0000000000000000000000000000000000000000000000000000000000000000 3774 00000000000000000000000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3775 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0000 3776 00FF000000FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3777 FFFF000000FF000000FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9 3778 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3779 FFFF0EC9FFFF0EC9FFFF000000FF000000FF0000000000000000000000000000 3780 0000000000000000000000000000000000000000000000000000000000000000 3781 0000000000000000000000000000000000000000000000000000000000000000 3782 00000000000000000000000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3783 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0000 3784 00FF000000FF000000FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0000 3785 00FF000000FF000000FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9 3786 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3787 FFFF0EC9FFFF0EC9FFFF000000FF000000FF0000000000000000000000000000 3788 0000000000000000000000000000000000000000000000000000000000000000 3789 0000000000000000000000000000000000000000000000000000000000000000 3790 00000000000000000000000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3791 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3792 FFFF000000FF000000FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0000 3793 00FF000000FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3794 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3795 FFFF0EC9FFFF0EC9FFFF000000FF000000FF0000000000000000000000000000 3796 0000000000000000000000000000000000000000000000000000000000000000 3797 0000000000000000000000000000000000000000000000000000000000000000 3798 00000000000000000000000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3799 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3800 FFFF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3801 00FF000000FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3802 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3803 FFFF0EC9FFFF0EC9FFFF000000FF000000FF0000000000000000000000000000 3804 0000000000000000000000000000000000000000000000000000000000000000 3805 0000000000000000000000000000000000000000000000000000000000000000 3806 00000000000000000000000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3807 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3808 FFFF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3809 00FF000000FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3810 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3811 FFFF0EC9FFFF0EC9FFFF000000FF000000FF0000000000000000000000000000 3812 0000000000000000000000000000000000000000000000000000000000000000 3813 0000000000000000000000000000000000000000000000000000000000000000 3814 00000000000000000000000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3815 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3816 FFFF0EC9FFFF000000FF000000FF000000FF000000FF000000FF000000FF0000 3817 00FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3818 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3819 FFFF0EC9FFFF0EC9FFFF000000FF000000FF0000000000000000000000000000 3820 0000000000000000000000000000000000000000000000000000000000000000 3821 0000000000000000000000000000000000000000000000000000000000000000 3822 00000000000000000000000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3823 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3824 FFFF0EC9FFFF000000FF000000FF000000FF000000FF000000FF000000FF0000 3825 00FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3826 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3827 FFFF0EC9FFFF000000FF000000FF000000FF0000000000000000000000000000 3828 0000000000000000000000000000000000000000000000000000000000000000 3829 0000000000000000000000000000000000000000000000000000000000000000 3830 00000000000000000000000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3831 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3832 FFFF0EC9FFFF0EC9FFFF000000FF000000FF000000FF000000FF000000FF0000 3833 00FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3834 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3835 FFFF0EC9FFFF000000FF000000FF000000FF0000000000000000000000000000 3836 0000000000000000000000000000000000000000000000000000000000FF0000 3837 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3838 00FF000000FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3839 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3840 FFFF0EC9FFFF0EC9FFFF000000FF000000FF000000FF000000FF000000FF0000 3841 00FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3842 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3843 FFFF000000FF000000FF000000FF000000000000000000000000000000000000 3844 0000000000000000000000000000000000000000000000000000000000FF0000 3845 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3846 00FF000000FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3847 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3848 FFFF0EC9FFFF0EC9FFFF0EC9FFFF000000FF000000FF000000FF000000FF0000 3849 00FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3850 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3851 FFFF000000FF000000FF000000FF000000000000000000000000000000000000 3852 0000000000000000000000000000000000000000000000000000000000FF0000 3853 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3854 00FF000000FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3855 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3856 FFFF0EC9FFFF0EC9FFFF0EC9FFFF000000FF000000FF000000FF000000FF0000 3857 00FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3858 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3859 FFFF000000FF000000FF00000000000000000000000000000000000000000000 3860 0000000000000000000000000000000000000000000000000000000000FF0000 3861 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3862 00FF000000FF000000FF000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3863 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3864 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF000000FF000000FF000000FF0000 3865 00FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3866 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0000 3867 00FF000000FF000000FF00000000000000000000000000000000000000000000 3868 0000000000000000000000000000000000000000000000000000000000000000 3869 0000000000000000000000000000000000000000000000000000000000000000 3870 00000000000000000000000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3871 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3872 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3873 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3874 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF000000FF0000 3875 00FF000000FF0000000000000000000000000000000000000000000000000000 3876 0000000000000000000000000000000000000000000000000000000000000000 3877 0000000000000000000000000000000000000000000000000000000000000000 3878 00000000000000000000000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3879 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3880 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3881 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3882 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF000000FF000000FF0000 3883 00FF000000000000000000000000000000000000000000000000000000000000 3884 0000000000000000000000000000000000000000000000000000000000000000 3885 0000000000000000000000000000000000000000000000000000000000000000 3886 00000000000000000000000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3887 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3888 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3889 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3890 FFFF0EC9FFFF0EC9FFFF000000FF000000FF000000FF000000FF000000FF0000 3891 0000000000000000000000000000000000000000000000000000000000000000 3892 0000000000000000000000000000000000000000000000000000000000000000 3893 0000000000000000000000000000000000000000000000000000000000000000 3894 00000000000000000000000000FF000000FF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3895 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3896 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3897 FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9FFFF0EC9 3898 FFFF000000FF000000FF000000FF000000FF000000FF000000FF000000000000 3899 0000000000000000000000000000000000000000000000000000000000000000 3900 0000000000000000000000000000000000000000000000000000000000000000 3901 0000000000000000000000000000000000000000000000000000000000000000 3902 00000000000000000000000000FF000000FF000000FF000000FF000000FF0000 3903 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3904 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3905 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3906 00FF000000FF000000FF000000FF000000FF0000000000000000000000000000 3907 0000000000000000000000000000000000000000000000000000000000000000 3908 0000000000000000000000000000000000000000000000000000000000000000 3909 0000000000000000000000000000000000000000000000000000000000000000 3910 00000000000000000000000000FF000000FF000000FF000000FF000000FF0000 3911 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3912 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3913 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3914 00FF000000FF000000FF00000000000000000000000000000000000000000000 3915 0000000000000000000000000000000000000000000000000000000000000000 3916 0000000000000000000000000000000000000000000000000000000000000000 3917 0000000000000000000000000000000000000000000000000000000000000000 3918 0000000000000000000000000000000000000000000000000000000000000000 3919 0000000000000000000000000000000000000000000000000000000000000000 3920 0000000000000000000000000000000000000000000000000000000000000000 3921 0000000000000000000000000000000000000000000000000000000000000000 3922 0000000000000000000000000000000000000000000000000000000000000000 3923 0000000000000000000000000000000000000000000000000000000000000000 3924 0000000000000000000000000000000000000000000000000000000000000000 3925 0000000000000000000000000000000000000000000000000000000000000000 3926 0000000000000000000000000000000000000000000000000000000000000000 3927 0000000000000000000000000000000000000000000000000000000000000000 3928 0000000000000000000000000000000000000000000000000000000000000000 3929 0000000000000000000000000000000000000000000000000000000000000000 3930 0000000000000000000000000000000000000000000000000000000000000000 3931 0000000000000000000000000000000000000000000000000000000000000000 3932 0000000000000000000000000000000000000000000000000000000000000000 3933 0000000000000000000000000000000000000000000000000000000000000000 3934 0000000000000000000000000000000000000000000000000000000000000000 3935 0000000000000000000000000000000000000000000000000000000000000000 3936 0000000000000000000000000000000000000000000000000000000000000000 3937 0000000000000000000000000000000000000000000000000000000000000000 3938 0000000000000000000000000000000000000000000000000000000000000000 3939 0000000000000000000000000000000000000000000000000000000000000000 3940 0000000000000000000000000000000000000000000000000000000000000000 3941 0000000000000000000000000000000000000000000000000000000000000000 3942 0000000000000000000000000000000000000000000000000000000000000000 3943 0000000000000000000000000000000000000000000000000000000000000000 3944 0000000000000000000000000000000000000000000000000000000000000000 3945 0000000000000000000000000000000000000000000000000000000000000000 3946 0000000000000000000000000000000000000000000000000000000000000000 3947 0000000000000000000000000000000000000000000000000000000000000000 3948 0000000000000000000000000000000000000000000000000000000000000000 3949 0000000000000000000000000000000000000000000000000000000000000000 3950 0000000000000000000000000000000000000000000000000000000000000000 3951 0000000000000000000000000000000000000000000000000000000000000000 3952 0000000000000000000000000000000000000000000000000000000000000000 3953 0000000000000000000000000000000000000000000000000000000000000000 3954 0000000000000000000000000000000000000000000000000000000000000000 3955 0000000000000000000000000000000000000000000000000000000000000000 3956 0000000000000000000000000000000000000000000000000000000000000000 3957 0000000000000000000000000000000000000000000000000000000000000000 3958 0000000000000000000000000000000000000000000000000000000000000000 3959 0000000000000000000000000000000000000000000000000000000000000000 3960 0000000000000000000000000000000000000000000000000000000000000000 3961 0000000000000000000000000000000000000000000000000000000000000000 3962 0000000000000000000000000000000000000000000000000000000000000000 3963 0000000000000000000000000000000000000000000000000000000000000000 3964 0000000000000000000000000000000000000000000000000000000000000000 3965 0000000000000000000000000000000000000000000000000000000000000000 3966 0000000000000000000000000000000000000000000000000000000000000000 3967 0000000000000000000000000000000000000000000000000000000000000000 3968 0000000000000000000000000000000000000000000000000000000000000000 3969 0000000000000000000000000000000000000000000000000000000000000000 3970 0000000000000000000000000000000000000000000000000000000000000000 3971 0000000000000000000000000000000000000000000000000000000000000000 3972 0000000000000000000000000000000000000000000000000000000000000000 3973 0000000000000000000000000000000000000000000000000000000000000000 3974 0000000000000000000000000000000000000000000000000000000000000000 3975 0000000000000000000000000000000000000000000000000000000000000000 3976 0000000000000000000000000000000000000000000000000000000000000000 3977 0000000000000000000000000000000000000000000000000000000000000000 3978 0000000000000000000000000000000000000000000000000000000000000000 3979 0000000000000000000000000000000000000000000000000000000000000000 3980 0000000000000000000000000000000000000000000000000000000000000000 3981 0000000000000000000000000000000000000000000000000000000000000000 3982 0000000000000000000000000000000000000000000000000000000000000000 3983 0000000000000000000000000000000000000000000000000000000000000000 3984 0000000000000000000000000000000000000000000000000000000000000000 3985 0000000000000000000000000000000000000000000000000000000000000000 3986 0000000000000000000000000000000000000000000000000000000000000000 3987 0000000000000000000000000000000000000000000000000000000000000000 3988 0000000000000000000000000000000000000000000000000000000000000000 3989 0000000000000000000000000000000000000000000000000000000000000000 3990 0000000000000000000000000000000000000000000000000000000000000000 3991 0000000000000000000000000000000000000000000000000000000000000000 3992 0000000000000000000000000000000000000000000000000000000000000000 3993 0000000000000000000000000000000000000000000000000000000000000000 3994 0000000000000000000000000000000000000000000000000000000000000000 3995 0000000000000000000000000000000000000000000000000000000000000000 3996 0000000000000000000000000000000000000000000000000000 3997 } 3998 Left = 115 3999 Top = 48 4000 end 4001 object ThemeManager: TThemeManager 4002 Left = 290 4003 Top = 52 3484 4004 end 3485 4005 end -
trunk/UCore.pas
r200 r207 6 6 7 7 uses 8 Classes, SysUtils, FileUtil, UAcronym, U CoolTranslator, UPersistentForm,8 Classes, SysUtils, FileUtil, UAcronym, UTranslator, UPersistentForm, 9 9 UJobProgressView, UScaleDPI, Forms, Controls, ExtCtrls, Menus, LazFileUtils, 10 URegistry, UApplicationInfo, Registry, UTheme ;10 URegistry, UApplicationInfo, Registry, UTheme, UAboutDialog; 11 11 12 12 type … … 16 16 TCore = class(TDataModule) 17 17 ApplicationInfo1: TApplicationInfo; 18 CoolTranslator1: TCoolTranslator; 18 ThemeManager: TThemeManager; 19 Translator: TTranslator; 19 20 ImageList1: TImageList; 20 21 ImageListLarge: TImageList; … … 31 32 ScaleDPI1: TScaleDPI; 32 33 TrayIcon1: TTrayIcon; 33 procedure CoolTranslator1Translate(Sender: TObject);34 procedure TranslatorTranslate(Sender: TObject); 34 35 procedure DataModuleCreate(Sender: TObject); 35 36 procedure DataModuleDestroy(Sender: TObject); … … 48 49 InitializeStarted: Boolean; 49 50 InitializeFinished: Boolean; 50 ThemeManager: TThemeManager;51 51 procedure Initialize; 52 52 procedure LoadConfig; … … 87 87 InitializeFinished := False; 88 88 StoredDimension := TControlDimension.Create; 89 ThemeManager := TThemeManager.Create(nil);90 89 end; 91 90 92 91 procedure TCore.DataModuleDestroy(Sender: TObject); 93 92 begin 94 FreeAndNil(ThemeManager);95 93 FreeAndNil(StoredDimension); 96 94 FreeAndNil(AcronymDb); … … 103 101 end; 104 102 105 procedure TCore. CoolTranslator1Translate(Sender: TObject);103 procedure TCore.TranslatorTranslate(Sender: TObject); 106 104 begin 107 105 UAcronym.Translate; … … 211 209 ScaleDPI1.AutoDetect := ReadBoolWithDefault('DPIAuto', True); 212 210 if ValueExists('LanguageCode') then 213 CoolTranslator1.Language := CoolTranslator1.Languages.SearchByCode(ReadStringWithDefault('LanguageCode', ''))214 else CoolTranslator1.Language := CoolTranslator1.Languages.SearchByCode('');211 Translator.Language := Translator.Languages.SearchByCode(ReadStringWithDefault('LanguageCode', '')) 212 else Translator.Language := Translator.Languages.SearchByCode(''); 215 213 AlwaysOnTop := ReadBoolWithDefault('AlwaysOnTop', False); 216 214 StartMinimizedToTray := ReadBoolWithDefault('StartMinimizedToTray', False); … … 233 231 WriteInteger('DPIY', ScaleDPI1.DPI.Y); 234 232 WriteBool('DPIAuto', ScaleDPI1.AutoDetect); 235 if Assigned( CoolTranslator1.Language) and (CoolTranslator1.Language.Code <> '') then236 WriteString('LanguageCode', CoolTranslator1.Language.Code)233 if Assigned(Translator.Language) and (Translator.Language.Code <> '') then 234 WriteString('LanguageCode', Translator.Language.Code) 237 235 else DeleteValue('LanguageCode'); 238 236 WriteBool('AlwaysOnTop', AlwaysOnTop);
Note:
See TracChangeset
for help on using the changeset viewer.