diff --git a/ABTool.lpr b/ABTool.lpr index 4a9a49f..8d09071 100644 --- a/ABTool.lpr +++ b/ABTool.lpr @@ -12,7 +12,8 @@ uses {$IFDEF UNIX} {$IFDEF UseCThreads} uFileUtils, uPackage, uPackageUtils, - uPackageList, fOptions; + uPackageList, + fOptions; {$R *.res} @@ -20,8 +21,7 @@ begin RequireDerivedFormResource := True; Application.Initialize; Application.CreateForm(TdmMain, dmMain); - Application.CreateForm(TfmMain, fMain.fmMain); - Application.CreateForm(TfmOptions, fmOptions); + Application.CreateForm(TfmMain, fmMain); Application.Run; end. diff --git a/LICENSE b/LICENSE index a75178e..7466051 100644 --- a/LICENSE +++ b/LICENSE @@ -10,7 +10,7 @@ THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR I Лицензия MIT -Copyright (C) 2019 Аксенов Антон +Copyright (c) 2019 Аксенов Антон Данная лицензия разрешает лицам, получившим копию данного программного обеспечения и сопутствующей документации (в дальнейшем именуемыми «Программное Обеспечение»), безвозмездно использовать Программное Обеспечение без ограничений, включая неограниченное право на использование, копирование, изменение, слияние, публикацию, распространение, сублицензирование и/или продажу копий Программного Обеспечения, а также лицам, которым предоставляется данное Программное Обеспечение, при соблюдении следующих условий: diff --git a/dmain.lfm b/dmain.lfm index be773da..9342fab 100644 --- a/dmain.lfm +++ b/dmain.lfm @@ -3729,7 +3729,6 @@ object dmMain: TdmMain end object mbCheckInvert: TMenuItem Caption = 'Инвертировать' - Enabled = False Bitmap.Data = { 36040000424D3604000000000000360000002800000010000000100000000100 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF @@ -3813,7 +3812,7 @@ object dmMain: TdmMain end object mbOptions: TMenuItem Caption = 'Настройки' - object mbOptonsMain: TMenuItem + object mbOptionsMain: TMenuItem Caption = 'Основные...' Bitmap.Data = { 36040000424D3604000000000000360000002800000010000000100000000100 @@ -3852,7 +3851,7 @@ object dmMain: TdmMain BF63FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 } ImageIndex = 4 - OnClick = mbOptonsMainClick + OnClick = mbOptionsMainClick end object mbOptionsPkg: TMenuItem Caption = 'Управление пакетами...' @@ -3893,6 +3892,7 @@ object dmMain: TdmMain D631FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 } ImageIndex = 103 + OnClick = mbOptionsPkgClick end end object mbHelp: TMenuItem @@ -3978,6 +3978,7 @@ object dmMain: TdmMain FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 } ImageIndex = 56 + OnClick = mbAboutClick end end end diff --git a/dmain.pas b/dmain.pas index 9eca5e2..7753c32 100644 --- a/dmain.pas +++ b/dmain.pas @@ -5,8 +5,8 @@ unit dMain; interface uses - Classes, SysUtils, FileUtil, Controls, Menus, VirtualTrees, uPackage, - uPackageList, fOptions; + Classes, SysUtils, FileUtil, Controls, Menus, Forms, PopupNotifier, + VirtualTrees, uPackage, uPackageList, fOptions; type @@ -33,16 +33,18 @@ type mbHelp: TMenuItem; mbOnlineHelp: TMenuItem; mbAbout: TMenuItem; - mbOptonsMain: TMenuItem; + mbOptionsMain: TMenuItem; mbOptionsPkg: TMenuItem; pmInstallTree: TPopupMenu; pmInstallCheck: TPopupMenu; procedure DataModuleCreate(Sender: TObject); + procedure mbAboutClick(Sender: TObject); procedure mbCheckAllClick(Sender: TObject); procedure mbCheckNoneClick(Sender: TObject); procedure mbCollapseTreeClick(Sender: TObject); procedure mbExpandTreeClick(Sender: TObject); - procedure mbOptonsMainClick(Sender: TObject); + procedure mbOptionsMainClick(Sender: TObject); + procedure mbOptionsPkgClick(Sender: TObject); procedure mbRefreshClick(Sender: TObject); private // Подготовка директорий @@ -90,6 +92,16 @@ begin PrepareDirs(); PreparePackages(); end; + +procedure TdmMain.mbAboutClick(Sender: TObject); +var + fmOptions: TfmOptions; +begin + fmOptions := TfmOptions.Create(fmMain); + fmOptions.PageControl.ActivePageIndex := 2; + fmOptions.ShowModal; +end; + {------------------------------------------------------------------------------ Конструктор: TdmMain.SetVSTCheckState() @@ -176,11 +188,6 @@ begin end; end; -procedure TdmMain.mbOptonsMainClick(Sender: TObject); -begin - fmOptions.ShowModal; -end; - {------------------------------------------------------------------------------ Процедура: TdmMain.mbRefreshClick() Назначение: Обновление списка пакетов и дерева на активной вкладке главного окна @@ -222,6 +229,23 @@ begin SoftPackages.Load(ptSoft); ToolsPackages := TPackageList.Create; ToolsPackages.Load(ptTools); +end; + +procedure TdmMain.mbOptionsMainClick(Sender: TObject); +var + fmOptions: TfmOptions; +begin + fmOptions := TfmOptions.Create(fmMain); + fmOptions.ShowModal; +end; + +procedure TdmMain.mbOptionsPkgClick(Sender: TObject); +var + fmOptions: TfmOptions; +begin + fmOptions := TfmOptions.Create(fmMain); + fmOptions.PageControl.ActivePageIndex := 1; + fmOptions.ShowModal; end; end. diff --git a/fmain.lfm b/fmain.lfm index 7a994d8..c016d7d 100644 --- a/fmain.lfm +++ b/fmain.lfm @@ -1,7 +1,7 @@ object fmMain: TfmMain Left = 301 Height = 450 - Top = 85 + Top = 108 Width = 350 BorderIcons = [biSystemMenu, biMinimize] Caption = 'ABTool' @@ -13,7 +13,7 @@ object fmMain: TfmMain Constraints.MinWidth = 350 Font.CharSet = RUSSIAN_CHARSET Font.Height = -11 - Font.Name = 'Microsoft Sans Serif' + Font.Name = 'Tahoma' Font.Pitch = fpVariable Font.Quality = fqDraft Icon.Data = { @@ -3222,19 +3222,18 @@ object fmMain: TfmMain Width = 350 ActivePage = tabSoft Align = alClient - TabHeight = 20 TabIndex = 0 TabOrder = 0 TabWidth = 86 OnChange = PageControlChange object tabSoft: TTabSheet Caption = 'Установка' - ClientHeight = 402 + ClientHeight = 404 ClientWidth = 342 ImageIndex = 104 object vstSoftPkgContents: TVirtualStringTree Left = 0 - Height = 299 + Height = 301 Top = 62 Width = 342 Align = alClient @@ -3396,13 +3395,13 @@ object fmMain: TfmMain object btnSoftStart: TButton Left = 0 Height = 38 - Top = 364 + Top = 366 Width = 342 Align = alBottom Caption = 'Приступить к установке' Font.CharSet = RUSSIAN_CHARSET Font.Height = -16 - Font.Name = 'Microsoft Sans Serif' + Font.Name = 'Tahoma' Font.Pitch = fpVariable Font.Quality = fqDraft ParentFont = False @@ -3411,7 +3410,7 @@ object fmMain: TfmMain end object tabTools: TTabSheet Caption = 'Утилиты' - ClientHeight = 402 + ClientHeight = 400 ClientWidth = 342 ImageIndex = 62 object edToolsSearch: TEdit @@ -3557,7 +3556,7 @@ object fmMain: TfmMain end object vstToolsPkgContents: TVirtualStringTree Left = 0 - Height = 340 + Height = 338 Top = 62 Width = 342 Align = alClient diff --git a/foptions.lfm b/foptions.lfm index f0275be..b102c81 100644 --- a/foptions.lfm +++ b/foptions.lfm @@ -1,16 +1,16 @@ object fmOptions: TfmOptions - Left = 401 - Height = 448 - Top = 132 - Width = 349 + Left = 656 + Height = 450 + Top = 109 + Width = 350 BorderIcons = [biSystemMenu] BorderStyle = bsDialog Caption = 'ABTool - Настройки' - ClientHeight = 448 - ClientWidth = 349 + ClientHeight = 450 + ClientWidth = 350 Font.CharSet = RUSSIAN_CHARSET Font.Height = -11 - Font.Name = 'Microsoft Sans Serif' + Font.Name = 'Tahoma' Font.Pitch = fpVariable Font.Quality = fqDraft Icon.Data = { @@ -3215,33 +3215,34 @@ object fmOptions: TfmOptions Left = 0 Height = 416 Top = 0 - Width = 349 + Width = 350 ActivePage = tabCommon Align = alTop TabIndex = 0 TabOrder = 0 + TabWidth = 86 object tabCommon: TTabSheet Caption = 'Общие' ClientHeight = 390 - ClientWidth = 341 - object GroupBox1: TGroupBox - Left = 2 - Height = 147 - Top = 5 - Width = 337 + ClientWidth = 342 + object grpOptInstall: TGroupBox + Left = 5 + Height = 171 + Top = 131 + Width = 332 Align = alTop - BorderSpacing.Left = 2 + BorderSpacing.Left = 5 BorderSpacing.Top = 5 - BorderSpacing.Right = 2 + BorderSpacing.Right = 5 Caption = 'Вкладка «Установка»' - ClientHeight = 129 - ClientWidth = 333 + ClientHeight = 153 + ClientWidth = 328 TabOrder = 0 - object CheckBox1: TCheckBox + object cbChkExitCodes: TCheckBox Left = 5 Height = 19 Top = 5 - Width = 323 + Width = 318 Align = alTop AutoSize = False BorderSpacing.Left = 5 @@ -3250,11 +3251,11 @@ object fmOptions: TfmOptions Caption = 'Немедленно сообщать о коде возврата <> 0' TabOrder = 0 end - object CheckBox2: TCheckBox + object cbDntUnChkItems: TCheckBox Left = 5 Height = 19 Top = 29 - Width = 323 + Width = 318 Align = alTop AutoSize = False BorderSpacing.Left = 5 @@ -3263,11 +3264,11 @@ object fmOptions: TfmOptions Caption = 'Не снимать отметку с чекбокса при коде возврата <> 0' TabOrder = 1 end - object CheckBox3: TCheckBox + object cbShowProgress: TCheckBox Left = 5 Height = 19 Top = 77 - Width = 323 + Width = 318 Align = alTop AutoSize = False BorderSpacing.Left = 5 @@ -3276,24 +3277,24 @@ object fmOptions: TfmOptions Caption = 'Отображать общий ход установки программ' TabOrder = 2 end - object CheckBox4: TCheckBox + object cbColorSoftTree: TCheckBox Left = 5 Height = 19 Top = 53 - Width = 323 + Width = 318 Align = alTop AutoSize = False BorderSpacing.Left = 5 BorderSpacing.Top = 5 BorderSpacing.Right = 5 - Caption = 'Раскрашивать список програм после установки' + Caption = 'Раскрашивать список программ после установки' TabOrder = 3 end - object CheckBox5: TCheckBox + object cbQuietREG: TCheckBox Left = 5 Height = 19 Top = 101 - Width = 323 + Width = 318 Align = alTop AutoSize = False BorderSpacing.Left = 5 @@ -3302,99 +3303,121 @@ object fmOptions: TfmOptions Caption = 'Тихий импорт REG-файлов' TabOrder = 4 end + object cbExpandSoft: TCheckBox + Left = 5 + Height = 19 + Top = 125 + Width = 318 + Align = alTop + AutoSize = False + BorderSpacing.Left = 5 + BorderSpacing.Top = 5 + BorderSpacing.Right = 5 + Caption = 'Раскрывать дерево после загрузки пакета' + TabOrder = 5 + end end - object GroupBox2: TGroupBox - Left = 2 + object grpOptTools: TGroupBox + Left = 5 Height = 73 - Top = 157 - Width = 337 + Top = 307 + Width = 332 Align = alTop - BorderSpacing.Left = 2 + BorderSpacing.Left = 5 BorderSpacing.Top = 5 - BorderSpacing.Right = 2 + BorderSpacing.Right = 5 Caption = 'Вкладка «Утилиты»' ClientHeight = 55 - ClientWidth = 333 + ClientWidth = 328 TabOrder = 1 - object CheckBox6: TCheckBox + object cbHideOnTool: TCheckBox Left = 5 Height = 19 Top = 5 - Width = 323 + Width = 318 Align = alTop AutoSize = False BorderSpacing.Left = 5 BorderSpacing.Top = 5 BorderSpacing.Right = 5 - Caption = 'Немедленно сообщать о коде возврата <> 0' + Caption = 'Скрывать главное окно при запуске утилит' TabOrder = 0 end - object CheckBox7: TCheckBox + object cbExpandTools: TCheckBox Left = 5 Height = 19 Top = 29 - Width = 323 + Width = 318 Align = alTop AutoSize = False BorderSpacing.Left = 5 BorderSpacing.Top = 5 BorderSpacing.Right = 5 - Caption = 'Не снимать отметку с чекбокса при коде возврата <> 0' + Caption = 'Раскрывать дерево после загрузки пакета' TabOrder = 1 end end - end - object tabUI: TTabSheet - Caption = 'Интерфейс' - ClientHeight = 390 - ClientWidth = 341 - object CheckBox8: TCheckBox + object grpOptMainform: TGroupBox Left = 5 - Height = 19 - Top = 77 - Width = 331 - Align = alTop - BorderSpacing.Left = 5 - BorderSpacing.Top = 5 - BorderSpacing.Right = 5 - Caption = 'Рисовать линии при отрисовке деревьев' - TabOrder = 0 - end - object CheckBox9: TCheckBox - Left = 5 - Height = 19 - Top = 29 - Width = 331 - Align = alTop - BorderSpacing.Left = 5 - BorderSpacing.Top = 5 - BorderSpacing.Right = 5 - Caption = 'Прилипание окон к краям экрана' - TabOrder = 1 - end - object CheckBox10: TCheckBox - Left = 5 - Height = 19 + Height = 121 Top = 5 - Width = 331 + Width = 332 Align = alTop BorderSpacing.Left = 5 BorderSpacing.Top = 5 BorderSpacing.Right = 5 - Caption = 'Поверх всех окон' + Caption = 'Главное окно' + ClientHeight = 103 + ClientWidth = 328 TabOrder = 2 - end - object CheckBox11: TCheckBox - Left = 5 - Height = 19 - Top = 53 - Width = 331 - Align = alTop - BorderSpacing.Left = 5 - BorderSpacing.Top = 5 - BorderSpacing.Right = 5 - Caption = 'Показывать описания пакетов' - TabOrder = 3 + object cbOnTop: TCheckBox + Left = 5 + Height = 19 + Top = 77 + Width = 318 + Align = alTop + BorderSpacing.Left = 5 + BorderSpacing.Top = 5 + BorderSpacing.Right = 5 + Caption = 'Поверх всех окон' + TabOrder = 0 + end + object cbDrawOutlines: TCheckBox + Left = 5 + Height = 19 + Top = 53 + Width = 318 + Align = alTop + BorderSpacing.Left = 5 + BorderSpacing.Top = 5 + BorderSpacing.Right = 5 + Caption = 'Рисовать линии при отрисовке деревьев' + TabOrder = 1 + end + object cbShowPkgDesc: TCheckBox + Left = 5 + Height = 19 + Top = 29 + Width = 318 + Align = alTop + BorderSpacing.Left = 5 + BorderSpacing.Top = 5 + BorderSpacing.Right = 5 + Caption = 'Показывать описания пакетов' + TabOrder = 2 + end + object cbScreenSnap: TCheckBox + Left = 5 + Height = 19 + Top = 5 + Width = 318 + Align = alTop + BorderSpacing.Left = 5 + BorderSpacing.Top = 5 + BorderSpacing.Right = 5 + Caption = 'Прилипание к краям экрана' + TabOrder = 3 + end end end object tabPackages: TTabSheet @@ -3403,11 +3426,12 @@ object fmOptions: TfmOptions object tabAbout: TTabSheet Caption = 'О программе' ClientHeight = 390 - ClientWidth = 341 + ClientWidth = 342 + OnContextPopup = tabAboutContextPopup object imgLogo: TImage - Left = 4 + Left = 147 Height = 48 - Top = 8 + Top = 12 Width = 48 AutoSize = True Picture.Data = { @@ -3567,124 +3591,165 @@ object fmOptions: TfmOptions } Transparent = True end - object Label1: TLabel - Left = 64 + object labAboutTitle: TLabel + Left = 115 Height = 19 - Top = 12 - Width = 104 + Top = 68 + Width = 113 Caption = 'ABTool v0.7.1' Font.CharSet = RUSSIAN_CHARSET Font.Height = -16 - Font.Name = 'Arial' + Font.Name = 'Tahoma' Font.Pitch = fpVariable Font.Quality = fqDraft Font.Style = [fsBold] ParentColor = False ParentFont = False end - object Label2: TLabel - Left = 64 + object labCopyright: TLabel + Left = 109 Height = 13 - Top = 43 - Width = 71 - Caption = 'Что нового:' + Top = 368 + Width = 124 + Caption = 'Anthony Axenov (c) 2019' Font.CharSet = RUSSIAN_CHARSET Font.Height = -11 - Font.Name = 'Microsoft Sans Serif' + Font.Name = 'Tahoma' Font.Pitch = fpVariable Font.Quality = fqDraft - Font.Style = [fsBold] ParentColor = False ParentFont = False end - object mmAbout: TMemo - Left = 4 - Height = 284 - Top = 64 - Width = 336 + object btnCheckUpdates: TButton + Left = 105 + Height = 25 + Top = 208 + Width = 132 + Caption = 'Проверить обновления' + TabOrder = 0 + end + object btnChangelog: TButton + Left = 105 + Height = 25 + Hint = 'Откроется браузер по умолчанию' + Top = 236 + Width = 132 + Caption = 'Список изменений' + TabOrder = 1 + end + object btnBugReport: TButton + Left = 105 + Height = 25 + Hint = 'Откроется браузер по умолчанию' + Top = 264 + Width = 132 + Caption = 'Сообщить об ошибке' + TabOrder = 2 + end + object btnOnlineHelp: TButton + Left = 105 + Height = 25 + Top = 304 + Width = 132 + Caption = 'Онлайн-справка' + TabOrder = 3 + end + object btnLicense: TButton + Left = 105 + Height = 25 + Top = 332 + Width = 132 + Caption = 'Лицензия' + TabOrder = 4 + end + object labDescription: TLabel + Left = 27 + Height = 88 + Top = 104 + Width = 288 + Alignment = taCenter + AutoSize = False + Caption = 'ABTool упростит установку программ на любой компьютер, избавляя от поисков инсталляторов на носителях. Обеспечит быстрый запуск ваших portable-утилит для диагностики и настройки ОС. Отображает информацию о системе. Ведёт подробный лог всех операций.' + ParentColor = False + WordWrap = True + end + end + object tabLicense: TTabSheet + Caption = 'Лицензия' + ClientHeight = 390 + ClientWidth = 342 + object mmLicenseText: TMemo + Left = 0 + Height = 390 + Top = 0 + Width = 342 + Align = alClient BorderStyle = bsNone + Font.CharSet = RUSSIAN_CHARSET + Font.Height = -11 + Font.Name = 'Lucida Sans Unicode' + Font.Pitch = fpVariable + Font.Quality = fqDraft + Lines.Strings = ( + 'The MIT License (MIT)' + '' + 'Copyright (c) 2019 Anthony Axenov' + '' + 'Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:' + '' + 'The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.' + '' + 'THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.' + '' + 'Лицензия MIT' + '' + 'Copyright (c) 2019 Аксенов Антон' + '' + 'Данная лицензия разрешает лицам, получившим копию данного программного обеспечения и сопутствующей документации (в дальнейшем именуемыми «Программное Обеспечение»), безвозмездно использовать Программное Обеспечение без ограничений, включая неограниченное право на использование, копирование, изменение, слияние, публикацию, распространение, сублицензирование и/или продажу копий Программного Обеспечения, а также лицам, которым предоставляется данное Программное Обеспечение, при соблюдении следующих условий:' + '' + 'Указанное выше уведомление об авторском праве и данные условия должны быть включены во все копии или значимые части данного Программного Обеспечения.' + '' + 'ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ ГАРАНТИИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И ОТСУТСТВИЯ НАРУШЕНИЙ, НО НЕ ОГРАНИЧИВАЯСЬ ИМИ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО КАКИМ-ЛИБО ИСКАМ, ЗА УЩЕРБ ИЛИ ПО ИНЫМ ТРЕБОВАНИЯМ, В ТОМ ЧИСЛЕ, ПРИ ДЕЙСТВИИ КОНТРАКТА, ДЕЛИКТЕ ИЛИ ИНОЙ СИТУАЦИИ, ВОЗНИКШИМ ИЗ-ЗА ИСПОЛЬЗОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫХ ДЕЙСТВИЙ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.' + ) + ParentFont = False + ReadOnly = True ScrollBars = ssVertical TabOrder = 0 end - object Label3: TLabel - Left = 304 - Height = 13 - Top = 372 - Width = 33 - Caption = 'GitHub' - ParentColor = False - end - object Label4: TLabel - Left = 248 - Height = 13 - Top = 372 - Width = 45 - Caption = 'Веб-сайт' - ParentColor = False - end - object Label5: TLabel - Left = 4 - Height = 13 - Top = 372 - Width = 83 - Caption = 'Онлайн-справка' - ParentColor = False - end - object Label6: TLabel - Left = 4 - Height = 13 - Top = 352 - Width = 107 - Caption = 'Сообщить об ошибке' - ParentColor = False - end - object Label7: TLabel - Left = 217 - Height = 13 - Top = 352 - Width = 120 - Caption = 'Anthony Axenov (c) 2019' - Font.CharSet = RUSSIAN_CHARSET - Font.Color = clSilver - Font.Height = -11 - Font.Name = 'Microsoft Sans Serif' - Font.Pitch = fpVariable - Font.Quality = fqDraft - ParentColor = False - ParentFont = False - end - object Label8: TLabel - Left = 217 - Height = 13 - Top = 16 - Width = 118 - Caption = 'Проверить обновления' - ParentColor = False - end end end - object Button3: TButton - Left = 268 + object btnClose: TButton + Left = 272 Height = 25 Top = 420 Width = 75 - Caption = 'Button3' + Anchors = [akTop, akRight] + Caption = 'Закрыть' + OnClick = btnCloseClick TabOrder = 1 end - object Button2: TButton - Left = 108 + object btnSave: TButton + Left = 109 Height = 25 Top = 420 - Width = 127 - Caption = 'Button2' + Width = 132 + Anchors = [akTop, akLeft, akRight] + Caption = 'Сохранить' + Font.CharSet = RUSSIAN_CHARSET + Font.Height = -11 + Font.Name = 'Tahoma' + Font.Pitch = fpVariable + Font.Quality = fqDraft + Font.Style = [fsBold] + ParentFont = False TabOrder = 2 end - object Button1: TButton + object btnSetDefault: TButton Left = 4 Height = 25 Top = 420 Width = 75 - Caption = 'Button1' + Caption = 'Сброс' TabOrder = 3 end end diff --git a/foptions.pas b/foptions.pas index 8f88f42..c50e266 100644 --- a/foptions.pas +++ b/foptions.pas @@ -6,45 +6,50 @@ interface uses Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ButtonPanel, - ComCtrls, ExtCtrls, StdCtrls, Menus; + ComCtrls, ExtCtrls, StdCtrls, Menus, Types; type { TfmOptions } TfmOptions = class(TForm) - Button1: TButton; - Button2: TButton; - Button3: TButton; - CheckBox1: TCheckBox; - CheckBox10: TCheckBox; - CheckBox11: TCheckBox; - CheckBox2: TCheckBox; - CheckBox3: TCheckBox; - CheckBox4: TCheckBox; - CheckBox5: TCheckBox; - CheckBox6: TCheckBox; - CheckBox7: TCheckBox; - CheckBox8: TCheckBox; - CheckBox9: TCheckBox; - GroupBox1: TGroupBox; - GroupBox2: TGroupBox; + btnSetDefault: TButton; + btnSave: TButton; + btnClose: TButton; + btnCheckUpdates: TButton; + btnChangelog: TButton; + btnBugReport: TButton; + btnOnlineHelp: TButton; + btnLicense: TButton; + cbChkExitCodes: TCheckBox; + cbDntUnChkItems: TCheckBox; + cbExpandSoft: TCheckBox; + cbExpandTools: TCheckBox; + cbShowProgress: TCheckBox; + cbColorSoftTree: TCheckBox; + cbOnTop: TCheckBox; + cbShowPkgDesc: TCheckBox; + cbQuietREG: TCheckBox; + cbHideOnTool: TCheckBox; + cbDrawOutlines: TCheckBox; + cbScreenSnap: TCheckBox; + grpOptMainform: TGroupBox; + grpOptInstall: TGroupBox; + grpOptTools: TGroupBox; imgLogo: TImage; - Label1: TLabel; - Label2: TLabel; - Label3: TLabel; - Label4: TLabel; - Label5: TLabel; - Label6: TLabel; - Label7: TLabel; - Label8: TLabel; - mmAbout: TMemo; + labAboutTitle: TLabel; + labCopyright: TLabel; + labDescription: TLabel; + mmLicenseText: TMemo; PageControl: TPageControl; tabCommon: TTabSheet; - tabUI: TTabSheet; tabPackages: TTabSheet; tabAbout: TTabSheet; + tabLicense: TTabSheet; + procedure btnCloseClick(Sender: TObject); procedure FormCreate(Sender: TObject); + procedure tabAboutContextPopup(Sender: TObject; MousePos: TPoint; + var Handled: Boolean); private public @@ -65,5 +70,16 @@ begin end; +procedure TfmOptions.btnCloseClick(Sender: TObject); +begin + Self.Destroy; +end; + +procedure TfmOptions.tabAboutContextPopup(Sender: TObject; MousePos: TPoint; + var Handled: Boolean); +begin + +end; + end.