[general]
name=Item Highlighter
qgisMinimumVersion=3.0
qgisMaximumVersion=4.99
description=Locate and highlight map features from attribute values with automatic zoom support.
version=1.0.3
author=INSA Rennes - François Thouanel
email=francois.thouanel@insa_rennes.fr

about=Item Highlighter helps users quickly locate and highlight features across multiple layers using attribute values. Instead of manually searching through attribute tables and navigating between layers, users can select predefined values from simple dropdown lists. Matching features are automatically highlighted and the map view zooms to their location. Custom highlight colors and styles can be configured for each layer.

homepage=https://github.com/Icarus35666
tracker=https://github.com/Icarus35666/Item-Highlighter/issues
repository=https://github.com/Icarus35666/Item-Highlighter

# End of mandatory metadata

# Recommended items:

hasProcessingProvider=no

changelog=
    Version 1.0 Stable
    - Added JSON save/load support
    - Added reset button
    - Added layer not found warning
    - Added no feature found warning
    - Improved dialog management
    - Improved canvas interaction
    - Prevented multiple plugin instances
    - Improved configuration handling
	Version 1.0.1
	- Added QGIS 4 / Qt6 compatibility
	- Updated metadata
	- Updated changelog
	- Fixed Qt5/Qt6 compatibility issues
	Version 1.0.2
	- Try to fix Qt6 check issue on Qgis plugin repository
	Version 1.0.3
	- Fix the issue where the setting doesn't apply when setting up a new configuration without restarting the plugin.
	Release Date: September 2026
	
	------------------------------------------------------------
	OVERVIEW
	------------------------------------------------------------

	Item Highlighter is a QGIS plugin developed for the Green
	Space Service of INSA Rennes.

	The plugin allows users to quickly locate and highlight
	features from one or several layers using attribute values
	selected from dynamically generated comboboxes.

	------------------------------------------------------------
	MAIN FEATURES
	------------------------------------------------------------

	Dynamic Layer Configuration

	- Support for up to 10 configurable layers.
	- Independent configuration for each layer.
	- Dynamic field selection based on the selected layer.
	- Automatic update of available fields when a layer changes.

	Feature Selection

	- Dynamic creation of comboboxes from configuration.
	- Automatic retrieval of unique field values.
	- Fast selection of map features through attributes.

	Feature Highlighting

	- Highlight one or several matching features.
	- Custom border color for each configuration item.
	- Custom fill color for each configuration item.
	- Custom border width for each configuration item.

	Automatic Zoom

	- Automatic zoom to matching features.
	- Combined extent calculation when several features match.
	- Minimum and maximum scale protection.

	------------------------------------------------------------
	CONFIGURATION MANAGEMENT
	------------------------------------------------------------

	- Save settings to JSON configuration files.
	- Load settings from JSON configuration files.
	- Automatic restoration of the last configuration file.
	- Confirmation dialog before overwriting existing files.
	- Reset button to clear all configuration entries.

	------------------------------------------------------------
	USER INTERFACE IMPROVEMENTS
	------------------------------------------------------------

	Main Dialog

	- Dynamic generation of layer controls.
	- Cleaner and more intuitive user interface.
	- Non-modal window.
	- Full access to QGIS while the plugin is open.
	- Full access to the map canvas while the plugin is open.
	- Improved workflow for single-screen users.

	Settings Dialog

	- Dynamic synchronization between layers and fields.
	- Automatic restoration of saved settings.
	- Easier configuration workflow.
	- Better configuration consistency.

	Window Management

	- Prevention of multiple plugin instances.
	- Safer dialog lifecycle management.
	- Proper cleanup when closing the plugin.

	------------------------------------------------------------
	ERROR HANDLING
	------------------------------------------------------------

	No Feature Found

	Added a warning message when no feature matches the
	selected attribute value.

	Layer Not Found

	Added a warning message when a layer stored in a
	configuration file cannot be found in the current
	QGIS project.

	Configuration Safety

	- Protection against incomplete configurations.
	- Safe handling of missing layers.
	- Safe handling of empty configuration entries.

	------------------------------------------------------------
	STABILITY IMPROVEMENTS
	------------------------------------------------------------

	Highlight Management

	- Automatic removal of previous highlights.
	- Cleanup of highlights when closing the plugin.
	- Cleanup of highlights when hiding the dialog.
	- Prevention of highlight accumulation.

	Configuration Loading

	- Improved loading of partial JSON files.
	- Automatic reset of non-configured entries.
	- Better consistency between saved and displayed settings.

	Plugin Lifecycle

	- Improved opening and closing logic.
	- Safer dialog management.
	- Cleaner resource handling.

	------------------------------------------------------------
	CODE QUALITY IMPROVEMENTS
	------------------------------------------------------------

	Documentation

	- Added English comments throughout the code.
	- Improved code readability.
	- Easier maintenance and future contributions.

	Debug Cleanup

	- Removed unnecessary debug traces.
	- Cleaner Python console output.

	Architecture

	Clear separation between:

	- Plugin controller
	- Settings dialog
	- Main dialog

	Dynamic user interface generation based on JSON
	configuration files.

	------------------------------------------------------------
	VALIDATED TEST CASES
	------------------------------------------------------------

	Successfully tested with:

	- 1 configured layer
	- Several configured layers
	- Up to 10 configured layers
	- JSON save
	- JSON load
	- JSON overwrite confirmation
	- Missing layers
	- Missing features
	- Plugin reopening
	- Plugin closing
	- Canvas interaction
	- Highlight refresh
	- Automatic zoom
	- Reset function	
	
# Tags are comma separated with spaces allowed
tags=python

category=Plugins
icon=icon.png
# experimental flag
experimental=True

# deprecated flag (applies to the whole plugin, not just a single version)
deprecated=False

# Since QGIS 3.8, a comma separated list of plugins to be installed
# (or upgraded) can be specified.
# Check the documentation for more information.
# plugin_dependencies=

Category of the plugin: Raster, Vector, Database or Web
# category=

# If the plugin can run on QGIS Server.
server=False
