├── .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 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 | -
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 | -
76 |
77 |
78 | -
79 |
80 |
81 | -
82 |
83 |
84 |
85 |
86 |
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
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 .
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 .
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 .
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 .
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 .
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 .
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 .
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 .
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 .
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 .
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 .
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 .
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 .
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 .
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 .
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 .
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 .
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;
35 | TItemsComparer = TComparer;
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 .
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 .
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 .
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 .
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 .
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 .
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 .
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 |
2 |
3 |
4 |
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 |
2 |
3 |
4 |
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 |
2 |
3 |
4 |
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 |
2 |
3 |
4 |
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 |
2 |
3 |
4 |
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 |
2 |
3 |
4 |
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 |
--------------------------------------------------------------------------------