Remove 'Create Pou From' option. Fix somme issues with Copy/Paste POU.
authorlaurent
Mon, 12 Oct 2009 10:20:09 +0200
changeset 447 6083dcecd2c5
parent 446 0dd1a5f2a7a1
child 448 93a2f2034f98
Remove 'Create Pou From' option. Fix somme issues with Copy/Paste POU.
PLCControler.py
PLCOpenEditor.py
i18n/PLCOpenEditor_fr_FR.po
i18n/messages.pot
locale/fr_FR/LC_MESSAGES/PLCOpenEditor.mo
--- a/PLCControler.py	Fri Oct 09 17:34:18 2009 +0200
+++ b/PLCControler.py	Mon Oct 12 10:20:09 2009 +0200
@@ -597,14 +597,12 @@
                 pou.setpouType(pou_type)
                 self.BufferProject()
                 
-    def ProjectCreatePouFrom(self, name, from_name):
-        if self.Project is not None:
-            pou = self.Project.getpou(from_name)
+    def GetPouXml(self, pou_name):
+        if self.Project is not None:
+            pou = self.Project.getpou(pou_name)
             if pou is not None:
-                new_pou = self.Copy(pou)
-                new_pou.setname(name)
-                self.Project.insertpou(-1, new_pou)
-                self.BufferProject()
+                return pou.generateXMLText('pou', 0)
+        return None
     
     def PastePou(self, pou_type, pou_xml):
         '''
@@ -627,23 +625,20 @@
             # function blocks cannot be pasted as functions,
             # programs cannot be pasted as functions or function blocks
             if orig_type == 'functionBlock' and pou_type == 'function' or \
-            orig_type == 'program' and pou_type in ['function', 'functionBlock']:
+               orig_type == 'program' and pou_type in ['function', 'functionBlock']:
                 return _('''%s "%s" can't be pasted as a %s.''') % (orig_type, name, pou_type)
- 
-            while self.Project.getpou(name):
+            
+            idx = 0
+            new_name = name
+            while self.Project.getpou(new_name):
                 # a POU with that name already exists.
                 # make a new name and test if a POU with that name exists.
-
-                # append an incrementing numeric suffix to the POU name. it
-                # doesn't count up perfectly, but as long as it's unique who cares?
-                if name[-1] >= '0' and name[-1] <= '9':
-                    last_digit = int(name[-1])
-                    name = name[0:-1] + str(last_digit+1)
-                else:
-                    name = name + '1'
-
+                # append an incrementing numeric suffix to the POU name.
+                idx += 1
+                new_name = "%s%d" % (name, idx)
+                
             # we've found a name that does not already exist, use it
-            new_pou.setname(name)
+            new_pou.setname(new_name)
             new_pou.setpouType(pou_type)
 
             self.Project.insertpou(-1, new_pou)
Binary file PLCOpenEditor.py has changed
--- a/i18n/PLCOpenEditor_fr_FR.po	Fri Oct 09 17:34:18 2009 +0200
+++ b/i18n/PLCOpenEditor_fr_FR.po	Mon Oct 12 10:20:09 2009 +0200
@@ -7,15 +7,15 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-10-09 17:24+0200\n"
-"PO-Revision-Date: 2009-10-09 17:27+0100\n"
+"POT-Creation-Date: 2009-10-12 10:13+0200\n"
+"PO-Revision-Date: 2009-10-12 10:14+0100\n"
 "Last-Translator: \n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../PLCOpenEditor.py:4279
+#: ../PLCOpenEditor.py:4272
 msgid ""
 "\n"
 "An error has occurred.\n"
@@ -65,13 +65,13 @@
 msgid "   Temp"
 msgstr "  Temporaire"
 
-#: ../PLCOpenEditor.py:4291
+#: ../PLCOpenEditor.py:4284
 msgid " : "
 msgstr " : "
 
-#: ../PLCOpenEditor.py:3280
-#: ../PLCOpenEditor.py:3443
-#: ../PLCOpenEditor.py:3587
+#: ../PLCOpenEditor.py:3273
+#: ../PLCOpenEditor.py:3436
+#: ../PLCOpenEditor.py:3580
 #: ../dialogs/SFCTransitionDialog.py:206
 #, python-format
 msgid " and %s"
@@ -109,19 +109,19 @@
 msgstr "La configuration \"%s\" existe déjà !!!"
 
 #: ../PLCOpenEditor.py:1359
-#: ../PLCOpenEditor.py:3142
+#: ../PLCOpenEditor.py:3135
 #, python-format
 msgid "\"%s\" data type already exists!"
 msgstr "Le type de données \"%s\" existe déjà !"
 
-#: ../PLCControler.py:1709
-#: ../PLCControler.py:1713
+#: ../PLCControler.py:1704
+#: ../PLCControler.py:1708
 #, python-format
 msgid "\"%s\" element can't be pasted here!!!"
 msgstr "L'élément \"%s\" ne peut être collé ici !!!"
 
-#: ../PLCOpenEditor.py:3462
-#: ../PLCOpenEditor.py:3606
+#: ../PLCOpenEditor.py:3455
+#: ../PLCOpenEditor.py:3599
 #: ../Viewer.py:250
 #: ../TextViewer.py:231
 #: ../dialogs/ConnectionDialog.py:215
@@ -136,12 +136,12 @@
 msgstr "L'appel à la fonction \"%s\" dans le POU \"%s\" a été abandonné : aucune entrée connectée"
 
 #: ../PLCOpenEditor.py:1350
-#: ../PLCOpenEditor.py:3138
-#: ../PLCOpenEditor.py:3291
-#: ../PLCOpenEditor.py:3454
-#: ../PLCOpenEditor.py:3598
-#: ../PLCOpenEditor.py:3669
-#: ../PLCOpenEditor.py:3732
+#: ../PLCOpenEditor.py:3131
+#: ../PLCOpenEditor.py:3284
+#: ../PLCOpenEditor.py:3447
+#: ../PLCOpenEditor.py:3591
+#: ../PLCOpenEditor.py:3662
+#: ../PLCOpenEditor.py:3725
 #: ../VariablePanel.py:689
 #: ../dialogs/ConnectionDialog.py:207
 #: ../dialogs/FBDBlockDialog.py:252
@@ -165,19 +165,19 @@
 msgid "\"%s\" is an invalid value!"
 msgstr "\"%s\" n'est pas une valeur valide !"
 
-#: ../PLCOpenEditor.py:2628
-#: ../PLCOpenEditor.py:2656
+#: ../PLCOpenEditor.py:2621
+#: ../PLCOpenEditor.py:2649
 #, python-format
 msgid "\"%s\" is not a valid folder!"
 msgstr "\"%s\" n'est pas un répertoire valide !"
 
 #: ../PLCOpenEditor.py:1348
-#: ../PLCOpenEditor.py:3134
-#: ../PLCOpenEditor.py:3287
-#: ../PLCOpenEditor.py:3450
-#: ../PLCOpenEditor.py:3594
-#: ../PLCOpenEditor.py:3665
-#: ../PLCOpenEditor.py:3728
+#: ../PLCOpenEditor.py:3127
+#: ../PLCOpenEditor.py:3280
+#: ../PLCOpenEditor.py:3443
+#: ../PLCOpenEditor.py:3587
+#: ../PLCOpenEditor.py:3658
+#: ../PLCOpenEditor.py:3721
 #: ../VariablePanel.py:684
 #: ../dialogs/ConnectionDialog.py:203
 #: ../dialogs/FBDBlockDialog.py:248
@@ -190,14 +190,14 @@
 msgstr "\"%s\" n'est pas un identifiant valide !"
 
 #: ../PLCOpenEditor.py:283
-#: ../PLCOpenEditor.py:2293
-#: ../PLCOpenEditor.py:2313
+#: ../PLCOpenEditor.py:2286
+#: ../PLCOpenEditor.py:2306
 #, python-format
 msgid "\"%s\" is used by one or more POUs. It can't be removed!"
 msgstr "Le POU \"%s\" est utilisé par un ou plusieurs POUs. Il ne peut être supprimé !"
 
 #: ../PLCOpenEditor.py:1368
-#: ../PLCOpenEditor.py:3295
+#: ../PLCOpenEditor.py:3288
 #: ../Viewer.py:248
 #: ../Viewer.py:274
 #: ../TextViewer.py:229
@@ -242,7 +242,7 @@
 "\"%s\" n'est pas une dimension de tableau valide !\n"
 "La valeur de droite doit être supérieur à celle de gauche."
 
-#: ../PLCControler.py:631
+#: ../PLCControler.py:629
 #, python-format
 msgid "%s \"%s\" can't be pasted as a %s."
 msgstr "Le %s \"%s\" ne peut être collé en tant que %s."
@@ -267,40 +267,40 @@
 msgid "%s body don't have text!"
 msgstr "Le code d'un %s n'a pas de texte !"
 
-#: ../PLCOpenEditor.py:4267
-#: ../PLCOpenEditor.py:4269
-#: ../PLCOpenEditor.py:4270
+#: ../PLCOpenEditor.py:4260
+#: ../PLCOpenEditor.py:4262
+#: ../PLCOpenEditor.py:4263
 msgid ",   "
 msgstr ",   "
 
-#: ../PLCOpenEditor.py:3282
-#: ../PLCOpenEditor.py:3445
-#: ../PLCOpenEditor.py:3589
+#: ../PLCOpenEditor.py:3275
+#: ../PLCOpenEditor.py:3438
+#: ../PLCOpenEditor.py:3582
 #: ../dialogs/SFCTransitionDialog.py:208
 #, python-format
 msgid ", %s"
 msgstr ", %s"
 
-#: ../PLCOpenEditor.py:4265
+#: ../PLCOpenEditor.py:4258
 msgid ". "
 msgstr ". "
 
 #: ../PLCOpenEditor.py:1371
 #: ../PLCOpenEditor.py:1413
 #: ../PLCOpenEditor.py:1433
-#: ../PLCOpenEditor.py:3299
-#: ../PLCOpenEditor.py:3677
-#: ../PLCOpenEditor.py:3740
+#: ../PLCOpenEditor.py:3292
+#: ../PLCOpenEditor.py:3670
+#: ../PLCOpenEditor.py:3733
 #, python-format
 msgid "A POU has an element named \"%s\". This could cause a conflict. Do you wish to continue?"
 msgstr "Un POU a un élément nommé \"%s\". Cela peut générer des conflits. Voulez-vous continuer ?"
 
 #: ../PLCOpenEditor.py:1384
 #: ../PLCOpenEditor.py:1395
