diff options
author | thomascube <thomas@roundcube.net> | 2012-01-02 14:44:28 +0000 |
---|---|---|
committer | thomascube <thomas@roundcube.net> | 2012-01-02 14:44:28 +0000 |
commit | 7c2a9310c4104f51fcf56379dcc3511fa5bfae2d (patch) | |
tree | f7ce98283b0c3ce29d0e375e55c8fe7aaee1a677 /program/js | |
parent | c6db4aa46bd285ef7b3d63cba5e957373a116485 (diff) |
Use iframes for identity management
Diffstat (limited to 'program/js')
-rw-r--r-- | program/js/app.js | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/program/js/app.js b/program/js/app.js index be6ca8d7e..27af1ff88 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -351,11 +351,18 @@ function rcube_webmail() this.enable_command('preferences', 'identities', 'save', 'folders', true); if (this.env.action == 'identities') { - this.enable_command('add', this.env.identities_level < 2); + this.enable_command('add', 'delete', this.env.identities_level < 2); } else if (this.env.action == 'edit-identity' || this.env.action == 'add-identity') { this.enable_command('add', this.env.identities_level < 2); - this.enable_command('save', 'delete', 'edit', 'toggle-editor', true); + this.enable_command('save', 'edit', 'toggle-editor', true); + if (this.is_framed() && this.env.identities_level < 2) + this.set_button('delete', 'act'); // activate button but delegate command to parent + else + this.enable_command('delete', this.env.identities_level < 2); + + if (this.env.action == 'add-identity') + $("input[type='text']").first().select(); } else if (this.env.action == 'folders') { this.enable_command('subscribe', 'unsubscribe', 'create-folder', 'rename-folder', true); @@ -4770,11 +4777,28 @@ function rcube_webmail() if (!id) id = this.env.iid ? this.env.iid : selection[0]; - // append token to request - this.goto_url('delete-identity', '_iid='+id+'&_token='+this.env.request_token, true); + // submit request with appended token + if (confirm(this.get_label('deleteidentityconfirm'))) + this.goto_url('delete-identity', '_iid='+id+'&_token='+this.env.request_token, true); return true; }; + + this.update_identity_row = function(id, name, add) + { + var row, col, list = this.identity_list, + rid = this.html_identifier(id); + + if (list.rows[rid] && (row = list.rows[rid].obj)) { + $(row.cells[0]).html(name); + } + else if (add) { + row = $('<tr>').attr('id', 'rcmrow'+rid).get(0); + col = $('<td>').addClass('mail').html(name).appendTo(row); + list.insert_row(row); + list.select(rid); + } + }; /*********************************************************/ |