├── LICENSE ├── README.RU.md ├── README.md └── Source ├── Config.dat ├── Project1.cfg ├── Project1.dof ├── Project1.dpr ├── Project1.res ├── Styles └── Cupboard │ ├── default.png │ ├── description.html │ ├── images │ ├── background-black.jpg │ ├── background.jpg │ ├── button.png │ ├── input.png │ ├── last-shadow.png │ ├── left-shadow.png │ ├── menu.png │ ├── right-shadow.png │ ├── settings.png │ ├── shelf-center.png │ ├── shelf-left.png │ └── shelf-right.png │ └── main.html ├── Unit1.ddp ├── Unit1.dfm ├── Unit1.pas ├── Unit2.ddp ├── Unit2.dfm ├── Unit2.pas ├── Unit3.ddp ├── Unit3.dfm ├── Unit3.pas ├── clear.bat ├── ie11_enable.reg └── nfo ├── book.nfo ├── game.nfo ├── movie.nfo └── tvshow.nfo /LICENSE: -------------------------------------------------------------------------------- 1 | This is free and unencumbered software released into the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or 4 | distribute this software, either in source code form or as a compiled 5 | binary, for any purpose, commercial or non-commercial, and by any 6 | means. 7 | 8 | In jurisdictions that recognize copyright laws, the author or authors 9 | of this software dedicate any and all copyright interest in the 10 | software to the public domain. We make this dedication for the benefit 11 | of the public at large and to the detriment of our heirs and 12 | successors. We intend this dedication to be an overt act of 13 | relinquishment in perpetuity of all present and future rights to this 14 | software under copyright law. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | For more information, please refer to 25 | -------------------------------------------------------------------------------- /README.RU.md: -------------------------------------------------------------------------------- 1 | [![EN](https://user-images.githubusercontent.com/9499881/33184537-7be87e86-d096-11e7-89bb-f3286f752bc6.png)](https://github.com/r57zone/Home-library/blob/master/README.md) 2 | [![RU](https://user-images.githubusercontent.com/9499881/27683795-5b0fbac6-5cd8-11e7-929c-057833e01fb1.png)](https://github.com/r57zone/Home-library/blob/master/README.RU.md) 3 | # Home Library 4 | Каталог для фильмов, сериалов, игр и книг. 5 | 6 | ## Настройка 7 | 1. Добавьте нужные папки в настройках. Поддерживаются скрытые папки. Пароль для их просмотра можно изменить настройках. 8 | 2. Добавьте постеры или обложки для ваших фильмов, сериалов, игр и книг. Для этого нужно добавить файл с названием "Cover" в папку фильма, игры, сериала или книги. Также рекомендуется создать "CoverSmall", уменьшенную версию, чтобы загрузка была более быстрой и изображения были более приятными. Рекомендуемые размеры для "CoverSmall" постеров или обложек следующие: для фильмов - 100x150, для новые игр - 100x133 и для старых игр - 100x100. Загрузить обложки автоматически можно в программе [MediaElch](https://github.com/Komet/MediaElch). 9 | 3. Добавьте по необходимости описание для ваших фильмов, сериалов, игр и книг. Это можно сделать как вручную, нажав на "+" и введя данные с Википедии или автоматически, с помощью программы [MediaElch](https://github.com/Komet/MediaElch) для фильмов и сериалов. Для игр и книг придётся заполнять вручную, обложки в хорошем разрешении можно скачать, с помощью программы Playnite (будут в папке программы - "Playnite\library\files") или также вручную. Описание хранится в файлах "NFO", фильмы и сериалы будут совместимы с оболочкой "Kodi". 10 | 4. Добавьте по необходимости нужные кнопки в описание. По умолчанию для фильмов создается кнопка "Посмотреть", для игр кнопка "Установить", а для книг кнопка "Открыть" и кнопка "Открыть папку" для всех категорий. Дополнительно можно создать свои кнопки, например, для открытия папки, приложения или файла. В файле "NFO" есть пример создания кнопки, при необходимости дублируется их (подпункт "button", в пункте "buttons"). 11 | 5. По желанию можно обменять функциональность правой и левой кнопки мыши. 12 | 13 | ## Особенности 14 | По умолчанию, файлы `ISO`, `CUE`, `EXE` и папки автоматически добавляются в описание. Отключить это можно в настройках. Для автоматического монтирования `ISO` и `CUE` образов можно установить [программу WinCDEmu](https://wincdemu.sysprogs.org/). 15 | 16 | 17 | Для переименования автоматически добавленных кнопок, необходимо создать кнопку самостоятельно, например - ``. 18 | 19 | 20 | Для скрытия какой-либо кнопки, можно добавить кнопку с имененм `hidden`, например - ``. 21 | 22 | ## Загрузка 23 | >Версия для Windows 7, 8.1, 10. 24 | 25 | [Загрузить](https://github.com/r57zone/Home-library/releases) 26 | 27 | ## Скриншоты 28 | ![](https://user-images.githubusercontent.com/9499881/71445771-0ee7a200-2736-11ea-8b98-54ac77f88548.png) 29 | 30 | ![](https://user-images.githubusercontent.com/9499881/71445804-59691e80-2736-11ea-9180-b4588a18ab86.png) 31 | 32 | ![](https://user-images.githubusercontent.com/9499881/71445966-0f813800-2738-11ea-9883-1469a7992a16.png) 33 | 34 | ![](https://user-images.githubusercontent.com/9499881/71445983-2a53ac80-2738-11ea-81f5-e8b8a6d4858b.png) 35 | 36 | ## Обратная связь 37 | `r57zone[собака]gmail.com` -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![EN](https://user-images.githubusercontent.com/9499881/33184537-7be87e86-d096-11e7-89bb-f3286f752bc6.png)](https://github.com/r57zone/Home-library/blob/master/README.md) 2 | [![RU](https://user-images.githubusercontent.com/9499881/27683795-5b0fbac6-5cd8-11e7-929c-057833e01fb1.png)](https://github.com/r57zone/Home-library/blob/master/README.RU.md) 3 | ← Choose language | Выберите язык 4 | 5 | # Home Library 6 | Catalog for movies, tv shows, games and books. 7 | 8 | ## Setup 9 | 1. Add the necessary folders in the settings. Hidden folders are supported. The password for viewing them can be changed in the settings. 10 | 2. Add posters or covers for your movies, TV shows, games, and books. To do this, add a file called "Cover" to the folder of the movie, game, TV tv shows or book. It is also recommended that you create a "CoverSmall", a smaller version so that the download is faster and the images are more enjoyable. Recommended sizes for "CoverSmall" posters or covers are as follows: for movies - 100x150, for new games - 100x133 and for old games - 100x100. You can automatically download covers in the program [MediaElch](https://github.com/Komet/MediaElch). 11 | 3. Add, if necessary, a description for your movies, tv shows, games, and books. This can be done either manually by clicking on "+" and entering data from Wikipedia or automatically using the program [MediaElch](https://github.com/Komet/MediaElch) for movies and TV shows. For games and books you have to fill in manually, covers in good resolution can be downloaded using the Playnite program (will be in the program folder - "Playnite\library\files") or also manually. The description is stored in "NFO" files, movies and TV shows will be compatible with the "Kodi" shell. 12 | 4. Add the necessary buttons to the description as necessary. By default, the "View" button is created for movies, the "Install" button for games, and the "Open" button for books and the "Open Folder" button for all categories. Additionally, you can create your own buttons, for example, to open a folder, application or file. There is an example of creating a button in the "NFO" file; if necessary, they are duplicated (the "button" sub-item, in the "buttons" item). 13 | 5. Optionally, you can exchange the functionality of the right and left mouse buttons. 14 | 15 | ## Features 16 | By default, `ISO`, `CUE`, `EXE` files and folders are automatically added to the description. You can disable this in the settings. To automount `ISO` and `CUE` images, you can install the [WinCDEmu program](https://wincdemu.sysprogs.org/). 17 | 18 | 19 | To rename automatically added buttons, you need to create a button yourself, for example - ``. 20 | 21 | 22 | To hide a button, you can add a button named `hidden`, for example - ``. 23 | 24 | ## Download 25 | >Version for Windows 7, 8.1, 10. 26 | 27 | [Download](https://github.com/r57zone/Home-library/releases) 28 | 29 | ## Screenshots 30 | ![](https://user-images.githubusercontent.com/9499881/71446104-4277fb80-2739-11ea-8d18-6574a1de4973.png) 31 | 32 | ![](https://user-images.githubusercontent.com/9499881/71446154-ad293700-2739-11ea-8be8-f4ae43b7f686.png) 33 | 34 | ![](https://user-images.githubusercontent.com/9499881/71446166-c7631500-2739-11ea-9d1b-e26a5b92ffdb.png) 35 | 36 | ![](https://user-images.githubusercontent.com/9499881/71446243-90d9ca00-273a-11ea-91b6-145253e34131.png) 37 | 38 | ## Feedback 39 | `r57zone[at]gmail.com` -------------------------------------------------------------------------------- /Source/Config.dat: -------------------------------------------------------------------------------- 1 | [Main] 2 | Skin=Cupboard 3 | Password= 4 | SwapMouseButtons=0 5 | 6 | [Viewer] 7 | Width=800 8 | Height=600 -------------------------------------------------------------------------------- /Source/Project1.cfg: -------------------------------------------------------------------------------- 1 | -$A8 2 | -$B- 3 | -$C+ 4 | -$D+ 5 | -$E- 6 | -$F- 7 | -$G+ 8 | -$H+ 9 | -$I+ 10 | -$J- 11 | -$K- 12 | -$L+ 13 | -$M- 14 | -$N+ 15 | -$O+ 16 | -$P+ 17 | -$Q- 18 | -$R- 19 | -$S- 20 | -$T- 21 | -$U- 22 | -$V+ 23 | -$W- 24 | -$X+ 25 | -$YD 26 | -$Z1 27 | -cg 28 | -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; 29 | -H+ 30 | -W+ 31 | -M 32 | -$M16384,1048576 33 | -K$00400000 34 | -LE"c:\programs\borland\delphi7\Projects\Bpl" 35 | -LN"c:\programs\borland\delphi7\Projects\Bpl" 36 | -w-UNSAFE_TYPE 37 | -w-UNSAFE_CODE 38 | -w-UNSAFE_CAST 39 | -------------------------------------------------------------------------------- /Source/Project1.dof: -------------------------------------------------------------------------------- 1 | [FileVersion] 2 | Version=7.0 3 | [Compiler] 4 | A=8 5 | B=0 6 | C=1 7 | D=1 8 | E=0 9 | F=0 10 | G=1 11 | H=1 12 | I=1 13 | J=0 14 | K=0 15 | L=1 16 | M=0 17 | N=1 18 | O=1 19 | P=1 20 | Q=0 21 | R=0 22 | S=0 23 | T=0 24 | U=0 25 | V=1 26 | W=0 27 | X=1 28 | Y=1 29 | Z=1 30 | ShowHints=1 31 | ShowWarnings=1 32 | UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; 33 | NamespacePrefix= 34 | SymbolDeprecated=1 35 | SymbolLibrary=1 36 | SymbolPlatform=1 37 | UnitLibrary=1 38 | UnitPlatform=1 39 | UnitDeprecated=1 40 | HResultCompat=1 41 | HidingMember=1 42 | HiddenVirtual=1 43 | Garbage=1 44 | BoundsError=1 45 | ZeroNilCompat=1 46 | StringConstTruncated=1 47 | ForLoopVarVarPar=1 48 | TypedConstVarPar=1 49 | AsgToTypedConst=1 50 | CaseLabelRange=1 51 | ForVariable=1 52 | ConstructingAbstract=1 53 | ComparisonFalse=1 54 | ComparisonTrue=1 55 | ComparingSignedUnsigned=1 56 | CombiningSignedUnsigned=1 57 | UnsupportedConstruct=1 58 | FileOpen=1 59 | FileOpenUnitSrc=1 60 | BadGlobalSymbol=1 61 | DuplicateConstructorDestructor=1 62 | InvalidDirective=1 63 | PackageNoLink=1 64 | PackageThreadVar=1 65 | ImplicitImport=1 66 | HPPEMITIgnored=1 67 | NoRetVal=1 68 | UseBeforeDef=1 69 | ForLoopVarUndef=1 70 | UnitNameMismatch=1 71 | NoCFGFileFound=1 72 | MessageDirective=1 73 | ImplicitVariants=1 74 | UnicodeToLocale=1 75 | LocaleToUnicode=1 76 | ImagebaseMultiple=1 77 | SuspiciousTypecast=1 78 | PrivatePropAccessor=1 79 | UnsafeType=0 80 | UnsafeCode=0 81 | UnsafeCast=0 82 | [Linker] 83 | MapFile=0 84 | OutputObjs=0 85 | ConsoleApp=1 86 | DebugInfo=0 87 | RemoteSymbols=0 88 | MinStackSize=16384 89 | MaxStackSize=1048576 90 | ImageBase=4194304 91 | ExeDescription= 92 | [Directories] 93 | OutputDir= 94 | UnitOutputDir= 95 | PackageDLLOutputDir= 96 | PackageDCPOutputDir= 97 | SearchPath= 98 | Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP;BComPortD7 99 | Conditionals= 100 | DebugSourceDirs= 101 | UsePackages=0 102 | [Parameters] 103 | RunParams= 104 | HostApplication= 105 | Launcher= 106 | UseLauncher=0 107 | DebugCWD= 108 | [Language] 109 | ActiveLang= 110 | ProjectLang= 111 | RootDir= 112 | [Version Info] 113 | IncludeVerInfo=0 114 | AutoIncBuild=0 115 | MajorVer=1 116 | MinorVer=0 117 | Release=0 118 | Build=0 119 | Debug=0 120 | PreRelease=0 121 | Special=0 122 | Private=0 123 | DLL=0 124 | Locale=1049 125 | CodePage=1251 126 | [Version Info Keys] 127 | CompanyName= 128 | FileDescription= 129 | FileVersion=1.0.0.0 130 | InternalName= 131 | LegalCopyright= 132 | LegalTrademarks= 133 | OriginalFilename= 134 | ProductName= 135 | ProductVersion=1.0.0.0 136 | Comments= 137 | -------------------------------------------------------------------------------- /Source/Project1.dpr: -------------------------------------------------------------------------------- 1 | program Project1; 2 | 3 | uses 4 | Forms, 5 | Unit1 in 'Unit1.pas' {Main}, 6 | Unit2 in 'Unit2.pas' {DescriptionForm}, 7 | Unit3 in 'Unit3.pas' {SettingsForm}; 8 | 9 | {$R *.res} 10 | 11 | begin 12 | Application.Initialize; 13 | Application.CreateForm(TMain, Main); 14 | Application.CreateForm(TDescriptionForm, DescriptionForm); 15 | Application.CreateForm(TSettingsForm, SettingsForm); 16 | Application.ShowMainForm:=false; 17 | Application.Run; 18 | end. 19 | -------------------------------------------------------------------------------- /Source/Project1.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r57zone/HomeLibrary/92d44132dc79ac7211fef515888582ac3975f507/Source/Project1.res -------------------------------------------------------------------------------- /Source/Styles/Cupboard/default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r57zone/HomeLibrary/92d44132dc79ac7211fef515888582ac3975f507/Source/Styles/Cupboard/default.png -------------------------------------------------------------------------------- /Source/Styles/Cupboard/description.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Style 7 | 8 | 139 | 140 | 141 |
142 |
143 |
144 | 145 |
146 | 150 |
151 | 152 |
153 |
154 | 158 |
159 | 170 |
171 |
172 |
173 |
174 | 175 | -------------------------------------------------------------------------------- /Source/Styles/Cupboard/images/background-black.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r57zone/HomeLibrary/92d44132dc79ac7211fef515888582ac3975f507/Source/Styles/Cupboard/images/background-black.jpg -------------------------------------------------------------------------------- /Source/Styles/Cupboard/images/background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r57zone/HomeLibrary/92d44132dc79ac7211fef515888582ac3975f507/Source/Styles/Cupboard/images/background.jpg -------------------------------------------------------------------------------- /Source/Styles/Cupboard/images/button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r57zone/HomeLibrary/92d44132dc79ac7211fef515888582ac3975f507/Source/Styles/Cupboard/images/button.png -------------------------------------------------------------------------------- /Source/Styles/Cupboard/images/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r57zone/HomeLibrary/92d44132dc79ac7211fef515888582ac3975f507/Source/Styles/Cupboard/images/input.png -------------------------------------------------------------------------------- /Source/Styles/Cupboard/images/last-shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r57zone/HomeLibrary/92d44132dc79ac7211fef515888582ac3975f507/Source/Styles/Cupboard/images/last-shadow.png -------------------------------------------------------------------------------- /Source/Styles/Cupboard/images/left-shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r57zone/HomeLibrary/92d44132dc79ac7211fef515888582ac3975f507/Source/Styles/Cupboard/images/left-shadow.png -------------------------------------------------------------------------------- /Source/Styles/Cupboard/images/menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r57zone/HomeLibrary/92d44132dc79ac7211fef515888582ac3975f507/Source/Styles/Cupboard/images/menu.png -------------------------------------------------------------------------------- /Source/Styles/Cupboard/images/right-shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r57zone/HomeLibrary/92d44132dc79ac7211fef515888582ac3975f507/Source/Styles/Cupboard/images/right-shadow.png -------------------------------------------------------------------------------- /Source/Styles/Cupboard/images/settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r57zone/HomeLibrary/92d44132dc79ac7211fef515888582ac3975f507/Source/Styles/Cupboard/images/settings.png -------------------------------------------------------------------------------- /Source/Styles/Cupboard/images/shelf-center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r57zone/HomeLibrary/92d44132dc79ac7211fef515888582ac3975f507/Source/Styles/Cupboard/images/shelf-center.png -------------------------------------------------------------------------------- /Source/Styles/Cupboard/images/shelf-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r57zone/HomeLibrary/92d44132dc79ac7211fef515888582ac3975f507/Source/Styles/Cupboard/images/shelf-left.png -------------------------------------------------------------------------------- /Source/Styles/Cupboard/images/shelf-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r57zone/HomeLibrary/92d44132dc79ac7211fef515888582ac3975f507/Source/Styles/Cupboard/images/shelf-right.png -------------------------------------------------------------------------------- /Source/Styles/Cupboard/main.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Style 7 | 8 | 160 | 181 | 182 | 183 | 197 | 198 |
199 |
200 |
201 | 204 |
205 |
206 |
207 |
208 | 209 | 210 | -------------------------------------------------------------------------------- /Source/Unit1.ddp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r57zone/HomeLibrary/92d44132dc79ac7211fef515888582ac3975f507/Source/Unit1.ddp -------------------------------------------------------------------------------- /Source/Unit1.dfm: -------------------------------------------------------------------------------- 1 | object Main: TMain 2 | Left = 192 3 | Top = 124 4 | Width = 800 5 | Height = 600 6 | Caption = #1044#1086#1084#1072#1096#1085#1103#1103' '#1073#1080#1073#1083#1080#1086#1090#1077#1082#1072 7 | Color = clBtnFace 8 | Font.Charset = DEFAULT_CHARSET 9 | Font.Color = clWindowText 10 | Font.Height = -11 11 | Font.Name = 'MS Sans Serif' 12 | Font.Style = [] 13 | OldCreateOrder = False 14 | Position = poScreenCenter 15 | Visible = True 16 | OnActivate = FormActivate 17 | OnClose = FormClose 18 | OnCreate = FormCreate 19 | OnDeactivate = FormDeactivate 20 | PixelsPerInch = 96 21 | TextHeight = 13 22 | object WebView: TWebBrowser 23 | Left = 0 24 | Top = 0 25 | Width = 784 26 | Height = 561 27 | Align = alClient 28 | TabOrder = 0 29 | OnBeforeNavigate2 = WebViewBeforeNavigate2 30 | OnDocumentComplete = WebViewDocumentComplete 31 | ControlData = { 32 | 4C00000007510000FB3900000000000000000000000000000000000000000000 33 | 000000004C000000000000000000000001000000E0D057007335CF11AE690800 34 | 2B2E12620A000000000000004C0000000114020000000000C000000000000046 35 | 8000000000000000000000000000000000000000000000000000000000000000 36 | 00000000000000000100000000000000000000000000000000000000} 37 | end 38 | end 39 | -------------------------------------------------------------------------------- /Source/Unit1.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r57zone/HomeLibrary/92d44132dc79ac7211fef515888582ac3975f507/Source/Unit1.pas -------------------------------------------------------------------------------- /Source/Unit2.ddp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r57zone/HomeLibrary/92d44132dc79ac7211fef515888582ac3975f507/Source/Unit2.ddp -------------------------------------------------------------------------------- /Source/Unit2.dfm: -------------------------------------------------------------------------------- 1 | object DescriptionForm: TDescriptionForm 2 | Left = 192 3 | Top = 125 4 | Width = 800 5 | Height = 600 6 | Caption = 'Description' 7 | Color = clBtnFace 8 | Font.Charset = DEFAULT_CHARSET 9 | Font.Color = clWindowText 10 | Font.Height = -11 11 | Font.Name = 'MS Sans Serif' 12 | Font.Style = [] 13 | OldCreateOrder = False 14 | Position = poScreenCenter 15 | OnClose = FormClose 16 | OnShow = FormShow 17 | PixelsPerInch = 96 18 | TextHeight = 13 19 | object WebView: TWebBrowser 20 | Left = 0 21 | Top = 0 22 | Width = 784 23 | Height = 561 24 | Align = alClient 25 | TabOrder = 0 26 | OnBeforeNavigate2 = WebViewBeforeNavigate2 27 | OnDocumentComplete = WebViewDocumentComplete 28 | ControlData = { 29 | 4C00000007510000FB3900000000000000000000000000000000000000000000 30 | 000000004C000000000000000000000001000000E0D057007335CF11AE690800 31 | 2B2E12620A000000000000004C0000000114020000000000C000000000000046 32 | 8000000000000000000000000000000000000000000000000000000000000000 33 | 00000000000000000100000000000000000000000000000000000000} 34 | end 35 | object XPManifest: TXPManifest 36 | Left = 8 37 | Top = 8 38 | end 39 | end 40 | -------------------------------------------------------------------------------- /Source/Unit2.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r57zone/HomeLibrary/92d44132dc79ac7211fef515888582ac3975f507/Source/Unit2.pas -------------------------------------------------------------------------------- /Source/Unit3.ddp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r57zone/HomeLibrary/92d44132dc79ac7211fef515888582ac3975f507/Source/Unit3.ddp -------------------------------------------------------------------------------- /Source/Unit3.dfm: -------------------------------------------------------------------------------- 1 | object SettingsForm: TSettingsForm 2 | Left = 192 3 | Top = 125 4 | BorderIcons = [biSystemMenu, biMinimize] 5 | BorderStyle = bsSingle 6 | Caption = #1053#1072#1089#1090#1088#1086#1081#1082#1080 7 | ClientHeight = 418 8 | ClientWidth = 460 9 | Color = clBtnFace 10 | Font.Charset = DEFAULT_CHARSET 11 | Font.Color = clWindowText 12 | Font.Height = -11 13 | Font.Name = 'MS Sans Serif' 14 | Font.Style = [] 15 | OldCreateOrder = False 16 | Position = poScreenCenter 17 | OnCreate = FormCreate 18 | PixelsPerInch = 96 19 | TextHeight = 13 20 | object FoldersLbl: TLabel 21 | Left = 8 22 | Top = 8 23 | Width = 35 24 | Height = 13 25 | Caption = #1055#1072#1087#1082#1080':' 26 | end 27 | object HiddenFoldersLbl: TLabel 28 | Left = 8 29 | Top = 144 30 | Width = 80 31 | Height = 13 32 | Caption = #1057#1082#1088#1099#1090#1080#1077' '#1087#1072#1087#1082#1080':' 33 | end 34 | object PasswordLbl: TLabel 35 | Left = 8 36 | Top = 280 37 | Width = 41 38 | Height = 13 39 | Caption = #1055#1072#1088#1086#1083#1100':' 40 | end 41 | object PathsLB: TListBox 42 | Left = 8 43 | Top = 24 44 | Width = 361 45 | Height = 113 46 | ItemHeight = 13 47 | PopupMenu = PopupMenuFolder 48 | TabOrder = 0 49 | end 50 | object AddPathBtn: TButton 51 | Left = 376 52 | Top = 24 53 | Width = 75 54 | Height = 25 55 | Caption = #1044#1086#1073#1072#1074#1080#1090#1100 56 | TabOrder = 1 57 | OnClick = AddPathBtnClick 58 | end 59 | object RemBtn: TButton 60 | Left = 376 61 | Top = 56 62 | Width = 75 63 | Height = 25 64 | Caption = #1059#1076#1072#1083#1080#1090#1100 65 | TabOrder = 2 66 | OnClick = RemBtnClick 67 | end 68 | object HiddenPathsLB: TListBox 69 | Left = 8 70 | Top = 160 71 | Width = 361 72 | Height = 113 73 | ItemHeight = 13 74 | PopupMenu = PopupMenuFolder2 75 | TabOrder = 3 76 | end 77 | object AddHdnPathBtn: TButton 78 | Left = 376 79 | Top = 160 80 | Width = 75 81 | Height = 25 82 | Caption = #1044#1086#1073#1072#1074#1080#1090#1100 83 | TabOrder = 4 84 | OnClick = AddHdnPathBtnClick 85 | end 86 | object RemHdnPathBtn: TButton 87 | Left = 376 88 | Top = 192 89 | Width = 75 90 | Height = 25 91 | Caption = #1059#1076#1072#1083#1080#1090#1100 92 | TabOrder = 5 93 | OnClick = RemHdnPathBtnClick 94 | end 95 | object PasswordEdt: TEdit 96 | Left = 8 97 | Top = 296 98 | Width = 161 99 | Height = 21 100 | PasswordChar = '*' 101 | TabOrder = 6 102 | end 103 | object OkBtn: TButton 104 | Left = 8 105 | Top = 384 106 | Width = 75 107 | Height = 25 108 | Caption = 'OK' 109 | TabOrder = 7 110 | OnClick = OkBtnClick 111 | end 112 | object CancelBtn: TButton 113 | Left = 88 114 | Top = 384 115 | Width = 75 116 | Height = 25 117 | Caption = #1054#1090#1084#1077#1085#1072 118 | TabOrder = 8 119 | OnClick = CancelBtnClick 120 | end 121 | object Button5: TButton 122 | Left = 428 123 | Top = 384 124 | Width = 25 125 | Height = 25 126 | Caption = '?' 127 | TabOrder = 9 128 | OnClick = Button5Click 129 | end 130 | object SwapMouseFuncCB: TCheckBox 131 | Left = 8 132 | Top = 354 133 | Width = 225 134 | Height = 17 135 | Caption = #1055#1086#1084#1077#1085#1103#1090#1100' '#1084#1077#1089#1090#1072#1084#1080' '#1092#1091#1085#1082#1094#1080#1080' '#1084#1099#1096#1080 136 | TabOrder = 10 137 | end 138 | object AdditionalBtnsCB: TCheckBox 139 | Left = 8 140 | Top = 328 141 | Width = 185 142 | Height = 17 143 | Caption = #1044#1086#1087#1086#1083#1085#1080#1090#1077#1083#1100#1085#1099#1077' '#1082#1085#1086#1087#1082#1080 144 | TabOrder = 11 145 | end 146 | object PopupMenuFolder: TPopupMenu 147 | Left = 376 148 | Top = 88 149 | object MoveFolderUpBtn: TMenuItem 150 | Caption = #1055#1077#1088#1077#1084#1077#1089#1090#1080#1090#1100' '#1074#1099#1096#1077 151 | OnClick = MoveFolderUpBtnClick 152 | end 153 | object MoveFolderDownBtn: TMenuItem 154 | Caption = #1055#1077#1088#1077#1084#1077#1089#1090#1080#1090#1100' '#1085#1080#1078#1077 155 | OnClick = MoveFolderDownBtnClick 156 | end 157 | end 158 | object PopupMenuFolder2: TPopupMenu 159 | Left = 376 160 | Top = 224 161 | object MoveFolderUpBtn2: TMenuItem 162 | Caption = #1055#1077#1088#1077#1084#1077#1089#1090#1080#1090#1100' '#1074#1099#1096#1077 163 | OnClick = MoveFolderUpBtn2Click 164 | end 165 | object MoveFolderDownBtn2: TMenuItem 166 | Caption = #1055#1077#1088#1077#1084#1077#1089#1090#1080#1090#1100' '#1085#1080#1078#1077 167 | OnClick = MoveFolderDownBtn2Click 168 | end 169 | end 170 | end 171 | -------------------------------------------------------------------------------- /Source/Unit3.pas: -------------------------------------------------------------------------------- 1 | unit Unit3; 2 | 3 | interface 4 | 5 | uses 6 | Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 7 | Dialogs, StdCtrls, ShlObj, IniFiles, Menus; 8 | 9 | type 10 | TSettingsForm = class(TForm) 11 | PathsLB: TListBox; 12 | FoldersLbl: TLabel; 13 | AddPathBtn: TButton; 14 | RemBtn: TButton; 15 | HiddenPathsLB: TListBox; 16 | HiddenFoldersLbl: TLabel; 17 | AddHdnPathBtn: TButton; 18 | RemHdnPathBtn: TButton; 19 | PasswordLbl: TLabel; 20 | PasswordEdt: TEdit; 21 | OkBtn: TButton; 22 | CancelBtn: TButton; 23 | Button5: TButton; 24 | SwapMouseFuncCB: TCheckBox; 25 | PopupMenuFolder: TPopupMenu; 26 | MoveFolderUpBtn: TMenuItem; 27 | MoveFolderDownBtn: TMenuItem; 28 | PopupMenuFolder2: TPopupMenu; 29 | MoveFolderUpBtn2: TMenuItem; 30 | MoveFolderDownBtn2: TMenuItem; 31 | AdditionalBtnsCB: TCheckBox; 32 | procedure Button5Click(Sender: TObject); 33 | procedure FormCreate(Sender: TObject); 34 | procedure CancelBtnClick(Sender: TObject); 35 | procedure AddPathBtnClick(Sender: TObject); 36 | procedure RemBtnClick(Sender: TObject); 37 | procedure OkBtnClick(Sender: TObject); 38 | procedure AddHdnPathBtnClick(Sender: TObject); 39 | procedure RemHdnPathBtnClick(Sender: TObject); 40 | procedure MoveFolderUpBtnClick(Sender: TObject); 41 | procedure MoveFolderDownBtnClick(Sender: TObject); 42 | procedure MoveFolderUpBtn2Click(Sender: TObject); 43 | procedure MoveFolderDownBtn2Click(Sender: TObject); 44 | private 45 | { Private declarations } 46 | public 47 | { Public declarations } 48 | end; 49 | 50 | var 51 | SettingsForm: TSettingsForm; 52 | 53 | implementation 54 | 55 | uses Unit1; 56 | 57 | {$R *.dfm} 58 | 59 | function BrowseFolderDialog(Title: PChar): string; 60 | var 61 | TitleName: string; 62 | lpItemid: pItemIdList; 63 | BrowseInfo: TBrowseInfo; 64 | DisplayName: array[0..MAX_PATH] of Char; 65 | TempPath: array[0..MAX_PATH] of Char; 66 | begin 67 | FillChar(BrowseInfo, SizeOf(TBrowseInfo), #0); 68 | BrowseInfo.hwndOwner:=GetDesktopWindow; 69 | BrowseInfo.pSzDisplayName:=@DisplayName; 70 | TitleName:=Title; 71 | BrowseInfo.lpSzTitle:=PChar(TitleName); 72 | BrowseInfo.ulFlags:=BIF_NEWDIALOGSTYLE; 73 | lpItemId:=shBrowseForFolder(BrowseInfo); 74 | if lpItemId <> nil then begin 75 | shGetPathFromIdList(lpItemId, TempPath); 76 | Result:=TempPath; 77 | GlobalFreePtr(lpItemId); 78 | end; 79 | end; 80 | 81 | procedure TSettingsForm.Button5Click(Sender: TObject); 82 | begin 83 | Application.MessageBox(PChar(IDS_TITLE + ' 0.5' + #13#10 + 84 | ID_LAST_UPDATE + ' 13.04.23' + #13#10 + 85 | 'https://r57zone.github.io' + #13#10 + 86 | 'r57zone@gmail.com'), PChar(IDS_TITLE), MB_ICONINFORMATION); 87 | end; 88 | 89 | procedure TSettingsForm.FormCreate(Sender: TObject); 90 | begin 91 | Caption:=IDS_SETTINGS; 92 | FoldersLbl.Caption:=IDS_FOLDERS; 93 | HiddenFoldersLbl.Caption:=IDS_HIDDEN_FOLDERS; 94 | AddPathBtn.Caption:=IDS_ADD; 95 | AddHdnPathBtn.Caption:=IDS_ADD; 96 | RemBtn.Caption:=IDS_REMOVE; 97 | RemHdnPathBtn.Caption:=IDS_REMOVE; 98 | PasswordLbl.Caption:=IDS_PASSWORD; 99 | AdditionalBtnsCB.Caption:=IDS_ADV_BTNS; 100 | SwapMouseFuncCB.Caption:=IDS_SWAP_MOUSE_BTNS; 101 | CancelBtn.Caption:=IDS_CANCEL; 102 | MoveFolderUpBtn.Caption:=IDS_MOVE_UP; 103 | MoveFolderDownBtn.Caption:=IDS_MOVE_DOWN; 104 | MoveFolderUpBtn2.Caption:=IDS_MOVE_UP; 105 | MoveFolderDownBtn2.Caption:=IDS_MOVE_DOWN; 106 | PasswordEdt.Text:=Password; 107 | PathsLB.Items.Text:=MenuCats.Text; 108 | HiddenPathsLB.Items.Text:=HiddenMenuCats.Text; 109 | AdditionalBtnsCB.Checked:=ShowAdditionalButtons; 110 | SwapMouseFuncCB.Checked:=SwapMouseButtons; 111 | end; 112 | 113 | procedure TSettingsForm.CancelBtnClick(Sender: TObject); 114 | begin 115 | Close; 116 | end; 117 | 118 | procedure TSettingsForm.AddPathBtnClick(Sender: TObject); 119 | var 120 | TempPath: string; 121 | begin 122 | TempPath:=BrowseFolderDialog(PChar(IDS_SELECT_FOLDER)); 123 | if TempPath <> '' then 124 | PathsLB.Items.Add(TempPath); 125 | end; 126 | 127 | procedure TSettingsForm.RemBtnClick(Sender: TObject); 128 | begin 129 | if PathsLB.ItemIndex = -1 then Exit; 130 | PathsLB.DeleteSelected; 131 | end; 132 | 133 | procedure TSettingsForm.OkBtnClick(Sender: TObject); 134 | var 135 | Ini: TIniFile; 136 | begin 137 | Ini:=TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'Config.dat'); 138 | Ini.WriteString('Main', 'CatFolders', Trim(StringReplace(PathsLB.Items.Text, #13#10, ';', [rfReplaceAll]))); 139 | Ini.WriteString('Main', 'CatHiddenFolders', Trim(StringReplace(HiddenPathsLB.Items.Text, #13#10, ';', [rfReplaceAll]))); 140 | Ini.WriteString('Main', 'Password', PasswordEdt.Text); 141 | Ini.WriteBool('Main', 'AdditionalButtons', AdditionalBtnsCB.Checked); 142 | Ini.WriteBool('Main', 'SwapMouseButtons', SwapMouseFuncCB.Checked); 143 | Ini.Free; 144 | WinExec(PChar(ParamStr(0)), SW_SHOW); 145 | Main.Close; 146 | end; 147 | 148 | procedure TSettingsForm.AddHdnPathBtnClick(Sender: TObject); 149 | var 150 | TempPath: string; 151 | begin 152 | TempPath:=BrowseFolderDialog(PChar(IDS_SELECT_FOLDER)); 153 | if TempPath <> '' then 154 | HiddenPathsLB.Items.Add(TempPath); 155 | end; 156 | 157 | procedure TSettingsForm.RemHdnPathBtnClick(Sender: TObject); 158 | begin 159 | if HiddenPathsLB.ItemIndex = -1 then Exit; 160 | HiddenPathsLB.DeleteSelected; 161 | end; 162 | 163 | procedure TSettingsForm.MoveFolderUpBtnClick(Sender: TObject); 164 | var 165 | TempFolderPath: string; 166 | begin 167 | if (PathsLB.ItemIndex = -1) or (PathsLB.ItemIndex = 0) then Exit; 168 | TempFolderPath:=PathsLB.Items.Strings[PathsLB.ItemIndex]; 169 | PathsLB.Items.Strings[PathsLB.ItemIndex]:=PathsLB.Items.Strings[PathsLB.ItemIndex - 1]; 170 | PathsLB.Items.Strings[PathsLB.ItemIndex - 1]:=TempFolderPath; 171 | PathsLB.ItemIndex:=PathsLB.ItemIndex - 1; 172 | end; 173 | 174 | procedure TSettingsForm.MoveFolderDownBtnClick(Sender: TObject); 175 | var 176 | TempFolderPath: string; 177 | begin 178 | if (PathsLB.ItemIndex = -1) or (PathsLB.ItemIndex = PathsLB.Count - 1) then Exit; 179 | TempFolderPath:=PathsLB.Items.Strings[PathsLB.ItemIndex]; 180 | PathsLB.Items.Strings[PathsLB.ItemIndex]:=PathsLB.Items.Strings[PathsLB.ItemIndex + 1]; 181 | PathsLB.Items.Strings[PathsLB.ItemIndex + 1]:=TempFolderPath; 182 | PathsLB.ItemIndex:=PathsLB.ItemIndex + 1; 183 | end; 184 | 185 | procedure TSettingsForm.MoveFolderUpBtn2Click(Sender: TObject); 186 | var 187 | TempFolderPath: string; 188 | begin 189 | if (HiddenPathsLB.ItemIndex = -1) or (HiddenPathsLB.ItemIndex = 0) then Exit; 190 | TempFolderPath:=HiddenPathsLB.Items.Strings[HiddenPathsLB.ItemIndex]; 191 | HiddenPathsLB.Items.Strings[HiddenPathsLB.ItemIndex]:=HiddenPathsLB.Items.Strings[HiddenPathsLB.ItemIndex - 1]; 192 | HiddenPathsLB.Items.Strings[HiddenPathsLB.ItemIndex - 1]:=TempFolderPath; 193 | HiddenPathsLB.ItemIndex:=HiddenPathsLB.ItemIndex - 1; 194 | end; 195 | 196 | procedure TSettingsForm.MoveFolderDownBtn2Click(Sender: TObject); 197 | var 198 | TempFolderPath: string; 199 | begin 200 | if (HiddenPathsLB.ItemIndex = -1) or (HiddenPathsLB.ItemIndex = HiddenPathsLB.Count - 1) then Exit; 201 | TempFolderPath:=HiddenPathsLB.Items.Strings[HiddenPathsLB.ItemIndex]; 202 | HiddenPathsLB.Items.Strings[HiddenPathsLB.ItemIndex]:=HiddenPathsLB.Items.Strings[HiddenPathsLB.ItemIndex + 1]; 203 | HiddenPathsLB.Items.Strings[HiddenPathsLB.ItemIndex + 1]:=TempFolderPath; 204 | HiddenPathsLB.ItemIndex:=HiddenPathsLB.ItemIndex + 1; 205 | end; 206 | 207 | end. 208 | -------------------------------------------------------------------------------- /Source/clear.bat: -------------------------------------------------------------------------------- 1 | del *.obj 2 | del *.dcu 3 | del *.~* 4 | del *.hpp 5 | del *.dcp 6 | del *.dpl 7 | del *.cesettings 8 | del *.bak 9 | --del *.exe* -------------------------------------------------------------------------------- /Source/ie11_enable.reg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r57zone/HomeLibrary/92d44132dc79ac7211fef515888582ac3975f507/Source/ie11_enable.reg -------------------------------------------------------------------------------- /Source/nfo/book.nfo: -------------------------------------------------------------------------------- 1 | 2 | 3 | Regional title 4 | Original title 5 | 0 6 | Description 7 | 00.00.0000 8 | 0000 9 | - 10 | - 11 | - 12 | 13 | 14 | -------------------------------------------------------------------------------- /Source/nfo/game.nfo: -------------------------------------------------------------------------------- 1 | 2 | 3 | Regional title 4 | Original title 5 | 0 6 | Description 7 |

8 | System Requirements: 9 |
    10 |
  • Operating system: Windows 7/8.1/10
  • 11 |
  • CPU: 0.0 GHz
  • 12 |
  • RAM: 0 Mb
  • 13 |
  • GPU: 128 Mb VRAM, Nvidia or AMD
  • 14 |
  • Free disk space: 500 Mb
  • 15 |
16 |
17 | 00.00.0000 18 | 0000 19 | - 20 | - 21 | - 22 | - 23 | 24 | 25 | 26 |
27 | -------------------------------------------------------------------------------- /Source/nfo/movie.nfo: -------------------------------------------------------------------------------- 1 | 2 | 3 | Regional title 4 | Original title 5 | 6 | 7 | 8 | 9 | 10 | 11 | 0 12 | Description 13 | 14 | - 15 | - 16 | - 17 | - 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /Source/nfo/tvshow.nfo: -------------------------------------------------------------------------------- 1 | 2 | 3 | Regional title 4 | Original title 5 | 6 | 7 | 8 | 9 | 10 | 11 | 0 12 | Description 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | --------------------------------------------------------------------------------