-#: ../PLCOpenEditor.py:3458
-#: ../PLCOpenEditor.py:3602
-#: ../PLCOpenEditor.py:3673
-#: ../PLCOpenEditor.py:3736
+#: ../PLCOpenEditor.py:3451
+#: ../PLCOpenEditor.py:3595
+#: ../PLCOpenEditor.py:3666
+#: ../PLCOpenEditor.py:3729
 #: ../VariablePanel.py:694
 #: ../dialogs/PouNameDialog.py:67
 #: ../dialogs/SFCStepDialog.py:187
@@ -322,11 +322,11 @@
 msgid "A variable with \"%s\" as name already exists in this pou!"
 msgstr "Une variable nommée \"%s\" existe déjà dans ce POU !"
 
-#: ../PLCOpenEditor.py:2485
+#: ../PLCOpenEditor.py:2478
 msgid "About"
 msgstr "A propos"
 
-#: ../PLCOpenEditor.py:2388
+#: ../PLCOpenEditor.py:2381
 msgid "About PLCOpenEditor"
 msgstr "A propos de PLCOpenEditor"
 
@@ -339,11 +339,11 @@
 msgid "Action"
 msgstr "Action"
 
-#: ../PLCOpenEditor.py:3578
+#: ../PLCOpenEditor.py:3571
 msgid "Action Name"
 msgstr "Nom de l'action"
 
-#: ../PLCOpenEditor.py:3545
+#: ../PLCOpenEditor.py:3538
 msgid "Action Name:"
 msgstr "Nom de l'action :"
 
@@ -367,15 +367,15 @@
 msgstr "Ajouter"
 
 #: ../PLCOpenEditor.py:1589
-#: ../PLCOpenEditor.py:1675
+#: ../PLCOpenEditor.py:1672
 msgid "Add Action"
 msgstr "Ajouter une action"
 
-#: ../PLCOpenEditor.py:1658
+#: ../PLCOpenEditor.py:1655
 msgid "Add Configuration"
 msgstr "Ajouter une configuration"
 
-#: ../PLCOpenEditor.py:1638
+#: ../PLCOpenEditor.py:1635
 msgid "Add DataType"
 msgstr "Ajouter un type de donnée"
 
@@ -391,12 +391,12 @@
 msgid "Add Instance"
 msgstr "Ajouter une instance"
 
-#: ../PLCOpenEditor.py:1645
-msgid "Add Pou"
+#: ../PLCOpenEditor.py:1642
+msgid "Add POU"
 msgstr "Ajouter un POU"
 
-#: ../PLCOpenEditor.py:1621
-#: ../PLCOpenEditor.py:1686
+#: ../PLCOpenEditor.py:1618
+#: ../PLCOpenEditor.py:1683
 msgid "Add Resource"
 msgstr "Ajouter une resource"
 
@@ -405,7 +405,7 @@
 msgstr "Ajouter une tâche"
 
 #: ../PLCOpenEditor.py:1586
-#: ../PLCOpenEditor.py:1664
+#: ../PLCOpenEditor.py:1661
 msgid "Add Transition"
 msgstr "Ajouter une transition"
 
@@ -413,7 +413,7 @@
 msgid "Add Wire Segment"
 msgstr "Ajouter un segment au fil"
 
-#: ../PLCOpenEditor.py:2164
+#: ../PLCOpenEditor.py:2161
 msgid "Add a new data type"
 msgstr "Ajouter un nouveau type de données"
 
@@ -430,11 +430,11 @@
 msgid "Add a new step"
 msgstr "Ajouter une nouvelle étape"
 
-#: ../PLCOpenEditor.py:2208
+#: ../PLCOpenEditor.py:2205
 msgid "Add new configuration"
 msgstr "Ajouter une nouvelle configuration"
 
-#: ../PLCOpenEditor.py:2219
+#: ../PLCOpenEditor.py:2216
 msgid "Add new resource"
 msgstr "Ajouter une nouvelle resource"
 
@@ -489,11 +489,11 @@
 msgid "At least a variable or an expression must be selected!"
 msgstr "Au moins une variable ou une expression doit être sélectionné !"
 
-#: ../PLCOpenEditor.py:2938
+#: ../PLCOpenEditor.py:2931
 msgid "Author"
 msgstr "Auteur"
 
-#: ../PLCOpenEditor.py:2923
+#: ../PLCOpenEditor.py:2916
 msgid "Author Name (optional):"
 msgstr "Nom de l'auteur (optionel) :"
 
@@ -540,7 +540,7 @@
 msgid "Block Properties"
 msgstr "Propriétés du bloc"
 
-#: ../PLCOpenEditor.py:1883
+#: ../PLCOpenEditor.py:1880
 #: ../dialogs/FBDBlockDialog.py:268
 msgid "Block Types"
 msgstr "Types de blocs"
@@ -553,7 +553,7 @@
 msgid "Browse Locations"
 msgstr "Naviger dans les adresses"
 
-#: ../PLCOpenEditor.py:1838
+#: ../PLCOpenEditor.py:1835
 msgid "CSV Log"
 msgstr "Log CVS"
 
@@ -568,7 +568,7 @@
 msgid "Can only give a location to local or global variables"
 msgstr "Une adresse ne peut être affecté qu'à des variables locales ou globales"
 
-#: ../PLCOpenEditor.py:2623
+#: ../PLCOpenEditor.py:2616
 #, python-format
 msgid "Can't generate program to file %s!"
 msgstr "Le programme n'a pu être généré dans le fichier \"%s\" !"
@@ -577,7 +577,7 @@
 msgid "Can't give a location to a function block instance"
 msgstr "Une adresse ne peut être affectée une instance de Function Block"
 
-#: ../PLCOpenEditor.py:2654
+#: ../PLCOpenEditor.py:2647
 #, python-format
 msgid "Can't save project to file %s!"
 msgstr "Le projet n'a pu être sauvé dans le fichier \"%s\" !"
@@ -586,7 +586,7 @@
 msgid "Center"
 msgstr "Centre"
 
-#: ../PLCOpenEditor.py:1610
+#: ../PLCOpenEditor.py:1607
 msgid "Change POU Type To"
 msgstr "Changer le type du POU pour"
 
@@ -594,9 +594,9 @@
 msgid "Character string"
 msgstr "Chaîne de caractères"
 
-#: ../PLCOpenEditor.py:2589
-#: ../PLCOpenEditor.py:2613
-#: ../PLCOpenEditor.py:2648
+#: ../PLCOpenEditor.py:2582
+#: ../PLCOpenEditor.py:2606
+#: ../PLCOpenEditor.py:2641
 msgid "Choose a file"
 msgstr "Choisissez un fichier"
 
@@ -625,11 +625,11 @@
 msgid "Close Application"
 msgstr "Fermer l'application"
 
-#: ../PLCOpenEditor.py:2441
+#: ../PLCOpenEditor.py:2434
 msgid "Close Project"
 msgstr "Fermer le projet"
 
-#: ../PLCOpenEditor.py:2439
+#: ../PLCOpenEditor.py:2432
 msgid "Close Tab\tCTRL+W"
 msgstr "Fermer l'onglet\tCTRL+W"
 
@@ -637,11 +637,11 @@
 msgid "Comment"
 msgstr "Commentaire"
 
-#: ../PLCOpenEditor.py:2907
+#: ../PLCOpenEditor.py:2900
 msgid "Company Name (required):"
 msgstr "Nom de l'entreprise (obligatoire) :"
 
-#: ../PLCOpenEditor.py:2915
+#: ../PLCOpenEditor.py:2908
 msgid "Company URL (optional):"
 msgstr "URL de l'entreprise (optionel) :"
 
@@ -682,7 +682,7 @@
 msgid "Constant"
 msgstr "Constante"
 
-#: ../PLCOpenEditor.py:2997
+#: ../PLCOpenEditor.py:2990
 msgid "Content Description (optional):"
 msgstr "Description du contenu (optionel) :"
 
@@ -706,33 +706,32 @@
 msgid "Conversion to time-of-day"
 msgstr "Conversion en heure de la journée"
 
-#: ../PLCOpenEditor.py:1597
-msgid "Copy"
-msgstr "Copier"
-
 #: ../PLCOpenEditor.py:323
 msgid "Copy\tCTRL+C"
 msgstr "Copier\tCtrl+C"
 
+#: ../PLCOpenEditor.py:1594
+msgid "Copy POU"
+msgstr "Copier ce POU"
+
 #: ../plcopen/iec_std.csv:28
 msgid "Cosine"
 msgstr "Cosinus"
 
-#: ../PLCControler.py:617
-#: ../PLCControler.py:652
+#: ../PLCControler.py:615
+#: ../PLCControler.py:647
 msgid "Couldn't paste non-POU object."
 msgstr "Impossible de coller autre chose qu'un POU."
 
-#: ../PLCOpenEditor.py:3220
+#: ../PLCOpenEditor.py:3213
 msgid "Create a new POU"
 msgstr "Créer un nouveau POU"
 
-#: ../PLCOpenEditor.py:1594
-#: ../PLCOpenEditor.py:2240
+#: ../PLCOpenEditor.py:2237
 msgid "Create a new POU from"
 msgstr "Créer un nouveau POU à partir de"
 
-#: ../PLCOpenEditor.py:3541
+#: ../PLCOpenEditor.py:3534
 msgid "Create a new action"
 msgstr "Créer une nouvelle action"
 
@@ -801,7 +800,7 @@
 msgstr "Créer une nouvelle étape"
 
 #: ../PLCOpenEditor.py:212
-#: ../PLCOpenEditor.py:3397
+#: ../PLCOpenEditor.py:3390
 msgid "Create a new transition"
 msgstr "Créer une nouvelle transition"
 
@@ -850,10 +849,10 @@
 msgstr "Débuggueur"
 
 #: ../PLCOpenEditor.py:342
-#: ../PLCOpenEditor.py:1615
-#: ../PLCOpenEditor.py:1624
-#: ../PLCOpenEditor.py:1630
-#: ../PLCOpenEditor.py:4091
+#: ../PLCOpenEditor.py:1612
+#: ../PLCOpenEditor.py:1621
+#: ../PLCOpenEditor.py:1627
+#: ../PLCOpenEditor.py:4084
 #: ../Viewer.py:450
 #: ../VariablePanel.py:461
 #: ../dialogs/ActionBlockDialog.py:279
