НАСТРОЙКИ
Отображение формы настроек переделано. Теперь она создаётся только 1 раз при первом вызове. Добавлен выпадающий списк для выбора локализаций. Кнопка сброса к дефолту изменена. Чтение настроек из abtool.ini (кроме локализаций). Сброс контроллов к актуальным настройкам при каждом показе формы настроек. Считанные настройки хранятся в глобальной переменной внутри uOptions. Таким образом: - исключены циклические ссылки с участием dMain ради доступа к настройкам - теперь можно только вызвать конструктор TOptions, а сам созданный объект нигде не сохранять: объект GlobalOptions уже будет доступен Новая функция dMain.GetLocalesIniFileList для получения списка файлов локализаций. Обновлены ini-файлы. Мелочи по оформлению кода.
This commit is contained in:
parent
e968856a55
commit
685274a356
@ -75,7 +75,7 @@
|
||||
<PackageName Value="LCL"/>
|
||||
</Item2>
|
||||
</RequiredPackages>
|
||||
<Units Count="8">
|
||||
<Units Count="9">
|
||||
<Unit0>
|
||||
<Filename Value="ABTool.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
@ -120,9 +120,15 @@
|
||||
<Filename Value="foptions.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="fmOptions"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="fOptions"/>
|
||||
</Unit7>
|
||||
<Unit8>
|
||||
<Filename Value="uoptions.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="uOptions"/>
|
||||
</Unit8>
|
||||
</Units>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
|
@ -13,7 +13,8 @@ uses {$IFDEF UNIX} {$IFDEF UseCThreads}
|
||||
uPackage,
|
||||
uPackageUtils,
|
||||
uPackageList,
|
||||
fOptions;
|
||||
fOptions,
|
||||
uOptions;
|
||||
|
||||
{$R *.res}
|
||||
|
||||
|
187
ABTool/Languages/DEBUG.lng
Normal file
187
ABTool/Languages/DEBUG.lng
Normal file
@ -0,0 +1,187 @@
|
||||
; Author: AnthonyAxenov, anthonysoprano.93@gmail.com, abtool.ru
|
||||
; Date: 20:11 20.05.2015
|
||||
[Info]
|
||||
; Language name - required
|
||||
Name=DEBUG
|
||||
; ABTool version — required
|
||||
ABToolVer=0.8.0
|
||||
|
||||
[Main]
|
||||
; Bidirectional mode:
|
||||
; = 1 - Left to right
|
||||
; = 2 - Right to left with right alignment
|
||||
; = 3 - Right to left with left alignment
|
||||
; = 4 - Right to left with right alignment only for reading (not typing)
|
||||
Bidi=1
|
||||
|
||||
[SplashForm]
|
||||
;
|
||||
; Splash form
|
||||
;
|
||||
SplashForm_Lab_Loading=SplashForm_Lab_Loading
|
||||
|
||||
[MainForm]
|
||||
;
|
||||
; Main form
|
||||
;
|
||||
;Tabs
|
||||
MainForm_Tab_Soft=MainForm_Tab_Soft
|
||||
MainForm_Tab_Tools=MainForm_Tab_Tools
|
||||
MainForm_Tab_System=MainForm_Tab_System
|
||||
; Deprecated since v0.8.0.313 (19:01 19.05.2015)
|
||||
;MainForm_Tab_SysInfo=MainForm_Tab_SysInfo
|
||||
; Deprecated since v0.8.0.313 (19:01 19.05.2015)
|
||||
;MainForm_Tab_SysCare=MainForm_Tab_SysCare
|
||||
MainForm_Tab_Log=MainForm_Tab_Log
|
||||
|
||||
;Common buttons on toolbars
|
||||
MainForm_Btn_List=MainForm_Btn_List
|
||||
MainForm_Mnb_ExpandAll=MainForm_Mnb_ExpandAll
|
||||
MainForm_Mnb_CollapseAll=MainForm_Mnb_CollapseAll
|
||||
MainForm_Btn_Search=MainForm_Btn_Search
|
||||
MainForm_Mnb_PackDefault=MainForm_Mnb_PackDefault
|
||||
MainForm_Mnb_PacksEdit=MainForm_Mnb_PacksEdit
|
||||
|
||||
;"Programms" tab
|
||||
MainForm_Btn_SoftCheck=MainForm_Btn_SoftCheck
|
||||
MainForm_Mnb_SoftCheckAll=MainForm_Mnb_SoftCheckAll
|
||||
MainForm_Mnb_SoftCheckNone=MainForm_Mnb_SoftCheckNone
|
||||
MainForm_Btn_SoftPackages=MainForm_Btn_SoftPackages
|
||||
MainForm_Btn_SoftStart=MainForm_Btn_SoftStart
|
||||
|
||||
;"Utilities" tab
|
||||
MainForm_Btn_ToolsPackages=MainForm_Btn_ToolsPackages
|
||||
|
||||
;"System" tab
|
||||
MainForm_Lab_System=MainForm_Lab_System
|
||||
MainForm_SInfo_RowOSVer=MainForm_SInfo_RowPCName
|
||||
MainForm_SInfo_RowPCName=MainForm_SInfo_RowPCName
|
||||
MainForm_SInfo_RowUserName=MainForm_SInfo_RowUserName
|
||||
MainForm_Lab_UserVars=MainForm_Lab_UserVars
|
||||
MainForm_Vars_Col1=MainForm_Vars_Col1
|
||||
MainForm_Vars_Col2=MainForm_Vars_Col2
|
||||
MainForm_Lab_SysVars=MainForm_Lab_SysVars
|
||||
MainForm_Btn_SysInfoRefresh=MainForm_Btn_SysInfoRefresh
|
||||
MainForm_Btn_VarsEdit=MainForm_Btn_VarsEdit
|
||||
MainForm_Mnb_CopyVarValue=MainForm_Mnb_CopyVarValue
|
||||
MainForm_Mnb_CopyVarLine=MainForm_Mnb_CopyVarLine
|
||||
MainForm_Mnb_CopyVarAll=MainForm_Mnb_CopyVarAll
|
||||
MainForm_Grp_Power=MainForm_Grp_Power
|
||||
MainForm_Btn_PowerOff=MainForm_Btn_PowerOff
|
||||
MainForm_Btn_Reboot=MainForm_Btn_Reboot
|
||||
|
||||
;"Log" tab
|
||||
MainForm_Btn_LogClear=MainForm_Btn_LogClear
|
||||
MainForm_Btn_LogSave=MainForm_Btn_LogSave
|
||||
|
||||
;Other strings in this window
|
||||
;MainForm_Caption=ABTool Debugging
|
||||
MainForm_Btn_Options=MainForm_Btn_Options
|
||||
|
||||
[OptionsForm]
|
||||
;
|
||||
; Options form
|
||||
;
|
||||
;Tabs
|
||||
OptForm_Tab_Common=OptForm_Tab_Common
|
||||
OptForm_Tab_Interface=OptForm_Tab_Interface
|
||||
OptForm_Tab_Packages=OptForm_Tab_Packages
|
||||
OptForm_Tab_About=OptForm_Tab_About
|
||||
|
||||
;"Common" tab
|
||||
; "OptForm_Grp_Lang / Language"
|
||||
OptForm_Grp_Lang=OptForm_Grp_Lang
|
||||
OptForm_Lab_LangFileIs=OptForm_Lab_LangFileIs
|
||||
OptForm_Lab_LangNameIs=OptForm_Lab_LangNameIs
|
||||
OptForm_Lab_LangVerIs=OptForm_Lab_LangVerIs
|
||||
OptForm_Grp_Soft=OptForm_Grp_Soft
|
||||
OptForm_Chb_ChkExitCodes=OptForm_Chb_ChkExitCodes
|
||||
OptForm_Chb_ChkExitCodesHint=OptForm_Chb_ChkExitCodesHint
|
||||
OptForm_Chb_DntUnChkItems=OptForm_Chb_DntUnChkItems
|
||||
OptForm_Chb_DntUnChkItemsHint=OptForm_Chb_DntUnChkItemsHint
|
||||
OptForm_Chb_ColorSoftTree=OptForm_Chb_ColorSoftTree
|
||||
OptForm_Chb_ColorSoftTreeHint=OptForm_Chb_ColorSoftTreeHint
|
||||
OptForm_Chb_ShowProgress=OptForm_Chb_ShowProgress
|
||||
OptForm_Chb_ShowProgressHint=OptForm_Chb_ShowProgressHint
|
||||
OptForm_Chb_ExpandSoft=OptForm_Chb_ExpandSoft
|
||||
OptForm_Chb_ExpandSoftHint=OptForm_Chb_ExpandSoftHint
|
||||
OptForm_Chb_QuietREG=OptForm_Chb_QuietREG
|
||||
OptForm_Chb_QuietREGHint=OptForm_Chb_QuietREGHint
|
||||
OptForm_Grp_Tools=OptForm_Grp_Tools
|
||||
OptForm_Chb_HideOnTool=OptForm_Chb_HideOnTool
|
||||
OptForm_Chb_HideOnToolHint=OptForm_Chb_HideOnToolHint
|
||||
OptForm_Chb_ExpandTools=OptForm_Chb_ExpandTools
|
||||
OptForm_Chb_ExpandToolsHint=OptForm_Chb_ExpandToolsHint
|
||||
; "OptForm_Url_DownloadLangs / Download other languages"
|
||||
OptForm_Url_DownloadLangs=OptForm_Url_DownloadLangs
|
||||
|
||||
;"Interface" tab
|
||||
OptForm_Chb_ShowLog=OptForm_Chb_ShowLog
|
||||
OptForm_Chb_ShowLogHint=OptForm_Chb_ShowLogHint
|
||||
OptForm_Chb_DrawOutlines=OptForm_Chb_DrawOutlines
|
||||
OptForm_Chb_DrawOutlinesHint=OptForm_Chb_DrawOutlinesHint
|
||||
OptForm_Chb_ScreenSnap=OptForm_Chb_ScreenSnap
|
||||
OptForm_Chb_ScreenSnapHint=OptForm_Chb_ScreenSnapHint
|
||||
OptForm_Chb_OnTop=OptForm_Chb_OnTop
|
||||
OptForm_Chb_OnTopHint=OptForm_Chb_OnTopHint
|
||||
OptForm_Chb_ShowPkgDesc=OptForm_Chb_ShowPkgDesc
|
||||
OptForm_Chb_ShowPkgDescHint=OptForm_Chb_ShowPkgDescHint
|
||||
OptForm_Chb_SrchVisible=OptForm_Chb_SrchVisible
|
||||
OptForm_Chb_SrchVisibleHint=OptForm_Chb_SrchVisibleHint
|
||||
OptForm_Chb_ScrollLog=OptForm_Chb_ScrollLog
|
||||
OptForm_Chb_ScrollLogHint=OptForm_Chb_ScrollLogHint
|
||||
OptForm_Grp_PkgSwitchMethod=OptForm_Grp_PkgSwitchMethod
|
||||
OptForm_Rdb_PkgSwByMenu=OptForm_Rdb_PkgSwByMenu
|
||||
OptForm_Rdb_PkgSwByMenuHint=OptForm_Rdb_PkgSwByMenuHint
|
||||
OptForm_Rdb_PkgSwByTabs=OptForm_Rdb_PkgSwByTabs
|
||||
OptForm_Rdb_PkgSwByTabsHint=OptForm_Rdb_PkgSwByTabsHint
|
||||
OptForm_Chb_PkgSwShrinkTabs=OptForm_Chb_PkgSwShrinkTabs
|
||||
OptForm_Chb_PkgSwShrinkTabsHint=OptForm_Chb_PkgSwShrinkTabsHint
|
||||
OptForm_Cmb_PkgSwTabsPosHint=OptForm_Cmb_PkgSwTabsPosHint
|
||||
OptForm_Cmb_PkgSwTabsPosTop=OptForm_Cmb_PkgSwTabsPosTop
|
||||
OptForm_Cmb_PkgSwTabsPosBottom=OptForm_Cmb_PkgSwTabsPosBottom
|
||||
OptForm_Cmb_PkgSwTabsPosLeft=OptForm_Cmb_PkgSwTabsPosLeft
|
||||
OptForm_Cmb_PkgSwTabsPosRight=OptForm_Cmb_PkgSwTabsPosRight
|
||||
|
||||
;"Packages" tab
|
||||
OptForm_Grp_PkgSoft=OptForm_Grp_PkgSoft
|
||||
OptForm_Grp_PkgTools=OptForm_Grp_PkgTools
|
||||
OptForm_Btn_BrowseUserSoftPkg=OptForm_Btn_BrowseUserSoftPkg
|
||||
OptForm_Btn_BrowseUserSoftPkgHint=OptForm_Btn_BrowseUserSoftPkgHint
|
||||
OptForm_Btn_ClearUserSoftPkgHint=OptForm_Btn_ClearUserSoftPkgHint
|
||||
OptForm_Btn_OpenIniDir=OptForm_Btn_OpenIniDir
|
||||
OptForm_Btn_OpenIniDirHint=OptForm_Btn_OpenIniDirHint
|
||||
OptForm_Grp_PkgInfo=OptForm_Grp_PkgInfo
|
||||
OptForm_Lab_PkgNameIs=OptForm_Lab_PkgNameIs
|
||||
OptForm_Lab_PkgDescIs=OptForm_Lab_PkgDescIs
|
||||
|
||||
;"About" tab
|
||||
OptForm_Lab_ABToolBuildIs=OptForm_Lab_ABToolBuildIs
|
||||
OptForm_Lab_WhatsNew=OptForm_Lab_WhatsNew
|
||||
OptForm_Url_ReportBug=OptForm_Url_ReportBug
|
||||
OptForm_Url_Help=OptForm_Url_Help
|
||||
OptForm_Btn_CheckUpdates=OptForm_Btn_CheckUpdates
|
||||
OptForm_Btn_CheckingUpdates=OptForm_Btn_CheckingUpdates
|
||||
|
||||
;Other strings in this window
|
||||
OptForm_Caption=OptForm_Caption
|
||||
OptForm_Btn_ResetOptions=OptForm_Btn_ResetOptions
|
||||
OptForm_Btn_SaveOptions=OptForm_Btn_SaveOptions
|
||||
OptForm_Btn_Close=OptForm_Btn_Close
|
||||
|
||||
[ProgressForm]
|
||||
;
|
||||
; Installation progress form
|
||||
;
|
||||
[ChoosePkgForm]
|
||||
;
|
||||
; Form to choose package
|
||||
;
|
||||
[Messages]
|
||||
;
|
||||
; Messages to show
|
||||
;
|
||||
[Log]
|
||||
;
|
||||
; Log messages
|
||||
;
|
189
ABTool/Languages/English.lng
Normal file
189
ABTool/Languages/English.lng
Normal file
@ -0,0 +1,189 @@
|
||||
; Author: AnthonyAxenov, anthonysoprano.93@gmail.com, abtool.ru
|
||||
; Date: 20:11 20.05.2015
|
||||
[Info]
|
||||
; Language name - required
|
||||
Name=English
|
||||
; ABTool version — required
|
||||
ABToolVer=0.8.0
|
||||
|
||||
[Main]
|
||||
; Bidirectional mode:
|
||||
; = 1 - Left to right
|
||||
; = 2 - Right to left with right alignment
|
||||
; = 3 - Right to left with left alignment
|
||||
; = 4 - Right to left with right alignment only for reading (not typing)
|
||||
Bidi=1
|
||||
|
||||
[SplashForm]
|
||||
;
|
||||
; Splash form
|
||||
;
|
||||
SplashForm_Lab_Loading=Loading...
|
||||
[MainForm]
|
||||
;
|
||||
; Main form
|
||||
;
|
||||
;Tabs
|
||||
MainForm_Tab_Soft=Programms
|
||||
MainForm_Tab_Tools=Utilities
|
||||
MainForm_Tab_System=System
|
||||
; Deprecated since v0.8.0.313 (19:01 19.05.2015)
|
||||
;MainForm_Tab_SysInfo=Common info
|
||||
; Deprecated since v0.8.0.313 (19:01 19.05.2015)
|
||||
;MainForm_Tab_SysCare=Maintenance
|
||||
MainForm_Tab_Log=Log
|
||||
|
||||
;Common buttons on toolbars
|
||||
MainForm_Btn_List=List
|
||||
MainForm_Mnb_ExpandAll=Expand all
|
||||
MainForm_Mnb_CollapseAll=Collapse all
|
||||
MainForm_Btn_Search=Search
|
||||
MainForm_Mnb_PackDefault=Default
|
||||
MainForm_Mnb_PacksEdit=Package management...
|
||||
|
||||
;"Programms" tab
|
||||
MainForm_Btn_SoftCheck=Choose
|
||||
MainForm_Mnb_SoftCheckAll=Choose all
|
||||
MainForm_Mnb_SoftCheckNone=Choose none
|
||||
MainForm_Btn_SoftPackages=Programm packages
|
||||
MainForm_Btn_SoftStart=<<< Start installation >>>
|
||||
|
||||
;"Utilities" tab
|
||||
MainForm_Btn_ToolsPackages=Utility packages
|
||||
|
||||
;"System" tab
|
||||
MainForm_Lab_System=System
|
||||
MainForm_SInfo_RowOSVer=OS version
|
||||
MainForm_SInfo_RowPCName=PC name
|
||||
MainForm_SInfo_RowUserName=User name
|
||||
MainForm_Lab_UserVars=Environment variables for
|
||||
MainForm_Vars_Col1=Variable
|
||||
MainForm_Vars_Col2=Value
|
||||
MainForm_Lab_SysVars=System environment variables
|
||||
MainForm_Btn_SysInfoRefresh=Refresh
|
||||
MainForm_Btn_VarsEdit=Edit variables...
|
||||
MainForm_Mnb_CopyVarValue=Copy value to clipboard
|
||||
MainForm_Mnb_CopyVarLine=Copy variable with value
|
||||
MainForm_Mnb_CopyVarAll=Copy all
|
||||
MainForm_Grp_Power=Power management
|
||||
MainForm_Btn_PowerOff=Power off
|
||||
MainForm_Btn_Reboot=Reboot
|
||||
|
||||
;"Log" tab
|
||||
MainForm_Btn_LogClear=Clear log
|
||||
MainForm_Btn_LogSave=Save log to file...
|
||||
|
||||
;Other strings in this window
|
||||
;MainForm_Caption=ABTool in English!
|
||||
MainForm_Btn_Options=Options
|
||||
|
||||
[OptionsForm]
|
||||
;
|
||||
; Options form
|
||||
;
|
||||
;Tabs
|
||||
OptForm_Tab_Common=Common
|
||||
OptForm_Tab_Interface=Interface
|
||||
OptForm_Tab_Packages=Packages
|
||||
OptForm_Tab_About=About
|
||||
|
||||
;"Common" tab
|
||||
; "OptForm_Grp_Lang / Language"
|
||||
OptForm_Grp_Lang=
|
||||
OptForm_Lab_LangFileIs=Filename:
|
||||
OptForm_Lab_LangNameIs=Language:
|
||||
OptForm_Lab_LangVerIs=Version:
|
||||
OptForm_Grp_Soft=«Software» tab
|
||||
OptForm_Chb_ChkExitCodes=Immediately report if the return code <> 0
|
||||
OptForm_Chb_ChkExitCodesHint=When the installer is finished with a code other than zero, you will be asked to terminate the installation process
|
||||
OptForm_Chb_DntUnChkItems=Leave the check box checked with the return code <> 0
|
||||
OptForm_Chb_DntUnChkItemsHint=Later, you can try to install only those programs, the installation of which was not completed correctly
|
||||
OptForm_Chb_ColorSoftTree=Color software tree list after installing
|
||||
OptForm_Chb_ColorSoftTreeHint=When the installation process is complete, a list of programs to be is colored as follows: Failed to start — red, return code <> 0 — blue
|
||||
OptForm_Chb_ShowProgress=Show the overall process of software installation
|
||||
OptForm_Chb_ShowProgressHint=During installation, the main window will disappear and there will be another, displaying the overall progress of the installation. Otherwise - the main window will not disappear, but will be blocked
|
||||
OptForm_Chb_ExpandSoft=Expand software tree when package is loaded
|
||||
OptForm_Chb_ExpandSoftHint=
|
||||
OptForm_Chb_QuietREG=Silent import from REG-files
|
||||
OptForm_Chb_QuietREGHint=REGEDIT will not ask for confirmation
|
||||
OptForm_Grp_Tools=«Utilities» tab
|
||||
OptForm_Chb_HideOnTool=Hide ABTool when utility is launched
|
||||
OptForm_Chb_HideOnToolHint=When utility is launched, ABTool will not disturb
|
||||
OptForm_Chb_ExpandTools=Expand utilities tree when package is loaded
|
||||
OptForm_Chb_ExpandToolsHint=
|
||||
; "OptForm_Url_DownloadLangs / Download other languages"
|
||||
;OptForm_Url_DownloadLangs=
|
||||
|
||||
;"Interface" tab
|
||||
OptForm_Chb_ShowLog=Show log tab
|
||||
OptForm_Chb_ShowLogHint=The log appears on the an additional tab and contains complete protocol of events
|
||||
OptForm_Chb_DrawOutlines=Draw lists outlines
|
||||
OptForm_Chb_DrawOutlinesHint=It applies both to the Software and Utilities tabs
|
||||
OptForm_Chb_ScreenSnap=Snap ABTool to the screen borders when moving
|
||||
OptForm_Chb_ScreenSnapHint=
|
||||
OptForm_Chb_OnTop=Keep ABTool on top
|
||||
OptForm_Chb_OnTopHint=
|
||||
OptForm_Chb_ShowPkgDesc=Show package descriptions
|
||||
OptForm_Chb_ShowPkgDescHint=It applies both to the Software and Utilities tabs
|
||||
OptForm_Chb_SrchVisible=Search bar is always shown
|
||||
OptForm_Chb_SrchVisibleHint=It applies both to the Software and Utilities tabs
|
||||
OptForm_Chb_ScrollLog=Always scroll log to the end
|
||||
OptForm_Chb_ScrollLogHint=
|
||||
OptForm_Grp_PkgSwitchMethod=Package switching method
|
||||
OptForm_Rdb_PkgSwByMenu=Let me choose via package menu
|
||||
OptForm_Rdb_PkgSwByMenuHint=It applies both to the Software and Utilities tabs
|
||||
OptForm_Rdb_PkgSwByTabs=Show packages as tabs:
|
||||
OptForm_Rdb_PkgSwByTabsHint=It applies both to the Software and Utilities tabs
|
||||
OptForm_Chb_PkgSwShrinkTabs=Fit all names (long names will be trimmed)
|
||||
OptForm_Chb_PkgSwShrinkTabsHint=If disabled, all packages' names may not fit on this panel
|
||||
OptForm_Cmb_PkgSwTabsPosHint=Choose package tabs position
|
||||
OptForm_Cmb_PkgSwTabsPosTop=Top
|
||||
OptForm_Cmb_PkgSwTabsPosBottom=Bottom
|
||||
OptForm_Cmb_PkgSwTabsPosLeft=Left
|
||||
OptForm_Cmb_PkgSwTabsPosRight=Right
|
||||
|
||||
;"Packages" tab
|
||||
OptForm_Grp_PkgSoft=Software
|
||||
OptForm_Grp_PkgTools=Utilities
|
||||
OptForm_Btn_BrowseUserSoftPkg=Choose
|
||||
OptForm_Btn_BrowseUserSoftPkgHint=Choose your package in special window
|
||||
OptForm_Btn_ClearUserSoftPkgHint=Clear field
|
||||
OptForm_Btn_OpenIniDir=Open ABTool_ini directory
|
||||
OptForm_Btn_OpenIniDirHint=
|
||||
OptForm_Grp_PkgInfo=Package info
|
||||
OptForm_Lab_PkgNameIs=Name:
|
||||
OptForm_Lab_PkgDescIs=Description:
|
||||
|
||||
;"About" tab
|
||||
OptForm_Lab_ABToolBuildIs=build
|
||||
OptForm_Lab_WhatsNew=What's new in this version:
|
||||
OptForm_Url_ReportBug=Report bug
|
||||
OptForm_Url_Help=Get help
|
||||
OptForm_Btn_CheckUpdates=Check updates
|
||||
OptForm_Btn_CheckingUpdates=Checking updates...
|
||||
|
||||
;Other strings in this window
|
||||
OptForm_Caption=ABTool options
|
||||
OptForm_Btn_ResetOptions=Reset
|
||||
OptForm_Btn_SaveOptions=Save
|
||||
OptForm_Btn_Close=Close
|
||||
|
||||
[ProgressForm]
|
||||
;
|
||||
; Installation progress form
|
||||
;
|
||||
|
||||
[ChoosePkgForm]
|
||||
;
|
||||
; Form to choose package
|
||||
;
|
||||
|
||||
[Messages]
|
||||
;
|
||||
; Messages to show
|
||||
;
|
||||
|
||||
[Log]
|
||||
;
|
||||
; Log messages
|
||||
;
|
185
ABTool/Languages/Russian.lng
Normal file
185
ABTool/Languages/Russian.lng
Normal file
@ -0,0 +1,185 @@
|
||||
; Author: AnthonyAxenov, anthonysoprano.93@gmail.com, abtool.ru
|
||||
; Date: 20:11 20.05.2015
|
||||
[Info]
|
||||
; Language name - required
|
||||
Name=Русский
|
||||
; ABTool version — required
|
||||
ABToolVer=0.8.0
|
||||
|
||||
[Main]
|
||||
; Bidirectional mode:
|
||||
; = 1 - Left to right
|
||||
; = 2 - Right to left with right alignment
|
||||
; = 3 - Right to left with left alignment
|
||||
; = 4 - Right to left with right alignment only for reading (not typing)
|
||||
Bidi=2
|
||||
|
||||
[SplashForm]
|
||||
;
|
||||
; Splash form
|
||||
;
|
||||
SplashForm_Lab_Loading=Загрузка...
|
||||
[MainForm]
|
||||
;
|
||||
; Main form
|
||||
;
|
||||
;Tabs
|
||||
MainForm_Tab_Soft=Программы
|
||||
MainForm_Tab_Tools=Утилиты
|
||||
MainForm_Tab_System=Система
|
||||
; Deprecated since v0.8.0.313 (19:01 19.05.2015)
|
||||
;MainForm_Tab_SysInfo=Общая информация
|
||||
; Deprecated since v0.8.0.313 (19:01 19.05.2015)
|
||||
;MainForm_Tab_SysCare=Обслуживание
|
||||
MainForm_Tab_Log=Лог
|
||||
|
||||
;Common buttons on toolbars
|
||||
MainForm_Btn_List=Список
|
||||
MainForm_Mnb_ExpandAll=Развернуть все
|
||||
MainForm_Mnb_CollapseAll=Свернуть все
|
||||
MainForm_Btn_Search=Поиск
|
||||
MainForm_Mnb_PackDefault=По умолчанию
|
||||
MainForm_Mnb_PacksEdit=Управление пакетами...
|
||||
|
||||
;"Programms" tab
|
||||
MainForm_Btn_SoftCheck=Выбор
|
||||
MainForm_Mnb_SoftCheckAll=Выбрать все
|
||||
MainForm_Mnb_SoftCheckNone=Снять выбор
|
||||
MainForm_Btn_SoftPackages=Пакеты программ
|
||||
MainForm_Btn_SoftStart=<<< Приступить к установке >>>
|
||||
|
||||
;"Utilities" tab
|
||||
MainForm_Btn_ToolsPackages=Пакеты утилит
|
||||
|
||||
;"System" tab
|
||||
MainForm_Lab_System=Система
|
||||
MainForm_SInfo_RowOSVer=Версия ОС
|
||||
MainForm_SInfo_RowPCName=Имя ПК
|
||||
MainForm_SInfo_RowUserName=Имя пользователя
|
||||
MainForm_Lab_UserVars=Переменные среды для
|
||||
MainForm_Vars_Col1=Переменная
|
||||
MainForm_Vars_Col2=Значение
|
||||
MainForm_Lab_SysVars=Системные переменные среды
|
||||
MainForm_Btn_SysInfoRefresh=Обновить
|
||||
MainForm_Btn_VarsEdit=Редактирование...
|
||||
MainForm_Mnb_CopyVarValue=Копировать значение
|
||||
MainForm_Mnb_CopyVarLine=Копировать строку
|
||||
MainForm_Mnb_CopyVarAll=Копировать все
|
||||
MainForm_Grp_Power=Питание компьютера
|
||||
MainForm_Btn_PowerOff=Выключение
|
||||
MainForm_Btn_Reboot=Перезагрузка
|
||||
|
||||
;"Log" tab
|
||||
MainForm_Btn_LogClear=Очистить лог
|
||||
MainForm_Btn_LogSave=Сохранить...
|
||||
|
||||
;Other strings in this window
|
||||
MainForm_Btn_Options=Настройки
|
||||
|
||||
[OptionsForm]
|
||||
;
|
||||
; Options form
|
||||
;
|
||||
;Tabs
|
||||
OptForm_Tab_Common=Общие
|
||||
OptForm_Tab_Interface=Интерфейс
|
||||
OptForm_Tab_Packages=Пакеты
|
||||
OptForm_Tab_About=О программе
|
||||
|
||||
;"Common" tab
|
||||
; "OptForm_Grp_Lang / Language"
|
||||
OptForm_Grp_Lang=Язык
|
||||
OptForm_Lab_LangFileIs=Файл:
|
||||
OptForm_Lab_LangNameIs=Язык:
|
||||
OptForm_Lab_LangVerIs=Версия:
|
||||
OptForm_Grp_Soft=Вкладка «Программы»
|
||||
OptForm_Chb_ChkExitCodes=Немедленно сообщать о коде возврата <> 0
|
||||
OptForm_Chb_ChkExitCodesHint=В случае завершения инсталлятора с кодом, отличным от нуля, вам предлагается прервать процесс установки программ
|
||||
OptForm_Chb_DntUnChkItems=Не снимать отметку с чекбокса при коде возврата <> 0
|
||||
OptForm_Chb_DntUnChkItemsHint=В последующем вы можете попробовать установить только те программы, установка которых не была завершена корректно
|
||||
OptForm_Chb_ColorSoftTree=Раскрашивать список программ после установки
|
||||
OptForm_Chb_ColorSoftTreeHint=После завершения процесса установки список программ будет раскрашен так: ошибка запуска — красный, код возврата <> 0 — синий
|
||||
OptForm_Chb_ShowProgress=Отображать общий ход установки программ
|
||||
OptForm_Chb_ShowProgressHint=Во время установки главное окно скроется и появится другое, с отображением общего хода установки. Иначе — главное окно не исчезнет, но заблокируется
|
||||
OptForm_Chb_ExpandSoft=Раскрывать список программ после загрузки пакета
|
||||
OptForm_Chb_ExpandSoftHint=
|
||||
OptForm_Chb_QuietREG=Тихий импорт REG-файлов
|
||||
OptForm_Chb_QuietREGHint=Когда до него дойдёт очередь, данные будут внесены без подтверждений
|
||||
OptForm_Grp_Tools=Вкладка «Утилиты»
|
||||
OptForm_Chb_HideOnTool=Скрыть главное окно ABTool при запуске утилиты
|
||||
OptForm_Chb_HideOnToolHint=После запуска утилиты окно ABTool не будет мешать
|
||||
OptForm_Chb_ExpandTools=Раскрывать список утилит после загрузки пакета
|
||||
OptForm_Chb_ExpandToolsHint=
|
||||
; "OptForm_Url_DownloadLangs / Download other languages"
|
||||
OptForm_Url_DownloadLangs=Скачать другие языки
|
||||
|
||||
;"Interface" tab
|
||||
OptForm_Chb_ShowLog=Показывать лог событий
|
||||
OptForm_Chb_ShowLogHint=Лог выводится на дополнительную вкладку и содержит полный протокол событий
|
||||
OptForm_Chb_DrawOutlines=Показывать линии при отрисовке списков
|
||||
OptForm_Chb_DrawOutlinesHint=
|
||||
OptForm_Chb_ScreenSnap=Прилипание окон к краям экрана
|
||||
OptForm_Chb_ScreenSnapHint=
|
||||
OptForm_Chb_OnTop=Поверх всех окон
|
||||
OptForm_Chb_OnTopHint=
|
||||
OptForm_Chb_ShowPkgDesc=Показывать описания пакетов
|
||||
OptForm_Chb_ShowPkgDescHint=Действует как на вкладке установки, так и на вкладке утилит
|
||||
OptForm_Chb_SrchVisible=Строка поиска всегда видна
|
||||
OptForm_Chb_SrchVisibleHint=Действует как на вкладке установки, так и на вкладке утилит
|
||||
OptForm_Chb_ScrollLog=Всегда прокручивать лог до конца
|
||||
OptForm_Chb_ScrollLogHint=
|
||||
OptForm_Grp_PkgSwitchMethod=Переключение между пакетами
|
||||
OptForm_Rdb_PkgSwByMenu=Через меню над списками
|
||||
OptForm_Rdb_PkgSwByMenuHint=Действует как на вкладке установки, так и на вкладке утилит
|
||||
OptForm_Rdb_PkgSwByTabs=Отображать в виде закладок:
|
||||
OptForm_Rdb_PkgSwByTabsHint=Действует как на вкладке установки, так и на вкладке утилит
|
||||
OptForm_Chb_PkgSwShrinkTabs=Вмещать все (длинные названия будут укорочены)
|
||||
OptForm_Chb_PkgSwShrinkTabsHint=Если выключено, все названия могут не поместиться в ширину панели закладок
|
||||
OptForm_Cmb_PkgSwTabsPosHint=Выберите положение панели закладок
|
||||
OptForm_Cmb_PkgSwTabsPosTop=Сверху
|
||||
OptForm_Cmb_PkgSwTabsPosBottom=Снизу
|
||||
OptForm_Cmb_PkgSwTabsPosLeft=Слева
|
||||
OptForm_Cmb_PkgSwTabsPosRight=Справа
|
||||
|
||||
;"Packages" tab
|
||||
OptForm_Grp_PkgSoft=Программы
|
||||
OptForm_Grp_PkgTools=Утилиты
|
||||
OptForm_Btn_BrowseUserSoftPkg=Выбор
|
||||
OptForm_Btn_BrowseUserSoftPkgHint=Выбрать пользовательский пакет в отдельном окне
|
||||
OptForm_Btn_ClearUserSoftPkgHint=Очистить поле
|
||||
OptForm_Btn_OpenIniDir=Открыть папку ABTool_ini
|
||||
OptForm_Btn_OpenIniDirHint=
|
||||
OptForm_Grp_PkgInfo=Информация о пакете
|
||||
OptForm_Lab_PkgNameIs=Название:
|
||||
OptForm_Lab_PkgDescIs=Описание:
|
||||
|
||||
;"About" tab
|
||||
OptForm_Lab_ABToolBuildIs=сборка
|
||||
OptForm_Lab_WhatsNew=Что нового в этой версии:
|
||||
OptForm_Url_ReportBug=Сообщить об ошибке
|
||||
OptForm_Url_Help=Помощь
|
||||
OptForm_Btn_CheckUpdates=Проверить обновления
|
||||
OptForm_Btn_CheckingUpdates=ПОлучение информации...
|
||||
|
||||
;Other strings in this window
|
||||
OptForm_Caption=Настройки ABTool
|
||||
OptForm_Btn_ResetOptions=Сброс
|
||||
OptForm_Btn_SaveOptions=Сохранить
|
||||
OptForm_Btn_Close=Закрыть
|
||||
|
||||
[ProgressForm]
|
||||
;
|
||||
; Installation progress form
|
||||
;
|
||||
[ChoosePkgForm]
|
||||
;
|
||||
; Form to choose package
|
||||
;
|
||||
[Messages]
|
||||
;
|
||||
; Messages to show
|
||||
;
|
||||
[Log]
|
||||
;
|
||||
; Log messages
|
||||
;
|
@ -1,25 +1,22 @@
|
||||
[Options]
|
||||
Locale=
|
||||
|
||||
ScreenSnap=1
|
||||
ShowPkgDesc=1
|
||||
DrawOutlines=1
|
||||
OnTop=0
|
||||
|
||||
ChkExitCodes=0
|
||||
DntUnChkItems=1
|
||||
ColorSoftTree=1
|
||||
ShowProgress=1
|
||||
ExpandSoft=1
|
||||
QuietREG=0
|
||||
ExpandSoft=1
|
||||
|
||||
HideOnTool=0
|
||||
ExpandTools=1
|
||||
ShowLog=1
|
||||
DrawOutlines=1
|
||||
ScreenSnap=1
|
||||
OnTop=0
|
||||
ShowPkgDesc=1
|
||||
SrchVisible=0
|
||||
[UserSoftPackages]
|
||||
UserSoftPkg1=
|
||||
UserSoftPkg2=
|
||||
UserSoftPkg3=
|
||||
LastUserSoftPkg=0
|
||||
[UserToolPackages]
|
||||
UserToolPkg1=
|
||||
UserToolPkg2=
|
||||
UserToolPkg3=
|
||||
LastUserToolPkg=0
|
||||
|
||||
Left=
|
||||
Top=
|
||||
Width=
|
||||
Height=
|
36
dmain.lfm
36
dmain.lfm
@ -3678,6 +3678,42 @@ object dmMain: TdmMain
|
||||
end
|
||||
object mbRefresh: TMenuItem
|
||||
Caption = 'Обновить'
|
||||
Bitmap.Data = {
|
||||
36040000424D3604000000000000360000002800000010000000100000000100
|
||||
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00994E
|
||||
0399994E035C9B500400994E031A984D026C984D02A6984D02CC984D02C1984D
|
||||
028C984D024D994E03109C510500A2570A00A65B0D00FFFFFF00FFFFFF009C51
|
||||
05CC9C5105CC9C510585A35806BFC8841AE3EAA71FF5FCB920FFFCB920F1EAA6
|
||||
1FCFC78219A6A35909789D520622A2570A00A65B0D00FFFFFF00FFFFFF00A257
|
||||
0ACCF9BF40FFA2570ACCF7B52AFFF6B01CFFF7B11EFFF8B527FFF8B527F1F7B1
|
||||
1ED6F6B01CB4F8BA3490AB62105FA3580B19A65B0D00FFFFFF00FFFFFF00A85D
|
||||
0ECCF2B339FFF3B844FFEEA824FFF2B339FFC37E23DCA85D0ECCA85D0EC1C27E
|
||||
22BAE7A937B2EFAB2A90F3B8436DAD631243A95E0F06FFFFFF00FFFFFF00AF64
|
||||
14CCECB149FFE6A334FFEEB752FFAF6414CCAF641494AD621200AA5F0F00AE63
|
||||
134AAF641488E4A74491E8A83B6DCA88314EAF641419FFFFFF00FFFFFF00B66B
|
||||
19CCEBB861FFE7B057FFE7B057FFEEBF6AFFB66B19CCB76C1A5CB56A1800AF64
|
||||
1400B56A1932C7843178E3A84E6CDCA24C54B66B1925FFFFFF00FFFFFF00BD72
|
||||
1E99BE731FCCBE731FCCBE731FCCBE731FCCBE731FCCBD721E99C0752000C378
|
||||
2300BD721E00BE731F33E5B06140E7B4663FBD721E20FFFFFF00FFFFFF00C67B
|
||||
2620E8B86F3FE6B46C40C57A2533C2782200BF752000C1762100C67B2699C57A
|
||||
25CCC57A25CCC57A25CCC57A25CCC57A25CCC67B2699FFFFFF00FFFFFF00CD82
|
||||
2A25E6B16654E8B5706CD8984478CE832B32CF842C00CB802800CC81295CCD82
|
||||
2ACCF3CD84FFECBD77FFECBD77FFF0C57EFFCD822ACCFFFFFF00FFFFFF00D489
|
||||
3019E2A7554EEDBC766DEEBE7491D4893088D58A314AD98E3300D3882F00D489
|
||||
3094D48930CCF4CD84FFEAB772FFF1C67EFFD48930CCFFFFFF00FFFFFF00DA8F
|
||||
3406DD943A43F8D2896DF4C57D90F4C77AB2E5A852BADB9034C1DB9034CCE5A8
|
||||
52DCF7CD85FFF2C27AFFF8D389FFF7CD85FFDB9034CCFFFFFF00FFFFFF00DC91
|
||||
3500E0953919E49E435FFCD88D90FACF85B4FBD086D6FCD489F1FCD489FFFBD0
|
||||
86FFFACF85FFFBD389FFE19639CCFEDD92FFE19639CCFFFFFF00FFFFFF00DC91
|
||||
3500E1963900E59A3D22E79F4378F1B964A6FACF80CFFEDA8EF1FEDA8EFFFACF
|
||||
81F5F1BB65E3E79E42BFE59A3D85E59A3DCCE59A3DCCFFFFFF00FFFFFF00DC91
|
||||
3500E1963900E59A3D00E89D3F10E99E404DE99E408CE99E40C1E99E40CCE99E
|
||||
40A6E99E406CE89D3F1AE69B3D00E99E405CE99E4099FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
|
||||
}
|
||||
ImageIndex = 16
|
||||
ShortCut = 16466
|
||||
OnClick = mbRefreshClick
|
||||
|
119
dmain.pas
119
dmain.pas
@ -5,8 +5,8 @@ unit dMain;
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, Controls, Menus, Forms, PopupNotifier,
|
||||
VirtualTrees, uPackage, uPackageList, fOptions;
|
||||
Classes, SysUtils, FileUtil, Controls, Menus, Forms, PopupNotifier, Dialogs,
|
||||
VirtualTrees, uPackage, uPackageList, fOptions, uOptions;
|
||||
|
||||
type
|
||||
|
||||
@ -47,13 +47,13 @@ type
|
||||
procedure mbOptionsPkgClick(Sender: TObject);
|
||||
procedure mbRefreshClick(Sender: TObject);
|
||||
private
|
||||
// Форма настроек
|
||||
fmOptions: TfmOptions;
|
||||
// Подготовка директорий
|
||||
procedure PrepareDirs();
|
||||
procedure PrepareDirs();
|
||||
// Подготовка списков пакетов
|
||||
procedure PreparePackages();
|
||||
procedure PreparePackageLists();
|
||||
public
|
||||
{ Публичные переменные, которые доступны во всех юнитах с подключенным uses ..., dMain }
|
||||
|
||||
// путь к файлу ABTool.exe
|
||||
ABToolExePath: String;
|
||||
// путь к директории ABTool
|
||||
@ -65,11 +65,13 @@ type
|
||||
// путь к директории ABTool\Logs
|
||||
ABToolLogPath: String;
|
||||
// Список объектов пакетов программ для установки
|
||||
SoftPackages: TPackageList;
|
||||
SoftPackages: TPackageList;
|
||||
// Список объектов пакетов утилит для запуска
|
||||
ToolsPackages: TPackageList;
|
||||
// Установка состояния отметки для всех корневых нод указанного дерева
|
||||
procedure SetVSTCheckState(AVST: TBaseVirtualTree; AState: boolean);
|
||||
// Показ формы настроек на указанной странице и возврат модального результата
|
||||
function CallOptionsForm(APageIndex: byte = 0): TModalResult;
|
||||
end;
|
||||
|
||||
var
|
||||
@ -82,7 +84,7 @@ uses fMain;
|
||||
{$R *.lfm}
|
||||
|
||||
{ TdmMain }
|
||||
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Конструктор: TdmMain.Create()
|
||||
Назначение: Создание датамодуля, подготовка путей и списков пакетов
|
||||
@ -90,29 +92,20 @@ uses fMain;
|
||||
procedure TdmMain.DataModuleCreate(Sender: TObject);
|
||||
begin
|
||||
PrepareDirs();
|
||||
PreparePackages();
|
||||
PreparePackageLists();
|
||||
TOptions.Create(dmMain.ABToolDataPath + '\abtool.ini');
|
||||
end;
|
||||
|
||||
procedure TdmMain.mbAboutClick(Sender: TObject);
|
||||
var
|
||||
fmOptions: TfmOptions;
|
||||
begin
|
||||
fmOptions := TfmOptions.Create(fmMain);
|
||||
fmOptions.PageControl.ActivePageIndex := 2;
|
||||
fmOptions.ShowModal;
|
||||
end;
|
||||
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Конструктор: TdmMain.SetVSTCheckState()
|
||||
Назначение: Установка состояния отметки для всех корневых нод указанного дерева
|
||||
Конструктор: TdmMain.SetVSTCheckState()
|
||||
Назначение: Установка состояния отметки для всех корневых нод указанного дерева
|
||||
Вх. параметры:
|
||||
AVST: TBaseVirtualTree - дерево
|
||||
AState: boolean - состояние отметок: TRUE выбрать все, FALSE снять выбор со всех
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TdmMain.SetVSTCheckState(AVST: TBaseVirtualTree; AState: boolean);
|
||||
var
|
||||
Node: PVirtualNode;
|
||||
Node: PVirtualNode;
|
||||
|
||||
// Установка состояния отметки ноды-родителя дочерним нодам
|
||||
procedure CheckChildNodes(ANode: PVirtualNode);
|
||||
@ -147,23 +140,23 @@ begin
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Конструктор: TdmMain.mbCheckAllClick()
|
||||
Назначение: Обработка клика п. меню "Выбрать всё"
|
||||
Конструктор: TdmMain.mbCheckAllClick()
|
||||
Назначение: Обработка клика п. меню "Выбрать всё"
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TdmMain.mbCheckAllClick(Sender: TObject);
|
||||
begin
|
||||
SetVSTCheckState(fmMain.vstSoftPkgContents, true);
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Конструктор: TdmMain.mbCheckNoneClick()
|
||||
Назначение: Обработка клика п. меню "Снять выбор"
|
||||
Конструктор: TdmMain.mbCheckNoneClick()
|
||||
Назначение: Обработка клика п. меню "Снять выбор"
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TdmMain.mbCheckNoneClick(Sender: TObject);
|
||||
begin
|
||||
SetVSTCheckState(fmMain.vstSoftPkgContents, false);
|
||||
end;
|
||||
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Процедура: TdmMain.mbCollapseTreeClick()
|
||||
Назначение: Сворачивание дерева на активной вкладке главного окна
|
||||
@ -199,9 +192,9 @@ begin
|
||||
1: fmMain.btnToolsPkgReload.Click;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Процедура: TdmMain.PreparePackages()
|
||||
Процедура: TdmMain.PrepareDirs()
|
||||
Назначение: Подготовка директорий
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TdmMain.PrepareDirs();
|
||||
@ -218,34 +211,64 @@ begin
|
||||
if not DirectoryExists(ABToolLogPath) then
|
||||
ForceDirectories(ABToolLogPath);
|
||||
end;
|
||||
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Процедура: TdmMain.PreparePackages()
|
||||
Процедура: TdmMain.PreparePackageLists()
|
||||
Назначение: Подготовка списков пакетов
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TdmMain.PreparePackages();
|
||||
procedure TdmMain.PreparePackageLists();
|
||||
begin
|
||||
SoftPackages := TPackageList.Create;
|
||||
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;
|
||||
{------------------------------------------------------------------------------
|
||||
Функция: TdmMain.CallOptionsForm()
|
||||
Назначение: Показ формы настроек на указанной странице и возврат модального
|
||||
результата
|
||||
Возвращает: TModalResult
|
||||
------------------------------------------------------------------------------}
|
||||
function TdmMain.CallOptionsForm(APageIndex: byte = 0): TModalResult;
|
||||
begin
|
||||
fmOptions := TfmOptions.Create(fmMain);
|
||||
fmOptions.PageControl.ActivePageIndex := 1;
|
||||
fmOptions.ShowModal;
|
||||
if fmOptions = nil then
|
||||
fmOptions := TfmOptions.Create(fmMain);
|
||||
fmOptions.PageControl.ActivePageIndex := APageIndex;
|
||||
Result := fmOptions.ShowModal;
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Процедура: TdmMain.mbOptionsMainClick()
|
||||
Назначение: Обработка клика п. меню "Настройки - Основные..."
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TdmMain.mbOptionsMainClick(Sender: TObject);
|
||||
begin
|
||||
CallOptionsForm;
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Процедура: TdmMain.mbOptionsPkgClick()
|
||||
Назначение: Обработка клика п. меню "Настройки - Управление пакетами..."
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TdmMain.mbOptionsPkgClick(Sender: TObject);
|
||||
begin
|
||||
case CallOptionsForm(1) of
|
||||
mrOK: ;//ShowMessage('mrOK');
|
||||
mrClose: ;//ShowMessage('mrClose');
|
||||
end;
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Процедура: TdmMain.mbAboutClick()
|
||||
Назначение: Обработка клика п. меню "Помощь - О программе..."
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TdmMain.mbAboutClick(Sender: TObject);
|
||||
begin
|
||||
case CallOptionsForm(2) of
|
||||
mrOK: ;//ShowMessage('mrOK');
|
||||
mrClose: ;//ShowMessage('mrClose');
|
||||
end;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
@ -1,7 +1,7 @@
|
||||
object fmMain: TfmMain
|
||||
Left = 301
|
||||
Left = 1513
|
||||
Height = 450
|
||||
Top = 108
|
||||
Top = 182
|
||||
Width = 350
|
||||
BorderIcons = [biSystemMenu, biMinimize]
|
||||
Caption = 'ABTool'
|
||||
|
172
foptions.lfm
172
foptions.lfm
@ -1,7 +1,7 @@
|
||||
object fmOptions: TfmOptions
|
||||
Left = 656
|
||||
Left = 1451
|
||||
Height = 450
|
||||
Top = 109
|
||||
Top = 164
|
||||
Width = 350
|
||||
BorderIcons = [biSystemMenu]
|
||||
BorderStyle = bsDialog
|
||||
@ -3207,13 +3207,15 @@ object fmOptions: TfmOptions
|
||||
71FE000F5EFF000773FE000387FE800176FD80002DC38001693C0003D1190007
|
||||
36A3800F57F7800F8AFFC00F76FFC01F8BFFE03FBEFFF47FBDFF
|
||||
}
|
||||
OnCreate = FormCreate
|
||||
OnClose = FormClose
|
||||
OnShow = FormShow
|
||||
Position = poMainFormCenter
|
||||
ShowHint = True
|
||||
ShowInTaskBar = stNever
|
||||
LCLVersion = '1.8.4.0'
|
||||
object PageControl: TPageControl
|
||||
Left = 0
|
||||
Height = 416
|
||||
Height = 412
|
||||
Top = 0
|
||||
Width = 350
|
||||
ActivePage = tabCommon
|
||||
@ -3223,30 +3225,30 @@ object fmOptions: TfmOptions
|
||||
TabWidth = 86
|
||||
object tabCommon: TTabSheet
|
||||
Caption = 'Общие'
|
||||
ClientHeight = 390
|
||||
ClientHeight = 386
|
||||
ClientWidth = 342
|
||||
object grpOptInstall: TGroupBox
|
||||
Left = 5
|
||||
Height = 171
|
||||
Top = 131
|
||||
Height = 159
|
||||
Top = 149
|
||||
Width = 332
|
||||
Align = alTop
|
||||
BorderSpacing.Left = 5
|
||||
BorderSpacing.Top = 5
|
||||
BorderSpacing.Right = 5
|
||||
Caption = 'Вкладка «Установка»'
|
||||
ClientHeight = 153
|
||||
ClientHeight = 141
|
||||
ClientWidth = 328
|
||||
TabOrder = 0
|
||||
object cbChkExitCodes: TCheckBox
|
||||
Left = 5
|
||||
Height = 19
|
||||
Top = 5
|
||||
Top = 4
|
||||
Width = 318
|
||||
Align = alTop
|
||||
AutoSize = False
|
||||
BorderSpacing.Left = 5
|
||||
BorderSpacing.Top = 5
|
||||
BorderSpacing.Top = 4
|
||||
BorderSpacing.Right = 5
|
||||
Caption = 'Немедленно сообщать о коде возврата <> 0'
|
||||
TabOrder = 0
|
||||
@ -3254,12 +3256,12 @@ object fmOptions: TfmOptions
|
||||
object cbDntUnChkItems: TCheckBox
|
||||
Left = 5
|
||||
Height = 19
|
||||
Top = 29
|
||||
Top = 27
|
||||
Width = 318
|
||||
Align = alTop
|
||||
AutoSize = False
|
||||
BorderSpacing.Left = 5
|
||||
BorderSpacing.Top = 5
|
||||
BorderSpacing.Top = 4
|
||||
BorderSpacing.Right = 5
|
||||
Caption = 'Не снимать отметку с чекбокса при коде возврата <> 0'
|
||||
TabOrder = 1
|
||||
@ -3267,12 +3269,12 @@ object fmOptions: TfmOptions
|
||||
object cbShowProgress: TCheckBox
|
||||
Left = 5
|
||||
Height = 19
|
||||
Top = 77
|
||||
Top = 73
|
||||
Width = 318
|
||||
Align = alTop
|
||||
AutoSize = False
|
||||
BorderSpacing.Left = 5
|
||||
BorderSpacing.Top = 5
|
||||
BorderSpacing.Top = 4
|
||||
BorderSpacing.Right = 5
|
||||
Caption = 'Отображать общий ход установки программ'
|
||||
TabOrder = 2
|
||||
@ -3280,12 +3282,12 @@ object fmOptions: TfmOptions
|
||||
object cbColorSoftTree: TCheckBox
|
||||
Left = 5
|
||||
Height = 19
|
||||
Top = 53
|
||||
Top = 50
|
||||
Width = 318
|
||||
Align = alTop
|
||||
AutoSize = False
|
||||
BorderSpacing.Left = 5
|
||||
BorderSpacing.Top = 5
|
||||
BorderSpacing.Top = 4
|
||||
BorderSpacing.Right = 5
|
||||
Caption = 'Раскрашивать список программ после установки'
|
||||
TabOrder = 3
|
||||
@ -3293,12 +3295,12 @@ object fmOptions: TfmOptions
|
||||
object cbQuietREG: TCheckBox
|
||||
Left = 5
|
||||
Height = 19
|
||||
Top = 101
|
||||
Top = 96
|
||||
Width = 318
|
||||
Align = alTop
|
||||
AutoSize = False
|
||||
BorderSpacing.Left = 5
|
||||
BorderSpacing.Top = 5
|
||||
BorderSpacing.Top = 4
|
||||
BorderSpacing.Right = 5
|
||||
Caption = 'Тихий импорт REG-файлов'
|
||||
TabOrder = 4
|
||||
@ -3306,12 +3308,12 @@ object fmOptions: TfmOptions
|
||||
object cbExpandSoft: TCheckBox
|
||||
Left = 5
|
||||
Height = 19
|
||||
Top = 125
|
||||
Top = 119
|
||||
Width = 318
|
||||
Align = alTop
|
||||
AutoSize = False
|
||||
BorderSpacing.Left = 5
|
||||
BorderSpacing.Top = 5
|
||||
BorderSpacing.Top = 4
|
||||
BorderSpacing.Right = 5
|
||||
Caption = 'Раскрывать дерево после загрузки пакета'
|
||||
TabOrder = 5
|
||||
@ -3319,26 +3321,26 @@ object fmOptions: TfmOptions
|
||||
end
|
||||
object grpOptTools: TGroupBox
|
||||
Left = 5
|
||||
Height = 73
|
||||
Top = 307
|
||||
Height = 67
|
||||
Top = 313
|
||||
Width = 332
|
||||
Align = alTop
|
||||
BorderSpacing.Left = 5
|
||||
BorderSpacing.Top = 5
|
||||
BorderSpacing.Right = 5
|
||||
Caption = 'Вкладка «Утилиты»'
|
||||
ClientHeight = 55
|
||||
ClientHeight = 49
|
||||
ClientWidth = 328
|
||||
TabOrder = 1
|
||||
object cbHideOnTool: TCheckBox
|
||||
Left = 5
|
||||
Height = 19
|
||||
Top = 5
|
||||
Top = 4
|
||||
Width = 318
|
||||
Align = alTop
|
||||
AutoSize = False
|
||||
BorderSpacing.Left = 5
|
||||
BorderSpacing.Top = 5
|
||||
BorderSpacing.Top = 4
|
||||
BorderSpacing.Right = 5
|
||||
Caption = 'Скрывать главное окно при запуске утилит'
|
||||
TabOrder = 0
|
||||
@ -3346,12 +3348,12 @@ object fmOptions: TfmOptions
|
||||
object cbExpandTools: TCheckBox
|
||||
Left = 5
|
||||
Height = 19
|
||||
Top = 29
|
||||
Top = 27
|
||||
Width = 318
|
||||
Align = alTop
|
||||
AutoSize = False
|
||||
BorderSpacing.Left = 5
|
||||
BorderSpacing.Top = 5
|
||||
BorderSpacing.Top = 4
|
||||
BorderSpacing.Right = 5
|
||||
Caption = 'Раскрывать дерево после загрузки пакета'
|
||||
TabOrder = 1
|
||||
@ -3359,25 +3361,25 @@ object fmOptions: TfmOptions
|
||||
end
|
||||
object grpOptMainform: TGroupBox
|
||||
Left = 5
|
||||
Height = 121
|
||||
Top = 5
|
||||
Height = 111
|
||||
Top = 33
|
||||
Width = 332
|
||||
Align = alTop
|
||||
BorderSpacing.Left = 5
|
||||
BorderSpacing.Top = 5
|
||||
BorderSpacing.Right = 5
|
||||
Caption = 'Главное окно'
|
||||
ClientHeight = 103
|
||||
ClientHeight = 93
|
||||
ClientWidth = 328
|
||||
TabOrder = 2
|
||||
object cbOnTop: TCheckBox
|
||||
Left = 5
|
||||
Height = 19
|
||||
Top = 77
|
||||
Top = 73
|
||||
Width = 318
|
||||
Align = alTop
|
||||
BorderSpacing.Left = 5
|
||||
BorderSpacing.Top = 5
|
||||
BorderSpacing.Top = 4
|
||||
BorderSpacing.Right = 5
|
||||
Caption = 'Поверх всех окон'
|
||||
TabOrder = 0
|
||||
@ -3385,23 +3387,23 @@ object fmOptions: TfmOptions
|
||||
object cbDrawOutlines: TCheckBox
|
||||
Left = 5
|
||||
Height = 19
|
||||
Top = 53
|
||||
Top = 50
|
||||
Width = 318
|
||||
Align = alTop
|
||||
BorderSpacing.Left = 5
|
||||
BorderSpacing.Top = 5
|
||||
BorderSpacing.Top = 4
|
||||
BorderSpacing.Right = 5
|
||||
Caption = 'Рисовать линии при отрисовке деревьев'
|
||||
Caption = 'Рисовать в деревьях линии уровней вложенности'
|
||||
TabOrder = 1
|
||||
end
|
||||
object cbShowPkgDesc: TCheckBox
|
||||
Left = 5
|
||||
Height = 19
|
||||
Top = 29
|
||||
Top = 27
|
||||
Width = 318
|
||||
Align = alTop
|
||||
BorderSpacing.Left = 5
|
||||
BorderSpacing.Top = 5
|
||||
BorderSpacing.Top = 4
|
||||
BorderSpacing.Right = 5
|
||||
Caption = 'Показывать описания пакетов'
|
||||
TabOrder = 2
|
||||
@ -3409,16 +3411,45 @@ object fmOptions: TfmOptions
|
||||
object cbScreenSnap: TCheckBox
|
||||
Left = 5
|
||||
Height = 19
|
||||
Top = 5
|
||||
Top = 4
|
||||
Width = 318
|
||||
Align = alTop
|
||||
BorderSpacing.Left = 5
|
||||
BorderSpacing.Top = 5
|
||||
BorderSpacing.Top = 4
|
||||
BorderSpacing.Right = 5
|
||||
Caption = 'Прилипание к краям экрана'
|
||||
TabOrder = 3
|
||||
end
|
||||
end
|
||||
object pnLanguage: TPanel
|
||||
Left = 0
|
||||
Height = 28
|
||||
Top = 0
|
||||
Width = 342
|
||||
Align = alTop
|
||||
BevelOuter = bvNone
|
||||
ClientHeight = 28
|
||||
ClientWidth = 342
|
||||
TabOrder = 3
|
||||
object cmbLanguage: TComboBox
|
||||
Left = 108
|
||||
Height = 21
|
||||
Top = 4
|
||||
Width = 230
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
ItemHeight = 13
|
||||
Style = csDropDownList
|
||||
TabOrder = 0
|
||||
end
|
||||
object Label1: TLabel
|
||||
Left = 8
|
||||
Height = 13
|
||||
Top = 8
|
||||
Width = 83
|
||||
Caption = 'Язык / Language'
|
||||
ParentColor = False
|
||||
end
|
||||
end
|
||||
end
|
||||
object tabPackages: TTabSheet
|
||||
Caption = 'Пакеты'
|
||||
@ -3427,7 +3458,6 @@ object fmOptions: TfmOptions
|
||||
Caption = 'О программе'
|
||||
ClientHeight = 390
|
||||
ClientWidth = 342
|
||||
OnContextPopup = tabAboutContextPopup
|
||||
object imgLogo: TImage
|
||||
Left = 147
|
||||
Height = 48
|
||||
@ -3720,18 +3750,18 @@ object fmOptions: TfmOptions
|
||||
end
|
||||
object btnClose: TButton
|
||||
Left = 272
|
||||
Height = 25
|
||||
Top = 420
|
||||
Height = 29
|
||||
Top = 416
|
||||
Width = 75
|
||||
Anchors = [akTop, akRight]
|
||||
Caption = 'Закрыть'
|
||||
OnClick = btnCloseClick
|
||||
ModalResult = 11
|
||||
TabOrder = 1
|
||||
end
|
||||
object btnSave: TButton
|
||||
Left = 109
|
||||
Height = 25
|
||||
Top = 420
|
||||
Height = 29
|
||||
Top = 416
|
||||
Width = 132
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
Caption = 'Сохранить'
|
||||
@ -3741,15 +3771,53 @@ object fmOptions: TfmOptions
|
||||
Font.Pitch = fpVariable
|
||||
Font.Quality = fqDraft
|
||||
Font.Style = [fsBold]
|
||||
ModalResult = 1
|
||||
OnClick = btnSaveClick
|
||||
ParentFont = False
|
||||
TabOrder = 2
|
||||
end
|
||||
object btnSetDefault: TButton
|
||||
Left = 4
|
||||
Height = 25
|
||||
Top = 420
|
||||
Width = 75
|
||||
Caption = 'Сброс'
|
||||
TabOrder = 3
|
||||
object btnSetDefault: TSpeedButton
|
||||
Left = 8
|
||||
Height = 24
|
||||
Hint = 'Установить настройки по умолчанию'
|
||||
Top = 418
|
||||
Width = 24
|
||||
Flat = True
|
||||
Glyph.Data = {
|
||||
36040000424D3604000000000000360000002800000010000000100000000100
|
||||
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00994E
|
||||
0399994E035C9B500400994E031A984D026C984D02A6984D02CC984D02C1984D
|
||||
028C984D024D994E03109C510500A2570A00A65B0D00FFFFFF00FFFFFF009C51
|
||||
05CC9C5105CC9C510585A35806BFC8841AE3EAA71FF5FCB920FFFCB920F1EAA6
|
||||
1FCFC78219A6A35909789D520622A2570A00A65B0D00FFFFFF00FFFFFF00A257
|
||||
0ACCF9BF40FFA2570ACCF7B52AFFF6B01CFFF7B11EFFF8B527FFF8B527F1F7B1
|
||||
1ED6F6B01CB4F8BA3490AB62105FA3580B19A65B0D00FFFFFF00FFFFFF00A85D
|
||||
0ECCF2B339FFF3B844FFEEA824FFF2B339FFC37E23DCA85D0ECCA85D0EC1C27E
|
||||
22BAE7A937B2EFAB2A90F3B8436DAD631243A95E0F06FFFFFF00FFFFFF00AF64
|
||||
14CCECB149FFE6A334FFEEB752FFAF6414CCAF641494AD621200AA5F0F00AE63
|
||||
134AAF641488E4A74491E8A83B6DCA88314EAF641419FFFFFF00FFFFFF00B66B
|
||||
19CCEBB861FFE7B057FFE7B057FFEEBF6AFFB66B19CCB76C1A5CB56A1800AF64
|
||||
1400B56A1932C7843178E3A84E6CDCA24C54B66B1925FFFFFF00FFFFFF00BD72
|
||||
1E99BE731FCCBE731FCCBE731FCCBE731FCCBE731FCCBD721E99C0752000C378
|
||||
2300BD721E00BE731F33E5B06140E7B4663FBD721E20FFFFFF00FFFFFF00C67B
|
||||
2620E8B86F3FE6B46C40C57A2533C2782200BF752000C1762100C67B2699C57A
|
||||
25CCC57A25CCC57A25CCC57A25CCC57A25CCC67B2699FFFFFF00FFFFFF00CD82
|
||||
2A25E6B16654E8B5706CD8984478CE832B32CF842C00CB802800CC81295CCD82
|
||||
2ACCF3CD84FFECBD77FFECBD77FFF0C57EFFCD822ACCFFFFFF00FFFFFF00D489
|
||||
3019E2A7554EEDBC766DEEBE7491D4893088D58A314AD98E3300D3882F00D489
|
||||
3094D48930CCF4CD84FFEAB772FFF1C67EFFD48930CCFFFFFF00FFFFFF00DA8F
|
||||
3406DD943A43F8D2896DF4C57D90F4C77AB2E5A852BADB9034C1DB9034CCE5A8
|
||||
52DCF7CD85FFF2C27AFFF8D389FFF7CD85FFDB9034CCFFFFFF00FFFFFF00DC91
|
||||
3500E0953919E49E435FFCD88D90FACF85B4FBD086D6FCD489F1FCD489FFFBD0
|
||||
86FFFACF85FFFBD389FFE19639CCFEDD92FFE19639CCFFFFFF00FFFFFF00DC91
|
||||
3500E1963900E59A3D22E79F4378F1B964A6FACF80CFFEDA8EF1FEDA8EFFFACF
|
||||
81F5F1BB65E3E79E42BFE59A3D85E59A3DCCE59A3DCCFFFFFF00FFFFFF00DC91
|
||||
3500E1963900E59A3D00E89D3F10E99E404DE99E408CE99E40C1E99E40CCE99E
|
||||
40A6E99E406CE89D3F1AE69B3D00E99E405CE99E4099FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
|
||||
}
|
||||
end
|
||||
end
|
||||
|
77
foptions.pas
77
foptions.pas
@ -5,15 +5,14 @@ unit fOptions;
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ButtonPanel,
|
||||
ComCtrls, ExtCtrls, StdCtrls, Menus, Types;
|
||||
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,
|
||||
ComCtrls, ExtCtrls, StdCtrls, Menus, Buttons, uOptions;
|
||||
|
||||
type
|
||||
|
||||
{ TfmOptions }
|
||||
|
||||
TfmOptions = class(TForm)
|
||||
btnSetDefault: TButton;
|
||||
btnSave: TButton;
|
||||
btnClose: TButton;
|
||||
btnCheckUpdates: TButton;
|
||||
@ -33,6 +32,7 @@ type
|
||||
cbHideOnTool: TCheckBox;
|
||||
cbDrawOutlines: TCheckBox;
|
||||
cbScreenSnap: TCheckBox;
|
||||
cmbLanguage: TComboBox;
|
||||
grpOptMainform: TGroupBox;
|
||||
grpOptInstall: TGroupBox;
|
||||
grpOptTools: TGroupBox;
|
||||
@ -40,18 +40,20 @@ type
|
||||
labAboutTitle: TLabel;
|
||||
labCopyright: TLabel;
|
||||
labDescription: TLabel;
|
||||
Label1: TLabel;
|
||||
mmLicenseText: TMemo;
|
||||
PageControl: TPageControl;
|
||||
pnLanguage: TPanel;
|
||||
btnSetDefault: TSpeedButton;
|
||||
tabCommon: TTabSheet;
|
||||
tabPackages: TTabSheet;
|
||||
tabAbout: TTabSheet;
|
||||
tabLicense: TTabSheet;
|
||||
procedure btnCloseClick(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure tabAboutContextPopup(Sender: TObject; MousePos: TPoint;
|
||||
var Handled: Boolean);
|
||||
procedure btnSaveClick(Sender: TObject);
|
||||
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
|
||||
procedure FormShow(Sender: TObject);
|
||||
private
|
||||
|
||||
procedure ResetControlls;
|
||||
public
|
||||
|
||||
end;
|
||||
@ -65,20 +67,65 @@ implementation
|
||||
|
||||
{ TfmOptions }
|
||||
|
||||
procedure TfmOptions.FormCreate(Sender: TObject);
|
||||
{------------------------------------------------------------------------------
|
||||
Процедура: TfmOptions.btnSaveClick()
|
||||
Назначение: Закрытие формы настроек и возврат модального результата при клике
|
||||
по кнопке "Сохранить"
|
||||
Описание: Закрытие формы происходит автоматически благодаря свойству
|
||||
ModalResult = mrOK, заданному кнопке в инспекторе объектов.
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TfmOptions.btnSaveClick(Sender: TObject);
|
||||
begin
|
||||
|
||||
//TODO сохранение настроек
|
||||
end;
|
||||
|
||||
procedure TfmOptions.btnCloseClick(Sender: TObject);
|
||||
{------------------------------------------------------------------------------
|
||||
Процедура: TfmOptions.FormClose()
|
||||
Назначение: Закрытие формы при её закрытии через кнопку в заголовке и возврат
|
||||
модального результата
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TfmOptions.FormClose(Sender: TObject; var CloseAction: TCloseAction);
|
||||
begin
|
||||
Self.Destroy;
|
||||
ModalResult := mrClose;
|
||||
end;
|
||||
|
||||
procedure TfmOptions.tabAboutContextPopup(Sender: TObject; MousePos: TPoint;
|
||||
var Handled: Boolean);
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Процедура: TfmOptions.FormShow()
|
||||
Назначение: Показ окна настроек
|
||||
Описание: Форма настроек создаётся однажды при её первом вызове. При закрытии
|
||||
она не уничтожается. Она может быть закрыта без сохранения настроек. При
|
||||
повторном открытии окна контроллы должны принять состояние, соответствущее
|
||||
текущим (при запуске или прошлом сохранении) настройкам. В противном случае,
|
||||
повторное открытие окна отобразит прошлые несохранённые изменения - это
|
||||
введёт пользователя в заблуждение и он примет эти настройки как текущие.
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TfmOptions.FormShow(Sender: TObject);
|
||||
begin
|
||||
ResetControlls;
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Процедура: TfmOptions.ResetControlls()
|
||||
Назначение: Сброс состояния контроллов в сооответствии с текущими настройками
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TfmOptions.ResetControlls;
|
||||
begin
|
||||
cmbLanguage.Items := GlobalOptions.ReadAvailableLocales(false);
|
||||
|
||||
cbScreenSnap.Checked := GlobalOptions.ScreenSnap;
|
||||
cbShowPkgDesc.Checked := GlobalOptions.ShowPkgDesc;
|
||||
cbDrawOutlines.Checked := GlobalOptions.DrawOutlines;
|
||||
cbOnTop.Checked := GlobalOptions.OnTop;
|
||||
|
||||
cbChkExitCodes.Checked := GlobalOptions.ChkExitCodes;
|
||||
cbDntUnChkItems.Checked := GlobalOptions.DntUnChkItems;
|
||||
cbColorSoftTree.Checked := GlobalOptions.ColorSoftTree;
|
||||
cbShowProgress.Checked := GlobalOptions.ShowProgress;
|
||||
cbQuietREG.Checked := GlobalOptions.QuietREG;
|
||||
cbExpandSoft.Checked := GlobalOptions.ExpandSoft;
|
||||
|
||||
cbHideOnTool.Checked := GlobalOptions.HideOnTool;
|
||||
cbExpandTools.Checked := GlobalOptions.ExpandTools;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
@ -5,16 +5,19 @@ unit uFileUtils;
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, Types, uPackage;
|
||||
Classes, SysUtils, FileUtil, uPackage;
|
||||
|
||||
// Получение списка файлов в директории
|
||||
function GetFileList(Path, FileMask: String; FullPaths: Boolean = True): TStringList;
|
||||
function GetFileList(APath, AFileMask: String; AFullPaths: Boolean = True): TStringList;
|
||||
|
||||
// Получение списка всех файлов внутри директории ABTool\
|
||||
function GetABToolFileList(SubDir, FileMask: String; FullPaths: Boolean = True): TStringList;
|
||||
// Получение списка всех файлов внутри директории ABTool
|
||||
function GetABToolFileList(ASubDir, AFileMask: String; AFullPaths: Boolean = True): TStringList;
|
||||
|
||||
// Получение списка всех файлов пакетов
|
||||
function GetPackagesIniFileList(PackageType: TPackageType; FullPaths: Boolean = True): TStringList;
|
||||
function GetPackagesIniFileList(APackageType: TPackageType; AFullPaths: Boolean = True): TStringList;
|
||||
|
||||
// Получение списка всех файлов локализаций
|
||||
function GetLocalesIniFileList(AFullPaths: Boolean = True): TStringList;
|
||||
|
||||
implementation
|
||||
|
||||
@ -22,27 +25,27 @@ implementation
|
||||
Функция: GetFileList
|
||||
Назначение: Получение списка файлов в директории
|
||||
Вх. параметры:
|
||||
Path: string - путь к директории, список файлов которой нужно получить
|
||||
FileMask: string - маска файлов, по которой нужно отфильтровать список файлов
|
||||
FullPaths: boolean - возвращать полные пути (true) или только имена
|
||||
APath: string - путь к директории, список файлов которой нужно получить
|
||||
AFileMask: string - маска файлов, по которой нужно отфильтровать список файлов
|
||||
AFullPaths: boolean - возвращать полные пути (true) или только имена
|
||||
файлов (false). По умолчанию true.
|
||||
Возвращает:
|
||||
TStringList - список строк с полными путями или только с именами файлов
|
||||
------------------------------------------------------------------------------}
|
||||
function GetFileList(Path, FileMask: String; FullPaths: Boolean = True): TStringList;
|
||||
function GetFileList(APath, AFileMask: String; AFullPaths: Boolean = True): TStringList;
|
||||
var
|
||||
SearchRec: TSearchRec;
|
||||
ResultLines: TStringList;
|
||||
begin
|
||||
ResultLines := TStringList.Create;
|
||||
Path := IncludeTrailingPathDelimiter(Path);
|
||||
if FindFirst(Path + FileMask, faNormal, SearchRec) = 0 then
|
||||
APath := IncludeTrailingPathDelimiter(APath);
|
||||
if FindFirst(APath + AFileMask, faNormal, SearchRec) = 0 then
|
||||
begin
|
||||
repeat
|
||||
if (SearchRec.Attr <> faDirectory) then
|
||||
begin
|
||||
if FullPaths then
|
||||
ResultLines.Add(Path + SearchRec.Name)
|
||||
if AFullPaths then
|
||||
ResultLines.Add(APath + SearchRec.Name)
|
||||
else
|
||||
ResultLines.Add(SearchRec.Name);
|
||||
end;
|
||||
@ -56,37 +59,53 @@ end;
|
||||
Функция: GetABToolFileList
|
||||
Назначение: Получение списка всех файлов внутри директории ABTool\
|
||||
Вх. параметры:
|
||||
SubDir: string - имя директории внутри ABTool\
|
||||
FileMask: string - маска файлов, по которой нужно отфильтровать список файлов
|
||||
FullPaths: boolean - возвращать полные пути (true) или только имена
|
||||
ASubDir: string - имя директории внутри ABTool\
|
||||
AFileMask: string - маска файлов, по которой нужно отфильтровать список файлов
|
||||
AFullPaths: boolean - возвращать полные пути (true) или только имена
|
||||
файлов (false). По умолчанию true.
|
||||
Возвращает:
|
||||
TStringList - список строк с полными путями или только с именами файлов пакетов
|
||||
------------------------------------------------------------------------------}
|
||||
function GetABToolFileList(SubDir, FileMask: String; FullPaths: Boolean = True): TStringList;
|
||||
function GetABToolFileList(ASubDir, AFileMask: String; AFullPaths: Boolean = True): TStringList;
|
||||
begin
|
||||
Result := GetFileList(ExtractFilePath(ParamStr(0)) + 'ABTool\' + SubDir, FileMask, FullPaths);
|
||||
Result := GetFileList(ExtractFilePath(ParamStr(0)) + 'ABTool\' + ASubDir, AFileMask, AFullPaths);
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Функция: GetPackagesIniFileList
|
||||
Назначение: Получение спискавсех файлов пакетов
|
||||
Назначение: Получение списка всех файлов пакетов
|
||||
Вх. параметры:
|
||||
PackageType: TPackageType - тип пакета: ptSoft либо ptTools
|
||||
FullPaths: boolean - возвращать полные пути (true) или только имена
|
||||
APackageType: TPackageType - тип пакета: ptSoft либо ptTools
|
||||
AFullPaths: boolean - возвращать полные пути (true) или только имена
|
||||
файлов (false). По умолчанию true.
|
||||
Возвращает:
|
||||
TStringList - список строк с полными путями или только с именами файлов пакетов
|
||||
Исключения:
|
||||
TException - при попытке передать любой другой тип пакета
|
||||
------------------------------------------------------------------------------}
|
||||
function GetPackagesIniFileList(APackageType: TPackageType; AFullPaths: Boolean = True): TStringList;
|
||||
begin
|
||||
case (APackageType) of
|
||||
ptSoft: Result := GetABToolFileList('Packages', 'soft.*.ini', AFullPaths);
|
||||
ptTools: Result := GetABToolFileList('Packages', 'tools.*.ini', AFullPaths);
|
||||
else raise Exception.Create('GetPackagesIniFileList(): передан неверный тип пакета');
|
||||
end;
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Функция: GetPackagesIniFileList
|
||||
Назначение: Получение списка всех файлов локализаций
|
||||
Вх. параметры:
|
||||
AFullPaths: boolean - возвращать полные пути (true) или только имена
|
||||
файлов (false). По умолчанию true.
|
||||
Возвращает:
|
||||
TStringList - список строк с полными путями или только с именами файлов пакетов
|
||||
Исключения:
|
||||
TException - при попытке передать ptUnknown
|
||||
------------------------------------------------------------------------------}
|
||||
function GetPackagesIniFileList(PackageType: TPackageType; FullPaths: Boolean = True): TStringList;
|
||||
function GetLocalesIniFileList(AFullPaths: Boolean = True): TStringList;
|
||||
begin
|
||||
case (PackageType) of
|
||||
ptSoft: Result := GetABToolFileList('Packages', 'soft.*.ini', FullPaths);
|
||||
ptTools: Result := GetABToolFileList('Packages', 'tools.*.ini', FullPaths);
|
||||
ptUnknown: raise Exception.Create('GetPackagesIniFileList(): передан ptUnknown');
|
||||
end;
|
||||
Result := GetABToolFileList('Languages', '*.lng', AFullPaths);
|
||||
end;
|
||||
|
||||
end.
|
||||
|
373
uoptions.pas
Normal file
373
uoptions.pas
Normal file
@ -0,0 +1,373 @@
|
||||
unit uOptions;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, Forms, IniFiles, uFileUtils;
|
||||
|
||||
type
|
||||
// Класс настроек
|
||||
|
||||
{ TOptions }
|
||||
|
||||
TOptions = class(TIniFile)
|
||||
strict private
|
||||
// Файл локализации
|
||||
FLocale: string;
|
||||
|
||||
// Прилипание к краям экрана
|
||||
FScreenSnap: Boolean;
|
||||
// Показывать описания пакетов
|
||||
FShowPkgDesc: Boolean;
|
||||
// Рисовать в деревьях линии уровней вложенности
|
||||
FDrawOutlines: Boolean;
|
||||
// Поверх всех окон
|
||||
FOnTop: Boolean;
|
||||
|
||||
// Немедленно сообщать о коде возврата <> 0
|
||||
FChkExitCodes: Boolean;
|
||||
// Не снимать отметку с чекбокса при коде возврата <> 0
|
||||
FDntUnChkItems: Boolean;
|
||||
// Раскрашивать список программ после установки
|
||||
FColorSoftTree: Boolean;
|
||||
// Отображать общий ход установки программ
|
||||
FShowProgress: Boolean;
|
||||
// Тихий импорт REG-файлов
|
||||
FQuietREG: Boolean;
|
||||
// Раскрывать дерево после загрузки пакета
|
||||
FExpandSoft: Boolean;
|
||||
|
||||
// Скрывать главное окно при запуске утилит
|
||||
FHideOnTool: Boolean;
|
||||
// Раскрывать дерево после загрузки пакета
|
||||
FExpandTools: Boolean;
|
||||
|
||||
// Последняя позиция по горизонтали от левого края экрана
|
||||
FLeft: Integer;
|
||||
// Последняя позиция по вертикали от верхнего края экрана
|
||||
FTop: Integer;
|
||||
// Последняя ширина
|
||||
FWidth: Integer;
|
||||
// Последняя высота
|
||||
FHeight: Integer;
|
||||
|
||||
// Параметры, с которыми запушена ABTool
|
||||
FCLParams: TStringList;
|
||||
private
|
||||
// Установка параметра локализации
|
||||
procedure SetLocale(ALngFilename: string);
|
||||
public
|
||||
// Файл локализации
|
||||
property Locale: string read FLocale write SetLocale;
|
||||
|
||||
// Прилипание к краям экрана
|
||||
property ScreenSnap: Boolean read FScreenSnap write FScreenSnap default True;
|
||||
// Показывать описания пакетов
|
||||
property ShowPkgDesc: Boolean read FShowPkgDesc write FShowPkgDesc default True;
|
||||
// Рисовать в деревьях линии уровней вложенности
|
||||
property DrawOutlines: Boolean read FDrawOutlines write FDrawOutlines default True;
|
||||
// Поверх всех окон
|
||||
property OnTop: Boolean read FOnTop write FOnTop default False;
|
||||
|
||||
// Немедленно сообщать о коде возврата <> 0
|
||||
property ChkExitCodes: Boolean read FChkExitCodes write FChkExitCodes default True;
|
||||
// Не снимать отметку с чекбокса при коде возврата <> 0
|
||||
property DntUnChkItems: Boolean read FDntUnChkItems write FDntUnChkItems default True;
|
||||
// Раскрашивать список программ после установки
|
||||
property ColorSoftTree: Boolean read FColorSoftTree write FColorSoftTree default True;
|
||||
// Отображать общий ход установки программ
|
||||
property ShowProgress: Boolean read FShowProgress write FShowProgress default True;
|
||||
// Тихий импорт REG-файлов
|
||||
property QuietREG: Boolean read FQuietREG write FQuietREG default True;
|
||||
// Раскрывать дерево после загрузки пакета
|
||||
property ExpandSoft: Boolean read FExpandSoft write FExpandSoft default True;
|
||||
|
||||
// Скрывать главное окно при запуске утилит
|
||||
property HideOnTool: Boolean read FExpandSoft write FExpandSoft default False;
|
||||
// Раскрывать дерево после загрузки пакета
|
||||
property ExpandTools: Boolean read FExpandSoft write FExpandSoft default True;
|
||||
|
||||
// Последняя позиция по горизонтали от левого края экрана
|
||||
property Left: Integer read FLeft write FLeft;
|
||||
// Последняя позиция по вертикали от верхнего края экрана
|
||||
property Top: Integer read FTop write FTop;
|
||||
// Последняя ширина
|
||||
property Width: Integer read FWidth write FWidth default 350;
|
||||
// Последняя высота
|
||||
property Height: Integer read FHeight write FHeight default 450;
|
||||
|
||||
// Параметры, с которыми запушена ABTool
|
||||
property CLParams: TStringList read FCLParams;
|
||||
// Пути ко всем доступным файлам локализаций
|
||||
function ReadAvailableLocales(AFullPaths: Boolean = True): TStringList;
|
||||
|
||||
// Создание объекта настроек и установка настроек
|
||||
constructor Create(AIniFilename: string); overload;
|
||||
// Деструктор объекта настроек
|
||||
destructor Destroy(); override;
|
||||
// Определение наличия доп. ключей запуска
|
||||
function HasCLParams: Boolean;
|
||||
// Установка параметров командной строки, с которыми запущен ABTool
|
||||
procedure ReadCLParams;
|
||||
// Поиск ключа запуска среди всех, с которыми запущен ABTool
|
||||
function FindCLParam(AParamName: string): Boolean;
|
||||
// Чтение настроек
|
||||
procedure Load;
|
||||
|
||||
end; // TOptions
|
||||
|
||||
var
|
||||
// Настройки - глобальный объект, доступный всем модулям, сославшимся на этот
|
||||
GlobalOptions: TOptions;
|
||||
|
||||
implementation
|
||||
|
||||
{ TOptions }
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Конструктор: TOptions.Create()
|
||||
Назначение: Создание объекта настроек и установка настроек
|
||||
------------------------------------------------------------------------------}
|
||||
constructor TOptions.Create(AIniFilename: string);
|
||||
begin
|
||||
if HasCLParams then
|
||||
ReadCLParams;
|
||||
//ReadAvailableLocales;
|
||||
inherited Create(AIniFilename, [ifoStripComments, ifoStripInvalid]);
|
||||
Load;
|
||||
GlobalOptions := Self;
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Деструктор: TOptions.Destroy()
|
||||
------------------------------------------------------------------------------}
|
||||
destructor TOptions.Destroy();
|
||||
begin
|
||||
inherited Destroy();
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Функция: TOptions.HasCLParams()
|
||||
Назначение: Определение наличия доп. ключей запуска
|
||||
Возвращает: boolean
|
||||
------------------------------------------------------------------------------}
|
||||
function TOptions.HasCLParams: Boolean;
|
||||
begin
|
||||
Result := ParamCount > 0;
|
||||
//if FDebug then
|
||||
// Log('DoesABToolHaveKeys(): '+BoolToStr(Result));
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Процедура: TOptions.ReadCLParams()
|
||||
Назначение: Установка параметров командной строки, с которыми запущен ABTool
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TOptions.ReadCLParams;
|
||||
var
|
||||
i: byte;
|
||||
begin
|
||||
if HasCLParams then
|
||||
begin
|
||||
FCLParams := TStringList.Create;
|
||||
for i := 1 to ParamCount do
|
||||
FCLParams.Add(Trim(LowerCase(ParamStr(i))));
|
||||
end;
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Функция: TOptions.FindCLParam()
|
||||
Назначение: Поиск ключа запуска среди всех, с которыми запущен ABTool
|
||||
Возвращает: boolean
|
||||
------------------------------------------------------------------------------}
|
||||
function TOptions.FindCLParam(AParamName: string): Boolean;
|
||||
var
|
||||
i: Smallint;
|
||||
begin
|
||||
Result := False;
|
||||
if HasCLParams then
|
||||
begin
|
||||
for i := 0 to FCLParams.Count - 1 do
|
||||
if Pos(LowerCase(AParamName), FCLParams.Strings[i]) > 0 then
|
||||
begin
|
||||
Result := True;
|
||||
Exit;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Процедура: TOptions.Load()
|
||||
Назначение: Чтение настроек
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TOptions.Load;
|
||||
begin
|
||||
try
|
||||
//TODO создание дефолтного файла настроек при отсутсвии такового
|
||||
//TODO создание файла настроек по умолчанию
|
||||
SetLocale(ReadString('Options', 'Locale', ''));
|
||||
|
||||
FScreenSnap := ReadBool('Options', 'ScreenSnap', True);
|
||||
FShowPkgDesc := ReadBool('Options', 'ShowPkgDesc', True);
|
||||
FDrawOutlines := ReadBool('Options', 'DrawOutlines', True);
|
||||
FOnTop := ReadBool('Options', 'OnTop', False);
|
||||
|
||||
FChkExitCodes := ReadBool('Options', 'ChkExitCodes', False);
|
||||
FDntUnChkItems := ReadBool('Options', 'DntUnChkItems', True);
|
||||
FColorSoftTree := ReadBool('Options', 'ColorSoftTree', True);
|
||||
FShowProgress := ReadBool('Options', 'ShowProgress', True);
|
||||
FQuietREG := ReadBool('Options', 'QuietREG', False);
|
||||
FExpandSoft := ReadBool('Options', 'ExpandSoft', True);
|
||||
|
||||
FHideOnTool := ReadBool('Options', 'HideOnTool', False);
|
||||
FExpandTools := ReadBool('Options', 'ExpandTools', True);
|
||||
|
||||
FLeft := ReadInteger('Options', 'Left', (Screen.Width div 2) - 175);
|
||||
FTop := ReadInteger('Options', 'Top', (Screen.Height div 2) - 225);
|
||||
FWidth := ReadInteger('Options', 'Width', 350);
|
||||
FHeight := ReadInteger('Options', 'Height', 450);
|
||||
except // SysErrorMessage(GetLastError)
|
||||
On E: Exception do
|
||||
begin
|
||||
raise Exception.Create('Не удалось прочитать настройки из файла abtool.ini.');
|
||||
//+ #13#10 +
|
||||
//'Сейчас он будет создан с параметрами по умолчанию.' + #13#10 +
|
||||
//'Сообщение системы: ' + #13#10 + E.Message + '(' + IntToStr(GetLastError) + ') ');
|
||||
//SaveOptions(true);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Процедура: TOptions.SetLocale()
|
||||
Назначение: Установка параметра локализации
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TOptions.SetLocale(ALngFilename: string);
|
||||
begin
|
||||
//TODO проверка существования файла локализации
|
||||
FLocale := ALngFilename;
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Процедура: TOptions.ReadAvailableLocales()
|
||||
Назначение: Получение списка всех доступных файлов локализаций
|
||||
Вх. параметры:
|
||||
FullPaths: boolean - возвращать полные пути (true) или только имена
|
||||
файлов (false). По умолчанию true.
|
||||
Возвращает: TStringList
|
||||
------------------------------------------------------------------------------}
|
||||
function TOptions.ReadAvailableLocales(AFullPaths: Boolean = True): TStringList;
|
||||
begin
|
||||
Result := GetLocalesIniFileList(AFullPaths);
|
||||
end;
|
||||
|
||||
{
|
||||
// Чтение настроек
|
||||
function LoadOptions: boolean;
|
||||
begin
|
||||
Result := false;
|
||||
if Options.Debug then
|
||||
Log('LoadOptions()');
|
||||
Log('Загрузка настроек из abtool.ini...');
|
||||
if not (FileExists(ABToolIniPath + 'abtool.ini')) then begin
|
||||
Log('Файла настроек не существует. Сейчас он будет создан с параметрами по умолчанию...');
|
||||
SaveOptions(true);
|
||||
end // if FileExists
|
||||
else begin
|
||||
try
|
||||
try
|
||||
with Options do begin
|
||||
ABToolIniFile := TInifile.Create(ABToolIniPath + 'abtool.ini');
|
||||
ABToolKeys := TStringList.Create;
|
||||
ABToolKeys := GetABToolKeys;
|
||||
if Options.Debug then
|
||||
Log('LoadOptions(): ABToolKeys='+GetABToolKeys.text);
|
||||
// Непосредственно чтение настроек из INI в память
|
||||
if FindCLParam('+lang') then begin
|
||||
LangFile := ReadString('Options','LangFile','');
|
||||
if Options.Debug then
|
||||
Log('LoadOptions(): LangFile='+LangFile);
|
||||
end; // if +lang
|
||||
Left := ReadInteger('Options','Left', (Screen.Width div 2) - 180);
|
||||
Top := ReadInteger('Options','Top', (Screen.Height div 2) - 292);
|
||||
Width := ReadInteger('Options','Width', 360);
|
||||
Height := ReadInteger('Options','Height', 485);
|
||||
ChkExitCodes := ReadBool('Options','ChkExitCodes',false);
|
||||
DntUnChkItems := ReadBool('Options','DntUnChkItems',true);
|
||||
ColorSoftTree := ReadBool('Options','ColorSoftTree',true);
|
||||
ShowProgress := ReadBool('Options','ShowProgress',true);
|
||||
ExpandSoft := ReadBool('Options','ExpandSoft',true);
|
||||
QuietREG := ReadBool('Options','QuietREG',false);
|
||||
HideOnTool := ReadBool('Options','HideOnTool',false);
|
||||
ExpandTools := ReadBool('Options','ExpandTools',true);
|
||||
ShowLog := ReadBool('Options','ShowLog',true);
|
||||
DrawOutlines := ReadBool('Options','DrawOutlines',true);
|
||||
ScreenSnap := ReadBool('Options','ScreenSnap',true);
|
||||
OnTop := ReadBool('Options','OnTop',false);
|
||||
ShowPkgDesc := ReadBool('Options','ShowPkgDesc',true);
|
||||
SrchVisible := ReadBool('Options','SrchVisible',false);
|
||||
ScrollLog := ReadBool('Options','ScrollLog',true);
|
||||
LastSoftPkg := ReadString('Options','LastSoftPkg', '');
|
||||
LastToolPkg := ReadString('Options','LastToolPkg', '');
|
||||
if Options.Debug then begin
|
||||
Log('LoadOptions(): Left='+Left.ToString);
|
||||
Log('LoadOptions(): Top='+Top.ToString);
|
||||
Log('LoadOptions(): Width='+Width.ToString);
|
||||
Log('LoadOptions(): Height='+Height.ToString);
|
||||
Log('LoadOptions(): ChkExitCodes='+BoolToStr(ChkExitCodes));
|
||||
Log('LoadOptions(): DntUnChkItems='+BoolToStr(DntUnChkItems));
|
||||
Log('LoadOptions(): ColorSoftTree='+BoolToStr(ColorSoftTree));
|
||||
Log('LoadOptions(): ShowProgress='+BoolToStr(ShowProgress));
|
||||
Log('LoadOptions(): ExpandSoft='+BoolToStr(ExpandSoft));
|
||||
Log('LoadOptions(): QuietREG='+BoolToStr(QuietREG));
|
||||
Log('LoadOptions(): HideOnTool='+BoolToStr(HideOnTool));
|
||||
Log('LoadOptions(): ExpandTools='+BoolToStr(ExpandTools));
|
||||
Log('LoadOptions(): DrawOutlines='+BoolToStr(DrawOutlines));
|
||||
Log('LoadOptions(): ScreenSnap='+BoolToStr(ScreenSnap));
|
||||
Log('LoadOptions(): OnTop='+BoolToStr(OnTop));
|
||||
Log('LoadOptions(): ShowPkgDesc='+BoolToStr(ShowPkgDesc));
|
||||
Log('LoadOptions(): SrchVisible='+BoolToStr(SrchVisible));
|
||||
Log('LoadOptions(): ScrollLog='+BoolToStr(ScrollLog));
|
||||
Log('LoadOptions(): LastSoftPkg='+LastSoftPkg);
|
||||
Log('LoadOptions(): ScrollLog='+LastToolPkg);
|
||||
end;
|
||||
end; // with Options
|
||||
Result := true;
|
||||
except // SysErrorMessage(GetLastError)
|
||||
On E: Exception Do Begin
|
||||
Raise Exception.Create('Не удалось прочитать настройки из файла abtool.ini.' + #13#10 +
|
||||
'Сейчас он будет создан с параметрами по умолчанию.' + #13#10 +
|
||||
'Сообщение системы: ' + #13#10 + E.Message + '(' + IntToStr(GetLastError) + ') ');
|
||||
Log('Не удалось прочитать настройки из файла abtool.ini.' + #13#10 +
|
||||
'Сейчас он будет создан с параметрами по умолчанию.' + #13#10 +
|
||||
'Сообщение системы: ' + #13#10 + E.Message + '(' + IntToStr(GetLastError) + ') ');
|
||||
if Options.Debug then
|
||||
Log('LoadOptions() EXCEPTION Stack Trace:' + #13#10 + E.StackTrace);
|
||||
SaveOptions(true);
|
||||
End; // On E: Exception
|
||||
end; // except
|
||||
finally
|
||||
// if Options.ABToolIniFile <> nil then
|
||||
// Options.Free;
|
||||
end; // finally
|
||||
end; // if not FileExists
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
end.
|
44
upackage.pas
44
upackage.pas
@ -26,9 +26,9 @@ type
|
||||
TPackage = class(TIniFile)
|
||||
strict private
|
||||
// Имя пакета: [PackageInfo] Name
|
||||
FName: String;
|
||||
FName: string;
|
||||
// Описание пакета: [PackageInfo] Description
|
||||
FDescription: String;
|
||||
FDescription: string;
|
||||
// Тип пакета
|
||||
FType: TPackageType;
|
||||
private
|
||||
@ -38,19 +38,19 @@ type
|
||||
function SetType(): TPackageType;
|
||||
public
|
||||
// Имя пакета: [PackageInfo] Name
|
||||
property Name: String read FName;
|
||||
property Name: string read FName;
|
||||
// Описание пакета: [PackageInfo] Description
|
||||
property Description: String read FDescription;
|
||||
property Description: string read FDescription;
|
||||
// Тип пакета
|
||||
property PackageType: TPackageType read FType;
|
||||
|
||||
// Создание объекта пакета и установка информации о нём
|
||||
constructor Create(APkgFilename: Ansistring); overload;
|
||||
// Деструктор
|
||||
constructor Create(AIniFilename: string); overload;
|
||||
// Деструктор объекта пакета
|
||||
destructor Destroy(); override;
|
||||
|
||||
// Запуск исполняемого файла и получение результатов запуска
|
||||
function ExecuteItem(const AFileName, AParams: String; AHideMainWindow: Boolean;
|
||||
function ExecuteItem(const AFileName, AParams: string; AHideMainWindow: Boolean;
|
||||
Out AOutExitcode: Cardinal): Boolean;
|
||||
end; // TPackage
|
||||
|
||||
@ -61,33 +61,33 @@ implementation
|
||||
{------------------------------------------------------------------------------
|
||||
Конструктор: TPackage.Create()
|
||||
Назначение: Создание объекта пакета и установка информации о нём
|
||||
Вх. параметры: APkgFilename: Ansistring - путь к ini-файлу
|
||||
Вх. параметры: AIniFilename: string - путь к ini-файлу
|
||||
------------------------------------------------------------------------------}
|
||||
constructor TPackage.Create(APkgFilename: Ansistring);
|
||||
constructor TPackage.Create(AIniFilename: string);
|
||||
begin
|
||||
inherited Create(APkgFilename, [ifoStripComments, ifoStripInvalid]);
|
||||
inherited Create(AIniFilename, [ifoStripComments, ifoStripInvalid]);
|
||||
SetProperties();
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Процедура: TPackage.SetType()
|
||||
Назначение: Установка информации о пакете
|
||||
Процедура: TPackage.SetType()
|
||||
Назначение: Установка информации о пакете
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TPackage.SetProperties();
|
||||
begin
|
||||
FName := ReadString('PackageInfo', 'Name', '<без названия>');
|
||||
FDescription := ReadString('PackageInfo', 'Description', '<без описания>');
|
||||
FName := Readstring('PackageInfo', 'Name', '<без названия>');
|
||||
FDescription := Readstring('PackageInfo', 'Description', '<без описания>');
|
||||
FType := SetType();
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Функция: TPackage.SetType()
|
||||
Назначение: Определение типа пакета по имени его файла
|
||||
Возвращает: TPackageType - тип пакета
|
||||
Функция: TPackage.SetType()
|
||||
Назначение: Определение типа пакета по имени его файла
|
||||
Возвращает: TPackageType - тип пакета
|
||||
------------------------------------------------------------------------------}
|
||||
function TPackage.SetType(): TPackageType;
|
||||
var
|
||||
SubStr: String;
|
||||
SubStr: string;
|
||||
begin
|
||||
SubStr := Copy(ExtractFileName(FileName), 1, 4);
|
||||
if (LowerCase(SubStr) = 'soft') then
|
||||
@ -99,7 +99,7 @@ begin
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Деструктор: TPackage.Destroy()
|
||||
Деструктор: TPackage.Destroy()
|
||||
------------------------------------------------------------------------------}
|
||||
destructor TPackage.Destroy();
|
||||
begin
|
||||
@ -110,14 +110,14 @@ end;
|
||||
Функция: TPackage.ExecuteItem()
|
||||
Назначение: Запуск исполняемого файла и получение результатов запуска
|
||||
Вх. параметры:
|
||||
AFileName : String - путь к исполняемому файлу
|
||||
AParams : String - дополнительные параметры запуска
|
||||
AFileName : string - путь к исполняемому файлу
|
||||
AParams : string - дополнительные параметры запуска
|
||||
AHideMainWindow : Boolean - скрывать главное окно ABTool (true) или нет (false)
|
||||
Вых. параметры:
|
||||
AOutExitcode : Cardinal - код завершения процесса
|
||||
Возвращает: boolean - true при успешном запуске программы, false при неудаче
|
||||
------------------------------------------------------------------------------}
|
||||
function TPackage.ExecuteItem(const AFileName, AParams: String; AHideMainWindow: Boolean;
|
||||
function TPackage.ExecuteItem(const AFileName, AParams: string; AHideMainWindow: Boolean;
|
||||
out AOutExitcode: Cardinal): Boolean;
|
||||
begin
|
||||
|
||||
|
@ -39,7 +39,7 @@ implementation
|
||||
{ TPackageList }
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Процедура: TPackageList.Create()
|
||||
Процедура: TPackageList.Load()
|
||||
Назначение: Создание списка пакетов по указанному типу
|
||||
Вх. параметры: APackageType: TPackageType - тип списка пакета
|
||||
------------------------------------------------------------------------------}
|
||||
@ -50,8 +50,8 @@ begin
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Процедура: TPackageList.Reload()
|
||||
Назначение: Заполнение списка пакетов объектами пакетов
|
||||
Процедура: TPackageList.Reload()
|
||||
Назначение: Заполнение списка пакетов объектами пакетов
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TPackageList.Reload();
|
||||
var
|
||||
@ -74,9 +74,9 @@ begin
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Функция: TPackage.GetPackageByIndex()
|
||||
Назначение: Получение пакета из списка по его номеру
|
||||
Возвращает: TPackage - пакет
|
||||
Функция: TPackage.GetPackageByIndex()
|
||||
Назначение: Получение пакета из списка по его номеру
|
||||
Возвращает: TPackage - пакет
|
||||
------------------------------------------------------------------------------}
|
||||
function TPackageList.GetPackageByIndex(Index: integer): TPackage;
|
||||
begin
|
||||
@ -84,9 +84,9 @@ begin
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Функция: TPackage.GetPackageByIndex()
|
||||
Назначение: Получение количества пакетов в списке
|
||||
Возвращает: integer - число пакетов в списке
|
||||
Функция: TPackage.Count()
|
||||
Назначение: Получение количества пакетов в списке
|
||||
Возвращает: integer - число пакетов в списке
|
||||
------------------------------------------------------------------------------}
|
||||
function TPackageList.Count(): integer;
|
||||
begin
|
||||
|
Loading…
Reference in New Issue
Block a user