diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7e99e36 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.pyc \ No newline at end of file diff --git a/EasyCustomLabeling/EasyCustomLabeling.py b/EasyCustomLabeling/EasyCustomLabeling.py index 755e212..23d55ab 100644 --- a/EasyCustomLabeling/EasyCustomLabeling.py +++ b/EasyCustomLabeling/EasyCustomLabeling.py @@ -132,37 +132,28 @@ def labelLayerChecked(self): # print layers tag ='' connectSuccess = 'f' - if layers : - for layer in layers: + + for layer in layers: tag ='' - # print layer.name() + ' | ' + layer.capabilitiesString() + ' | ' + layer.providerType() + ' | nb objets: ' + str(layer.featureCount()) - if not layer: - return - # print'invalid layer > quit' - # check for non vector datasources - elif not layer.type() == 0 : - return + # print layer.name() + + if not layer.type() == 0 : # print 'non vector layer > quit' + return tag = layer.abstract() - # print 'tag: ' + tag if "" in tag or "Label_" in layer.name() : # print 'ECL Debug: labeling layer found > reconnecting modification events to callout drawing' layer.attributeValueChanged.connect(self.labelLayerModified) connectSuccess = 't' - else : - return - - if connectSuccess == 'f': - iface.messageBar().pushMessage("Error", QtGui.QApplication.translate("EasyCustomLabeling", "EasyCustomLabeling Error: For some reason, at least one labeling layer could not be reconnected to plugin events. Callouts line will not follow when moving label", None, QtGui.QApplication.UnicodeUTF8), level=2, duration=10) + # else : + # return - - # dp = layer.dataProvider() - # print 'provider ' + str(dp) + ' | erreurs: ' + str(dp.errors()) + if connectSuccess == 'f': + iface.messageBar().pushMessage("Error", QtGui.QApplication.translate("EasyCustomLabeling", "EasyCustomLabeling Error: For some reason, at least one labeling layer could not be reconnected to plugin events. Callouts line will not follow when moving label", None, QtGui.QApplication.UnicodeUTF8), level=2, duration=10) - # if layer.providerType() == 'memory': - # dp.reloadData() - # print 'reloading memory layer data ' + + diff --git a/EasyCustomLabeling/metadata.txt b/EasyCustomLabeling/metadata.txt index c539821..726cff6 100644 --- a/EasyCustomLabeling/metadata.txt +++ b/EasyCustomLabeling/metadata.txt @@ -10,10 +10,11 @@ name=EasyCustomLabeling qgisMinimumVersion=2.0 description=Allows to quickly duplicate layer into memory layer ready for data defined labeling. Requires Memory layer Saver >= 3.2 to restore all labels correctly description[fr]=Permet de rapidement une couche dédiée à l'étiquetage personnalisé. Nécessite Memory layer Saver >= 3.2 pour sauver les couches d'étiquetage avec le projet. -version=1.3.2 +version=1.3.3 about=EasyCustomLabeling is a plugin for QGIS, designed to simplify the work for manual and data defined labeling. The tool duplicates a data vector layer into a new memory layer made of lines, adds all necessary fields for advanced custom labeling like label location, rotation, color, font, callout, alignements. The resulting layer is activated ready to use labeling tools. Data is saved in Memory Layer provider, which means it is NOT saved to a file or a database. To make thoses layers persistent, please install Memory Layer Saver v3.2 or higher plugin, that saves all memory layers to a qdatastream file along the project named myqgisprojectname.qgs.mldata. about[fr]=EasyCustomLabeling est une extension développée pour simplifer le travail d'étiquetage personnalisé et basé sur des champs de données. Cet outil duplique une couche vecteur dans une couche mémoire de lignes, et y ajoute tous les champs nécessaires pour l'étiquetage personnalisé (emplacement de l'étiquette, rotation, couleur, police, alignements...). La couche résultante est prête à être modifiée directement (éditable et outils d'étiquetages activés). Les données sont sauvées en mémoire, ce qui signifie qu'elles ne sont PAS sauvées dans un fichier ou une base. Pour sauver ces données et pouvoir réouvrir un projet avec les étiquettes, il faut installer l'extension Memory Layer Saver (v >=3.2), qui sauve toutes les couches mémoires dans un fichier Qdatastream (fichier: projet_qgis.qgs.mldata) changelog= + 1.3.3: solves error in labeling reconnection on project loads..again 1.3.2: workaround label layer detection that causes label to be not in sync with callouts after project reloading 1.3.1: cosmetic settings for Horizontal alignement centered if deltaX is under tolerance stops when users cancels in dialog for field's choice @@ -40,6 +41,7 @@ changelog= - Miss an option to choose datasource format to save layer - Callouts can only be modified in the session where labeling layer was created changelog[fr]= + 1.3.3: corrige des soucis de reconnection de flèches au chargement du projet.. de nouveau 1.3.2: Contournement du bug de mauvaise reconnection des connecteurs d'étiquettes au chargement du projet 1.3.1: - Amélioration du centrage des étiquettes lorsqu'elle sont déplacées de moins de 2cm - réactive l'annulation dans le dialogue de choix de champ