QM stores multiple macros and other QM items in a file with .qml extension. When starting, it loads the last used main file (initially it is Main.qml). Also loads System.qml (QM extensions) and optionally several other shared files (read below).
QM closes the files when exits or when you open another file. Then it ends running threads, closes toolbars, deletes variables and declarations.
All changes are saved automatically. QM item management changes (add/delete/move items, etc) are saved immediately. Text changes are saved with some delay, also when you click the Save button. Less important changes, such as open/expanded states, are saved when closing file or hiding QM.
Changed file format. Now it is a SQLite database.
When opening an old version file, QM converts it to the new format. Older QM versions cannot open files of the new format. The file extension is the same. When converting, QM backups the old file.
While a file is open in QM, other QM instances cannot open it, unless all open it as read-only. Read more below about locally cached copies. See also network setup.
When you edit macros etc, QM at first writes new changes to a temporary file (.qml-wal). Transfers the changes to the true file (.qml) when closing it, also when hiding QM and when there are many new changes. See also _qmfile.FullSave. There may be more temporary files. See also backup. Note: the temporary files sometimes may grow to 4 MB or more, it is normal.
Now custom toolbars save their position, size and style in file, not in registry. All currently loaded toolbars save in current main file (the file that is currently open in QM), even those that are in currently loaded shared files. See also: Options -> Layout of toolbars.
Why file format has been changed:
A shared file is another QM file loaded into a virtual folder in the main file. Such virtual folders, aka shared folders, have S letter on the folder icon. To add a shared folder, use menu File -> Import. If a shared folder is not at the root (is in another folder), QM does not load the file.
A shared folder is like a link to a shared file. Items that you see in the folder are saved in the shared file, not in the main file. But you can use, edit and manage them like they would be in the main file. QM automatically saves changes and makes backups (QM 2.4.0).
The System folder (System.qml file) is a special shared folder containing QM extensions. QM always adds it to every opened main file.
QM 2.4.0. There are two other special shared folders - Temp and Deleted. The Temp folder contains temporary items created by QM and macros. It is an in-memory database, not a real file, therefore all items in it disappear when closing the main file. The Deleted folder contains items that you delete. It is similar to the Recycle Bin in Windows. By default it is an in-memory database too, but you can right-click the folder and specify a file.
QM 2.4.0. If a shared file is on another computer, QM loads its locally cached copy in read-only mode. Then QM does not have to wait or fail when the file is unavailable. You can enable or disable this in the Folder Properties -> Shared File dialog.
Quick Macros installs several .qml files:
$my qm$\Main.qml (Main.qml in My Documents\My QM folder) - your initial main file. This file is NOT replaced when upgrading QM.
$qm$\Installed Files\Main.qml - original Main.qml file of current QM version. This file is replaced when upgrading QM. Don't use it as main file.
$qm$\System.qml - QM extensions. This file is replaced when upgrading QM. Don't use it as main file.
$qm$ - folder where QM is installed. Probably C:\Program Files (x86)\Quick Macros 2.
$my qm$ - your personal folder for QM files. By default, it is ...\My Documents\My QM.
You can find more files in QM forum.
To transfer Quick Macros from computer A to computer B:
1. Install Quick Macros on B.
2. Make sure Quick Macros on B is not running. If running, exit (menu File -> Exit program).
3. On computer A, locate My QM folder. It is in My Documents, unless you changed it in Options.
4. Copy the My QM folder to My Documents on B. If My QM already exists there, at first delete it.
5. If your macro file on A is not in My QM, copy it to B too. You can see your macro file path in menu File -> Recent -> first entry.
6. Run Quick Macros on B.
7. If it did not open your file, open it using menu File -> Open/New File.
See also: network setup.
When opening an unknown QM file, at first it is opened in the File Viewer. It allows you to safely preview file content. Then you can open, import, add as shared file, or cancel. Downloaded files may contain malicious, incompatible (duplicate functions, triggers, etc) or useless code. If you think the file is unsafe or useless, you can cancel. Or, you can import it with disabled triggers. Also, you can import only selected items.
The File Viewer also is used to preview the file when importing, to restore items from the backup folder, to view other files, to find an item in multiple files in a folder.
A file is considered unknown if it isn't in the recent files list (menu File -> Recent) and is not currently open in QM.
It is possible to corrupt a QM file (SQLite database). Then QM fails to load the file or fails to open/save/delete/etc macros and other data stored in the file.
Usually the best way to fix it - replace the file with the newest backup file. You can find backup files in folder ...Documents\My QM\Backup, unless the path is changed in Options -> Files.
Or you can try to repair the file.
See also: command line, File menu, file properties, network setup, backup