Hello community,
here is the log from the commit of package cherrytree for openSUSE:Factory
checked in at Mon Jan 24 16:10:25 CET 2011.
--------
--- GNOME/cherrytree/cherrytree.changes 2011-01-08 00:01:34.000000000 +0100
+++ /mounts/work_src_done/STABLE/cherrytree/cherrytree.changes 2011-01-19 18:05:28.000000000 +0100
@@ -1,0 +2,20 @@
+Wed Jan 19 18:01:20 CET 2011 - badshah400@gmail.com
+
+- Update to version 0.19.3:
+ + Bug fixes with tree nodes drag and drop
+ + In the anchor insert dialog, fix cursor to lie always in the
+ entry text field
+
+-------------------------------------------------------------------
+Sun Jan 16 14:33:56 CET 2011 - badshah400@gmail.com
+
+- Update to version 0.19.2:
+ + Bug fixes
+ + Improved text duplication functionality, introducing rich text
+ duplication
+- Changes from version 0.19.1
+ + Bug fixes
+ + Tree nodes drag and drop implemented
+ + Updated French localization
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
cherrytree-0.19.tar.bz2
New:
----
cherrytree-0.19.3.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cherrytree.spec ++++++
--- /var/tmp/diff_new_pack.icIKKX/_old 2011-01-24 16:09:49.000000000 +0100
+++ /var/tmp/diff_new_pack.icIKKX/_new 2011-01-24 16:09:49.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package cherrytree (Version 0.19)
+# spec file for package cherrytree
#
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -18,7 +18,7 @@
Name: cherrytree
-Version: 0.19
+Version: 0.19.3
Release: 1
License: GPLv2+
Summary: A hierarchical note taking application
++++++ cherrytree-0.19.tar.bz2 -> cherrytree-0.19.3.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cherrytree-0.19/changelog new/cherrytree-0.19.3/changelog
--- old/cherrytree-0.19/changelog 2010-12-28 23:30:29.000000000 +0100
+++ new/cherrytree-0.19.3/changelog 2011-01-17 00:29:21.000000000 +0100
@@ -1,4 +1,24 @@
+0.19.3
+• fixed tree nodes drag and drop bugs
+• assigned the shortcut ctrl+K to the deletion of a text row being it already used from other text editors such as geany and nano
+• when opening the anchor insert dialog now the cursor is always in the entry text
+
+0.19.2 (January 14th, 2011)
+• fixed bugs in pasting text from firefox web browser
+• fixed bugs in tree nodes drag and drop
+• improved the text duplication functionality (ctrl+D); now the rich text duplication is also supported
+
+0.19.1 (January 10th, 2011)
+• fixed bugs
+• implemented the tree nodes drag and drop
+• updated French, all languages but German are now up to date
+
+0.19 (January 3rd, 2011)
+• before saving a new version of the file “file.ctd”, the former version is now backupped as “file.ctd~”
+• introduced a new file format “.ctz” which is the “.ctd” compressed and password protected using 7zip (the binary executable 7za). to switch between .ctd and .ctz click the menu item “file–set document protection”.
+• implemented the utility to change the case of the selected text/underlying word
+
0.18 (December 27th, 2010)
• fixed bugs
• added Galician language
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cherrytree-0.19/deb/control new/cherrytree-0.19.3/deb/control
--- old/cherrytree-0.19/deb/control 2010-12-31 15:32:28.000000000 +0100
+++ new/cherrytree-0.19.3/deb/control 2011-01-16 22:07:25.000000000 +0100
@@ -3,7 +3,7 @@
Priority: optional
Maintainer: Giuseppe Penone
Package: cherrytree
-Version: 0.19-1
+Version: 0.19.3-1
Architecture: all
Depends: python-gtk2, python-gtksourceview2, p7zip-full
Description: Hierarchical Note Taking
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cherrytree-0.19/glade/cherrytree.glade.h new/cherrytree-0.19.3/glade/cherrytree.glade.h
--- old/cherrytree-0.19/glade/cherrytree.glade.h 2011-01-01 00:07:24.000000000 +0100
+++ new/cherrytree-0.19.3/glade/cherrytree.glade.h 2010-12-26 17:03:28.000000000 +0100
@@ -60,7 +60,7 @@
char *s = N_("Cancel");
char *s = N_("CherryTree");
char *s = N_("Close");
-char *s = N_("Copyright © 2009-2011\n"
+char *s = N_("Copyright © 2009-2010\n"
"Giuseppe Penone ");
char *s = N_("Czech (cs) Pavel Fric \n"
"French (fr) Ludovic Troisi \n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cherrytree-0.19/linux/cherrytree.desktop new/cherrytree-0.19.3/linux/cherrytree.desktop
--- old/cherrytree-0.19/linux/cherrytree.desktop 2010-12-30 21:28:37.000000000 +0100
+++ new/cherrytree-0.19.3/linux/cherrytree.desktop 2011-01-13 23:12:58.000000000 +0100
@@ -1,9 +1,15 @@
[Desktop Entry]
Name=CherryTree
Comment=Hierarchical Note Taking
+Comment[cs]=Hierarchická tvorba poznámek
+Comment[de]=Hierarchische Notizfunktion
+Comment[es]=Gestor de notas jerárquico
+Comment[fr]=Prise de Notes Hiérarchisées
+Comment[gl]=Xestor de notas xerárquico
Comment[it]=Gestore di Appunti Gerarchico
+Comment[pl]=Strukturalny Notes
Comment[ru]=Записная книжка с иерархической структурой
-Comment[es]=Gestor de notas jerárquico
+Comment[uk]=Записник з ієрархічною структурою
Exec=cherrytree %f
Icon=/usr/share/icons/hicolor/scalable/apps/cherrytree.svg
MimeType=text/cherrytree-ctd;text/cherrytree-ctz;
Files old/cherrytree-0.19/locale/fr/LC_MESSAGES/cherrytree.mo and new/cherrytree-0.19.3/locale/fr/LC_MESSAGES/cherrytree.mo differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cherrytree-0.19/locale/fr.po new/cherrytree-0.19.3/locale/fr.po
--- old/cherrytree-0.19/locale/fr.po 2011-01-01 00:05:06.000000000 +0100
+++ new/cherrytree-0.19.3/locale/fr.po 2011-01-13 23:12:58.000000000 +0100
@@ -8,7 +8,7 @@
"Project-Id-Version: svn_cherrytree 0.14\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-01-01 01:05+0200\n"
-"PO-Revision-Date: 2010-12-27 22:29+0100\n"
+"PO-Revision-Date: 2011-01-05 20:18+0100\n"
"Last-Translator: Ludovic Troisi \n"
"Language-Team: French\n"
"MIME-Version: 1.0\n"
@@ -36,7 +36,8 @@
msgid "Info"
msgstr "Info"
-#: modules/support.py:130 glade/cherrytree.glade.h:113
+#: modules/support.py:130
+#: glade/cherrytree.glade.h:113
msgid "Warning"
msgstr "Avertissement"
@@ -52,13 +53,15 @@
msgid "Replace in Current Node..."
msgstr "Remplacer dans le Nœud actuel..."
-#: modules/findreplace.py:70 modules/findreplace.py:132
+#: modules/findreplace.py:70
+#: modules/findreplace.py:132
#: modules/findreplace.py:199
#, python-format
msgid "The pattern '%s' was not found"
msgstr "Le Terme '%s' est introuvable"
-#: modules/findreplace.py:72 modules/findreplace.py:139
+#: modules/findreplace.py:72
+#: modules/findreplace.py:139
#: modules/findreplace.py:201
msgid "Matches"
msgstr "Correspondances"
@@ -81,8 +84,7 @@
#: modules/findreplace.py:373
msgid "No Previous Search Was Performed During This Session"
-msgstr ""
-"Aucune Recherche précédente n'a été effectuée durant cette session de travail"
+msgstr "Aucune Recherche précédente n'a été effectuée durant cette session de travail"
#: modules/findreplace.py:417
msgid "Node Name"
@@ -96,7 +98,8 @@
msgid "Another Instance of CherryTree is Already Running"
msgstr "Une instance de CherryTree est déjà lancée"
-#: modules/core.py:175 modules/core.py:187
+#: modules/core.py:175
+#: modules/core.py:187
#, python-format
msgid "Version %s"
msgstr "Version %s"
@@ -109,12 +112,16 @@
msgid "A Newer Version Is Available!"
msgstr "Une nouvelle version est disponible !"
-#: modules/core.py:204 modules/core.py:2251 modules/core.py:2256
+#: modules/core.py:204
+#: modules/core.py:2251
+#: modules/core.py:2256
#: modules/core.py:2638
msgid "No Text is Selected"
msgstr "Aucun Texte n'est sélectionné"
-#: modules/core.py:294 modules/core.py:626 modules/core.py:705
+#: modules/core.py:294
+#: modules/core.py:626
+#: modules/core.py:705
#: modules/core.py:899
msgid "CherryTree Document"
msgstr "Document CherryTree"
@@ -143,12 +150,18 @@
msgid "CherryTree Hierarchical Note Taking"
msgstr "CherryTree Hierarchical Note Taking"
-#: modules/core.py:622 modules/core.py:642 modules/core.py:938
-#: modules/core.py:1636 modules/core.py:1647 modules/core.py:1928
+#: modules/core.py:622
+#: modules/core.py:642
+#: modules/core.py:938
+#: modules/core.py:1636
+#: modules/core.py:1647
+#: modules/core.py:1928
msgid "The Tree is Empty!"
msgstr "L'Arborescence est vide !"
-#: modules/core.py:631 modules/core.py:904 modules/core.py:920
+#: modules/core.py:631
+#: modules/core.py:904
+#: modules/core.py:920
#: modules/tablez.py:63
#, python-format
msgid ""
@@ -160,67 +173,72 @@
#: modules/core.py:658
msgid "Writing to Disk..."
-msgstr ""
+msgstr "Écriture vers le Disque en cours ..."
-#: modules/core.py:672 modules/core.py:831
-msgid ""
-"The Contemporary Presence of Single and Double Quotes in the File Path "
-"Prevents 7za.exe to Work, Please Change the File Name"
-msgstr ""
+#: modules/core.py:672
+#: modules/core.py:831
+msgid "The Contemporary Presence of Single and Double Quotes in the File Path Prevents 7za.exe to Work, Please Change the File Name"
+msgstr "La présence simultanée de guillemets simples et doubles dans le chemin du fichier empêche 7za.exe de fonctionner. Veuillez modifier le nom du fichier"
#: modules/core.py:720
-#, fuzzy
msgid "No Document is Opened"
-msgstr "Aucun Nœud n'est sélectionné"
+msgstr "Aucun Document n'est ouvert"
#: modules/core.py:722
msgid "Document Protection"
-msgstr ""
+msgstr "Protection du Document"
#: modules/core.py:727
msgid "Not Protected"
-msgstr ""
+msgstr "Non protégé"
#: modules/core.py:728
msgid "Password Protected"
-msgstr ""
+msgstr "Protégé par Mot de Passe"
#: modules/core.py:737
msgid "Enter the New Password Twice"
-msgstr ""
+msgstr "Entrez le nouveau Mot de Passe deux fois"
#: modules/core.py:771
msgid "The Password Fields Must be Filled"
-msgstr ""
+msgstr "Veuillez remplir tous les champs de saisie"
#: modules/core.py:774
msgid "The Two Inserted Passwords Do Not Match"
-msgstr ""
+msgstr "Les deux Mots de Passe renseignés ne correspondent pas"
#: modules/core.py:789
-msgid ""
-"Binary Executable '7za' Not Found, Check The Package 'p7zip-full' to be "
-"Installed Properly"
-msgstr ""
+msgid "Binary Executable '7za' Not Found, Check The Package 'p7zip-full' to be Installed Properly"
+msgstr "Le fichier binaire '7za' est introuvable. Vérifiez que le paquet 'p7zip-full' est correctement installé"
#: modules/core.py:795
#, python-format
msgid "Enter Password for %s"
-msgstr ""
+msgstr "Entrer un Mot de Passe pour %s"
#: modules/core.py:842
msgid "Wrong Password"
-msgstr ""
+msgstr "Mauvais Mot de Passe"
-#: modules/core.py:846 modules/core.py:869
+#: modules/core.py:846
+#: modules/core.py:869
#, python-format
msgid "\"%s\" is Not a CherryTree Document"
msgstr "\"%s\" n'est pas un document CherryTree"
-#: modules/core.py:895 modules/core.py:911 modules/core.py:930
-#: modules/core.py:954 modules/core.py:1003 modules/core.py:1029
-#: modules/core.py:1040 modules/core.py:1051 modules/core.py:1088
-#: modules/core.py:1458 modules/core.py:1483 modules/core.py:1508
+#: modules/core.py:895
+#: modules/core.py:911
+#: modules/core.py:930
+#: modules/core.py:954
+#: modules/core.py:1003
+#: modules/core.py:1029
+#: modules/core.py:1040
+#: modules/core.py:1051
+#: modules/core.py:1088
+#: modules/core.py:1458
+#: modules/core.py:1483
+#: modules/core.py:1508
#: modules/core.py:1625
msgid "No Node is Selected!"
msgstr "Aucun nœud n'est sélectionné"
@@ -229,7 +247,8 @@
msgid "Plain Text Document"
msgstr "Document Texte Brut"
-#: modules/core.py:1097 glade/cherrytree.glade.h:100
+#: modules/core.py:1097
+#: glade/cherrytree.glade.h:100
msgid "Select the New Father"
msgstr "Choisir un nouveau Parent"
@@ -251,8 +270,7 @@
#: modules/core.py:1392
msgid "The New Language will be Available Only After Restarting CherryTree"
-msgstr ""
-"La nouvelle langue sera activée uniquement après avoir relancé CherryTree"
+msgstr "La nouvelle langue sera activée uniquement après avoir relancé CherryTree"
#: modules/core.py:1427
msgid "Insert the New Node Name..."
@@ -282,14 +300,12 @@
msgstr "Insérer le Nouveau Nom de ce Nœud..."
#: modules/core.py:1518
-msgid ""
-"Entering the Automatic Syntax Highlighting you will Lose all Custom Colors "
-"for This Node, Do you want to Continue?"
-msgstr ""
-"En choisissant le Marquage Automatique de la Syntaxe vous perdrez toutes vos "
-"Couleurs Personnelles liées à ce Nœud. Voulez-vous tout de même continuer ?"
+msgid "Entering the Automatic Syntax Highlighting you will Lose all Custom Colors for This Node, Do you want to Continue?"
+msgstr "En choisissant le Marquage Automatique de la Syntaxe vous perdrez toutes vos Couleurs Personnelles liées à ce Nœud. Voulez-vous tout de même continuer ?"
-#: modules/core.py:1752 modules/core.py:1911 modules/core.py:2245
+#: modules/core.py:1752
+#: modules/core.py:1911
+#: modules/core.py:2245
msgid "No Node is Selected"
msgstr "Aucun Nœud n'est sélectionné"
@@ -317,13 +333,12 @@
msgid "Not Any H1 or H2 Formatting Found"
msgstr "Aucune mise en forme H1 ou H2 n'a été trouvée'"
-#: modules/core.py:1914 modules/core.py:2221 modules/core.py:2228
+#: modules/core.py:1914
+#: modules/core.py:2221
+#: modules/core.py:2228
#: modules/core.py:2240
-msgid ""
-"Automatic Syntax Highlighting Must be Disabled in order to Use This Feature"
-msgstr ""
-"Le Marquage Automatique de la Syntaxe doit être désactivé pour utiliser "
-"cette fonction"
+msgid "Automatic Syntax Highlighting Must be Disabled in order to Use This Feature"
+msgstr "Le Marquage Automatique de la Syntaxe doit être désactivé pour utiliser cette fonction"
#: modules/core.py:2032
msgid "PNG Image"
@@ -336,9 +351,7 @@
#: modules/core.py:2234
msgid "No Previous Text Format Was Performed During This Session"
-msgstr ""
-"Aucune Mise en forme précédente n'a été effectuée durant cette session de "
-"travail"
+msgstr "Aucune Mise en forme précédente n'a été effectuée durant cette session de travail"
#: modules/core.py:2274
msgid "The Cursor is Not into a Paragraph"
@@ -375,7 +388,8 @@
msgid "Anchor Name"
msgstr "Nom de l'Ancre"
-#: modules/tablez.py:59 modules/tablez.py:94
+#: modules/tablez.py:59
+#: modules/tablez.py:94
msgid "CSV File"
msgstr "Fichier CSV"
@@ -383,7 +397,8 @@
msgid "Insert Table"
msgstr "Insérer un Tableau"
-#: modules/tablez.py:119 modules/imports.py:937
+#: modules/tablez.py:119
+#: modules/imports.py:937
msgid "click me"
msgstr "Cliquez-moi"
@@ -399,7 +414,9 @@
msgid "Table Column Action"
msgstr "Actions de la Colonne du Tableau"
-#: modules/codeboxes.py:61 modules/cons.py:459 modules/cons.py:552
+#: modules/codeboxes.py:61
+#: modules/cons.py:459
+#: modules/cons.py:552
msgid "Insert a CodeBox"
msgstr "Insérer une CodeBox"
@@ -415,7 +432,8 @@
msgid "_Edit"
msgstr "_Edition"
-#: modules/cons.py:415 modules/cons.py:534
+#: modules/cons.py:415
+#: modules/cons.py:534
msgid "For_matting"
msgstr "For_mat"
@@ -435,15 +453,19 @@
msgid "Nodes E_xport"
msgstr "E_xporter les Nœuds"
-#: modules/cons.py:420 modules/cons.py:558 modules/cons.py:590
+#: modules/cons.py:420
+#: modules/cons.py:558
+#: modules/cons.py:590
msgid "C_hange Case"
-msgstr ""
+msgstr "C_hanger la Casse"
-#: modules/cons.py:421 modules/cons.py:566
+#: modules/cons.py:421
+#: modules/cons.py:566
msgid "_Search"
msgstr "_Rechercher"
-#: modules/cons.py:422 modules/cons.py:573
+#: modules/cons.py:422
+#: modules/cons.py:573
msgid "_Replace"
msgstr "Rem_placer"
@@ -459,7 +481,8 @@
msgid "E_xport"
msgstr "E_xporter"
-#: modules/cons.py:426 modules/cons.py:502
+#: modules/cons.py:426
+#: modules/cons.py:502
msgid "_Help"
msgstr "A_ide"
@@ -476,17 +499,16 @@
msgstr "_Ouvrir"
#: modules/cons.py:429
-#, fuzzy
msgid "Open a CherryTree Document"
-msgstr "Document CherryTree"
+msgstr "Ouvrir un Document CherryTree"
#: modules/cons.py:430
msgid "Set _Document Protection"
-msgstr ""
+msgstr "Dé_finir la Protection du Document"
#: modules/cons.py:430
msgid "Set Protection of the Current Document"
-msgstr ""
+msgstr "Définir la Protection du Document sélectionné"
#: modules/cons.py:431
msgid "_Save"
@@ -572,55 +594,68 @@
msgid "_Preferences"
msgstr "_Préférences"
-#: modules/cons.py:441 glade/cherrytree.glade.h:96
+#: modules/cons.py:441
+#: glade/cherrytree.glade.h:96
msgid "Preferences"
msgstr "Préférences"
-#: modules/cons.py:442 modules/cons.py:556
+#: modules/cons.py:442
+#: modules/cons.py:556
msgid "Insert _Horizontal Rule"
msgstr "Insérer une Ligne _Horizontale"
-#: modules/cons.py:442 modules/cons.py:556
+#: modules/cons.py:442
+#: modules/cons.py:556
msgid "Insert Horizontal Rule"
msgstr "Insérer une Ligne Horizontale"
-#: modules/cons.py:443 modules/cons.py:580
+#: modules/cons.py:443
+#: modules/cons.py:580
msgid "Set/Unset _Bulleted List"
msgstr "(Dés)Activer la Liste à Puces"
-#: modules/cons.py:443 modules/cons.py:580
+#: modules/cons.py:443
+#: modules/cons.py:580
msgid "Set/Unset the Current Paragraph as a Bulleted List Element"
msgstr "Afficher le Paragraphe dans une Liste à Puces"
-#: modules/cons.py:444 modules/cons.py:581
+#: modules/cons.py:444
+#: modules/cons.py:581
msgid "Set/Unset _Numbered List"
msgstr "(Dés)Activer la Liste Numérotée"
-#: modules/cons.py:444 modules/cons.py:581
+#: modules/cons.py:444
+#: modules/cons.py:581
msgid "Set/Unset the Current Paragraph as a Numbered List Element"
msgstr "Afficher le Paragraphe dans une Liste à Puces"
-#: modules/cons.py:445 modules/cons.py:553
+#: modules/cons.py:445
+#: modules/cons.py:553
msgid "Insert/Edit _Link"
msgstr "Insérer/Éditer un _Lien"
-#: modules/cons.py:445 modules/cons.py:553
+#: modules/cons.py:445
+#: modules/cons.py:553
msgid "Insert a Link/Edit the Underlying Link"
msgstr "Insérer un Lien/Éditer un Lien souligné"
-#: modules/cons.py:446 modules/cons.py:555
+#: modules/cons.py:446
+#: modules/cons.py:555
msgid "Insert T_OC"
msgstr "Insérer une Table des _Matières"
-#: modules/cons.py:446 modules/cons.py:555
+#: modules/cons.py:446
+#: modules/cons.py:555
msgid "Insert Table of Contents"
msgstr "Insérer une Table des Matières"
-#: modules/cons.py:447 modules/cons.py:554
+#: modules/cons.py:447
+#: modules/cons.py:554
msgid "Insert _Anchor"
msgstr "Insérer une _Ancre"
-#: modules/cons.py:447 modules/cons.py:554
+#: modules/cons.py:447
+#: modules/cons.py:554
msgid "Insert an Anchor"
msgstr "Insérer une Ancre"
@@ -632,11 +667,13 @@
msgid "Edit the Underlying Anchor"
msgstr "Éditer l'Ancre soulignée"
-#: modules/cons.py:449 modules/cons.py:550
+#: modules/cons.py:449
+#: modules/cons.py:550
msgid "Insert I_mage"
msgstr "Insérer une I_mage"
-#: modules/cons.py:449 modules/cons.py:550
+#: modules/cons.py:449
+#: modules/cons.py:550
msgid "Insert an Image"
msgstr "Insérer une Image"
@@ -704,56 +741,79 @@
msgid "Delete the Selected Table"
msgstr "Supprimer le Tableau Sélectionné"
-#: modules/cons.py:458 modules/cons.py:551
+#: modules/cons.py:458
+#: modules/cons.py:551
msgid "Insert _Table"
msgstr "Insérer un _Tableau"
-#: modules/cons.py:458 modules/cons.py:551
+#: modules/cons.py:458
+#: modules/cons.py:551
msgid "Insert a Table"
msgstr "Insérer un Tableau"
-#: modules/cons.py:459 modules/cons.py:552
+#: modules/cons.py:459
+#: modules/cons.py:552
msgid "Insert _CodeBox"
msgstr "Insérer une _CodeBox"
-#: modules/cons.py:460 modules/cons.py:559 modules/cons.py:591
+#: modules/cons.py:460
+#: modules/cons.py:559
+#: modules/cons.py:591
msgid "_Lower Case of Selection/Word"
-msgstr ""
+msgstr "_Minuscules (Sélection/Mot)"
-#: modules/cons.py:460 modules/cons.py:559 modules/cons.py:591
+#: modules/cons.py:460
+#: modules/cons.py:559
+#: modules/cons.py:591
msgid "Lower the Case of the Selection/the Underlying Word"
-msgstr ""
+msgstr "Change les lettres de la sélection en minuscules"
-#: modules/cons.py:461 modules/cons.py:560 modules/cons.py:592
+#: modules/cons.py:461
+#: modules/cons.py:560
+#: modules/cons.py:592
msgid "_Upper Case of Selection/Word"
-msgstr ""
+msgstr "Ma_juscules (Sélection/Mot)"
-#: modules/cons.py:461 modules/cons.py:560 modules/cons.py:592
+#: modules/cons.py:461
+#: modules/cons.py:560
+#: modules/cons.py:592
msgid "Upper the Case of the Selection/the Underlying Word"
-msgstr ""
+msgstr "Change les lettres de la sélection en majuscules"
-#: modules/cons.py:462 modules/cons.py:561 modules/cons.py:593
+#: modules/cons.py:462
+#: modules/cons.py:561
+#: modules/cons.py:593
msgid "_Toggle Case of Selection/Word"
-msgstr ""
+msgstr "_Intervertir la Casse (Sélection/Mot)"
-#: modules/cons.py:462 modules/cons.py:561 modules/cons.py:593
+#: modules/cons.py:462
+#: modules/cons.py:561
+#: modules/cons.py:593
msgid "Toggle the Case of the Selection/the Underlying Word"
-msgstr ""
+msgstr "(Dés)Activer les Majuscules/Minuscules de la sélection"
-#: modules/cons.py:463 modules/cons.py:563 modules/cons.py:595
+#: modules/cons.py:463
+#: modules/cons.py:563
+#: modules/cons.py:595
msgid "_Duplicate Row/Selection"
msgstr "_Dupliquer la Ligne/la Sélection"
-#: modules/cons.py:463 modules/cons.py:563 modules/cons.py:595
+#: modules/cons.py:463
+#: modules/cons.py:563
+#: modules/cons.py:595
msgid "Duplicate the Whole Row/a Selection"
msgstr "Dupliquer la Ligne entière/une Sélection"
-#: modules/cons.py:464 modules/cons.py:520 modules/cons.py:564
+#: modules/cons.py:464
+#: modules/cons.py:520
+#: modules/cons.py:564
#: modules/cons.py:596
msgid "De_lete Row"
msgstr "_Supprimer la Ligne"
-#: modules/cons.py:464 modules/cons.py:564 modules/cons.py:596
+#: modules/cons.py:464
+#: modules/cons.py:564
+#: modules/cons.py:596
msgid "Delete the Whole Row"
msgstr "Supprimer toute la Ligne"
@@ -778,98 +838,116 @@
msgstr "_Héritage de la Syntaxe"
#: modules/cons.py:467
-msgid ""
-"Change the Selected Node's Children Syntax Highlighting to the Father's "
-"Syntax Highlighting"
-msgstr ""
-"Transformer le Marquage de Syntaxe de l'Enfant du Nœud sélectionné vers le "
-"Marquage de syntaxe de son Parent"
+msgid "Change the Selected Node's Children Syntax Highlighting to the Father's Syntax Highlighting"
+msgstr "Transformer le Marquage de Syntaxe de l'Enfant du Nœud sélectionné vers le Marquage de syntaxe de son Parent"
-#: modules/cons.py:468 modules/cons.py:535
+#: modules/cons.py:468
+#: modules/cons.py:535
msgid "Format _Latest"
msgstr "Dernière _Mise en forme"
-#: modules/cons.py:468 modules/cons.py:535
+#: modules/cons.py:468
+#: modules/cons.py:535
msgid "Memory of Latest Text Format Type"
msgstr "Réitérer la dernière action de Mise en forme du Texte"
-#: modules/cons.py:469 modules/cons.py:536
+#: modules/cons.py:469
+#: modules/cons.py:536
msgid "_Remove Formatting"
msgstr "En_lever la Mise en forme"
-#: modules/cons.py:469 modules/cons.py:536
+#: modules/cons.py:469
+#: modules/cons.py:536
msgid "Remove the Formatting from the Selected Text"
msgstr "Enlever la Mise en forme du Texte Sélectionné"
-#: modules/cons.py:470 modules/cons.py:538
+#: modules/cons.py:470
+#: modules/cons.py:538
msgid "Text _Color Foreground"
msgstr "_Couleur de Premier Plan du Texte"
-#: modules/cons.py:470 modules/cons.py:538
+#: modules/cons.py:470
+#: modules/cons.py:538
msgid "Change the Color of the Selected Text Foreground"
msgstr "Changer la Couleur de Premier Plan du Texte Sélectionné"
-#: modules/cons.py:471 modules/cons.py:539
+#: modules/cons.py:471
+#: modules/cons.py:539
msgid "Text C_olor Background"
msgstr "C_ouleur d'Arrière Plan du Texte"
-#: modules/cons.py:471 modules/cons.py:539
+#: modules/cons.py:471
+#: modules/cons.py:539
msgid "Change the Color of the Selected Text Background"
msgstr "Changer la Couleur d'Arrière Plan plan du Texte Sélectionné"
-#: modules/cons.py:472 modules/cons.py:540
+#: modules/cons.py:472
+#: modules/cons.py:540
msgid "Toggle _Bold Property"
msgstr "Activer la Fonction _Gras"
-#: modules/cons.py:472 modules/cons.py:540
+#: modules/cons.py:472
+#: modules/cons.py:540
msgid "Toggle Bold Property of the Selected Text"
msgstr "Mettre le texte sélectionné en Gras"
-#: modules/cons.py:473 modules/cons.py:541
+#: modules/cons.py:473
+#: modules/cons.py:541
msgid "Toggle _Italic Property"
msgstr "Activer la Fonction _Italique"
-#: modules/cons.py:473 modules/cons.py:541
+#: modules/cons.py:473
+#: modules/cons.py:541
msgid "Toggle Italic Property of the Selected Text"
msgstr "Mettre le texte sélectionné en Italique"
-#: modules/cons.py:474 modules/cons.py:542
+#: modules/cons.py:474
+#: modules/cons.py:542
msgid "Toggle _Underline Property"
msgstr "Activer la Fonction _Souligné"
-#: modules/cons.py:474 modules/cons.py:542
+#: modules/cons.py:474
+#: modules/cons.py:542
msgid "Toggle Underline Property of the Selected Text"
msgstr "Souligner le texte sélectionné"
-#: modules/cons.py:475 modules/cons.py:543
+#: modules/cons.py:475
+#: modules/cons.py:543
msgid "Toggle Stri_kethrough Property"
msgstr "Activer la Fonction _Barré"
-#: modules/cons.py:475 modules/cons.py:543
+#: modules/cons.py:475
+#: modules/cons.py:543
msgid "Toggle Strikethrough Property of the Selected Text"
msgstr "Barrer le texte sélectionné"
-#: modules/cons.py:476 modules/cons.py:544
+#: modules/cons.py:476
+#: modules/cons.py:544
msgid "Toggle h_1 Property"
msgstr "Activer la Taille du Texte en h1"
-#: modules/cons.py:476 modules/cons.py:544
+#: modules/cons.py:476
+#: modules/cons.py:544
msgid "Toggle h1 Property of the Selected Text"
msgstr "Augmenter la Taille du Texte (grande taille)"
-#: modules/cons.py:477 modules/cons.py:545
+#: modules/cons.py:477
+#: modules/cons.py:545
msgid "Toggle h_2 Property"
msgstr "Activer la Taille du Texte en h2"
-#: modules/cons.py:477 modules/cons.py:545
+#: modules/cons.py:477
+#: modules/cons.py:545
msgid "Toggle h2 Property of the Selected Text"
msgstr "Augmenter la taille du Texte (taille moyenne)"
-#: modules/cons.py:478 modules/cons.py:546
+#: modules/cons.py:478
+#: modules/cons.py:546
msgid "Toggle _Small Property"
msgstr "_Diminuer la Taille du Texte"
-#: modules/cons.py:478 modules/cons.py:546
+#: modules/cons.py:478
+#: modules/cons.py:546
msgid "Toggle Small Property of the Selected Text"
msgstr "Diminuer la Taille du Texte (petite taille)"
@@ -897,75 +975,93 @@
msgid "Justify Right the Current Paragraph"
msgstr "Aligner le Paragraphe à Droite"
-#: modules/cons.py:482 modules/cons.py:567
+#: modules/cons.py:482
+#: modules/cons.py:567
msgid "_Find in Node"
msgstr "_Trouver dans le Nœud"
-#: modules/cons.py:482 modules/cons.py:567
+#: modules/cons.py:482
+#: modules/cons.py:567
msgid "Find into the Selected Node"
msgstr "Chercher dans le Nœud Sélectionné"
-#: modules/cons.py:483 modules/cons.py:568
+#: modules/cons.py:483
+#: modules/cons.py:568
msgid "Find in Node_s"
msgstr "Trouver dans les Nœud_s"
-#: modules/cons.py:483 modules/cons.py:568
+#: modules/cons.py:483
+#: modules/cons.py:568
msgid "Find into all the Tree Nodes"
msgstr "Chercher dans tous les Nœuds"
-#: modules/cons.py:484 modules/cons.py:569
+#: modules/cons.py:484
+#: modules/cons.py:569
msgid "Find a _Node"
msgstr "Trouver un _Nœud"
-#: modules/cons.py:484 modules/cons.py:569
+#: modules/cons.py:484
+#: modules/cons.py:569
msgid "Find a Node from its Name"
msgstr "Localiser un Nœud par son Nom"
-#: modules/cons.py:485 modules/cons.py:570
+#: modules/cons.py:485
+#: modules/cons.py:570
msgid "Find _Again"
msgstr "Chercher le Suivant"
-#: modules/cons.py:485 modules/cons.py:570
+#: modules/cons.py:485
+#: modules/cons.py:570
msgid "Iterate the Last Find Operation"
msgstr "Réitérer la dernière action de recherche"
-#: modules/cons.py:486 modules/cons.py:571
+#: modules/cons.py:486
+#: modules/cons.py:571
msgid "Find _Back"
msgstr "Chercher le _Précédent"
-#: modules/cons.py:486 modules/cons.py:571
+#: modules/cons.py:486
+#: modules/cons.py:571
msgid "Iterate the Last Find Operation in Opposite Direction"
msgstr "Réitérer la dernière action de recherche dans le Sens Opposé"
-#: modules/cons.py:487 modules/cons.py:574
+#: modules/cons.py:487
+#: modules/cons.py:574
msgid "_Replace in Node"
msgstr "_Remplacer dans le Nœud"
-#: modules/cons.py:487 modules/cons.py:574
+#: modules/cons.py:487
+#: modules/cons.py:574
msgid "Replace into the Selected Node"
msgstr "Remplacer dans le Nœud Sélectionné"
-#: modules/cons.py:488 modules/cons.py:575
+#: modules/cons.py:488
+#: modules/cons.py:575
msgid "Replace in Node_s"
msgstr "Remplacer dans les Nœud_s"
-#: modules/cons.py:488 modules/cons.py:575
+#: modules/cons.py:488
+#: modules/cons.py:575
msgid "Replace into all the Tree Nodes"
msgstr "Remplacer dans tous les Nœuds"
-#: modules/cons.py:489 modules/cons.py:576
+#: modules/cons.py:489
+#: modules/cons.py:576
msgid "Replace in Nodes _Names"
msgstr "Remplacer les _Noms des Nœuds"
-#: modules/cons.py:489 modules/cons.py:576
+#: modules/cons.py:489
+#: modules/cons.py:576
msgid "Replace in Nodes Names"
msgstr "Remplacer les Noms des Nœuds"
-#: modules/cons.py:490 modules/cons.py:577
+#: modules/cons.py:490
+#: modules/cons.py:577
msgid "Replace _Again"
msgstr "Remplacer _encore"
-#: modules/cons.py:490 modules/cons.py:577
+#: modules/cons.py:490
+#: modules/cons.py:577
msgid "Iterate the Last Replace Operation"
msgstr "Réitérer la dernière action de Remplacement"
@@ -1073,7 +1169,8 @@
msgid "_About"
msgstr "_A propos"
-#: modules/cons.py:504 glade/cherrytree.glade.h:51
+#: modules/cons.py:504
+#: glade/cherrytree.glade.h:51
msgid "About CherryTree"
msgstr "À propos de CherryTree"
@@ -1081,7 +1178,8 @@
msgid "Tree _Info"
msgstr "_Informations Arborescence"
-#: modules/cons.py:505 glade/cherrytree.glade.h:109
+#: modules/cons.py:505
+#: glade/cherrytree.glade.h:109
msgid "Tree Summary Information"
msgstr "Récapitulatif des Informations"
@@ -1332,10 +1430,8 @@
"MA 02110-1301, USA.\n"
msgstr ""
"\n"
-"Ce programme est sous licence libre; vous pouvez le redistribuer et/ou le "
-"modifier\n"
-"sous les termes de la GNU General Public License telle qu'elle est publiée "
-"par\n"
+"Ce programme est sous licence libre; vous pouvez le redistribuer et/ou le modifier\n"
+"sous les termes de la GNU General Public License telle qu'elle est publiée par\n"
"la Free Software Foundation; que ce soit dans sa version 2 ou\n"
"(selon vos préférences) dans une version plus récente.\n"
" \n"
@@ -1477,12 +1573,8 @@
msgstr "<b>Adresse du Site Web</b>"
#: glade/cherrytree.glade.h:50
-msgid ""
-"A Hierarchical Note Taking Application, featuring Rich Text and Syntax "
-"Highlighting"
-msgstr ""
-"Une Application de Prise de Notes Hiérarchisées, combinant Texte Enrichi et "
-"Marquage Automatique de Syntaxe"
+msgid "A Hierarchical Note Taking Application, featuring Rich Text and Syntax Highlighting"
+msgstr "Une Application de Prise de Notes Hiérarchisées, combinant Texte Enrichi et Marquage Automatique de Syntaxe"
#: glade/cherrytree.glade.h:52
msgid "Add Column"
@@ -1529,12 +1621,11 @@
msgstr "Fermer"
#: glade/cherrytree.glade.h:63
-#, fuzzy
msgid ""
"Copyright © 2009-2011\n"
"Giuseppe Penone "
msgstr ""
-"Copyright © 2009-2010\n"
+"Copyright © 2009-2011\n"
"Giuseppe Penone "
#: glade/cherrytree.glade.h:65
@@ -1729,3 +1820,4 @@
#~ msgid "Open a .ctd File"
#~ msgstr "Ouvrir un Fichier .ctd"
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cherrytree-0.19/locale/i18n_create_lang_file.sh new/cherrytree-0.19.3/locale/i18n_create_lang_file.sh
--- old/cherrytree-0.19/locale/i18n_create_lang_file.sh 1970-01-01 01:00:00.000000000 +0100
+++ new/cherrytree-0.19.3/locale/i18n_create_lang_file.sh 2011-01-13 23:12:58.000000000 +0100
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+if [ $# -eq 1 ]
+then
+ msginit --input=cherrytree.pot --locale=$1
+else
+ echo "Please provide the language code as one and only argument (e.g. 'es' for Spanish)"
+fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cherrytree-0.19/modules/clipboard.py new/cherrytree-0.19.3/modules/clipboard.py
--- old/cherrytree-0.19/modules/clipboard.py 2010-12-31 19:17:15.000000000 +0100
+++ new/cherrytree-0.19.3/modules/clipboard.py 2011-01-13 23:12:58.000000000 +0100
@@ -182,10 +182,12 @@
def to_html(self, clipboard, selectiondata, data):
"""From Clipboard to HTML Text"""
+ match = re.match('.*\x00\w\x00\w\x00\w.*', selectiondata.data) # \w is alphanumeric char
+ if match: selection_data = selectiondata.data.decode("utf-16", "ignore")
+ else: selection_data = selectiondata.data
#print selectiondata.data
- selection_data = re.sub(cons.BAD_CHARS, "", selectiondata.data)
#for char in selection_data: print ord(char)
- selection_data = selection_data.replace("\xa0", cons.CHAR_SPACE)
+ selection_data = re.sub(cons.BAD_CHARS, "", selection_data)
html_import = imports.HTMLFromClipboardHandler(self.dad)
xml_string = html_import.get_clipboard_selection_xml(selection_data)
self.from_xml_string_to_buffer(xml_string)
Files old/cherrytree-0.19/modules/clipboard.pyc and new/cherrytree-0.19.3/modules/clipboard.pyc differ
Files old/cherrytree-0.19/modules/codeboxes.pyc and new/cherrytree-0.19.3/modules/codeboxes.pyc differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cherrytree-0.19/modules/config.py new/cherrytree-0.19.3/modules/config.py
--- old/cherrytree-0.19/modules/config.py 2010-12-28 23:20:27.000000000 +0100
+++ new/cherrytree-0.19.3/modules/config.py 2011-01-13 23:12:58.000000000 +0100
@@ -22,6 +22,9 @@
import os, sys, xml.dom.minidom, gtk, pango, subprocess
import cons
+ICONS_SIZE = {1: gtk.ICON_SIZE_MENU, 2: gtk.ICON_SIZE_SMALL_TOOLBAR, 3: gtk.ICON_SIZE_LARGE_TOOLBAR,
+ 4: gtk.ICON_SIZE_DND, 5: gtk.ICON_SIZE_DIALOG}
+
def config_file_load(inst):
"""Load the Preferences from Config File"""
@@ -116,7 +119,7 @@
else: inst.table_columns = 3
if dom_iter.hasAttribute("toolbar_icon_size"):
inst.toolbar_icon_size = int( dom_iter.attributes["toolbar_icon_size"].value )
- if inst.toolbar_icon_size not in cons.ICONS_SIZE: inst.toolbar_icon_size = 1
+ if inst.toolbar_icon_size not in ICONS_SIZE: inst.toolbar_icon_size = 1
else: inst.toolbar_icon_size = 1
if dom_iter.hasAttribute("table_column_mode"):
inst.table_column_mode = dom_iter.attributes["table_column_mode"].value
@@ -248,7 +251,7 @@
inst.renderer_text.set_property('wrap-width', inst.cherry_wrap_width)
inst.ui.get_widget("/ToolBar").set_property("visible", inst.toolbar_visible)
inst.ui.get_widget("/ToolBar").set_style(gtk.TOOLBAR_ICONS)
- inst.ui.get_widget("/ToolBar").set_property("icon-size", cons.ICONS_SIZE[inst.toolbar_icon_size])
+ inst.ui.get_widget("/ToolBar").set_property("icon-size", ICONS_SIZE[inst.toolbar_icon_size])
if inst.autosave[0]: inst.autosave_timer_start()
inst.user_active = True
Files old/cherrytree-0.19/modules/config.pyc and new/cherrytree-0.19.3/modules/config.pyc differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cherrytree-0.19/modules/cons.py new/cherrytree-0.19.3/modules/cons.py
--- old/cherrytree-0.19/modules/cons.py 2011-01-01 00:03:00.000000000 +0100
+++ new/cherrytree-0.19.3/modules/cons.py 2011-01-16 22:08:17.000000000 +0100
@@ -19,10 +19,10 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA.
-import os, sys, gtk
+import os, sys
-VERSION = "0.19"
+VERSION = "0.19.3"
APP_NAME = "cherrytree"
NEWER_VERSION_URL = "http://www.giuspen.com/software/version_cherrytree"
if sys.platform[0:3] == "win":
@@ -51,8 +51,6 @@
TAG_PROPERTIES = ["weight", "foreground", "background", "style", "underline", "strikethrough",
"scale", "justification", "link"]
CUSTOM_COLORS_ID = "custom-colors"
-ICONS_SIZE = {1: gtk.ICON_SIZE_MENU, 2: gtk.ICON_SIZE_SMALL_TOOLBAR, 3: gtk.ICON_SIZE_LARGE_TOOLBAR,
- 4: gtk.ICON_SIZE_DND, 5: gtk.ICON_SIZE_DIALOG}
ANCHOR_CHAR = GLADE_PATH + 'anchor_char.png'
NODES_ICONS = {0:'Red Cherry', 1:'Blue Cherry', 2:'Orange Cherry', 3:'Cyan Cherry',
4:'Orange Dark Cherry', 5:'Sherbert Cherry', 6:'Yellow Cherry'}
@@ -461,7 +459,7 @@
( "UpCase", "Case Up", _("_Upper Case of Selection/Word"), "<control><shift>W", _("Upper the Case of the Selection/the Underlying Word"), inst.text_selection_upper_case),
( "ToggleCase", "Case Toggle", _("_Toggle Case of Selection/Word"), "<control>G", _("Toggle the Case of the Selection/the Underlying Word"), inst.text_selection_toggle_case),
( "DuplicateRow", "gtk-add", _("_Duplicate Row/Selection"), "<control>D", _("Duplicate the Whole Row/a Selection"), inst.text_row_selection_duplicate),
- ( "DeleteRow", "gtk-clear", _("De_lete Row"), "<control>E", _("Delete the Whole Row"), inst.text_row_delete),
+ ( "DeleteRow", "gtk-clear", _("De_lete Row"), "<control>K", _("Delete the Whole Row"), inst.text_row_delete),
( "Undo", "gtk-undo", _("_Undo"), "<control>Z", _("Undo Last Operation"), inst.requested_step_back),
( "Redo", "gtk-redo", _("_Redo"), "<control>Y", _("Redo Previously Discarded Operation"), inst.requested_step_ahead),
( "InheritSyntax", "gtk-execute", _("_Inherit Syntax"), None, _("Change the Selected Node's Children Syntax Highlighting to the Father's Syntax Highlighting"), inst.node_inherit_syntax),
@@ -472,7 +470,7 @@
( "Bold", "gtk-bold", _("Toggle _Bold Property"), "<control>B", _("Toggle Bold Property of the Selected Text"), inst.apply_tag_bold),
( "Italic", "gtk-italic", _("Toggle _Italic Property"), "<control>I", _("Toggle Italic Property of the Selected Text"), inst.apply_tag_italic),
( "Underline", "gtk-underline", _("Toggle _Underline Property"), "<control>U", _("Toggle Underline Property of the Selected Text"), inst.apply_tag_underline),
- ( "Strikethrough", "gtk-strikethrough", _("Toggle Stri_kethrough Property"), "<control>K", _("Toggle Strikethrough Property of the Selected Text"), inst.apply_tag_strikethrough),
+ ( "Strikethrough", "gtk-strikethrough", _("Toggle Stri_kethrough Property"), "<control>E", _("Toggle Strikethrough Property of the Selected Text"), inst.apply_tag_strikethrough),
( "H1", "Format Text Large", _("Toggle h_1 Property"), "<control>1", _("Toggle h1 Property of the Selected Text"), inst.apply_tag_large),
( "H2", "Format Text Large2", _("Toggle h_2 Property"), "<control>2", _("Toggle h2 Property of the Selected Text"), inst.apply_tag_large2),
( "Small", "Format Text Small", _("Toggle _Small Property"), "<control>0", _("Toggle Small Property of the Selected Text"), inst.apply_tag_small),
Files old/cherrytree-0.19/modules/cons.pyc and new/cherrytree-0.19.3/modules/cons.pyc differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cherrytree-0.19/modules/core.py new/cherrytree-0.19.3/modules/core.py
--- old/cherrytree-0.19/modules/core.py 2011-01-01 00:13:44.000000000 +0100
+++ new/cherrytree-0.19.3/modules/core.py 2011-01-16 20:27:46.000000000 +0100
@@ -115,6 +115,12 @@
self.treestore = gtk.TreeStore(str, str, gobject.TYPE_PYOBJECT, long, str, int, str)
self.treeview = gtk.TreeView(self.treestore)
self.treeview.set_headers_visible(False)
+ self.treeview.drag_source_set(gtk.gdk.BUTTON1_MASK,
+ [('CT_DND', gtk.TARGET_SAME_WIDGET, 0)],
+ gtk.gdk.ACTION_MOVE)
+ self.treeview.drag_dest_set(gtk.DEST_DEFAULT_ALL,
+ [('CT_DND', gtk.TARGET_SAME_WIDGET, 0)],
+ gtk.gdk.ACTION_MOVE)
self.renderer_pixbuf = gtk.CellRendererPixbuf()
self.renderer_text = gtk.CellRendererText()
self.renderer_text.set_property('wrap-mode', pango.WRAP_WORD_CHAR)
@@ -129,6 +135,9 @@
self.treeview.connect('cursor-changed', self.on_node_changed)
self.treeview.connect('button-press-event', self.on_mouse_button_clicked_tree)
self.treeview.connect('key_press_event', self.on_key_press_cherrytree)
+ self.treeview.connect('drag-motion', self.on_drag_motion_cherrytree)
+ self.treeview.connect('drag-data-received', self.on_drag_data_recv_cherrytree)
+ self.treeview.connect('drag-data-get', self.on_drag_data_get_cherrytree)
self.scrolledwindow_tree.add(self.treeview)
self.window.connect('window-state-event', self.on_window_state_event)
self.window.connect("size-allocate", self.on_window_n_tree_size_allocate_event)
@@ -242,17 +251,42 @@
"""Duplicates the Whole Row or a Selection"""
if self.curr_buffer.get_has_selection():
iter_start, iter_end = self.curr_buffer.get_selection_bounds() # there's a selection
- text_to_duplicate = self.curr_buffer.get_slice(iter_start, iter_end)
- if cons.CHAR_NEWLINE in text_to_duplicate: text_to_duplicate = cons.CHAR_NEWLINE + text_to_duplicate
- self.curr_buffer.insert(iter_end, text_to_duplicate)
+ sel_start_offset = iter_start.get_offset()
+ sel_end_offset = iter_end.get_offset()
+ if self.syntax_highlighting != cons.CUSTOM_COLORS_ID:
+ text_to_duplicate = self.curr_buffer.get_slice(iter_start, iter_end)
+ if cons.CHAR_NEWLINE in text_to_duplicate:
+ text_to_duplicate = cons.CHAR_NEWLINE + text_to_duplicate
+ self.curr_buffer.insert(iter_end, text_to_duplicate)
+ else:
+ rich_text = self.clipboard_handler.rich_text_get_from_text_buffer_selection(self.curr_buffer,
+ iter_start,
+ iter_end)
+ if cons.CHAR_NEWLINE in rich_text:
+ self.curr_buffer.insert(iter_end, cons.CHAR_NEWLINE)
+ iter_end = self.curr_buffer.get_iter_at_offset(sel_end_offset+1)
+ self.curr_buffer.move_mark(self.curr_buffer.get_insert(), iter_end)
+ self.clipboard_handler.from_xml_string_to_buffer(rich_text)
+ self.curr_buffer.select_range(self.curr_buffer.get_iter_at_offset(sel_start_offset),
+ self.curr_buffer.get_iter_at_offset(sel_end_offset))
else:
iter_start, iter_end = self.lists_handler.get_paragraph_iters()
if iter_start == None:
iter_start = self.curr_buffer.get_iter_at_mark(self.curr_buffer.get_insert())
self.curr_buffer.insert(iter_start, cons.CHAR_NEWLINE)
else:
- text_to_duplicate = self.curr_buffer.get_slice(iter_start, iter_end)
- self.curr_buffer.insert(iter_end, cons.CHAR_NEWLINE + text_to_duplicate)
+ if self.syntax_highlighting != cons.CUSTOM_COLORS_ID:
+ text_to_duplicate = self.curr_buffer.get_slice(iter_start, iter_end)
+ self.curr_buffer.insert(iter_end, cons.CHAR_NEWLINE + text_to_duplicate)
+ else:
+ rich_text = self.clipboard_handler.rich_text_get_from_text_buffer_selection(self.curr_buffer,
+ iter_start,
+ iter_end)
+ sel_end_offset = iter_end.get_offset()
+ self.curr_buffer.insert(iter_end, cons.CHAR_NEWLINE)
+ iter_end = self.curr_buffer.get_iter_at_offset(sel_end_offset+1)
+ self.curr_buffer.move_mark(self.curr_buffer.get_insert(), iter_end)
+ self.clipboard_handler.from_xml_string_to_buffer(rich_text)
self.state_machine.update_state(self.treestore[self.curr_tree_iter][3])
def text_row_delete(self, *args):
@@ -273,6 +307,50 @@
self.ui.get_widget("/TreeMenu").popup(None, None, None, 0, event.time)
widget.stop_emission("key_press_event")
+ def on_drag_motion_cherrytree(self, widget, drag_context, x, y, timestamp):
+ """Cherry Tree drag motion"""
+ drop_info = self.treeview.get_dest_row_at_pos(x, y)
+ if drop_info:
+ drop_path, drop_pos = drop_info
+ widget.set_drag_dest_row(drop_path, drop_pos)
+ return True
+
+ def on_drag_data_recv_cherrytree(self, widget, drag_context, x, y, selection_data, info, timestamp):
+ """Cherry Tree drag data received"""
+ drop_info = self.treeview.get_dest_row_at_pos(x, y)
+ if drop_info:
+ drop_path, drop_pos = drop_info
+ if not drop_pos: drop_pos = gtk.TREE_VIEW_DROP_BEFORE
+ drop_iter = self.treestore.get_iter(drop_path)
+ # check for bad drop
+ if not self.drag_iter: return False
+ drag_node_id = self.treestore[self.drag_iter][3]
+ if self.treestore[drop_iter][3] == drag_node_id:
+ print "drag node and drop node are the same"
+ return False
+ move_towards_top_iter = self.treestore.iter_parent(drop_iter)
+ while move_towards_top_iter:
+ if self.treestore[move_towards_top_iter][3] == drag_node_id:
+ support.dialog_error(_("The new father can't be one of his sons!"), self.window)
+ return False
+ move_towards_top_iter = self.treestore.iter_parent(move_towards_top_iter)
+ if drop_pos == gtk.TREE_VIEW_DROP_BEFORE:
+ prev_iter = self.get_tree_iter_prev_sibling(self.treestore, drop_iter)
+ self.node_move_after(self.drag_iter, self.treestore.iter_parent(drop_iter), prev_iter, True)
+ elif drop_pos == gtk.TREE_VIEW_DROP_AFTER:
+ self.node_move_after(self.drag_iter, self.treestore.iter_parent(drop_iter), drop_iter)
+ else: # drop in
+ self.node_move_after(self.drag_iter, drop_iter)
+ if self.nodes_icons == "c": self.treeview_refresh(change_icon=True)
+ return True
+
+ def on_drag_data_get_cherrytree(self, widget, drag_context, selection_data, info, timestamp):
+ """Cherry Tree drag data received"""
+ tree_model, tree_iter = self.treeviewselection.get_selected()
+ self.drag_iter = tree_iter
+ selection_data.set("UTF8_STRING", 8, "fake") # without this, the drag_data_recv will not be called
+ return True
+
def on_key_press_choosenodedialog(self, widget, event):
"""Catches ChooseNode Dialog key presses"""
keyname = gtk.gdk.keyval_name(event.keyval)
@@ -583,6 +661,9 @@
def change_icon_iter(self, tree_iter):
"""Changing all icons type - iter"""
+ father_iter = self.treestore.iter_parent(tree_iter)
+ if father_iter: self.treestore[tree_iter][5] = self.treestore[father_iter][5] + 1
+ else: self.treestore[tree_iter][5] = 0
self.treestore[tree_iter][0] = self.get_node_icon(self.treestore[tree_iter][5], self.treestore[tree_iter][4])
child_tree_iter = self.treestore.iter_children(tree_iter)
while child_tree_iter:
@@ -706,7 +787,7 @@
curr_folder=self.file_dir,
parent=self.window)
if filepath != None:
- self.reset()
+ if not self.reset(): return
self.file_load(filepath)
if self.expand_tree: self.treeview.expand_all()
first_node_iter = self.treestore.get_iter_first()
@@ -872,12 +953,11 @@
def file_new(self, *args):
"""Starts a new unsaved instance"""
- self.reset()
- self.node_add()
+ if self.reset(): self.node_add()
def reset(self):
"""Reset the Application"""
- if not self.tree_is_empty() and not self.check_unsaved(): return
+ if not self.tree_is_empty() and not self.check_unsaved(): return False
if self.curr_tree_iter != None:
self.curr_buffer.set_text("")
self.curr_tree_iter = None
@@ -888,6 +968,7 @@
self.update_window_save_not_needed()
self.state_machine.reset()
self.sourceview.set_sensitive(False)
+ return True
def node_and_subnodes_export(self, action):
"""Export the Selected Node and its Subnodes"""
@@ -1052,17 +1133,16 @@
return
father_iter = self.treestore.iter_parent(self.curr_tree_iter)
if father_iter != None:
- self.treestore[self.curr_tree_iter][5] = self.treestore[father_iter][5]
- self.treestore[self.curr_tree_iter][0] = self.get_node_icon(self.treestore[self.curr_tree_iter][5],
- self.treestore[self.curr_tree_iter][4])
self.node_move_after(self.curr_tree_iter,
self.treestore.iter_parent(father_iter),
father_iter)
+ if self.nodes_icons == "c": self.treeview_refresh(change_icon=True)
- def node_move_after(self, iter_to_move, father_iter, brother_iter=None):
+ def node_move_after(self, iter_to_move, father_iter, brother_iter=None, set_first=False):
"""Move a node to a father and after a brother"""
if brother_iter != None:
new_node_iter = self.treestore.insert_after(father_iter, brother_iter, self.treestore[iter_to_move])
+ elif set_first: new_node_iter = self.treestore.prepend(father_iter, self.treestore[iter_to_move])
else: new_node_iter = self.treestore.append(father_iter, self.treestore[iter_to_move])
# we move also all the children
self.node_move_children(iter_to_move, new_node_iter)
@@ -1113,10 +1193,8 @@
support.dialog_error(_("The new father can't be one of his sons!"), self.window)
return
move_towards_top_iter = self.treestore.iter_parent(move_towards_top_iter)
- self.treestore[self.curr_tree_iter][5] = self.treestore[father_iter][5] + 1
- self.treestore[self.curr_tree_iter][0] = self.get_node_icon(self.treestore[self.curr_tree_iter][5],
- self.treestore[self.curr_tree_iter][4])
self.node_move_after(self.curr_tree_iter, father_iter)
+ if self.nodes_icons == "c": self.treeview_refresh(change_icon=True)
def node_choose_view_exist_or_create(self, node_sel_id=None):
"""If The View Was Never Used, this will Create It"""
@@ -1777,7 +1855,7 @@
support.dialog_info(_("The Size of the Toolbar Icons is already at the Maximum Value"), self.window)
return
self.toolbar_icon_size += 1
- self.ui.get_widget("/ToolBar").set_property("icon-size", cons.ICONS_SIZE[self.toolbar_icon_size])
+ self.ui.get_widget("/ToolBar").set_property("icon-size", config.ICONS_SIZE[self.toolbar_icon_size])
def toolbar_icons_size_decrease(self, *args):
"""Decrease the Size of the Toolbar Icons"""
@@ -1785,7 +1863,7 @@
support.dialog_info(_("The Size of the Toolbar Icons is already at the Minimum Value"), self.window)
return
self.toolbar_icon_size -= 1
- self.ui.get_widget("/ToolBar").set_property("icon-size", cons.ICONS_SIZE[self.toolbar_icon_size])
+ self.ui.get_widget("/ToolBar").set_property("icon-size", config.ICONS_SIZE[self.toolbar_icon_size])
def toggle_show_hide_toolbar(self, *args):
"""Toggle Show/Hide the Toolbar"""
@@ -1864,6 +1942,7 @@
else:
self.glade.anchor_insert_edit_entry.set_text("")
self.glade.anchorhandledialog.set_title(_("Insert Anchor"))
+ self.glade.anchor_insert_edit_entry.grab_focus()
self.glade.anchor_enter_name_hbox.show()
self.glade.scrolledwindow_anchors_list.hide()
response = self.glade.anchorhandledialog.run()
Files old/cherrytree-0.19/modules/core.pyc and new/cherrytree-0.19.3/modules/core.pyc differ
Files old/cherrytree-0.19/modules/exports.pyc and new/cherrytree-0.19.3/modules/exports.pyc differ
Files old/cherrytree-0.19/modules/findreplace.pyc and new/cherrytree-0.19.3/modules/findreplace.pyc differ
Files old/cherrytree-0.19/modules/imports.pyc and new/cherrytree-0.19.3/modules/imports.pyc differ
Files old/cherrytree-0.19/modules/lists.pyc and new/cherrytree-0.19.3/modules/lists.pyc differ
Files old/cherrytree-0.19/modules/machines.pyc and new/cherrytree-0.19.3/modules/machines.pyc differ
Files old/cherrytree-0.19/modules/printing.pyc and new/cherrytree-0.19.3/modules/printing.pyc differ
Files old/cherrytree-0.19/modules/support.pyc and new/cherrytree-0.19.3/modules/support.pyc differ
Files old/cherrytree-0.19/modules/tablez.pyc and new/cherrytree-0.19.3/modules/tablez.pyc differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cherrytree-0.19/setup.py new/cherrytree-0.19.3/setup.py
--- old/cherrytree-0.19/setup.py 2010-12-31 14:38:34.000000000 +0100
+++ new/cherrytree-0.19.3/setup.py 2011-01-13 23:12:58.000000000 +0100
@@ -20,7 +20,7 @@
data_files = [("glade", glob.glob("glade/*.*") )]
for lang in cons.AVAILABLE_LANGS:
if lang in ["default", "en"]: continue
- data_files.append( ("share/locale/%s/LC_MESSAGES" % lang, ["locale/%s/LC_MESSAGES/cherrytree.mo" % lang] ) )
+ data_files.append( ("locale/%s/LC_MESSAGES" % lang, ["locale/%s/LC_MESSAGES/cherrytree.mo" % lang] ) )
else:
data_files = [
("share/icons/hicolor/scalable/apps", ["linux/cherrytree.svg"] ),
@@ -62,5 +62,8 @@
data_files = data_files
)
-if "py2exe" in sys.argv: print "remember to move 'dist/share/locale' to 'dist/locale' and copy 'C:\gtksourceview\share\gtksourceview-2.0' to 'dist/share/', finally copy 7za.exe in the cherrytree folder"
+if "py2exe" in sys.argv:
+ import shutil
+ shutil.copytree("C:\gtksourceview\share\gtksourceview-2.0", "dist\share\gtksourceview-2.0")
+ print "remember to copy 7za.exe to the dist folder"
else: subprocess.call("update-desktop-database")
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org