cifrado r62 - in trunk/package/cifrado: . codeurs



Author: bersace
Date: Thu Apr  3 16:03:18 2008
New Revision: 62
URL: http://svn.gnome.org/viewvc/cifrado?rev=62&view=rev

Log:
Gestion globale paramÃtrable de la police des messages.


Modified:
   trunk/package/cifrado/cifrado.glade
   trunk/package/cifrado/cifrado.py
   trunk/package/cifrado/codeur.py
   trunk/package/cifrado/codeurs/aucun.py
   trunk/package/cifrado/codeurs/caesar.py
   trunk/package/cifrado/codeurs/chiffrer.py
   trunk/package/cifrado/codeurs/inverser.py
   trunk/package/cifrado/codeurs/morse.py
   trunk/package/cifrado/codeurs/polybius.py
   trunk/package/cifrado/codeurs/roulement.py
   trunk/package/cifrado/codeurs/vigenere.py
   trunk/package/cifrado/jeu.py
   trunk/package/cifrado/message.py

Modified: trunk/package/cifrado/cifrado.glade
==============================================================================
--- trunk/package/cifrado/cifrado.glade	(original)
+++ trunk/package/cifrado/cifrado.glade	Thu Apr  3 16:03:18 2008
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
-<!--Generated with glade3 3.4.2 on Thu Apr  3 16:12:56 2008 -->
+<!--Generated with glade3 3.4.2 on Thu Apr  3 16:40:48 2008 -->
 <glade-interface>
   <widget class="GtkWindow" id="cifrado_fenetre">
     <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
@@ -90,6 +90,21 @@
                       </widget>
                     </child>
                     <child>
+                      <widget class="GtkImageMenuItem" id="menu_police_choisir">
+                        <property name="visible">True</property>
+                        <property name="tooltip" translatable="yes">Choisir la police par dÃfaut des messages.</property>
+                        <property name="label" translatable="yes">_Police par dÃfaut</property>
+                        <property name="use_underline">True</property>
+                        <signal name="activate" handler="on_menu_police_choisir_activate"/>
+                        <child internal-child="image">
+                          <widget class="GtkImage" id="menu-item-image2">
+                            <property name="visible">True</property>
+                            <property name="icon_name">fonts</property>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
                       <widget class="GtkImageMenuItem" id="menu_jeu_imprimer">
                         <property name="visible">True</property>
                         <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
@@ -1160,10 +1175,13 @@
     </child>
   </widget>
   <widget class="GtkFontSelectionDialog" id="selecteur_police_dialog">
-    <property name="border_width">5</property>
-    <property name="title" translatable="yes">SÃlecteur de polices</property>
+    <property name="border_width">6</property>
+    <property name="title" translatable="yes">SÃlectionner la police par dÃfaut</property>
+    <property name="modal">True</property>
     <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="icon_name">cifrado</property>
     <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <signal name="response" handler="on_selecteur_police_dialog_response"/>
     <child internal-child="font_selection">
       <widget class="GtkFontSelection" id="fontsel-font_selection1">
         <property name="visible">True</property>
@@ -1190,7 +1208,6 @@
     </child>
     <child internal-child="apply_button">
       <widget class="GtkButton" id="fontsel-apply_button1">
-        <property name="visible">True</property>
         <property name="can_focus">True</property>
         <property name="can_default">True</property>
         <property name="receives_default">True</property>

Modified: trunk/package/cifrado/cifrado.py
==============================================================================
--- trunk/package/cifrado/cifrado.py	(original)
+++ trunk/package/cifrado/cifrado.py	Thu Apr  3 16:03:18 2008
@@ -86,6 +86,9 @@
             'on_msg_impr_btn_clicked':                  self.on_msg_impr_btn_clicked,
             # autre
             'on_trame_exp_activate':                    self.on_champ_exp_activate,
+            # police
+            'on_menu_police_choisir_activate':          self.on_menu_police_choisir_activate,
+            'on_selecteur_police_dialog_response':      self.on_selecteur_police_dialog_response,
             }
         self.glade.signal_autoconnect(dic)
         self.glade.get_widget('msg_liste').get_selection().connect('changed', self.on_msg_selected)
@@ -407,7 +410,8 @@
             self.glade.get_widget(id).set_model(None)
 
         ids = ['cifrado_onglets', 'imprimer_btn', 'enregistrer_btn',
-               'menu_jeu_fermer', 'menu_jeu_enr', 'menu_jeu_enr_sous', 'menu_jeu_imprimer']
+               'menu_jeu_fermer', 'menu_jeu_enr', 'menu_jeu_enr_sous', 'menu_jeu_imprimer',
+               'menu_police_choisir']
         for id in ids:
             self.glade.get_widget(id).set_sensitive(False)
 
