MOD affichage des smiles dans une fenetre
authorGreg Burri <greg.burri@gmail.com>
Sun, 4 May 2008 20:42:11 +0000 (20:42 +0000)
committerGreg Burri <greg.burri@gmail.com>
Sun, 4 May 2008 20:42:11 +0000 (20:42 +0000)
css/1/euphorik.css
css/1/pageMinichat.css
doc/TODO.txt
doc/graphiques/bouton_smiles.xcf [new file with mode: 0644]
img/css1/bouton_smiles.png [new file with mode: 0644]
img/smileys/bn.gif [new file with mode: 0644]
img/smileys/hum.gif
img/smileys/redface.gif [new file with mode: 0644]
js/euphorik.js
js/pageMinichat.js

index 67848f0..2630f1f 100755 (executable)
@@ -91,7 +91,7 @@ div#info {
        z-index: 20;\r
 }
 
-div#info .fermer {
+div#info div.fermer {
        float:right;
        cursor: pointer;
        height:16px;
index 67a915d..208584b 100755 (executable)
@@ -4,17 +4,19 @@
        vertical-align: bottom;
 }
 
-#page.minichat #smiles {
-       border-width: 1px 0px 1px 0px;
+#smiles {
+       border-width: 1px 1px 1px 1px;
        border-color: #253f18;
        border-style: solid;
        margin-bottom: 10px;
        padding: 1px;
-       height: 100%;
+       width: 100px;
        background-color: #0c2003;
+       position: absolute;
+       display: none
 }
-
-#page.minichat #smiles img {
+#smiles img {
+       margin: 1px;
        cursor: pointer;
        opacity: 0.5;
 }
    margin-bottom: 15px;
    padding-left: 10px;
 }
-
 #page.minichat form .pseudo {
    margin-right: 5px;
 }
-
 #page.minichat form .message {
    margin-right: 5px;
 }
-
 #page.minichat form .return {
-       height: 15px;
+       height: 16px;
        width: 32px;
        background-image: url(../../img/css1/return.png);
        background-repeat: no-repeat;
        background-position: 5px 2px;
        vertical-align: top;
 }
+#page.minichat form .smiles {
+       height: 16px;
+       width: 16px;
+       background-image: url(../../img/css1/bouton_smiles.png);
+       background-repeat: no-repeat;
+       background-position: 2px 2px;
+       vertical-align: top;
+}
 
 /* voir pour l'astuce css "float left" des conversations : http://www.quirksmode.org/css/clearing.html */
 #page.minichat #conversations {        
        float: right;
        padding-right: 5px;
        padding-left: 5px;
-       background-color: #c90000;
+       background-color: #7d1b1b;
        cursor: pointer;
 }
 