@@ -923,7 +922,7 @@
 msgid "Documentation"
 msgstr "Documentation"
 
-#: ../PLCOpenEditor.py:2617
+#: ../PLCOpenEditor.py:2610
 msgid "Done"
 msgstr "Terminé"
 
@@ -1009,39 +1008,39 @@
 #: ../PLCOpenEditor.py:1413
 #: ../PLCOpenEditor.py:1428
 #: ../PLCOpenEditor.py:1433
-#: ../PLCOpenEditor.py:2267
-#: ../PLCOpenEditor.py:2624
-#: ../PLCOpenEditor.py:2629
-#: ../PLCOpenEditor.py:3038
-#: ../PLCOpenEditor.py:3130
-#: ../PLCOpenEditor.py:3134
-#: ../PLCOpenEditor.py:3138
-#: ../PLCOpenEditor.py:3142
-#: ../PLCOpenEditor.py:3283
-#: ../PLCOpenEditor.py:3287
-#: ../PLCOpenEditor.py:3291
-#: ../PLCOpenEditor.py:3295
-#: ../PLCOpenEditor.py:3446
-#: ../PLCOpenEditor.py:3450
-#: ../PLCOpenEditor.py:3454
-#: ../PLCOpenEditor.py:3458
-#: ../PLCOpenEditor.py:3462
-#: ../PLCOpenEditor.py:3590
-#: ../PLCOpenEditor.py:3594
-#: ../PLCOpenEditor.py:3598
-#: ../PLCOpenEditor.py:3602
-#: ../PLCOpenEditor.py:3606
-#: ../PLCOpenEditor.py:3661
-#: ../PLCOpenEditor.py:3665
-#: ../PLCOpenEditor.py:3669
-#: ../PLCOpenEditor.py:3673
-#: ../PLCOpenEditor.py:3724
-#: ../PLCOpenEditor.py:3728
-#: ../PLCOpenEditor.py:3732
-#: ../PLCOpenEditor.py:3736
-#: ../PLCOpenEditor.py:4024
-#: ../PLCOpenEditor.py:4292
-#: ../PLCOpenEditor.py:4302
+#: ../PLCOpenEditor.py:2264
+#: ../PLCOpenEditor.py:2617
+#: ../PLCOpenEditor.py:2622
+#: ../PLCOpenEditor.py:3031
+#: ../PLCOpenEditor.py:3123
+#: ../PLCOpenEditor.py:3127
+#: ../PLCOpenEditor.py:3131
+#: ../PLCOpenEditor.py:3135
+#: ../PLCOpenEditor.py:3276
+#: ../PLCOpenEditor.py:3280
+#: ../PLCOpenEditor.py:3284
+#: ../PLCOpenEditor.py:3288
+#: ../PLCOpenEditor.py:3439
+#: ../PLCOpenEditor.py:3443
+#: ../PLCOpenEditor.py:3447
+#: ../PLCOpenEditor.py:3451
+#: ../PLCOpenEditor.py:3455
+#: ../PLCOpenEditor.py:3583
+#: ../PLCOpenEditor.py:3587
+#: ../PLCOpenEditor.py:3591
+#: ../PLCOpenEditor.py:3595
+#: ../PLCOpenEditor.py:3599
+#: ../PLCOpenEditor.py:3654
+#: ../PLCOpenEditor.py:3658
+#: ../PLCOpenEditor.py:3662
+#: ../PLCOpenEditor.py:3666
+#: ../PLCOpenEditor.py:3717
+#: ../PLCOpenEditor.py:3721
+#: ../PLCOpenEditor.py:3725
+#: ../PLCOpenEditor.py:3729
+#: ../PLCOpenEditor.py:4017
+#: ../PLCOpenEditor.py:4285
+#: ../PLCOpenEditor.py:4295
 #: ../Viewer.py:369
 #: ../TextViewer.py:250
 #: ../LDViewer.py:628
@@ -1118,11 +1117,11 @@
 msgid "External"
 msgstr "Externe"
 
-#: ../PLCOpenEditor.py:2975
-#: ../PLCOpenEditor.py:3165
-#: ../PLCOpenEditor.py:3175
-#: ../PLCOpenEditor.py:3354
-#: ../PLCOpenEditor.py:3498
+#: ../PLCOpenEditor.py:2968
+#: ../PLCOpenEditor.py:3158
+#: ../PLCOpenEditor.py:3168
+#: ../PLCOpenEditor.py:3347
+#: ../PLCOpenEditor.py:3491
 msgid "FBD"
 msgstr "FBD"
 
@@ -1147,10 +1146,10 @@
 msgid "Find position"
 msgstr "Trouver la position"
 
-#: ../PLCOpenEditor.py:3038
-#: ../PLCOpenEditor.py:3283
-#: ../PLCOpenEditor.py:3446
-#: ../PLCOpenEditor.py:3590
+#: ../PLCOpenEditor.py:3031
+#: ../PLCOpenEditor.py:3276
+#: ../PLCOpenEditor.py:3439
+#: ../PLCOpenEditor.py:3583
 #: ../dialogs/SFCTransitionDialog.py:209
 #, python-format
 msgid "Form isn't complete. %s must be filled!"
@@ -1170,7 +1169,7 @@
 msgstr "Fonction"
 
 #: ../PLCOpenEditor.py:334
-#: ../PLCOpenEditor.py:1605
+#: ../PLCOpenEditor.py:1602
 msgid "Function Block"
 msgstr "Bloc fonctionnel"
 
@@ -1190,7 +1189,7 @@
 msgid "Function Blocks can't be used in Transitions!"
 msgstr "Les blocs fonctionnels ne peuvent être utilisés dans des transitions"
 
-#: ../PLCControler.py:1724
+#: ../PLCControler.py:1719
 #, python-format
 msgid "FunctionBlock \"%s\" can't be pasted in a Function!!!"
 msgstr "Le bloc fonctionnel \"%s\" ne peuvent être collés dans une function !"
@@ -1199,7 +1198,7 @@
 msgid "Functions"
 msgstr "Fonctions"
 
-#: ../PLCOpenEditor.py:2448
+#: ../PLCOpenEditor.py:2441
 msgid "Generate Program\tCTRL+G"
 msgstr "Générer le program\tCTRL+G"
 
@@ -1207,11 +1206,11 @@
 msgid "Global"
 msgstr "Globale"
 
-#: ../PLCOpenEditor.py:1835
+#: ../PLCOpenEditor.py:1832
 msgid "Graphic Panel"
 msgstr "Graphique"
 
-#: ../PLCOpenEditor.py:2980
+#: ../PLCOpenEditor.py:2973
 msgid "Graphics"
 msgstr "Graphiques"
 
@@ -1223,7 +1222,7 @@
 msgid "Greater than or equal to"
 msgstr "Supérieur ou égal à"
 
-#: ../PLCOpenEditor.py:2959
+#: ../PLCOpenEditor.py:2952
 msgid "Height:"
 msgstr "Hauteur :"
 
@@ -1237,10 +1236,10 @@
 "The hysteresis function block provides a hysteresis boolean output driven by the difference of two floating point (REAL) inputs XIN1 and XIN2."
 msgstr ""
 
-#: ../PLCOpenEditor.py:3165
-#: ../PLCOpenEditor.py:3175
-#: ../PLCOpenEditor.py:3354
-#: ../PLCOpenEditor.py:3498
+#: ../PLCOpenEditor.py:3158
+#: ../PLCOpenEditor.py:3168
+#: ../PLCOpenEditor.py:3347
+#: ../PLCOpenEditor.py:3491
 msgid "IL"
 msgstr "IL"
 
@@ -1331,13 +1330,13 @@
 msgid "Interval"
 msgstr "Interval"
 
-#: ../PLCControler.py:1701
-#: ../PLCControler.py:1739
+#: ../PLCControler.py:1696
+#: ../PLCControler.py:1734
 msgid "Invalid plcopen element(s)!!!"
 msgstr "Les éléments plcopen ne sont pas valides !!! "
 
-#: ../PLCOpenEditor.py:4013
-#: ../PLCOpenEditor.py:4016
+#: ../PLCOpenEditor.py:4006
+#: ../PLCOpenEditor.py:4009
 #, python-format
 msgid "Invalid value \"%s\" for debug variable"
 msgstr "Chemin de variable à déboguer \"%s\" invalide"
@@ -1354,11 +1353,11 @@
 msgid "Invalid value \"%s\" for viewer block"
 msgstr "Valeur \"%s\" invalide pour un élément graphique"
 
-#: ../PLCOpenEditor.py:2975
-#: ../PLCOpenEditor.py:3165
-#: ../PLCOpenEditor.py:3175
-#: ../PLCOpenEditor.py:3354
-#: ../PLCOpenEditor.py:3498
+#: ../PLCOpenEditor.py:2968
+#: ../PLCOpenEditor.py:3158
+#: ../PLCOpenEditor.py:3168
+#: ../PLCOpenEditor.py:3347
+#: ../PLCOpenEditor.py:3491
 msgid "LD"
 msgstr "LD"
 
@@ -1368,19 +1367,19 @@
 msgid "Ladder element with id %d is on more than one rung."
 msgstr "L'élément de LD dont l'id est %d apparait dans plusieurs échelons. "
 
-#: ../PLCOpenEditor.py:3273
-#: ../PLCOpenEditor.py:3436
-#: ../PLCOpenEditor.py:3580
+#: ../PLCOpenEditor.py:3266
+#: ../PLCOpenEditor.py:3429
+#: ../PLCOpenEditor.py:3573
 msgid "Language"
 msgstr "Langue"
 
-#: ../PLCOpenEditor.py:2989
+#: ../PLCOpenEditor.py:2982
 msgid "Language (optional):"
 msgstr "Langue (optionnel) :"
 
-#: ../PLCOpenEditor.py:3241
-#: ../PLCOpenEditor.py:3409
-#: ../PLCOpenEditor.py:3553
+#: ../PLCOpenEditor.py:3234
+#: ../PLCOpenEditor.py:3402
+#: ../PLCOpenEditor.py:3546
 msgid "Language:"
 msgstr "Langue :"
 
@@ -1452,7 +1451,7 @@
 msgid "Minimum:"
 msgstr "Minimum :"
 