@@ -426,9 +430,11 @@
         self.glade.get_widget('msg_liste').set_model(jeu.messages)
         self.glade.get_widget('em_dest_select').set_model(jeu.forces)
         self.glade.get_widget('em_lieu_select').set_model(jeu.lieux)
+        self.glade.get_widget('selecteur_police_dialog').set_font_name(jeu.police);
 
         ids = ['cifrado_onglets', 'imprimer_btn', 'enregistrer_btn',
-               'menu_jeu_fermer', 'menu_jeu_enr', 'menu_jeu_enr_sous', 'menu_jeu_imprimer']
+               'menu_jeu_fermer', 'menu_jeu_enr', 'menu_jeu_enr_sous', 'menu_jeu_imprimer',
+               'menu_police_choisir']
         for id in ids:
             self.glade.get_widget(id).set_sensitive(True)
         self.jeu.sync = True
@@ -778,10 +784,14 @@
     def impr_message(self, op, contexte, no):
         n, msg, em = self.pages[no]
 
-        police = 'sans normal 9' # TODO: choisir la police globale/par message
         message = msg
         equipe = dest = em.dest
         dc = em.get_dernier_codeur()
+
+        police = dc.get_police()
+        if police is None:
+            police = self.jeu.police
+
         ih = 48
         marge = 0
         cr = contexte.get_cairo_context()
@@ -849,7 +859,6 @@
         layout.set_width(int(contexte.get_width()) * pango.SCALE)
         layout.set_wrap(pango.WRAP_WORD)
         fd = pango.FontDescription(police)
-        fd.set_size(dc.get_taille_police()*pango.SCALE)
         layout.set_font_description(fd)
         layout.set_text(em.convertir(message.message))
         w,h = layout.get_size()
@@ -974,3 +983,13 @@
 
     def on_menu_aide_aide_activate(self, item):
         gnome.help_display_uri('ghelp:cifrado')
+
+    # POLICE
+    def on_menu_police_choisir_activate(self, item):
+        dialog = self.glade.get_widget('selecteur_police_dialog')
+        dialog.run()
+
+    def on_selecteur_police_dialog_response(self, dialog, response):
+        if response == gtk.RESPONSE_OK:
+            self.jeu.police = dialog.get_font_name();
+        dialog.hide()

Modified: trunk/package/cifrado/codeur.py
==============================================================================
--- trunk/package/cifrado/codeur.py	(original)
+++ trunk/package/cifrado/codeur.py	Thu Apr  3 16:03:18 2008
@@ -14,7 +14,7 @@
 class   Codeur:
     nom = 'Sans nom'
     changed_func = None
-    
+
     # Coder API
     def get_prop_widget(self):
         return None
@@ -25,9 +25,8 @@
     def convertir(self, text):
         return text
 
-
-    def get_taille_police(self):
-        return 12
+    def get_police(self):
+        return None
 
     def get_interligne(self):
         return 1.5

Modified: trunk/package/cifrado/codeurs/aucun.py
==============================================================================
--- trunk/package/cifrado/codeurs/aucun.py	(original)
+++ trunk/package/cifrado/codeurs/aucun.py	Thu Apr  3 16:03:18 2008
@@ -11,8 +11,5 @@
 class Codeur(codeur.Codeur):
     nom = 'Aucun'
 
-    def get_taille_police(self):
-        return 9
-
     def get_interligne(self):
         return 0

Modified: trunk/package/cifrado/codeurs/caesar.py
==============================================================================
--- trunk/package/cifrado/codeurs/caesar.py	(original)
+++ trunk/package/cifrado/codeurs/caesar.py	Thu Apr  3 16:03:18 2008
@@ -18,6 +18,7 @@
         self.decalage = 3
 
     def convertir(self, text):
+        """DÃcale de trois lettres et chiffres."""
         text = self.strip_special_chars(text)
         result = "";
         

Modified: trunk/package/cifrado/codeurs/chiffrer.py
==============================================================================
--- trunk/package/cifrado/codeurs/chiffrer.py	(original)
+++ trunk/package/cifrado/codeurs/chiffrer.py	Thu Apr  3 16:03:18 2008
@@ -21,6 +21,7 @@
         self.letter_selector = None
         
     def convertir(self, text):
+        """Converti les  letres en chiffre suivant un dÃcalage paramÃtrÃ."""
         text = self.strip_special_chars(text)
         result = ''
 

Modified: trunk/package/cifrado/codeurs/inverser.py
==============================================================================
--- trunk/package/cifrado/codeurs/inverser.py	(original)
+++ trunk/package/cifrado/codeurs/inverser.py	Thu Apr  3 16:03:18 2008
@@ -14,6 +14,7 @@
     nom = 'Inverser'
 
     def convertir(self, text):
