Skip to content

Conversation

@jmkerloch
Copy link
Collaborator

@jmkerloch jmkerloch commented Oct 2, 2024

In this PR we introduce a new panel in profile-manager to export profile as QDT profile .json file (https://guts.github.io/qgis-deployment-cli/reference/qdt_profile.html#model-definition) with a copy of the profile files used by QDT.

Refactoring

For better maintability of the project we moved and updated some functions from the main plugin entrypoint (profile_manager/profile_manager.py) to a new file (profile_manager/profiles/utils.py)

New functions are defined to get information about the profiles:

GUI

Since we needed a way to display the available profiles, we created a QStandardItemModel : ProfileListModel.

This model is using QgsUserProfileManager to get all available profile and also be notified any time a new profile is created.

This model is now used for all profile selection combobox / listview.

We also are displaying profile icon.

QDT Export

A new panel is added in main GUI.

You can select profile to export and define the export directory and some informations about the QDT Profile.
If a QDT profile.json file is already available we are reading informations for QDT profile creation in file.

When creating a QDT Profile export directory we:

  • copy all content of the QGIS profile directory
  • remove cache and python plugin directory
  • create a QDT profile.json file with the QGIS profile information:
    • define plugin informations from QGIS plugin manager ( ⚠️ for now only official QGIS plugin are supported)

Missing

  • support for unofficial plugins
  • need to check the folder_name value in QDT profile.json (need to discuss with @Guts)

@jmkerloch jmkerloch force-pushed the feat-qdt-profile-export branch from 1ffb76e to b626113 Compare October 2, 2024 08:12
@jmkerloch jmkerloch marked this pull request as ready for review October 2, 2024 08:22
@jmkerloch jmkerloch self-assigned this Oct 2, 2024
@jmkerloch jmkerloch requested review from Guts and kannes October 2, 2024 08:22
@Guts Guts linked an issue Oct 3, 2024 that may be closed by this pull request
@Guts Guts added the enhancement New feature or request label Oct 3, 2024
jmkerloch and others added 15 commits October 3, 2024 18:11
- qgis profiles path
- profile list
- QGIS3.ini for profile
- metadata from plugin in profile
- metadata for plugin from QGIS
- copy all profile content
- remove cache folders
- remove python plugin folders
- create profile.json file for QDT from profile plugins
- use QgsUserProfileManager to get available profiles
- connect to profilesChanged for model update
… profile combobox

- convert QListWidget to QListView
- add function in ProfileManagerDialog to get current selected profile in list
- closes Profile Manager does not respect --profiles-path start up option WhereGroup#5
@jmkerloch jmkerloch force-pushed the feat-qdt-profile-export branch from 9bf37ac to 016484e Compare October 3, 2024 16:11
@github-actions github-actions bot added the UI User interface: forms, widgets... label Oct 3, 2024
@jmkerloch jmkerloch requested a review from Guts October 3, 2024 16:15
Copy link
Collaborator

@Guts Guts left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🚀!

We have a plugin ready for a new release!

@jmkerloch jmkerloch merged commit 1fbad82 into WhereGroup:main Oct 4, 2024
@jmkerloch jmkerloch deleted the feat-qdt-profile-export branch October 18, 2024 08:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request UI User interface: forms, widgets...

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Profile Manager does not respect --profiles-path start up option

2 participants