[general]
name=Load Them All
description=Loads files stored in a directory structure recursively, based on several filters
about=QGIS plugin that recursively loads vector and raster layers stored in a directory structure, based on several filters.
version=3.4
qgisMinimumVersion=3.0
category=Layers
author=Germán Carrillo (GeoTux)
email=gcarrillo@linuxmail.org
tags=layers,vector,raster,toc,legend,directory,recursively,filter,load,shapefile,layer tree,geopackage,style,qml
homepage=https://geotux.tuxfamily.org/en/2010/10/18/load-them-all-a-qgis-plugin/
tracker=https://github.com/gacarrillor/loadthemall/issues
repository=https://github.com/gacarrillor/loadthemall
icon=resources/icon.png
experimental=False
deprecated=False


changelog=3.4 (20231005):
    ...* Support for .KAP files.
    ...* Plugin button can be found in:
    ......+ 'Data source manager' toolbar.
    ......+ 'Layer -> Add layer' menu.
    ......+ 'Plugins' menu.
    ...* Heavy code clean-up.

    3.3 (20210621):
    ...* Support JP2, KMZ, ERS, and SID files.
    ...* Use addTabifiedDockWidget to show LoadThemAll panel on top of others.
    ...* Add support for loading only geometryless layers (using GeometryFilter).

    3.2 (20200401):
    ...* Support JSON files.
    ...* Support sublayers that share name and have different geometry types.

    3.1 (20190218):
    ...* Apply QML styles when loading layers
    ...* French translation

    3.0.1 (20181015):
    ...* Fix issue (#11) with locale not yet set.

    3.0 (20180910):
    ...* Migration to QGIS v3.x
    ...* Support for GeoPackage.
    ...* For sublayers:
    ......Include parent layer name in searches.
    ......Include parent layer name as prefix for each sublayer in TOC.
    ...* Remove empty groups

    2.7 (20170713):
     ...* New 'Date modified' filter to load files according to their latest
     ......modification date.

    2.6 (20170703):
      ...* New 'Invert Alphanumeric filter' option to prepend a logic NOT to the
      ......whole alphanumeric expression.

    2.5 (20170128):
      ...* Added support for vector sublayers (e.g., from GML or GPX files).

    2.4 (20161111):
      ...* New option to sort (or reverse sort) loaded layers. Thanks to David
      ......Bakeman for the idea and the code!
      ...* Load Them All is now a QGIS dock widget.
      ...* New Cancel button to allow users to cancel long loading processes at
      ......any time.
      ...* Now using QGIS Layer Tree classes to deal with groups/subgroups.
      ...* Fixed an issue with nasty file names (e.g., those generated by
      ......malware) while performing os.walk.

    2.3 (20150118):
      ...* The alphanumeric filter supports boolean operators || (or) and && (and).
          ......Example: The expression "Ae || Ar || As || B[ers]" will load all map
          .........layer that have Ae, Ar, As, Be, Br or Bs in their file names.
          ......Note 1: && has higher priority, i.e., "a || b && c " becomes
          ........."(a || b) && c"
          ......Note 2: Boolean operators are combined with match modes, i.e., the
          .........expression "a || b" with a match mode 'Starts with' becomes
          ........."^a || ^b" and will find all layers whose file names START WITH
          ........."a" or "b".
      ...Case insensitive option for the alphanumeric filter (Configuration tab).
      ...Accent insensitive option for the alphanumeric filter. This option requires
      ......the Python lib 'unidecode' and can be activated in the Configuration tab.
      ...Performance improvement in alphanumeric filter. RE patterns are compiled
      ......and reused.
      ...* New bounding box based filter for raster and vector files. The bounding
          ......box can be load from the current extent or specified by hand.
          ......Raster and vector layers are checked if their spatial extent
          ......intersects with the specified bbox or if they lay inside of it.
          ......This operation (intersects/contains) can be specified in the dialog.
      ...* Modified class filter structure to easily support more filters. Soeren has
          ......removed the combined filter class and replaced it with a filter list,
          ......that can handle any number of filters. It is assured in the code that
          ......the bounding box filter is applied after the alphanumeric and the
          ......geometry/raster type filter, since the check of the raster and vector
          ......layers extent may take a while.
      ...Bug fix: Similar to the bug fixed in v.2.2 related to trailing slashes, the
          ......same bug was occurring on Windows (e.g., "c:\folder\").
      ...(*: Contribution by Sören Gebbert)

    2.2 (20150108):
      ...Load Them All window is no longer modal. Now you can interact with other QGIS
          ......tools while your Load Them All window is open.
      ...Programmatically switching "CRS for new layers" to "useProjection" to avoid
          ......opening dialogs for definig the CRS manually. After loading layers,
          ......the option is set back to its original status.
          ......(Taken from http://pyqgis.blogspot.com/)
      ...Messages in done dialogs were adjusted to account for different situations:
         ......0 layers loaded, 1 layer loaded, various layers loaded. Messages now
         ......also include how many layers were loaded succesfully out of all
         ......possible layers to load, e.g. "5 out of 9 layers were loaded
         ......succesfully," which means 4 were not valid layers.
      ...XML removed as vector format because it causes nasty bugs and, after all,
         ......it's rarely used as a vector format. I recommend using GML, KML or
         ......others.
      ...Bug fix: A bug was ocurring when a layer was not valid and attempted to load.
      ...Bug fix: A bug was ocurring when the base path contained a trailing slash,
          ......e.g., "/abc/def/" The bug was related to exceeding the number of
          ......recursions allowed (1000), since paths compared never matched:
          ......"/abc/def/" vs. "/abc/def"
      ...Bug fix: A bug was ocurring when running the plugin for the first time. It
          ......was related to a QSettings value that didn't exist yet:
          ......"/Load_Them_All/vector/path". Line 21 of Base_LoadThemAllDialog.py
          ......"Error: unable to convert a QVariant of type 0 to a QMetaType of type
          ......10"

    2.1 (20141127):
      ...Groups are properly nested according to the directory
          ......structure (contribution by David Bakeman.)

    2.0 (20131220):
      ...Migration to QGIS 2.0

    1.5 (20120328):
      ...GPX format correctly handled by considering track, route
          ......and waypoints (problem reported by Arnaud LE
          ......BRETON.)

    1.4 (20110311):
      ...New option: Do not load empty vector layers.
      ...Now it is possible to select "All listed formats" from
          ......the format filter.
      ...New vector and raster formats added.

    1.3.1 (20110307):
      ...Use QSettings locale instead of QLocale system locale.
      ...Set the icon() method in __init__.py to show the plugin
          ......icon in the manage window.
      ...Disable "Add groups" option in QGis v.1.6 since there
          ......are some bugs caused by nested groups addition

    1.3 (20101025):
      ...Avoided a legendInterface bug in QGIS 1.4 related to
          ......setLayerVisible().

    1.2 (20101021):
      ...Use of the setRenderFlag method to avoid refreshing the
          ......canvas unnecessarily.
      ...A new dialog included when there are no files to load.

    1.1 (20101020):
        ...Reported by Milena Nowotarska:
          ......Handle of special characters in directories and
              ......alphanumeric filters.
          ......Save settings on tab switches.

    1.0 (20101018):
      ...First version
