├── .gitattributes ├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── dependabot.yml └── workflows │ ├── main.yml │ ├── main_release.yml │ └── update-submodules.yml ├── .gitignore ├── .gitmodules ├── 3p ├── BZSystem.pas ├── bzscene_options.inc ├── dbg2mab │ ├── SynDprUses.inc │ ├── dbg2mab.lpi │ └── dbg2mab.lpr └── patch │ ├── lazarus_popupmenu_click.patch │ └── virtualtree_hotnode.patch ├── ASuite.ico ├── ASuite.inc ├── ASuite.lpi ├── ASuite.lpr ├── ASuite.res ├── ASuite_Icon.ico ├── ASuite_Icon16.ico ├── BUILD.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── DataModules ├── DataModules.Icons.lfm ├── DataModules.Icons.pas ├── DataModules.TrayMenu.lfm ├── DataModules.TrayMenu.lrj └── DataModules.TrayMenu.pas ├── Forms ├── Forms.About.lfm ├── Forms.About.lrj ├── Forms.About.pas ├── Forms.Dialog.BaseEntity.lfm ├── Forms.Dialog.BaseEntity.lrj ├── Forms.Dialog.BaseEntity.pas ├── Forms.GraphicMenu.lfm ├── Forms.GraphicMenu.lrj ├── Forms.GraphicMenu.pas ├── Forms.ImportList.lfm ├── Forms.ImportList.lrj ├── Forms.ImportList.pas ├── Forms.Main.lfm ├── Forms.Main.lrj ├── Forms.Main.pas ├── Forms.Options.lfm ├── Forms.Options.lrj ├── Forms.Options.pas ├── Forms.PropertyItem.lfm ├── Forms.PropertyItem.lrj ├── Forms.PropertyItem.pas ├── Forms.PropertySeparator.lfm ├── Forms.PropertySeparator.lrj ├── Forms.PropertySeparator.pas ├── Forms.ScanFolder.lfm ├── Forms.ScanFolder.lrj ├── Forms.ScanFolder.pas ├── Forms.ShortcutGrabber.lfm ├── Forms.ShortcutGrabber.lrj ├── Forms.ShortcutGrabber.pas ├── Forms.UILogin.lfm ├── Forms.UILogin.lrj └── Forms.UILogin.pas ├── Frame ├── Frame.BaseEntity.lfm ├── Frame.BaseEntity.pas ├── Frame.Options.Advanced.lfm ├── Frame.Options.Advanced.lrj ├── Frame.Options.Advanced.pas ├── Frame.Options.Autorun.lfm ├── Frame.Options.Autorun.lrj ├── Frame.Options.Autorun.pas ├── Frame.Options.General.lfm ├── Frame.Options.General.lrj ├── Frame.Options.General.pas ├── Frame.Options.Hotkey.lfm ├── Frame.Options.Hotkey.lrj ├── Frame.Options.Hotkey.pas ├── Frame.Options.MainWindow.lfm ├── Frame.Options.MainWindow.lrj ├── Frame.Options.MainWindow.pas ├── Frame.Options.Stats.lfm ├── Frame.Options.Stats.lrj ├── Frame.Options.Stats.pas ├── Frame.Options.Trayicon.lfm ├── Frame.Options.Trayicon.lrj ├── Frame.Options.Trayicon.pas ├── Frame.Properties.Advanced.lfm ├── Frame.Properties.Advanced.lrj ├── Frame.Properties.Advanced.pas ├── Frame.Properties.Base.lfm ├── Frame.Properties.Base.pas ├── Frame.Properties.Behavior.lfm ├── Frame.Properties.Behavior.lrj ├── Frame.Properties.Behavior.pas ├── Frame.Properties.EnvironmentVars.lfm ├── Frame.Properties.EnvironmentVars.lrj ├── Frame.Properties.EnvironmentVars.pas ├── Frame.Properties.General.Category.lfm ├── Frame.Properties.General.Category.lrj ├── Frame.Properties.General.Category.pas ├── Frame.Properties.General.Software.lfm ├── Frame.Properties.General.Software.lrj ├── Frame.Properties.General.Software.pas ├── Frame.Properties.General.lfm ├── Frame.Properties.General.lrj └── Frame.Properties.General.pas ├── LICENSE ├── Library ├── AppConfig.Consts.pas ├── AppConfig.Main.pas ├── AppConfig.PathList.pas ├── AppConfig.Paths.pas ├── Database.List.pas ├── Database.Manager.pas ├── Database.Version.pas ├── GraphicMenu.ThemeEngine.Consts.pas ├── GraphicMenu.ThemeEngine.pas ├── Icons.Base.pas ├── Icons.ExtFile.pas ├── Icons.Files.pas ├── Icons.Manager.pas ├── Icons.Node.pas ├── Icons.Thread.pas ├── Kernel.ASMenuItem.pas ├── Kernel.BaseMainForm.pas ├── Kernel.Consts.pas ├── Kernel.Enumerations.pas ├── Kernel.Instance.pas ├── Kernel.Logger.pas ├── Kernel.Manager.pas ├── Kernel.ResourceStrings.pas ├── Kernel.Scheduler.pas ├── Kernel.ShellLink.pas ├── Kernel.Types.pas ├── Lists.Base.pas ├── Lists.HotKey.pas ├── Lists.Manager.pas ├── Lists.Special.pas ├── NodeDataTypes.Base.pas ├── NodeDataTypes.Category.pas ├── NodeDataTypes.Custom.pas ├── NodeDataTypes.Files.pas ├── NodeDataTypes.Separator.pas ├── Thread.FindFiles.pas ├── VirtualTree.Events.pas ├── VirtualTree.Helper.pas ├── VirtualTree.Methods.pas ├── gtk2 │ └── Icons.Custom.pas ├── gtk3 │ └── Icons.Custom.pas ├── qt5 │ └── Icons.Custom.pas ├── qt6 │ └── Icons.Custom.pas └── win32 │ └── Icons.Custom.pas ├── README.md ├── Utilities ├── Utility.Conversions.pas ├── Utility.FileFolder.pas ├── Utility.Misc.pas ├── Utility.System.pas └── Utility.XML.pas ├── bin ├── docs │ ├── Project ASuite.url │ ├── SalvadorSoftware Site.url │ └── license.txt ├── locale │ ├── asuite.en_EN.po │ └── asuite.it_IT.po └── themes │ ├── dark │ ├── PersonalPicture.png │ ├── buttons │ │ ├── alt.png │ │ ├── ctrl.png │ │ ├── shift.png │ │ └── winkey.png │ ├── graphicmenu │ │ ├── background.png │ │ ├── buttons │ │ │ ├── button.png │ │ │ ├── button_close.png │ │ │ └── button_eject.png │ │ ├── harddisk_background.png │ │ ├── harddisk_space.png │ │ ├── icons │ │ │ ├── about.ico │ │ │ ├── asuite.ico │ │ │ ├── documents.ico │ │ │ ├── home.ico │ │ │ ├── music.ico │ │ │ ├── pictures.ico │ │ │ ├── readme.txt │ │ │ ├── settings.ico │ │ │ └── videos.ico │ │ ├── logo.png │ │ ├── separator.png │ │ ├── tab │ │ │ └── tab.png │ │ └── userframe.png │ ├── icons │ │ ├── accept.ico │ │ ├── add.ico │ │ ├── add_category.ico │ │ ├── add_folder.ico │ │ ├── add_software.ico │ │ ├── advanced.ico │ │ ├── arrow_down.ico │ │ ├── arrow_up.ico │ │ ├── asuite.ico │ │ ├── autorun.ico │ │ ├── behavior.ico │ │ ├── cancel.ico │ │ ├── category.ico │ │ ├── copy.ico │ │ ├── cut.ico │ │ ├── delete.ico │ │ ├── denied.ico │ │ ├── disk.ico │ │ ├── environment_vars.ico │ │ ├── file.ico │ │ ├── file_error.ico │ │ ├── folder.ico │ │ ├── general.ico │ │ ├── help.ico │ │ ├── hotkey.ico │ │ ├── hotkey_add.ico │ │ ├── hotkey_delete.ico │ │ ├── hotkey_edit.ico │ │ ├── items.ico │ │ ├── mainwindow.ico │ │ ├── mouse.ico │ │ ├── options.ico │ │ ├── page_url.ico │ │ ├── paste.ico │ │ ├── property.ico │ │ ├── property_general.ico │ │ ├── readme.txt │ │ ├── run.ico │ │ ├── save.ico │ │ ├── search.ico │ │ ├── search2.ico │ │ ├── search_type.ico │ │ ├── stats.ico │ │ ├── trayicon.ico │ │ └── tree_list.ico │ ├── sources.svg │ └── theme.ini │ └── default │ ├── PersonalPicture.png │ ├── buttons │ ├── alt.png │ ├── ctrl.png │ ├── shift.png │ └── winkey.png │ ├── graphicmenu │ ├── background.png │ ├── buttons │ │ ├── button.png │ │ ├── button_close.png │ │ └── button_eject.png │ ├── harddisk_background.png │ ├── harddisk_space.png │ ├── icons │ │ ├── about.ico │ │ ├── about.svg │ │ ├── asuite.ico │ │ ├── asuite.svg │ │ ├── documents.ico │ │ ├── documents.svg │ │ ├── home.ico │ │ ├── home.svg │ │ ├── music.ico │ │ ├── music.svg │ │ ├── pictures.ico │ │ ├── pictures.svg │ │ ├── readme.txt │ │ ├── settings.ico │ │ ├── settings.svg │ │ ├── videos.ico │ │ └── videos.svg │ ├── logo.png │ ├── separator.png │ ├── tab │ │ └── tab.png │ └── userframe.png │ ├── icons │ ├── accept.ico │ ├── add.ico │ ├── add_category.ico │ ├── add_folder.ico │ ├── add_software.ico │ ├── advanced.ico │ ├── arrow_down.ico │ ├── arrow_up.ico │ ├── asuite.ico │ ├── autorun.ico │ ├── behavior.ico │ ├── cancel.ico │ ├── category.ico │ ├── copy.ico │ ├── cut.ico │ ├── delete.ico │ ├── denied.ico │ ├── disk.ico │ ├── environment_vars.ico │ ├── file.ico │ ├── file_error.ico │ ├── folder.ico │ ├── general.ico │ ├── help.ico │ ├── hotkey.ico │ ├── hotkey_add.ico │ ├── hotkey_delete.ico │ ├── hotkey_edit.ico │ ├── items.ico │ ├── mainwindow.ico │ ├── mouse.ico │ ├── options.ico │ ├── page_url.ico │ ├── paste.ico │ ├── property.ico │ ├── property_general.ico │ ├── readme.txt │ ├── run.ico │ ├── save.ico │ ├── search.ico │ ├── search2.ico │ ├── search_type.ico │ ├── stats.ico │ ├── trayicon.ico │ └── tree_list.ico │ ├── theme.ini │ └── xcf │ ├── background.xcf │ ├── eject_button.xcf │ ├── logo.xcf │ ├── right_button.xcf │ ├── shutdown_button.xcf │ └── tabs.xcf ├── languages └── ASuite.pot └── utils ├── installPackages.ps1 └── setup.iss /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | *.sln merge=union 7 | *.csproj merge=union 8 | *.vbproj merge=union 9 | *.fsproj merge=union 10 | *.dbproj merge=union 11 | 12 | # Standard to msysgit 13 | *.doc diff=astextplain 14 | *.DOC diff=astextplain 15 | *.docx diff=astextplain 16 | *.DOCX diff=astextplain 17 | *.dot diff=astextplain 18 | *.DOT diff=astextplain 19 | *.pdf diff=astextplain 20 | *.PDF diff=astextplain 21 | *.rtf diff=astextplain 22 | *.RTF diff=astextplain 23 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | custom: ['https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=QYASG6DPAYSXW'] # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | **Is this a bug report or feature request?** 2 | * Bug Report 3 | * 4 | **Describe the bug** 5 | A clear and concise description of what the bug is. 6 | 7 | **To Reproduce** 8 | Steps to reproduce the behavior: 9 | 1. Go to '...' 10 | 2. Click on '....' 11 | 3. Scroll down to '....' 12 | 4. See error 13 | 14 | **Expected behavior** 15 | A clear and concise description of what you expected to happen. 16 | 17 | **Screenshots** 18 | If applicable, add screenshots to help explain your problem. 19 | 20 | **Logs** 21 | Can you upload ASuite.log and/or your ASuite.sqlite? 22 | 23 | **Desktop (please complete the following information):** 24 | - OS: [e.g. Win10, Ubuntu] 25 | - WidgetSet: [e.g. win64, gtk2, gtk3, QT5] 26 | - ASuite Version: [e.g. 2.0.0] 27 | 28 | **Additional context** 29 | Add any other context about the problem here. 30 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: "[Feature request] " 5 | labels: enhancement 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # To get started with Dependabot version updates, you'll need to specify which 2 | # package ecosystems to update and where the package manifests are located. 3 | # Please see the documentation for all configuration options: 4 | # https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file 5 | 6 | version: 2 7 | updates: 8 | # Enable version updates for GitHub Actions 9 | - package-ecosystem: "github-actions" 10 | # Workflow files stored in the default location of `.github/workflows` 11 | # You don't need to specify `/.github/workflows` for `directory`. You can use `directory: "/"`. 12 | directory: "/" 13 | schedule: 14 | interval: "weekly" 15 | groups: 16 | actions-deps: 17 | patterns: 18 | - "*" 19 | -------------------------------------------------------------------------------- /.github/workflows/update-submodules.yml: -------------------------------------------------------------------------------- 1 | name: Update Git Submodules to Latest Tag 2 | 3 | on: 4 | schedule: 5 | - cron: '0 3 * * 1' # Every Monday at 03:00 UTC 6 | workflow_dispatch: 7 | 8 | jobs: 9 | update-submodules: 10 | runs-on: ubuntu-latest 11 | 12 | steps: 13 | - name: Checkout repository 14 | uses: actions/checkout@v4 15 | with: 16 | submodules: "recursive" 17 | fetch-depth: 0 18 | 19 | - name: Update submodules to latest tag 20 | id: submodules 21 | uses: sgoudham/update-git-submodules@v2.1.3 22 | with: 23 | strategy: tag 24 | 25 | - name: Create or update Pull Request 26 | uses: peter-evans/create-pull-request@v7 27 | with: 28 | title: "Update Git submodules to latest tag" 29 | body: ${{ steps.submodules.outputs.prBody }} 30 | commit-message: "build: update all submodules" 31 | base: develop 32 | branch: update-submodules 33 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | #asuite folders 2 | bck/ 3 | lib/ 4 | tmp/ 5 | backup/ 6 | cache/ 7 | 8 | #asuite files 9 | *.sqlite 10 | debug.txt 11 | asuite*.7z 12 | asuite*.zip 13 | bin/settings.json 14 | 15 | #compiled 16 | *.exe 17 | *.compiled 18 | *.map 19 | *.dll 20 | *.dcu 21 | *.mab 22 | *.rsm 23 | *.res 24 | *.dbg 25 | 26 | #lazarus 27 | *.lps 28 | *.[oa] 29 | *.ppu 30 | *.rst 31 | *.cgi 32 | *.log 33 | *.bak* 34 | *.trc 35 | 36 | # Lazarus autogenerated files (duplicated info) 37 | *.rst 38 | *.rsj 39 | *.lrt 40 | 41 | #delphi 42 | __history 43 | *.~*~ 44 | *.local 45 | *.identcache 46 | *.drc 47 | *.vlb 48 | *.cbk -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "3p/AsuiteComps"] 2 | path = 3p/AsuiteComps 3 | url = https://github.com/salvadorbs/AsuiteComps 4 | [submodule "3p/JPLib"] 5 | path = 3p/JPLib 6 | url = https://github.com/jackdp/JPLib.git 7 | [submodule "3p/JPPack"] 8 | path = 3p/JPPack 9 | url = https://github.com/jackdp/JPPack.git 10 | [submodule "3p/HashLib4Pascal"] 11 | path = 3p/HashLib4Pascal 12 | url = https://github.com/Xor-el/HashLib4Pascal.git 13 | [submodule "3p/bgrabitmap"] 14 | path = 3p/bgrabitmap 15 | url = https://github.com/bgrabitmap/bgrabitmap.git 16 | [submodule "3p/luipack"] 17 | path = 3p/luipack 18 | url = https://github.com/salvadorbs/luipack.git 19 | [submodule "3p/VirtualTreeView-Lazarus"] 20 | path = 3p/VirtualTreeView-Lazarus 21 | url = https://github.com/salvadorbs/VirtualTreeView-Lazarus.git 22 | [submodule "3p/bgracontrols"] 23 | path = 3p/bgracontrols 24 | url = https://github.com/bgrabitmap/bgracontrols.git 25 | [submodule "3p/mORMot2"] 26 | path = 3p/mORMot2 27 | url = https://github.com/synopse/mORMot2.git 28 | [submodule "3p/GDIPlus-Library-for-Delphi-and-Lazarus"] 29 | path = 3p/GDIPlus-Library-for-Delphi-and-Lazarus 30 | url = https://github.com/jackdp/GDIPlus-Library-for-Delphi-and-Lazarus 31 | -------------------------------------------------------------------------------- /3p/dbg2mab/SynDprUses.inc: -------------------------------------------------------------------------------- 1 | {$ifndef LVCL} 2 | {$ifdef FPC} // we may be on Kylix or upcoming Delphi for Linux 3 | {$ifdef Unix} // we may also be on Darwin / OSX 4 | cthreads, // should be the very first unit - before FastMM4 e.g. 5 | {$endif Unix} 6 | {$ifdef FPC_X64MM_WIN} // SynFPCx64MM is not fully validated on Windows yet 7 | {$ifdef MSWINDOWS} 8 | SynFPCx64MM, 9 | {$endif MSWINDOWS} 10 | {$else} 11 | {$ifdef FPC_X64MM} 12 | {$ifndef MSWINDOWS} 13 | SynFPCx64MM, 14 | {$endif MSWINDOWS} 15 | {$else} 16 | {$ifdef FPC_FASTMM4} 17 | FastMM4Messages in '..\RTL7\FastMM4Messages.pas', 18 | FastMM4 in '..\RTL7\FastMM4.pas', 19 | {$else} 20 | {$ifdef FPC_SYNJEMALLOC} 21 | SynFPCCMemAligned, // after "apt-get install libjemalloc1" 22 | {$else} 23 | {$ifdef FPC_SYNTBB} 24 | SynFPCCMemAligned, // after "apt-get install libtbb2" 25 | {$else} 26 | {$ifdef FPC_SYNCMEM} 27 | SynFPCCMemAligned, // you may also set FPC_NO_DEFAULT_MEMORYMANAGER 28 | {$else} 29 | {$ifdef FPC_CMEM} 30 | cmem, // you may also set FPC_NO_DEFAULT_MEMORYMANAGER 31 | {$endif FPC_CMEM} 32 | {$endif FPC_SYNCMEM} 33 | {$endif FPC_SYNTBB} 34 | {$endif FPC_SYNJEMALLOC} 35 | {$endif FPC_FASTMM4} 36 | {$endif FPC_X64MM} 37 | {$endif FPC_X64MM_WIN} 38 | {$ifdef Unix} // we may also be on Darwin / OSX 39 | {$ifdef Darwin} 40 | iosxwstr, // optional WideString manager for Mac, but won't hurt 41 | {$else} 42 | cwstring, // optional WideString manager, but won't hurt 43 | {$endif Darwin} 44 | {$else} 45 | {$ifopt D-} // at the moment, debug mode with cmem causes trouble 46 | //cmem, // default FPC's heap manager is very RAM hungry (one heap per thread) 47 | {$endif} 48 | //FastMM4, // need the latest version, e.g. from lib\kylix sub folder 49 | {$endif Unix} 50 | {$else} // enable FastMM4 on older versions of Delphi 51 | {$IFDEF CONDITIONALEXPRESSIONS} 52 | {$if CompilerVersion <= 17} // Delphi 2006 (and up) have FastMM4 integrated 53 | FastMM4Messages, 54 | FastMM4, 55 | {$ifend} 56 | {$ifdef UNICODE} 57 | {$WARN DUPLICATE_CTOR_DTOR OFF} // global at .dpr level - see QC 100815 58 | {$endif} 59 | {$ELSE} 60 | FastMM4, // no conditional expressions -> versions older than Delphi 6 61 | {$ENDIF} 62 | {$endif FPC} 63 | {$endif LVCL} 64 | 65 | -------------------------------------------------------------------------------- /3p/dbg2mab/dbg2mab.lpi: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | <UseAppBundle Value="False"/> 15 | <ResourceType Value="res"/> 16 | </General> 17 | <BuildModes> 18 | <Item Name="Default" Default="True"/> 19 | </BuildModes> 20 | <PublishOptions> 21 | <Version Value="2"/> 22 | <UseFileFilters Value="True"/> 23 | </PublishOptions> 24 | <RunParams> 25 | <FormatVersion Value="2"/> 26 | </RunParams> 27 | <RequiredPackages> 28 | <Item> 29 | <PackageName Value="mormot2"/> 30 | </Item> 31 | </RequiredPackages> 32 | <Units> 33 | <Unit> 34 | <Filename Value="dbg2mab.lpr"/> 35 | <IsPartOfProject Value="True"/> 36 | <UnitName Value="dbg2Mab"/> 37 | </Unit> 38 | </Units> 39 | </ProjectOptions> 40 | <CompilerOptions> 41 | <Version Value="11"/> 42 | <PathDelim Value="\"/> 43 | <Target> 44 | <Filename Value="..\..\bin\dbg2mab"/> 45 | </Target> 46 | <SearchPaths> 47 | <IncludeFiles Value="$(ProjOutDir)"/> 48 | <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> 49 | </SearchPaths> 50 | <Parsing> 51 | <SyntaxOptions> 52 | <IncludeAssertionCode Value="True"/> 53 | </SyntaxOptions> 54 | </Parsing> 55 | <CodeGeneration> 56 | <Checks> 57 | <IOChecks Value="True"/> 58 | <RangeChecks Value="True"/> 59 | <OverflowChecks Value="True"/> 60 | <StackChecks Value="True"/> 61 | </Checks> 62 | <VerifyObjMethodCallValidity Value="True"/> 63 | <Optimizations> 64 | <OptimizationLevel Value="0"/> 65 | </Optimizations> 66 | </CodeGeneration> 67 | <Linking> 68 | <Debugging> 69 | <DebugInfoType Value="dsDwarf2"/> 70 | </Debugging> 71 | </Linking> 72 | </CompilerOptions> 73 | <Debugging> 74 | <Exceptions> 75 | <Item> 76 | <Name Value="EAbort"/> 77 | </Item> 78 | <Item> 79 | <Name Value="ECodetoolError"/> 80 | </Item> 81 | <Item> 82 | <Name Value="EFOpenError"/> 83 | </Item> 84 | </Exceptions> 85 | </Debugging> 86 | </CONFIG> 87 | -------------------------------------------------------------------------------- /3p/dbg2mab/dbg2mab.lpr: -------------------------------------------------------------------------------- 1 | program dbg2Mab; 2 | 3 | {$APPTYPE CONSOLE} 4 | 5 | uses 6 | {$I SynDprUses.inc} // use FastMM4 on older Delphi, or set FPC threads 7 | SysUtils, 8 | mormot.core.log, 9 | mormot.core.text; 10 | 11 | const 12 | {$IFDEF MSWINDOWS} 13 | EXE_CONST = '.exe'; 14 | {$ELSE} 15 | EXE_CONST = ''; 16 | {$ENDIF} 17 | 18 | procedure Process(const FileName: TFileName); 19 | var 20 | Ext: integer; 21 | AllOk: boolean; 22 | begin 23 | AllOk := True; 24 | 25 | Ext := GetFileNameExtIndex(FileName, 'map,dbg'); 26 | if (Ext>=0) and (FileExists(FileName)) then 27 | begin 28 | WriteLn('Executable file: ' + ChangeFileExt(FileName, EXE_CONST)); 29 | WriteLn('Debug file: ' + FileName); 30 | try 31 | with TSynMapFile.Create(FileName, true) do // true = .map/.dbg -> .mab 32 | try 33 | if not HasDebugInfo then 34 | begin 35 | WriteLn('Error: no Debug Info found on ', FileName); 36 | AllOk := False; 37 | end 38 | else begin 39 | // has debug info 40 | WriteLn('Embedded debug info to file'); 41 | SaveToExe(ChangeFileExt(FileName, EXE_CONST)); 42 | end; 43 | finally 44 | Free; 45 | end; 46 | except 47 | on E: Exception do begin // ignore any problem here: just print it and process next file 48 | WriteLn('Error: ', E.ClassName,' ',E.Message); 49 | AllOk := False; 50 | end; 51 | end; 52 | end; 53 | 54 | if not AllOk then 55 | ExitCode := 1; 56 | end; 57 | 58 | begin 59 | if paramCount>0 then 60 | Process(paramstr(1)); 61 | end. 62 | -------------------------------------------------------------------------------- /3p/patch/lazarus_popupmenu_click.patch: -------------------------------------------------------------------------------- 1 | Index: lcl/interfaces/win32/win32callback.inc 2 | =================================================================== 3 | --- lcl/interfaces/win32/win32callback.inc (Revision 60475) 4 | +++ lcl/interfaces/win32/win32callback.inc (Arbeitskopie) 5 | @@ -401,14 +401,18 @@ 6 | 7 | function TWindowProcHelper.GetPopMenuItemObject: TObject; 8 | var 9 | - MainMenuHandle: HMENU; 10 | + MenuHandle: HMENU; 11 | MenuInfo: MENUITEMINFO; 12 | begin 13 | MenuInfo.cbSize := MMenuItemInfoSize; 14 | MenuInfo.fMask := MIIM_DATA; 15 | 16 | - MainMenuHandle := GetMenuParent(HMENU(WParam), GetMenu(Window)); 17 | - if GetMenuItemInfo(MainMenuHandle, LOWORD(LParam), true, @MenuInfo) then 18 | + MenuHandle := 0; 19 | + if Assigned(WindowInfo^.PopupMenu) then 20 | + MenuHandle := GetMenuParent(HMENU(WParam), WindowInfo^.PopupMenu.Handle); 21 | + if MenuHandle = 0 then 22 | + MenuHandle := GetMenuParent(HMENU(WParam), GetMenu(Window)); 23 | + if GetMenuItemInfo(MenuHandle, LOWORD(LParam), true, @MenuInfo) then 24 | Result := TObject(MenuInfo.dwItemData) 25 | else 26 | Result := nil; 27 | -------------------------------------------------------------------------------- /3p/patch/virtualtree_hotnode.patch: -------------------------------------------------------------------------------- 1 | From 407238ebf207693431e7c49b6856cd7339b00b87 Mon Sep 17 00:00:00 2001 2 | From: Matteo Salvi <salvadorbs@gmail.com> 3 | Date: Fri, 19 Jan 2024 00:39:20 +0100 4 | Subject: [PATCH] Custom patch (sethotnode) for ASuite 5 | 6 | --- 7 | asuite_src/3p/VirtualTreeView-Lazarus/Source/VirtualTrees.BaseTree.pas | 28 +++++++++++++++++++++++++++- 8 | 1 file changed, 27 insertions(+), 1 deletion(-) 9 | 10 | diff --git a/asuite_src/3p/VirtualTreeView-Lazarus/Source/VirtualTrees.BaseTree.pas b/asuite_src/3p/VirtualTreeView-Lazarus/Source/VirtualTrees.BaseTree.pas 11 | index 97faff6..9feb32c 100644 12 | --- a/asuite_src/3p/VirtualTreeView-Lazarus/Source/VirtualTrees.BaseTree.pas 13 | +++ b/asuite_src/3p/VirtualTreeView-Lazarus/Source/VirtualTrees.BaseTree.pas 14 | @@ -5250,8 +5250,34 @@ end; 15 | 16 | procedure TBaseVirtualTree.SetHotNode(Value: PVirtualNode); 17 | 18 | +var 19 | + DoInvalidate: Boolean; 20 | +const 21 | + MouseButtonDown = [tsLeftButtonDown, tsMiddleButtonDown, tsRightButtonDown]; 22 | begin 23 | - FCurrentHotNode := Value; 24 | + with Self do begin 25 | + if FCurrentHotNode <> Value then 26 | + begin 27 | + DoInvalidate := (toHotTrack in FOptions.PaintOptions) or 28 | + (toCheckSupport in FOptions.MiscOptions); 29 | + DoHotChange(FCurrentHotNode, Value); 30 | + // Invalidate old FCurrentHotNode 31 | + if Assigned(FCurrentHotNode) and DoInvalidate then 32 | + InvalidateNode(FCurrentHotNode); 33 | + // Set new FCurrentHotNode and invalidate it 34 | + FCurrentHotNode := Value; 35 | + if Assigned(FCurrentHotNode) and DoInvalidate then 36 | + InvalidateNode(FCurrentHotNode); 37 | + // Scroll view 38 | + if (FUpdateCount = 0) and 39 | + not(toDisableAutoscrollOnFocus in FOptions.AutoOptions) 40 | + then 41 | + ScrollIntoView(FCurrentHotNode, 42 | + (toCenterScrollIntoView in FOptions.SelectionOptions) 43 | + and (MouseButtonDown * FStates = []), 44 | + not(toFullRowSelect in FOptions.SelectionOptions)); 45 | + end; 46 | + end; 47 | end; 48 | 49 | 50 | -- 51 | 2.49.0.windows.1 52 | 53 | -------------------------------------------------------------------------------- /ASuite.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/ASuite.ico -------------------------------------------------------------------------------- /ASuite.inc: -------------------------------------------------------------------------------- 1 | { 2 | Copyright (C) 2006-2015 Matteo Salvi 3 | 4 | Website: http://www.salvadorsoftware.com/ 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see <http://www.gnu.org/licenses/>. 18 | } 19 | 20 | //------------------------------------------------------------------------------ 21 | // Build options for ASuite 22 | //------------------------------------------------------------------------------ 23 | 24 | //Enable hack for a faster popupmenu 25 | {.$DEFINE FASTHACK} 26 | 27 | {$IFDEF UNIX} 28 | {$DEFINE UseCThreads} 29 | 30 | {$IFDEF LCLGTK2} 31 | {$DEFINE GTK} 32 | {$ENDIF} 33 | 34 | {$IFDEF LCLGTK3} 35 | {$DEFINE GTK} 36 | {$ENDIF} 37 | 38 | {$IFDEF LCLQT} 39 | {$DEFINE QT} 40 | {$ENDIF} 41 | 42 | {$IFDEF LCLQT5} 43 | {$DEFINE QT} 44 | {$ENDIF} 45 | 46 | {$IFDEF LCLQT6} 47 | {$DEFINE QT} 48 | {$ENDIF} 49 | {$ENDIF} 50 | -------------------------------------------------------------------------------- /ASuite.lpr: -------------------------------------------------------------------------------- 1 | program ASuite; 2 | 3 | {$MODE Delphi} 4 | 5 | {$I ASuite.inc} 6 | 7 | uses 8 | {$IFDEF UseCThreads} 9 | cthreads, 10 | {$ENDIF} 11 | Forms, 12 | SysUtils, 13 | LCLIntf, Interfaces, 14 | mormot.db.raw.sqlite3.static, 15 | Kernel.Instance in 'Library\Kernel.Instance.pas', 16 | Kernel.Manager in 'Library\Kernel.Manager.pas', 17 | AppConfig.Main in 'Library\AppConfig.Main.pas', 18 | Forms.GraphicMenu in 'Forms\Forms.GraphicMenu.pas' {frmGraphicMenu}, 19 | Forms.Main in 'Forms\Forms.Main.pas' {frmMain}, 20 | DataModules.TrayMenu in 'DataModules\DataModules.TrayMenu.pas' {dmTrayMenu: TDataModule}, 21 | Kernel.Consts in 'Library\Kernel.Consts.pas', 22 | UniqueInstanceRaw, 23 | HlpHashFactory; 24 | 25 | {$R *.res} 26 | 27 | var 28 | hash, identifier: string; 29 | 30 | begin 31 | globalSkipIfNoLeaks := True; 32 | 33 | hash := THashFactory.THash32.CreateXXHash32().ComputeString(Application.ExeName, TEncoding.UTF8).ToString(); 34 | identifier := 'ASuite.SingleInstance.' + hash; 35 | 36 | if not(InstanceRunning(identifier, True)) then 37 | begin 38 | // Set up -gh output for the Leakview package: 39 | if FileExists('heap.trc') then 40 | DeleteFile('heap.trc'); 41 | SetHeapTraceOutput('heap.trc'); 42 | 43 | Application.Scaled := True; 44 | Application.Initialize; 45 | Application.Title := APP_TITLE; 46 | 47 | Application.CreateForm(TfrmMain, frmMain); 48 | Application.CreateForm(TfrmGraphicMenu, frmGraphicMenu); 49 | 50 | //Show MainForm and/or TrayMenu 51 | Application.ShowMainForm := Config.ShowPanelAtStartUp; 52 | if (Config.ShowGraphicMenuAtStartUp) then 53 | dmTrayMenu.ShowGraphicMenu; 54 | Application.Run; 55 | end; 56 | end. 57 | -------------------------------------------------------------------------------- /ASuite.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/ASuite.res -------------------------------------------------------------------------------- /ASuite_Icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/ASuite_Icon.ico -------------------------------------------------------------------------------- /ASuite_Icon16.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/ASuite_Icon16.ico -------------------------------------------------------------------------------- /BUILD.md: -------------------------------------------------------------------------------- 1 | # ASuite building instructions 2 | 3 | ## Lazarus version 4 | Lazarus 2.0.10 and FPC 3.2 are required for building ASuite. Older Lazarus & FPC versions aren't tested. 5 | 6 | ## Sources 7 | You must get sources from git repository (and submodule AsuiteComps) hosted in github. 8 | 9 | ``` 10 | $ git clone https://github.com/salvadorbs/Asuite.git 11 | $ cd Asuite 12 | $ git submodule init 13 | $ git submodule update 14 | ``` 15 | 16 | For more informations, see https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/cloning-a-repository and https://github.com/git-guides/git-clone 17 | 18 | ## Third party components 19 | Once Lazarus is installed, you need to install these components from OPM (Online Package Manager): 20 | - Lazarus VirtualTree https://github.com/blikblum/VirtualTreeView-Lazarus 21 | - mORMot 1.18 http://synopse.info/fossil/wiki?name=SQLite3+Framework (probably you need download http://synopse.info/files/sqlite3fpc.7z and extract files in subfolder onlinepackagemanager\packages\mormot\static) 22 | - BGRA Controls https://github.com/bgrabitmap/bgracontrols 23 | - JPPack https://github.com/jackdp/JPPack 24 | - HashLib4Pascal https://github.com/Xor-el/HashLib4Pascal 25 | - Unique Instance https://github.com/blikblum/luipack/tree/master/uniqueinstance 26 | - KControls https://github.com/kryslt/KControls 27 | 28 | You need a last component, ASuiteComps, who you will find in subfolder https://github.com/salvadorbs/Asuite/tree/develop/3p/ASuiteComps. Install it and rebuild the IDE. 29 | 30 | ## Help? 31 | Open an issue, if you can't find a component or you can't build correctly the project. 32 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to ASuite 2 | We want to make contributing to this project as approachable and transparent as possible. We love your input! We want to make contributing to this project as easy and transparent as possible, whether it's: 3 | 4 | - Reporting a bug 5 | - Discussing the current state of the code 6 | - Submitting a fix 7 | - Proposing new features 8 | - Becoming a maintainer 9 | 10 | ## Code of Conduct 11 | By participating in this project, you agree to abide by the thoughtbot [code of conduct]. We expect everyone to follow the code of conduct anywhere in ASuite's project codebases, issue trackers, chatrooms, and mailing lists. 12 | 13 | ## Our Development Process 14 | We use GitHub to sync code to and from our internal repository. We'll use GitHub to track issues and feature requests, as well as accept pull requests. Please ensure your description is clear and has sufficient instructions to be able to reproduce the issue or your changes in pull requests. 15 | 16 | ## Contributing Code 17 | 1. Fork the repo. 18 | 2. Develop and test. 19 | 3. And test again. 20 | 4. Push to your fork. Write a [good commit message][commit]. 21 | 5. Submit a pull request. 22 | 23 | This is a time for discussion and improvements, and making the necessary changes will be required before we can merge the contribution. 24 | 25 | ## License 26 | By contributing to ASuite, you agree that your contributions will be licensed under its GPLv3 license. 27 | -------------------------------------------------------------------------------- /DataModules/DataModules.Icons.lfm: -------------------------------------------------------------------------------- 1 | object dmImages: TdmImages 2 | OnCreate = DataModuleCreate 3 | OnDestroy = DataModuleDestroy 4 | OldCreateOrder = False 5 | Height = 120 6 | HorizontalOffset = 954 7 | VerticalOffset = 383 8 | Width = 201 9 | object ilIcons: TBGRAImageList 10 | Height = 32 11 | Width = 32 12 | Left = 48 13 | Top = 8 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /DataModules/DataModules.TrayMenu.lfm: -------------------------------------------------------------------------------- 1 | object dmTrayMenu: TdmTrayMenu 2 | OnCreate = DataModuleCreate 3 | OldCreateOrder = False 4 | Height = 150 5 | HorizontalOffset = 29 6 | VerticalOffset = 29 7 | Width = 215 8 | object tiTrayMenu: TTrayIcon 9 | OnDblClick = tiTrayMenuDblClick 10 | OnMouseUp = tiTrayMenuMouseUp 11 | Left = 48 12 | Top = 16 13 | end 14 | object pmTrayicon: TPopupMenu 15 | Left = 16 16 | Top = 16 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /DataModules/DataModules.TrayMenu.lrj: -------------------------------------------------------------------------------- 1 | {"version":1,"strings":[ 2 | {"hash":147623433,"name":"tdmtraymenu.action1.caption","sourcebytes":[97,99,116,67,97,116,101,103,111,114,121],"value":"actCategory"} 3 | ]} 4 | -------------------------------------------------------------------------------- /Forms/Forms.About.lrj: -------------------------------------------------------------------------------- 1 | {"version":1,"strings":[ 2 | {"hash":158099123,"name":"tfrmabout.caption","sourcebytes":[65,98,111,117,116,32,37,115],"value":"About %s"}, 3 | {"hash":707,"name":"tfrmabout.lblappname.caption","sourcebytes":[37,115],"value":"%s"}, 4 | {"hash":209380041,"name":"tfrmabout.lblversion.caption","sourcebytes":[37,115,32,40,37,115,32,98,105,116,41],"value":"%s (%s bit)"}, 5 | {"hash":109524009,"name":"tfrmabout.lblcopyright.caption","sourcebytes":[67,111,112,121,114,105,103,104,116,32,50,48,48,54,45,50,48,50,48,32,77,97,116,116,101,111,32,83,97,108,118,105],"value":"Copyright 2006-2020 Matteo Salvi"}, 6 | {"hash":236877237,"name":"tfrmabout.lnklblwebsite.caption","sourcebytes":[104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,115,97,108,118,97,100,111,114,98,115,47,97,115,117,105,116,101],"value":"https://github.com/salvadorbs/asuite"} 7 | ]} 8 | -------------------------------------------------------------------------------- /Forms/Forms.About.pas: -------------------------------------------------------------------------------- 1 | { 2 | Copyright (C) 2006-2021 Matteo Salvi 3 | 4 | Website: http://www.salvadorsoftware.com/ 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see <http://www.gnu.org/licenses/>. 18 | } 19 | 20 | unit Forms.About; 21 | 22 | {$MODE DelphiUnicode} 23 | 24 | interface 25 | 26 | uses 27 | LCLIntf, SysUtils, Forms, Dialogs, StdCtrls, ExtCtrls, JPP.LinkLabel, 28 | Classes; 29 | 30 | type 31 | 32 | { TfrmAbout } 33 | 34 | TfrmAbout = class(TForm) 35 | GroupBox3: TGroupBox; 36 | 37 | imgLicense: TImage; 38 | imgDonate: TImage; 39 | lblAppName: TLabel; 40 | lblVersion: TLabel; 41 | lblCopyright: TLabel; 42 | imgLogo: TImage; 43 | lnklblWebSite: TJppLinkLabel; 44 | procedure FormActivate(Sender: TObject); 45 | procedure imgDonateClick(Sender: TObject); 46 | procedure imgLicenseClick(Sender: TObject); 47 | procedure lnklblWebSiteClick(Sender: TObject); 48 | private 49 | { Private declarations } 50 | public 51 | { Public declarations } 52 | class procedure Execute(AOwner: TComponent); 53 | end; 54 | 55 | var 56 | frmAbout : TfrmAbout; 57 | 58 | implementation 59 | 60 | uses 61 | Kernel.Consts, LazFileUtils, Kernel.Instance; 62 | 63 | {$R *.lfm} 64 | 65 | procedure TfrmAbout.FormActivate(Sender: TObject); 66 | begin 67 | Self.Caption := Format(Self.Caption, [APP_NAME]); 68 | lblAppName.Caption := Format(lblAppName.Caption, [APP_NAME]); 69 | lblVersion.Caption := Format(lblVersion.Caption, [TASuiteInstance.GetASuiteVersion(True), {$IFDEF Win32}'32'{$ELSE}'64'{$ENDIF}]); 70 | end; 71 | 72 | procedure TfrmAbout.imgDonateClick(Sender: TObject); 73 | begin 74 | OpenURL('https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=QYASG6DPAYSXW'); 75 | end; 76 | 77 | procedure TfrmAbout.imgLicenseClick(Sender: TObject); 78 | begin 79 | OpenDocument(AppendPathDelim(ASuiteInstance.Paths.SuitePathWorking) + 'docs' + PathDelim + 'license.txt'); 80 | end; 81 | 82 | procedure TfrmAbout.lnklblWebSiteClick(Sender: TObject); 83 | begin 84 | OpenURL('https://github.com/salvadorbs/asuite'); 85 | end; 86 | 87 | class procedure TfrmAbout.Execute(AOwner: TComponent); 88 | begin 89 | if Assigned(frmAbout) then 90 | Exit; 91 | 92 | frmAbout := TfrmAbout.Create(AOwner); 93 | try 94 | frmAbout.ShowModal; 95 | finally 96 | FreeAndNil(frmAbout); 97 | end; 98 | end; 99 | 100 | end. 101 | -------------------------------------------------------------------------------- /Forms/Forms.Dialog.BaseEntity.lfm: -------------------------------------------------------------------------------- 1 | object frmDialogBase: TfrmDialogBase 2 | Left = 1888 3 | Height = 92 4 | Top = 146 5 | Width = 394 6 | AutoSize = True 7 | BorderStyle = bsDialog 8 | Caption = 'frmDialogBase' 9 | ChildSizing.EnlargeHorizontal = crsScaleChilds 10 | ChildSizing.Layout = cclLeftToRightThenTopToBottom 11 | ClientHeight = 92 12 | ClientWidth = 394 13 | KeyPreview = True 14 | OnKeyPress = FormKeyPress 15 | Position = poMainFormCenter 16 | LCLVersion = '2.2.0.2' 17 | object Panel1: TPanel 18 | Left = 4 19 | Height = 50 20 | Top = 4 21 | Width = 386 22 | Align = alClient 23 | AutoSize = True 24 | BorderSpacing.Left = 4 25 | BorderSpacing.Top = 4 26 | BorderSpacing.Right = 4 27 | BevelOuter = bvNone 28 | ChildSizing.EnlargeHorizontal = crsScaleChilds 29 | ChildSizing.Layout = cclLeftToRightThenTopToBottom 30 | ChildSizing.ControlsPerLine = 2 31 | ClientHeight = 50 32 | ClientWidth = 386 33 | TabOrder = 0 34 | object vstCategory: TVirtualStringTree 35 | AnchorSideRight.Control = pnlDialogPage 36 | Left = 0 37 | Height = 50 38 | Top = 0 39 | Width = 180 40 | Align = alLeft 41 | Constraints.MaxWidth = 180 42 | Constraints.MinHeight = 50 43 | Constraints.MinWidth = 180 44 | DefaultText = 'Node' 45 | Header.AutoSizeIndex = 0 46 | Header.Columns = <> 47 | Header.MainColumn = -1 48 | ParentFont = False 49 | TabOrder = 0 50 | TreeOptions.PaintOptions = [toShowButtons, toShowDropmark, toShowRoot, toShowTreeLines, toThemeAware, toUseBlendedImages, toUseExplorerTheme] 51 | TreeOptions.SelectionOptions = [toFullRowSelect] 52 | end 53 | object pnlDialogPage: TPanel 54 | Left = 186 55 | Height = 50 56 | Top = 0 57 | Width = 200 58 | Align = alClient 59 | BorderSpacing.Left = 6 60 | Constraints.MinHeight = 50 61 | Constraints.MinWidth = 200 62 | ParentFont = False 63 | TabOrder = 1 64 | end 65 | end 66 | object ButtonPanel1: TButtonPanel 67 | Left = 6 68 | Height = 26 69 | Top = 60 70 | Width = 382 71 | OKButton.Name = 'OKButton' 72 | OKButton.DefaultCaption = True 73 | HelpButton.Name = 'HelpButton' 74 | HelpButton.DefaultCaption = True 75 | CloseButton.Name = 'CloseButton' 76 | CloseButton.DefaultCaption = True 77 | CloseButton.OnClick = btnOkClick 78 | CancelButton.Name = 'CancelButton' 79 | CancelButton.DefaultCaption = True 80 | CancelButton.OnClick = btnCancelClick 81 | TabOrder = 1 82 | ShowButtons = [pbOK, pbCancel] 83 | ShowBevel = False 84 | end 85 | end 86 | -------------------------------------------------------------------------------- /Forms/Forms.Dialog.BaseEntity.lrj: -------------------------------------------------------------------------------- 1 | {"version":1,"strings":[ 2 | {"hash":13248421,"name":"tfrmdialogbase.caption","sourcebytes":[102,114,109,68,105,97,108,111,103,66,97,115,101],"value":"frmDialogBase"} 3 | ]} 4 | -------------------------------------------------------------------------------- /Forms/Forms.GraphicMenu.lrj: -------------------------------------------------------------------------------- 1 | {"version":1,"strings":[ 2 | {"hash":171153493,"name":"tfrmgraphicmenu.caption","sourcebytes":[65,83,117,105,116,101,32,77,101,110,117],"value":"ASuite Menu"}, 3 | {"hash":15599225,"name":"tfrmgraphicmenu.lbldrivespace.caption","sourcebytes":[49,51,50,77,98,32,47,32,50,71,98,32,40,54,46,54,37,41],"value":"132Mb / 2Gb (6.6%)"}, 4 | {"hash":22974,"name":"tfrmgraphicmenu.mnirun.caption","sourcebytes":[82,117,110],"value":"Run"}, 5 | {"hash":6822606,"name":"tfrmgraphicmenu.mnirunas.caption","sourcebytes":[82,117,110,32,97,115,46,46,46],"value":"Run as..."}, 6 | {"hash":16495998,"name":"tfrmgraphicmenu.mnirunasadmin.caption","sourcebytes":[82,117,110,32,97,115,32,97,100,109,105,110],"value":"Run as admin"}, 7 | {"hash":205265166,"name":"tfrmgraphicmenu.mniopenfoldersw.caption","sourcebytes":[79,112,101,110,32,102,105,108,101,32,108,111,99,97,116,105,111,110],"value":"Open file location"}, 8 | {"hash":114087587,"name":"tfrmgraphicmenu.mniproperty.caption","sourcebytes":[80,114,111,112,101,114,116,105,101,115],"value":"Properties"} 9 | ]} 10 | -------------------------------------------------------------------------------- /Forms/Forms.ImportList.lrj: -------------------------------------------------------------------------------- 1 | {"version":1,"strings":[ 2 | {"hash":154630084,"name":"tfrmimportlist.caption","sourcebytes":[73,109,112,111,114,116,32,108,105,115,116],"value":"Import list"}, 3 | {"hash":65308571,"name":"tfrmimportlist.btnback.caption","sourcebytes":[60,32,66,97,99,107],"value":"< Back"}, 4 | {"hash":88929854,"name":"tfrmimportlist.btnnext.caption","sourcebytes":[78,101,120,116,32,62],"value":"Next >"}, 5 | {"hash":77089212,"name":"tfrmimportlist.btncancel.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"}, 6 | {"hash":100375588,"name":"tfrmimportlist.lbltitle.caption","sourcebytes":[80,108,97,99,101,104,111,108,100,101,114,32,116,101,120,116],"value":"Placeholder text"}, 7 | {"hash":89313044,"name":"tfrmimportlist.tsaskfilelist.caption","sourcebytes":[116,115,65,115,107,70,105,108,101,76,105,115,116],"value":"tsAskFileList"}, 8 | {"hash":41254308,"name":"tfrmimportlist.gbfile.caption","sourcebytes":[70,105,108,101,32,76,105,115,116],"value":"File List"}, 9 | {"hash":236150730,"name":"tfrmimportlist.lblfile.caption","sourcebytes":[76,97,117,110,99,104,101,114,32,70,105,108,101,32,108,111,99,97,116,105,111,110,58],"value":"Launcher File location:"}, 10 | {"hash":192982067,"name":"tfrmimportlist.tslist.caption","sourcebytes":[116,115,73,116,101,109,115],"value":"tsItems"}, 11 | {"hash":195296268,"name":"tfrmimportlist.btnselectall.caption","sourcebytes":[83,101,108,101,99,116,32,97,108,108],"value":"Select all"}, 12 | {"hash":252378124,"name":"tfrmimportlist.btndeselectall.caption","sourcebytes":[68,101,115,101,108,101,99,116,32,97,108,108],"value":"Deselect all"} 13 | ]} 14 | -------------------------------------------------------------------------------- /Forms/Forms.Options.lfm: -------------------------------------------------------------------------------- 1 | inherited frmOptions: TfrmOptions 2 | Left = 1884 3 | Top = 152 4 | Caption = 'Options' 5 | end 6 | -------------------------------------------------------------------------------- /Forms/Forms.Options.lrj: -------------------------------------------------------------------------------- 1 | {"version":1,"strings":[ 2 | {"hash":108725763,"name":"tfrmoptions.caption","sourcebytes":[79,112,116,105,111,110,115],"value":"Options"} 3 | ]} 4 | -------------------------------------------------------------------------------- /Forms/Forms.PropertyItem.lfm: -------------------------------------------------------------------------------- 1 | inherited frmPropertyItem: TfrmPropertyItem 2 | Caption = 'Properties' 3 | end 4 | -------------------------------------------------------------------------------- /Forms/Forms.PropertyItem.lrj: -------------------------------------------------------------------------------- 1 | {"version":1,"strings":[ 2 | {"hash":157732041,"name":"tfrmpropertyitem.caption","sourcebytes":[80,114,111,112,101,114,116,121],"value":"Property"} 3 | ]} 4 | -------------------------------------------------------------------------------- /Forms/Forms.PropertyItem.pas: -------------------------------------------------------------------------------- 1 | { 2 | Copyright (C) 2006-2021 Matteo Salvi 3 | 4 | Website: http://www.salvadorsoftware.com/ 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see <http://www.gnu.org/licenses/>. 18 | } 19 | 20 | unit Forms.PropertyItem; 21 | 22 | {$MODE DelphiUnicode} 23 | 24 | interface 25 | 26 | uses 27 | SysUtils, Classes, Controls, Forms, Dialogs, Forms.Dialog.BaseEntity, 28 | NodeDataTypes.Custom; 29 | 30 | type 31 | TfrmPropertyItem = class(TfrmDialogBase) 32 | 33 | private 34 | { Private declarations } 35 | FListNodeData: TvCustomRealNodeData; 36 | strict protected 37 | function InternalLoadData: Boolean; override; 38 | function InternalSaveData: Boolean; override; 39 | public 40 | { Public declarations } 41 | constructor Create(AOwner: TComponent; ANodeData: TvCustomRealNodeData); overload; 42 | 43 | class function Execute(AOwner: TComponent; ANodeData: TvCustomRealNodeData): Integer; 44 | end; 45 | 46 | var 47 | frmPropertyItem: TfrmPropertyItem; 48 | 49 | implementation 50 | 51 | uses 52 | Frame.Properties.Advanced, Kernel.Logger, VirtualTrees, 53 | Frame.Properties.Behavior, Frame.Properties.General.Category, 54 | Frame.Properties.General.Software, Utility.Misc, Frame.Properties.EnvironmentVars; 55 | 56 | {$R *.lfm} 57 | 58 | { TfrmPropertyItem } 59 | 60 | constructor TfrmPropertyItem.Create(AOwner: TComponent; 61 | ANodeData: TvCustomRealNodeData); 62 | begin 63 | FListNodeData := ANodeData; 64 | inherited Create(AOwner); 65 | end; 66 | 67 | class function TfrmPropertyItem.Execute(AOwner: TComponent; 68 | ANodeData: TvCustomRealNodeData): Integer; 69 | var 70 | frm: TfrmPropertyItem; 71 | begin 72 | TASuiteLogger.Info('Opening form Property Item (%s)', [ANodeData.Name]); 73 | 74 | frm := TfrmPropertyItem.Create(AOwner, ANodeData); 75 | try 76 | SetFormPositionFromConfig(frm); 77 | 78 | Result := frm.ShowModal; 79 | finally 80 | frm.Free; 81 | end; 82 | end; 83 | 84 | function TfrmPropertyItem.InternalLoadData: Boolean; 85 | var 86 | frmAdv: PVirtualNode; 87 | begin 88 | Assert(Assigned(FListNodeData), 'FListNodeData is not assigned!'); 89 | 90 | Result := True; 91 | 92 | if (FListNodeData.IsFileItem) then 93 | FFrameGeneral := AddFrameNode(vstCategory, nil, TfrmSWGeneralPropertyPage.Create(Self, FListNodeData)) 94 | else 95 | if FListNodeData.IsCategoryItem then 96 | FFrameGeneral := AddFrameNode(vstCategory, nil, TfrmCatGeneralPropertyPage.Create(Self, FListNodeData)); 97 | 98 | frmAdv := AddFrameNode(vstCategory, nil, TfrmAdvancedPropertyPage.Create(Self, FListNodeData)); 99 | 100 | if (FListNodeData.IsFileItem) then 101 | AddFrameNode(vstCategory, frmAdv, TfrmEnvironmentVars.Create(Self, FListNodeData)); 102 | 103 | AddFrameNode(vstCategory, nil, TfrmBehaviorPropertyPage.Create(Self, FListNodeData)); 104 | end; 105 | 106 | function TfrmPropertyItem.InternalSaveData: Boolean; 107 | begin 108 | Result := True; 109 | 110 | FListNodeData.Changed := True; 111 | //Reset icon and get it again 112 | FListNodeData.Icon.ResetIcon; 113 | end; 114 | 115 | end. 116 | -------------------------------------------------------------------------------- /Forms/Forms.PropertySeparator.lfm: -------------------------------------------------------------------------------- 1 | object frmPropertySeparator: TfrmPropertySeparator 2 | Left = 650 3 | Height = 103 4 | Top = 359 5 | Width = 284 6 | BorderStyle = bsDialog 7 | Caption = 'Properties' 8 | ClientHeight = 103 9 | ClientWidth = 284 10 | Position = poMainFormCenter 11 | LCLVersion = '2.2.0.2' 12 | object btnCancel: TButton 13 | Left = 200 14 | Height = 25 15 | Top = 71 16 | Width = 73 17 | Caption = 'Cancel' 18 | ModalResult = 2 19 | ParentFont = False 20 | TabOrder = 2 21 | end 22 | object btnOk: TButton 23 | Left = 119 24 | Height = 25 25 | Top = 71 26 | Width = 75 27 | Caption = 'Ok' 28 | Default = True 29 | ModalResult = 1 30 | ParentFont = False 31 | TabOrder = 1 32 | end 33 | object Panel1: TPanel 34 | Left = 8 35 | Height = 57 36 | Top = 8 37 | Width = 265 38 | ChildSizing.LeftRightSpacing = 6 39 | ChildSizing.TopBottomSpacing = 6 40 | ChildSizing.EnlargeHorizontal = crsScaleChilds 41 | ChildSizing.Layout = cclLeftToRightThenTopToBottom 42 | ClientHeight = 57 43 | ClientWidth = 265 44 | ParentFont = False 45 | TabOrder = 0 46 | object lbName: TLabel 47 | Left = 6 48 | Height = 15 49 | Top = 6 50 | Width = 253 51 | AutoSize = False 52 | Caption = 'Name' 53 | ParentFont = False 54 | end 55 | object edtName: TEdit 56 | Left = 6 57 | Height = 23 58 | Top = 21 59 | Width = 253 60 | ParentFont = False 61 | TabOrder = 0 62 | end 63 | end 64 | end 65 | -------------------------------------------------------------------------------- /Forms/Forms.PropertySeparator.lrj: -------------------------------------------------------------------------------- 1 | {"version":1,"strings":[ 2 | {"hash":114087587,"name":"tfrmpropertyseparator.caption","sourcebytes":[80,114,111,112,101,114,116,105,101,115],"value":"Properties"}, 3 | {"hash":77089212,"name":"tfrmpropertyseparator.btncancel.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"}, 4 | {"hash":1371,"name":"tfrmpropertyseparator.btnok.caption","sourcebytes":[79,107],"value":"Ok"}, 5 | {"hash":346165,"name":"tfrmpropertyseparator.lbname.caption","sourcebytes":[78,97,109,101],"value":"Name"} 6 | ]} 7 | -------------------------------------------------------------------------------- /Forms/Forms.PropertySeparator.pas: -------------------------------------------------------------------------------- 1 | { 2 | Copyright (C) 2006-2021 Matteo Salvi 3 | 4 | Website: http://www.salvadorsoftware.com/ 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see <http://www.gnu.org/licenses/>. 18 | } 19 | 20 | unit Forms.PropertySeparator; 21 | 22 | {$MODE DelphiUnicode} 23 | 24 | interface 25 | 26 | uses 27 | SysUtils, Classes, Controls, Forms, Dialogs, NodeDataTypes.Base, StdCtrls, 28 | ExtCtrls; 29 | 30 | type 31 | TfrmPropertySeparator = class(TForm) 32 | btnCancel: TButton; 33 | btnOk: TButton; 34 | Panel1: TPanel; 35 | lbName: TLabel; 36 | edtName: TEdit; 37 | 38 | private 39 | { Private declarations } 40 | procedure LoadNodeData(AData: TvBaseNodeData); 41 | procedure SaveNodeData(AData: TvBaseNodeData); 42 | public 43 | { Public declarations } 44 | class function Execute(AOwner: TComponent; NodeData: TvBaseNodeData): TModalResult; 45 | end; 46 | 47 | var 48 | frmPropertySeparator: TfrmPropertySeparator; 49 | 50 | implementation 51 | 52 | uses 53 | Kernel.Logger, Utility.Misc; 54 | 55 | {$R *.lfm} 56 | 57 | class function TfrmPropertySeparator.Execute(AOwner: TComponent; NodeData: TvBaseNodeData): TModalResult; 58 | var 59 | frm: TfrmPropertySeparator; 60 | begin 61 | TASuiteLogger.Info('Opening form Property Separator', []); 62 | 63 | frm := TfrmPropertySeparator.Create(AOwner); 64 | try 65 | frm.LoadNodeData(NodeData); 66 | 67 | SetFormPositionFromConfig(frm); 68 | 69 | frm.ShowModal; 70 | 71 | if frm.ModalResult = mrOK then 72 | frm.SaveNodeData(NodeData); 73 | 74 | Result := frm.ModalResult; 75 | finally 76 | frm.Free; 77 | end; 78 | end; 79 | 80 | procedure TfrmPropertySeparator.LoadNodeData(AData: TvBaseNodeData); 81 | begin 82 | edtName.Text := AData.name; 83 | end; 84 | 85 | procedure TfrmPropertySeparator.SaveNodeData(AData: TvBaseNodeData); 86 | begin 87 | AData.Name := edtName.Text; 88 | AData.Changed := true; 89 | end; 90 | 91 | end. 92 | -------------------------------------------------------------------------------- /Forms/Forms.ScanFolder.lrj: -------------------------------------------------------------------------------- 1 | {"version":1,"strings":[ 2 | {"hash":112046786,"name":"tfrmscanfolder.caption","sourcebytes":[83,99,97,110,32,102,111,108,100,101,114],"value":"Scan folder"}, 3 | {"hash":2857342,"name":"tfrmscanfolder.pnlbuttons.okbutton.caption","sourcebytes":[38,83,99,97,110],"value":"&Scan"}, 4 | {"hash":3792691,"name":"tfrmscanfolder.grpgeneralsettings.caption","sourcebytes":[71,101,110,101,114,97,108,32,115,101,116,116,105,110,103,115],"value":"General settings"}, 5 | {"hash":250935257,"name":"tfrmscanfolder.chkextractname.caption","sourcebytes":[69,120,116,114,97,99,116,32,110,97,109,101,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,102,114,111,109,32,101,120,101,99,117,116,97,98,108,101,115,32,40,111,110,108,121,32,42,46,101,120,101,41],"value":"Extract name automatically from executables (only *.exe)"}, 6 | {"hash":193386787,"name":"tfrmscanfolder.grpexclude.caption","sourcebytes":[69,120,99,108,117,100,101,32,102,105,108,101,115],"value":"Exclude files"}, 7 | {"hash":18340,"name":"tfrmscanfolder.btnexcludeadd.caption","sourcebytes":[65,100,100],"value":"Add"}, 8 | {"hash":78392485,"name":"tfrmscanfolder.btnexcludedelete.caption","sourcebytes":[68,101,108,101,116,101],"value":"Delete"}, 9 | {"hash":123786979,"name":"tfrmscanfolder.grpfiletypes.caption","sourcebytes":[70,105,108,101,32,84,121,112,101,115],"value":"File Types"}, 10 | {"hash":78392485,"name":"tfrmscanfolder.btntypesdelete.caption","sourcebytes":[68,101,108,101,116,101],"value":"Delete"}, 11 | {"hash":18340,"name":"tfrmscanfolder.btntypesadd.caption","sourcebytes":[65,100,100],"value":"Add"} 12 | ]} 13 | -------------------------------------------------------------------------------- /Forms/Forms.ShortcutGrabber.lfm: -------------------------------------------------------------------------------- 1 | object frmShortcutGrabber: TfrmShortcutGrabber 2 | Left = 2012 3 | Height = 189 4 | Top = 275 5 | Width = 376 6 | ActiveControl = hkKeys 7 | BorderStyle = bsToolWindow 8 | Caption = 'Choose hotkey...' 9 | ClientHeight = 189 10 | ClientWidth = 376 11 | KeyPreview = True 12 | OnCloseQuery = FormCloseQuery 13 | OnCreate = FormCreate 14 | OnKeyPress = FormKeyPress 15 | Position = poOwnerFormCenter 16 | object pnlDialogPage: TPanel 17 | Left = 8 18 | Height = 142 19 | Top = 8 20 | Width = 360 21 | Anchors = [akTop, akLeft, akRight, akBottom] 22 | ClientHeight = 142 23 | ClientWidth = 360 24 | ParentFont = False 25 | TabOrder = 0 26 | object lblInfo: TLabel 27 | Left = 13 28 | Height = 15 29 | Top = 78 30 | Width = 244 31 | Caption = 'Select modifiers above, then enter desired key:' 32 | ParentFont = False 33 | end 34 | object hkKeys: THotKey 35 | Left = 120 36 | Height = 19 37 | Top = 99 38 | Width = 121 39 | TabOrder = 0 40 | Hotkey = 0 41 | Modifiers = [] 42 | NoModifier = True 43 | OnChange = hkKeysChange 44 | end 45 | object btnAlt: TBCImageButton 46 | Left = 205 47 | Height = 48 48 | Top = 14 49 | Width = 74 50 | BitmapOptions.Direction = sdVertical 51 | ParentFont = False 52 | Toggle = True 53 | end 54 | object btnCtrl: TBCImageButton 55 | Left = 13 56 | Height = 48 57 | Top = 14 58 | Width = 74 59 | BitmapOptions.Direction = sdVertical 60 | ParentFont = False 61 | Toggle = True 62 | end 63 | object btnShift: TBCImageButton 64 | Left = 109 65 | Height = 48 66 | Top = 14 67 | Width = 74 68 | BitmapOptions.Direction = sdVertical 69 | ParentFont = False 70 | Toggle = True 71 | end 72 | object btnWinKey: TBCImageButton 73 | Left = 301 74 | Height = 48 75 | Top = 14 76 | Width = 46 77 | BitmapOptions.Direction = sdVertical 78 | ParentFont = False 79 | Toggle = True 80 | end 81 | end 82 | object btnOk: TButton 83 | Left = 212 84 | Height = 25 85 | Top = 156 86 | Width = 75 87 | Anchors = [akRight, akBottom] 88 | Caption = 'Ok' 89 | Default = True 90 | ModalResult = 1 91 | OnClick = btnOkClick 92 | ParentFont = False 93 | TabOrder = 1 94 | end 95 | object btnCancel: TButton 96 | Left = 293 97 | Height = 25 98 | Top = 156 99 | Width = 75 100 | Anchors = [akRight, akBottom] 101 | Caption = 'Cancel' 102 | ModalResult = 2 103 | OnClick = btnCancelClick 104 | ParentFont = False 105 | TabOrder = 2 106 | end 107 | end 108 | -------------------------------------------------------------------------------- /Forms/Forms.ShortcutGrabber.lrj: -------------------------------------------------------------------------------- 1 | {"version":1,"strings":[ 2 | {"hash":227496718,"name":"tfrmshortcutgrabber.caption","sourcebytes":[67,104,111,111,115,101,32,104,111,116,107,101,121,46,46,46],"value":"Choose hotkey..."}, 3 | {"hash":109287994,"name":"tfrmshortcutgrabber.lblinfo.caption","sourcebytes":[83,101,108,101,99,116,32,109,111,100,105,102,105,101,114,115,32,97,98,111,118,101,44,32,116,104,101,110,32,101,110,116,101,114,32,100,101,115,105,114,101,100,32,107,101,121,58],"value":"Select modifiers above, then enter desired key:"}, 4 | {"hash":1371,"name":"tfrmshortcutgrabber.btnok.caption","sourcebytes":[79,107],"value":"Ok"}, 5 | {"hash":77089212,"name":"tfrmshortcutgrabber.btncancel.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"} 6 | ]} 7 | -------------------------------------------------------------------------------- /Forms/Forms.UILogin.lrj: -------------------------------------------------------------------------------- 1 | {"version":1,"strings":[ 2 | {"hash":206044325,"name":"tfrmuilogin.lblusername.caption","sourcebytes":[38,85,115,101,114,32,78,97,109,101],"value":"&User Name"}, 3 | {"hash":145427940,"name":"tfrmuilogin.lblpassword.caption","sourcebytes":[38,80,97,115,115,119,111,114,100],"value":"&Password"}, 4 | {"hash":132993044,"name":"tfrmuilogin.lblinfo.caption","sourcebytes":[80,108,101,97,115,101,32,105,110,115,101,114,116,32,117,115,101,114,110,97,109,101,32,97,110,100,32,112,97,115,115,119,111,114,100],"value":"Please insert username and password"} 5 | ]} 6 | -------------------------------------------------------------------------------- /Forms/Forms.UILogin.pas: -------------------------------------------------------------------------------- 1 | { 2 | Copyright (C) 2006-2021 Matteo Salvi 3 | 4 | Website: http://www.salvadorsoftware.com/ 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see <http://www.gnu.org/licenses/>. 18 | } 19 | 20 | unit Forms.UILogin; 21 | 22 | {$mode DelphiUnicode} 23 | 24 | interface 25 | 26 | uses 27 | Classes, SysUtils, Forms, Controls, Dialogs, ExtCtrls, StdCtrls, 28 | ButtonPanel, Kernel.Types; 29 | 30 | type 31 | 32 | { TfrmUILogin } 33 | 34 | TfrmUILogin = class(TForm) 35 | Bevel1: TBevel; 36 | btnPanel: TButtonPanel; 37 | edtUserName: TEdit; 38 | edtPassword: TEdit; 39 | imgTop: TImage; 40 | lblUserName: TLabel; 41 | lblPassword: TLabel; 42 | lblInfo: TLabel; 43 | procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); 44 | private 45 | 46 | public 47 | class function Execute(AOwner: TComponent; ACaption: String): TUserData; 48 | end; 49 | 50 | var 51 | frmUILogin: TfrmUILogin; 52 | 53 | implementation 54 | 55 | uses 56 | Kernel.Logger, Utility.Misc, Kernel.ResourceStrings; 57 | 58 | {$R *.lfm} 59 | 60 | { TfrmUILogin } 61 | 62 | procedure TfrmUILogin.FormCloseQuery(Sender: TObject; var CanClose: Boolean); 63 | begin 64 | CanClose := ((frmUILogin.edtUserName.Text <> '') and (ModalResult = mrOk)) or (ModalResult = mrCancel); 65 | if not CanClose then 66 | ShowMessageEx(msgErrEmptyUserName, True); 67 | end; 68 | 69 | class function TfrmUILogin.Execute(AOwner: TComponent; ACaption: String 70 | ): TUserData; 71 | begin 72 | TASuiteLogger.Info('Opening form UILogin', []); 73 | 74 | Result.UserName := ''; 75 | Result.Password := ''; 76 | frmUILogin := TfrmUILogin.Create(AOwner); 77 | try 78 | SetFormPositionFromConfig(frmUILogin); 79 | 80 | frmUILogin.Caption := ACaption; 81 | 82 | if frmUILogin.ShowModal = mrOK then 83 | begin 84 | Result.UserName := Trim(frmUILogin.edtUserName.Text); 85 | Result.Password := Trim(frmUILogin.edtPassword.Text); 86 | end; 87 | finally 88 | FreeAndNil(frmUILogin); 89 | end; 90 | end; 91 | 92 | end. 93 | 94 | -------------------------------------------------------------------------------- /Frame/Frame.BaseEntity.lfm: -------------------------------------------------------------------------------- 1 | object frmBaseEntityPage: TfrmBaseEntityPage 2 | Left = 0 3 | Height = 380 4 | Top = 0 5 | Width = 445 6 | ChildSizing.Layout = cclLeftToRightThenTopToBottom 7 | ParentFont = False 8 | TabOrder = 0 9 | DesignLeft = 10 10 | DesignTop = 33 11 | end 12 | -------------------------------------------------------------------------------- /Frame/Frame.BaseEntity.pas: -------------------------------------------------------------------------------- 1 | { 2 | Copyright (C) 2006-2021 Matteo Salvi 3 | 4 | Website: http://www.salvadorsoftware.com/ 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see <http://www.gnu.org/licenses/>. 18 | } 19 | 20 | unit Frame.BaseEntity; 21 | 22 | {$MODE DelphiUnicode} 23 | 24 | interface 25 | 26 | uses 27 | SysUtils, Classes, Controls, Forms, Dialogs; 28 | 29 | type 30 | 31 | { TfrmBaseEntityPage } 32 | 33 | TfrmBaseEntityPage = class(TFrame) 34 | private 35 | function GetName: UnicodeString; 36 | { Private declarations } 37 | strict protected 38 | function GetTitle: string; virtual; 39 | function GetImageIndex: integer; virtual; 40 | function InternalLoadData: Boolean; virtual; 41 | function InternalSaveData: Boolean; virtual; 42 | public 43 | { Public declarations } 44 | constructor Create(AOwner: TComponent); override; 45 | function SaveData: Boolean; 46 | function LoadData: Boolean; 47 | 48 | property Name: UnicodeString read GetName; 49 | property Title: string read GetTitle; 50 | property ImageIndex: integer read GetImageIndex; 51 | end; 52 | 53 | TPageFrameClass = class of TfrmBaseEntityPage; 54 | 55 | implementation 56 | 57 | uses 58 | Kernel.Logger, mormot.core.log; 59 | 60 | {$R *.lfm} 61 | 62 | { TfrmBaseEntityPage } 63 | 64 | constructor TfrmBaseEntityPage.Create(AOwner: TComponent); 65 | begin 66 | inherited; 67 | //ScaleBy(Screen.PixelsPerInch, 96); 68 | end; 69 | 70 | function TfrmBaseEntityPage.GetImageIndex: integer; 71 | begin 72 | Result := -1; 73 | end; 74 | 75 | function TfrmBaseEntityPage.GetName: UnicodeString; 76 | begin 77 | Result := Self.ClassName; 78 | end; 79 | 80 | function TfrmBaseEntityPage.GetTitle: string; 81 | begin 82 | Result := ''; 83 | end; 84 | 85 | function TfrmBaseEntityPage.InternalLoadData: Boolean; 86 | var 87 | {%H-}log: ISynLog; 88 | begin 89 | log := TASuiteLogger.Enter(PUTF8Char(Format('TfrmBaseEntityPage.InternalLoadData(%s)', [Self.Name])), Self); 90 | Result := True; 91 | end; 92 | 93 | function TfrmBaseEntityPage.InternalSaveData: Boolean; 94 | var 95 | {%H-}log: ISynLog; 96 | begin 97 | log := TASuiteLogger.Enter(PUTF8Char(Format('TfrmBaseEntityPage.InternalSaveData(%s)', [Self.Name])), Self); 98 | Result := True; 99 | end; 100 | 101 | function TfrmBaseEntityPage.SaveData: Boolean; 102 | begin 103 | Result := Self.InternalSaveData; 104 | end; 105 | 106 | function TfrmBaseEntityPage.LoadData: Boolean; 107 | begin 108 | Result := Self.InternalLoadData; 109 | end; 110 | 111 | end. 112 | -------------------------------------------------------------------------------- /Frame/Frame.Options.Advanced.lrj: -------------------------------------------------------------------------------- 1 | {"version":1,"strings":[ 2 | {"hash":146392547,"name":"tfrmadvancedoptionspage.gbrecents.caption","sourcebytes":[82,101,99,101,110,116,115],"value":"Recents"}, 3 | {"hash":105919523,"name":"tfrmadvancedoptionspage.cbmru.caption","sourcebytes":[65,99,116,105,118,101,32,114,101,99,101,110,116,32,105,116,101,109,115],"value":"Active recent items"}, 4 | {"hash":69940771,"name":"tfrmadvancedoptionspage.lbmaxmru.caption","sourcebytes":[77,97,120,32,110,117,109,98,101,114,32,114,101,99,101,110,116,32,105,116,101,109,115],"value":"Max number recent items"}, 5 | {"hash":75997888,"name":"tfrmadvancedoptionspage.gbbackup.caption","sourcebytes":[66,97,99,107,117,112],"value":"Backup"}, 6 | {"hash":210643488,"name":"tfrmadvancedoptionspage.cbbackup.caption","sourcebytes":[65,99,116,105,118,101,32,97,117,116,111,109,97,116,105,99,32,98,97,99,107,117,112],"value":"Active automatic backup"}, 7 | {"hash":18572851,"name":"tfrmadvancedoptionspage.lbmaxbackup.caption","sourcebytes":[77,97,120,32,110,117,109,98,101,114,32,98,97,99,107,117,112,32,102,105,108,101,115],"value":"Max number backup files"}, 8 | {"hash":161203396,"name":"tfrmadvancedoptionspage.gbmfu.caption","sourcebytes":[77,111,115,116,32,70,114,101,113,117,101,110,116,108,121,32,85,115,101,100],"value":"Most Frequently Used"}, 9 | {"hash":129229123,"name":"tfrmadvancedoptionspage.cbmfu.caption","sourcebytes":[65,99,116,105,118,101,32,77,70,85,32,105,116,101,109,115],"value":"Active MFU items"}, 10 | {"hash":118720243,"name":"tfrmadvancedoptionspage.lbmaxmfu.caption","sourcebytes":[77,97,120,32,110,117,109,98,101,114,32,77,70,85,32,105,116,101,109,115],"value":"Max number MFU items"}, 11 | {"hash":1836947,"name":"tfrmadvancedoptionspage.grpclearelements.caption","sourcebytes":[67,108,101,97,114,32,101,108,101,109,101,110,116,115],"value":"Clear elements"}, 12 | {"hash":30420115,"name":"tfrmadvancedoptionspage.lbclearelements.caption","sourcebytes":[67,108,101,97,114,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,101,108,101,109,101,110,116,115],"value":"Clear the following elements"}, 13 | {"hash":161203396,"name":"tfrmadvancedoptionspage.cbclearmfu.caption","sourcebytes":[77,111,115,116,32,70,114,101,113,117,101,110,116,108,121,32,85,115,101,100],"value":"Most Frequently Used"}, 14 | {"hash":142224435,"name":"tfrmadvancedoptionspage.cbclearbackup.caption","sourcebytes":[66,97,99,107,117,112,115],"value":"Backups"}, 15 | {"hash":119995827,"name":"tfrmadvancedoptionspage.cbclearcache.caption","sourcebytes":[67,97,99,104,101,32,105,99,111,110,115],"value":"Cache icons"}, 16 | {"hash":146392547,"name":"tfrmadvancedoptionspage.cbclearmru.caption","sourcebytes":[82,101,99,101,110,116,115],"value":"Recents"}, 17 | {"hash":4860802,"name":"tfrmadvancedoptionspage.btnclear.caption","sourcebytes":[67,108,101,97,114],"value":"Clear"}, 18 | {"hash":175038323,"name":"tfrmadvancedoptionspage.gbotherfunctions.caption","sourcebytes":[79,116,104,101,114,32,102,117,110,99,116,105,111,110,115],"value":"Other functions"}, 19 | {"hash":61669573,"name":"tfrmadvancedoptionspage.cbcache.caption","sourcebytes":[69,110,97,98,108,101,32,99,97,99,104,101],"value":"Enable cache"}, 20 | {"hash":127409954,"name":"tfrmadvancedoptionspage.cbscheduler.caption","sourcebytes":[69,110,97,98,108,101,32,115,99,104,101,100,117,108,101,114],"value":"Enable scheduler"} 21 | ]} 22 | -------------------------------------------------------------------------------- /Frame/Frame.Options.Autorun.lrj: -------------------------------------------------------------------------------- 1 | {"version":1,"strings":[ 2 | {"hash":178822032,"name":"tfrmautorunoptionspage.grpstartuporderitems.caption","sourcebytes":[83,116,97,114,116,117,112],"value":"Startup"}, 3 | {"hash":57400949,"name":"tfrmautorunoptionspage.lblstartupinfo.caption","sourcebytes":[79,114,100,101,114,32,111,102,32,115,116,97,114,116,117,112,32,97,117,116,111,114,117,110,32,105,116,101,109,115,32,105,110,32,65,83,117,105,116,101],"value":"Order of startup autorun items in ASuite"}, 4 | {"hash":158536974,"name":"tfrmautorunoptionspage.chkstartup.caption","sourcebytes":[69,110,97,98,108,101,32,115,116,97,114,116,117,112,32,97,117,116,111,114,117,110],"value":"Enable startup autorun"}, 5 | {"hash":346165,"name":"tfrmautorunoptionspage.vststartupitems.header.columns[0].text","sourcebytes":[78,97,109,101],"value":"Name"}, 6 | {"hash":376933,"name":"tfrmautorunoptionspage.vststartupitems.header.columns[1].text","sourcebytes":[84,121,112,101],"value":"Type"}, 7 | {"hash":145482249,"name":"tfrmautorunoptionspage.vststartupitems.header.columns[2].text","sourcebytes":[67,97,116,101,103,111,114,121],"value":"Category"}, 8 | {"hash":7135509,"name":"tfrmautorunoptionspage.vststartupitems.header.columns[3].text","sourcebytes":[80,97,116,104,32,101,120,101,99,117,116,97,98,108,101],"value":"Path executable"}, 9 | {"hash":264942414,"name":"tfrmautorunoptionspage.grpshutdownorderitems.caption","sourcebytes":[83,104,117,116,100,111,119,110],"value":"Shutdown"}, 10 | {"hash":240062197,"name":"tfrmautorunoptionspage.lblshutdowninfo.caption","sourcebytes":[79,114,100,101,114,32,111,102,32,115,104,117,116,100,111,119,110,32,97,117,116,111,114,117,110,32,105,116,101,109,115,32,105,110,32,65,83,117,105,116,101],"value":"Order of shutdown autorun items in ASuite"}, 11 | {"hash":6844814,"name":"tfrmautorunoptionspage.chkshutdown.caption","sourcebytes":[69,110,97,98,108,101,32,115,104,117,116,100,111,119,110,32,97,117,116,111,114,117,110],"value":"Enable shutdown autorun"}, 12 | {"hash":346165,"name":"tfrmautorunoptionspage.vstshutdownitems.header.columns[0].text","sourcebytes":[78,97,109,101],"value":"Name"}, 13 | {"hash":376933,"name":"tfrmautorunoptionspage.vstshutdownitems.header.columns[1].text","sourcebytes":[84,121,112,101],"value":"Type"}, 14 | {"hash":145482249,"name":"tfrmautorunoptionspage.vstshutdownitems.header.columns[2].text","sourcebytes":[67,97,116,101,103,111,114,121],"value":"Category"}, 15 | {"hash":7135509,"name":"tfrmautorunoptionspage.vstshutdownitems.header.columns[3].text","sourcebytes":[80,97,116,104,32,101,120,101,99,117,116,97,98,108,101],"value":"Path executable"}, 16 | {"hash":114087587,"name":"tfrmautorunoptionspage.actproperties.caption","sourcebytes":[80,114,111,112,101,114,116,105,101,115],"value":"Properties"}, 17 | {"hash":76393310,"name":"tfrmautorunoptionspage.actremoveautorun.caption","sourcebytes":[82,101,109,111,118,101,32,97,117,116,111,114,117,110],"value":"Remove autorun"} 18 | ]} 19 | -------------------------------------------------------------------------------- /Frame/Frame.Options.General.lrj: -------------------------------------------------------------------------------- 1 | {"version":1,"strings":[ 2 | {"hash":231000124,"name":"tfrmgeneraloptionspage.gbstartup.caption","sourcebytes":[71,101,110,101,114,97,108],"value":"General"}, 3 | {"hash":241618880,"name":"tfrmgeneraloptionspage.cbwindowsstartup.caption","sourcebytes":[83,116,97,114,116,32,65,83,117,105,116,101,32,111,110,32,79,112,101,114,97,116,105,110,103,32,83,121,115,116,101,109,32,115,116,97,114,116,117,112],"value":"Start ASuite on Operating System startup"}, 4 | {"hash":229120581,"name":"tfrmgeneraloptionspage.cbsecondinstancegm.caption","sourcebytes":[83,104,111,119,32,71,114,97,112,104,105,99,32,77,101,110,117,44,32,119,104,101,110,32,114,117,110,32,97,110,111,116,104,101,114,32,65,83,117,105,116,101,32,105,110,115,116,97,110,99,101],"value":"Show Graphic Menu, when run another ASuite instance"}, 5 | {"hash":30965095,"name":"tfrmgeneraloptionspage.chkconfirmmsgcloseapp.caption","sourcebytes":[65,115,107,32,99,111,110,102,105,114,109,32,98,101,102,111,114,101,32,101,120,105,116,105,110,103],"value":"Ask confirm before exiting"}, 6 | {"hash":139375349,"name":"tfrmgeneraloptionspage.lblanguage.caption","sourcebytes":[76,97,110,103,117,97,103,101],"value":"Language"}, 7 | {"hash":178822032,"name":"tfrmgeneraloptionspage.gbstartup1.caption","sourcebytes":[83,116,97,114,116,117,112],"value":"Startup"}, 8 | {"hash":78266571,"name":"tfrmgeneraloptionspage.chkmissedschedulertask.caption","sourcebytes":[67,104,101,99,107,32,109,105,115,115,101,100,32,115,99,104,101,100,117,108,101,114,32,116,97,115,107],"value":"Check missed scheduler task"}, 9 | {"hash":199642149,"name":"tfrmgeneraloptionspage.cbshowmenustartup.caption","sourcebytes":[83,104,111,119,32,71,114,97,112,104,105,99,32,77,101,110,117],"value":"Show Graphic Menu"}, 10 | {"hash":246066183,"name":"tfrmgeneraloptionspage.cbshowpanelstartup.caption","sourcebytes":[83,104,111,119,32,109,97,105,110,32,119,105,110,100,111,119],"value":"Show main window"}, 11 | {"hash":195880126,"name":"tfrmgeneraloptionspage.gbexecution.caption","sourcebytes":[69,120,101,99,117,116,105,111,110],"value":"Execution"}, 12 | {"hash":196373399,"name":"tfrmgeneraloptionspage.cbrunsingleclick.caption","sourcebytes":[69,120,101,99,117,116,101,32,119,105,116,104,32,115,105,110,103,108,101,32,99,108,105,99,107,32,105,110,32,109,97,105,110,32,119,105,110,100,111,119],"value":"Execute with single click in main window"}, 13 | {"hash":35709769,"name":"tfrmgeneraloptionspage.chkconfirmmessagecat.caption","sourcebytes":[65,115,107,32,99,111,110,102,105,114,109,32,98,101,102,111,114,101,32,114,117,110,32,97,32,99,97,116,101,103,111,114,121],"value":"Ask confirm before run a category"}, 14 | {"hash":20277166,"name":"tfrmgeneraloptionspage.chkautocloseprocess.caption","sourcebytes":[67,108,111,115,101,32,97,108,108,32,112,114,111,99,101,115,115,32,111,112,101,110,101,100,32,98,121,32,65,83,117,105,116,101,32,97,116,32,108,97,117,110,99,104,101,114,32,115,104,117,116,100,111,119,110],"value":"Close all process opened by ASuite at launcher shutdown"}, 15 | {"hash":248300734,"name":"tfrmgeneraloptionspage.lbactiononexe.caption","sourcebytes":[79,110,32,101,120,101,99,117,116,105,111,110],"value":"On execution"} 16 | ]} 17 | -------------------------------------------------------------------------------- /Frame/Frame.Options.Hotkey.lrj: -------------------------------------------------------------------------------- 1 | {"version":1,"strings":[ 2 | {"hash":258678083,"name":"tfrmhotkeyoptionspage.gbhotkey.caption","sourcebytes":[72,111,116,107,101,121,115],"value":"Hotkeys"}, 3 | {"hash":185876643,"name":"tfrmhotkeyoptionspage.cbhotkey.caption","sourcebytes":[69,110,97,98,108,101,32,104,111,116,107,101,121,115],"value":"Enable hotkeys"}, 4 | {"hash":79264932,"name":"tfrmhotkeyoptionspage.lblhotkeywindow.caption","sourcebytes":[83,104,111,119,32,119,105,110,100,111,119,32,119,104,101,110,32,104,111,116,107,101,121,32,105,115,32,112,114,101,115,115,101,100],"value":"Show window when hotkey is pressed"}, 5 | {"hash":162766164,"name":"tfrmhotkeyoptionspage.lblhotkeygm.caption","sourcebytes":[83,104,111,119,32,103,114,97,112,104,105,99,32,109,101,110,117,32,119,104,101,110,32,104,111,116,107,101,121,32,105,115,32,112,114,101,115,115,101,100],"value":"Show graphic menu when hotkey is pressed"}, 6 | {"hash":247070100,"name":"tfrmhotkeyoptionspage.lblhotkeycm.caption","sourcebytes":[83,104,111,119,32,99,108,97,115,115,105,99,32,109,101,110,117,32,119,104,101,110,32,104,111,116,107,101,121,32,105,115,32,112,114,101,115,115,101,100],"value":"Show classic menu when hotkey is pressed"}, 7 | {"hash":77701492,"name":"tfrmhotkeyoptionspage.grpordersoftware.caption","sourcebytes":[72,111,116,107,101,121,115,32,108,105,115,116],"value":"Hotkeys list"}, 8 | {"hash":114087587,"name":"tfrmhotkeyoptionspage.actproperties.caption","sourcebytes":[80,114,111,112,101,114,116,105,101,115],"value":"Properties"}, 9 | {"hash":204660201,"name":"tfrmhotkeyoptionspage.actremovehotkey.caption","sourcebytes":[82,101,109,111,118,101,32,72,111,116,107,101,121],"value":"Remove Hotkey"}, 10 | {"hash":79503785,"name":"tfrmhotkeyoptionspage.actedithotkey.caption","sourcebytes":[69,100,105,116,32,72,111,116,107,101,121],"value":"Edit Hotkey"} 11 | ]} 12 | -------------------------------------------------------------------------------- /Frame/Frame.Options.MainWindow.lrj: -------------------------------------------------------------------------------- 1 | {"version":1,"strings":[ 2 | {"hash":146590327,"name":"tfrmmainwindowoptionspage.gbtreeview.caption","sourcebytes":[84,114,101,101,118,105,101,119],"value":"Treeview"}, 3 | {"hash":118462388,"name":"tfrmmainwindowoptionspage.cbbackground.caption","sourcebytes":[65,99,116,105,118,101,32,99,117,115,116,111,109,32,98,97,99,107,103,114,111,117,110,100],"value":"Active custom background"}, 4 | {"hash":111937580,"name":"tfrmmainwindowoptionspage.edtbackground.text","sourcebytes":[36,65,83,117,105,116,101,92],"value":"$ASuite\\"}, 5 | {"hash":1465171,"name":"tfrmmainwindowoptionspage.cbautoopclcat.caption","sourcebytes":[65,117,116,111,109,97,116,105,99,32,111,112,101,110,105,110,103,47,99,108,111,115,105,110,103,32,99,97,116,101,103,111,114,105,101,115],"value":"Automatic opening/closing categories"}, 6 | {"hash":214476567,"name":"tfrmmainwindowoptionspage.cbsmallicon.caption","sourcebytes":[83,109,97,108,108,32,105,99,111,110,32,115,105,122,101,32,105,110,32,109,97,105,110,32,119,105,110,100,111,119],"value":"Small icon size in main window"}, 7 | {"hash":154214516,"name":"tfrmmainwindowoptionspage.cbautoopdragdrop.caption","sourcebytes":[65,117,116,111,109,97,116,105,99,32,111,112,101,110,105,110,103,32,99,97,116,101,103,111,114,121,44,32,97,102,116,101,114,32,100,114,97,103,38,38,100,114,111,112,32,97,110,32,105,116,101,109,32,105,110,32,105,116],"value":"Automatic opening category, after drag&&drop an item in it"}, 8 | {"hash":7565767,"name":"tfrmmainwindowoptionspage.cbdisableconfirmdelete.caption","sourcebytes":[68,105,115,97,98,108,101,32,100,101,108,101,116,101,32,105,116,101,109,115,32,99,111,110,102,105,114,109,97,116,105,111,110,32,100,105,97,108,111,103],"value":"Disable delete items confirmation dialog"}, 9 | {"hash":171138814,"name":"tfrmmainwindowoptionspage.btnfontsettings.caption","sourcebytes":[70,111,110,116,32,115,101,116,116,105,110,103,115,46,46,46],"value":"Font settings..."}, 10 | {"hash":231000124,"name":"tfrmmainwindowoptionspage.gbwindow.caption","sourcebytes":[71,101,110,101,114,97,108],"value":"General"}, 11 | {"hash":246842832,"name":"tfrmmainwindowoptionspage.cbwindowontop.caption","sourcebytes":[77,97,105,110,32,119,105,110,100,111,119,32,97,108,119,97,121,115,32,111,110,32,116,111,112],"value":"Main window always on top"}, 12 | {"hash":51469285,"name":"tfrmmainwindowoptionspage.cbholdsize.caption","sourcebytes":[68,105,115,97,98,108,101,32,119,105,110,100,111,119,32,114,101,115,105,122,101],"value":"Disable window resize"}, 13 | {"hash":267149608,"name":"tfrmmainwindowoptionspage.cbhidesearch.caption","sourcebytes":[72,105,100,101,32,116,97,98,32,83,101,97,114,99,104],"value":"Hide tab Search"}, 14 | {"hash":159678229,"name":"tfrmmainwindowoptionspage.chksearchasyoutype.caption","sourcebytes":[83,101,97,114,99,104,32,97,115,32,121,111,117,32,116,121,112,101],"value":"Search as you type"}, 15 | {"hash":92056341,"name":"tfrmmainwindowoptionspage.cbcustomtitle.caption","sourcebytes":[67,117,115,116,111,109,32,109,97,105,110,32,119,105,110,100,111,119,32,116,105,116,108,101],"value":"Custom main window title"}, 16 | {"hash":74104997,"name":"tfrmmainwindowoptionspage.edtcustomtitle.text","sourcebytes":[65,83,117,105,116,101],"value":"ASuite"}, 17 | {"hash":139064983,"name":"tfrmmainwindowoptionspage.cbdialogcentermf.caption","sourcebytes":[79,112,101,110,32,100,105,97,108,111,103,115,32,105,110,32,116,104,101,32,99,101,110,116,101,114,32,111,102,32,109,97,105,110,32,119,105,110,100,111,119],"value":"Open dialogs in the center of main window"} 18 | ]} 19 | -------------------------------------------------------------------------------- /Frame/Frame.Options.Stats.lrj: -------------------------------------------------------------------------------- 1 | {"version":1,"strings":[ 2 | {"hash":74104997,"name":"tfrmstatsoptionspage.gbasuite.caption","sourcebytes":[65,83,117,105,116,101],"value":"ASuite"}, 3 | {"hash":6063029,"name":"tfrmstatsoptionspage.lbsoftware.rightcaption","sourcebytes":[86,97,108,117,101],"value":"Value"}, 4 | {"hash":45905812,"name":"tfrmstatsoptionspage.lbsoftware.caption","sourcebytes":[83,111,102,116,119,97,114,101,32,97,100,100,101,100],"value":"Software added"}, 5 | {"hash":6063029,"name":"tfrmstatsoptionspage.lbtotal.rightcaption","sourcebytes":[86,97,108,117,101],"value":"Value"}, 6 | {"hash":5991036,"name":"tfrmstatsoptionspage.lbtotal.caption","sourcebytes":[84,111,116,97,108],"value":"Total"}, 7 | {"hash":6063029,"name":"tfrmstatsoptionspage.lbcat.rightcaption","sourcebytes":[86,97,108,117,101],"value":"Value"}, 8 | {"hash":243645908,"name":"tfrmstatsoptionspage.lbcat.caption","sourcebytes":[67,97,116,101,103,111,114,105,101,115,32,97,100,100,101,100],"value":"Categories added"}, 9 | {"hash":151811603,"name":"tfrmstatsoptionspage.gbsupport.caption","sourcebytes":[68,114,105,118,101,32,37,83],"value":"Drive %S"}, 10 | {"hash":6063029,"name":"tfrmstatsoptionspage.lbsize.rightcaption","sourcebytes":[86,97,108,117,101],"value":"Value"}, 11 | {"hash":368901,"name":"tfrmstatsoptionspage.lbsize.caption","sourcebytes":[83,105,122,101],"value":"Size"}, 12 | {"hash":6063029,"name":"tfrmstatsoptionspage.lbspacefree.rightcaption","sourcebytes":[86,97,108,117,101],"value":"Value"}, 13 | {"hash":109030949,"name":"tfrmstatsoptionspage.lbspacefree.caption","sourcebytes":[85,115,101,100,32,115,112,97,99,101],"value":"Used space"}, 14 | {"hash":6063029,"name":"tfrmstatsoptionspage.lbspaceused.rightcaption","sourcebytes":[86,97,108,117,101],"value":"Value"}, 15 | {"hash":125746981,"name":"tfrmstatsoptionspage.lbspaceused.caption","sourcebytes":[70,114,101,101,32,115,112,97,99,101],"value":"Free space"}, 16 | {"hash":95464125,"name":"tfrmstatsoptionspage.gbsystem.caption","sourcebytes":[83,121,115,116,101,109],"value":"System"}, 17 | {"hash":6063029,"name":"tfrmstatsoptionspage.lbos.rightcaption","sourcebytes":[86,97,108,117,101],"value":"Value"}, 18 | {"hash":222234861,"name":"tfrmstatsoptionspage.lbos.caption","sourcebytes":[79,112,101,114,97,116,105,110,103,32,83,121,115,116,101,109],"value":"Operating System"}, 19 | {"hash":6063029,"name":"tfrmstatsoptionspage.lbuser.rightcaption","sourcebytes":[86,97,108,117,101],"value":"Value"}, 20 | {"hash":30101762,"name":"tfrmstatsoptionspage.lbuser.caption","sourcebytes":[67,117,114,114,101,110,116,32,117,115,101,114],"value":"Current user"}, 21 | {"hash":6063029,"name":"tfrmstatsoptionspage.lblbuild.rightcaption","sourcebytes":[86,97,108,117,101],"value":"Value"}, 22 | {"hash":84523598,"name":"tfrmstatsoptionspage.lblbuild.caption","sourcebytes":[66,117,105,108,100,32,86,101,114,115,105,111,110],"value":"Build Version"}, 23 | {"hash":6063029,"name":"tfrmstatsoptionspage.lblprocessor.rightcaption","sourcebytes":[86,97,108,117,101],"value":"Value"}, 24 | {"hash":94175218,"name":"tfrmstatsoptionspage.lblprocessor.caption","sourcebytes":[80,114,111,99,101,115,115,111,114],"value":"Processor"}, 25 | {"hash":6063029,"name":"tfrmstatsoptionspage.lblram.rightcaption","sourcebytes":[86,97,108,117,101],"value":"Value"}, 26 | {"hash":232496345,"name":"tfrmstatsoptionspage.lblram.caption","sourcebytes":[84,111,116,97,108,32,112,104,121,115,105,99,97,108,32,109,101,109,111,114,121],"value":"Total physical memory"} 27 | ]} 28 | -------------------------------------------------------------------------------- /Frame/Frame.Options.Trayicon.lrj: -------------------------------------------------------------------------------- 1 | {"version":1,"strings":[ 2 | {"hash":195998249,"name":"tfrmtrayiconoptionspage.gbtrayicon.caption","sourcebytes":[83,121,115,116,101,109,32,84,114,97,121],"value":"System Tray"}, 3 | {"hash":200149662,"name":"tfrmtrayiconoptionspage.cbtrayicon.caption","sourcebytes":[69,110,97,98,108,101,32,116,104,101,32,83,121,115,116,101,109,32,84,114,97,121,32,105,99,111,110],"value":"Enable the System Tray icon"}, 4 | {"hash":65875838,"name":"tfrmtrayiconoptionspage.cbtraycustomicon.caption","sourcebytes":[67,117,115,116,111,109,32,116,114,97,121,32,105,99,111,110],"value":"Custom tray icon"}, 5 | {"hash":111937580,"name":"tfrmtrayiconoptionspage.edtcustomicon.text","sourcebytes":[36,65,83,117,105,116,101,92],"value":"$ASuite\\"}, 6 | {"hash":107807819,"name":"tfrmtrayiconoptionspage.lbtrayleftclick.caption","sourcebytes":[76,101,102,116,32,99,108,105,99,107],"value":"Left click"}, 7 | {"hash":39290043,"name":"tfrmtrayiconoptionspage.lblmiddleclick.caption","sourcebytes":[77,105,100,100,108,101,32,99,108,105,99,107],"value":"Middle click"}, 8 | {"hash":103993963,"name":"tfrmtrayiconoptionspage.lbtrayrightclick.caption","sourcebytes":[82,105,103,104,116,32,99,108,105,99,107],"value":"Right click"}, 9 | {"hash":200782533,"name":"tfrmtrayiconoptionspage.grpclassicmenu.caption","sourcebytes":[67,108,97,115,115,105,99,32,77,101,110,117],"value":"Classic Menu"}, 10 | {"hash":74693413,"name":"tfrmtrayiconoptionspage.cbsubmenumfu.caption","sourcebytes":[77,111,115,116,32,85,115,101,100,32,105,116,101,109,115,32,111,110,32,116,114,97,121,105,99,111,110,32,115,117,98,109,101,110,117],"value":"Most Used items on trayicon submenu"}, 11 | {"hash":175191557,"name":"tfrmtrayiconoptionspage.cbsubmenumru.caption","sourcebytes":[82,101,99,101,110,116,32,105,116,101,109,115,32,111,110,32,116,114,97,121,105,99,111,110,32,115,117,98,109,101,110,117],"value":"Recent items on trayicon submenu"}, 12 | {"hash":120993410,"name":"tfrmtrayiconoptionspage.chkautoexpansion.caption","sourcebytes":[65,99,116,105,118,101,32,97,117,116,111,101,120,112,97,110,115,105,111,110,32,102,111,108,100,101,114],"value":"Active autoexpansion folder"}, 13 | {"hash":88309053,"name":"tfrmtrayiconoptionspage.chkhideejectmenuitem.caption","sourcebytes":[72,105,100,101,32,69,106,101,99,116,32,85,83,66,32,68,105,115,107,32,109,101,110,117,32,105,116,101,109],"value":"Hide Eject USB Disk menu item"}, 14 | {"hash":196984501,"name":"tfrmtrayiconoptionspage.grpgraphicmenu.caption","sourcebytes":[71,114,97,112,104,105,99,32,77,101,110,117],"value":"Graphic Menu"}, 15 | {"hash":85248244,"name":"tfrmtrayiconoptionspage.cbmenufade.caption","sourcebytes":[69,110,97,98,108,101,32,102,97,100,101,32,101,102,102,101,99,116],"value":"Enable fade effect"}, 16 | {"hash":148562261,"name":"tfrmtrayiconoptionspage.cbsmallicon.caption","sourcebytes":[83,109,97,108,108,32,84,114,101,101,86,105,101,119,39,115,32,105,99,111,110,32,115,105,122,101],"value":"Small TreeView's icon size"}, 17 | {"hash":109665877,"name":"tfrmtrayiconoptionspage.chkuserpicture.caption","sourcebytes":[83,104,111,119,32,117,115,101,114,32,112,105,99,116,117,114,101,32,105,110,32,109,101,110,117],"value":"Show user picture in menu"}, 18 | {"hash":114342430,"name":"tfrmtrayiconoptionspage.chkhideejectbutton.caption","sourcebytes":[72,105,100,101,32,69,106,101,99,116,32,85,83,66,32,68,105,115,107,32,98,117,116,116,111,110],"value":"Hide Eject USB Disk button"}, 19 | {"hash":5958709,"name":"tfrmtrayiconoptionspage.lbmenutheme.caption","sourcebytes":[84,104,101,109,101],"value":"Theme"} 20 | ]} 21 | -------------------------------------------------------------------------------- /Frame/Frame.Properties.Advanced.lrj: -------------------------------------------------------------------------------- 1 | {"version":1,"strings":[ 2 | {"hash":247200594,"name":"tfrmadvancedpropertypage.grpscheduler.caption","sourcebytes":[83,99,104,101,100,117,108,101,114],"value":"Scheduler"}, 3 | {"hash":342540,"name":"tfrmadvancedpropertypage.dtpschdate.textfornulldate","sourcebytes":[78,85,76,76],"value":"NULL"}, 4 | {"hash":342540,"name":"tfrmadvancedpropertypage.dtpschtime.textfornulldate","sourcebytes":[78,85,76,76],"value":"NULL"}, 5 | {"hash":83276233,"name":"tfrmadvancedpropertypage.grphotkey.caption","sourcebytes":[72,111,116,107,101,121],"value":"Hotkey"}, 6 | {"hash":90893459,"name":"tfrmadvancedpropertypage.grpothers.caption","sourcebytes":[79,116,104,101,114,115],"value":"Others"}, 7 | {"hash":227251173,"name":"tfrmadvancedpropertypage.cbhidesoftware.caption","sourcebytes":[72,105,100,101,32,116,104,105,115,32,115,111,102,116,119,97,114,101,32,102,114,111,109,32,109,101,110,117],"value":"Hide this software from menu"}, 8 | {"hash":153613577,"name":"tfrmadvancedpropertypage.cbdontinsertmru.caption","sourcebytes":[68,111,110,39,116,32,105,110,115,101,114,116,32,116,104,105,115,32,115,111,102,116,119,97,114,101,32,105,110,32,114,101,99,101,110,116,115,32,40,77,82,85,41],"value":"Don't insert this software in recents (MRU)"}, 9 | {"hash":58197253,"name":"tfrmadvancedpropertypage.cbdontinsertmfu.caption","sourcebytes":[68,111,110,39,116,32,105,110,115,101,114,116,32,116,104,105,115,32,115,111,102,116,119,97,114,101,32,105,110,32,77,70,85],"value":"Don't insert this software in MFU"}, 10 | {"hash":82387767,"name":"tfrmadvancedpropertypage.cbshortcutdesktop.caption","sourcebytes":[67,114,101,97,116,101,32,115,104,111,114,116,99,117,116,32,111,110,32,100,101,115,107,116,111,112,32,119,104,101,110,32,65,83,117,105,116,101,32,105,115,32,114,117,110,110,105,110,103],"value":"Create shortcut on desktop when ASuite is running"} 11 | ]} 12 | -------------------------------------------------------------------------------- /Frame/Frame.Properties.Base.lfm: -------------------------------------------------------------------------------- 1 | inherited frmBasePropertyPage: TfrmBasePropertyPage 2 | Width = 360 3 | ChildSizing.LeftRightSpacing = 4 4 | ChildSizing.TopBottomSpacing = 4 5 | ChildSizing.EnlargeHorizontal = crsScaleChilds 6 | DesignLeft = 135 7 | DesignTop = 16 8 | end 9 | -------------------------------------------------------------------------------- /Frame/Frame.Properties.Base.pas: -------------------------------------------------------------------------------- 1 | { 2 | Copyright (C) 2006-2021 Matteo Salvi 3 | 4 | Website: http://www.salvadorsoftware.com/ 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see <http://www.gnu.org/licenses/>. 18 | } 19 | 20 | unit Frame.Properties.Base; 21 | 22 | {$MODE DelphiUnicode} 23 | 24 | interface 25 | 26 | uses 27 | SysUtils, Classes, Controls, Dialogs, NodeDataTypes.Custom, Frame.BaseEntity; 28 | 29 | type 30 | TfrmBasePropertyPage = class(TfrmBaseEntityPage) 31 | private 32 | { Private declarations } 33 | FCurrentNodeData: TvCustomRealNodeData; 34 | public 35 | { Public declarations } 36 | constructor Create(AOwner: TComponent; ListNodeData: TvCustomRealNodeData); reintroduce; 37 | property CurrentNodeData: TvCustomRealNodeData read FCurrentNodeData write FCurrentNodeData; 38 | end; 39 | 40 | var 41 | frmBasePropertyPage: TfrmBasePropertyPage; 42 | 43 | implementation 44 | 45 | {$R *.lfm} 46 | 47 | { TfrmBasePropertyPage } 48 | 49 | constructor TfrmBasePropertyPage.Create(AOwner: TComponent; 50 | ListNodeData: TvCustomRealNodeData); 51 | begin 52 | Self.FCurrentNodeData := ListNodeData; 53 | inherited Create(AOwner); 54 | end; 55 | 56 | end. 57 | -------------------------------------------------------------------------------- /Frame/Frame.Properties.Behavior.lfm: -------------------------------------------------------------------------------- 1 | inherited frmBehaviorPropertyPage: TfrmBehaviorPropertyPage 2 | Height = 295 3 | ClientHeight = 295 4 | DesignLeft = 2074 5 | DesignTop = 212 6 | object grpAutoExecute: TGroupBox[0] 7 | Left = 4 8 | Height = 80 9 | Top = 4 10 | Width = 352 11 | BorderSpacing.Left = 4 12 | BorderSpacing.Top = 4 13 | BorderSpacing.Right = 4 14 | Caption = 'Autorun' 15 | ChildSizing.LeftRightSpacing = 4 16 | ChildSizing.TopBottomSpacing = 4 17 | ChildSizing.EnlargeHorizontal = crsScaleChilds 18 | ChildSizing.Layout = cclLeftToRightThenTopToBottom 19 | ClientHeight = 60 20 | ClientWidth = 348 21 | Font.Style = [fsBold] 22 | ParentFont = False 23 | TabOrder = 0 24 | object cxAutoExecute: TComboBox 25 | Left = 4 26 | Height = 23 27 | Top = 4 28 | Width = 340 29 | BorderSpacing.Bottom = 4 30 | ItemHeight = 15 31 | OnChange = cxAutoExecuteChange 32 | ParentFont = False 33 | Style = csDropDownList 34 | TabOrder = 0 35 | end 36 | object btnChangeOrder: TButton 37 | Left = 102 38 | Height = 25 39 | Top = 31 40 | Width = 143 41 | BorderSpacing.CellAlignHorizontal = ccaCenter 42 | Caption = 'Change autorun order' 43 | OnClick = btnChangeOrderClick 44 | ParentFont = False 45 | TabOrder = 1 46 | end 47 | end 48 | object pnl1: TPanel[1] 49 | Left = 4 50 | Height = 59 51 | Top = 84 52 | Width = 352 53 | BevelOuter = bvNone 54 | ChildSizing.TopBottomSpacing = 4 55 | ChildSizing.EnlargeHorizontal = crsScaleChilds 56 | ChildSizing.Layout = cclTopToBottomThenLeftToRight 57 | ClientHeight = 59 58 | ClientWidth = 352 59 | TabOrder = 1 60 | object grpOnExecute: TGroupBox 61 | Left = 0 62 | Height = 51 63 | Top = 4 64 | Width = 174 65 | Caption = 'On Execute' 66 | ChildSizing.LeftRightSpacing = 4 67 | ChildSizing.TopBottomSpacing = 4 68 | ChildSizing.EnlargeHorizontal = crsScaleChilds 69 | ChildSizing.Layout = cclLeftToRightThenTopToBottom 70 | ClientHeight = 31 71 | ClientWidth = 170 72 | Font.Style = [fsBold] 73 | ParentFont = False 74 | TabOrder = 0 75 | object cxActionOnExe: TComboBox 76 | Left = 4 77 | Height = 23 78 | Top = 4 79 | Width = 162 80 | ItemHeight = 15 81 | ParentFont = False 82 | Style = csDropDownList 83 | TabOrder = 0 84 | end 85 | end 86 | object grpWindowState: TGroupBox 87 | Left = 178 88 | Height = 51 89 | Top = 4 90 | Width = 174 91 | BorderSpacing.Left = 4 92 | Caption = 'Window State' 93 | ChildSizing.LeftRightSpacing = 4 94 | ChildSizing.TopBottomSpacing = 4 95 | ChildSizing.EnlargeHorizontal = crsScaleChilds 96 | ChildSizing.Layout = cclLeftToRightThenTopToBottom 97 | ClientHeight = 31 98 | ClientWidth = 170 99 | Font.Style = [fsBold] 100 | ParentFont = False 101 | TabOrder = 1 102 | object cxWindowState: TComboBox 103 | Left = 4 104 | Height = 23 105 | Top = 4 106 | Width = 162 107 | ItemHeight = 15 108 | ParentFont = False 109 | Style = csDropDownList 110 | TabOrder = 0 111 | end 112 | end 113 | end 114 | end 115 | -------------------------------------------------------------------------------- /Frame/Frame.Properties.Behavior.lrj: -------------------------------------------------------------------------------- 1 | {"version":1,"strings":[ 2 | {"hash":147548670,"name":"tfrmbehaviorpropertypage.grpautoexecute.caption","sourcebytes":[65,117,116,111,114,117,110],"value":"Autorun"}, 3 | {"hash":104411282,"name":"tfrmbehaviorpropertypage.btnchangeorder.caption","sourcebytes":[67,104,97,110,103,101,32,97,117,116,111,114,117,110,32,111,114,100,101,114],"value":"Change autorun order"}, 4 | {"hash":216976613,"name":"tfrmbehaviorpropertypage.grponexecute.caption","sourcebytes":[79,110,32,69,120,101,99,117,116,101],"value":"On Execute"}, 5 | {"hash":213574597,"name":"tfrmbehaviorpropertypage.grpwindowstate.caption","sourcebytes":[87,105,110,100,111,119,32,83,116,97,116,101],"value":"Window State"} 6 | ]} 7 | -------------------------------------------------------------------------------- /Frame/Frame.Properties.EnvironmentVars.lfm: -------------------------------------------------------------------------------- 1 | inherited frmEnvironmentVars: TfrmEnvironmentVars 2 | OnResize = FrameResize 3 | DesignLeft = 1986 4 | DesignTop = 416 5 | object grpOthers: TGroupBox[0] 6 | Left = 4 7 | Height = 252 8 | Top = 4 9 | Width = 352 10 | AutoSize = True 11 | BorderSpacing.Left = 4 12 | BorderSpacing.Top = 4 13 | BorderSpacing.Right = 4 14 | Caption = 'Environment Variables' 15 | ChildSizing.LeftRightSpacing = 4 16 | ChildSizing.TopBottomSpacing = 4 17 | ChildSizing.EnlargeHorizontal = crsScaleChilds 18 | ChildSizing.Layout = cclLeftToRightThenTopToBottom 19 | ClientHeight = 232 20 | ClientWidth = 348 21 | Font.Style = [fsBold] 22 | ParentFont = False 23 | TabOrder = 0 24 | object vleVars: TValueListEditor 25 | Left = 4 26 | Height = 200 27 | Top = 4 28 | Width = 340 29 | AutoAdvance = aaNone 30 | Constraints.MinHeight = 200 31 | FixedCols = 0 32 | ParentFont = False 33 | RowCount = 3 34 | TabOrder = 0 35 | KeyOptions = [keyEdit, keyAdd, keyDelete] 36 | Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goColSizing, goEditing, goAutoAddRows, goTabs, goRowSelect, goAlwaysShowEditor, goThumbTracking, goDblClickAutoSize] 37 | Strings.Strings = ( 38 | '' 39 | '' 40 | ) 41 | ColWidths = ( 42 | 64 43 | 276 44 | ) 45 | end 46 | object tbButtons: TToolBar 47 | Left = 4 48 | Height = 24 49 | Top = 204 50 | Width = 340 51 | Align = alNone 52 | AutoSize = True 53 | Caption = 'tbButtons' 54 | EdgeBorders = [ebLeft, ebRight, ebBottom] 55 | TabOrder = 1 56 | object tbAdd: TToolButton 57 | Left = 3 58 | Top = 0 59 | Action = actAdd 60 | end 61 | object tbDelete: TToolButton 62 | Left = 26 63 | Top = 0 64 | Action = actDelete 65 | end 66 | object tbCopy: TToolButton 67 | Left = 49 68 | Top = 0 69 | Action = actCopy 70 | end 71 | object tbPaste: TToolButton 72 | Left = 72 73 | Top = 0 74 | Action = actPaste 75 | end 76 | end 77 | end 78 | object ActionList1: TActionList[1] 79 | Left = 8 80 | Top = 8 81 | object actAdd: TAction 82 | Caption = 'Add' 83 | OnExecute = actAddExecute 84 | end 85 | object actDelete: TAction 86 | Caption = 'Delete' 87 | OnExecute = actDeleteExecute 88 | end 89 | object actCopy: TAction 90 | Caption = 'Copy' 91 | OnExecute = actCopyExecute 92 | end 93 | object actPaste: TAction 94 | Caption = 'Paste' 95 | OnExecute = actPasteExecute 96 | OnUpdate = actPasteUpdate 97 | end 98 | end 99 | end 100 | -------------------------------------------------------------------------------- /Frame/Frame.Properties.EnvironmentVars.lrj: -------------------------------------------------------------------------------- 1 | {"version":1,"strings":[ 2 | {"hash":262735651,"name":"tfrmenvironmentvars.grpothers.caption","sourcebytes":[69,110,118,105,114,111,110,109,101,110,116,32,86,97,114,105,97,98,108,101,115],"value":"Environment Variables"}, 3 | {"hash":164360243,"name":"tfrmenvironmentvars.tbbuttons.caption","sourcebytes":[116,98,66,117,116,116,111,110,115],"value":"tbButtons"}, 4 | {"hash":18340,"name":"tfrmenvironmentvars.actadd.caption","sourcebytes":[65,100,100],"value":"Add"}, 5 | {"hash":78392485,"name":"tfrmenvironmentvars.actdelete.caption","sourcebytes":[68,101,108,101,116,101],"value":"Delete"}, 6 | {"hash":304761,"name":"tfrmenvironmentvars.actcopy.caption","sourcebytes":[67,111,112,121],"value":"Copy"}, 7 | {"hash":5671589,"name":"tfrmenvironmentvars.actpaste.caption","sourcebytes":[80,97,115,116,101],"value":"Paste"} 8 | ]} 9 | -------------------------------------------------------------------------------- /Frame/Frame.Properties.General.Category.lfm: -------------------------------------------------------------------------------- 1 | inherited frmCatGeneralPropertyPage: TfrmCatGeneralPropertyPage 2 | DesignLeft = 2132 3 | object grpSubItems: TGroupBox[1] 4 | Left = 4 5 | Height = 192 6 | Top = 114 7 | Width = 352 8 | BorderSpacing.Left = 4 9 | BorderSpacing.Top = 4 10 | BorderSpacing.Right = 4 11 | Caption = 'Software in this category' 12 | ChildSizing.LeftRightSpacing = 4 13 | ChildSizing.TopBottomSpacing = 4 14 | ChildSizing.EnlargeHorizontal = crsScaleChilds 15 | ChildSizing.Layout = cclLeftToRightThenTopToBottom 16 | ClientHeight = 172 17 | ClientWidth = 348 18 | Font.Style = [fsBold] 19 | ParentFont = False 20 | TabOrder = 1 21 | object vstCategoryItems: TVirtualStringTree 22 | Left = 4 23 | Height = 115 24 | Top = 4 25 | Width = 340 26 | BorderSpacing.Bottom = 4 27 | Constraints.MinHeight = 115 28 | DragOperations = [] 29 | Header.AutoSizeIndex = 0 30 | Header.Columns = <> 31 | Header.MainColumn = -1 32 | ParentFont = False 33 | TabOrder = 0 34 | TreeOptions.MiscOptions = [toAcceptOLEDrop, toCheckSupport, toFullRepaintOnResize, toInitOnSave, toToggleOnDblClick, toWheelPanning, toEditOnClick] 35 | TreeOptions.PaintOptions = [toShowDropmark, toThemeAware, toUseBlendedImages, toUseExplorerTheme] 36 | end 37 | object lblNote: TLabel 38 | Left = 4 39 | Height = 45 40 | Top = 123 41 | Width = 340 42 | Caption = 'Note: In this list you can find all software items of this category (only first level). Uncheck items who you don''t want to start, when run this category.' 43 | ParentFont = False 44 | WordWrap = True 45 | end 46 | end 47 | end 48 | -------------------------------------------------------------------------------- /Frame/Frame.Properties.General.Category.lrj: -------------------------------------------------------------------------------- 1 | {"version":1,"strings":[ 2 | {"hash":7400873,"name":"tfrmcatgeneralpropertypage.grpsubitems.caption","sourcebytes":[83,111,102,116,119,97,114,101,32,105,110,32,116,104,105,115,32,99,97,116,101,103,111,114,121],"value":"Software in this category"}, 3 | {"hash":73809006,"name":"tfrmcatgeneralpropertypage.lblnote.caption","sourcebytes":[78,111,116,101,58,32,73,110,32,116,104,105,115,32,108,105,115,116,32,121,111,117,32,99,97,110,32,102,105,110,100,32,97,108,108,32,115,111,102,116,119,97,114,101,32,105,116,101,109,115,32,111,102,32,116,104,105,115,32,99,97,116,101,103,111,114,121,32,40,111,110,108,121,32,102,105,114,115,116,32,108,101,118,101,108,41,46,32,85,110,99,104,101,99,107,32,105,116,101,109,115,32,119,104,111,32,121,111,117,32,100,111,110,39,116,32,119,97,110,116,32,116,111,32,115,116,97,114,116,44,32,119,104,101,110,32,114,117,110,32,116,104,105,115,32,99,97,116,101,103,111,114,121,46],"value":"Note: In this list you can find all software items of this category (only first level). Uncheck items who you don't want to start, when run this category."} 4 | ]} 5 | -------------------------------------------------------------------------------- /Frame/Frame.Properties.General.Software.lfm: -------------------------------------------------------------------------------- 1 | inherited frmSWGeneralPropertyPage: TfrmSWGeneralPropertyPage 2 | DesignTop = 228 3 | object grpSoftware: TGroupBox[1] 4 | Left = 4 5 | Height = 210 6 | Top = 114 7 | Width = 352 8 | BorderSpacing.Left = 4 9 | BorderSpacing.Top = 4 10 | BorderSpacing.Right = 4 11 | Caption = 'Path' 12 | ChildSizing.LeftRightSpacing = 4 13 | ChildSizing.TopBottomSpacing = 4 14 | ChildSizing.EnlargeHorizontal = crsScaleChilds 15 | ChildSizing.Layout = cclLeftToRightThenTopToBottom 16 | ClientHeight = 190 17 | ClientWidth = 348 18 | Font.Style = [fsBold] 19 | ParentFont = False 20 | TabOrder = 1 21 | object lbPathExe: TLabel 22 | Left = 4 23 | Height = 15 24 | Top = 4 25 | Width = 340 26 | Caption = 'Executable/folder/web page path' 27 | ParentFont = False 28 | end 29 | object edtPathExe: TFileNameEdit 30 | Left = 4 31 | Height = 23 32 | Top = 19 33 | Width = 340 34 | OnAcceptFileName = edtPathExeAcceptFileName 35 | DialogOptions = [ofHideReadOnly, ofEnableSizing] 36 | FilterIndex = 0 37 | HideDirectories = False 38 | ButtonWidth = 23 39 | NumGlyphs = 1 40 | BorderSpacing.Bottom = 2 41 | MaxLength = 0 42 | ParentFont = False 43 | TabOrder = 0 44 | OnButtonClick = edtPathExeButtonClick 45 | Text = '$ASuite\' 46 | end 47 | object lbWorkingDir: TLabel 48 | Left = 4 49 | Height = 15 50 | Top = 44 51 | Width = 340 52 | Caption = 'Custom working directory (optional)' 53 | ParentFont = False 54 | end 55 | object edtWorkingDir: TDirectoryEdit 56 | Left = 4 57 | Height = 23 58 | Top = 59 59 | Width = 340 60 | Directory = '$ASuite\' 61 | OnAcceptDirectory = edtWorkingDirAcceptDirectory 62 | ShowHidden = False 63 | ButtonWidth = 23 64 | NumGlyphs = 1 65 | BorderSpacing.Bottom = 2 66 | MaxLength = 0 67 | ParentFont = False 68 | TabOrder = 1 69 | OnButtonClick = edtWorkingDirButtonClick 70 | OnChange = edtWorkingDirChange 71 | Text = '$ASuite\' 72 | end 73 | object lbParameters: TLabel 74 | Left = 4 75 | Height = 15 76 | Top = 84 77 | Width = 340 78 | Caption = 'Parameters (optional)' 79 | ParentFont = False 80 | end 81 | object edtParameters: TEdit 82 | Left = 4 83 | Height = 23 84 | Top = 99 85 | Width = 340 86 | BorderSpacing.Bottom = 4 87 | ParentFont = False 88 | TabOrder = 2 89 | end 90 | object lbInfo2: TLabel 91 | AnchorSideTop.Control = edtParameters 92 | AnchorSideTop.Side = asrBottom 93 | AnchorSideRight.Control = edtParameters 94 | AnchorSideRight.Side = asrBottom 95 | Left = 4 96 | Height = 60 97 | Top = 126 98 | Width = 340 99 | Anchors = [akTop, akLeft, akRight] 100 | AutoSize = False 101 | Caption = 'Note: You can use these vars (included environment variables) in relative path:'#13#10'- %asuite% = ASuite folder path ("%s")'#13#10'- %drive% = drive path ("%s")' 102 | ParentFont = False 103 | WordWrap = True 104 | end 105 | end 106 | end 107 | -------------------------------------------------------------------------------- /Frame/Frame.Properties.General.Software.lrj: -------------------------------------------------------------------------------- 1 | {"version":1,"strings":[ 2 | {"hash":354472,"name":"tfrmswgeneralpropertypage.grpsoftware.caption","sourcebytes":[80,97,116,104],"value":"Path"}, 3 | {"hash":261107848,"name":"tfrmswgeneralpropertypage.lbpathexe.caption","sourcebytes":[69,120,101,99,117,116,97,98,108,101,47,102,111,108,100,101,114,47,119,101,98,32,112,97,103,101,32,112,97,116,104],"value":"Executable/folder/web page path"}, 4 | {"hash":111937580,"name":"tfrmswgeneralpropertypage.edtpathexe.text","sourcebytes":[36,65,83,117,105,116,101,92],"value":"$ASuite\\"}, 5 | {"hash":128270345,"name":"tfrmswgeneralpropertypage.lbworkingdir.caption","sourcebytes":[67,117,115,116,111,109,32,119,111,114,107,105,110,103,32,100,105,114,101,99,116,111,114,121,32,40,111,112,116,105,111,110,97,108,41],"value":"Custom working directory (optional)"}, 6 | {"hash":111937580,"name":"tfrmswgeneralpropertypage.edtworkingdir.text","sourcebytes":[36,65,83,117,105,116,101,92],"value":"$ASuite\\"}, 7 | {"hash":188075481,"name":"tfrmswgeneralpropertypage.lbparameters.caption","sourcebytes":[80,97,114,97,109,101,116,101,114,115,32,40,111,112,116,105,111,110,97,108,41],"value":"Parameters (optional)"}, 8 | {"hash":128328681,"name":"tfrmswgeneralpropertypage.lbinfo2.caption","sourcebytes":[78,111,116,101,58,32,89,111,117,32,99,97,110,32,117,115,101,32,116,104,101,115,101,32,118,97,114,115,32,40,105,110,99,108,117,100,101,100,32,101,110,118,105,114,111,110,109,101,110,116,32,118,97,114,105,97,98,108,101,115,41,32,105,110,32,114,101,108,97,116,105,118,101,32,112,97,116,104,58,13,10,45,32,37,97,115,117,105,116,101,37,32,61,32,65,83,117,105,116,101,32,102,111,108,100,101,114,32,112,97,116,104,32,40,34,37,115,34,41,13,10,45,32,37,100,114,105,118,101,37,32,61,32,100,114,105,118,101,32,112,97,116,104,32,40,34,37,115,34,41],"value":"Note: You can use these vars (included environment variables) in relative path:\r\n- %asuite% = ASuite folder path (\"%s\")\r\n- %drive% = drive path (\"%s\")"} 9 | ]} 10 | -------------------------------------------------------------------------------- /Frame/Frame.Properties.General.lfm: -------------------------------------------------------------------------------- 1 | inherited frmBaseGeneralPropertyPage: TfrmBaseGeneralPropertyPage 2 | Height = 274 3 | ClientHeight = 274 4 | DesignLeft = 2130 5 | DesignTop = 224 6 | object gbItem: TGroupBox[0] 7 | Left = 4 8 | Height = 146 9 | Top = 4 10 | Width = 352 11 | BorderSpacing.Left = 4 12 | BorderSpacing.Top = 4 13 | BorderSpacing.Right = 4 14 | Caption = 'Item' 15 | ChildSizing.LeftRightSpacing = 4 16 | ChildSizing.TopBottomSpacing = 4 17 | ChildSizing.EnlargeHorizontal = crsScaleChilds 18 | ChildSizing.Layout = cclLeftToRightThenTopToBottom 19 | ClientHeight = 126 20 | ClientWidth = 348 21 | Font.Style = [fsBold] 22 | ParentFont = False 23 | TabOrder = 0 24 | object lbName: TLabel 25 | Left = 4 26 | Height = 15 27 | Top = 4 28 | Width = 340 29 | Caption = 'Name' 30 | ParentFont = False 31 | end 32 | object edtName: TEdit 33 | Left = 4 34 | Height = 23 35 | Top = 19 36 | Width = 340 37 | BorderSpacing.Bottom = 2 38 | OnEnter = edtNameEnter 39 | ParentFont = False 40 | TabOrder = 0 41 | end 42 | object lbDescription: TLabel 43 | Left = 4 44 | Height = 15 45 | Top = 44 46 | Width = 340 47 | Caption = 'Description' 48 | ParentFont = False 49 | end 50 | object edtDescription: TEdit 51 | Left = 4 52 | Height = 23 53 | Top = 59 54 | Width = 340 55 | BorderSpacing.Bottom = 2 56 | OnEnter = edtNameEnter 57 | ParentFont = False 58 | TabOrder = 1 59 | end 60 | object lbPathIcon: TLabel 61 | Left = 4 62 | Height = 15 63 | Top = 84 64 | Width = 340 65 | Caption = 'Custom icon path (optional)' 66 | ParentFont = False 67 | end 68 | object edtPathIcon: TFileNameEdit 69 | Left = 4 70 | Height = 23 71 | Top = 99 72 | Width = 340 73 | OnAcceptFileName = edtPathIconAcceptFileName 74 | DialogOptions = [ofHideReadOnly, ofEnableSizing] 75 | FilterIndex = 0 76 | HideDirectories = False 77 | ButtonWidth = 23 78 | NumGlyphs = 1 79 | MaxLength = 0 80 | ParentFont = False 81 | TabOrder = 2 82 | OnButtonClick = edtPathIconButtonClick 83 | OnChange = edtPathIconChange 84 | OnExit = edtPathIconExit 85 | Text = '$ASuite\' 86 | end 87 | end 88 | end 89 | -------------------------------------------------------------------------------- /Frame/Frame.Properties.General.lrj: -------------------------------------------------------------------------------- 1 | {"version":1,"strings":[ 2 | {"hash":330429,"name":"tfrmbasegeneralpropertypage.gbitem.caption","sourcebytes":[73,116,101,109],"value":"Item"}, 3 | {"hash":346165,"name":"tfrmbasegeneralpropertypage.lbname.caption","sourcebytes":[78,97,109,101],"value":"Name"}, 4 | {"hash":156067838,"name":"tfrmbasegeneralpropertypage.lbdescription.caption","sourcebytes":[68,101,115,99,114,105,112,116,105,111,110],"value":"Description"}, 5 | {"hash":78871337,"name":"tfrmbasegeneralpropertypage.lbpathicon.caption","sourcebytes":[67,117,115,116,111,109,32,105,99,111,110,32,112,97,116,104,32,40,111,112,116,105,111,110,97,108,41],"value":"Custom icon path (optional)"}, 6 | {"hash":111937580,"name":"tfrmbasegeneralpropertypage.edtpathicon.text","sourcebytes":[36,65,83,117,105,116,101,92],"value":"$ASuite\\"} 7 | ]} 8 | -------------------------------------------------------------------------------- /Library/GraphicMenu.ThemeEngine.Consts.pas: -------------------------------------------------------------------------------- 1 | { 2 | Copyright (C) 2006-2021 Matteo Salvi 3 | 4 | Website: http://www.salvadorsoftware.com/ 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see <http://www.gnu.org/licenses/>. 18 | } 19 | 20 | unit GraphicMenu.ThemeEngine.Consts; 21 | 22 | {$MODE DelphiUnicode} 23 | 24 | interface 25 | 26 | const 27 | //Theme.ini structure 28 | //Sections 29 | INIFILE_SECTION_INFO = 'info'; 30 | INIFILE_SECTION_GENERAL = 'general'; 31 | INIFILE_SECTION_RIGHTBUTTONS = 'rightbuttons'; 32 | INIFILE_SECTION_HARDDISK = 'harddisk'; 33 | INIFILE_SECTION_SEARCH = 'search'; 34 | INIFILE_SECTION_LIST = 'list'; 35 | INIFILE_SECTION_RECENTS = 'recent'; 36 | INIFILE_SECTION_MOSTUSED = 'mostused'; 37 | INIFILE_SECTION_EJECTBUTTON = 'ejectbutton'; 38 | INIFILE_SECTION_EXITBUTTON = 'exitbutton'; 39 | //Keys 40 | //Info 41 | INIFILE_KEY_NAME = 'name'; 42 | INIFILE_KEY_AUTHOR = 'author'; 43 | INIFILE_KEY_VERSION = 'version'; 44 | INIFILE_KEY_URL = 'url'; 45 | //Images 46 | INIFILE_KEY_IMAGEBUTTON = 'image_button'; 47 | INIFILE_KEY_IMAGEBACKGROUND = 'image_background'; 48 | INIFILE_KEY_IMAGEUSERFRAME = 'image_userframe'; 49 | INIFILE_KEY_IMAGELOGO = 'image_logo'; 50 | INIFILE_KEY_IMAGESPACE = 'image_space'; 51 | INIFILE_KEY_IMAGESEPARATOR = 'image_separator'; 52 | //Fonts 53 | INIFILE_KEY_FONTNORMAL = 'font_normal'; 54 | INIFILE_KEY_FONTHOVER = 'font_hover'; 55 | INIFILE_KEY_FONTCLICKED = 'font_clicked'; 56 | INIFILE_KEY_FONTDISABLED = 'font_disabled'; 57 | INIFILE_KEY_FONTTREE = 'font_tree'; 58 | INIFILE_KEY_FONT = 'font'; //Generic font key 59 | //Icons 60 | INIFILE_KEY_ICONASUITE = 'icon_asuite'; 61 | INIFILE_KEY_ICONEXPLORE = 'icon_explore'; 62 | INIFILE_KEY_ICONDOCUMENT = 'icon_document'; 63 | INIFILE_KEY_ICONMUSIC = 'icon_music'; 64 | INIFILE_KEY_ICONPICTURES = 'icon_pictures'; 65 | INIFILE_KEY_ICONVIDEOS = 'icon_videos'; 66 | INIFILE_KEY_ICONOPTIONS = 'icon_options'; 67 | INIFILE_KEY_ICONHELP = 'icon_help'; 68 | INIFILE_KEY_ICONSEARCH = 'icon_search'; 69 | INIFILE_KEY_ICONCANCEL = 'icon_cancel'; 70 | INIFILE_KEY_ICON = 'icon'; //Generic icon key 71 | 72 | implementation 73 | 74 | end. 75 | -------------------------------------------------------------------------------- /Library/Icons.ExtFile.pas: -------------------------------------------------------------------------------- 1 | { 2 | Copyright (C) 2006-2021 Matteo Salvi 3 | 4 | Website: http://www.salvadorsoftware.com/ 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see <http://www.gnu.org/licenses/>. 18 | } 19 | 20 | unit Icons.ExtFile; 21 | 22 | {$MODE DelphiUnicode} 23 | 24 | interface 25 | 26 | uses 27 | SysUtils, Classes, Icons.Base, Icons.Custom; 28 | 29 | type 30 | 31 | { TExtFileIcon } 32 | 33 | TExtFileIcon = class(TCustomIcon) 34 | private 35 | FExtFile: string; 36 | protected 37 | function GetName: string; override; 38 | function LoadIcon: Integer; override; 39 | function GetDefaultPathIcon: string; override; 40 | public 41 | constructor Create(AExtFile: string); 42 | 43 | property ExtFile: string read FExtFile write FExtFile; 44 | end; 45 | 46 | implementation 47 | 48 | constructor TExtFileIcon.Create(AExtFile: string); 49 | begin 50 | inherited Create; 51 | FExtFile := AExtFile; 52 | end; 53 | 54 | function TExtFileIcon.GetName: string; 55 | begin 56 | Result := LowerCase(FExtFile); 57 | end; 58 | 59 | function TExtFileIcon.LoadIcon: Integer; 60 | begin 61 | Result := -1; 62 | if (FExtFile <> '') then 63 | Result := InternalGetImageIndex(FExtFile); 64 | end; 65 | 66 | function TExtFileIcon.GetDefaultPathIcon: string; 67 | begin 68 | raise ENotImplemented.Create('This class does not need default path icon'); 69 | 70 | Result := ''; 71 | end; 72 | 73 | end. 74 | 75 | -------------------------------------------------------------------------------- /Library/Icons.Files.pas: -------------------------------------------------------------------------------- 1 | { 2 | Copyright (C) 2006-2021 Matteo Salvi 3 | 4 | Website: http://www.salvadorsoftware.com/ 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see <http://www.gnu.org/licenses/>. 18 | } 19 | 20 | unit Icons.Files; 21 | 22 | {$MODE DelphiUnicode} 23 | 24 | interface 25 | 26 | uses 27 | SysUtils, Classes, Icons.Base, Icons.Custom; 28 | 29 | type 30 | 31 | { TFileIcon } 32 | 33 | TFileIcon = class(TCustomIcon) 34 | private 35 | FPathFile: string; 36 | protected 37 | function GetName: string; override; 38 | function LoadIcon: Integer; override; 39 | function GetDefaultPathIcon: string; override; 40 | public 41 | constructor Create(APathFile: string; AStatic: Boolean = False); 42 | 43 | property PathFile: string read FPathFile write FPathFile; 44 | end; 45 | 46 | implementation 47 | 48 | uses 49 | LazFileUtils; 50 | 51 | constructor TFileIcon.Create(APathFile: string; AStatic: Boolean); 52 | begin 53 | inherited Create(AStatic); 54 | FPathFile := APathFile; 55 | end; 56 | 57 | function TFileIcon.GetName: string; 58 | begin 59 | Result := ''; 60 | if FPathFile <> '' then 61 | Result := LowerCase(ExtractFileNameOnly(FPathFile)); 62 | end; 63 | 64 | function TFileIcon.LoadIcon: Integer; 65 | begin 66 | Result := -1; 67 | 68 | if FileExists(FPathFile) then 69 | Result := inherited; 70 | end; 71 | 72 | function TFileIcon.GetDefaultPathIcon: string; 73 | begin 74 | Result := FPathFile; 75 | end; 76 | 77 | end. 78 | -------------------------------------------------------------------------------- /Library/Icons.Thread.pas: -------------------------------------------------------------------------------- 1 | { 2 | Copyright (C) 2006-2021 Matteo Salvi 3 | 4 | Website: http://www.salvadorsoftware.com/ 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see <http://www.gnu.org/licenses/>. 18 | } 19 | 20 | unit Icons.Thread; 21 | 22 | {$MODE DelphiUnicode} 23 | 24 | interface 25 | 26 | uses 27 | Classes, VirtualTrees; 28 | 29 | type 30 | TTreeIconsThread = class(TThread) 31 | private 32 | FSenderTree : TBaseVirtualTree; 33 | FParentNode : PVirtualNode; 34 | procedure GetImageIndex(Sender: TBaseVirtualTree; Node: PVirtualNode; 35 | Data: Pointer; var Abort: Boolean); 36 | public 37 | constructor Create(ASenderTree: TBaseVirtualTree; AParentNode : PVirtualNode); 38 | procedure Execute; override; 39 | end; 40 | 41 | implementation 42 | 43 | uses 44 | VirtualTree.Methods, NodeDataTypes.Base, AppConfig.Main, Kernel.Enumerations, 45 | Kernel.Logger, mormot.core.log; 46 | 47 | { TTreeIconsThread } 48 | 49 | constructor TTreeIconsThread.Create(ASenderTree: TBaseVirtualTree; AParentNode : PVirtualNode); 50 | begin 51 | inherited Create(True); 52 | TASuiteLogger.Info('Start thread to get all icons', []); 53 | //Init thread with base properties 54 | FSenderTree := ASenderTree; 55 | FParentNode := AParentNode; 56 | 57 | FreeOnTerminate := True; 58 | end; 59 | 60 | procedure TTreeIconsThread.Execute; 61 | var 62 | {%H-}log: ISynLog; 63 | begin 64 | log := TASuiteLogger.Enter('TTreeIconsThread.Execute', Self); 65 | FSenderTree.IterateSubtree(FParentNode, GetImageIndex, nil); 66 | end; 67 | 68 | procedure TTreeIconsThread.GetImageIndex(Sender: TBaseVirtualTree; 69 | Node: PVirtualNode; Data: Pointer; var Abort: Boolean); 70 | var 71 | NodeData: TvBaseNodeData; 72 | begin 73 | if Config.ASuiteState = lsNormal then 74 | begin 75 | NodeData := TVirtualTreeMethods.GetNodeItemData(Node, Sender); 76 | if Assigned(NodeData) then 77 | NodeData.Icon.ImageIndex; 78 | end 79 | else 80 | Abort := True; 81 | end; 82 | 83 | end. 84 | -------------------------------------------------------------------------------- /Library/Kernel.ASMenuItem.pas: -------------------------------------------------------------------------------- 1 | { 2 | Copyright (C) 2006-2021 Matteo Salvi 3 | 4 | Website: http://www.salvadorsoftware.com/ 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see <http://www.gnu.org/licenses/>. 18 | } 19 | 20 | unit Kernel.ASMenuItem; 21 | 22 | {$MODE DelphiUnicode} 23 | 24 | interface 25 | 26 | uses 27 | Classes, SysUtils, Menus, VirtualTrees, NodeDataTypes.Base, 28 | LCLIntf; 29 | 30 | type 31 | 32 | { TASMenuItem } 33 | 34 | TASMenuItem = class(TMenuItem) 35 | private 36 | FData: TvBaseNodeData; 37 | FpNode: PVirtualNode; 38 | FPath: string; 39 | 40 | procedure SetData(const Value: TvBaseNodeData); 41 | procedure SetpNode(const Value: PVirtualNode); 42 | public 43 | constructor Create(AOwner: TComponent); override; 44 | 45 | property Data : TvBaseNodeData read FData write SetData; 46 | property pNode : PVirtualNode read FpNode write SetpNode; 47 | property Path : string read FPath write FPath; 48 | 49 | procedure NewBottomLine; 50 | procedure InsertNewLine(ABefore: Boolean; AItem: TMenuItem); 51 | end; 52 | 53 | implementation 54 | 55 | { TASMenuItem } 56 | 57 | constructor TASMenuItem.Create(AOwner: TComponent); 58 | begin 59 | inherited Create(AOwner); 60 | FData := nil; 61 | FpNode := nil; 62 | end; 63 | 64 | procedure TASMenuItem.NewBottomLine; 65 | var 66 | Separator: TMenuItem; 67 | begin 68 | if Self.Count = 0 then 69 | begin 70 | Separator := TMenuItem.Create(nil); 71 | Separator.Caption := cLineCaption; 72 | Self.Add(NewLine) 73 | end 74 | else begin 75 | if not(Self[Self.Count - 1].IsLine()) then 76 | InsertNewLine(False, Self.Items[Self.Count - 1]); 77 | end; 78 | end; 79 | 80 | procedure TASMenuItem.InsertNewLine(ABefore: Boolean; AItem: TMenuItem); 81 | begin 82 | if ABefore then 83 | begin 84 | if (AItem.MenuIndex > 0) and 85 | Self.Items[AItem.MenuIndex - 1].IsLine then 86 | Self.Items[AItem.MenuIndex - 1].Visible := True 87 | else 88 | Self.Insert(AItem.MenuIndex, NewLine); 89 | end 90 | else 91 | begin 92 | if (AItem.MenuIndex < Self.Count - 1) and 93 | Self.Items[AItem.MenuIndex + 1].IsLine then 94 | Self.Items[AItem.MenuIndex + 1].Visible := True 95 | else 96 | Self.Insert(AItem.MenuIndex + 1, NewLine); 97 | end; 98 | end; 99 | 100 | procedure TASMenuItem.SetData(const Value: TvBaseNodeData); 101 | begin 102 | FData := Value; 103 | end; 104 | 105 | procedure TASMenuItem.SetpNode(const Value: PVirtualNode); 106 | begin 107 | FpNode := Value; 108 | end; 109 | 110 | end. 111 | -------------------------------------------------------------------------------- /Library/Kernel.Consts.pas: -------------------------------------------------------------------------------- 1 | { 2 | Copyright (C) 2006-2021 Matteo Salvi 3 | 4 | Website: http://www.salvadorsoftware.com/ 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see <http://www.gnu.org/licenses/>. 18 | } 19 | 20 | unit Kernel.Consts; 21 | 22 | {$MODE DelphiUnicode} 23 | 24 | {$I ASuite.inc} 25 | 26 | interface 27 | 28 | const 29 | 30 | // Application's informations 31 | APP_NAME = 'ASuite'; 32 | APP_TITLE = APP_NAME; 33 | 34 | VERSION_PRERELEASE = 'Beta'; //For Alpha and Beta version 35 | 36 | BACKUP_DIR = 'backup'; 37 | CACHE_DIR = 'cache'; 38 | LOCALE_DIR = 'locale'; 39 | MENUTHEMES_DIR = 'themes'; 40 | ICONS_DIR = 'icons'; 41 | BUTTONS_DIR = 'buttons'; 42 | 43 | //FileSystem 44 | DriveLetters = ['a'..'z', 'A'..'Z']; 45 | 46 | //Extensions 47 | EXT_XML = '.xml'; 48 | EXT_SQL = '.sqlite'; 49 | EXT_SQLBCK = '.sqbck'; 50 | EXT_XMLBCK = '.bck'; 51 | EXT_ICO = '.ico'; 52 | EXT_LNK = '.lnk'; 53 | EXT_URL = '.url'; 54 | EXT_EXE = '.exe'; 55 | EXT_PO = '.po'; 56 | EXT_BAT = '.bat'; 57 | EXT_CMD = '.cmd'; 58 | EXT_BMP = '.bmp'; 59 | EXT_PNG = '.png'; 60 | 61 | EXT_PATH_MASK = '*'; 62 | EXT_PATH_DOT = '.'; 63 | 64 | //File 65 | THEME_INI = 'theme.ini'; 66 | BACKUP_FILE = APP_NAME + '_%s' + EXT_SQLBCK; 67 | 68 | //Form 69 | frmMainID = 294257584; 70 | frmGMenuID = 711285620; 71 | frmCMenuID = 459741425; 72 | 73 | //Icons Size 74 | ICON_SIZE_SMALL = 16; 75 | ICON_SIZE_LARGE = 32; 76 | 77 | {$IFDEF QT} 78 | ICON_SIZE_TRAY = 22; 79 | {$ELSE} 80 | ICON_SIZE_TRAY = 16; 81 | {$ENDIF} 82 | 83 | //Node Heidht 84 | NODE_HEIGHT_SMALL = 18; 85 | NODE_HEIGHT_LARGE = 36; 86 | CAPTION_LINE_ITEM_HEIGHT = 15; 87 | 88 | // PageControl Indexes 89 | PG_LIST = 0; 90 | PG_SEARCH = 1; 91 | 92 | // PageControl Indexes 93 | PG_MENULIST = 0; 94 | PG_MENUMRU = 1; 95 | PG_MENUMFU = 2; 96 | PG_MENUSEARCH = 3; 97 | 98 | //ASuite placeholders for path 99 | CONST_PATH_ASUITE_old = '$asuite'; //Deprecated 100 | CONST_PATH_DRIVE_old = '$drive'; //Deprecated 101 | CONST_PATH_ASUITE = '%asuite%'; 102 | CONST_PATH_DRIVE = '%drive%'; 103 | CONST_PATH_FOLDERICON = '%foldericon%'; 104 | CONST_PATH_URLICON = '%urlicon%'; 105 | 106 | //ASuite filename icons 107 | FILEICON_Folder = 'folder'; 108 | FILEICON_Url = 'page_url'; 109 | 110 | //ASuite files 111 | SETTINGS_FILENAME = 'settings.json'; 112 | 113 | //Modifier buttons for TfrmShortcutGrabber 114 | FILENAME_CTRL = 'ctrl.png'; 115 | FILENAME_ALT = 'alt.png'; 116 | FILENAME_SHIFT = 'shift.png'; 117 | FILENAME_WINKEY = 'winkey.png'; 118 | 119 | //Desktop file entries for Linux 120 | DESKTOP_GROUP = 'Desktop Entry'; 121 | DESKTOP_KEY_NAME = 'Name'; 122 | DESKTOP_KEY_TYPE = 'Type'; 123 | DESKTOP_KEY_ICON = 'Icon'; 124 | DESKTOP_KEY_EXEC = 'Exec'; 125 | DESKTOP_KEY_STARTUPNOTIFY = 'StartupNotify'; 126 | DESKTOP_KEY_TERMINAL = 'Terminal'; 127 | 128 | DESKTOP_TYPE_APPLICATION = 'Application'; 129 | 130 | implementation 131 | 132 | end. 133 | -------------------------------------------------------------------------------- /Library/Kernel.Enumerations.pas: -------------------------------------------------------------------------------- 1 | { 2 | Copyright (C) 2006-2021 Matteo Salvi 3 | 4 | Website: http://www.salvadorsoftware.com/ 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see <http://www.gnu.org/licenses/>. 18 | } 19 | 20 | unit Kernel.Enumerations; 21 | 22 | {$MODE DelphiUnicode} 23 | 24 | interface 25 | 26 | type 27 | //Autorun 28 | TAutorunType = ( 29 | atNever, 30 | atAlwaysOnStart, 31 | atSingleInstance, //atNoPrevInstances 32 | atAlwaysOnClose 33 | ); 34 | 35 | TTrayiconActionClick = ( 36 | tcNone, 37 | tcShowWindow, 38 | tcShowGraphicMenu, 39 | tcShowClassicMenu 40 | ); 41 | 42 | //Run action on file execution 43 | TActionOnExecute = ( 44 | aeDefault = 0, //Value From Config.cxActionOnExe 45 | aeJustRun = 1, 46 | aeRunAndHide = 2, 47 | aeRunAndClose = 3 48 | ); 49 | 50 | //Tree types 51 | TvTreeDataType = ( 52 | vtdtCategory, 53 | vtdtFile, 54 | vtdtFolder, 55 | vtdtSeparator 56 | ); 57 | 58 | //Search types 59 | TSearchType = ( 60 | stName, 61 | stPathFile, 62 | stPathIcon, 63 | stWorkingDir, 64 | stParameters 65 | ); 66 | 67 | //Shortcut fields 68 | TShortcutField = ( 69 | sfPathFile, 70 | sfParameter, 71 | sfWorkingDir, 72 | sfPathIcon 73 | ); 74 | 75 | //Scheduler modes 76 | TSchedulerMode = ( 77 | smDisabled = 0, 78 | smOnce = 1, 79 | smHourly = 2, 80 | smDaily = 3 81 | ); 82 | 83 | //Launcher State 84 | TLauncherState = ( 85 | lsStartUp, //Launcher Startup Time 86 | lsShutdown, //Launcher Shutdown Time 87 | lsNormal, 88 | lsImporting, 89 | lsScanning, 90 | lsDeleting 91 | ); 92 | 93 | TIconSize = ( 94 | isSmall, //Small Icon 95 | isLarge //Large Icon 96 | ); 97 | 98 | TSpecialListMode = ( 99 | lmMRU, 100 | lmMFU 101 | ); 102 | 103 | TAutorunListMode = ( 104 | amStartup, 105 | amShutdown 106 | ); 107 | 108 | TRunMode = ( 109 | rmNormal, 110 | rmAsUser, 111 | rmAsAdmin, 112 | rmExplorePath 113 | ); 114 | 115 | TListType = ( 116 | ltASuite1, 117 | ltASuite2, 118 | ltwppLauncher1, 119 | ltPStart1 120 | ); 121 | 122 | TASuiteTheme = ( 123 | atWindowsSystem, 124 | atLight, 125 | atDark 126 | ); 127 | 128 | implementation 129 | 130 | end. 131 | -------------------------------------------------------------------------------- /Library/Kernel.Logger.pas: -------------------------------------------------------------------------------- 1 | { 2 | Copyright (C) 2006-2021 Matteo Salvi 3 | 4 | Website: http://www.salvadorsoftware.com/ 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see <http://www.gnu.org/licenses/>. 18 | } 19 | 20 | unit Kernel.Logger; 21 | 22 | {$MODE DelphiUnicode} 23 | 24 | interface 25 | 26 | uses 27 | SysUtils, mormot.core.log, Forms, mormot.core.base; 28 | 29 | type 30 | 31 | { TASuiteLogger } 32 | 33 | TASuiteLogger = Class 34 | public 35 | class procedure Info(const AText: string; AParams: Array of const); 36 | class procedure Debug(const AText: string; AParams: Array of const); 37 | class procedure Error(const AText: string; AParams: Array of const); 38 | class procedure LastError(const AText: string; AParams: Array of const); 39 | class procedure Exception(E: SysUtils.Exception; const AText: string = ''); 40 | 41 | class function Enter(const AMethodName: PUTF8Char; AInstance: TObject): ISynLog; 42 | end; 43 | 44 | { TEventContainer } 45 | 46 | TEventContainer = class 47 | public 48 | procedure HandleApplicationException(Sender: TObject; E: Exception); 49 | end; 50 | 51 | implementation 52 | 53 | uses 54 | Kernel.Instance, Kernel.Manager, Kernel.ResourceStrings, 55 | Utility.Misc; 56 | 57 | { TEventContainer } 58 | 59 | procedure TEventContainer.HandleApplicationException(Sender: TObject; 60 | E: Exception); 61 | begin 62 | if not (E is EAbort) then 63 | TASuiteLogger.Exception(E); 64 | end; 65 | 66 | { TASuiteLogger } 67 | 68 | class procedure TASuiteLogger.Debug(const AText: string; 69 | AParams: array of const); 70 | begin 71 | TSynLog.Add.Log(sllDebug, Format(AText, AParams)); 72 | end; 73 | 74 | class function TASuiteLogger.Enter(const AMethodName: PUTF8Char; AInstance: TObject): ISynLog; 75 | begin 76 | Result := TSynLog.Enter(AInstance, AMethodName); 77 | end; 78 | 79 | class procedure TASuiteLogger.Error(const AText: string; 80 | AParams: array of const); 81 | begin 82 | TSynLog.Add.Log(sllError, Format(AText, AParams)); 83 | end; 84 | 85 | class procedure TASuiteLogger.Info(const AText: string; 86 | AParams: array of const); 87 | begin 88 | TSynLog.Add.Log(sllInfo, Format(AText, AParams)); 89 | end; 90 | 91 | class procedure TASuiteLogger.LastError(const AText: string; 92 | AParams: array of const); 93 | begin 94 | TSynLog.Add.Log(sllLastError, Format(AText, AParams)); 95 | end; 96 | 97 | class procedure TASuiteLogger.Exception(E: SysUtils.Exception; 98 | const AText: string); 99 | begin 100 | if AText = '' then 101 | ShowMessageFmtEx(msgErrGeneric, [E.ClassName, E.Message], True) 102 | else 103 | ShowMessageEx(AText, True); 104 | 105 | TSynLog.Add.Log(sllStackTrace, E.Message, E); 106 | end; 107 | 108 | procedure HandleOnShowException(Msg: ShortString); 109 | begin 110 | TSynLog.Add.Log(sllStackTrace, Msg); 111 | end; 112 | 113 | initialization 114 | SysUtils.OnShowException := HandleOnShowException; 115 | Application.OnException := TEventContainer(nil).HandleApplicationException; 116 | 117 | end. 118 | -------------------------------------------------------------------------------- /Library/Kernel.Manager.pas: -------------------------------------------------------------------------------- 1 | { 2 | Copyright (C) 2006-2021 Matteo Salvi 3 | 4 | Website: http://www.salvadorsoftware.com/ 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see <http://www.gnu.org/licenses/>. 18 | } 19 | 20 | unit Kernel.Manager; 21 | 22 | {$MODE DelphiUnicode} 23 | 24 | interface 25 | 26 | uses 27 | Classes, SysUtils, Lists.Manager, Database.Manager, Icons.Manager; 28 | 29 | type 30 | 31 | { TASuiteManager } 32 | 33 | TASuiteManager = class 34 | private 35 | FListManager : TListManager; 36 | FDBManager : TDBManager; 37 | FIconsManager: TIconsManager; 38 | public 39 | constructor Create; 40 | destructor Destroy; override; 41 | 42 | property ListManager: TListManager read FListManager; 43 | property DBManager: TDBManager read FDBManager; 44 | property IconsManager: TIconsManager read FIconsManager; 45 | end; 46 | 47 | var 48 | ASuiteManager: TASuiteManager; 49 | 50 | implementation 51 | 52 | uses 53 | Kernel.Logger; 54 | 55 | { TASuiteManager } 56 | 57 | constructor TASuiteManager.Create; 58 | begin 59 | TASuiteLogger.Info('Creating Managers', []); 60 | 61 | FListManager := TListManager.Create; 62 | FDBManager := TDBManager.Create; 63 | FIconsManager := TIconsManager.Create; 64 | end; 65 | 66 | destructor TASuiteManager.Destroy; 67 | begin 68 | inherited Destroy; 69 | 70 | FListManager.Destroy; 71 | FDBManager.Destroy; 72 | FIconsManager.Destroy; 73 | end; 74 | 75 | initialization 76 | ASuiteManager := TASuiteManager.Create; 77 | 78 | finalization 79 | FreeAndNil(ASuiteManager); 80 | 81 | end. 82 | 83 | -------------------------------------------------------------------------------- /Library/Kernel.Types.pas: -------------------------------------------------------------------------------- 1 | { 2 | Copyright (C) 2006-2021 Matteo Salvi 3 | 4 | Website: http://www.salvadorsoftware.com/ 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see <http://www.gnu.org/licenses/>. 18 | } 19 | 20 | unit Kernel.Types; 21 | 22 | {$MODE DelphiUnicode} 23 | 24 | interface 25 | 26 | uses 27 | Generics.Collections, NodeDataTypes.Base, VirtualTrees, Generics.Defaults, 28 | Laz2_DOM, Types, Menus, Kernel.Enumerations, Frame.BaseEntity; 29 | 30 | type 31 | TImportListToTree = function(Tree: TVirtualStringTree; Node: TDOMNode; 32 | Parent: PVirtualNode): PVirtualNode of object; 33 | 34 | TNodeDataItems = TList<TvBaseNodeData>; 35 | TItemsComparer = TComparer<TvBaseNodeData>; 36 | 37 | TArrayRect = Array of TRect; 38 | TArrayPoint = Array of TPoint; 39 | 40 | rBaseData = record 41 | Data : TvBaseNodeData; 42 | MenuItem : TMenuItem; //Classic Menu 43 | MenuNode : PVirtualNode; //Graphic Menu 44 | end; 45 | PBaseData = ^rBaseData; 46 | 47 | rTreeDataX = record 48 | pNodeList : PVirtualNode; 49 | end; 50 | PTreeDataX = ^rTreeDataX; //X = Search or TrayMenu 51 | 52 | //Record for Options and Property form 53 | rFramesNodeData = record 54 | Title : string; 55 | Frame : TfrmBaseEntityPage; 56 | ImageIndex: Integer; 57 | end; 58 | PFramesNodeData = ^rFramesNodeData; 59 | 60 | //Record for ScanFolder's vst 61 | rScanFolderData = record 62 | Text: string; 63 | ImageIndex: Integer; 64 | end; 65 | PScanFolderData = ^rScanFolderData; 66 | 67 | TLauncherSearch = record 68 | Tree : TBaseVirtualTree; 69 | Keyword : string; 70 | SearchType : TSearchType; 71 | end; 72 | 73 | rListStats = record 74 | SwCount : Integer; 75 | CatCount : Integer; 76 | end; 77 | PListStats = ^rListStats; 78 | 79 | TUserData = record 80 | UserName : string; 81 | Password : string; 82 | end; 83 | PUserData = ^TUserData; 84 | 85 | TUrlFile = record 86 | TargetFile : String; 87 | WorkingDir : String; 88 | PathIcon : String; 89 | end; 90 | 91 | implementation 92 | 93 | end. 94 | -------------------------------------------------------------------------------- /Library/Lists.Base.pas: -------------------------------------------------------------------------------- 1 | { 2 | Copyright (C) 2006-2021 Matteo Salvi 3 | 4 | Website: http://www.salvadorsoftware.com/ 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see <http://www.gnu.org/licenses/>. 18 | } 19 | 20 | unit Lists.Base; 21 | 22 | {$MODE DelphiUnicode} 23 | 24 | interface 25 | 26 | uses 27 | NodeDataTypes.Custom, Menus, SysUtils, Kernel.Types, LCLIntf, 28 | Dialogs; 29 | 30 | type 31 | TBaseItemsList = class 32 | protected 33 | FItems: TNodeDataItems; 34 | 35 | function GetItems(Index: Integer): TvCustomRealNodeData; 36 | procedure SetItems(Index: Integer; const Value: TvCustomRealNodeData); 37 | public 38 | constructor Create; 39 | destructor Destroy; override; 40 | 41 | function AddItem(AItemData: TvCustomRealNodeData): Integer; virtual; 42 | function InsertItem(AIndex: Integer; AItemData: TvCustomRealNodeData): Integer; virtual; 43 | function RemoveItem(AItemData: TvCustomRealNodeData): Integer; virtual; 44 | 45 | procedure Delete(AIndex: Integer); virtual; 46 | function Count: Integer; virtual; 47 | 48 | procedure Clear; virtual; 49 | 50 | property Items[Index: Integer]: TvCustomRealNodeData read GetItems write SetItems; default; 51 | end; 52 | 53 | implementation 54 | 55 | function TBaseItemsList.AddItem(AItemData: TvCustomRealNodeData): Integer; 56 | begin 57 | FItems.Remove(AItemData); 58 | 59 | Result := FItems.Add(AItemData); 60 | end; 61 | 62 | procedure TBaseItemsList.Clear; 63 | begin 64 | FItems.Clear; 65 | end; 66 | 67 | function TBaseItemsList.Count: Integer; 68 | begin 69 | Result := FItems.Count; 70 | end; 71 | 72 | constructor TBaseItemsList.Create; 73 | begin 74 | FItems := TNodeDataItems.Create; 75 | end; 76 | 77 | procedure TBaseItemsList.Delete(AIndex: Integer); 78 | begin 79 | FItems.Delete(AIndex); 80 | end; 81 | 82 | destructor TBaseItemsList.Destroy; 83 | begin 84 | FItems.Free; 85 | inherited; 86 | end; 87 | 88 | function TBaseItemsList.GetItems(Index: Integer): TvCustomRealNodeData; 89 | begin 90 | Result := TvCustomRealNodeData(FItems[Index]); 91 | end; 92 | 93 | function TBaseItemsList.InsertItem(AIndex: Integer; AItemData: TvCustomRealNodeData): Integer; 94 | begin 95 | FItems.Remove(AItemData); 96 | 97 | Result := AIndex; 98 | if (Result > FItems.Count) then 99 | Result := FItems.Count; 100 | 101 | FItems.Insert(Result, AItemData); 102 | end; 103 | 104 | function TBaseItemsList.RemoveItem(AItemData: TvCustomRealNodeData): Integer; 105 | begin 106 | Result := FItems.Remove(AItemData); 107 | end; 108 | 109 | procedure TBaseItemsList.SetItems(Index: Integer; const Value: TvCustomRealNodeData); 110 | begin 111 | FItems[Index] := Value; 112 | end; 113 | 114 | end. 115 | -------------------------------------------------------------------------------- /Library/Lists.HotKey.pas: -------------------------------------------------------------------------------- 1 | { 2 | Copyright (C) 2006-2021 Matteo Salvi 3 | 4 | Website: http://www.salvadorsoftware.com/ 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see <http://www.gnu.org/licenses/>. 18 | } 19 | 20 | unit Lists.HotKey; 21 | 22 | {$MODE DelphiUnicode} 23 | 24 | interface 25 | 26 | uses 27 | NodeDataTypes.Custom, SysUtils, Hotkeys.Manager.Platform, LCLIntf, LCLType, 28 | Lists.Base; 29 | 30 | type 31 | THotkeyItemsList = class(TBaseItemsList) 32 | public 33 | function AddItem(AItem: TvCustomRealNodeData): Integer; override; 34 | function RemoveItem(AItem: TvCustomRealNodeData): Integer; override; 35 | 36 | procedure Clear; override; 37 | 38 | function IndexOfID(ID: Integer): TvCustomRealNodeData; 39 | procedure RefreshRegs; 40 | end; 41 | 42 | implementation 43 | 44 | uses 45 | AppConfig.Main, VirtualTree.Methods; 46 | 47 | function THotkeyItemsList.AddItem(AItem: TvCustomRealNodeData): Integer; 48 | begin 49 | Result := -1; 50 | if (AItem.ID = -1) then 51 | Exit; 52 | 53 | Result := inherited; 54 | if Config.HotKey then 55 | HotkeyManager.RegisterNotify(AItem.Hotkey, TVirtualTreeMethods.HotKeyNotify, AItem.ID); 56 | end; 57 | 58 | procedure THotkeyItemsList.Clear; 59 | var 60 | I: Integer; 61 | begin 62 | for I := 0 to FItems.Count - 1 do 63 | HotkeyManager.UnregisterNotify(TvCustomRealNodeData(FItems[I]).Hotkey); 64 | 65 | inherited; 66 | end; 67 | 68 | function THotkeyItemsList.IndexOfID(ID: Integer): TvCustomRealNodeData; 69 | var 70 | I: Integer; 71 | begin 72 | Result := nil; 73 | for I := 0 to FItems.Count - 1 do 74 | begin 75 | if FItems[I].ID = ID then 76 | begin 77 | Result := TvCustomRealNodeData(FItems[I]); 78 | Exit; 79 | end; 80 | end; 81 | end; 82 | 83 | procedure THotkeyItemsList.RefreshRegs; 84 | var 85 | I: Integer; 86 | NodeData: TvCustomRealNodeData; 87 | begin 88 | //This method unregister and register hotkey again for every item 89 | for I := 0 to FItems.Count - 1 do 90 | begin 91 | if not(FItems[I].IsSeparatorItem) then 92 | begin 93 | NodeData := TvCustomRealNodeData(FItems[I]); 94 | 95 | HotkeyManager.RefreshNotify(NodeData.Hotkey); 96 | end; 97 | end; 98 | end; 99 | 100 | function THotkeyItemsList.RemoveItem(AItem: TvCustomRealNodeData): Integer; 101 | begin 102 | Result := inherited; 103 | if (Config.HotKey) and (AItem.ID <> -1) then 104 | HotkeyManager.UnregisterNotify(AItem.Hotkey); 105 | end; 106 | 107 | end. 108 | -------------------------------------------------------------------------------- /Library/NodeDataTypes.Separator.pas: -------------------------------------------------------------------------------- 1 | { 2 | Copyright (C) 2006-2021 Matteo Salvi 3 | 4 | Website: http://www.salvadorsoftware.com/ 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see <http://www.gnu.org/licenses/>. 18 | } 19 | 20 | unit NodeDataTypes.Separator; 21 | 22 | {$MODE DelphiUnicode} 23 | 24 | interface 25 | 26 | uses 27 | Kernel.Enumerations, NodeDataTypes.Base; 28 | 29 | type 30 | TvSeparatorNodeData = class(TvBaseNodeData) 31 | public 32 | //Specific properties 33 | constructor Create; overload; 34 | end; 35 | PvSeparatorNodeData = ^TvSeparatorNodeData; 36 | 37 | implementation 38 | 39 | constructor TvSeparatorNodeData.Create; 40 | begin 41 | inherited Create(vtdtSeparator); 42 | Name := ''; 43 | end; 44 | 45 | end. 46 | -------------------------------------------------------------------------------- /Library/qt5/Icons.Custom.pas: -------------------------------------------------------------------------------- 1 | { 2 | Copyright (C) 2006-2021 Matteo Salvi 3 | 4 | Website: http://www.salvadorsoftware.com/ 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see <http://www.gnu.org/licenses/>. 18 | } 19 | 20 | unit Icons.Custom; 21 | 22 | {$MODE DelphiUnicode} 23 | 24 | interface 25 | 26 | uses 27 | SysUtils, Controls, LCLIntf, LCLType, Graphics, BGRABitmap, Icons.Base, Types, 28 | qt5, qtobjects; 29 | 30 | type 31 | 32 | { TQT5CustomIcon } 33 | 34 | TQT5CustomIcon = class(TBaseIcon) 35 | private 36 | function QIconToHBitmap(AIcon: QIconH; ASize: Types.TSize): HBITMAP; 37 | function ExtractIcon(const sIconName: WideString; ALargeImage: Boolean): TBitmap; 38 | protected 39 | function GetIconFromFile(const APathFile: string; 40 | const AWantLargeIcon: Boolean): TBGRABitmap; override; 41 | public 42 | end; 43 | 44 | TCustomIcon = TQT5CustomIcon; 45 | 46 | implementation 47 | 48 | uses 49 | Kernel.Consts, BGRABitmapTypes, Utility.System, Kernel.Manager; 50 | 51 | { TQT5CustomIcon } 52 | 53 | function TQT5CustomIcon.QIconToHBitmap(AIcon: QIconH; ASize: Types.TSize 54 | ): HBITMAP; 55 | var 56 | AImage: QImageH; 57 | APixmap: QPixmapH; 58 | begin 59 | APixmap := QPixmap_create(); 60 | QIcon_pixmap(AIcon, APixmap, Types.PSize(@ASize)); 61 | 62 | AImage := QImage_create(); 63 | QPixmap_toImage(APixmap, AImage); 64 | QPixmap_destroy(APixmap); 65 | 66 | Result := HBitmap(TQtImage.Create(AImage)); 67 | end; 68 | 69 | function TQT5CustomIcon.ExtractIcon(const sIconName: WideString; 70 | ALargeImage: Boolean): TBitmap; 71 | var 72 | QIcon: QIconH; 73 | Size: Types.TSize; 74 | begin 75 | Result := TBitmap.Create; 76 | 77 | if ALargeImage then 78 | Size := Types.Size(ICON_SIZE_LARGE, ICON_SIZE_LARGE) 79 | else 80 | Size := Types.Size(ICON_SIZE_SMALL, ICON_SIZE_SMALL); 81 | 82 | QIcon := QIcon_Create(); 83 | try 84 | if ASuiteManager.IconsManager.CheckSystemIconName(sIconName) then 85 | begin 86 | QIcon_fromTheme(QIcon, @sIconName); 87 | Result.Handle := QIconToHBitmap(QIcon, Size); 88 | end; 89 | finally 90 | QIcon_destroy(QIcon); 91 | end; 92 | end; 93 | 94 | function TQT5CustomIcon.GetIconFromFile(const APathFile: string; 95 | const AWantLargeIcon: Boolean): TBGRABitmap; 96 | var 97 | iconName: String; 98 | bmp: TBitmap; 99 | begin 100 | iconName := ASuiteManager.IconsManager.GetSystemIconName(APathFile); 101 | 102 | bmp := ExtractIcon(iconName, AWantLargeIcon); 103 | try 104 | Result := TBGRABitmap.Create(bmp); 105 | finally 106 | bmp.Free; 107 | end; 108 | end; 109 | 110 | end. 111 | -------------------------------------------------------------------------------- /Library/qt6/Icons.Custom.pas: -------------------------------------------------------------------------------- 1 | { 2 | Copyright (C) 2006-2021 Matteo Salvi 3 | 4 | Website: http://www.salvadorsoftware.com/ 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see <http://www.gnu.org/licenses/>. 18 | } 19 | 20 | unit Icons.Custom; 21 | 22 | {$MODE DelphiUnicode} 23 | 24 | interface 25 | 26 | uses 27 | SysUtils, Controls, LCLIntf, LCLType, Graphics, BGRABitmap, Icons.Base, Types, 28 | qt6, qtobjects; 29 | 30 | type 31 | 32 | { TQT5CustomIcon } 33 | 34 | TQT5CustomIcon = class(TBaseIcon) 35 | private 36 | function QIconToHBitmap(AIcon: QIconH; ASize: Types.TSize): HBITMAP; 37 | function ExtractIcon(const sIconName: WideString; ALargeImage: Boolean): TBitmap; 38 | protected 39 | function GetIconFromFile(const APathFile: string; 40 | const AWantLargeIcon: Boolean): TBGRABitmap; override; 41 | public 42 | end; 43 | 44 | TCustomIcon = TQT5CustomIcon; 45 | 46 | implementation 47 | 48 | uses 49 | Kernel.Consts, BGRABitmapTypes, Utility.System, Kernel.Manager; 50 | 51 | { TQT5CustomIcon } 52 | 53 | function TQT5CustomIcon.QIconToHBitmap(AIcon: QIconH; ASize: Types.TSize 54 | ): HBITMAP; 55 | var 56 | AImage: QImageH; 57 | APixmap: QPixmapH; 58 | begin 59 | APixmap := QPixmap_create(); 60 | QIcon_pixmap(AIcon, APixmap, Types.PSize(@ASize)); 61 | 62 | AImage := QImage_create(); 63 | QPixmap_toImage(APixmap, AImage); 64 | QPixmap_destroy(APixmap); 65 | 66 | Result := HBitmap(TQtImage.Create(AImage)); 67 | end; 68 | 69 | function TQT5CustomIcon.ExtractIcon(const sIconName: WideString; 70 | ALargeImage: Boolean): TBitmap; 71 | var 72 | QIcon: QIconH; 73 | Size: Types.TSize; 74 | begin 75 | Result := TBitmap.Create; 76 | 77 | if ALargeImage then 78 | Size := Types.Size(ICON_SIZE_LARGE, ICON_SIZE_LARGE) 79 | else 80 | Size := Types.Size(ICON_SIZE_SMALL, ICON_SIZE_SMALL); 81 | 82 | QIcon := QIcon_Create(); 83 | try 84 | if ASuiteManager.IconsManager.CheckSystemIconName(sIconName) then 85 | begin 86 | QIcon_fromTheme(QIcon, @sIconName); 87 | Result.Handle := QIconToHBitmap(QIcon, Size); 88 | end; 89 | finally 90 | QIcon_destroy(QIcon); 91 | end; 92 | end; 93 | 94 | function TQT5CustomIcon.GetIconFromFile(const APathFile: string; 95 | const AWantLargeIcon: Boolean): TBGRABitmap; 96 | var 97 | iconName: String; 98 | bmp: TBitmap; 99 | begin 100 | iconName := ASuiteManager.IconsManager.GetSystemIconName(APathFile); 101 | 102 | bmp := ExtractIcon(iconName, AWantLargeIcon); 103 | try 104 | Result := TBGRABitmap.Create(bmp); 105 | finally 106 | bmp.Free; 107 | end; 108 | end; 109 | 110 | end. 111 | -------------------------------------------------------------------------------- /Library/win32/Icons.Custom.pas: -------------------------------------------------------------------------------- 1 | { 2 | Copyright (C) 2006-2021 Matteo Salvi 3 | 4 | Website: http://www.salvadorsoftware.com/ 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see <http://www.gnu.org/licenses/>. 18 | } 19 | 20 | unit Icons.Custom; 21 | 22 | {$MODE DelphiUnicode} 23 | 24 | interface 25 | 26 | uses 27 | SysUtils, Controls, LCLIntf, LCLType, Graphics, BGRABitmap, ShellApi, 28 | CommCtrl, Icons.Base; 29 | 30 | type 31 | 32 | { TWin32CustomIcon } 33 | 34 | TWin32CustomIcon = class(TBaseIcon) 35 | private 36 | function BGRABitmapCreateFromHICON(AHIcon: HICON): TBGRABitmap; 37 | function ExtractIconFromSysImageList(const APathFile: string; 38 | const AWantLargeIcon: Boolean): TBGRABitmap; 39 | protected 40 | function GetIconFromFile(const APathFile: string; 41 | const AWantLargeIcon: Boolean): TBGRABitmap; override; 42 | public 43 | end; 44 | 45 | TCustomIcon = TWin32CustomIcon; 46 | 47 | implementation 48 | 49 | uses 50 | DataModules.Icons, Kernel.Consts, BGRABitmapTypes, Utility.FileFolder, Windows; 51 | 52 | { TWin32CustomIcon } 53 | 54 | function TWin32CustomIcon.ExtractIconFromSysImageList(const APathFile: string; 55 | const AWantLargeIcon: Boolean): TBGRABitmap; 56 | var 57 | FileInfo: TSHFileInfoW; 58 | Flags: Integer; 59 | begin 60 | Result := nil; 61 | 62 | Assert(Assigned(dmImages)); 63 | 64 | if AWantLargeIcon then 65 | Flags := SHGFI_ICON or SHGFI_LARGEICON or SHGFI_USEFILEATTRIBUTES 66 | else 67 | Flags := SHGFI_ICON or SHGFI_SMALLICON or SHGFI_USEFILEATTRIBUTES; 68 | 69 | try 70 | if SHGetFileInfoW(PChar(APathFile), 0, FileInfo{%H-}, SizeOf(TSHFileInfo), Flags) <> 0 then 71 | Result := BGRABitmapCreateFromHICON(FileInfo.hIcon); 72 | finally 73 | DestroyIcon(FileInfo.hIcon); 74 | end; 75 | end; 76 | 77 | function TWin32CustomIcon.BGRABitmapCreateFromHICON(AHIcon: HICON): TBGRABitmap; 78 | var 79 | IconInfo: TIconInfo; 80 | begin 81 | IconInfo := Default(TICONINFO); 82 | 83 | Result := TBGRABitmap.Create; 84 | 85 | if Windows.GetIconInfo(AHIcon, IconInfo) = False then 86 | Exit; 87 | 88 | try 89 | Result.Bitmap.LoadFromBitmapHandles(IconInfo.hbmColor, IconInfo.hbmMask); 90 | finally 91 | Windows.DeleteObject(IconInfo.hbmMask); 92 | Windows.DeleteObject(IconInfo.hbmColor); 93 | end; 94 | end; 95 | 96 | function TWin32CustomIcon.GetIconFromFile(const APathFile: string; 97 | const AWantLargeIcon: Boolean): TBGRABitmap; 98 | begin 99 | Result := nil; 100 | 101 | if ExtractLowerFileExt(APathFile) = EXT_ICO then 102 | Result := LoadFromFileIcon(APathFile, AWantLargeIcon) 103 | else 104 | Result := ExtractIconFromSysImageList(APathFile, AWantLargeIcon); 105 | 106 | if Result = nil then 107 | Result := TBGRABitmap.Create; 108 | end; 109 | 110 | end. 111 | -------------------------------------------------------------------------------- /Utilities/Utility.Conversions.pas: -------------------------------------------------------------------------------- 1 | { 2 | Copyright (C) 2006-2021 Matteo Salvi 3 | 4 | Website: http://www.salvadorsoftware.com/ 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see <http://www.gnu.org/licenses/>. 18 | } 19 | 20 | unit Utility.Conversions; 21 | 22 | {$MODE DelphiUnicode} 23 | 24 | interface 25 | 26 | uses 27 | LCLIntf, SysUtils, Classes, Graphics, Forms, Dialogs, 28 | TypInfo; 29 | 30 | { HTML } 31 | function ColorToHtml(Color:TColor): string; 32 | function HtmlToColor(const Color: string): TColor; 33 | 34 | { Font } 35 | procedure StrToFont(const s: string; AFont: TFont); 36 | 37 | implementation 38 | 39 | uses 40 | BGRABitmapTypes; 41 | 42 | function ColorToHtml(Color:TColor): string; 43 | var 44 | p: TBGRAPixel; 45 | begin 46 | p.FromColor(Color); 47 | Result := p.ToString; 48 | end; 49 | 50 | function HtmlToColor(const Color: string): TColor; 51 | var 52 | p: TBGRAPixel; 53 | begin 54 | p.FromString(Color); 55 | Result := p.ToColor; 56 | end; 57 | 58 | procedure StrToFont(const s: string; AFont: TFont); 59 | var 60 | Strs : TStringList; 61 | begin 62 | if s = '' then 63 | Exit; 64 | 65 | if Assigned(AFont) then 66 | begin 67 | Strs := TStringList.Create; 68 | try 69 | Strs.Text := StringReplace(s, '|', #10, [rfReplaceAll]); 70 | if Strs.Count = 4 then 71 | begin 72 | AFont.Name := Strs[0]; 73 | AFont.Size := StrToInt(Strs[1]); 74 | AFont.Color := HtmlToColor(Strs[2]); 75 | AFont.Style := TFontStyles({byte}(StrToInt(Strs[3]))); 76 | end; 77 | finally 78 | Strs.Free; 79 | end; 80 | end; 81 | end; 82 | 83 | end. 84 | -------------------------------------------------------------------------------- /bin/docs/Project ASuite.url: -------------------------------------------------------------------------------- 1 | [InternetShortcut] 2 | URL=https://github.com/salvadorbs/Asuite 3 | IDList= 4 | HotKey=0 5 | [{000214A0-0000-0000-C000-000000000046}] 6 | Prop3=19,11 7 | -------------------------------------------------------------------------------- /bin/docs/SalvadorSoftware Site.url: -------------------------------------------------------------------------------- 1 | [InternetShortcut] 2 | URL=http://www.salvadorsoftware.com/ 3 | Modified=303192CF5D90C50175 4 | IDList= 5 | HotKey=0 6 | [{000214A0-0000-0000-C000-000000000046}] 7 | Prop3=19,2 8 | -------------------------------------------------------------------------------- /bin/themes/dark/PersonalPicture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/PersonalPicture.png -------------------------------------------------------------------------------- /bin/themes/dark/buttons/alt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/buttons/alt.png -------------------------------------------------------------------------------- /bin/themes/dark/buttons/ctrl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/buttons/ctrl.png -------------------------------------------------------------------------------- /bin/themes/dark/buttons/shift.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/buttons/shift.png -------------------------------------------------------------------------------- /bin/themes/dark/buttons/winkey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/buttons/winkey.png -------------------------------------------------------------------------------- /bin/themes/dark/graphicmenu/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/graphicmenu/background.png -------------------------------------------------------------------------------- /bin/themes/dark/graphicmenu/buttons/button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/graphicmenu/buttons/button.png -------------------------------------------------------------------------------- /bin/themes/dark/graphicmenu/buttons/button_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/graphicmenu/buttons/button_close.png -------------------------------------------------------------------------------- /bin/themes/dark/graphicmenu/buttons/button_eject.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/graphicmenu/buttons/button_eject.png -------------------------------------------------------------------------------- /bin/themes/dark/graphicmenu/harddisk_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/graphicmenu/harddisk_background.png -------------------------------------------------------------------------------- /bin/themes/dark/graphicmenu/harddisk_space.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/graphicmenu/harddisk_space.png -------------------------------------------------------------------------------- /bin/themes/dark/graphicmenu/icons/about.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/graphicmenu/icons/about.ico -------------------------------------------------------------------------------- /bin/themes/dark/graphicmenu/icons/asuite.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/graphicmenu/icons/asuite.ico -------------------------------------------------------------------------------- /bin/themes/dark/graphicmenu/icons/documents.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/graphicmenu/icons/documents.ico -------------------------------------------------------------------------------- /bin/themes/dark/graphicmenu/icons/home.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/graphicmenu/icons/home.ico -------------------------------------------------------------------------------- /bin/themes/dark/graphicmenu/icons/music.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/graphicmenu/icons/music.ico -------------------------------------------------------------------------------- /bin/themes/dark/graphicmenu/icons/pictures.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/graphicmenu/icons/pictures.ico -------------------------------------------------------------------------------- /bin/themes/dark/graphicmenu/icons/readme.txt: -------------------------------------------------------------------------------- 1 | Icons in 20*20 - Used in Graphic Menu -------------------------------------------------------------------------------- /bin/themes/dark/graphicmenu/icons/settings.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/graphicmenu/icons/settings.ico -------------------------------------------------------------------------------- /bin/themes/dark/graphicmenu/icons/videos.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/graphicmenu/icons/videos.ico -------------------------------------------------------------------------------- /bin/themes/dark/graphicmenu/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/graphicmenu/logo.png -------------------------------------------------------------------------------- /bin/themes/dark/graphicmenu/separator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/graphicmenu/separator.png -------------------------------------------------------------------------------- /bin/themes/dark/graphicmenu/tab/tab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/graphicmenu/tab/tab.png -------------------------------------------------------------------------------- /bin/themes/dark/graphicmenu/userframe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/graphicmenu/userframe.png -------------------------------------------------------------------------------- /bin/themes/dark/icons/accept.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/accept.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/add.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/add.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/add_category.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/add_category.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/add_folder.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/add_folder.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/add_software.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/add_software.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/advanced.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/advanced.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/arrow_down.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/arrow_down.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/arrow_up.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/arrow_up.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/asuite.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/asuite.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/autorun.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/autorun.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/behavior.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/behavior.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/cancel.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/cancel.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/category.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/category.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/copy.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/copy.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/cut.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/cut.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/delete.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/delete.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/denied.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/denied.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/disk.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/disk.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/environment_vars.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/environment_vars.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/file.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/file.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/file_error.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/file_error.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/folder.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/folder.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/general.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/general.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/help.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/help.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/hotkey.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/hotkey.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/hotkey_add.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/hotkey_add.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/hotkey_delete.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/hotkey_delete.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/hotkey_edit.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/hotkey_edit.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/items.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/items.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/mainwindow.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/mainwindow.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/mouse.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/mouse.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/options.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/options.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/page_url.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/page_url.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/paste.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/paste.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/property.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/property.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/property_general.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/property_general.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/readme.txt: -------------------------------------------------------------------------------- 1 | All icons are in 16*16, except these files: 2 | category.ico 3 | file.ico 4 | file_error.ico 5 | folder.ico 6 | page_url.ico 7 | 8 | These files used in tree list and they are in multisize 16*16 and 32*32 (small and large icons). -------------------------------------------------------------------------------- /bin/themes/dark/icons/run.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/run.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/save.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/save.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/search.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/search.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/search2.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/search2.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/search_type.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/search_type.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/stats.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/stats.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/trayicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/trayicon.ico -------------------------------------------------------------------------------- /bin/themes/dark/icons/tree_list.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/dark/icons/tree_list.ico -------------------------------------------------------------------------------- /bin/themes/dark/theme.ini: -------------------------------------------------------------------------------- 1 | [info] 2 | name=Dark 3 | author=https://github.com/saturdayxiii 4 | version=1.0 5 | url=https://github.com/salvadorbs/Asuite/issues/165 6 | 7 | [general] 8 | image_background=graphicmenu\background.png 9 | image_logo=graphicmenu\logo.png 10 | image_separator=graphicmenu\separator.png 11 | image_userframe=graphicmenu\userframe.png 12 | font_tree=default|0|#ffffff|0 13 | 14 | [harddisk] 15 | image_background=graphicmenu\harddisk_background.png 16 | image_space=graphicmenu\harddisk_space.png 17 | font=Tahoma|7|#ffffff|0 18 | 19 | [rightbuttons] 20 | image_button=graphicmenu\buttons\button.png 21 | font_normal=default|0|#ffffff|0 22 | font_hover=default|0|#ffffff|0 23 | font_clicked=default|0|#ffffff|0 24 | icon_asuite=graphicmenu\icons\asuite.ico 25 | icon_explore=graphicmenu\icons\home.ico 26 | icon_document=graphicmenu\icons\documents.ico 27 | icon_music=graphicmenu\icons\music.ico 28 | icon_pictures=graphicmenu\icons\pictures.ico 29 | icon_videos=graphicmenu\icons\videos.ico 30 | icon_options=graphicmenu\icons\settings.ico 31 | icon_help=graphicmenu\icons\about.ico 32 | 33 | [search] 34 | icon_search=icons\search2.ico 35 | icon_cancel=icons\cancel.ico 36 | font=default|0|#000000|0 37 | 38 | [list] 39 | image_button=graphicmenu\tab\tab.png 40 | font_normal=default|8|#ffffff|0 41 | font_hover=default|8|#ffffff|0 42 | font_clicked=default|8|#ffffff|1 43 | 44 | [recent] 45 | image_button=graphicmenu\tab\tab.png 46 | font_normal=default|8|#ffffff|0 47 | font_hover=default|8|#ffffff|0 48 | font_clicked=default|8|#ffffff|1 49 | 50 | [mostused] 51 | image_button=graphicmenu\tab\tab.png 52 | font_normal=default|8|#ffffff|0 53 | font_hover=default|8|#ffffff|0 54 | font_clicked=default|8|#ffffff|1 55 | 56 | [ejectbutton] 57 | image_button=graphicmenu\buttons\button_eject.png 58 | 59 | [exitbutton] 60 | image_button=graphicmenu\buttons\button_close.png 61 | -------------------------------------------------------------------------------- /bin/themes/default/PersonalPicture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/PersonalPicture.png -------------------------------------------------------------------------------- /bin/themes/default/buttons/alt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/buttons/alt.png -------------------------------------------------------------------------------- /bin/themes/default/buttons/ctrl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/buttons/ctrl.png -------------------------------------------------------------------------------- /bin/themes/default/buttons/shift.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/buttons/shift.png -------------------------------------------------------------------------------- /bin/themes/default/buttons/winkey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/buttons/winkey.png -------------------------------------------------------------------------------- /bin/themes/default/graphicmenu/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/graphicmenu/background.png -------------------------------------------------------------------------------- /bin/themes/default/graphicmenu/buttons/button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/graphicmenu/buttons/button.png -------------------------------------------------------------------------------- /bin/themes/default/graphicmenu/buttons/button_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/graphicmenu/buttons/button_close.png -------------------------------------------------------------------------------- /bin/themes/default/graphicmenu/buttons/button_eject.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/graphicmenu/buttons/button_eject.png -------------------------------------------------------------------------------- /bin/themes/default/graphicmenu/harddisk_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/graphicmenu/harddisk_background.png -------------------------------------------------------------------------------- /bin/themes/default/graphicmenu/harddisk_space.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/graphicmenu/harddisk_space.png -------------------------------------------------------------------------------- /bin/themes/default/graphicmenu/icons/about.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/graphicmenu/icons/about.ico -------------------------------------------------------------------------------- /bin/themes/default/graphicmenu/icons/about.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 | <!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> 3 | 4 | <svg 5 | version="1.1" 6 | id="Capa_1" 7 | x="0px" 8 | y="0px" 9 | viewBox="0 0 52 52" 10 | style="enable-background:new 0 0 52 52;" 11 | xml:space="preserve" 12 | sodipodi:docname="about.svg" 13 | inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" 14 | xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 15 | xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 16 | xmlns="http://www.w3.org/2000/svg" 17 | xmlns:svg="http://www.w3.org/2000/svg"><defs 18 | id="defs50" /><sodipodi:namedview 19 | id="namedview48" 20 | pagecolor="#ffffff" 21 | bordercolor="#e0e0d1" 22 | borderopacity="0.25" 23 | inkscape:showpageshadow="2" 24 | inkscape:pageopacity="0.0" 25 | inkscape:pagecheckerboard="0" 26 | inkscape:deskcolor="#d1d1d1" 27 | showgrid="false" 28 | inkscape:zoom="15.096154" 29 | inkscape:cx="9.9031846" 30 | inkscape:cy="26.066242" 31 | inkscape:window-width="1920" 32 | inkscape:window-height="1001" 33 | inkscape:window-x="-9" 34 | inkscape:window-y="-9" 35 | inkscape:window-maximized="1" 36 | inkscape:current-layer="Capa_1" /> 37 | <g 38 | id="g15" 39 | style="fill:#e0e0d1;fill-opacity:1"> 40 | <path 41 | d="M26,0C11.663,0,0,11.663,0,26s11.663,26,26,26s26-11.663,26-26S40.337,0,26,0z M26,50C12.767,50,2,39.233,2,26 S12.767,2,26,2s24,10.767,24,24S39.233,50,26,50z" 42 | id="path9" 43 | style="fill:#e0e0d1;fill-opacity:1" /> 44 | <path 45 | d="M26,37c-0.553,0-1,0.447-1,1v2c0,0.553,0.447,1,1,1s1-0.447,1-1v-2C27,37.447,26.553,37,26,37z" 46 | id="path11" 47 | style="fill:#e0e0d1;fill-opacity:1" /> 48 | <path 49 | d="M26.113,9.001C26.075,9.001,26.037,9,25.998,9c-2.116,0-4.106,0.815-5.615,2.304C18.847,12.819,18,14.842,18,17 c0,0.553,0.447,1,1,1s1-0.447,1-1c0-1.618,0.635-3.136,1.787-4.272c1.153-1.137,2.688-1.765,4.299-1.727 c3.161,0.044,5.869,2.752,5.913,5.913c0.029,2.084-0.999,4.002-2.751,5.132C26.588,23.762,25,26.794,25,30.158V33 c0,0.553,0.447,1,1,1s1-0.447,1-1v-2.842c0-2.642,1.276-5.105,3.332-6.432c2.335-1.506,3.706-4.063,3.667-6.84 C33.939,12.599,30.401,9.061,26.113,9.001z" 50 | id="path13" 51 | style="fill:#e0e0d1;fill-opacity:1" /> 52 | </g> 53 | <g 54 | id="g17"> 55 | </g> 56 | <g 57 | id="g19"> 58 | </g> 59 | <g 60 | id="g21"> 61 | </g> 62 | <g 63 | id="g23"> 64 | </g> 65 | <g 66 | id="g25"> 67 | </g> 68 | <g 69 | id="g27"> 70 | </g> 71 | <g 72 | id="g29"> 73 | </g> 74 | <g 75 | id="g31"> 76 | </g> 77 | <g 78 | id="g33"> 79 | </g> 80 | <g 81 | id="g35"> 82 | </g> 83 | <g 84 | id="g37"> 85 | </g> 86 | <g 87 | id="g39"> 88 | </g> 89 | <g 90 | id="g41"> 91 | </g> 92 | <g 93 | id="g43"> 94 | </g> 95 | <g 96 | id="g45"> 97 | </g> 98 | </svg> 99 | -------------------------------------------------------------------------------- /bin/themes/default/graphicmenu/icons/asuite.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/graphicmenu/icons/asuite.ico -------------------------------------------------------------------------------- /bin/themes/default/graphicmenu/icons/asuite.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 | <!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> 3 | 4 | <svg 5 | version="1.1" 6 | id="Capa_1" 7 | x="0px" 8 | y="0px" 9 | viewBox="0 0 60 60" 10 | style="enable-background:new 0 0 60 60;" 11 | xml:space="preserve" 12 | sodipodi:docname="asuite.svg" 13 | inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" 14 | xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 15 | xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 16 | xmlns="http://www.w3.org/2000/svg" 17 | xmlns:svg="http://www.w3.org/2000/svg"><defs 18 | id="defs2801" /><sodipodi:namedview 19 | id="namedview2799" 20 | pagecolor="#ffffff" 21 | bordercolor="#e0e0d1" 22 | borderopacity="0.25" 23 | inkscape:showpageshadow="2" 24 | inkscape:pageopacity="0.0" 25 | inkscape:pagecheckerboard="0" 26 | inkscape:deskcolor="#d1d1d1" 27 | showgrid="false" 28 | inkscape:zoom="13.566667" 29 | inkscape:cx="13.452088" 30 | inkscape:cy="30.110564" 31 | inkscape:window-width="1920" 32 | inkscape:window-height="1001" 33 | inkscape:window-x="-9" 34 | inkscape:window-y="-9" 35 | inkscape:window-maximized="1" 36 | inkscape:current-layer="Capa_1" /> 37 | <g 38 | id="g2766" 39 | style="fill:#e0e0d1;fill-opacity:1"> 40 | <path 41 | d="M23.429,17H47c0.552,0,1-0.447,1-1s-0.448-1-1-1H23.429c-0.552,0-1,0.447-1,1S22.877,17,23.429,17z" 42 | id="path2752" 43 | style="fill:#e0e0d1;fill-opacity:1" /> 44 | <path 45 | d="M23.429,32H47c0.552,0,1-0.447,1-1s-0.448-1-1-1H23.429c-0.552,0-1,0.447-1,1S22.877,32,23.429,32z" 46 | id="path2754" 47 | style="fill:#e0e0d1;fill-opacity:1" /> 48 | <path 49 | d="M23.429,47H47c0.552,0,1-0.447,1-1s-0.448-1-1-1H23.429c-0.552,0-1,0.447-1,1S22.877,47,23.429,47z" 50 | id="path2756" 51 | style="fill:#e0e0d1;fill-opacity:1" /> 52 | <path 53 | d="M59,0H1C0.448,0,0,0.447,0,1v58c0,0.553,0.448,1,1,1h58c0.552,0,1-0.447,1-1V1C60,0.447,59.552,0,59,0z M58,58H2V2h56V58z" 54 | id="path2758" 55 | style="fill:#e0e0d1;fill-opacity:1" /> 56 | <polygon 57 | points="12.501,18.474 14.929,17.197 17.357,18.474 16.894,15.77 18.858,13.854 16.143,13.46 14.929,11 13.715,13.46 11,13.854 12.965,15.77 " 58 | id="polygon2760" 59 | style="fill:#e0e0d1;fill-opacity:1" /> 60 | <polygon 61 | points="12.501,33.557 14.929,32.28 17.357,33.557 16.894,30.853 18.858,28.938 16.143,28.543 14.929,26.083 13.715,28.543 11,28.938 12.965,30.853 " 62 | id="polygon2762" 63 | style="fill:#e0e0d1;fill-opacity:1" /> 64 | <polygon 65 | points="12.501,49 14.929,47.723 17.357,49 16.894,46.296 18.858,44.381 16.143,43.986 14.929,41.526 13.715,43.986 11,44.381 12.965,46.296 " 66 | id="polygon2764" 67 | style="fill:#e0e0d1;fill-opacity:1" /> 68 | </g> 69 | <g 70 | id="g2768"> 71 | </g> 72 | <g 73 | id="g2770"> 74 | </g> 75 | <g 76 | id="g2772"> 77 | </g> 78 | <g 79 | id="g2774"> 80 | </g> 81 | <g 82 | id="g2776"> 83 | </g> 84 | <g 85 | id="g2778"> 86 | </g> 87 | <g 88 | id="g2780"> 89 | </g> 90 | <g 91 | id="g2782"> 92 | </g> 93 | <g 94 | id="g2784"> 95 | </g> 96 | <g 97 | id="g2786"> 98 | </g> 99 | <g 100 | id="g2788"> 101 | </g> 102 | <g 103 | id="g2790"> 104 | </g> 105 | <g 106 | id="g2792"> 107 | </g> 108 | <g 109 | id="g2794"> 110 | </g> 111 | <g 112 | id="g2796"> 113 | </g> 114 | </svg> 115 | -------------------------------------------------------------------------------- /bin/themes/default/graphicmenu/icons/documents.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/graphicmenu/icons/documents.ico -------------------------------------------------------------------------------- /bin/themes/default/graphicmenu/icons/home.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/graphicmenu/icons/home.ico -------------------------------------------------------------------------------- /bin/themes/default/graphicmenu/icons/home.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 | <!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> 3 | 4 | <svg 5 | version="1.1" 6 | id="Capa_1" 7 | x="0px" 8 | y="0px" 9 | viewBox="0 0 58.365 58.365" 10 | style="enable-background:new 0 0 58.365 58.365;" 11 | xml:space="preserve" 12 | sodipodi:docname="home.svg" 13 | inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" 14 | xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 15 | xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 16 | xmlns="http://www.w3.org/2000/svg" 17 | xmlns:svg="http://www.w3.org/2000/svg"><defs 18 | id="defs6115" /><sodipodi:namedview 19 | id="namedview6113" 20 | pagecolor="#ffffff" 21 | bordercolor="#e0e0d1" 22 | borderopacity="0.25" 23 | inkscape:showpageshadow="2" 24 | inkscape:pageopacity="0.0" 25 | inkscape:pagecheckerboard="0" 26 | inkscape:deskcolor="#d1d1d1" 27 | showgrid="false" 28 | inkscape:zoom="13.946714" 29 | inkscape:cx="13.013818" 30 | inkscape:cy="29.218352" 31 | inkscape:window-width="1920" 32 | inkscape:window-height="1001" 33 | inkscape:window-x="-9" 34 | inkscape:window-y="-9" 35 | inkscape:window-maximized="1" 36 | inkscape:current-layer="Capa_1" /> 37 | <path 38 | d="M57.863,26.632l-8.681-8.061V5.365h-10v3.921L29.182,0L0.502,26.632c-0.404,0.376-0.428,1.009-0.052,1.414 c0.375,0.404,1.008,0.427,1.414,0.052l3.319-3.082v33.349h16h16h16V25.015l3.319,3.082c0.192,0.179,0.437,0.267,0.681,0.267 c0.269,0,0.536-0.107,0.732-0.319C58.291,27.641,58.267,27.008,57.863,26.632z M41.182,7.365h6v9.349l-6-5.571V7.365z M23.182,56.365V35.302c0-0.517,0.42-0.937,0.937-0.937h10.126c0.517,0,0.937,0.42,0.937,0.937v21.063H23.182z M51.182,56.365h-14 V35.302c0-1.62-1.317-2.937-2.937-2.937H24.119c-1.62,0-2.937,1.317-2.937,2.937v21.063h-14V23.158l22-20.429l14.28,13.26 l5.72,5.311v0l2,1.857V56.365z" 39 | id="path6080" 40 | style="fill:#e0e0d1;fill-opacity:1" /> 41 | <g 42 | id="g6082"> 43 | </g> 44 | <g 45 | id="g6084"> 46 | </g> 47 | <g 48 | id="g6086"> 49 | </g> 50 | <g 51 | id="g6088"> 52 | </g> 53 | <g 54 | id="g6090"> 55 | </g> 56 | <g 57 | id="g6092"> 58 | </g> 59 | <g 60 | id="g6094"> 61 | </g> 62 | <g 63 | id="g6096"> 64 | </g> 65 | <g 66 | id="g6098"> 67 | </g> 68 | <g 69 | id="g6100"> 70 | </g> 71 | <g 72 | id="g6102"> 73 | </g> 74 | <g 75 | id="g6104"> 76 | </g> 77 | <g 78 | id="g6106"> 79 | </g> 80 | <g 81 | id="g6108"> 82 | </g> 83 | <g 84 | id="g6110"> 85 | </g> 86 | </svg> 87 | -------------------------------------------------------------------------------- /bin/themes/default/graphicmenu/icons/music.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/graphicmenu/icons/music.ico -------------------------------------------------------------------------------- /bin/themes/default/graphicmenu/icons/music.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 | <!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> 3 | 4 | <svg 5 | version="1.1" 6 | id="Layer_1" 7 | x="0px" 8 | y="0px" 9 | viewBox="0 0 494.885 494.885" 10 | style="enable-background:new 0 0 494.885 494.885;" 11 | xml:space="preserve" 12 | sodipodi:docname="music.svg" 13 | inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" 14 | xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 15 | xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 16 | xmlns="http://www.w3.org/2000/svg" 17 | xmlns:svg="http://www.w3.org/2000/svg"><defs 18 | id="defs1088" /><sodipodi:namedview 19 | id="namedview1086" 20 | pagecolor="#ffffff" 21 | bordercolor="#e0e0d1" 22 | borderopacity="0.25" 23 | inkscape:showpageshadow="2" 24 | inkscape:pageopacity="0.0" 25 | inkscape:pagecheckerboard="0" 26 | inkscape:deskcolor="#d1d1d1" 27 | showgrid="false" 28 | inkscape:zoom="1.5862271" 29 | inkscape:cx="247.4425" 30 | inkscape:cy="247.4425" 31 | inkscape:window-width="1920" 32 | inkscape:window-height="1001" 33 | inkscape:window-x="-9" 34 | inkscape:window-y="-9" 35 | inkscape:window-maximized="1" 36 | inkscape:current-layer="g1053" /> 37 | <g 38 | id="g1053"> 39 | <g 40 | id="g1051" 41 | style="fill:#e0e0d1;fill-opacity:1"> 42 | <path 43 | d="M163.205,76.413v293.301c-3.434-3.058-7.241-5.867-11.486-8.339c-21.38-12.452-49.663-15.298-77.567-7.846 c-49.038,13.096-80.904,54.519-71.038,92.337c4.019,15.404,14.188,28.221,29.404,37.087c13.553,7.894,29.87,11.933,47.115,11.933 c9.962,0,20.231-1.356,30.447-4.087c42.74-11.406,72.411-44.344,72.807-77.654h0.011v-0.162c0.002-0.166,0-0.331,0-0.496V187.072 l290.971-67.3v178.082c-3.433-3.055-7.238-5.863-11.481-8.334c-21.385-12.452-49.654-15.308-77.567-7.846 c-49.038,13.087-80.904,54.519-71.038,92.356c4.019,15.385,14.183,28.212,29.404,37.067c13.548,7.894,29.875,11.933,47.115,11.933 c9.962,0,20.231-1.356,30.452-4.087c42.74-11.413,72.411-44.346,72.804-77.654h0.004v-0.065c0.003-0.236,0.001-0.469,0-0.704V0 L163.205,76.413z M104.999,471.779c-22.543,6.038-45.942,3.846-62.572-5.846c-10.587-6.163-17.591-14.817-20.255-25.038 c-7.144-27.375,18.452-58.029,57.062-68.346c8.409-2.25,16.938-3.346,25.188-3.346c13.87,0,26.962,3.115,37.389,9.192 c10.587,6.163,17.591,14.817,20.255,25.029c0.809,3.102,1.142,6.248,1.139,9.4v0.321h0.014 C162.99,437.714,139.082,462.678,104.999,471.779z M182.898,166.853V92.067l290.971-67.298v74.784L182.898,166.853z M415.677,399.923c-22.558,6.038-45.942,3.837-62.587-5.846c-10.587-6.163-17.587-14.817-20.25-25.019 c-7.144-27.385,18.452-58.058,57.058-68.365c8.414-2.25,16.942-3.346,25.192-3.346c13.875,0,26.962,3.115,37.385,9.192 c10.596,6.163,17.596,14.817,20.26,25.029v0.01c0.796,3.05,1.124,6.144,1.135,9.244v0.468h0.02 C473.668,365.851,449.763,390.814,415.677,399.923z" 44 | id="path1049" 45 | style="fill:#e0e0d1;fill-opacity:1" /> 46 | </g> 47 | </g> 48 | <g 49 | id="g1055"> 50 | </g> 51 | <g 52 | id="g1057"> 53 | </g> 54 | <g 55 | id="g1059"> 56 | </g> 57 | <g 58 | id="g1061"> 59 | </g> 60 | <g 61 | id="g1063"> 62 | </g> 63 | <g 64 | id="g1065"> 65 | </g> 66 | <g 67 | id="g1067"> 68 | </g> 69 | <g 70 | id="g1069"> 71 | </g> 72 | <g 73 | id="g1071"> 74 | </g> 75 | <g 76 | id="g1073"> 77 | </g> 78 | <g 79 | id="g1075"> 80 | </g> 81 | <g 82 | id="g1077"> 83 | </g> 84 | <g 85 | id="g1079"> 86 | </g> 87 | <g 88 | id="g1081"> 89 | </g> 90 | <g 91 | id="g1083"> 92 | </g> 93 | </svg> 94 | -------------------------------------------------------------------------------- /bin/themes/default/graphicmenu/icons/pictures.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/graphicmenu/icons/pictures.ico -------------------------------------------------------------------------------- /bin/themes/default/graphicmenu/icons/pictures.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 | <!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> 3 | 4 | <svg 5 | version="1.1" 6 | id="Capa_1" 7 | x="0px" 8 | y="0px" 9 | viewBox="0 0 58 58" 10 | style="enable-background:new 0 0 58 58;" 11 | xml:space="preserve" 12 | sodipodi:docname="pictures.svg" 13 | inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" 14 | xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 15 | xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 16 | xmlns="http://www.w3.org/2000/svg" 17 | xmlns:svg="http://www.w3.org/2000/svg"><defs 18 | id="defs9973"> 19 | 20 | 21 | 22 | </defs><sodipodi:namedview 23 | id="namedview9971" 24 | pagecolor="#ffffff" 25 | bordercolor="#e0e0d1" 26 | borderopacity="0.25" 27 | inkscape:showpageshadow="2" 28 | inkscape:pageopacity="0.0" 29 | inkscape:pagecheckerboard="0" 30 | inkscape:deskcolor="#d1d1d1" 31 | showgrid="false" 32 | inkscape:zoom="14.034483" 33 | inkscape:cx="13.003685" 34 | inkscape:cy="34.807125" 35 | inkscape:window-width="1920" 36 | inkscape:window-height="1001" 37 | inkscape:window-x="-9" 38 | inkscape:window-y="-9" 39 | inkscape:window-maximized="1" 40 | inkscape:current-layer="Capa_1" /> 41 | <g 42 | id="g4859" 43 | style="fill:#e0e0d1"><path 44 | d="M 57,0.08599519 H 1 c -0.552,0 -1,0.5619374 -1,1.25713061 V 56.656875 c 0,0.695192 0.448,1.25713 1,1.25713 h 56 c 0.552,0 1,-0.561938 1,-1.25713 V 1.3431258 C 58,0.64793259 57.552,0.08599519 57,0.08599519 Z M 56,55.399743 H 2 V 2.6002564 h 54 z" 45 | id="path9932" 46 | style="fill:#e0e0d1;fill-opacity:1;stroke-width:1.12122" /><path 47 | d="m 16,28.138 c 3.071,0 5.569,-2.498 5.569,-5.568 C 21.569,19.498 19.071,17 16,17 c -3.071,0 -5.569,2.498 -5.569,5.569 0,3.071 2.498,5.569 5.569,5.569 z M 16,19 c 1.968,0 3.569,1.602 3.569,3.569 0,1.967 -1.601,3.569 -3.569,3.569 -1.968,0 -3.569,-1.601 -3.569,-3.568 C 12.431,20.603 14.032,19 16,19 Z" 48 | id="path9934" 49 | style="fill:#e0e0d1;fill-opacity:1" /><path 50 | d="m 7,46 c 0.234,0 0.47,-0.082 0.66,-0.249 L 23.973,31.389 34.275,41.69 c 0.391,0.391 1.023,0.391 1.414,0 0.391,-0.391 0.391,-1.023 0,-1.414 l -4.807,-4.807 9.181,-10.054 11.261,10.323 c 0.407,0.373 1.04,0.345 1.413,-0.062 0.373,-0.407 0.346,-1.04 -0.062,-1.413 l -12,-11 c -0.196,-0.179 -0.457,-0.268 -0.72,-0.262 -0.265,0.012 -0.515,0.129 -0.694,0.325 L 29.467,34.053 24.724,29.31 C 24.35,28.937 23.752,28.918 23.356,29.266 L 6.339,44.249 C 5.924,44.614 5.884,45.246 6.249,45.661 6.447,45.886 6.723,46 7,46 Z" 51 | id="path9936" 52 | style="fill:#e0e0d1;fill-opacity:1" /></g> 53 | <g 54 | id="g9940"> 55 | </g> 56 | <g 57 | id="g9942"> 58 | </g> 59 | <g 60 | id="g9944"> 61 | </g> 62 | <g 63 | id="g9946"> 64 | </g> 65 | <g 66 | id="g9948"> 67 | </g> 68 | <g 69 | id="g9950"> 70 | </g> 71 | <g 72 | id="g9952"> 73 | </g> 74 | <g 75 | id="g9954"> 76 | </g> 77 | <g 78 | id="g9956"> 79 | </g> 80 | <g 81 | id="g9958"> 82 | </g> 83 | <g 84 | id="g9960"> 85 | </g> 86 | <g 87 | id="g9962"> 88 | </g> 89 | <g 90 | id="g9964"> 91 | </g> 92 | <g 93 | id="g9966"> 94 | </g> 95 | <g 96 | id="g9968"> 97 | </g> 98 | </svg> 99 | -------------------------------------------------------------------------------- /bin/themes/default/graphicmenu/icons/readme.txt: -------------------------------------------------------------------------------- 1 | Icons in 20*20 - Used in Graphic Menu -------------------------------------------------------------------------------- /bin/themes/default/graphicmenu/icons/settings.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/graphicmenu/icons/settings.ico -------------------------------------------------------------------------------- /bin/themes/default/graphicmenu/icons/videos.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/graphicmenu/icons/videos.ico -------------------------------------------------------------------------------- /bin/themes/default/graphicmenu/icons/videos.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 | <!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> 3 | 4 | <svg 5 | version="1.1" 6 | id="Capa_1" 7 | x="0px" 8 | y="0px" 9 | viewBox="0 0 58 58" 10 | style="enable-background:new 0 0 58 58;" 11 | xml:space="preserve" 12 | sodipodi:docname="videos.svg" 13 | inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" 14 | xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 15 | xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 16 | xmlns="http://www.w3.org/2000/svg" 17 | xmlns:svg="http://www.w3.org/2000/svg"><defs 18 | id="defs13974"> 19 | 20 | 21 | </defs><sodipodi:namedview 22 | id="namedview13972" 23 | pagecolor="#ffffff" 24 | bordercolor="#e0e0d1" 25 | borderopacity="0.25" 26 | inkscape:showpageshadow="2" 27 | inkscape:pageopacity="0.0" 28 | inkscape:pagecheckerboard="0" 29 | inkscape:deskcolor="#d1d1d1" 30 | showgrid="false" 31 | inkscape:zoom="14.034483" 32 | inkscape:cx="13.074938" 33 | inkscape:cy="23.54914" 34 | inkscape:window-width="1920" 35 | inkscape:window-height="1001" 36 | inkscape:window-x="-9" 37 | inkscape:window-y="-9" 38 | inkscape:window-maximized="1" 39 | inkscape:current-layer="Capa_1" /> 40 | <path 41 | d="m 36.537,26.863315 -11,-7.3795 C 25.229,19.278243 24.839,19.264538 24.518,19.449025 24.199,19.634567 24,19.988783 24,20.373571 v 14.759001 c 0,0.384788 0.199,0.739004 0.519,0.924546 0.15,0.08644 0.315,0.129668 0.481,0.129668 0.187,0 0.374,-0.05587 0.537,-0.164458 l 11,-7.3795 C 36.825,28.448853 37,28.113613 37,27.753071 37,27.39253 36.825,27.05729 36.537,26.863315 Z M 26,33.212847 V 22.293296 l 8.137,5.459775 z" 42 | id="path13935" 43 | style="fill:#e0e0d1;fill-opacity:1;stroke-width:1.02675" /><path 44 | d="M 57,0.01474217 H 47 11 1 c -0.552,0 -1,0.56332219 -1,1.26022863 V 15.137486 29 42.862515 56.72503 c 0,0.696907 0.448,1.260228 1,1.260228 h 10 36 10 c 0.552,0 1,-0.563321 1,-1.260228 V 42.862515 29 15.137486 1.2749708 C 58,0.57806436 57.552,0.01474217 57,0.01474217 Z M 10,27.739772 H 2 V 16.397715 h 8 z m -8,2.520457 h 8 V 41.602286 H 2 Z M 12,42.862515 V 29 15.137486 2.5351994 H 46 V 15.137486 29 42.862515 55.464801 H 12 Z M 56,27.739772 H 48 V 16.397715 h 8 z m -8,2.520457 h 8 V 41.602286 H 48 Z M 56,2.5351994 V 13.877257 H 48 V 2.5351994 Z m -54,0 h 8 V 13.877257 H 2 Z M 2,55.464801 V 44.122744 h 8 v 11.342057 z m 54,0 H 48 V 44.122744 h 8 z" 45 | id="path13937" 46 | style="fill:#e0e0d1;fill-opacity:1;stroke-width:1.1226" /> 47 | <g 48 | id="g13941"> 49 | </g> 50 | <g 51 | id="g13943"> 52 | </g> 53 | <g 54 | id="g13945"> 55 | </g> 56 | <g 57 | id="g13947"> 58 | </g> 59 | <g 60 | id="g13949"> 61 | </g> 62 | <g 63 | id="g13951"> 64 | </g> 65 | <g 66 | id="g13953"> 67 | </g> 68 | <g 69 | id="g13955"> 70 | </g> 71 | <g 72 | id="g13957"> 73 | </g> 74 | <g 75 | id="g13959"> 76 | </g> 77 | <g 78 | id="g13961"> 79 | </g> 80 | <g 81 | id="g13963"> 82 | </g> 83 | <g 84 | id="g13965"> 85 | </g> 86 | <g 87 | id="g13967"> 88 | </g> 89 | <g 90 | id="g13969"> 91 | </g> 92 | </svg> 93 | -------------------------------------------------------------------------------- /bin/themes/default/graphicmenu/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/graphicmenu/logo.png -------------------------------------------------------------------------------- /bin/themes/default/graphicmenu/separator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/graphicmenu/separator.png -------------------------------------------------------------------------------- /bin/themes/default/graphicmenu/tab/tab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/graphicmenu/tab/tab.png -------------------------------------------------------------------------------- /bin/themes/default/graphicmenu/userframe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/graphicmenu/userframe.png -------------------------------------------------------------------------------- /bin/themes/default/icons/accept.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/accept.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/add.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/add.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/add_category.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/add_category.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/add_folder.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/add_folder.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/add_software.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/add_software.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/advanced.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/advanced.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/arrow_down.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/arrow_down.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/arrow_up.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/arrow_up.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/asuite.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/asuite.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/autorun.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/autorun.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/behavior.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/behavior.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/cancel.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/cancel.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/category.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/category.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/copy.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/copy.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/cut.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/cut.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/delete.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/delete.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/denied.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/denied.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/disk.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/disk.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/environment_vars.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/environment_vars.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/file.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/file.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/file_error.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/file_error.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/folder.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/folder.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/general.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/general.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/help.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/help.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/hotkey.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/hotkey.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/hotkey_add.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/hotkey_add.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/hotkey_delete.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/hotkey_delete.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/hotkey_edit.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/hotkey_edit.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/items.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/items.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/mainwindow.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/mainwindow.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/mouse.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/mouse.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/options.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/options.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/page_url.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/page_url.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/paste.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/paste.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/property.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/property.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/property_general.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/property_general.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/readme.txt: -------------------------------------------------------------------------------- 1 | All icons are in 16*16, except these files: 2 | category.ico 3 | file.ico 4 | file_error.ico 5 | folder.ico 6 | page_url.ico 7 | 8 | These files used in tree list and they are in multisize 16*16 and 32*32 (small and large icons). -------------------------------------------------------------------------------- /bin/themes/default/icons/run.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/run.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/save.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/save.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/search.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/search.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/search2.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/search2.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/search_type.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/search_type.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/stats.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/stats.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/trayicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/trayicon.ico -------------------------------------------------------------------------------- /bin/themes/default/icons/tree_list.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/icons/tree_list.ico -------------------------------------------------------------------------------- /bin/themes/default/theme.ini: -------------------------------------------------------------------------------- 1 | [info] 2 | name=Default 3 | author=Matteo Salvi 4 | version=2.0 5 | url=http://www.salvadorsoftware.com 6 | 7 | [general] 8 | image_background=graphicmenu\background.png 9 | image_logo=graphicmenu\logo.png 10 | image_separator=graphicmenu\separator.png 11 | image_userframe=graphicmenu\userframe.png 12 | font_tree=default|0|#000000|0 13 | 14 | [harddisk] 15 | image_background=graphicmenu\harddisk_background.png 16 | image_space=graphicmenu\harddisk_space.png 17 | font=Tahoma|7|#000000|0 18 | 19 | [rightbuttons] 20 | image_button=graphicmenu\buttons\button.png 21 | font_normal=default|0|#ffffff|0 22 | font_hover=default|0|#ffffff|0 23 | font_clicked=default|0|#ffffff|0 24 | icon_asuite=graphicmenu\icons\asuite.ico 25 | icon_explore=graphicmenu\icons\home.ico 26 | icon_document=graphicmenu\icons\documents.ico 27 | icon_music=graphicmenu\icons\music.ico 28 | icon_pictures=graphicmenu\icons\pictures.ico 29 | icon_videos=graphicmenu\icons\videos.ico 30 | icon_options=graphicmenu\icons\settings.ico 31 | icon_help=graphicmenu\icons\about.ico 32 | 33 | [search] 34 | icon_search=icons\search2.ico 35 | icon_cancel=icons\cancel.ico 36 | font=default|0|#000000|0 37 | 38 | [list] 39 | image_button=graphicmenu\tab\tab.png 40 | font_normal=default|8|#000000|0 41 | font_hover=default|8|#000000|0 42 | font_clicked=default|8|#000000|1 43 | 44 | [recent] 45 | image_button=graphicmenu\tab\tab.png 46 | font_normal=default|8|#000000|0 47 | font_hover=default|8|#000000|0 48 | font_clicked=default|8|#000000|1 49 | 50 | [mostused] 51 | image_button=graphicmenu\tab\tab.png 52 | font_normal=default|8|#000000|0 53 | font_hover=default|8|#000000|0 54 | font_clicked=default|8|#000000|1 55 | 56 | [ejectbutton] 57 | image_button=graphicmenu\buttons\button_eject.png 58 | 59 | [exitbutton] 60 | image_button=graphicmenu\buttons\button_close.png 61 | -------------------------------------------------------------------------------- /bin/themes/default/xcf/background.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/xcf/background.xcf -------------------------------------------------------------------------------- /bin/themes/default/xcf/eject_button.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/xcf/eject_button.xcf -------------------------------------------------------------------------------- /bin/themes/default/xcf/logo.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/xcf/logo.xcf -------------------------------------------------------------------------------- /bin/themes/default/xcf/right_button.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/xcf/right_button.xcf -------------------------------------------------------------------------------- /bin/themes/default/xcf/shutdown_button.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/xcf/shutdown_button.xcf -------------------------------------------------------------------------------- /bin/themes/default/xcf/tabs.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salvadorbs/Asuite/a9acb3f6242b23a2d326e7b584211deedeb965f0/bin/themes/default/xcf/tabs.xcf -------------------------------------------------------------------------------- /utils/installPackages.ps1: -------------------------------------------------------------------------------- 1 | param ([string] $ASuiteSource, [string] $LazBuildPath, [switch] $BuildIde = $false, [switch] $RemoveSparta = $false) 2 | 3 | # *** FUNCTION DEFINITIONS 4 | 5 | function InstallPackage($LazBuildPath, $PackagePath) 6 | { 7 | write-output "Installing Package $PackagePath" 8 | $LazBuild_AllArgs = @('--add-package', "$PackagePath", '--skip-dependencies', '-q') 9 | & $LazBuildPath $LazBuild_AllArgs 10 | } 11 | 12 | function InstallPackageLink($LazBuildPath, $PackagePath) 13 | { 14 | write-output "Installing Package (only link) $PackagePath" 15 | $LazBuild_AllArgs = @('--add-package-link', "$PackagePath", '--skip-dependencies', '-q') 16 | & $LazBuildPath $LazBuild_AllArgs 17 | } 18 | 19 | function BuildIde($LazBuildPath) 20 | { 21 | write-output "Building Lazarus IDE" 22 | $LazBuild_AllArgs = @('--build-ide=') 23 | & $LazBuildPath $LazBuild_AllArgs 24 | } 25 | 26 | # *** BEGIN MAIN SCRIPT 27 | 28 | write-output "ASuiteSource = $ASuiteSource" 29 | write-output "LazBuildPath = $LazBuildPath" 30 | write-output "BuildIde = $BuildIde" 31 | write-output "RemoveSparta = $RemoveSparta" 32 | 33 | # Remove Sparta_Generics from jpLib.lpk requirements 34 | if ($RemoveSparta) { 35 | write-output "Removing Sparta_Generics from jpLib.lpk" 36 | 37 | $file = Get-Item $ASuiteSource/3p/JPLib/packages/Lazarus/jplib.lpk 38 | [xml]$xml = Get-Content -Path $file 39 | $node = $xml.SelectSingleNode('CONFIG/Package/RequiredPkgs/Item1') 40 | $node.ParentNode.RemoveChild($node) 41 | $xml.Save($file.Fullname) 42 | } 43 | 44 | # Install Lazarus Components 45 | write-output "Installing Lazarus Components for building ASuite" 46 | InstallPackageLink $LazBuildPath "$ASuiteSource/3p/bgrabitmap/bgrabitmap/bgrabitmappack.lpk" 47 | InstallPackage $LazBuildPath "$ASuiteSource/3p/bgracontrols/bgracontrols.lpk" 48 | InstallPackage $LazBuildPath "$ASuiteSource/3p/GDIPlus-Library-for-Delphi-and-Lazarus/packages/Lazarus/lazgdiplus.lpk" 49 | InstallPackage $LazBuildPath "$ASuiteSource/3p/JPLib/packages/Lazarus/jplib.lpk" 50 | InstallPackage $LazBuildPath "$ASuiteSource/3p/JPPack/packages/Lazarus/jppacklcl.lpk" 51 | InstallPackageLink $LazBuildPath "$ASuiteSource/3p/mORMot2/packages/lazarus/mormot2.lpk" 52 | InstallPackageLink $LazBuildPath "$ASuiteSource/3p/HashLib4Pascal/HashLib/src/Packages/FPC/HashLib4PascalPackage.lpk" 53 | InstallPackage $LazBuildPath "$ASuiteSource/3p/luipack/uniqueinstance/uniqueinstance_package.lpk" 54 | InstallPackageLink $LazBuildPath "$ASuiteSource/3p/luipack/lclextensions/lclextensions_package.lpk" 55 | InstallPackage $LazBuildPath "$ASuiteSource/3p/VirtualTreeView-Lazarus/Packages/Lazarus/virtualtreeview_package.lpk" 56 | InstallPackage $LazBuildPath "$ASuiteSource/3p/AsuiteComps/ASuiteComps.lpk" 57 | 58 | # Download mORMot 2 Static files and extract them in proper directory 59 | $Url = 'https://github.com/synopse/mORMot2/releases/download/2.3.stable/mormot2static.7z' 60 | $ZipFile = $(Split-Path -Path $Url -Leaf) 61 | $Destination = $ASuiteSource + '/3p/mORMot2/static/' 62 | $pwd = Get-Location 63 | 64 | write-output "Downloading $ZipFile for mORMot2" 65 | Invoke-WebRequest -Uri $Url -OutFile $ZipFile 66 | 67 | $command = "7z x '$ZipFile' -o'$Destination'" 68 | Invoke-Expression $command 69 | 70 | if ($BuildIde) { 71 | BuildIde $LazBuildPath 72 | } 73 | -------------------------------------------------------------------------------- /utils/setup.iss: -------------------------------------------------------------------------------- 1 | ; Script generated by the Inno Setup Script Wizard. 2 | ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! 3 | 4 | #define MyAppName "ASuite" 5 | #define MyAppVersion "2.0" 6 | #define MyAppPublisher "SalvadorSoftware" 7 | #define MyAppURL "http://www.salvadorsoftware.com/asuite" 8 | #define MyAppExeName "ASuite.exe" 9 | #define MyAppExeName64 "ASuite_x64.exe" 10 | 11 | [Setup] 12 | ; NOTE: The value of AppId uniquely identifies this application. 13 | ; Do not use the same AppId value in installers for other applications. 14 | ; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) 15 | AppId={{85E14F3B-9C17-4CB6-9F85-8394F1C4078D} 16 | AppName={#MyAppName} 17 | AppVersion={#MyAppVersion} 18 | ;AppVerName={#MyAppName} {#MyAppVersion} 19 | AppPublisher={#MyAppPublisher} 20 | AppPublisherURL={#MyAppURL} 21 | AppSupportURL={#MyAppURL} 22 | AppUpdatesURL={#MyAppURL} 23 | DefaultDirName={pf}\{#MyAppName} 24 | DefaultGroupName={#MyAppName} 25 | LicenseFile=..\bin\docs\license.txt 26 | OutputDir=.\ 27 | ArchitecturesInstallIn64BitMode=x64 28 | OutputBaseFilename=asuite_setup 29 | Compression=lzma2 30 | SolidCompression=yes 31 | 32 | [Languages] 33 | Name: "english"; MessagesFile: "compiler:Default.isl" 34 | 35 | [Tasks] 36 | Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked 37 | 38 | [Files] 39 | ; Place all x64 files here 40 | Source: "..\bin\ASuite_x64.exe"; DestDir: "{app}"; Check: Is64BitInstallMode; 41 | ; Place all x86 files here, first one should be marked 'solidbreak' 42 | Source: "..\bin\ASuite.exe"; DestDir: "{app}"; Check: not Is64BitInstallMode; Flags: solidbreak 43 | ; Place all common files here, first one should be marked 'solidbreak' 44 | Source: "..\bin\docs\*"; DestDir: "{app}\docs"; Flags: solidbreak recursesubdirs createallsubdirs 45 | Source: "..\bin\locale\*"; DestDir: "{app}\locale"; Flags: recursesubdirs createallsubdirs 46 | Source: "..\bin\themes\*"; DestDir: "{app}\themes"; Flags: recursesubdirs createallsubdirs 47 | 48 | [Icons] 49 | Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Check: "not IsWin64"; 50 | Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName64}"; Check: IsWin64; 51 | Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}" 52 | Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}" 53 | Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon; Check: "not IsWin64"; 54 | Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName64}"; Tasks: desktopicon; Check: IsWin64; 55 | 56 | [Run] 57 | Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Check: "not IsWin64"; Flags: nowait postinstall skipifsilent 58 | Filename: "{app}\{#MyAppExeName64}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Check: IsWin64; Flags: nowait postinstall skipifsilent 59 | 60 | [ThirdParty] 61 | UseRelativePaths=True 62 | --------------------------------------------------------------------------------