summaryrefslogtreecommitdiff
path: root/skins/classic
diff options
context:
space:
mode:
Diffstat (limited to 'skins/classic')
-rw-r--r--skins/classic/addressbook.css79
-rw-r--r--skins/classic/common.css88
-rw-r--r--skins/classic/embed.css2
-rw-r--r--skins/classic/functions.js283
-rw-r--r--skins/classic/ie6hacks.css24
-rw-r--r--skins/classic/iehacks.css6
-rw-r--r--skins/classic/images/favicon.icobin34494 -> 1150 bytes
-rw-r--r--skins/classic/images/mail_toolbar.pngbin40806 -> 36649 bytes
-rw-r--r--skins/classic/includes/messagetoolbar.html2
-rw-r--r--skins/classic/mail.css388
-rw-r--r--skins/classic/settings.css16
-rw-r--r--skins/classic/templates/about.html7
-rw-r--r--skins/classic/templates/addressbook.html28
-rw-r--r--skins/classic/templates/compose.html25
-rw-r--r--skins/classic/templates/contact.html2
-rw-r--r--skins/classic/templates/contactadd.html9
-rw-r--r--skins/classic/templates/contactedit.html9
-rw-r--r--skins/classic/templates/folders.html6
-rw-r--r--skins/classic/templates/login.html2
-rw-r--r--skins/classic/templates/mail.html18
-rw-r--r--skins/classic/templates/message.html28
-rw-r--r--skins/classic/templates/messageerror.html8
-rw-r--r--skins/classic/templates/messagepart.html38
-rw-r--r--skins/classic/templates/messagepreview.html26
-rw-r--r--skins/classic/templates/responseedit.html24
-rw-r--r--skins/classic/templates/responses.html46
26 files changed, 414 insertions, 750 deletions
diff --git a/skins/classic/addressbook.css b/skins/classic/addressbook.css
index 9575ae25f..10690f9ba 100644
--- a/skins/classic/addressbook.css
+++ b/skins/classic/addressbook.css
@@ -23,7 +23,7 @@
padding: 0;
margin: 0 5px;
overflow: hidden;
- background: url(images/abook_toolbar.png) 0 0 no-repeat transparent;
+ background: url(images/abook_toolbar.png?v=025d.15594) 0 0 no-repeat transparent;
opacity: 0.99; /* this is needed to make buttons appear correctly in Chrome */
}
@@ -67,14 +67,6 @@
background-position: -128px -32px;
}
-#abooktoolbar a.exportAll {
- background-position: -128px 0;
-}
-
-#abooktoolbar a.exportAllSel {
- background-position: -128px -32px;
-}
-
#abooktoolbar span.separator {
width: 5px;
background-position: -162px 0;
@@ -118,7 +110,7 @@
#directorylistbox input
{
- margin: 0 0 0 20px;
+ margin: 0px;
font-size: 11px;
width: 90%;
}
@@ -144,8 +136,7 @@
width: 280px;
}
-#directorylist,
-#directorylist li ul
+#directorylist
{
list-style: none;
margin: 0;
@@ -153,15 +144,11 @@
background-color: #FFFFFF;
}
-#directorylist li ul
-{
- border-top: 1px solid #EBEBEB;
-}
-
#directorylist li
{
display: block;
font-size: 11px;
+ background: url(images/icons/folders.png?v=87af.4822) 5px -108px no-repeat;
border-bottom: 1px solid #EBEBEB;
white-space: nowrap;
}
@@ -173,37 +160,31 @@
padding-left: 25px;
padding-top: 2px;
padding-bottom: 2px;
- height: 16px;
text-decoration: none;
white-space: nowrap;
- background: url(images/icons/folders.png) 5px -108px no-repeat;
}
-#directorylist li ul li a
+#directorylist li.contactgroup
{
- padding-left: 45px;
+ padding-left: 15px;
+ background-position: 20px -143px;
}
-#directorylist li ul li:last-child
+#directorylist li.contactsearch
{
- border-bottom: 0;
-}
-
-#directorylist li.contactgroup a
-{
- background-position: 22px -143px;
+ background-position: 6px -162px;
}
-#directorylist li.contactsearch a
+#directorylist li.selected
{
- background-position: 6px -162px;
+ background-color: #929292;
+ border-bottom: 1px solid #898989;
}
-#directorylist li.selected > a
+#directorylist li.selected a
{
color: #FFF;
font-weight: bold;
- background-color: #929292;
}
#directorylist li.droptarget
@@ -224,37 +205,6 @@
-o-text-overflow: ellipsis;
}
-#contacts-table .contact.readonly td
-{
- font-style: italic;
-}
-
-#contacts-table td.name
-{
- width: 95%;
-}
-
-#contacts-table td.action
-{
- width: 12px;
- padding: 0px 6px 0 4px;
- text-align: right;
-}
-
-#contacts-table td.action a
-{
- font-size: 16px;
- font-weight: bold;
- font-style: normal;
- text-decoration: none;
- color: #333;
-}
-
-#contacts-table .selected td.action a
-{
- color: #fff;
-}
-
#contacts-box
{
position: absolute;
@@ -357,8 +307,7 @@ body.iframe,
}
#contactpic img {
- max-width: 60px;
- max-height: 80px;
+ width: 60px;
}
#contactpic.droptarget.hover {
diff --git a/skins/classic/common.css b/skins/classic/common.css
index 3c322f0ed..c76786747 100644
--- a/skins/classic/common.css
+++ b/skins/classic/common.css
@@ -20,7 +20,7 @@ body.extwin
margin: 10px;
}
-select, input, textarea
+td, th, div, p, select, input, textarea
{
font-size: 12px;
font-family: inherit;
@@ -93,7 +93,7 @@ input.button
font-size: 12px;
padding-left: 8px;
padding-right: 8px;
- background: url(images/buttons/bg.gif) repeat-x #f0f0f0;
+ background: url(images/buttons/bg.gif?v=30b2.196) repeat-x #f0f0f0;
border: 1px solid #a4a4a4;
}
@@ -182,7 +182,7 @@ body > #logo
right: 0px;
height: 24px;
left: 250px;
- background: url(images/taskbar.png) top right no-repeat;
+ background: url(images/taskbar.png?v=3878.1902) top right no-repeat;
padding: 10px 6px 5px 0px;
text-align: right;
white-space: nowrap;
@@ -195,7 +195,7 @@ body > #logo
color: #666666;
text-decoration: none;
padding: 6px 12px 6px 26px;
- background: url(images/taskicons.gif) no-repeat;
+ background: url(images/taskicons.gif?v=b8e0.1519) no-repeat;
}
#taskbar a:hover
@@ -246,7 +246,7 @@ body > #message div.notice,
body > #messagebody .part-notice,
#message-objects div.notice
{
- background: url(images/display/icons.png) 6px 3px no-repeat;
+ background: url(images/display/icons.png?v=e866.4201) 6px 3px no-repeat;
background-color: #F7FDCB;
border: 1px solid #C2D071;
}
@@ -256,7 +256,7 @@ body > #message div.warning,
#message-objects div.warning,
#message-objects div.error
{
- background: url(images/display/icons.png) 6px -97px no-repeat;
+ background: url(images/display/icons.png?v=e866.4201) 6px -97px no-repeat;
background-color: #EF9398;
border: 1px solid #DC5757;
}
@@ -264,7 +264,7 @@ body > #message div.warning,
body > #message div.confirmation,
#message-objects div.confirmation
{
- background: url(images/display/icons.png) 6px -47px no-repeat;
+ background: url(images/display/icons.png?v=e866.4201) 6px -47px no-repeat;
background-color: #A6EF7B;
border: 1px solid #76C83F;
}
@@ -272,7 +272,7 @@ body > #message div.confirmation,
body > #message div.loading,
#message-objects div.loading
{
- background: url(images/display/loading.gif) 6px 3px no-repeat;
+ background: url(images/display/loading.gif?v=9bae.2710) 6px 3px no-repeat;
background-color: #EBEBEB;
border: 1px solid #CCCCCC;
}
@@ -283,15 +283,6 @@ body > #message a
text-decoration: underline;
}
-body.extwin #closelink
-{
- position: absolute;
- top: 5px;
- right: 20px;
- text-align: right;
- z-index:100;
-}
-
.box
{
border: 1px solid #999;
@@ -309,7 +300,7 @@ body.extwin #closelink
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
white-space: nowrap;
- background: url(images/listheader.gif) top left repeat-x #CCC;
+ background: url(images/listheader.gif?v=ab42.314) top left repeat-x #CCC;
}
.boxtitle .rightalign
@@ -358,7 +349,7 @@ body.iframe .boxtitle
overflow: hidden;
height: 22px;
border-bottom: 1px solid #999;
- background: url(images/listheader.gif) top left repeat-x #CCC;
+ background: url(images/listheader.gif?v=ab42.314) top left repeat-x #CCC;
}
.boxfooter
@@ -370,7 +361,7 @@ body.iframe .boxtitle
overflow: hidden;
height: 22px;
border-top: 1px solid #999;
- background: url(images/listheader.gif) top left repeat-x #CCC;
+ background: url(images/listheader.gif?v=ab42.314) top left repeat-x #CCC;
}
.boxfooter a.button,
@@ -383,7 +374,7 @@ body.iframe .boxtitle
padding: 0px;
margin: 0;
overflow: hidden;
- background: url(images/icons/groupactions.png) 0 0 no-repeat transparent;
+ background: url(images/icons/groupactions.png?v=ace6.1092) 0 0 no-repeat transparent;
opacity: 0.99; /* this is needed to make buttons appear correctly in Chrome */
}
@@ -420,7 +411,7 @@ body.iframe .boxtitle
margin: 1px;
margin-top: 2px;
overflow: hidden;
- background: url(images/pagenav.gif) 0 0 no-repeat transparent;
+ background: url(images/pagenav.gif?v=2e75.355) 0 0 no-repeat transparent;
opacity: 0.99; /* this is needed to make buttons appear correctly in Chrome */
}
@@ -462,7 +453,7 @@ body.iframe .boxtitle
-moz-user-select: none;
-khtml-user-select: none;
position: absolute;
- background: url(images/dimple.png) center no-repeat;
+ background: url(images/dimple.png?v=42a0.158) center no-repeat;
}
.splitter-h
@@ -542,7 +533,7 @@ body.iframe .boxtitle
.popupmenu.selectable li a.selected
{
- background: url(images/messageicons.png) 2px -372px no-repeat;
+ background: url(images/messageicons.png?v=9df0.3673) 2px -372px no-repeat;
}
.popupmenu.selectable li a
@@ -564,13 +555,13 @@ body.iframe .boxtitle
.dropbutton:hover
{
-/* background: url(images/dbutton.png) 0 0 no-repeat transparent; */
+/* background: url(images/dbutton.png?v=7bba.240) 0 0 no-repeat transparent; */
}
.dropbutton span
{
width: 9px;
- background: url(images/dbutton.png) -53px 0 no-repeat transparent;
+ background: url(images/dbutton.png?v=7bba.240) -53px 0 no-repeat transparent;
}
.dropbutton span:hover
@@ -594,7 +585,7 @@ table.records-table thead tr td
vertical-align: middle;
border-bottom: 1px solid #999999;
color: #333333;
- background: url(images/listheader.gif) top left repeat-x #CCC;
+ background: url(images/listheader.gif?v=ab42.314) top left repeat-x #CCC;
font-size: 11px;
font-weight: bold;
}
@@ -631,32 +622,6 @@ table.records-table tr.unfocused td
background-color: #929292;
}
-ul.treelist li
-{
- position: relative;
-}
-
-ul.treelist li div.treetoggle
-{
- position: absolute;
- left: 8px !important;
- left: -16px;
- top: 1px;
- width: 14px;
- height: 16px;
- cursor: pointer;
-}
-
-ul.treelist li div.collapsed
-{
- background: url(images/icons/collapsed.png) bottom right no-repeat;
-}
-
-ul.treelist li div.expanded
-{
- background: url(images/icons/expanded.png) bottom right no-repeat;
-}
-
/***** mac-style quicksearch field *****/
@@ -668,7 +633,7 @@ ul.treelist li div.expanded
width: 190px;
height: 20px;
text-align: right;
- background: url(images/searchfield.gif) top left no-repeat;
+ background: url(images/searchfield.gif?v=aaf8.313) top left no-repeat;
}
#searchreset
@@ -701,7 +666,6 @@ ul.treelist li div.expanded
font-size: 11px;
padding: 0px;
border: none;
- outline: none;
}
/***** roundcube webmail pre-defined classes *****/
@@ -746,7 +710,7 @@ ul.treelist li div.expanded
content: " ";
width: 14px;
height: 14px;
- background: url(images/messageactions.png) -2px -128px no-repeat;
+ background: url(images/messageactions.png?v=e5b9.2211) -2px -128px no-repeat;
}
a.rcmContactAddress
@@ -796,7 +760,7 @@ a.rcmContactAddress:hover
margin-left: auto;
margin-right: auto;
margin-top: 50px;
- width: 400px;
+ width: 420px;
border: 1px solid #999;
}
@@ -963,7 +927,7 @@ span.tablink-selected
height: 23px !important;
height: 22px;
overflow: hidden;
- background: url(images/tabs-left.gif) top left no-repeat;
+ background: url(images/tabs-left.gif?v=0541.219) top left no-repeat;
}
span.tablink
@@ -990,7 +954,7 @@ span.tablink-selected a
overflow: hidden;
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
- background: url(images/tabs-right.gif) top right no-repeat;
+ background: url(images/tabs-right.gif?v=5414.733) top right no-repeat;
}
span.tablink-selected a
@@ -1026,9 +990,9 @@ fieldset.tabbed
cursor: default;
}
.quota_bg { background-color: white; }
-.quota_high { background: url(images/quota-colors.png) repeat-x 0 -28px #f90509; }
-.quota_mid { background: url(images/quota-colors.png) repeat-x 0 -14px #e3e909; }
-.quota_low { background: url(images/quota-colors.png) repeat-x 0 0px #05f905; }
+.quota_high { background: url(images/quota-colors.png?v=c1e9.287) repeat-x 0 -28px #f90509; }
+.quota_mid { background: url(images/quota-colors.png?v=c1e9.287) repeat-x 0 -14px #e3e909; }
+.quota_low { background: url(images/quota-colors.png?v=c1e9.287) repeat-x 0 0px #05f905; }
.quota_text_high { color: white; }
.quota_text_mid { color: #666; }
.quota_text_low { color: #666; }
diff --git a/skins/classic/embed.css b/skins/classic/embed.css
index 6d2c63c6a..fbfa09501 100644
--- a/skins/classic/embed.css
+++ b/skins/classic/embed.css
@@ -16,7 +16,7 @@
margin-bottom: .8em;
min-height: 30px;
padding: 10px 10px 6px 46px;
- background: url(images/display/icons.png) 6px 3px no-repeat #F7FDCB;
+ background: url(images/display/icons.png?v=e866.4201) 6px 3px no-repeat #F7FDCB;
border: 1px solid #C2D071;
}
diff --git a/skins/classic/functions.js b/skins/classic/functions.js
index af561c37b..23c69805c 100644
--- a/skins/classic/functions.js
+++ b/skins/classic/functions.js
@@ -92,9 +92,8 @@ function rcube_mail_ui()
forwardmenu: {id:'forwardmenu', editable:1},
searchmenu: {id:'searchmenu', editable:1},
messagemenu: {id:'messagemenu'},
- attachmentmenu: {id:'attachmentmenu'},
listmenu: {id:'listmenu', editable:1},
- dragmenu: {id:'dragmenu', sticky:1},
+ dragmessagemenu:{id:'dragmessagemenu', sticky:1},
groupmenu: {id:'groupoptionsmenu', above:1},
mailboxmenu: {id:'mailboxoptionsmenu', above:1},
composemenu: {id:'composeoptionsmenu', editable:1, overlap:1},
@@ -134,24 +133,24 @@ show_popupmenu: function(popup, show)
{
var obj = this.popups[popup].obj,
above = this.popups[popup].above,
- ref = $(this.popups[popup].link ? this.popups[popup].link : rcube_find_object(popup+'link'));
+ ref = rcube_find_object(popup+'link');
if (typeof show == 'undefined')
show = obj.is(':visible') ? false : true;
else if (this.popups[popup].toggle && show && this.popups[popup].obj.is(':visible') )
show = false;
- if (show && ref.length) {
- var parent = ref.parent(),
+ if (show && ref) {
+ var parent = $(ref).parent(),
win = $(window),
- pos = parent.hasClass('dropbutton') ? parent.offset() : ref.offset();
+ pos = parent.hasClass('dropbutton') ? parent.offset() : $(ref).offset();
- if (!above && pos.top + ref.height() + obj.height() > win.height())
+ if (!above && pos.top + ref.offsetHeight + obj.height() > win.height())
above = true;
if (pos.left + obj.width() > win.width())
pos.left = win.width() - obj.width() - 30;
- obj.css({ left:pos.left, top:(pos.top + (above ? -obj.height() : ref.height())) });
+ obj.css({ left:pos.left, top:(pos.top + (above ? -obj.height() : ref.offsetHeight)) });
}
obj[show?'show':'hide']();
@@ -162,9 +161,9 @@ show_popupmenu: function(popup, show)
}
},
-dragmenu: function(show)
+dragmessagemenu: function(show)
{
- this.popups.dragmenu.obj[show?'show':'hide']();
+ this.popups.dragmessagemenu.obj[show?'show':'hide']();
},
forwardmenu: function(show)
@@ -326,7 +325,7 @@ listmenu: function(show)
};
},
-open_listmenu: function()
+open_listmenu: function(e)
{
this.listmenu();
},
@@ -381,35 +380,6 @@ spellmenu: function(show)
this.show_popupmenu('spellmenu', show);
},
-show_attachmentmenu: function(elem)
-{
- var id = elem.parentNode.id.replace(/^attach/, '');
-
- $('#attachmenuopen').unbind('click').attr('onclick', '').click(function(e) {
- return rcmail.command('open-attachment', id, this);
- });
-
- $('#attachmenudownload').unbind('click').attr('onclick', '').click(function() {
- rcmail.command('download-attachment', id, this);
- });
-
- this.popups.attachmentmenu.link = elem;
- rcmail.command('menu-open', {menu: 'attachmentmenu', id: id});
-},
-
-menu_open: function(p)
-{
- if (p && p.props && p.props.menu == 'attachmentmenu')
- this.show_popup('attachmentmenu');
- else
- this.open_listmenu();
-},
-
-menu_save: function(prop)
-{
- this.save_listmenu();
-},
-
body_mouseup: function(evt, p)
{
var i, target = rcube_event.get_target(evt);
@@ -492,18 +462,14 @@ switch_preview_pane: function(elem)
/* Message composing */
init_compose_form: function()
{
- var f, v, field, fields = ['cc', 'bcc', 'replyto', 'followupto'],
+ var f, field, fields = ['cc', 'bcc', 'replyto', 'followupto'],
div = document.getElementById('compose-div'),
headers_div = document.getElementById('compose-headers-div');
// Show input elements with non-empty value
for (f=0; f<fields.length; f++) {
- v = fields[f]; field = $('#_'+v);
- if (field.length) {
- field.on('change', {v:v}, function(e) { if (this.value) rcmail_ui.show_header_form(e.data.v); });
- if (field.val() != '')
- rcmail_ui.show_header_form(v);
- }
+ if ((field = $('#_'+fields[f])) && field.length && field.val() != '')
+ rcmail_ui.show_header_form(fields[f]);
}
// prevent from form data loss when pressing ESC key in IE
@@ -621,130 +587,14 @@ prev_sibling: function(elm)
while (ps && ps.nodeType == 3)
ps = ps.previousSibling;
return ps;
-},
-
-enable_command: function(p)
-{
- if (p.command == 'reply-list') {
- var label = rcmail.gettext(p.status ? 'replylist' : 'replyall');
- $('a.button.replyAll').attr('title', label);
- }
}
};
/**
- * Roundcube generic layer (floating box) class
- *
- * @constructor
- */
-function rcube_layer(id, attributes)
-{
- this.name = id;
-
- // create a new layer in the current document
- this.create = function(arg)
- {
- var l = (arg.x) ? arg.x : 0,
- t = (arg.y) ? arg.y : 0,
- w = arg.width,
- h = arg.height,
- z = arg.zindex,
- vis = arg.vis,
- parent = arg.parent,
- obj = document.createElement('DIV');
-
- obj.id = this.name;
- obj.style.position = 'absolute';
- obj.style.visibility = (vis) ? (vis==2) ? 'inherit' : 'visible' : 'hidden';
- obj.style.left = l+'px';
- obj.style.top = t+'px';
- if (w)
- obj.style.width = w.toString().match(/\%$/) ? w : w+'px';
- if (h)
- obj.style.height = h.toString().match(/\%$/) ? h : h+'px';
- if (z)
- obj.style.zIndex = z;
-
- if (parent)
- parent.appendChild(obj);
- else
- document.body.appendChild(obj);
-
- this.elm = obj;
- };
-
- // create new layer
- if (attributes != null) {
- this.create(attributes);
- this.name = this.elm.id;
- }
- else // just refer to the object
- this.elm = document.getElementById(id);
-
- if (!this.elm)
- return false;
-
-
- // ********* layer object properties *********
-
- this.css = this.elm.style;
- this.event = this.elm;
- this.width = this.elm.offsetWidth;
- this.height = this.elm.offsetHeight;
- this.x = parseInt(this.elm.offsetLeft);
- this.y = parseInt(this.elm.offsetTop);
- this.visible = (this.css.visibility=='visible' || this.css.visibility=='show' || this.css.visibility=='inherit') ? true : false;
-
-
- // ********* layer object methods *********
-
- // move the layer to a specific position
- this.move = function(x, y)
- {
- this.x = x;
- this.y = y;
- this.css.left = Math.round(this.x)+'px';
- this.css.top = Math.round(this.y)+'px';
- };
-
- // change the layers width and height
- this.resize = function(w,h)
- {
- this.css.width = w+'px';
- this.css.height = h+'px';
- this.width = w;
- this.height = h;
- };
-
- // show or hide the layer
- this.show = function(a)
- {
- if(a == 1) {
- this.css.visibility = 'visible';
- this.visible = true;
- }
- else if(a == 2) {
- this.css.visibility = 'inherit';
- this.visible = true;
- }
- else {
- this.css.visibility = 'hidden';
- this.visible = false;
- }
- };
-
- // write new content into a Layer
- this.write = function(cont)
- {
- this.elm.innerHTML = cont;
- };
-
-};
-
-/**
* Scroller
*/
+
function rcmail_scroller(list, top, bottom)
{
var ref = this;
@@ -796,25 +646,24 @@ function iframe_events()
// Abbreviate mailbox names to fit width of the container
function rcube_render_mailboxlist()
{
- var list = $('#mailboxlist > li > a, #mailboxlist ul:visible > li > a');
+ var list = $('#mailboxlist > li a, #mailboxlist ul:visible > li a');
// it's too slow with really big number of folders, especially on IE
- if (list.length > (bw.ie && bw.vendver < 9 ? 40 : 100))
+ if (list.length > (bw.ie ? 25 : 100))
return;
- list.each(function() {
+ list.each(function(){
var elem = $(this),
text = elem.data('text');
if (!text) {
- text = elem.text().replace(/\s+\([0-9]+\)$/, '');
+ text = elem.text().replace(/\s+\(.+$/, '');
elem.data('text', text);
}
-
if (text.length < 6)
return;
- var abbrev = fit_string_to_size(text, elem, elem.width() - elem.children('span.unreadcount').width() - 16);
+ var abbrev = fit_string_to_size(text, elem, elem.width() - elem.children('span.unreadcount').width());
if (abbrev != text)
elem.attr('title', text);
elem.contents().filter(function(){ return (this.nodeType == 3); }).get(0).data = abbrev;
@@ -824,23 +673,19 @@ function rcube_render_mailboxlist()
// inspired by https://gist.github.com/24261/7fdb113f1e26111bd78c0c6fe515f6c0bf418af5
function fit_string_to_size(str, elem, len)
{
- var w, span, $span, result = str, ellip = '...';
+ var w, span, result = str, ellip = '...';
if (!rcmail.env.tmp_span) {
// it should be appended to elem to use the same css style
// but for performance reasons we'll append it to body (once)
- span = $('<b>').css({visibility: 'hidden', padding: '0px',
- 'font-family': elem.css('font-family'),
- 'font-size': elem.css('font-size')})
+ span = $('<b>').css({visibility: 'hidden', padding: '0px'})
.appendTo($('body', document)).get(0);
rcmail.env.tmp_span = span;
}
else {
span = rcmail.env.tmp_span;
}
-
- $span = $(span);
- $span.text(result);
+ span.innerHTML = result;
// on first run, check if string fits into the length already.
w = span.offsetWidth;
@@ -853,7 +698,7 @@ function fit_string_to_size(str, elem, len)
while (true) {
offLeft = mid - cut;
offRight = mid + cut;
- $span.text(str.substring(0,offLeft) + ellip + str.substring(offRight));
+ span.innerHTML = str.substring(0,offLeft) + ellip + str.substring(offRight);
// break loop if string fits size
if (offLeft < 3 || span.offsetWidth)
@@ -917,7 +762,7 @@ function percent_indicator(obj, data)
var bar2 = $('<div>');
bar2.css({position: 'absolute', top: pos.top + 1, left: pos.left + 1,
width: width + 'px', height: height + 'px', zIndex: 98})
- .addClass('quota_bg');
+ .addClass('quota_bg');
if (quota >= limit_high) {
main.addClass(' quota_text_high');
@@ -940,8 +785,8 @@ function percent_indicator(obj, data)
// Optional parameters used by TinyMCE
var rcmail_editor_settings = {
- skin: "default", // "default", "o2k7"
- skin_variant: "" // "", "silver", "black"
+ skin : "default", // "default", "o2k7"
+ skin_variant : "" // "", "silver", "black"
};
var rcmail_ui;
@@ -952,52 +797,40 @@ function rcube_init_mail_ui()
rcube_event.add_listener({ object:rcmail_ui, method:'body_mouseup', event:'mouseup' });
rcube_event.add_listener({ object:rcmail_ui, method:'body_keydown', event:'keydown' });
- rcmail.addEventListener('init', function() {
- if (rcmail.env.quota_content)
- update_quota(rcmail.env.quota_content);
- rcmail.addEventListener('setquota', update_quota);
-
- $('iframe').load(iframe_events)
- .contents().mouseup(function(e){rcmail_ui.body_mouseup(e)});
-
- if (rcmail.env.task == 'mail') {
- rcmail.addEventListener('enable-command', 'enable_command', rcmail_ui);
- rcmail.addEventListener('menu-open', 'menu_open', rcmail_ui);
- rcmail.addEventListener('menu-save', 'menu_save', rcmail_ui);
- rcmail.addEventListener('aftersend-attachment', 'uploadmenu', rcmail_ui);
- rcmail.addEventListener('aftertoggle-editor', 'resize_compose_body_ev', rcmail_ui);
- rcmail.gui_object('dragmenu', 'dragmenu');
-
- if (rcmail.gui_objects.mailboxlist) {
- rcmail.treelist.addEventListener('expand', rcube_render_mailboxlist);
- rcmail.addEventListener('responseaftermark', rcube_render_mailboxlist);
- rcmail.addEventListener('responseaftergetunread', rcube_render_mailboxlist);
- rcmail.addEventListener('responseaftercheck-recent', rcube_render_mailboxlist);
- rcmail.addEventListener('responseafterrefresh', rcube_render_mailboxlist);
- rcmail.addEventListener('afterimport-messages', function(){ rcmail_ui.show_popup('uploadform', false); });
-
- new rcmail_scroller('#mailboxlist-content', '#mailboxlist-title', '#mailboxlist-footer');
- }
+ if (rcmail.env.quota_content)
+ update_quota(rcmail.env.quota_content);
+ rcmail.addEventListener('setquota', update_quota);
- if (rcmail.env.action == 'compose')
- rcmail_ui.init_compose_form();
- else if (rcmail.env.action == 'show' || rcmail.env.action == 'preview')
- // add menu link for each attachment
- $('#attachment-list > li[id^="attach"]').each(function() {
- $(this).append($('<a class="drop">').click(function() { rcmail_ui.show_attachmentmenu(this); }));
- });
- }
- else if (rcmail.env.task == 'addressbook') {
- rcmail.addEventListener('afterupload-photo', function(){ rcmail_ui.show_popup('uploadform', false); });
+ $('iframe').load(iframe_events)
+ .contents().mouseup(function(e){rcmail_ui.body_mouseup(e)});
- if (rcmail.gui_objects.folderlist)
- new rcmail_scroller('#directorylist-content', '#directorylist-title', '#directorylist-footer');
+ if (rcmail.env.task == 'mail') {
+ rcmail.addEventListener('menu-open', 'open_listmenu', rcmail_ui);
+ rcmail.addEventListener('menu-save', 'save_listmenu', rcmail_ui);
+ rcmail.addEventListener('aftersend-attachment', 'uploadmenu', rcmail_ui);
+ rcmail.addEventListener('aftertoggle-editor', 'resize_compose_body_ev', rcmail_ui);
+ rcmail.gui_object('message_dragmenu', 'dragmessagemenu');
- rcmail.gui_object('dragmenu', 'dragmenu');
- }
- else if (rcmail.env.task == 'settings') {
- if (rcmail.gui_objects.subscriptionlist)
- new rcmail_scroller('#folderlist-content', '#folderlist-title', '#folderlist-footer');
+ if (rcmail.gui_objects.mailboxlist) {
+ rcmail.addEventListener('responseaftermark', rcube_render_mailboxlist);
+ rcmail.addEventListener('responseaftergetunread', rcube_render_mailboxlist);
+ rcmail.addEventListener('responseaftercheck-recent', rcube_render_mailboxlist);
+ rcmail.addEventListener('aftercollapse-folder', rcube_render_mailboxlist);
+
+ new rcmail_scroller('#mailboxlist-content', '#mailboxlist-title', '#mailboxlist-footer');
}
- });
+
+ if (rcmail.env.action == 'compose')
+ rcmail_ui.init_compose_form();
+ }
+ else if (rcmail.env.task == 'addressbook') {
+ rcmail.addEventListener('afterupload-photo', function(){ rcmail_ui.show_popup('uploadform', false); });
+
+ if (rcmail.gui_objects.folderlist)
+ new rcmail_scroller('#directorylist-content', '#directorylist-title', '#directorylist-footer');
+ }
+ else if (rcmail.env.task == 'settings') {
+ if (rcmail.gui_objects.subscriptionlist)
+ new rcmail_scroller('#folderlist-content', '#folderlist-title', '#folderlist-footer');
+ }
}
diff --git a/skins/classic/ie6hacks.css b/skins/classic/ie6hacks.css
index a431ee45e..0026d426a 100644
--- a/skins/classic/ie6hacks.css
+++ b/skins/classic/ie6hacks.css
@@ -2,7 +2,7 @@
#taskbar
{
- background: url(images/taskbar.gif) top right no-repeat;
+ background: url(images/taskbar.gif?v=5666.2033) top right no-repeat;
width: expression((parseInt(document.documentElement.clientWidth)-250)+'px');
}
@@ -26,17 +26,17 @@ body > #message div.confirmation,
#message-objects div.warning,
#message-objects div.confirmation
{
- background-image: url(images/display/icons.gif);
+ background-image: url(images/display/icons.gif?v=84d5.2329);
}
#messagemenu li a
{
- background-image: url(images/messageactions.gif);
+ background-image: url(images/messageactions.gif?v=dcdc.1916);
}
#mailboxlist li
{
- background-image: url(images/icons/folders.gif);
+ background-image: url(images/icons/folders.gif?v=59af.2568);
}
#messagetoolbar a
@@ -49,7 +49,7 @@ body > #message div.confirmation,
.boxfooter a.button,
.boxfooter a.buttonPas
{
- background-image: url(images/icons/groupactions.gif);
+ background-image: url(images/icons/groupactions.gif?v=677d.496);
}
.pagenav
@@ -60,23 +60,23 @@ body > #message div.confirmation,
.pagenav a.button,
.pagenav a.buttonPas
{
- background-image: url(images/pagenav.gif);
+ background-image: url(images/pagenav.gif?v=2e75.355);
}
#listcontrols a.button,
#listcontrols a.buttonPas {
- background-image: url(images/mail_footer.gif);
+ background-image: url(images/mail_footer.gif?v=83fb.1336);
}
#messagetoolbar a.button,
#messagetoolbar a.buttonPas {
- background-image: url(images/mail_toolbar.gif);
+ background-image: url(images/mail_toolbar.gif?v=183d.12821);
}
#abooktoolbar a.button,
#abooktoolbar a.buttonPas,
#abooktoolbar span.separator {
- background-image: url(images/abook_toolbar.gif);
+ background-image: url(images/abook_toolbar.gif?v=dfe4.5753);
}
ul.toolbarmenu li a,
@@ -106,7 +106,7 @@ ul.toolbarmenu li.separator_below
#directorylist li
{
- background-image: url(images/icons/folders.gif);
+ background-image: url(images/icons/folders.gif?v=59af.2568);
}
.boxlistcontent
@@ -155,7 +155,7 @@ ul.toolbarmenu li.separator_below
#messagelist tr td.subject span.forwarded,
#messagelist tr td.subject span.unreadchildren
{
- background-image: url(images/messageicons.gif);
+ background-image: url(images/messageicons.gif?v=2f0b.2222);
}
#messagelist tr td div.collapsed,
@@ -180,5 +180,5 @@ body.iframe .boxtitle
#abookactions a
{
- background-image: url("images/icons/groupactions.gif");
+ background-image: url(images/icons/groupactions.gif?v=677d.496);
}
diff --git a/skins/classic/iehacks.css b/skins/classic/iehacks.css
index fabf73db6..fc00732fa 100644
--- a/skins/classic/iehacks.css
+++ b/skins/classic/iehacks.css
@@ -90,13 +90,13 @@ body.iframe div.messageheaderbox
#abooktoolbar a.buttonPas
{
filter: alpha(opacity=35);
- background-image: url(images/abook_toolbar.gif);
+ background-image: url(images/abook_toolbar.gif?v=dfe4.5753);
}
#messagetoolbar a.buttonPas
{
filter: alpha(opacity=35);
- background-image: url(images/mail_toolbar.gif);
+ background-image: url(images/mail_toolbar.gif?v=183d.12821);
}
#listcontrols a.buttonPas
@@ -219,7 +219,7 @@ div.message-part div.pre
div.draglayercopy
{
border-color: #00cc00;
- background: url(images/messageactions.png) 0 -125px no-repeat #fff;
+ background: url(images/messageactions.png?v=e5b9.2211) 0 -125px no-repeat #fff;
}
html.ie8 .draglayercopy:before
diff --git a/skins/classic/images/favicon.ico b/skins/classic/images/favicon.ico
index 9ef2f3b9e..b3bd18c12 100644
--- a/skins/classic/images/favicon.ico
+++ b/skins/classic/images/favicon.ico
Binary files differ
diff --git a/skins/classic/images/mail_toolbar.png b/skins/classic/images/mail_toolbar.png
index 4a8431715..e68035da5 100644
--- a/skins/classic/images/mail_toolbar.png
+++ b/skins/classic/images/mail_toolbar.png
Binary files differ
diff --git a/skins/classic/includes/messagetoolbar.html b/skins/classic/includes/messagetoolbar.html
index 8f8efd291..bd14f490f 100644
--- a/skins/classic/includes/messagetoolbar.html
+++ b/skins/classic/includes/messagetoolbar.html
@@ -21,7 +21,7 @@
<roundcube:button name="markmenulink" id="markmenulink" type="link" class="button markmessage" title="markmessages" onclick="rcmail_ui.show_popup('markmenu');return false" content=" " />
<roundcube:button name="messagemenulink" id="messagemenulink" type="link" class="button messagemenu" title="moreactions" onclick="rcmail_ui.show_popup('messagemenu');return false" content=" " />
<roundcube:if condition="template:name == 'message'" />
-<roundcube:object name="mailboxlist" type="select" noSelection="moveto" maxlength="25" onchange="rcmail.command('move', this.options[this.selectedIndex].value)" class="mboxlist" folder_filter="mail" />
+<roundcube:object name="mailboxlist" type="select" noSelection="moveto" maxlength="25" onchange="rcmail.command('moveto', this.options[this.selectedIndex].value)" class="mboxlist" folder_filter="mail" />
<roundcube:endif />
</div>
diff --git a/skins/classic/mail.css b/skins/classic/mail.css
index b8cc9f351..89cf0b884 100644
--- a/skins/classic/mail.css
+++ b/skins/classic/mail.css
@@ -36,7 +36,7 @@
padding: 0;
margin: 0 5px;
overflow: hidden;
- background: url(images/mail_toolbar.png) 0 0 no-repeat transparent;
+ background: url(images/mail_toolbar.png?v=1594.36649) 0 0 no-repeat transparent;
opacity: 0.99; /* this is needed to make buttons appear correctly in Chrome */
}
@@ -107,14 +107,6 @@
background-position: -192px -32px;
}
-#messagetoolbar a.print {
- background-position: -224px 0;
-}
-
-#messagetoolbar a.printSel {
- background-position: -224px -32px;
-}
-
#messagetoolbar a.markmessage {
background-position: -256px 0;
}
@@ -163,14 +155,6 @@
background-position: -416px -32px;
}
-#messagetoolbar a.download {
- background-position: -480px 0;
-}
-
-#messagetoolbar a.downloadSel {
- background-position: -480px -32px;
-}
-
#messagetoolbar select.mboxlist
{
position: relative;
@@ -189,17 +173,15 @@
}
#messagemenu li a.active:hover,
-#attachmentmenu li a.active:hover,
#markmessagemenu li a.active:hover
{
color: #fff;
background-color: #c00;
}
-#messagemenu li a,
-#attachmentmenu li a
+#messagemenu li a
{
- background: url(images/messageactions.png) no-repeat 7px 0;
+ background: url(images/messageactions.png?v=e5b9.2211) no-repeat 7px 0;
background-position: 7px 20px;
}
@@ -208,8 +190,7 @@
background-position: 7px 1px;
}
-#messagemenu li a.downloadlink,
-#attachmentmenu li a.downloadlink
+#messagemenu li a.downloadlink
{
background-position: 7px -17px;
}
@@ -219,8 +200,7 @@
background-position: 7px -35px;
}
-#messagemenu li a.openlink,
-#attachmentmenu li a.openlink
+#messagemenu li a.openlink
{
background-position: 7px -53px;
}
@@ -233,7 +213,7 @@
#markmessagemenu li a,
#compose-attachments li a
{
- background: url(images/messageicons.png) no-repeat;
+ background: url(images/messageicons.png?v=9df0.3673) no-repeat;
}
#markmessagemenu li a.readlink
@@ -300,38 +280,10 @@
#messagepartcontainer
{
position: absolute;
- top: 0;
- left: 170px;
- right: 0;
- bottom: 0;
-}
-
-#messagepartheader
-{
- position: absolute;
- top: 0;
- bottom: 0;
- left: 0;
- width: 160px;
- border: 1px solid #999999;
- background-color: #F9F9F9;
- overflow: hidden;
-}
-
-#messagepartheader table
-{
- width: 100%;
- table-layout: fixed;
-}
-
-#messagepartheader table td
-{
- text-overflow: ellipsis;
-}
-
-#messagepartheader table td.title
-{
- width: 60px;
+ top: 80px;
+ left: 20px;
+ right: 20px;
+ bottom: 20px;
}
#mailcontframe
@@ -373,7 +325,31 @@
height: 100%;
min-height: 100%; /* Chrome 14 bug */
border: 1px solid #999999;
- background-color: #fff;
+ background-color: #F9F9F9;
+}
+
+
+#partheader
+{
+ position: absolute;
+ top: 10px;
+ left: 220px;
+ right: 20px;
+ height: 40px;
+}
+
+#partheader table td
+{
+ padding-left: 2px;
+ padding-right: 4px;
+ vertical-align: middle;
+ font-size: 11px;
+}
+
+#partheader table td.title
+{
+ color: #666666;
+ font-weight: bold;
}
@@ -408,7 +384,7 @@
display: block;
position: relative;
font-size: 11px;
- background: url(images/icons/folders.png) 5px 0 no-repeat;
+ background: url(images/icons/folders.png?v=87af.4822) 5px 0 no-repeat;
border-bottom: 1px solid #EBEBEB;
}
@@ -417,6 +393,32 @@
border-bottom: none;
}
+#mailboxlist li div
+{
+ position: absolute;
+ left: 8px !important;
+ left: -16px;
+ top: 1px;
+ width: 14px;
+ height: 16px;
+}
+
+#mailboxlist li div.collapsed,
+#mailboxlist li div.expanded
+{
+ cursor: pointer;
+}
+
+#mailboxlist li div.collapsed
+{
+ background: url(images/icons/collapsed.png?v=45aa.97) bottom right no-repeat;
+}
+
+#mailboxlist li div.expanded
+{
+ background: url(images/icons/expanded.png?v=f647.107) bottom right no-repeat;
+}
+
#mailboxlist li.inbox
{
background-position: 5px -18px;
@@ -534,7 +536,7 @@
margin-top: 4px;
margin-right: 2px;
overflow: hidden;
- background: url(images/mail_footer.png) 0 0 no-repeat transparent;
+ background: url(images/mail_footer.png?v=819f.977) 0 0 no-repeat transparent;
opacity: 0.99; /* this is needed to make buttons appear correctly in Chrome */
}
@@ -631,50 +633,42 @@ body.messagelist
background-color: #F9F9F9;
}
-table.messagelist
+#messagelist
{
width: 100%;
display: table;
table-layout: fixed;
- border-collapse: collapse;
- border-spacing: 0;
- z-index: 1;
}
-table.messagelist.fixedcopy
-{
- z-index: 2;
-}
-
-.messagelist thead tr td
+#messagelist thead tr td
{
height: 20px;
padding: 0 4px 0 2px;
vertical-align: middle;
border-bottom: 1px solid #999999;
color: #333333;
- background: url(images/listheader.gif) top left repeat-x #CCC;
+ background: url(images/listheader.gif?v=ab42.314) top left repeat-x #CCC;
font-size: 11px;
font-weight: bold;
}
-.messagelist thead tr td.sortedASC,
-.messagelist thead tr td.sortedDESC
+#messagelist thead tr td.sortedASC,
+#messagelist thead tr td.sortedDESC
{
background-position: 0 -26px;
}
-.messagelist thead tr td.sortedASC a
+#messagelist thead tr td.sortedASC a
{
- background: url(images/icons/sort.gif) right 0 no-repeat;
+ background: url(images/icons/sort.gif?v=92aa.144) right 0 no-repeat;
}
-.messagelist thead tr td.sortedDESC a
+#messagelist thead tr td.sortedDESC a
{
- background: url(images/icons/sort.gif) right -14px no-repeat;
+ background: url(images/icons/sort.gif?v=92aa.144) right -14px no-repeat;
}
-.messagelist thead tr td a
+#messagelist thead tr td a
{
display: block;
width: auto !important;
@@ -683,19 +677,18 @@ table.messagelist.fixedcopy
text-decoration: none;
}
-.messagelist thead tr td.size.sortedASC a,
-.messagelist thead tr td.size.sortedDESC a
+#messagelist thead tr td.size
{
- padding-right: 18px;
+ text-align: left;
}
-.messagelist thead tr td.subject
+#messagelist thead tr td.subject
{
padding-left: 18px;
width: 99%;
}
-.messagelist tbody tr td
+#messagelist tbody tr td
{
height: 20px;
padding: 0;
@@ -709,7 +702,7 @@ table.messagelist.fixedcopy
cursor: default;
}
-.messagelist tbody tr td a
+#messagelist tbody tr td a
{
color: #000;
text-decoration: none;
@@ -717,267 +710,267 @@ table.messagelist.fixedcopy
cursor: inherit;
}
-.messagelist td img
+#messagelist td img
{
vertical-align: middle;
display: inline-block;
}
-.messagelist tbody tr td.flag,
-.messagelist tbody tr td.status,
-.messagelist tbody tr td.subject span.status
+#messagelist tbody tr td.flag,
+#messagelist tbody tr td.status,
+#messagelist tbody tr td.subject span.status
{
cursor: pointer;
}
-.messagelist tr td.flag span,
-.messagelist tr td.status span,
-.messagelist tr td.attachment span,
-.messagelist tr td.priority span
+#messagelist tr td.flag span,
+#messagelist tr td.status span,
+#messagelist tr td.attachment span,
+#messagelist tr td.priority span
{
display: block;
width: 15px;
}
-.messagelist tr td div.collapsed,
-.messagelist tr td div.expanded,
-.messagelist tr td.threads div.listmenu,
-.messagelist tr td.attachment span.attachment,
-.messagelist tr td.attachment span.report,
-.messagelist tr td.priority span.priority,
-.messagelist tr td.priority span.prio1,
-.messagelist tr td.priority span.prio2,
-.messagelist tr td.priority span.prio3,
-.messagelist tr td.priority span.prio4,
-.messagelist tr td.priority span.prio5,
-.messagelist tr td.flag span.flagged,
-.messagelist tr td.flag span.unflagged,
-.messagelist tr td.flag span.unflagged:hover,
-.messagelist tr td.status span.status,
-.messagelist tr td.status span.msgicon,
-.messagelist tr td.status span.deleted,
-.messagelist tr td.status span.unread,
-.messagelist tr td.status span.unreadchildren,
-.messagelist tr td.subject span.msgicon,
-.messagelist tr td.subject span.deleted,
-.messagelist tr td.subject span.unread,
-.messagelist tr td.subject span.replied,
-.messagelist tr td.subject span.forwarded,
-.messagelist tr td.subject span.unreadchildren
+#messagelist tr td div.collapsed,
+#messagelist tr td div.expanded,
+#messagelist tr td.threads div.listmenu,
+#messagelist tr td.attachment span.attachment,
+#messagelist tr td.attachment span.report,
+#messagelist tr td.priority span.priority,
+#messagelist tr td.priority span.prio1,
+#messagelist tr td.priority span.prio2,
+#messagelist tr td.priority span.prio3,
+#messagelist tr td.priority span.prio4,
+#messagelist tr td.priority span.prio5,
+#messagelist tr td.flag span.flagged,
+#messagelist tr td.flag span.unflagged,
+#messagelist tr td.flag span.unflagged:hover,
+#messagelist tr td.status span.status,
+#messagelist tr td.status span.msgicon,
+#messagelist tr td.status span.deleted,
+#messagelist tr td.status span.unread,
+#messagelist tr td.status span.unreadchildren,
+#messagelist tr td.subject span.msgicon,
+#messagelist tr td.subject span.deleted,
+#messagelist tr td.subject span.unread,
+#messagelist tr td.subject span.replied,
+#messagelist tr td.subject span.forwarded,
+#messagelist tr td.subject span.unreadchildren
{
display: inline-block;
vertical-align: middle;
height: 17px;
width: 15px;
- background: url(images/messageicons.png) center no-repeat;
+ background: url(images/messageicons.png?v=9df0.3673) center no-repeat;
}
-.messagelist tr td.attachment span.attachment
+#messagelist tr td.attachment span.attachment
{
background-position: 0 -170px;
}
-.messagelist tr td.attachment span.report
+#messagelist tr td.attachment span.report
{
background-position: 0 -255px;
}
-.messagelist tr td.priority span.priority
+#messagelist tr td.priority span.priority
{
background-position: 0 -309px;
}
-.messagelist tr td.priority span.prio5
+#messagelist tr td.priority span.prio5
{
background-position: 0 -358px;
}
-.messagelist tr td.priority span.prio4
+#messagelist tr td.priority span.prio4
{
background-position: 0 -340px;
}
-.messagelist tr td.priority span.prio3
+#messagelist tr td.priority span.prio3
{
background-position: 0 -324px;
}
-.messagelist tr td.priority span.prio2
+#messagelist tr td.priority span.prio2
{
background-position: 0 -309px;
}
-.messagelist tr td.priority span.prio1
+#messagelist tr td.priority span.prio1
{
background-position: 0 -290px;
}
-.messagelist tr td.flag span.flagged
+#messagelist tr td.flag span.flagged
{
background-position: 0 -153px;
}
-.messagelist tr td.flag span.unflagged:hover
+#messagelist tr td.flag span.unflagged:hover
{
background-position: 0 -136px;
}
-.messagelist tr td.subject span.msgicon,
-.messagelist tr td.subject span.unreadchildren
+#messagelist tr td.subject span.msgicon,
+#messagelist tr td.subject span.unreadchildren
{
background-position: 0 -51px;
margin: 0 2px;
}
-.messagelist tr td.subject span.replied
+#messagelist tr td.subject span.replied
{
background-position: 0 -85px;
}
-.messagelist tr td.subject span.forwarded
+#messagelist tr td.subject span.forwarded
{
background-position: 0 -68px;
}
-.messagelist tr td.subject span.replied.forwarded
+#messagelist tr td.subject span.replied.forwarded
{
background-position: 0 -102px;
}
-.messagelist tr td.status span.msgicon,
-.messagelist tr td.flag span.unflagged,
-.messagelist tr td.status span.unreadchildren
+#messagelist tr td.status span.msgicon,
+#messagelist tr td.flag span.unflagged,
+#messagelist tr td.status span.unreadchildren
{
background-position: 0 17px; /* no icon */
}
-.messagelist tr td.status span.msgicon:hover
+#messagelist tr td.status span.msgicon:hover
{
background-position: 0 -272px;
}
-.messagelist tr td.status span.deleted,
-.messagelist tr td.subject span.deleted
+#messagelist tr td.status span.deleted,
+#messagelist tr td.subject span.deleted
{
background-position: 0 -187px;
}
-.messagelist tr td.status span.status,
-.messagelist tr td.status span.unread,
-.messagelist tr td.subject span.unread
+#messagelist tr td.status span.status,
+#messagelist tr td.status span.unread,
+#messagelist tr td.subject span.unread
{
background-position: 0 -119px;
}
-.messagelist tr td div.collapsed
+#messagelist tr td div.collapsed
{
background-position: 0 -221px;
cursor: pointer;
}
-.messagelist tr td div.expanded
+#messagelist tr td div.expanded
{
background-position: 0 -204px;
cursor: pointer;
}
-.messagelist tr td.threads div.listmenu
+#messagelist tr td.threads div.listmenu
{
background-position: 0 -238px;
cursor: pointer;
}
-.messagelist tbody tr td.subject
+#messagelist tbody tr td.subject
{
width: 99%;
}
-.messagelist tbody tr td.subject a
+#messagelist tbody tr td.subject a
{
cursor: default;
vertical-align: middle; /* #1487091 */
}
/* thread parent message with unread children */
-.messagelist tbody tr.unroot td.subject a
+#messagelist tbody tr.unroot td.subject a
{
text-decoration: underline;
}
-.messagelist tr td.attachment,
-.messagelist tr td.threads,
-.messagelist tr td.status,
-.messagelist tr td.flag,
-.messagelist tr td.priority
+#messagelist tr td.attachment,
+#messagelist tr td.threads,
+#messagelist tr td.status,
+#messagelist tr td.flag,
+#messagelist tr td.priority
{
width: 17px;
padding: 0 0 0 2px;
}
-.messagelist tr td.size
+#messagelist tr td.size
{
width: 60px;
text-align: right;
padding: 0 2px;
}
-.messagelist tr td.fromto,
-.messagelist tr td.from,
-.messagelist tr td.to,
-.messagelist tr td.cc,
-.messagelist tr td.replyto
+#messagelist tr td.fromto,
+#messagelist tr td.from,
+#messagelist tr td.to,
+#messagelist tr td.cc,
+#messagelist tr td.replyto
{
width: 180px;
padding: 0 2px;
}
-.messagelist tr td.date
+#messagelist tr td.date
{
width: 118px;
padding: 0 2px;
}
-.messagelist tr.message
+#messagelist tr.message
{
background-color: #FFF;
}
-.messagelist tr.unread
+#messagelist tr.unread
{
font-weight: bold;
background-color: #FFFFFF;
}
-.messagelist tr.flagged td,
-.messagelist tr.flagged td a
+#messagelist tr.flagged td,
+#messagelist tr.flagged td a
{
color: #CC0000;
}
-.messagelist tr.selected td
+#messagelist tr.selected td
{
color: #FFFFFF;
background-color: #CC3333;
}
-.messagelist tr.unfocused td
+#messagelist tr.unfocused td
{
color: #FFFFFF;
background-color: #929292;
}
-.messagelist tr.selected td a
+#messagelist tr.selected td a
{
color: #FFFFFF;
}
-.messagelist tr.unfocused td a
+#messagelist tr.unfocused td a
{
color: #FFFFFF;
}
-.messagelist tr.deleted td,
-.messagelist tr.deleted td a
+#messagelist tr.deleted td,
+#messagelist tr.deleted td a
{
color: #CCCCCC;
}
@@ -1018,7 +1011,7 @@ td span.branch div.tree
{
height: 17px;
width: 15px;
- background: url(images/tree.gif) 0px 0px no-repeat;
+ background: url(images/tree.gif?v=9b73.92) 0px 0px no-repeat;
}
td span.branch div.l1
@@ -1126,7 +1119,7 @@ table.headers-table tr td.header span
min-height: 16px;
list-style-image: none;
list-style-type: none;
- background: url(images/icons/attachment.png) 4px 2px no-repeat #DFDFDF;
+ background: url(images/icons/attachment.png?v=08f7.518) 4px 2px no-repeat #DFDFDF;
}
#messageframe #attachment-list
@@ -1168,16 +1161,6 @@ table.headers-table tr td.header span
text-decoration: underline;
}
-#attachment-list li a.drop {
- background: url(images/icons/down_small.gif) no-repeat center 6px;
- width: 12px;
- height: 7px;
- cursor: pointer;
- padding: 5px 0 0;
- margin-left: 3px;
- display: inline-block;
-}
-
#messagebody
{
position:relative;
@@ -1341,27 +1324,20 @@ div.message-htmlpart div.rcmBody
text-decoration: underline;
}
-#messagelinks
+#openextwinlink
{
position: absolute;
top: 8px;
right: 10px;
- height: 16px;
- text-align: right;
-}
-
-#messageframe #messagelinks
-{
- top: 2px;
- right: 2px;
+ width: 15px;
+ height: 15px;
+ border: 0;
}
#compose-headers #openextwinlink
{
- position: absolute;
- height: 15px;
- top: 4px;
- right: 2px;
+ top: 4px;
+ right: 2px;
}
#full-headers
@@ -1387,12 +1363,12 @@ div.more-headers
div.show-headers
{
- background: url(images/icons/down_small.gif) no-repeat center;
+ background: url(images/icons/down_small.gif?v=f368.105) no-repeat center;
}
div.hide-headers
{
- background: url(images/icons/up_small.gif) no-repeat center;
+ background: url(images/icons/up_small.gif?v=c56c.106) no-repeat center;
}
#headers-source
@@ -1592,6 +1568,7 @@ input.from_address
#compose-attachments ul li
{
height: 18px;
+ line-height: 16px;
font-size: 11px;
padding-left: 2px;
padding-top: 2px;
@@ -1629,19 +1606,16 @@ input.from_address
vertical-align: middle;
}
-#upload-form,
#attachment-form
{
padding: 6px;
}
-#upload-form div,
#attachment-form div
{
padding: 2px;
}
-#upload-form div.buttons,
#attachment-form div.buttons
{
margin-top: 4px;
@@ -1677,7 +1651,7 @@ input.from_address
{
display: block;
font-size: 11px;
- background: url(images/icons/folders.png) 5px -108px no-repeat;
+ background: url(images/icons/folders.png?v=87af.4822) 5px -108px no-repeat;
border-bottom: 1px solid #EBEBEB;
white-space: nowrap;
}
@@ -1719,14 +1693,6 @@ input.from_address
-o-text-overflow: ellipsis;
}
-#contacts-table td span.email
-{
- display: inline;
- color: #ccc;
- font-style: italic;
- margin-left: 0.5em;
-}
-
#abookcountbar
{
margin-top: 4px;
@@ -1752,7 +1718,7 @@ input.from_address
padding-left: 5px;
padding-right: 5px;
text-shadow: 1px 1px white;
- background: url("images/icons/groupactions.png") no-repeat right -70px;
+ background: url(images/icons/groupactions.png?v=ace6.1092) no-repeat right -70px;
}
#abookactions a.disabled
diff --git a/skins/classic/settings.css b/skins/classic/settings.css
index 2433f5040..428e60884 100644
--- a/skins/classic/settings.css
+++ b/skins/classic/settings.css
@@ -85,8 +85,6 @@
{
font-weight: bold;
text-align: right;
- width: 1%;
- white-space: nowrap;
}
#bottomboxes
@@ -180,7 +178,7 @@ div.readtext
{
min-height: 200px;
padding-bottom: 2em;
- background: url(images/watermark.gif) no-repeat center;
+ background: url(images/watermark.gif?v=4094.9288) no-repeat center;
}
#license .sysname
@@ -255,15 +253,3 @@ div.crop
{
overflow: auto;
}
-
-#rcmfd_signature
-{
- width: 99%;
- min-width: 390px;
-}
-
-#rcmfd_signature_toolbar1 td,
-#rcmfd_signature_toolbar2 td
-{
- width: auto;
-}
diff --git a/skins/classic/templates/about.html b/skins/classic/templates/about.html
index 429dfcf5f..519acf773 100644
--- a/skins/classic/templates/about.html
+++ b/skins/classic/templates/about.html
@@ -7,15 +7,11 @@
</head>
<body>
-<roundcube:if condition="!request:_framed" />
-
<roundcube:include file="/includes/taskbar.html" />
<roundcube:include file="/includes/header.html" />
<roundcube:include file="/includes/settingstabs.html" />
<div id="mainscreen" class="box darkbg crop">
-<roundcube:endif />
-
<div class="readtext">
<div id="license">
<roundcube:object name="aboutcontent" />
@@ -33,10 +29,7 @@ Some <a href="http://roundcube.net/license">exceptions</a> for skins &amp; plugi
<roundcube:object name="pluginlist" id="pluginlist" class="records-table" cellspacing="0" />
</div>
-
-<roundcube:if condition="!request:_framed" />
</div>
-<roundcube:endif />
</body>
</html>
diff --git a/skins/classic/templates/addressbook.html b/skins/classic/templates/addressbook.html
index 429b83438..1008cbf76 100644
--- a/skins/classic/templates/addressbook.html
+++ b/skins/classic/templates/addressbook.html
@@ -17,7 +17,7 @@
</style>
</head>
-<body>
+<body onload="rcube_init_mail_ui()">
<roundcube:include file="/includes/taskbar.html" />
<roundcube:include file="/includes/header.html" />
@@ -28,10 +28,7 @@
<roundcube:button command="delete" type="link" class="buttonPas delete" classAct="button delete" classSel="button deleteSel" title="deletecontact" content=" " />
<span class="separator">&nbsp;</span>
<roundcube:button command="import" type="link" class="buttonPas import" classAct="button import" classSel="button importSel" title="importcontacts" content=" " />
-<span class="dropbutton">
<roundcube:button command="export" type="link" class="buttonPas export" classAct="button export" classSel="button exportSel" title="exportvcards" content=" " />
-<span id="exportmenulink" onclick="rcmail_ui.show_popup('exportmenu');return false"></span>
-</span>
<roundcube:button command="advanced-search" type="link" class="buttonPas search" classAct="button search" classSel="button searchSel" title="advsearch" content=" " />
<roundcube:container name="toolbar" id="abooktoolbar" />
</div>
@@ -42,13 +39,6 @@
<roundcube:button command="reset-search" id="searchreset" image="/images/icons/reset.gif" title="resetsearch" width="13" height="13" />
</div>
-<div id="exportmenu" class="popupmenu">
- <ul>
- <li><roundcube:button command="export" label="exportall" prop="sub" classAct="exportalllink active" class="exportalllink" /></li>
- <li><roundcube:button command="export-selected" label="exportsel" prop="sub" classAct="exportsellink active" class="exportsellink" /></li>
- </ul>
-</div>
-
<div id="searchmenu" class="popupmenu">
<ul class="toolbarmenu">
<li><label><input type="checkbox" name="s_mods[]" value="name" id="s_mod_name" onclick="rcmail_ui.set_searchmod(this)" /> <span><roundcube:label name="name" /></span></label></li>
@@ -64,7 +54,8 @@
<div id="directorylistbox">
<div id="directorylist-title" class="boxtitle"><roundcube:label name="groups" /></div>
<div id="directorylist-content" class="boxlistcontent">
- <roundcube:object name="directorylist" id="directorylist" class="treelist" />
+ <roundcube:object name="directorylist" id="directorylist" />
+ <roundcube:object name="groupslist" id="contactgroupslist" />
</div>
<div id="directorylist-footer" class="boxfooter">
<roundcube:button command="group-create" type="link" title="newcontactgroup" class="buttonPas addgroup" classAct="button addgroup" content=" " />
@@ -75,7 +66,7 @@
<div id="addressscreen">
<div id="addresslist">
-<roundcube:object name="addresslisttitle" label="contacts" tag="div" class="boxtitle" />
+<div class="boxtitle"><roundcube:label name="contacts" /></div>
<div class="boxlistcontent">
<roundcube:object name="addresslist" id="contacts-table" class="records-table" cellspacing="0" summary="Contacts list" noheader="true" />
</div>
@@ -116,16 +107,5 @@
</ul>
</div>
-<div id="dragmenu" class="popupmenu">
- <ul>
- <li><roundcube:button command="move" onclick="return rcmail.drag_menu_action('move')" label="move" classAct="active" /></li>
- <li><roundcube:button command="copy" onclick="return rcmail.drag_menu_action('copy')" label="copy" classAct="active" /></li>
- </ul>
-</div>
-
-<script type="text/javascript">
-rcube_init_mail_ui();
-</script>
-
</body>
</html>
diff --git a/skins/classic/templates/compose.html b/skins/classic/templates/compose.html
index 5e259e11c..b6dab2c4c 100644
--- a/skins/classic/templates/compose.html
+++ b/skins/classic/templates/compose.html
@@ -16,10 +16,10 @@
</style>
</head>
<roundcube:if condition="env:extwin" />
-<body class="extwin">
+<body class="extwin" onload="rcube_init_mail_ui()">
<roundcube:object name="message" id="message" />
<roundcube:else />
-<body>
+<body onload="rcube_init_mail_ui()">
<roundcube:include file="/includes/taskbar.html" />
<roundcube:include file="/includes/header.html" />
<roundcube:endif />
@@ -44,7 +44,7 @@
<roundcube:button name="messageoptions" id="composemenulink" type="link" class="button messagemenu" title="messageoptions" onclick="rcmail_ui.show_popup('composemenu', true);return false" content=" " />
</div>
-<roundcube:form name="form" method="post">
+<form name="form" action="./" method="post">
<div id="mainscreen">
@@ -178,16 +178,23 @@
<tr>
<td><label for="rcmcomposereceipt"><roundcube:label name="returnreceipt" />:</label></td>
<td><roundcube:object name="receiptCheckBox" form="form" id="rcmcomposereceipt" /></td>
- </tr><tr>
+ </tr>
+ <roundcube:if condition="config:smtp_server != ''" />
+ <tr>
<td><label for="rcmcomposedsn"><roundcube:label name="dsn" />:</label></td>
<td><roundcube:object name="dsnCheckBox" form="form" id="rcmcomposedsn" /></td>
- </tr><tr>
+ </tr>
+ <roundcube:endif />
+ <tr>
<td><label for="rcmcomposepriority"><roundcube:label name="priority" />:</label></td>
<td><roundcube:object name="prioritySelector" form="form" id="rcmcomposepriority" /></td>
- </tr><roundcube:if condition="!config:no_save_sent_messages" /><tr>
+ </tr>
+ <roundcube:if condition="!config:no_save_sent_messages" />
+ <tr>
<td><label><roundcube:label name="savesentmessagein" />:</label></td>
<td><roundcube:object name="storetarget" maxlength="30" /></td>
- </tr><roundcube:endif />
+ </tr>
+ <roundcube:endif />
</table>
</div>
@@ -197,9 +204,5 @@
<roundcube:object name="composeAttachmentForm" id="attachment-form" attachmentFieldSize="40" class="popupmenu" />
-<script type="text/javascript">
-rcube_init_mail_ui();
-</script>
-
</body>
</html>
diff --git a/skins/classic/templates/contact.html b/skins/classic/templates/contact.html
index 8be112b49..d74a78b27 100644
--- a/skins/classic/templates/contact.html
+++ b/skins/classic/templates/contact.html
@@ -13,7 +13,7 @@
<div id="sourcename"><roundcube:label name="addressbook" />: <roundcube:var name="env:sourcename" /></div>
<roundcube:endif />
- <div id="contactphoto"><roundcube:object name="contactphoto" id="contactpic" placeholder="/images/contactpic.png" placeholderGroup="/images/contactgroup.png" /></div>
+ <div id="contactphoto"><roundcube:object name="contactphoto" id="contactpic" placeholder="/images/contactpic.png" /></div>
<roundcube:object name="contacthead" id="contacthead" />
<div style="clear:both"></div>
<div id="contacttabs">
diff --git a/skins/classic/templates/contactadd.html b/skins/classic/templates/contactadd.html
index bad6daf28..05cc8aa82 100644
--- a/skins/classic/templates/contactadd.html
+++ b/skins/classic/templates/contactadd.html
@@ -5,11 +5,11 @@
<roundcube:include file="/includes/links.html" />
<script type="text/javascript" src="/functions.js"></script>
</head>
-<body class="iframe">
+<body class="iframe" onload="rcube_init_mail_ui()">
<div id="contact-title" class="boxtitle"><roundcube:label name="addcontact" /></div>
<div id="contact-details" class="boxcontent">
-<roundcube:form name="editform" method="post">
+<form name="editform" method="post" action="./">
<roundcube:if condition="strlen(env:sourcename)" />
<div id="sourcename"><roundcube:label name="addressbook" />: <roundcube:object name="sourceselector" class="hint" id="sourceselect" /></div>
<roundcube:endif />
@@ -35,10 +35,7 @@
<roundcube:object name="photoUploadForm" id="upload-form" size="30" class="popupmenu" />
<roundcube:object name="fileDropArea" id="contactpic" />
-<script type="text/javascript">
-rcube_init_tabs('contacttabs');
-rcube_init_mail_ui();
-</script>
+<script type="text/javascript">rcube_init_tabs('contacttabs')</script>
</body>
</html>
diff --git a/skins/classic/templates/contactedit.html b/skins/classic/templates/contactedit.html
index c51cbf296..db8599ac6 100644
--- a/skins/classic/templates/contactedit.html
+++ b/skins/classic/templates/contactedit.html
@@ -5,11 +5,11 @@
<roundcube:include file="/includes/links.html" />
<script type="text/javascript" src="/functions.js"></script>
</head>
-<body class="iframe">
+<body class="iframe" onload="rcube_init_mail_ui()">
<div id="contact-title" class="boxtitle"><roundcube:label name="editcontact" /></div>
<div id="contact-details" class="boxcontent">
-<roundcube:form name="editform" method="post">
+<form name="editform" method="post" action="./">
<roundcube:if condition="strlen(env:sourcename)" />
<div id="sourcename"><roundcube:label name="addressbook" />: <roundcube:var name="env:sourcename" /></div>
<roundcube:endif />
@@ -35,10 +35,7 @@
<roundcube:object name="photoUploadForm" id="upload-form" size="30" class="popupmenu" />
<roundcube:object name="fileDropArea" id="contactpic" />
-<script type="text/javascript">
-rcube_init_tabs('contacttabs');
-rcube_init_mail_ui();
-</script>
+<script type="text/javascript">rcube_init_tabs('contacttabs')</script>
</body>
</html>
diff --git a/skins/classic/templates/folders.html b/skins/classic/templates/folders.html
index f86be092b..1ae8809ec 100644
--- a/skins/classic/templates/folders.html
+++ b/skins/classic/templates/folders.html
@@ -12,7 +12,7 @@
}
</style>
</head>
-<body>
+<body onload="rcube_init_mail_ui()">
<roundcube:include file="/includes/taskbar.html" />
<roundcube:include file="/includes/header.html" />
@@ -58,9 +58,5 @@
</ul>
</div>
-<script type="text/javascript">
-rcube_init_mail_ui();
-</script>
-
</body>
</html>
diff --git a/skins/classic/templates/login.html b/skins/classic/templates/login.html
index 2dacd48ff..cca2bd934 100644
--- a/skins/classic/templates/login.html
+++ b/skins/classic/templates/login.html
@@ -15,7 +15,7 @@
<div class="boxtitle"><roundcube:label name="welcome" /></div>
<div class="boxcontent">
-<roundcube:form name="form" method="post">
+<form name="form" action="./" method="post">
<roundcube:object name="loginform" form="form" />
<p style="text-align:center;"><input type="submit" class="button mainaction" value="<roundcube:label name='login' />" /></p>
diff --git a/skins/classic/templates/mail.html b/skins/classic/templates/mail.html
index 10aebc96d..75a112ff5 100644
--- a/skins/classic/templates/mail.html
+++ b/skins/classic/templates/mail.html
@@ -18,7 +18,7 @@
}
</style>
</head>
-<body>
+<body onload="rcube_init_mail_ui()">
<roundcube:include file="/includes/taskbar.html" />
<roundcube:include file="/includes/header.html" />
@@ -28,7 +28,7 @@
<div id="mailboxlist-container">
<div id="mailboxlist-title" class="boxtitle"><roundcube:label name="mailboxlist" /></div>
<div id="mailboxlist-content" class="boxlistcontent">
-<roundcube:object name="mailboxlist" id="mailboxlist" class="treelist" folder_filter="mail" />
+<roundcube:object name="mailboxlist" id="mailboxlist" folder_filter="mail" />
</div>
<div id="mailboxlist-footer" class="boxfooter">
<roundcube:button name="mailboxmenulink" id="mailboxmenulink" type="link" title="folderactions" class="button groupactions" onclick="rcmail_ui.show_popup('mailboxmenu');return false" content=" " />
@@ -55,7 +55,6 @@
<div id="messagelistcontainer" class="boxlistcontent" style="top:0">
<roundcube:object name="messages"
id="messagelist"
- class="messagelist fixedheader"
cellspacing="0"
columns=""
summary="Message list"
@@ -131,9 +130,9 @@
<roundcube:button command="reset-search" id="searchreset" image="/images/icons/reset.gif" title="resetsearch" width="13" height="13" />
</div>
-<div id="dragmenu" class="popupmenu">
+<div id="dragmessagemenu" class="popupmenu">
<ul>
- <li><roundcube:button command="move" onclick="return rcmail.drag_menu_action('move')" label="move" classAct="active" /></li>
+ <li><roundcube:button command="moveto" onclick="return rcmail.drag_menu_action('moveto')" label="move" classAct="active" /></li>
<li><roundcube:button command="copy" onclick="return rcmail.drag_menu_action('copy')" label="copy" classAct="active" /></li>
</ul>
</div>
@@ -141,8 +140,7 @@
<div id="mailboxoptionsmenu" class="popupmenu">
<ul>
<li><roundcube:button command="expunge" type="link" label="compact" classAct="active" /></li>
- <li><roundcube:button command="purge" type="link" label="empty" classAct="active" /></li>
- <li class="separator_below"><roundcube:button name="messageimport" type="link" class="active" label="importmessages" id="uploadformlink" onclick="rcmail_ui.show_popup('uploadform', true); return false" /></li>
+ <li class="separator_below"><roundcube:button command="purge" type="link" label="empty" classAct="active" /></li>
<li><roundcube:button command="folders" task="settings" type="link" label="managefolders" classAct="active" /></li>
<roundcube:container name="mailboxoptions" id="mailboxoptionsmenu" />
</ul>
@@ -206,11 +204,5 @@
</div>
</div>
-<roundcube:object name="messageimportform" id="upload-form" attachmentFieldSize="40" class="popupmenu" />
-
-<script type="text/javascript">
-rcube_init_mail_ui();
-</script>
-
</body>
</html>
diff --git a/skins/classic/templates/message.html b/skins/classic/templates/message.html
index 757c0a635..4a4068dbe 100644
--- a/skins/classic/templates/message.html
+++ b/skins/classic/templates/message.html
@@ -13,10 +13,10 @@
</style>
</head>
<roundcube:if condition="env:extwin" />
-<body class="extwin">
+<body class="extwin" onload="rcube_init_mail_ui()">
<roundcube:object name="message" id="message" />
<roundcube:else />
-<body>
+<body onload="rcube_init_mail_ui()">
<roundcube:include file="/includes/taskbar.html" />
<roundcube:include file="/includes/header.html" />
@@ -30,7 +30,7 @@
<div id="mailboxlist-container">
<div id="mailboxlist-title" class="boxtitle"><roundcube:label name="mailboxlist" /></div>
<div class="boxlistcontent">
- <roundcube:object name="mailboxlist" id="mailboxlist" class="treelist" maxlength="25" />
+ <roundcube:object name="mailboxlist" id="mailboxlist" maxlength="25" />
</div>
<div class="boxfooter"></div>
</div>
@@ -39,17 +39,9 @@
<div id="messageframe">
<div class="boxlistcontent" style="top:0; overflow-x:auto">
- <div id="messagelinks">
- <roundcube:if condition="env:optional_format=='text'" />
- <roundcube:button command="change-format" prop="text" image="/images/icons/text.png" width="15" height="15" title="changeformattext" id="changeformattext" />
- <roundcube:endif />
- <roundcube:if condition="env:optional_format=='html'" />
- <roundcube:button command="change-format" prop="html" image="/images/icons/html.png" width="15" height="15" title="changeformathtml" id="changeformathtml" />
- <roundcube:endif />
- </div>
<roundcube:object name="messageHeaders" class="headers-table" cellspacing="0" cellpadding="2" addicon="/images/icons/silhouette.png" summary="Message headers" />
<roundcube:object name="messageFullHeaders" id="full-headers" />
-<roundcube:object name="messageAttachments" id="attachment-list" />
+<roundcube:object name="messageAttachments" id="attachment-list" maxlength="50" />
<roundcube:object name="messageObjects" id="message-objects" />
<roundcube:object name="messageBody" id="messagebody" />
</div>
@@ -73,17 +65,5 @@
</script>
<roundcube:endif />
-<div id="attachmentmenu" class="popupmenu">
- <ul class="toolbarmenu">
- <li><roundcube:button command="open-attachment" id="attachmenuopen" type="link" label="open" class="openlink" classAct="openlink active" innerclass="openlink" /></li>
- <li><roundcube:button command="download-attachment" id="attachmenudownload" type="link" label="download" class="downloadlink" classAct="downloadlink active" innerclass="downloadlink" /></li>
- <roundcube:container name="attachmentmenu" id="attachmentmenu" />
- </ul>
-</div>
-
-<script type="text/javascript">
-rcube_init_mail_ui();
-</script>
-
</body>
</html>
diff --git a/skins/classic/templates/messageerror.html b/skins/classic/templates/messageerror.html
index eb8c7e058..918e3092a 100644
--- a/skins/classic/templates/messageerror.html
+++ b/skins/classic/templates/messageerror.html
@@ -27,7 +27,7 @@
</style>
</head>
-<body>
+<body onload="rcube_init_mail_ui()">
<roundcube:include file="/includes/taskbar.html" />
<roundcube:include file="/includes/header.html" />
@@ -42,7 +42,7 @@
<div id="mailboxlist-container">
<div class="boxtitle"><roundcube:label name="mailboxlist" /></div>
<div class="boxlistcontent">
- <roundcube:object name="mailboxlist" id="mailboxlist" class="treelist" folder_filter="mail" />
+ <roundcube:object name="mailboxlist" id="mailboxlist" folder_filter="mail" />
</div>
<div class="boxfooter"></div>
</div>
@@ -61,10 +61,6 @@
rcmail.add_onload('mailviewsplitv.init()');
</script>
-<script type="text/javascript">
-rcube_init_mail_ui();
-</script>
-
</body>
<roundcube:endif />
diff --git a/skins/classic/templates/messagepart.html b/skins/classic/templates/messagepart.html
index 9f2215679..ce7dbe2e1 100644
--- a/skins/classic/templates/messagepart.html
+++ b/skins/classic/templates/messagepart.html
@@ -3,39 +3,23 @@
<head>
<title><roundcube:object name="pagetitle" /></title>
<roundcube:include file="/includes/links.html" />
-<script type="text/javascript" src="/splitter.js"></script>
-<script type="text/javascript" src="/functions.js"></script>
-<style type="text/css">
-#messagepartheader { width: <roundcube:exp expression="!empty(cookie:mailpartsplitter) ? cookie:mailpartsplitter-5 : 170" />px; }
-#messagepartcontainer { left: <roundcube:exp expression="!empty(cookie:mailpartsplitter) ? cookie:mailpartsplitter+5 : 180" />px;
-<roundcube:exp expression="browser:ie ? ('width: expression((parseInt(this.parentNode.offsetWidth)-'.(!empty(cookie:mailpartsplitter) ? cookie:mailpartsplitter+5 : 180).')+\\'px\\');') : ''" />
-}
-</style>
</head>
<body class="extwin">
-<roundcube:object name="message" id="message" />
-<div id="messagetoolbar">
- <roundcube:button command="download" type="link" class="button download" classAct="button download" classSel="button downloadSel" title="download" content=" " />
- <roundcube:button command="print" type="link" class="button print" classAct="button print" classSel="button printSel" title="print" content=" " />
- <roundcube:container name="toolbar" id="messagetoolbar" />
+<roundcube:include file="/includes/header.html" />
+
+<div id="partheader">
+<roundcube:object name="messagePartControls" cellpadding="2" cellspacing="0" />
+
+<div style="position:absolute; top:2px; right:0; width:12em; text-align:right">
+ [<a href="#close" class="closelink" onclick="self.close()"><roundcube:label name="close" /></a>]
</div>
+</div>
+
-<div id="mainscreen">
- <div id="messagepartheader">
- <div class="boxtitle" /><roundcube:label name="properties" /></div>
- <div class="boxlistcontent">
- <roundcube:object name="messagePartControls" class="records-table" cellspacing="0" />
- </div>
- </div>
- <div id="messagepartcontainer">
- <roundcube:object name="messagePartFrame" id="messagepartframe" width="100%" height="100%" />
- </div>
+<div id="messagepartcontainer">
+<roundcube:object name="messagePartFrame" id="messagepartframe" width="100%" height="100%" />
</div>
-<script type="text/javascript">
-var mailpartsplit = new rcube_splitter({id:'mailpartsplitter', p1: 'messagepartheader', p2: 'messagepartcontainer', orientation: 'v', relative: true, start: 165});
-rcmail.add_onload('mailpartsplit.init()');
-</script>
</body>
</html>
diff --git a/skins/classic/templates/messagepreview.html b/skins/classic/templates/messagepreview.html
index b42a06342..cc6fafab1 100644
--- a/skins/classic/templates/messagepreview.html
+++ b/skins/classic/templates/messagepreview.html
@@ -3,40 +3,18 @@
<head>
<title><roundcube:object name="pagetitle" /></title>
<roundcube:include file="/includes/links.html" />
-<script type="text/javascript" src="/splitter.js"></script>
-<script type="text/javascript" src="/functions.js"></script>
</head>
<body class="iframe">
<div class="messageheaderbox">
- <div id="messagelinks">
- <roundcube:if condition="env:optional_format=='text'" />
- <roundcube:button command="change-format" prop="text" image="/images/icons/text.png" width="15" height="15" title="changeformattext" id="changeformattext" />
- <roundcube:endif />
- <roundcube:if condition="env:optional_format=='html'" />
- <roundcube:button command="change-format" prop="html" image="/images/icons/html.png" width="15" height="15" title="changeformathtml" id="changeformathtml" />
- <roundcube:endif />
- <roundcube:button command="extwin" image="/images/icons/extwin.png" width="15" height="15" title="openinextwin" id="openextwinlink" />
- </div>
+<roundcube:button command="extwin" image="/images/icons/extwin.png" width="15" height="15" title="openinextwin" id="openextwinlink" />
<roundcube:object name="messageHeaders" class="headers-table" cellspacing="0" cellpadding="2" addicon="/images/icons/silhouette.png" summary="Message headers" />
<roundcube:object name="messageFullHeaders" id="full-headers" />
-<roundcube:object name="messageAttachments" id="attachment-list" />
+<roundcube:object name="messageAttachments" id="attachment-list" maxlength="50" />
</div>
<roundcube:object name="messageObjects" id="message-objects" />
<roundcube:object name="messageBody" id="messagebody" />
-<div id="attachmentmenu" class="popupmenu">
- <ul class="toolbarmenu">
- <li><roundcube:button command="open-attachment" id="attachmenuopen" type="link" label="open" class="openlink" classAct="openlink active" innerclass="openlink" /></li>
- <li><roundcube:button command="download-attachment" id="attachmenudownload" type="link" label="download" class="downloadlink" classAct="downloadlink active" innerclass="downloadlink" /></li>
- <roundcube:container name="attachmentmenu" id="attachmentmenu" />
- </ul>
-</div>
-
-<script type="text/javascript">
-rcube_init_mail_ui();
-</script>
-
</body>
</html>
diff --git a/skins/classic/templates/responseedit.html b/skins/classic/templates/responseedit.html
new file mode 100644
index 000000000..67ba35bac
--- /dev/null
+++ b/skins/classic/templates/responseedit.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title><roundcube:object name="pagetitle" /></title>
+<roundcube:include file="/includes/links.html" />
+<script type="text/javascript" src="/functions.js"></script>
+
+</head>
+<body class="iframe">
+
+<div id="prefs-title" class="boxtitle"><roundcube:object name="steptitle" /></div>
+
+<div id="response-details" class="boxcontent">
+ <roundcube:object name="responseform" class="propform" size="60" textareacols="60" textarearows="18" />
+
+ <div id="formfooter">
+ <div class="footerindent">
+ <roundcube:button command="save" type="input" class="button mainaction" label="save" condition="!env:readonly" />
+ </div>
+ </div>
+</div>
+
+</body>
+</html>
diff --git a/skins/classic/templates/responses.html b/skins/classic/templates/responses.html
new file mode 100644
index 000000000..2459827b0
--- /dev/null
+++ b/skins/classic/templates/responses.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title><roundcube:object name="pagetitle" /></title>
+<roundcube:include file="/includes/links.html" />
+<script type="text/javascript" src="/functions.js"></script>
+<script type="text/javascript" src="/splitter.js"></script>
+<style type="text/css">
+#identities-list { width: <roundcube:exp expression="!empty(cookie:identviewsplitter) ? cookie:identviewsplitter-5 : 295" />px; }
+#identity-box { left: <roundcube:exp expression="!empty(cookie:identviewsplitter) ? cookie:identviewsplitter+5 : 305" />px;
+ <roundcube:exp expression="browser:ie ? ('width:expression((parseInt(this.parentNode.offsetWidth)-'.(!empty(cookie:identviewsplitter) ? cookie:identviewsplitter+5 : 305).')+\\'px\\');') : ''" />
+}
+</style>
+
+</head>
+<body>
+
+<roundcube:include file="/includes/taskbar.html" />
+<roundcube:include file="/includes/header.html" />
+<roundcube:include file="/includes/settingstabs.html" />
+
+<div id="mainscreen">
+
+<div id="identities-list">
+<div id="identity-title" class="boxtitle"><roundcube:label name="responses" /></div>
+<div class="boxlistcontent">
+<roundcube:object name="responsesList" id="identities-table" class="records-table" cellspacing="0" summary="Responses list" noheader="true" editIcon="" />
+</div>
+<div class="boxfooter">
+<roundcube:button command="add" type="link" title="newidentity" class="buttonPas addgroup" classAct="button addgroup" content=" " condition="config:identities_level:0<2" /><roundcube:button command="delete" type="link" title="delete" class="buttonPas delgroup" classAct="button delgroup" content=" " condition="config:identities_level:0<2" />
+</div>
+</div>
+
+<script type="text/javascript">
+ var identviewsplit = new rcube_splitter({id:'identviewsplitter', p1: 'identities-list', p2: 'identity-box', orientation: 'v', relative: true, start: 300 });
+ rcmail.add_onload('identviewsplit.init()');
+</script>
+
+<div id="identity-box">
+ <roundcube:object name="responseframe" id="identity-frame" width="100%" height="100%" frameborder="0" src="/watermark.html" />
+</div>
+
+</div>
+
+</body>
+</html>