diff options
author | alecpl <alec@alec.pl> | 2011-05-16 13:53:08 +0000 |
---|---|---|
committer | alecpl <alec@alec.pl> | 2011-05-16 13:53:08 +0000 |
commit | a509bb677ca626315d71e07afc8342a0690b6859 (patch) | |
tree | e55d28844812e713157aeeab2ed378adebd2ab05 | |
parent | 9b6c82fdc8e0f74a1ca0f838e710c944c5526f65 (diff) |
- Add option to set default action of Forward button to "Forward as attachment"
-rw-r--r-- | config/main.inc.php.dist | 3 | ||||
-rw-r--r-- | program/js/app.js | 11 | ||||
-rw-r--r-- | program/steps/mail/func.inc | 6 | ||||
-rw-r--r-- | program/steps/mail/show.inc | 2 | ||||
-rw-r--r-- | skins/default/common.css | 5 | ||||
-rw-r--r-- | skins/default/functions.js | 7 | ||||
-rw-r--r-- | skins/default/includes/messagetoolbar.html | 12 |
7 files changed, 36 insertions, 10 deletions
diff --git a/config/main.inc.php.dist b/config/main.inc.php.dist index 381795d87..3391d1608 100644 --- a/config/main.inc.php.dist +++ b/config/main.inc.php.dist @@ -695,4 +695,7 @@ $rcmail_config['dsn_default'] = 0; // Place replies in the folder of the message being replied to $rcmail_config['reply_same_folder'] = false; +// Sets default mode of Forward feature to "forward as attachment" +$rcmail_config['forward_attachment'] = false; + // end of config file diff --git a/program/js/app.js b/program/js/app.js index 3f103de65..c4aa50995 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -931,10 +931,13 @@ function rcube_webmail() case 'forward-attachment': case 'forward': - var uid; - if (uid = this.get_single_uid()) - this.goto_url('compose', '_forward_uid='+uid+'&_mbox='+urlencode(this.env.mailbox) - + (command == 'forward-attachment' ? '&_attachment=1' : ''), true); + var uid, url; + if (uid = this.get_single_uid()) { + url = '_forward_uid='+uid+'&_mbox='+urlencode(this.env.mailbox); + if (command == 'forward-attachment' || (!props && this.env.forward_attachment)) + url += '&_attachment=1'; + this.goto_url('compose', url, true); + } break; case 'print': diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc index 36b4c02a6..e0504e658 100644 --- a/program/steps/mail/func.inc +++ b/program/steps/mail/func.inc @@ -106,6 +106,7 @@ if (empty($RCMAIL->action) || $RCMAIL->action == 'list') { $OUTPUT->set_env('delimiter', $IMAP->get_hierarchy_delimiter()); $OUTPUT->set_env('threading', (bool) $IMAP->threading); $OUTPUT->set_env('threads', $IMAP->threading || $IMAP->get_capability('THREAD')); + $OUTPUT->set_env('preview_pane_mark_read', $RCMAIL->config->get('preview_pane_mark_read', 0)); if ($CONFIG['flag_for_deletion']) $OUTPUT->set_env('flag_for_deletion', true); @@ -115,9 +116,8 @@ if (empty($RCMAIL->action) || $RCMAIL->action == 'list') { $OUTPUT->set_env('skip_deleted', true); if ($CONFIG['display_next']) $OUTPUT->set_env('display_next', true); - - $OUTPUT->set_env('preview_pane_mark_read', $RCMAIL->config->get('preview_pane_mark_read', 0)); - + if ($CONFIG['forward_attachment']) + $OUTPUT->set_env('forward_attachment', true); if ($CONFIG['trash_mbox']) $OUTPUT->set_env('trash_mailbox', $CONFIG['trash_mbox']); if ($CONFIG['drafts_mbox']) diff --git a/program/steps/mail/show.inc b/program/steps/mail/show.inc index 1d7a32693..8c063e8ea 100644 --- a/program/steps/mail/show.inc +++ b/program/steps/mail/show.inc @@ -64,6 +64,8 @@ if ($uid = get_input_value('_uid', RCUBE_INPUT_GET)) { $OUTPUT->set_env('display_next', true); if ($MESSAGE->headers->others['list-post']) $OUTPUT->set_env('list_post', true); + if ($CONFIG['forward_attachment']) + $OUTPUT->set_env('forward_attachment', true); if (!$OUTPUT->ajax_call) $OUTPUT->add_label('checkingmail', 'deletemessage', 'movemessagetotrash', diff --git a/skins/default/common.css b/skins/default/common.css index b1696ef85..6f1f264b7 100644 --- a/skins/default/common.css +++ b/skins/default/common.css @@ -490,6 +490,11 @@ body.iframe .boxtitle background-color: #c00; } +.popupmenu li input +{ + float: left; +} + .darkbg { background-color: #F2F2F2 !important; diff --git a/skins/default/functions.js b/skins/default/functions.js index c1dd8c2ab..9057d97c4 100644 --- a/skins/default/functions.js +++ b/skins/default/functions.js @@ -148,6 +148,13 @@ dragmessagemenu: function(show) this.popups.dragmessagemenu.obj[show?'show':'hide'](); }, +forwardmenu: function(show) +{ + $("input[name='forwardtype'][value="+(rcmail.env.forward_attachment ? 1 : 0)+"]", this.popups.forwardmenu.obj) + .prop('checked', true); + this.show_popupmenu('forwardmenu', show); +}, + uploadmenu: function(show) { if (typeof show == 'object') // called as event handler diff --git a/skins/default/includes/messagetoolbar.html b/skins/default/includes/messagetoolbar.html index dcc27caea..2ac23a12b 100644 --- a/skins/default/includes/messagetoolbar.html +++ b/skins/default/includes/messagetoolbar.html @@ -26,9 +26,15 @@ </div> <div id="forwardmenu" class="popupmenu"> - <ul> - <li><roundcube:button command="forward" label="forwardinline" prop="sub" classAct="forwardlink active" class="forwardlink" /></li> - <li><roundcube:button command="forward-attachment" label="forwardattachment" prop="sub" classAct="forwardattachmentlink active" class="forwardattachmentlink" /></li> + <ul class="toolbarmenu"> + <li> + <input type="radio" name="forwardtype" value="0" onchange="rcmail.command('save-pref', {name: 'forward_attachment', value: 0, env: 'forward_attachment'});" /> + <roundcube:button command="forward" label="forwardinline" prop="sub" classAct="forwardlink active" class="forwardlink" /> + </li> + <li> + <input type="radio" name="forwardtype" value="1" onchange="rcmail.command('save-pref', {name: 'forward_attachment', value: 1, env: 'forward_attachment'})" /> + <roundcube:button command="forward-attachment" label="forwardattachment" prop="sub" classAct="forwardattachmentlink active" class="forwardattachmentlink" /> + </li> <roundcube:container name="forwardmenu" id="forwardmenu" /> </ul> </div> |