-#: ../PLCOpenEditor.py:3004
+#: ../PLCOpenEditor.py:2997
 msgid "Miscellaneous"
 msgstr "Divers"
 
@@ -1509,7 +1508,7 @@
 msgid "Negated"
 msgstr "Inversé"
 
-#: ../PLCOpenEditor.py:2435
+#: ../PLCOpenEditor.py:2428
 msgid "New\tCTRL+N"
 msgstr "Nouveau\tCTRL+N"
 
@@ -1526,7 +1525,7 @@
 msgid "No Modifier"
 msgstr "Pas de modificateur"
 
-#: ../PLCControler.py:2583
+#: ../PLCControler.py:2578
 msgid "No PLC project found"
 msgstr "Pas de projet d'automate trouvé"
 
@@ -1541,7 +1540,7 @@
 msgid "No connector found corresponding to \"%s\" continuation in \"%s\" POU"
 msgstr "Pas de connecteur trouvé pour le prolongement \"%s\" dans le POU \"%s\""
 
-#: ../PLCOpenEditor.py:2382
+#: ../PLCOpenEditor.py:2375
 msgid ""
 "No documentation available.\n"
 "Coming soon."
@@ -1591,11 +1590,11 @@
 "The on-delay timer can be used to delay setting an output true, for fixed period after an input becomes true."
 msgstr ""
 
-#: ../PLCOpenEditor.py:2437
+#: ../PLCOpenEditor.py:2430
 msgid "Open\tCTRL+O"
 msgstr "Ouvrir\tCTRL+O"
 
-#: ../PLCOpenEditor.py:2931
+#: ../PLCOpenEditor.py:2924
 msgid "Organization (optional):"
 msgstr "Groupe (optionnel) :"
 
@@ -1614,56 +1613,56 @@
 "PID\n"
 "Le bloc fonctionnel PID (Proportionnel, Intégrale, Dérivée) fournit un controller de boucle fermé classique à trois paramètres."
 
-#: ../PLCOpenEditor.py:2589
-#: ../PLCOpenEditor.py:2648
+#: ../PLCOpenEditor.py:2582
+#: ../PLCOpenEditor.py:2641
 msgid "PLCOpen files (*.xml)|*.xml|All files|*.*"
 msgstr "Fichiers PLCOpen (*.xml)|*.xml|Tous les fichiers|*.*"
 
-#: ../PLCOpenEditor.py:2521
+#: ../PLCOpenEditor.py:2514
 msgid "PLCOpenEditor"
 msgstr "PLCOpenEditor"
 
-#: ../PLCOpenEditor.py:2479
+#: ../PLCOpenEditor.py:2472
 msgid "PLCOpenEditor\tF1"
 msgstr "PLCOpenEditor\tF1"
 
-#: ../PLCOpenEditor.py:3269
+#: ../PLCOpenEditor.py:3262
 msgid "POU Name"
 msgstr "Nom du POU"
 
-#: ../PLCOpenEditor.py:3224
+#: ../PLCOpenEditor.py:3217
 msgid "POU Name:"
 msgstr "Nom du POU :"
 
-#: ../PLCOpenEditor.py:3271
+#: ../PLCOpenEditor.py:3264
 msgid "POU Type"
 msgstr "Type du POU"
 
-#: ../PLCOpenEditor.py:3232
+#: ../PLCOpenEditor.py:3225
 msgid "POU Type:"
 msgstr "Type du POU :"
 
-#: ../PLCOpenEditor.py:2451
+#: ../PLCOpenEditor.py:2444
 msgid "Page Setup"
 msgstr "Mise en page..."
 
-#: ../PLCOpenEditor.py:2947
+#: ../PLCOpenEditor.py:2940
 msgid "Page Size (optional):"
 msgstr "Taille de la page (optionnel) :"
 
-#: ../PLCOpenEditor.py:4235
+#: ../PLCOpenEditor.py:4228
 #, python-format
 msgid "Page: %d"
 msgstr "Page: %d"
 
-#: ../PLCOpenEditor.py:1648
-msgid "Paste"
-msgstr "Coller"
-
 #: ../PLCOpenEditor.py:325
 msgid "Paste\tCTRL+V"
 msgstr "Coller\tCTRL+V"
 
+#: ../PLCOpenEditor.py:1646
+msgid "Paste POU"
+msgstr "Coller un POU"
+
 #: ../dialogs/LDPowerRailDialog.py:110
 msgid "Pin number:"
 msgstr "Nombre de pattes :"
@@ -1674,7 +1673,7 @@
 msgid "Please choose a target"
 msgstr "Choisissez une cible"
 
-#: ../PLCOpenEditor.py:2240
+#: ../PLCOpenEditor.py:2237
 msgid "Please enter POU name"
 msgstr "Saisissez le nom du POU"
 
@@ -1685,17 +1684,17 @@
 msgid "Please enter comment text"
 msgstr "Saisissez le texte du commentaire"
 
-#: ../PLCOpenEditor.py:2208
-#: ../PLCOpenEditor.py:3644
+#: ../PLCOpenEditor.py:2205
+#: ../PLCOpenEditor.py:3637
 msgid "Please enter configuration name"
 msgstr "Saisissez le nom de la configuration"
 
-#: ../PLCOpenEditor.py:2164
+#: ../PLCOpenEditor.py:2161
 msgid "Please enter data type name"
 msgstr "Saisissez le nom du type de donnée"
 
-#: ../PLCOpenEditor.py:2219
-#: ../PLCOpenEditor.py:3707
+#: ../PLCOpenEditor.py:2216
+#: ../PLCOpenEditor.py:3700
 msgid "Please enter resource name"
 msgstr "Saisissez le nom de la ressource"
 
@@ -1705,7 +1704,7 @@
 msgid "Please enter step name"
 msgstr "Saisissez le nom de l'étape"
 
-#: ../PLCOpenEditor.py:3115
+#: ../PLCOpenEditor.py:3108
 msgid "Please enter text"
 msgstr "Saisissez le texte"
 
@@ -1721,7 +1720,7 @@
 msgid "Power Rail Properties"
 msgstr "Propriétés de la barre d'alimentation"
 
-#: ../PLCOpenEditor.py:2453
+#: ../PLCOpenEditor.py:2446
 msgid "Preview"
 msgstr "Aperçu avant impression"
 
@@ -1736,7 +1735,7 @@
 msgid "Preview:"
 msgstr "Aperçu :"
 
-#: ../PLCOpenEditor.py:2455
+#: ../PLCOpenEditor.py:2448
 msgid "Print"
 msgstr "Imprimer"
 
@@ -1752,24 +1751,24 @@
 msgid "Priority:"
 msgstr "Priorité :"
 
-#: ../PLCOpenEditor.py:2875
+#: ../PLCOpenEditor.py:2868
 msgid "Product Name (required):"
 msgstr "Nom du produit (obligatoire) :"
 
-#: ../PLCOpenEditor.py:2891
+#: ../PLCOpenEditor.py:2884
 msgid "Product Release (optional):"
 msgstr "Publication du produit (optionnel) :"
 
-#: ../PLCOpenEditor.py:2883
+#: ../PLCOpenEditor.py:2876
 msgid "Product Version (required):"
 msgstr "Version du produit (obligatoire) :"
 
 #: ../PLCOpenEditor.py:336
-#: ../PLCOpenEditor.py:1608
+#: ../PLCOpenEditor.py:1605
 msgid "Program"
 msgstr "Programme"
 
-#: ../PLCOpenEditor.py:2626
+#: ../PLCOpenEditor.py:2619
 msgid "Program was successfully generated!"
 msgstr "Le programme a été généré avec succès !"
 
@@ -1782,23 +1781,23 @@
 msgstr "Les programmes ne peuvent être utilisés par les autres POUs !"
 
 #: ../PLCOpenEditor.py:437
-#: ../PLCOpenEditor.py:2898
+#: ../PLCOpenEditor.py:2891
 msgid "Project"
 msgstr "Projet"
 
-#: ../PLCOpenEditor.py:2859
+#: ../PLCOpenEditor.py:2852
 msgid "Project Name (required):"
 msgstr "Nom du projet (obligatoire) :"
 
-#: ../PLCOpenEditor.py:2867
+#: ../PLCOpenEditor.py:2860
 msgid "Project Version (optional):"
 msgstr "Version du projet (optionnel) :"
 
-#: ../PLCOpenEditor.py:2845
+#: ../PLCOpenEditor.py:2838
 msgid "Project properties"
 msgstr "Propriétés du projet"
 
-#: ../PLCOpenEditor.py:2458
+#: ../PLCOpenEditor.py:2451
 #: ../PLCControler.py:91
 msgid "Properties"
 msgstr "Propriétés"
@@ -1813,7 +1812,7 @@
 msgid "Qualifier"
 msgstr "Qualificatif"
 
-#: ../PLCOpenEditor.py:2461
+#: ../PLCOpenEditor.py:2454
 msgid "Quit\tCTRL+Q"
 msgstr "Quitter\tCTRL+Q"
 
@@ -1854,7 +1853,7 @@
 msgid "Remainder (modulo)"
 msgstr "Modulo"
 
-#: ../PLCOpenEditor.py:1612
+#: ../PLCOpenEditor.py:1609
 msgid "Rename"
 msgstr "Renommer"
 
@@ -1916,8 +1915,8 @@
 msgid "Rounding up/down"
 msgstr "Arrondi"
 
-#: ../PLCOpenEditor.py:2975
-#: ../PLCOpenEditor.py:3175
+#: ../PLCOpenEditor.py:2968
+#: ../PLCOpenEditor.py:3168
 msgid "SFC"
 msgstr "SFC"
 
@@ -1929,26 +1928,26 @@
 "Bascule SR\n"
 "La bascule SR est une bascule où le Set est dominant."
 
-#: ../PLCOpenEditor.py:3165
-#: ../PLCOpenEditor.py:3175
-#: ../PLCOpenEditor.py:3354
-#: ../PLCOpenEditor.py:3498
+#: ../PLCOpenEditor.py:3158
+#: ../PLCOpenEditor.py:3168
+#: ../PLCOpenEditor.py:3347
+#: ../PLCOpenEditor.py:3491
 msgid "ST"
 msgstr "ST"
 
-#: ../PLCOpenEditor.py:2613
+#: ../PLCOpenEditor.py:2606
 msgid "ST files (*.st)|*.st|All files|*.*"
 msgstr "Fichiers ST (*.st)|*.st|Tous les fichiers|*.*"
 
