MTES-MCT / metadata-postgresql

Plume : gestion des métadonnées du patrimoine PostgreSQL
https://mtes-mct.github.io/metadata-postgresql/
GNU Affero General Public License v3.0
0 stars 1 forks source link

Infobulles des couches sans géométrie dans l'explorateur #147

Closed alhyss closed 8 months ago

alhyss commented 1 year ago

Pour les tables sans géométrie, Plume affiche uniquement le message "en tant que table sans géométrie" de QGIS, même si la table a des métadonnées. Contrairement à ce à quoi s'attendrait l'utilisateur, il n'y a pas le message habituel pour prévenir de la présence de métadonnées, et le libellé qui aurait été extrait des métadonnées si la table avait eu une géométrie n'apparaît pas.

Est-il possible de reproduire dans ce cas le comportement normal des tables avec géométrie ?

WREATCHED commented 11 months ago

Analyse Oui et le fonctionnement est logique même si ce n'est pas celui attendu.

Proposition

WREATCHED commented 11 months ago

Réponse image

Modification dans la classe MyExploBrowser

           if index != -1 and self.proxy_model != None :
              self.itemLayer = self.model.dataItem(self.proxy_model.mapToSource(index))

              # Alimentation du dictionnaire des tooltip d'ORIGINE existantes"
              if index in self._dicTooltipExiste :
                 itemLayerTooltip = self._dicTooltipExiste[index]
              else :
                 if self.itemLayer !=  None and hasattr(self.itemLayer, 'comments') :
                    itemLayerTooltip = self.itemLayer.comments()
                 else :   
                    itemLayerTooltip = self.proxy_model.data(index, Qt.ToolTipRole) 
WREATCHED commented 11 months ago

Solution

                  # Alimentation du dictionnaire des tooltip d'ORIGINE existantes"
                  if index in self._dicTooltipExiste :
                     itemLayerTooltip = self._dicTooltipExiste[index]
                  else :
                     if self.itemLayer !=  None and hasattr(self.itemLayer, 'comments') :
                        vComment = self.itemLayer.comments()
                        vToolTip = self.itemLayer.toolTip()
                        if vComment and vToolTip:
                            if vComment in vToolTip:
                                tooltip = vToolTip
                            else:
                                tooltip = f'{vComment}\n\n{vToolTip}'
                        else:
                            tooltip = vToolTip or vComment

                        itemLayerTooltip = tooltip
                     else :   
                        itemLayerTooltip = self.proxy_model.data(index, Qt.ToolTipRole)

image