index 96977c3..27e80f9 100755 (executable)
@@ -8,15 +8,6 @@
 * Mettre un icone (genre sablier ou truc qui tourne à la apple) lorsque le chat se charge (également lors d'un changement de page par exemple)\r
 * Modifier la syntaxe des smiles actuels (pour pas qu'ils entre en conflit avec totoz)\r
 * Ajouter dans la FAQ et/ou dans la page d'enregistrement les conditions d'utilisation, genre "chacun est responsable de ses dires" https://linuxfr.org/bouchot/\r
-* Ajouter de nouveaux smiles et changer la syntax pour eviter le conflit avec totoz :\r
-   * "slurp" : http://forum-images.hardware.fr/images/perso/huit.gif\r
-   * "agreed" : http://forum-images.hardware.fr/icones/smilies/jap.gif\r
-   * "dodo" (tete avec un bonnet de nuit et des ZZZZ)\r
-   * "hum?" : http://forum-images.hardware.fr/icones/smilies/heink.gif\r
-   * "pas reveillé" avec une tasse de café et des cernes : http://forum-images.hardware.fr/images/perso/elmoricq.gif\r
-   * "interrogation" genre http://forum-images.hardware.fr/icones/confused.gif\r
-   * http://forum-images.hardware.fr/images/perso/dao.gif ou http://forum-images.hardware.fr/icones/redface.gif\r
-   * http://forum-images.hardware.fr/icones/ohwell.gif\r
 * Avoir un thème de discussion affiché en haut des messages genre appellé "troll de la semaine : linux sera-t-il desktop ready en 2008?"\r
 * Un statut "EK" avec plein de privilège à la con. (avoir une petite étoile à coté de son nick ou le nick d'une certaine couleur)\r
    * Une page pour voir les trolls de la semaine et pouvoir en ajouter et modifier les siens (page "admin")\r
    * pseudo(login)
 * Créer un favicon (joli)
 [ok] Créer une page 'about'
+[ok] Ajouter de nouveaux smiles et changer la syntax pour eviter le conflit avec totoz :
+   * "slurp" : http://forum-images.hardware.fr/images/perso/huit.gif
+   * "agreed" : http://forum-images.hardware.fr/icones/smilies/jap.gif
+   * "dodo" (tete avec un bonnet de nuit et des ZZZZ)
+   * "hum?" : http://forum-images.hardware.fr/icones/smilies/heink.gif
+   * "pas reveillé" avec une tasse de café et des cernes : http://forum-images.hardware.fr/images/perso/elmoricq.gif
+   * "interrogation" genre http://forum-images.hardware.fr/icones/confused.gif
+   * http://forum-images.hardware.fr/images/perso/dao.gif ou http://forum-images.hardware.fr/icones/redface.gif
+   * http://forum-images.hardware.fr/icones/ohwell.gif
 
 === Bugs ===
 1 : Critique
diff --git a/doc/graphiques/bouton_smiles.xcf b/doc/graphiques/bouton_smiles.xcf
new file mode 100644 (file)
index 0000000..21ac57a
Binary files /dev/null and b/doc/graphiques/bouton_smiles.xcf differ
diff --git a/img/css1/bouton_smiles.png b/img/css1/bouton_smiles.png
new file mode 100644 (file)
index 0000000..40a681d
Binary files /dev/null and b/img/css1/bouton_smiles.png differ
diff --git a/img/smileys/bn.gif b/img/smileys/bn.gif
new file mode 100644 (file)
index 0000000..dba4463
Binary files /dev/null and b/img/smileys/bn.gif differ
index c7e8beb..db24401 100644 (file)
Binary files a/img/smileys/hum.gif and b/img/smileys/hum.gif differ
diff --git a/img/smileys/redface.gif b/img/smileys/redface.gif
new file mode 100644 (file)
index 0000000..6e08e7b
Binary files /dev/null and b/img/smileys/redface.gif differ
index 3b17bf5..e8311da 100755 (executable)
@@ -40,7 +40,8 @@ var conf = {
       "kirby" : [/\[-kirby\]/g],
       "slurp" : [/\[-slurp\]/g],
       "agreed" : [/\[-agreed\]/g],
-      "dodo" : [/\[-dodo\]/g]\r
+      "dodo" : [/\[-dodo\]/g],
+      "bn" : [/\[-bn\]/g]\r
    }\r
 }\r
 
@@ -799,12 +800,7 @@ jQuery(document).ready(
       initialiserListeStyles(client)
 
       // TODO : pourquoi jQuery(document).unload ne fonctionne pas ?
-      jQuery(window).unload(
-         function()
-         {
-            client.flush(false)
-         }
-      )
+      jQuery(window).unload(function(){client.flush(false)})
       
       jQuery("#menu .minichat").click(function(){ pages.afficherPage("minichat") })
       jQuery("#menu .profile").click(function(){ pages.afficherPage("profile") })\r
index 8d914b4..9a88dce 100755 (executable)
@@ -14,14 +14,13 @@ function PageMinichat(client, formateur, util)
 
 PageMinichat.prototype.contenu = function()
 {
-// <input class="captcha" name="captcha" type="text" size="12"></input>\
    return '\
-<div id="smiles"></div>\
 <form method="post" action="">\
    <p>\
       <input class="captcha" name="captcha" type="text" size="8" maxlength="8"></input>\
       <input class="pseudo" name="pseudo" type="text" size="12" maxlength="50" value="&lt;nick&gt;"></input>\
       <input class="message" name="message" type="text" size="80" maxlength="500" value=""></input>\
+      <button class="smiles"></button>\
       <button class="return"></button>\
    </p>\
 </form>\
@@ -41,8 +40,10 @@ PageMinichat.prototype.charger = function()
    \r
    this.util.setCaretToEnd(jQuery("form input.message")[0])
 
+   // <smiles>
+   jQuery("body").append("<div id=\"smiles\"></div>")
    // affichage des smiles
-   jQuery("#smiles").html(this.formateur.getSmilesHTML()).children().each(
+   jQuery("#smiles").append(this.formateur.getSmilesHTML()).children().each(
       function(i)
       {
          var opacityBase = jQuery(this).css("opacity")
@@ -72,12 +73,28 @@ PageMinichat.prototype.charger = function()
          )
       }
    )
+   jQuery("form button.smiles").hover(
+      function(e)
+      {
+         var offset = jQuery(e.target).offset()
+         jQuery("#smiles").css("top", offset.top).css("left", offset.left).show()
+      },
+      function(e){}
+   )
+   jQuery("#smiles").hover(
+      function(){},
+      function(e)
+      {
+         jQuery("#smiles").hide()
+      }
+   )
+   // </smiles>
    
-   /// événements
-   jQuery("form button.return").click(
+   // événements
+   var nouveauMessage = 
       function()
-      {  \r
-         // captcha anti bot\r
+      {  
+         // captcha anti bot
          if (jQuery("form input.captcha").val() != "") return
       
          thisPage.envoyerMessage(
@@ -87,9 +104,19 @@ PageMinichat.prototype.charger = function()
             
          jQuery("form input.message")[0].focus()
       }
+      
+   jQuery("form input.message").keypress(
+      function(e)
+      {
+         if (e.which == 13) // return
+            nouveauMessage()
+      }
    )
+   
+   jQuery("form button.return").click(nouveauMessage)
+   
    // interdiction de submiter le formulaire
-   jQuery("form").submit(function(){return false})
+   jQuery("form").submit(function(){ return false})
    
    jQuery("input.pseudo").click(
       function()