-#: ../PLCOpenEditor.py:2444
+#: ../PLCOpenEditor.py:2437
 msgid "Save\tCTRL+S"
 msgstr "Enregistrer\tCTRL+S"
 
-#: ../PLCOpenEditor.py:2446
+#: ../PLCOpenEditor.py:2439
 msgid "Save As...\tCTRL+SHIFT+S"
 msgstr "Enregistrer sous...\tCTRL+SHIFT+S"
 
-#: ../PLCOpenEditor.py:2967
+#: ../PLCOpenEditor.py:2960
 msgid "Scaling:"
 msgstr "Echelle :"
 
@@ -2116,11 +2115,11 @@
 msgid "Top"
 msgstr "Haut"
 
-#: ../PLCOpenEditor.py:3434
+#: ../PLCOpenEditor.py:3427
 msgid "Transition Name"
 msgstr "Nom de la transition"
 
-#: ../PLCOpenEditor.py:3401
+#: ../PLCOpenEditor.py:3394
 msgid "Transition Name:"
 msgstr "Nom de la transition :"
 
@@ -2220,7 +2219,7 @@
 msgid "User-defined POUs"
 msgstr "POUs du projet"
 
-#: ../PLCOpenEditor.py:3843
+#: ../PLCOpenEditor.py:3836
 #: ../dialogs/ActionBlockDialog.py:33
 msgid "Value"
 msgstr "Valeur"
@@ -2233,7 +2232,7 @@
 msgid "Values:"
 msgstr "Valeurs"
 
-#: ../PLCOpenEditor.py:3843
+#: ../PLCOpenEditor.py:3836
 #: ../dialogs/ActionBlockDialog.py:37
 msgid "Variable"
 msgstr "Variable"
@@ -2256,22 +2255,22 @@
 msgid "Variables"
 msgstr "Variables"
 
-#: ../PLCOpenEditor.py:3299
-#: ../PLCOpenEditor.py:3677
-#: ../PLCOpenEditor.py:3740
+#: ../PLCOpenEditor.py:3292
+#: ../PLCOpenEditor.py:3670
+#: ../PLCOpenEditor.py:3733
 #: ../LDViewer.py:859
 msgid "Warning"
 msgstr "Attention"
 
-#: ../PLCOpenEditor.py:2951
+#: ../PLCOpenEditor.py:2944
 msgid "Width:"
 msgstr "Longueur :"
 
-#: ../PLCOpenEditor.py:2694
+#: ../PLCOpenEditor.py:2687
 msgid "X Scale:"
 msgstr "Echelle X :"
 
-#: ../PLCOpenEditor.py:2702
+#: ../PLCOpenEditor.py:2695
 msgid "Y Scale:"
 msgstr "Echelle Y :"
 
@@ -2287,9 +2286,9 @@
 msgid "You must select the wire where a contact should be added!"
 msgstr "Vous devez sélectionner le fil sur lequel le contact doit être ajouté !"
 
-#: ../PLCOpenEditor.py:3130
-#: ../PLCOpenEditor.py:3661
-#: ../PLCOpenEditor.py:3724
+#: ../PLCOpenEditor.py:3123
+#: ../PLCOpenEditor.py:3654
+#: ../PLCOpenEditor.py:3717
 #: ../dialogs/PouNameDialog.py:55
 #: ../dialogs/SFCStepDialog.py:175
 #: ../dialogs/SFCStepNameDialog.py:57
@@ -2300,33 +2299,33 @@
 msgid "Zoom"
 msgstr "Zoom"
 
-#: ../PLCOpenEditor.py:2622
+#: ../PLCOpenEditor.py:2615
 #, python-format
 msgid "error: %s\n"
 msgstr "erreur: %s\n"
 
-#: ../PLCOpenEditor.py:4267
-#: ../PLCOpenEditor.py:4269
+#: ../PLCOpenEditor.py:4260
+#: ../PLCOpenEditor.py:4262
 msgid "file : "
 msgstr "fichier :"
 
-#: ../PLCOpenEditor.py:3170
+#: ../PLCOpenEditor.py:3163
 msgid "function"
 msgstr "fonction"
 
-#: ../PLCOpenEditor.py:4270
+#: ../PLCOpenEditor.py:4263
 msgid "function : "
 msgstr "fonction :"
 
-#: ../PLCOpenEditor.py:3170
+#: ../PLCOpenEditor.py:3163
 msgid "functionBlock"
 msgstr "Bloc fonctionnel"
 
-#: ../PLCOpenEditor.py:4270
+#: ../PLCOpenEditor.py:4263
 msgid "line : "
 msgstr "ligne :"
 
-#: ../PLCOpenEditor.py:3170
+#: ../PLCOpenEditor.py:3163
 msgid "program"
 msgstr "programme"
 
@@ -2342,7 +2341,7 @@
 msgid "string right of"
 msgstr "Caractères à droite de"
 
-#: ../PLCOpenEditor.py:2620
+#: ../PLCOpenEditor.py:2613
 #, python-format
 msgid "warning: %s\n"
 msgstr "attention: %s\n"
--- a/i18n/messages.pot	Fri Oct 09 17:34:18 2009 +0200
+++ b/i18n/messages.pot	Mon Oct 12 10:20:09 2009 +0200
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-10-09 17:24+0200\n"
+"POT-Creation-Date: 2009-10-12 10:13+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,7 +16,7 @@
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../PLCOpenEditor.py:4279
+#: ../PLCOpenEditor.py:4272
 msgid ""
 "\n"
 "An error has occurred.\n"
@@ -55,11 +55,11 @@
 msgid "   Temp"
 msgstr ""
 
-#: ../PLCOpenEditor.py:4291
+#: ../PLCOpenEditor.py:4284
 msgid " : "
 msgstr ""
 
-#: ../PLCOpenEditor.py:3280 ../PLCOpenEditor.py:3443 ../PLCOpenEditor.py:3587
+#: ../PLCOpenEditor.py:3273 ../PLCOpenEditor.py:3436 ../PLCOpenEditor.py:3580
 #: ../dialogs/SFCTransitionDialog.py:206
 #, python-format
 msgid " and %s"
@@ -95,17 +95,17 @@
 msgid "\"%s\" configuration already exists !!!"
 msgstr ""
 
-#: ../PLCOpenEditor.py:1359 ../PLCOpenEditor.py:3142
+#: ../PLCOpenEditor.py:1359 ../PLCOpenEditor.py:3135
 #, python-format
 msgid "\"%s\" data type already exists!"
 msgstr ""
 
-#: ../PLCControler.py:1709 ../PLCControler.py:1713
+#: ../PLCControler.py:1704 ../PLCControler.py:1708
 #, python-format
 msgid "\"%s\" element can't be pasted here!!!"
 msgstr ""
 
-#: ../PLCOpenEditor.py:3462 ../PLCOpenEditor.py:3606 ../Viewer.py:250
+#: ../PLCOpenEditor.py:3455 ../PLCOpenEditor.py:3599 ../Viewer.py:250
 #: ../TextViewer.py:231 ../dialogs/ConnectionDialog.py:215
 #: ../dialogs/FBDBlockDialog.py:260
 #, python-format
@@ -117,9 +117,9 @@
 msgid "\"%s\" function cancelled in \"%s\" POU: No input connected"
 msgstr ""
 
-#: ../PLCOpenEditor.py:1350 ../PLCOpenEditor.py:3138 ../PLCOpenEditor.py:3291
-#: ../PLCOpenEditor.py:3454 ../PLCOpenEditor.py:3598 ../PLCOpenEditor.py:3669
-#: ../PLCOpenEditor.py:3732 ../VariablePanel.py:689
+#: ../PLCOpenEditor.py:1350 ../PLCOpenEditor.py:3131 ../PLCOpenEditor.py:3284
+#: ../PLCOpenEditor.py:3447 ../PLCOpenEditor.py:3591 ../PLCOpenEditor.py:3662
+#: ../PLCOpenEditor.py:3725 ../VariablePanel.py:689
 #: ../dialogs/ConnectionDialog.py:207 ../dialogs/FBDBlockDialog.py:252
 #: ../dialogs/FBDVariableDialog.py:268 ../dialogs/PouNameDialog.py:63
 #: ../dialogs/SFCStepDialog.py:183 ../dialogs/SFCStepNameDialog.py:65
@@ -138,14 +138,14 @@
 msgid "\"%s\" is an invalid value!"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2628 ../PLCOpenEditor.py:2656
+#: ../PLCOpenEditor.py:2621 ../PLCOpenEditor.py:2649
 #, python-format
 msgid "\"%s\" is not a valid folder!"
 msgstr ""
 
-#: ../PLCOpenEditor.py:1348 ../PLCOpenEditor.py:3134 ../PLCOpenEditor.py:3287
-#: ../PLCOpenEditor.py:3450 ../PLCOpenEditor.py:3594 ../PLCOpenEditor.py:3665
-#: ../PLCOpenEditor.py:3728 ../VariablePanel.py:684
+#: ../PLCOpenEditor.py:1348 ../PLCOpenEditor.py:3127 ../PLCOpenEditor.py:3280
+#: ../PLCOpenEditor.py:3443 ../PLCOpenEditor.py:3587 ../PLCOpenEditor.py:3658
+#: ../PLCOpenEditor.py:3721 ../VariablePanel.py:684
 #: ../dialogs/ConnectionDialog.py:203 ../dialogs/FBDBlockDialog.py:248
 #: ../dialogs/PouNameDialog.py:59 ../dialogs/SFCStepDialog.py:179
 #: ../dialogs/SFCStepNameDialog.py:61 ../DataTypeEditor.py:760
@@ -153,12 +153,12 @@
 msgid "\"%s\" is not a valid identifier!"
 msgstr ""
 
-#: ../PLCOpenEditor.py:283 ../PLCOpenEditor.py:2293 ../PLCOpenEditor.py:2313
+#: ../PLCOpenEditor.py:283 ../PLCOpenEditor.py:2286 ../PLCOpenEditor.py:2306
 #, python-format
 msgid "\"%s\" is used by one or more POUs. It can't be removed!"
 msgstr ""
 
