Integrate GPS Tools plugin functionality into core QGIS
nyalldawson opened this issue · comments
QGIS Enhancement: Integrate GPS Tools plugin functionality into core QGIS
Date 2021/03/19
Author Nyall Dawson (@nyalldawson)
Contact nyall dot dawson at gmail dot com
Version QGIS 3.22 or earlier
Summary
Since QGIS 3.0, an ongoing effort has been underway to reduce the number of "core plugins". (These are plugins which are shipped with the default QGIS install, but inactive by default.) These plugins are undesirable for a number of reasons:
- the code is "siloed" away from the main QGIS codebase, and consequently these plugins are very poorly maintained
- the plugin functionality is not integrated well into the QGIS application (e.g. the functionality is present only in a single dialog, and not available via Processing, the unified Data Source Manager, the global QGIS settings dialog, etc), and follows different UI conventions to the rest of QGIS
- the plugin functionality is not available via PyQGIS, so third party plugins and scripts cannot take advantage of the features
- an inconsistent user experience -- because the plugins are not enabled by default, the features available in different installations of QGIS can vary between different QGIS installs (depending on whether or not a user has manually enabled the plugin). This leads to user confusion and frustration, as buttons and menus which are present on "their" QGIS install are not available on another QGIS install for unclear reasons.
(see qgis/qgis4.0_api#67 for further details)
This proposal covers removing the "GPS Tools" core plugin, and integrating its functionality with the main QGIS application.
Proposed Solution
When enabled, the GPS tools plugin exposes all functionality through a single tabbed dialog:
This dialog mixes several different functions:
- Adding data to a project (via the "Load GPX file" tab, the "Import other file" tab, and "Download from GPS" tab.). See below:
It is proposed that the functionality be integrated into QGIS by the following approach:
"Add data" functionality
The features for adding data from the "Load GPX file", "Import other file" and "Download from GPS" tabs will be moved to a new "GPS" tab in unified QGIS Data Source Manager (See below):
The Data Source Manager was designed as a all-encompassing approach for users to add data to a QGIS project, so moving the GPS tools "add data" functions into this dialog is a natural fit, and will help expose this functionality to a wider range of users and provide a more discoverable place for this functionality to reside.
GPS Device Management
This functionality will be moved to a new "GPS Devices" tab in the main QGIS settings - Options dialog. This dialog is the normal place for all QGIS user-editable settings to reside, and again is a natural place for users to look when configuring GPS devices.
The main options dialog offers improved user experience, e.g. it offers the ability for users to search easily for settings across all tabs.
Upload to GPS/GPX conversions
These two features are "data management" style operations, and should be moved to the Processing framework accordingly. By exposing this functionality as Processing algorithms we offer users many benefits:
- A standard UI and approach for running the tools
- The ability to run the tools as batch processes or within models
- Third party scripts and plugins can easily call the functionality without having to reimplement it themselves.
Affected Files
Classes from the GPS Tools plugin will be separated and moved to the core, analysis or app libraries as required. The c++ plugin code will then be removed.
Performance Implications
None
Further Considerations/Improvements
Users will be notified via the release notes/changelog of the moved plugin functionality.