Index: roundcubemail/program/js/app.js
===================================================================
--- roundcubemail/program/js/app.js	(révision 556)
+++ roundcubemail/program/js/app.js	(copie de travail)
@@ -152,7 +152,7 @@
         
         if (this.env.action=='show' || this.env.action=='preview')
           {
-          this.enable_command('show', 'reply', 'reply-all', 'forward', 'moveto', 'delete', 'viewsource', 'print', 'load-attachment', true);
+          this.enable_command('show', 'reply', 'reply-all', 'forward', 'moveto','mark-read','mark-unread', 'delete', 'viewsource', 'print', 'load-attachment', true);
           if (this.env.next_uid)
             {
             this.enable_command('nextmessage', true);
@@ -254,7 +254,7 @@
         if ((this.env.action=='add' || this.env.action=='edit') && this.gui_objects.editform)
           this.enable_command('save', true);
         else
-          this.enable_command('search', 'reset-search', 'moveto', true);
+          this.enable_command('search', 'reset-search', 'moveto','mark-read','mark-unread', true);
 
         this.enable_command('list', true);
         break;
@@ -651,7 +651,23 @@
         else if (this.task == 'addressbook' && this.drag_active)
           this.copy_contact(null, props);
         break;
-        
+
+      case 'mark-read':
+        //this.mark_message('read');
+        if (this.message_list)
+          this.toggle_read_status('read', this.message_list.get_selection() );
+        else
+          this.mark_message('read',this.get_single_uid()) ;
+        break;
+
+     case 'mark-unread':
+        //this.mark_message('unread');
+        if (this.message_list)
+          this.toggle_read_status('unread', this.message_list.get_selection() );
+        else
+          this.mark_message('unread',this.get_single_uid()) ;
+        break;
+
       case 'toggle_status':
         if (props && !props._row)
           break;
@@ -1091,12 +1107,12 @@
     if (this.env.mailbox == this.env.drafts_mailbox)
       {
       this.enable_command('show', selected);
-      this.enable_command('delete', 'moveto', list.selection.length>0 ? true : false);
+      this.enable_command('delete', 'moveto','mark-read','mark-unread', list.selection.length>0 ? true : false);
       }
     else
       {
       this.enable_command('show', 'reply', 'reply-all', 'forward', 'print', selected);
-      this.enable_command('delete', 'moveto', list.selection.length>0 ? true : false);
+      this.enable_command('delete', 'moveto','mark-read','mark-unread', list.selection.length>0 ? true : false);
       }
 
     // start timer for message preview (wait for double click)
Index: roundcubemail/skins/default/templates/mail.html
===================================================================
--- roundcubemail/skins/default/templates/mail.html	(révision 556)
+++ roundcubemail/skins/default/templates/mail.html	(copie de travail)
@@ -17,6 +17,8 @@
 <roundcube:button command="reply" imageSel="/images/buttons/reply_sel.png" imageAct="/images/buttons/reply_act.png" imagePas="/images/buttons/reply_pas.png" width="32" height="32" title="replytomessage" />
 <roundcube:button command="reply-all" imageSel="/images/buttons/replyall_sel.png" imageAct="/images/buttons/replyall_act.png" imagePas="/images/buttons/replyall_pas.png" width="32" height="32" title="replytoallmessage" />
 <roundcube:button command="forward" imageSel="/images/buttons/forward_sel.png" imageAct="/images/buttons/forward_act.png" imagePas="/images/buttons/forward_pas.png" width="32" height="32" title="forwardmessage" />
+<roundcube:button command="mark-read" imageSel="/images/buttons/mark_read_sel.png" imageAct="/images/buttons/mark_read_act.png" imagePas="/images/buttons/mark_read_pas.png" width="32" height="32" title="markreadmessage" />
+<roundcube:button command="mark-unread" imageSel="/images/buttons/mark_unread_sel.png" imageAct="/images/buttons/mark_unread_act.png" imagePas="/images/buttons/mark_unread_pas.png" width="32" height="32" title="markunreadmessage" />
 <roundcube:button command="delete" imageSel="/images/buttons/delete_sel.png" imageAct="/images/buttons/delete_act.png" imagePas="/images/buttons/delete_pas.png" width="32" height="32" title="deletemessage" />
 <roundcube:button command="print" imageSel="/images/buttons/print_sel.png" imageAct="/images/buttons/print_act.png" imagePas="/images/buttons/print_pas.png" width="32" height="32" title="printmessage" />
 </div>