-#: ../PLCOpenEditor.py:1368 ../PLCOpenEditor.py:3295 ../Viewer.py:248
+#: ../PLCOpenEditor.py:1368 ../PLCOpenEditor.py:3288 ../Viewer.py:248
 #: ../Viewer.py:274 ../TextViewer.py:229 ../dialogs/ConnectionDialog.py:211
 #: ../dialogs/FBDBlockDialog.py:256
 #, python-format
@@ -197,7 +197,7 @@
 "Right value must be greater than left value."
 msgstr ""
 
-#: ../PLCControler.py:631
+#: ../PLCControler.py:629
 #, python-format
 msgid "%s \"%s\" can't be pasted as a %s."
 msgstr ""
@@ -219,28 +219,28 @@
 msgid "%s body don't have text!"
 msgstr ""
 
-#: ../PLCOpenEditor.py:4267 ../PLCOpenEditor.py:4269 ../PLCOpenEditor.py:4270
+#: ../PLCOpenEditor.py:4260 ../PLCOpenEditor.py:4262 ../PLCOpenEditor.py:4263
 msgid ",   "
 msgstr ""
 
-#: ../PLCOpenEditor.py:3282 ../PLCOpenEditor.py:3445 ../PLCOpenEditor.py:3589
+#: ../PLCOpenEditor.py:3275 ../PLCOpenEditor.py:3438 ../PLCOpenEditor.py:3582
 #: ../dialogs/SFCTransitionDialog.py:208
 #, python-format
 msgid ", %s"
 msgstr ""
 
-#: ../PLCOpenEditor.py:4265
+#: ../PLCOpenEditor.py:4258
 msgid ". "
 msgstr ""
 
 #: ../PLCOpenEditor.py:1371 ../PLCOpenEditor.py:1413 ../PLCOpenEditor.py:1433
-#: ../PLCOpenEditor.py:3299 ../PLCOpenEditor.py:3677 ../PLCOpenEditor.py:3740
+#: ../PLCOpenEditor.py:3292 ../PLCOpenEditor.py:3670 ../PLCOpenEditor.py:3733
 #, python-format
 msgid "A POU has an element named \"%s\". This could cause a conflict. Do you wish to continue?"
 msgstr ""
 
-#: ../PLCOpenEditor.py:1384 ../PLCOpenEditor.py:1395 ../PLCOpenEditor.py:3458
-#: ../PLCOpenEditor.py:3602 ../PLCOpenEditor.py:3673 ../PLCOpenEditor.py:3736
+#: ../PLCOpenEditor.py:1384 ../PLCOpenEditor.py:1395 ../PLCOpenEditor.py:3451
+#: ../PLCOpenEditor.py:3595 ../PLCOpenEditor.py:3666 ../PLCOpenEditor.py:3729
 #: ../VariablePanel.py:694 ../dialogs/PouNameDialog.py:67
 #: ../dialogs/SFCStepDialog.py:187 ../dialogs/SFCStepNameDialog.py:69
 #, python-format
@@ -257,11 +257,11 @@
 msgid "A variable with \"%s\" as name already exists in this pou!"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2485
+#: ../PLCOpenEditor.py:2478
 msgid "About"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2388
+#: ../PLCOpenEditor.py:2381
 msgid "About PLCOpenEditor"
 msgstr ""
 
@@ -273,11 +273,11 @@
 msgid "Action"
 msgstr ""
 
-#: ../PLCOpenEditor.py:3578
+#: ../PLCOpenEditor.py:3571
 msgid "Action Name"
 msgstr ""
 
-#: ../PLCOpenEditor.py:3545
+#: ../PLCOpenEditor.py:3538
 msgid "Action Name:"
 msgstr ""
 
@@ -299,15 +299,15 @@
 msgid "Add"
 msgstr ""
 
-#: ../PLCOpenEditor.py:1589 ../PLCOpenEditor.py:1675
+#: ../PLCOpenEditor.py:1589 ../PLCOpenEditor.py:1672
 msgid "Add Action"
 msgstr ""
 
-#: ../PLCOpenEditor.py:1658
+#: ../PLCOpenEditor.py:1655
 msgid "Add Configuration"
 msgstr ""
 
-#: ../PLCOpenEditor.py:1638
+#: ../PLCOpenEditor.py:1635
 msgid "Add DataType"
 msgstr ""
 
@@ -323,11 +323,11 @@
 msgid "Add Instance"
 msgstr ""
 
-#: ../PLCOpenEditor.py:1645
-msgid "Add Pou"
-msgstr ""
-
-#: ../PLCOpenEditor.py:1621 ../PLCOpenEditor.py:1686
+#: ../PLCOpenEditor.py:1642
+msgid "Add POU"
+msgstr ""
+
+#: ../PLCOpenEditor.py:1618 ../PLCOpenEditor.py:1683
 msgid "Add Resource"
 msgstr ""
 
@@ -335,7 +335,7 @@
 msgid "Add Task"
 msgstr ""
 
-#: ../PLCOpenEditor.py:1586 ../PLCOpenEditor.py:1664
+#: ../PLCOpenEditor.py:1586 ../PLCOpenEditor.py:1661
 msgid "Add Transition"
 msgstr ""
 
@@ -343,7 +343,7 @@
 msgid "Add Wire Segment"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2164
+#: ../PLCOpenEditor.py:2161
 msgid "Add a new data type"
 msgstr ""
 
@@ -359,11 +359,11 @@
 msgid "Add a new step"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2208
+#: ../PLCOpenEditor.py:2205
 msgid "Add new configuration"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2219
+#: ../PLCOpenEditor.py:2216
 msgid "Add new resource"
 msgstr ""
 
@@ -416,11 +416,11 @@
 msgid "At least a variable or an expression must be selected!"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2938
+#: ../PLCOpenEditor.py:2931
 msgid "Author"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2923
+#: ../PLCOpenEditor.py:2916
 msgid "Author Name (optional):"
 msgstr ""
 
@@ -464,7 +464,7 @@
 msgid "Block Properties"
 msgstr ""
 
-#: ../PLCOpenEditor.py:1883 ../dialogs/FBDBlockDialog.py:268
+#: ../PLCOpenEditor.py:1880 ../dialogs/FBDBlockDialog.py:268
 msgid "Block Types"
 msgstr ""
 
@@ -476,7 +476,7 @@
 msgid "Browse Locations"
 msgstr ""
 
-#: ../PLCOpenEditor.py:1838
+#: ../PLCOpenEditor.py:1835
 msgid "CSV Log"
 msgstr ""
 
@@ -489,7 +489,7 @@
 msgid "Can only give a location to local or global variables"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2623
+#: ../PLCOpenEditor.py:2616
 #, python-format
 msgid "Can't generate program to file %s!"
 msgstr ""
@@ -498,7 +498,7 @@
 msgid "Can't give a location to a function block instance"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2654
+#: ../PLCOpenEditor.py:2647
 #, python-format
 msgid "Can't save project to file %s!"
 msgstr ""
@@ -507,7 +507,7 @@
 msgid "Center"
 msgstr ""
 
-#: ../PLCOpenEditor.py:1610
+#: ../PLCOpenEditor.py:1607
 msgid "Change POU Type To"
 msgstr ""
 
@@ -515,7 +515,7 @@
 msgid "Character string"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2589 ../PLCOpenEditor.py:2613 ../PLCOpenEditor.py:2648
+#: ../PLCOpenEditor.py:2582 ../PLCOpenEditor.py:2606 ../PLCOpenEditor.py:2641
 msgid "Choose a file"
 msgstr ""
 
@@ -543,11 +543,11 @@
 msgid "Close Application"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2441
+#: ../PLCOpenEditor.py:2434
 msgid "Close Project"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2439
+#: ../PLCOpenEditor.py:2432
 msgid "Close Tab\tCTRL+W"
 msgstr ""
 
@@ -555,11 +555,11 @@
 msgid "Comment"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2907
+#: ../PLCOpenEditor.py:2900
 msgid "Company Name (required):"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2915
+#: ../PLCOpenEditor.py:2908
 msgid "Company URL (optional):"
 msgstr ""
 
@@ -599,7 +599,7 @@
 msgid "Constant"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2997
+#: ../PLCOpenEditor.py:2990
 msgid "Content Description (optional):"
 msgstr ""
 
@@ -623,31 +623,31 @@
 msgid "Conversion to time-of-day"
 msgstr ""
 
-#: ../PLCOpenEditor.py:1597
-msgid "Copy"
-msgstr ""
-
 #: ../PLCOpenEditor.py:323
 msgid "Copy\tCTRL+C"
 msgstr ""
 
+#: ../PLCOpenEditor.py:1594
+msgid "Copy POU"
+msgstr ""
+
 #: ../plcopen/iec_std.csv:28
 msgid "Cosine"
 msgstr ""
 
-#: ../PLCControler.py:617 ../PLCControler.py:652
+#: ../PLCControler.py:615 ../PLCControler.py:647
 msgid "Couldn't paste non-POU object."
 msgstr ""
 
-#: ../PLCOpenEditor.py:3220
+#: ../PLCOpenEditor.py:3213
 msgid "Create a new POU"
 msgstr ""
 
-#: ../PLCOpenEditor.py:1594 ../PLCOpenEditor.py:2240
+#: ../PLCOpenEditor.py:2237
 msgid "Create a new POU from"
 msgstr ""
 
-#: ../PLCOpenEditor.py:3541
+#: ../PLCOpenEditor.py:3534
 msgid "Create a new action"
 msgstr ""
 
@@ -707,7 +707,7 @@
 msgid "Create a new step"
 msgstr ""
 
-#: ../PLCOpenEditor.py:212 ../PLCOpenEditor.py:3397
+#: ../PLCOpenEditor.py:212 ../PLCOpenEditor.py:3390
 msgid "Create a new transition"
 msgstr ""
 
@@ -752,8 +752,8 @@
 msgid "Debugger"
 msgstr ""
 
-#: ../PLCOpenEditor.py:342 ../PLCOpenEditor.py:1615 ../PLCOpenEditor.py:1624
-#: ../PLCOpenEditor.py:1630 ../PLCOpenEditor.py:4091 ../Viewer.py:450
+#: ../PLCOpenEditor.py:342 ../PLCOpenEditor.py:1612 ../PLCOpenEditor.py:1621
+#: ../PLCOpenEditor.py:1627 ../PLCOpenEditor.py:4084 ../Viewer.py:450
 #: ../VariablePanel.py:461 ../dialogs/ActionBlockDialog.py:279
 #: ../DataTypeEditor.py:544
 msgid "Delete"
