Salut JF,
En PJ, je t'ai concocté un petit correctif du module 6pad++.py, pas
celui amélioré par Cyrille pour ses besoins personnels, mais le tout
premier que je t'avais envoyé pour l'alternance entre origine et Alt
origine.
Je t'ai ajouté une case à cocher dans le menu Format, "Touche
suppression intelligente", qui a pour but, lorsqu'elle est cochée, ce
qui est le cas par défaut, de ne supprimer que le "\r\n", lorsque le
curseur est positionné sur une ligne vide.
Bien sûr, c'est juste un petit patch, en attendant que Quentin fasse la
correction directement sur le 6pad++.
Il faudra que tu utilises la version beta 10.2 corrigée récemment par
Quentin, pour la bonne reconnaissance de l'état coché/décoché des items
de menus ajoutés dans le menu Format.
Voili voilou, je t'en souhaite bonne usage !
Bien amicalement,
Abdel.
Le 06/03/2017 à 13:41, jfco...@free.fr a écrit :
Hello la ML,
On a déjà évoqué le sujet mais voilà qu'il se présente sous un angle
un peu différent aujourd'hui.
On est restés sur le fait que, lorsque l'on se trouve sur une ligne
vide, et qu'on fait Suppr, 6Pad++ va effacer, non seulement cette
ligne vide, mais toute autre ligne vide qui suivrait. On est restés
sur le qualificatif de "hasard heureux" concernant cette "feature".
Perso, ça ne me gêne guère. Ce qui me gêne bien davantage, c'est la
suppression d'éventuelles tabulations se trouvant au début de la
première ligne non blanche... Là pour le coup, je dirais bien que, si
c'est un hasard, c'est un hasard plus malheureux... pour mes besoin
personnels en tout cas. Qu'en pensez-vous?
Je suis toujours avec l'alpha 10.1 pour l'instant.
Merci,
J.-F.
Progliste :
Pour se d�sinscrire de la liste :
mailto:progliste-requ...@ml.free.fr?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/
Je vous rappelle que les pi�ces jointe sont activ�s leur taille est
limit� � 2 MO
Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en
priv�, je vous r�pondrez en priv�.
import sixpad as sp
# Action de la case à cocher "Touche origine intelligente" dans le menu format
def onHomeKey():
formatMenu.originalHomeKey.checked = not
formatMenu.originalHomeKey.checked
# Action de la case à cocher "Touche suppression intelligente" dans le menu
format
def onDeleteKey():
formatMenu.originalDeleteKey.checked = not
formatMenu.originalDeleteKey.checked
formatMenu = sp.window.menus.format
# Ajout de la case à cocher "Touche origine intelligente" dans le menu format
formatMenu.add(label="Touche &origine intelligente", action = onHomeKey, name =
"originalHomeKey")
# Ajout de la case à cocher "Touche suppression intelligente" dans le menu
format
formatMenu.add(label="Touche s&uppression intelligente", action = onDeleteKey,
name = "originalDeleteKey")
# On coche ces 2 cases par défaut
formatMenu.originalHomeKey.checked = True
formatMenu.originalDeleteKey.checked = True
def onKeyDown(activePage, vk):
#Décommentez les 2 lignes suivantes pour connaître le VKCode de
n'importe quelle touche ou combinaison de touches.
#sp.say(str(vk), True)
#return True
# On vérifie si la touche origine a bien été pressée
if vk == 36:
# On vérifie si la case touche origine intelligente est cochée
if formatMenu.originalHomeKey.checked:
# On se positionne sur le premier caractère qui n'est
pas une espace ou une tabulation
activePage.position =
activePage.lineSafeStartOffset(activePage.curLine)
else:
# On se positionne au début de la ligne sur n'importe
quel caractère
activePage.position =
activePage.lineStartOffset(activePage.curLine)
return False
# On vérifie si le raccourci-clavier Alt + origine a bien été pressée
if vk == 2084:
# On vérifie si la case touche origine intelligente est bien
cochée
if formatMenu.originalHomeKey.checked:
# On se positionne au début de la ligne sur n'importe
quel caractère
activePage.position =
activePage.lineStartOffset(activePage.curLine)
char = "tab" if activePage.text[activePage.position] ==
"\t" else "espace"
sp.say(char, True)
else:
# On se positionne sur le premier caractère qui n'est
pas une espace ou une tabulation
activePage.position =
activePage.lineSafeStartOffset(activePage.curLine)
sp.say(activePage.text[activePage.position], True)
return False
# On vérifie si la touche suppression a bien été pressée
if vk == 46:
# On vérifie si la case touche suppression intelligente est
bien cochée
if formatMenu.originalDeleteKey.checked:
# On vérifie quand même qu'aucune sélection n'a été
faite
if not activePage.selectedText:
# On vérifie si l'on est sur un caractère de
retour chariot \r.
if activePage.text[activePage.position] == "\r":
activePage.delete(activePage.position,
activePage.position + 2)
return False
return True
def pageOpened(openedPage):
openedPage.addEvent("keyDown", onKeyDown)
sp.window.addEvent("pageOpened", pageOpened)
sp.window.curPage.addEvent("keyDown", onKeyDown)