Add "Folder mapping"
When working from multiple locations, the folder structure often does not match. Currently, when libraries are referenced from the file system, the location is an absolute path. There could be multiple approaches to addressing this. The most user-friendly would be to have a set of "roots" on the machine and project level (a dictionary of names to paths). Query level would override the machine level. These could be also read from within the query using a utility method also, and editable from the UI. When a library is opened from such a mapped path, it would be stored relative to the mapping name. Adding a mapping later on, or opening a query with absolute library paths could also result in reevaluating these and suggesting to the user to use the maps instead. If a map name is not set on a machine where the query is opened, or the path associated with it in the query file does not exist, the app could ask the user to select it. Hence, the queries would become easily portable between machines.