Hello, I'm using Roundcube for more than one year, and I really enjoy using it.
I recently added some features to my installation, so I made a patch. Maybe you could be interested in it. The patch answers to the #1457360 ticket [1]. Actually I posted some code in this ticket, but I think it is more comfortable for you in a patch, got from the last svn revision. I'm not an artist and I don't know how to make transparency with the gimp, so only "act" pictures are made, not "pas" and "sel". Cheers, Mat Links: ------ [1] http://trac.roundcube.net/trac.cgi/ticket/1457360
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>
<<attachment: mark_read_act.png>>
<<attachment: mark_unread_act.png>>