@@ -817,7 +817,7 @@
 msgid "Documentation"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2617
+#: ../PLCOpenEditor.py:2610
 msgid "Done"
 msgstr ""
 
@@ -893,17 +893,17 @@
 
 #: ../PLCOpenEditor.py:865 ../PLCOpenEditor.py:1371 ../PLCOpenEditor.py:1408
 #: ../PLCOpenEditor.py:1413 ../PLCOpenEditor.py:1428 ../PLCOpenEditor.py:1433
-#: ../PLCOpenEditor.py:2267 ../PLCOpenEditor.py:2624 ../PLCOpenEditor.py:2629
-#: ../PLCOpenEditor.py:3038 ../PLCOpenEditor.py:3130 ../PLCOpenEditor.py:3134
-#: ../PLCOpenEditor.py:3138 ../PLCOpenEditor.py:3142 ../PLCOpenEditor.py:3283
-#: ../PLCOpenEditor.py:3287 ../PLCOpenEditor.py:3291 ../PLCOpenEditor.py:3295
-#: ../PLCOpenEditor.py:3446 ../PLCOpenEditor.py:3450 ../PLCOpenEditor.py:3454
-#: ../PLCOpenEditor.py:3458 ../PLCOpenEditor.py:3462 ../PLCOpenEditor.py:3590
-#: ../PLCOpenEditor.py:3594 ../PLCOpenEditor.py:3598 ../PLCOpenEditor.py:3602
-#: ../PLCOpenEditor.py:3606 ../PLCOpenEditor.py:3661 ../PLCOpenEditor.py:3665
-#: ../PLCOpenEditor.py:3669 ../PLCOpenEditor.py:3673 ../PLCOpenEditor.py:3724
-#: ../PLCOpenEditor.py:3728 ../PLCOpenEditor.py:3732 ../PLCOpenEditor.py:3736
-#: ../PLCOpenEditor.py:4024 ../PLCOpenEditor.py:4292 ../PLCOpenEditor.py:4302
+#: ../PLCOpenEditor.py:2264 ../PLCOpenEditor.py:2617 ../PLCOpenEditor.py:2622
+#: ../PLCOpenEditor.py:3031 ../PLCOpenEditor.py:3123 ../PLCOpenEditor.py:3127
+#: ../PLCOpenEditor.py:3131 ../PLCOpenEditor.py:3135 ../PLCOpenEditor.py:3276
+#: ../PLCOpenEditor.py:3280 ../PLCOpenEditor.py:3284 ../PLCOpenEditor.py:3288
+#: ../PLCOpenEditor.py:3439 ../PLCOpenEditor.py:3443 ../PLCOpenEditor.py:3447
+#: ../PLCOpenEditor.py:3451 ../PLCOpenEditor.py:3455 ../PLCOpenEditor.py:3583
+#: ../PLCOpenEditor.py:3587 ../PLCOpenEditor.py:3591 ../PLCOpenEditor.py:3595
+#: ../PLCOpenEditor.py:3599 ../PLCOpenEditor.py:3654 ../PLCOpenEditor.py:3658
+#: ../PLCOpenEditor.py:3662 ../PLCOpenEditor.py:3666 ../PLCOpenEditor.py:3717
+#: ../PLCOpenEditor.py:3721 ../PLCOpenEditor.py:3725 ../PLCOpenEditor.py:3729
+#: ../PLCOpenEditor.py:4017 ../PLCOpenEditor.py:4285 ../PLCOpenEditor.py:4295
 #: ../Viewer.py:369 ../TextViewer.py:250 ../LDViewer.py:628 ../LDViewer.py:850
 #: ../LDViewer.py:854 ../VariablePanel.py:331 ../VariablePanel.py:684
 #: ../VariablePanel.py:689 ../VariablePanel.py:694 ../VariablePanel.py:699
@@ -952,8 +952,8 @@
 msgid "External"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2975 ../PLCOpenEditor.py:3165 ../PLCOpenEditor.py:3175
-#: ../PLCOpenEditor.py:3354 ../PLCOpenEditor.py:3498
+#: ../PLCOpenEditor.py:2968 ../PLCOpenEditor.py:3158 ../PLCOpenEditor.py:3168
+#: ../PLCOpenEditor.py:3347 ../PLCOpenEditor.py:3491
 msgid "FBD"
 msgstr ""
 
@@ -975,8 +975,8 @@
 msgid "Find position"
 msgstr ""
 
-#: ../PLCOpenEditor.py:3038 ../PLCOpenEditor.py:3283 ../PLCOpenEditor.py:3446
-#: ../PLCOpenEditor.py:3590 ../dialogs/SFCTransitionDialog.py:209
+#: ../PLCOpenEditor.py:3031 ../PLCOpenEditor.py:3276 ../PLCOpenEditor.py:3439
+#: ../PLCOpenEditor.py:3583 ../dialogs/SFCTransitionDialog.py:209
 #, python-format
 msgid "Form isn't complete. %s must be filled!"
 msgstr ""
@@ -993,7 +993,7 @@
 msgid "Function"
 msgstr ""
 
-#: ../PLCOpenEditor.py:334 ../PLCOpenEditor.py:1605
+#: ../PLCOpenEditor.py:334 ../PLCOpenEditor.py:1602
 msgid "Function Block"
 msgstr ""
 
@@ -1013,7 +1013,7 @@
 msgid "Function Blocks can't be used in Transitions!"
 msgstr ""
 
-#: ../PLCControler.py:1724
+#: ../PLCControler.py:1719
 #, python-format
 msgid "FunctionBlock \"%s\" can't be pasted in a Function!!!"
 msgstr ""
@@ -1022,7 +1022,7 @@
 msgid "Functions"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2448
+#: ../PLCOpenEditor.py:2441
 msgid "Generate Program\tCTRL+G"
 msgstr ""
 
@@ -1030,11 +1030,11 @@
 msgid "Global"
 msgstr ""
 
-#: ../PLCOpenEditor.py:1835
+#: ../PLCOpenEditor.py:1832
 msgid "Graphic Panel"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2980
+#: ../PLCOpenEditor.py:2973
 msgid "Graphics"
 msgstr ""
 
@@ -1046,7 +1046,7 @@
 msgid "Greater than or equal to"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2959
+#: ../PLCOpenEditor.py:2952
 msgid "Height:"
 msgstr ""
 
@@ -1060,8 +1060,8 @@
 "The hysteresis function block provides a hysteresis boolean output driven by the difference of two floating point (REAL) inputs XIN1 and XIN2."
 msgstr ""
 
-#: ../PLCOpenEditor.py:3165 ../PLCOpenEditor.py:3175 ../PLCOpenEditor.py:3354
-#: ../PLCOpenEditor.py:3498
+#: ../PLCOpenEditor.py:3158 ../PLCOpenEditor.py:3168 ../PLCOpenEditor.py:3347
+#: ../PLCOpenEditor.py:3491
 msgid "IL"
 msgstr ""
 
@@ -1142,11 +1142,11 @@
 msgid "Interval"
 msgstr ""
 
-#: ../PLCControler.py:1701 ../PLCControler.py:1739
+#: ../PLCControler.py:1696 ../PLCControler.py:1734
 msgid "Invalid plcopen element(s)!!!"
 msgstr ""
 
-#: ../PLCOpenEditor.py:4013 ../PLCOpenEditor.py:4016
+#: ../PLCOpenEditor.py:4006 ../PLCOpenEditor.py:4009
 #, python-format
 msgid "Invalid value \"%s\" for debug variable"
 msgstr ""
@@ -1161,8 +1161,8 @@
 msgid "Invalid value \"%s\" for viewer block"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2975 ../PLCOpenEditor.py:3165 ../PLCOpenEditor.py:3175
-#: ../PLCOpenEditor.py:3354 ../PLCOpenEditor.py:3498
+#: ../PLCOpenEditor.py:2968 ../PLCOpenEditor.py:3158 ../PLCOpenEditor.py:3168
+#: ../PLCOpenEditor.py:3347 ../PLCOpenEditor.py:3491
 msgid "LD"
 msgstr ""
 
@@ -1171,15 +1171,15 @@
 msgid "Ladder element with id %d is on more than one rung."
 msgstr ""
 
-#: ../PLCOpenEditor.py:3273 ../PLCOpenEditor.py:3436 ../PLCOpenEditor.py:3580
+#: ../PLCOpenEditor.py:3266 ../PLCOpenEditor.py:3429 ../PLCOpenEditor.py:3573
 msgid "Language"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2989
+#: ../PLCOpenEditor.py:2982
 msgid "Language (optional):"
 msgstr ""
 
-#: ../PLCOpenEditor.py:3241 ../PLCOpenEditor.py:3409 ../PLCOpenEditor.py:3553
+#: ../PLCOpenEditor.py:3234 ../PLCOpenEditor.py:3402 ../PLCOpenEditor.py:3546
 msgid "Language:"
 msgstr ""
 
@@ -1251,7 +1251,7 @@
 msgid "Minimum:"
 msgstr ""
 
-#: ../PLCOpenEditor.py:3004
+#: ../PLCOpenEditor.py:2997
 msgid "Miscellaneous"
 msgstr ""
 
@@ -1299,7 +1299,7 @@
 msgid "Negated"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2435
+#: ../PLCOpenEditor.py:2428
 msgid "New\tCTRL+N"
 msgstr ""
 
@@ -1315,7 +1315,7 @@
 msgid "No Modifier"
 msgstr ""
 
-#: ../PLCControler.py:2583
+#: ../PLCControler.py:2578
 msgid "No PLC project found"
 msgstr ""
 
@@ -1329,7 +1329,7 @@
 msgid "No connector found corresponding to \"%s\" continuation in \"%s\" POU"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2382
+#: ../PLCOpenEditor.py:2375
 msgid ""
 "No documentation available.\n"
 "Coming soon."
@@ -1377,11 +1377,11 @@
 "The on-delay timer can be used to delay setting an output true, for fixed period after an input becomes true."
 msgstr ""
 
-#: ../PLCOpenEditor.py:2437
+#: ../PLCOpenEditor.py:2430
 msgid "Open\tCTRL+O"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2931
+#: ../PLCOpenEditor.py:2924
 msgid "Organization (optional):"
 msgstr ""
 
@@ -1396,55 +1396,55 @@
 "The PID (proportional, Integral, Derivative) function block provides the classical three term controller for closed loop control."
 msgstr ""
 