+        """Inverse l'ordre de l'alphabÃt"""
         text = self.strip_special_chars(text)
         result = ''
 

Modified: trunk/package/cifrado/codeurs/morse.py
==============================================================================
--- trunk/package/cifrado/codeurs/morse.py	(original)
+++ trunk/package/cifrado/codeurs/morse.py	Thu Apr  3 16:03:18 2008
@@ -29,8 +29,8 @@
         else:
             return None
 
-    def get_taille_police(self):
-        return 9
+    def get_police(self):
+        return 'sans normal 9'
 
     def get_interligne(self):
         return 1.25

Modified: trunk/package/cifrado/codeurs/polybius.py
==============================================================================
--- trunk/package/cifrado/codeurs/polybius.py	(original)
+++ trunk/package/cifrado/codeurs/polybius.py	Thu Apr  3 16:03:18 2008
@@ -20,9 +20,6 @@
     """ImplÃmente le codage de Polybius"""
     nom = 'Polybius'
 
-    def get_taille_police(self):
-        return 10
-
     def convertir(self, texte):
         """Converti le texte en remplaÃant une lettre par ses coordonnÃes dans
 la table. Attention, pas de parenthÃses ni virgules"""

Modified: trunk/package/cifrado/codeurs/roulement.py
==============================================================================
--- trunk/package/cifrado/codeurs/roulement.py	(original)
+++ trunk/package/cifrado/codeurs/roulement.py	Thu Apr  3 16:03:18 2008
@@ -21,6 +21,7 @@
         self.original_selector = None
     
     def convertir(self, text):
+        """DÃcale l'aphabÃt suivant le choix de l'utilisateur."""
         text = self.strip_special_chars(text)
         result = "";
         

Modified: trunk/package/cifrado/codeurs/vigenere.py
==============================================================================
--- trunk/package/cifrado/codeurs/vigenere.py	(original)
+++ trunk/package/cifrado/codeurs/vigenere.py	Thu Apr  3 16:03:18 2008
@@ -19,6 +19,7 @@
         self.clef = 'clef'
         
     def convertir(self, text):
+        """DÃcale dynamiquement l'alphabÃt suivant une clef donnà par l'utilisateur"""
         text = self.strip_special_chars(text)
         result = ''
         clef = self.toalpha(self.clef.lower())

Modified: trunk/package/cifrado/jeu.py
==============================================================================
--- trunk/package/cifrado/jeu.py	(original)
+++ trunk/package/cifrado/jeu.py	Thu Apr  3 16:03:18 2008
@@ -17,8 +17,9 @@
 def charger(el):
     jeu = Jeu(nom = el.getAttribute('nom'),
               nb_chefs = el.getAttribute('nb-chefs'),
-              trame = el.getElementsByTagName('trame')[0].childNodes[0].nodeValue)
-    
+              trame = el.getElementsByTagName('trame')[0].childNodes[0].nodeValue.strip(),
+              police = el.getAttribute('police'))
+
     for e in el.getElementsByTagName('lieu'):
         jeu.ajouter_lieu(lieu.charger(e))
 
@@ -33,11 +34,12 @@
     return jeu
 
 class Jeu:
-    def __init__(self, nom="",trame="", nb_chefs=4):
+    def __init__(self, nom="",trame="", nb_chefs=4, police='sans normal 9'):
         self.nom        = nom
         self.trame      = trame
         self.nb_chefs   = nb_chefs
         self.sync       = True
+        self.police     = police
 
         # lieux
         self.lieux      = gtk.ListStore(gobject.TYPE_STRING,
@@ -89,6 +91,7 @@
         j = doc.createElement('jeu')
         j.setAttribute('nom', self.nom)
         j.setAttribute('nb-chefs', str(self.nb_chefs))
+        j.setAttribute('police', self.police);
 
         e = doc.createElement('trame');
         j.appendChild(e);

Modified: trunk/package/cifrado/message.py
==============================================================================
--- trunk/package/cifrado/message.py	(original)
+++ trunk/package/cifrado/message.py	Thu Apr  3 16:03:18 2008
@@ -13,7 +13,7 @@
     titre = el.getAttribute('titre')
     date = el.getAttribute('date')
     exp = jeu.get_force_depuis_nom(el.getAttribute('exp'))
-    message = el.getElementsByTagName('texte')[0].childNodes[0].nodeValue
+    message = el.getElementsByTagName('texte')[0].childNodes[0].nodeValue.strip()
 
     emissions = {}
     for e in el.getElementsByTagName('emission'):



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]