-#: ../PLCOpenEditor.py:2589 ../PLCOpenEditor.py:2648
+#: ../PLCOpenEditor.py:2582 ../PLCOpenEditor.py:2641
 msgid "PLCOpen files (*.xml)|*.xml|All files|*.*"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2521
+#: ../PLCOpenEditor.py:2514
 msgid "PLCOpenEditor"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2479
+#: ../PLCOpenEditor.py:2472
 msgid "PLCOpenEditor\tF1"
 msgstr ""
 
-#: ../PLCOpenEditor.py:3269
+#: ../PLCOpenEditor.py:3262
 msgid "POU Name"
 msgstr ""
 
-#: ../PLCOpenEditor.py:3224
+#: ../PLCOpenEditor.py:3217
 msgid "POU Name:"
 msgstr ""
 
-#: ../PLCOpenEditor.py:3271
+#: ../PLCOpenEditor.py:3264
 msgid "POU Type"
 msgstr ""
 
-#: ../PLCOpenEditor.py:3232
+#: ../PLCOpenEditor.py:3225
 msgid "POU Type:"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2451
+#: ../PLCOpenEditor.py:2444
 msgid "Page Setup"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2947
+#: ../PLCOpenEditor.py:2940
 msgid "Page Size (optional):"
 msgstr ""
 
-#: ../PLCOpenEditor.py:4235
+#: ../PLCOpenEditor.py:4228
 #, python-format
 msgid "Page: %d"
 msgstr ""
 
-#: ../PLCOpenEditor.py:1648
-msgid "Paste"
-msgstr ""
-
 #: ../PLCOpenEditor.py:325
 msgid "Paste\tCTRL+V"
 msgstr ""
 
+#: ../PLCOpenEditor.py:1646
+msgid "Paste POU"
+msgstr ""
+
 #: ../dialogs/LDPowerRailDialog.py:110
 msgid "Pin number:"
 msgstr ""
@@ -1453,7 +1453,7 @@
 msgid "Please choose a target"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2240
+#: ../PLCOpenEditor.py:2237
 msgid "Please enter POU name"
 msgstr ""
 
@@ -1461,15 +1461,15 @@
 msgid "Please enter comment text"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2208 ../PLCOpenEditor.py:3644
+#: ../PLCOpenEditor.py:2205 ../PLCOpenEditor.py:3637
 msgid "Please enter configuration name"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2164
+#: ../PLCOpenEditor.py:2161
 msgid "Please enter data type name"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2219 ../PLCOpenEditor.py:3707
+#: ../PLCOpenEditor.py:2216 ../PLCOpenEditor.py:3700
 msgid "Please enter resource name"
 msgstr ""
 
@@ -1477,7 +1477,7 @@
 msgid "Please enter step name"
 msgstr ""
 
-#: ../PLCOpenEditor.py:3115
+#: ../PLCOpenEditor.py:3108
 msgid "Please enter text"
 msgstr ""
 
@@ -1493,7 +1493,7 @@
 msgid "Power Rail Properties"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2453
+#: ../PLCOpenEditor.py:2446
 msgid "Preview"
 msgstr ""
 
@@ -1504,7 +1504,7 @@
 msgid "Preview:"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2455
+#: ../PLCOpenEditor.py:2448
 msgid "Print"
 msgstr ""
 
@@ -1520,23 +1520,23 @@
 msgid "Priority:"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2875
+#: ../PLCOpenEditor.py:2868
 msgid "Product Name (required):"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2891
+#: ../PLCOpenEditor.py:2884
 msgid "Product Release (optional):"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2883
+#: ../PLCOpenEditor.py:2876
 msgid "Product Version (required):"
 msgstr ""
 
-#: ../PLCOpenEditor.py:336 ../PLCOpenEditor.py:1608
+#: ../PLCOpenEditor.py:336 ../PLCOpenEditor.py:1605
 msgid "Program"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2626
+#: ../PLCOpenEditor.py:2619
 msgid "Program was successfully generated!"
 msgstr ""
 
@@ -1548,23 +1548,23 @@
 msgid "Programs can't be used by other POUs!"
 msgstr ""
 
-#: ../PLCOpenEditor.py:437 ../PLCOpenEditor.py:2898
+#: ../PLCOpenEditor.py:437 ../PLCOpenEditor.py:2891
 msgid "Project"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2859
+#: ../PLCOpenEditor.py:2852
 msgid "Project Name (required):"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2867
+#: ../PLCOpenEditor.py:2860
 msgid "Project Version (optional):"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2845
+#: ../PLCOpenEditor.py:2838
 msgid "Project properties"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2458 ../PLCControler.py:91
+#: ../PLCOpenEditor.py:2451 ../PLCControler.py:91
 msgid "Properties"
 msgstr ""
 
@@ -1578,7 +1578,7 @@
 msgid "Qualifier"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2461
+#: ../PLCOpenEditor.py:2454
 msgid "Quit\tCTRL+Q"
 msgstr ""
 
@@ -1614,7 +1614,7 @@
 msgid "Remainder (modulo)"
 msgstr ""
 
-#: ../PLCOpenEditor.py:1612
+#: ../PLCOpenEditor.py:1609
 msgid "Rename"
 msgstr ""
 
@@ -1672,7 +1672,7 @@
 msgid "Rounding up/down"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2975 ../PLCOpenEditor.py:3175
+#: ../PLCOpenEditor.py:2968 ../PLCOpenEditor.py:3168
 msgid "SFC"
 msgstr ""
 
@@ -1682,24 +1682,24 @@
 "The SR bistable is a latch where the Set dominates."
 msgstr ""
 
-#: ../PLCOpenEditor.py:3165 ../PLCOpenEditor.py:3175 ../PLCOpenEditor.py:3354
-#: ../PLCOpenEditor.py:3498
+#: ../PLCOpenEditor.py:3158 ../PLCOpenEditor.py:3168 ../PLCOpenEditor.py:3347
+#: ../PLCOpenEditor.py:3491
 msgid "ST"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2613
+#: ../PLCOpenEditor.py:2606
 msgid "ST files (*.st)|*.st|All files|*.*"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2444
+#: ../PLCOpenEditor.py:2437
 msgid "Save\tCTRL+S"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2446
+#: ../PLCOpenEditor.py:2439
 msgid "Save As...\tCTRL+SHIFT+S"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2967
+#: ../PLCOpenEditor.py:2960
 msgid "Scaling:"
 msgstr ""
 
@@ -1860,11 +1860,11 @@
 msgid "Top"
 msgstr ""
 
-#: ../PLCOpenEditor.py:3434
+#: ../PLCOpenEditor.py:3427
 msgid "Transition Name"
 msgstr ""
 
-#: ../PLCOpenEditor.py:3401
+#: ../PLCOpenEditor.py:3394
 msgid "Transition Name:"
 msgstr ""
 
@@ -1954,7 +1954,7 @@
 msgid "User-defined POUs"
 msgstr ""
 
-#: ../PLCOpenEditor.py:3843 ../dialogs/ActionBlockDialog.py:33
+#: ../PLCOpenEditor.py:3836 ../dialogs/ActionBlockDialog.py:33
 msgid "Value"
 msgstr ""
 
@@ -1966,7 +1966,7 @@
 msgid "Values:"
 msgstr ""
 
-#: ../PLCOpenEditor.py:3843 ../dialogs/ActionBlockDialog.py:37
+#: ../PLCOpenEditor.py:3836 ../dialogs/ActionBlockDialog.py:37
 msgid "Variable"
 msgstr ""
 
@@ -1986,20 +1986,20 @@
 msgid "Variables"
 msgstr ""
 
-#: ../PLCOpenEditor.py:3299 ../PLCOpenEditor.py:3677 ../PLCOpenEditor.py:3740
+#: ../PLCOpenEditor.py:3292 ../PLCOpenEditor.py:3670 ../PLCOpenEditor.py:3733
 #: ../LDViewer.py:859
 msgid "Warning"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2951
+#: ../PLCOpenEditor.py:2944
 msgid "Width:"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2694
+#: ../PLCOpenEditor.py:2687
 msgid "X Scale:"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2702
+#: ../PLCOpenEditor.py:2695
 msgid "Y Scale:"
 msgstr ""
 
@@ -2015,7 +2015,7 @@
 msgid "You must select the wire where a contact should be added!"
 msgstr ""
 
-#: ../PLCOpenEditor.py:3130 ../PLCOpenEditor.py:3661 ../PLCOpenEditor.py:3724
+#: ../PLCOpenEditor.py:3123 ../PLCOpenEditor.py:3654 ../PLCOpenEditor.py:3717
 #: ../dialogs/PouNameDialog.py:55 ../dialogs/SFCStepDialog.py:175
 #: ../dialogs/SFCStepNameDialog.py:57
 msgid "You must type a name!"
@@ -2025,32 +2025,32 @@
 msgid "Zoom"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2622
+#: ../PLCOpenEditor.py:2615
 #, python-format
 msgid "error: %s\n"
 msgstr ""
 
-#: ../PLCOpenEditor.py:4267 ../PLCOpenEditor.py:4269
+#: ../PLCOpenEditor.py:4260 ../PLCOpenEditor.py:4262
 msgid "file : "
 msgstr ""
 
-#: ../PLCOpenEditor.py:3170
+#: ../PLCOpenEditor.py:3163
 msgid "function"
 msgstr ""
 
-#: ../PLCOpenEditor.py:4270
+#: ../PLCOpenEditor.py:4263
 msgid "function : "
 msgstr ""
 
-#: ../PLCOpenEditor.py:3170
+#: ../PLCOpenEditor.py:3163
 msgid "functionBlock"
 msgstr ""
 
-#: ../PLCOpenEditor.py:4270
+#: ../PLCOpenEditor.py:4263
 msgid "line : "
 msgstr ""
 
-#: ../PLCOpenEditor.py:3170
+#: ../PLCOpenEditor.py:3163
 msgid "program"
 msgstr ""
 
@@ -2066,7 +2066,7 @@
 msgid "string right of"
 msgstr ""
 
-#: ../PLCOpenEditor.py:2620
+#: ../PLCOpenEditor.py:2613
 #, python-format
 msgid "warning: %s\n"
 msgstr ""
Binary file locale/fr_FR/LC_MESSAGES/PLCOpenEditor.mo has changed