summaryrefslogtreecommitdiff
path: root/skins
diff options
context:
space:
mode:
Diffstat (limited to 'skins')
-rw-r--r--skins/classic/addressbook.css43
-rw-r--r--skins/classic/common.css129
-rw-r--r--skins/classic/editor_content.css13
-rw-r--r--skins/classic/functions.js97
-rw-r--r--skins/classic/ie6hacks.css184
-rw-r--r--skins/classic/iehacks.css295
-rw-r--r--skins/classic/images/abook_toolbar.gifbin5753 -> 0 bytes
-rw-r--r--skins/classic/images/icons/folders.gifbin2596 -> 0 bytes
-rw-r--r--skins/classic/images/icons/glass.gifbin155 -> 0 bytes
-rw-r--r--skins/classic/images/icons/groupactions.gifbin496 -> 0 bytes
-rw-r--r--skins/classic/images/mail_footer.gifbin1336 -> 0 bytes
-rw-r--r--skins/classic/images/mail_toolbar.gifbin12821 -> 0 bytes
-rw-r--r--skins/classic/images/mail_toolbar.pngbin39276 -> 42883 bytes
-rw-r--r--skins/classic/images/messageactions.gifbin2097 -> 0 bytes
-rw-r--r--skins/classic/images/messageicons.gifbin2222 -> 0 bytes
-rw-r--r--skins/classic/images/quota.gifbin287 -> 0 bytes
-rw-r--r--skins/classic/images/taskbar.gifbin2033 -> 0 bytes
-rw-r--r--skins/classic/includes/links.html4
-rw-r--r--skins/classic/includes/messagetoolbar.html4
-rw-r--r--skins/classic/mail.css87
-rw-r--r--skins/classic/pngbehavior.htc84
-rw-r--r--skins/classic/splitter.js17
-rw-r--r--skins/classic/templates/about.html2
-rw-r--r--skins/classic/templates/addressbook.html8
-rw-r--r--skins/classic/templates/compose.html6
-rw-r--r--skins/classic/templates/folders.html6
-rw-r--r--skins/classic/templates/identities.html4
-rw-r--r--skins/classic/templates/identityedit.html4
-rw-r--r--skins/classic/templates/login.html6
-rw-r--r--skins/classic/templates/mail.html16
-rw-r--r--skins/classic/templates/message.html4
-rw-r--r--skins/classic/templates/messageerror.html4
-rw-r--r--skins/classic/templates/messagepart.html4
-rw-r--r--skins/classic/templates/responses.html4
-rw-r--r--skins/classic/templates/settings.html4
-rw-r--r--skins/larry/addressbook.css17
-rw-r--r--skins/larry/editor_content.css13
-rw-r--r--skins/larry/ie7hacks.css213
-rw-r--r--skins/larry/iehacks.css170
-rw-r--r--skins/larry/images/buttons.gifbin14997 -> 0 bytes
-rw-r--r--skins/larry/images/buttons.pngbin38715 -> 16644 bytes
-rw-r--r--skins/larry/images/listicons.pngbin28777 -> 13514 bytes
-rw-r--r--skins/larry/includes/footer.html13
-rw-r--r--skins/larry/includes/links.html2
-rw-r--r--skins/larry/includes/mailtoolbar.html1
-rw-r--r--skins/larry/mail.css95
-rw-r--r--skins/larry/settings.css11
-rw-r--r--skins/larry/styles.css183
-rw-r--r--skins/larry/templates/about.html2
-rw-r--r--skins/larry/templates/addressbook.html21
-rw-r--r--skins/larry/templates/compose.html14
-rw-r--r--skins/larry/templates/login.html6
-rw-r--r--skins/larry/templates/mail.html55
-rw-r--r--skins/larry/templates/message.html16
-rw-r--r--skins/larry/templates/messageerror.html4
-rw-r--r--skins/larry/templates/messagepart.html3
-rw-r--r--skins/larry/templates/messagepreview.html14
-rw-r--r--skins/larry/ui.js102
58 files changed, 646 insertions, 1338 deletions
diff --git a/skins/classic/addressbook.css b/skins/classic/addressbook.css
index 2fcb1715a..ebf9ab9d9 100644
--- a/skins/classic/addressbook.css
+++ b/skins/classic/addressbook.css
@@ -144,28 +144,6 @@
width: 280px;
}
-#directorylist,
-#directorylist li ul
-{
- list-style: none;
- margin: 0;
- padding: 0;
- background-color: #FFFFFF;
-}
-
-#directorylist li ul
-{
- border-top: 1px solid #EBEBEB;
-}
-
-#directorylist li
-{
- display: block;
- font-size: 11px;
- border-bottom: 1px solid #EBEBEB;
- white-space: nowrap;
-}
-
#directorylist li a
{
cursor: default;
@@ -176,7 +154,9 @@
height: 16px;
text-decoration: none;
white-space: nowrap;
- background: url(images/icons/folders.png) 5px -108px no-repeat;
+ background-image: url(images/icons/folders.png);
+ background-position: 5px -108px;
+ background-repeat: no-repeat;
}
#directorylist li ul li a
@@ -184,11 +164,6 @@
padding-left: 45px;
}
-#directorylist li ul li:last-child
-{
- border-bottom: 0;
-}
-
#directorylist li.contactgroup a
{
background-position: 22px -143px;
@@ -199,18 +174,6 @@
background-position: 6px -162px;
}
-#directorylist li.selected > a
-{
- color: #FFF;
- font-weight: bold;
- background-color: #929292;
-}
-
-#directorylist li.droptarget
-{
- background-color: #FFFFA6;
-}
-
#contacts-table
{
width: 100%;
diff --git a/skins/classic/common.css b/skins/classic/common.css
index 3ebe82dab..ddcf53a3a 100644
--- a/skins/classic/common.css
+++ b/skins/classic/common.css
@@ -55,6 +55,13 @@ a.tab
text-align: center;
}
+a.disabled
+{
+ color: #999;
+ text-decoration: none;
+ cursor: default;
+}
+
hr
{
height: 1px;
@@ -495,6 +502,7 @@ body.iframe .boxtitle
border-radius: 3px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
+ box-shadow: 1px 1px 12px #999;
-moz-box-shadow: 1px 1px 12px #999;
-webkit-box-shadow: #999 1px 1px 12px;
}
@@ -538,6 +546,7 @@ body.iframe .boxtitle
.popupmenu li a.active:visited
{
color: #333;
+ cursor: pointer;
}
.popupmenu li a.active:hover,
@@ -660,6 +669,12 @@ ul.treelist li div.treetoggle
cursor: pointer;
}
+ul.treelist li ul li div.treetoggle
+{
+ left: 28px !important;
+ left: 4px;
+}
+
ul.treelist li div.collapsed
{
background: url(images/icons/collapsed.png) bottom right no-repeat;
@@ -671,20 +686,89 @@ ul.treelist li div.expanded
}
+ul.treelist,
+ul.treelist li ul
+{
+ list-style: none;
+ margin: 0;
+ padding: 0;
+ background-color: #FFFFFF;
+}
+
+ul.treelist li ul
+{
+ border-top: 1px solid #EBEBEB;
+}
+
+ul.treelist li
+{
+ display: block;
+ font-size: 11px;
+ border-bottom: 1px solid #EBEBEB;
+ white-space: nowrap;
+}
+
+ul.treelist li a
+{
+ cursor: default;
+ display: block;
+ padding-left: 25px;
+ padding-top: 2px;
+ padding-bottom: 2px;
+ height: 16px;
+ text-decoration: none;
+ white-space: nowrap;
+}
+
+ul.treelist li ul li a
+{
+ padding-left: 45px;
+}
+
+ul.treelist ul ul li a
+{
+ padding-left: 65px;
+}
+
+ul.treelist li ul li:last-child
+{
+ border-bottom: 0;
+}
+
+ul.treelist li.selected > a
+{
+ color: #FFF;
+ font-weight: bold;
+ background-color: #929292;
+}
+
+ul.treelist li.droptarget
+{
+ background-color: #FFFFA6;
+}
+
+
/***** mac-style quicksearch field *****/
+div.searchbox,
#quicksearchbar
{
- position: absolute;
- top: 55px;
- right: 10px;
+ position: relative;
width: 190px;
height: 20px;
text-align: right;
background: url(images/searchfield.gif) top left no-repeat;
}
-#searchreset
+#quicksearchbar
+{
+ position: absolute;
+ top: 55px;
+ right: 10px;
+}
+
+#searchreset,
+div.searchbox a.searchreset
{
position: absolute;
top: 3px;
@@ -692,19 +776,42 @@ ul.treelist li div.expanded
text-decoration: none;
}
-#searchmenulink
+#searchmenulink,
+div.searchbox a.searchmenu,
+div.searchbox a.searchicon
{
position: absolute;
top: 3px;
right: 168px;
}
+div.searchbox a.searchreset
+{
+ display: block;
+ width: 14px;
+ height: 14px;
+ overflow: hidden;
+ white-space: nowrap;
+ text-indent: 50000px;
+ background: url(images/icons/reset.gif) top left no-repeat;
+}
+
+div.searchbox a.searchicon
+{
+ display: inline-block;
+ width: 16px;
+ height: 16px;
+ overflow: hidden;
+ background: url(images/icons/glass.png) top left no-repeat;
+}
+
#quicksearchbar img
{
vertical-align: middle;
}
-#quicksearchbox
+#quicksearchbox,
+div.searchbox > input
{
position: absolute;
top: 2px;
@@ -765,6 +872,7 @@ ul.treelist li div.expanded
border-radius: 3px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
+ box-shadow: 1px 1px 12px #999;
-moz-box-shadow: 1px 1px 12px #999;
-webkit-box-shadow: #999 1px 1px 12px;
}
@@ -865,11 +973,6 @@ a.rcmContactAddress:hover
font-weight: bold;
}
-#console
-{
- opacity: 0.8;
-}
-
.disabled,
a.disabled
{
@@ -881,6 +984,10 @@ font.bold
font-weight: bold;
}
+.formbuttons
+{
+ text-align: center;
+}
/***** onclick menu list *****/
diff --git a/skins/classic/editor_content.css b/skins/classic/editor_content.css
index aabed07b5..67480ab77 100644
--- a/skins/classic/editor_content.css
+++ b/skins/classic/editor_content.css
@@ -12,20 +12,15 @@ body {
margin-top: 2px;
}
-pre
-{
+div.pre {
margin: 0;
padding: 0;
- white-space: -moz-pre-wrap !important;
- white-space: pre-wrap !important;
- white-space: pre;
- word-wrap: break-word; /* IE (and Safari) */
+ font-family: monospace;
}
blockquote
{
- padding-left: 5px;
border-left: #1010ff 2px solid;
- margin-left: 5px;
- width: 100%;
+ margin: 0;
+ padding: 0 0.4em;
}
diff --git a/skins/classic/functions.js b/skins/classic/functions.js
index aaaf393e7..b4f6ed766 100644
--- a/skins/classic/functions.js
+++ b/skins/classic/functions.js
@@ -1,5 +1,18 @@
/**
* Roundcube functions for default skin interface
+ *
+ * @licstart The following is the entire license notice for the
+ * JavaScript code in this file.
+ *
+ * Copyright (c) 2006-2014, The Roundcube Dev Team
+ *
+ * The JavaScript code in this page is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3 of
+ * the License, or (at your option) any later version.
+ *
+ * @licend The above is the entire license notice
+ * for the JavaScript code in this file.
*/
/**
@@ -99,6 +112,7 @@ function rcube_mail_ui()
mailboxmenu: {id:'mailboxoptionsmenu', above:1},
composemenu: {id:'composeoptionsmenu', editable:1, overlap:1},
spellmenu: {id:'spellmenu'},
+ responsesmenu: {id:'responsesmenu'},
// toggle: #1486823, #1486930
uploadmenu: {id:'attachment-form', editable:1, above:1, toggle:!bw.ie&&!bw.linux },
uploadform: {id:'upload-form', editable:1, toggle:!bw.ie&&!bw.linux }
@@ -155,11 +169,6 @@ show_popupmenu: function(popup, show)
}
obj[show?'show':'hide']();
-
- if (bw.ie6 && this.popups[popup].overlap) {
- $('select').css('visibility', show?'hidden':'inherit');
- $('select', obj).css('visibility', 'inherit');
- }
},
dragmenu: function(show)
@@ -207,11 +216,13 @@ searchmenu: function(show)
var n, all,
list = $('input:checkbox[name="s_mods[]"]', obj),
mbox = rcmail.env.mailbox,
- mods = rcmail.env.search_mods;
+ mods = rcmail.env.search_mods,
+ scope = rcmail.env.search_scope || 'base';
if (rcmail.env.task == 'mail') {
mods = mods[mbox] ? mods[mbox] : mods['*'];
all = 'text';
+ $('input:radio[name="s_scope"]').prop('checked', false).filter('#s_scope_'+scope).prop('checked', true);
}
else {
all = '*';
@@ -236,7 +247,11 @@ set_searchmod: function(elem)
{
var all, m, task = rcmail.env.task,
mods = rcmail.env.search_mods,
- mbox = rcmail.env.mailbox;
+ mbox = rcmail.env.mailbox,
+ scope = $('input[name="s_scope"]:checked').val();
+
+ if (scope == 'all')
+ mbox = '*';
if (!mods)
mods = {};
@@ -258,23 +273,24 @@ set_searchmod: function(elem)
m[elem.value] = 1;
// mark all fields
- if (elem.value != all)
- return;
-
- $('input:checkbox[name="s_mods[]"]').map(function() {
- if (this == elem)
- return;
+ if (elem.value == all) {
+ $('input:checkbox[name="s_mods[]"]').map(function() {
+ if (this == elem)
+ return;
+
+ this.checked = true;
+ if (elem.checked) {
+ this.disabled = true;
+ delete m[this.value];
+ }
+ else {
+ this.disabled = false;
+ m[this.value] = 1;
+ }
+ });
+ }
- this.checked = true;
- if (elem.checked) {
- this.disabled = true;
- delete m[this.value];
- }
- else {
- this.disabled = false;
- m[this.value] = 1;
- }
- });
+ rcmail.set_searchmods(m);
},
listmenu: function(show)
@@ -319,9 +335,6 @@ listmenu: function(show)
}
});
$('#listmenu fieldset').css("min-height", maxheight+"px")
- // IE6 complains if you set this attribute using either method:
- //$('#listmenu fieldset').css({'height':'auto !important'});
- //$('#listmenu fieldset').css("height","auto !important");
.height(maxheight);
};
},
@@ -410,20 +423,21 @@ menu_save: function(prop)
this.save_listmenu();
},
-body_mouseup: function(evt, p)
+body_mouseup: function(e)
{
- var i, target = rcube_event.get_target(evt);
+ var target = e.target; ref = this;
- for (i in this.popups) {
- if (this.popups[i].obj.is(':visible') && target != rcube_find_object(i+'link')
- && !this.popups[i].toggle
- && (!this.popups[i].editable || !this.target_overlaps(target, this.popups[i].id))
- && (!this.popups[i].sticky || !rcube_mouse_is_over(evt, rcube_find_object(this.popups[i].id)))
+ $.each(this.popups, function(i, popup) {
+ if (popup.obj.is(':visible') && target != rcube_find_object(i + 'link')
+ && !popup.toggle
+ && target != popup.obj.get(0) // check if scroll bar was clicked (#1489832)
+ && (!popup.editable || !ref.target_overlaps(target, popup.id))
+ && (!popup.sticky || !rcube_mouse_is_over(e, rcube_find_object(popup.id)))
&& !$(target).is('.folder-selector-link') && !$(target).children('.folder-selector-link').length
) {
window.setTimeout('rcmail_ui.show_popup("'+i+'",false);', 50);
}
- }
+ });
},
target_overlaps: function (target, elementid)
@@ -437,9 +451,9 @@ target_overlaps: function (target, elementid)
return false;
},
-body_keydown: function(evt, p)
+body_keydown: function(e)
{
- if (rcube_event.get_keycode(evt) == 27) {
+ if (e.keyCode == 27) {
for (var k in this.popups) {
if (this.popups[k].obj.is(':visible'))
this.show_popup(k, false);
@@ -470,7 +484,7 @@ switch_preview_pane: function(elem)
}
else {
prev_frm.hide();
- if (bw.ie6 || bw.ie7) {
+ if (bw.ie7) {
var fr = document.getElementById('mailcontframe');
fr.style.bottom = 0;
fr.style.height = parseInt(fr.parentNode.offsetHeight)+'px';
@@ -786,7 +800,7 @@ function iframe_events()
// this==iframe
try {
var doc = this.contentDocument ? this.contentDocument : this.contentWindow ? this.contentWindow.document : null;
- rcube_event.add_listener({ element: doc, object:rcmail_ui, method:'body_mouseup', event:'mouseup' });
+ $(doc).mouseup(function(e) { rcmail_ui.body_mouseup(e); });
}
catch (e) {
// catch possible "Permission denied" error in IE
@@ -946,8 +960,9 @@ var rcmail_ui;
function rcube_init_mail_ui()
{
rcmail_ui = new rcube_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' });
+
+ $(document.body).mouseup(function(e) { rcmail_ui.body_mouseup(e); })
+ .mousedown(function(e) { rcmail_ui.body_keydown(e); });
rcmail.addEventListener('init', function() {
if (rcmail.env.quota_content)
@@ -955,7 +970,7 @@ function rcube_init_mail_ui()
rcmail.addEventListener('setquota', update_quota);
$('iframe').load(iframe_events)
- .contents().mouseup(function(e){rcmail_ui.body_mouseup(e)});
+ .contents().mouseup(function(e) { rcmail_ui.body_mouseup(e); });
if (rcmail.env.task == 'mail') {
rcmail.addEventListener('enable-command', 'enable_command', rcmail_ui);
diff --git a/skins/classic/ie6hacks.css b/skins/classic/ie6hacks.css
deleted file mode 100644
index a431ee45e..000000000
--- a/skins/classic/ie6hacks.css
+++ /dev/null
@@ -1,184 +0,0 @@
-/* CSS hacks for IE versions 5,6 */
-
-#taskbar
-{
- background: url(images/taskbar.gif) top right no-repeat;
- width: expression((parseInt(document.documentElement.clientWidth)-250)+'px');
-}
-
-img
-{
- behavior: url(skins/classic/pngbehavior.htc);
-}
-
-#logo
-{
- width: 178px;
- height: 47px;
-}
-
-body > #message div.notice,
-body > #message div.error,
-body > #message div.warning,
-body > #message div.confirmation,
-#message-objects div.notice,
-#message-objects div.error,
-#message-objects div.warning,
-#message-objects div.confirmation
-{
- background-image: url(images/display/icons.gif);
-}
-
-#messagemenu li a
-{
- background-image: url(images/messageactions.gif);
-}
-
-#mailboxlist li
-{
- background-image: url(images/icons/folders.gif);
-}
-
-#messagetoolbar a
-{
- display: block;
- float: left;
- padding-right: 10px;
-}
-
-.boxfooter a.button,
-.boxfooter a.buttonPas
-{
- background-image: url(images/icons/groupactions.gif);
-}
-
-.pagenav
-{
- width: 250px;
-}
-
-.pagenav a.button,
-.pagenav a.buttonPas
-{
- background-image: url(images/pagenav.gif);
-}
-
-#listcontrols a.button,
-#listcontrols a.buttonPas {
- background-image: url(images/mail_footer.gif);
-}
-
-#messagetoolbar a.button,
-#messagetoolbar a.buttonPas {
- background-image: url(images/mail_toolbar.gif);
-}
-
-#abooktoolbar a.button,
-#abooktoolbar a.buttonPas,
-#abooktoolbar span.separator {
- background-image: url(images/abook_toolbar.gif);
-}
-
-ul.toolbarmenu li a,
-.popupmenu li a
-{
- clear: left;
- height: expression(Math.min(14, parseInt(document.documentElement.clientHeight))+'px');
- width: expression(Math.min(130, parseInt(document.documentElement.clientWidth))+'px');
-}
-
-ul.toolbarmenu li.separator_below
-{
- padding-bottom: 3px;
-}
-
-.boxfooter
-{
- width: 100%;
- bottom: -1px;
-}
-
-.boxtitle,
-#directorylist li a
-{
- width: auto;
-}
-
-#directorylist li
-{
- background-image: url(images/icons/folders.gif);
-}
-
-.boxlistcontent
-{
- top: 21px;
- height: expression((parseInt(this.parentNode.offsetHeight)-24-parseInt(this.style.top?this.style.top:21))+'px');
-}
-
-#compose-div .boxlistcontent
-{
- height: expression((parseInt(this.parentNode.offsetHeight)-23-parseInt(this.style.top?this.style.top:21))+'px');
-}
-
-#compose-body-div
-{
- height: expression(parseInt(this.parentNode.offsetHeight)+'px');
-}
-
-#folder-manager
-{
- height: expression((parseInt(document.documentElement.clientHeight)-105)+'px');
-}
-
-#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: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
-{
- background-image: url(images/messageicons.gif);
-}
-
-#messagelist tr td div.collapsed,
-#messagelist tr td div.expanded {
- background-color: #fff;
-}
-
-body.iframe .boxtitle
-{
- position: absolute;
-}
-
-#subscription-table
-{
- width: auto;
-}
-
-#sourcename
-{
- zoom: 1;
-}
-
-#abookactions a
-{
- background-image: url("images/icons/groupactions.gif");
-}
diff --git a/skins/classic/iehacks.css b/skins/classic/iehacks.css
deleted file mode 100644
index fabf73db6..000000000
--- a/skins/classic/iehacks.css
+++ /dev/null
@@ -1,295 +0,0 @@
-
-input, textarea
-{
- border-style: expression(this.type=='checkbox' || this.type=='radio' || this.id=='quicksearchbox' ? 'none' : 'solid');
- border-width: expression(this.type=='checkbox' || this.type=='radio' ? '0' : '1px');
- border-color: expression(this.type=='checkbox' || this.type=='radio' ? '' : '#666666');
- background-color: expression(this.type=='checkbox' || this.type=='radio' ? 'transparent' : '#ffffff');
-}
-
-body.iframe
-{
- margin-top: 0px;
-}
-
-body.iframe div.boxcontent
-{
- margin-top: 20px;
- z-index: 2;
-}
-
-body.iframe div.boxtitle
-{
- z-index: 100;
-}
-
-body.iframe #prefs-details
-{
- padding-top: 1px;
-}
-
-#login-form form
-{
- margin-top: 0;
-}
-
-.pagenav a.buttonPas
-{
- filter: alpha(opacity=35);
-}
-
-body > #message
-{
- filter: alpha(opacity=85);
-}
-
-.popupmenu
-{
- background-color: #ffffff;
-}
-
-#tabsbar,
-#partheader
-{
- width: expression((parseInt(document.documentElement.clientWidth)-240)+'px');
-}
-
-#mainscreen
-{
- height: expression((parseInt(document.documentElement.clientHeight)-105)+'px');
-}
-
-#mainscreen,
-#messagepartcontainer
-{
- width: expression((parseInt(document.documentElement.clientWidth)-40)+'px');
-}
-
-#messagetoolbar
-{
- width: expression((parseInt(document.documentElement.clientWidth)-215)+'px');
- z-index: 240;
-}
-
-#messagetoolbar select.mboxlist
-{
- margin: 0 8px;
- top: 8px;
-}
-
-div.messageheaderbox
-{
- margin-top: 0px;
-}
-
-body.iframe div.messageheaderbox
-{
- margin-top: 6px;
-}
-
-#abooktoolbar a.buttonPas
-{
- filter: alpha(opacity=35);
- background-image: url(images/abook_toolbar.gif);
-}
-
-#messagetoolbar a.buttonPas
-{
- filter: alpha(opacity=35);
- background-image: url(images/mail_toolbar.gif);
-}
-
-#listcontrols a.buttonPas
-{
- filter: alpha(opacity=35);
-}
-
-#quicksearchbar
-{
- z-index: 240;
-}
-
-#addresslist,
-#sectionslist,
-#identities-list,
-#mailleftcontainer,
-#mailrightcontainer,
-#compose-container,
-#compose-attachments,
-#compose-contacts,
-#mailcontframe,
-#mailboxlist-container,
-#mailrightcontent,
-#messageframe,
-#identity-details,
-#contacts-box,
-#prefs-box,
-#folder-box,
-#directorylistbox,
-#addressscreen
-{
- height: expression(parseInt(this.parentNode.offsetHeight)+'px');
-}
-
-#mailrightcontainer
-{
- width: expression((parseInt(this.parentNode.offsetWidth)-170)+'px');
-}
-
-#messagepartcontainer
-{
- height: expression((parseInt(document.documentElement.clientHeight)-90)+'px');
-}
-
-#mailrightcontent
-{
- width: 100%;
-}
-
-#compose-div
-{
- height: expression((parseInt(this.parentNode.offsetHeight)-1-parseInt(document.getElementById('compose-headers').offsetHeight))+'px');
-}
-
-#compose-attachments ul li
-{
- width: 1000px; /* for IE7 */
-}
-
-#compose-attachments li a
-{
- float: left; /* for IE7 */
-}
-
-#messagelist
-{
- width: inherit;
- *width: auto; /* IE6/7 conditional hack */
- border-collapse: collapse;
-}
-
-#messagelist thead tr td,
-#messagelist tbody tr td
-{
- height: 18px;
-}
-
-#messagelist tbody tr.unroot td.subject
-{
- text-decoration: underline;
-}
-
-#messageframe
-{
- width: expression((parseInt(this.parentNode.offsetWidth)-180)+'px');
- overflow: hidden;
-}
-
-body.iframe
-{
- width: expression((parseInt(document.documentElement.clientWidth))+'px');
-}
-
-div.message-part pre,
-div.message-htmlpart pre,
-div.message-part div.pre
-{
- word-wrap: break-word;
-}
-
-#addressscreen
-{
- width: expression((parseInt(document.documentElement.clientWidth)-245)+'px');
-}
-
-#contacts-box,
-#prefs-box,
-#folder-box
-{
- width: expression((parseInt(this.parentNode.offsetWidth)-555)+'px');
- overflow: hidden;
-}
-
-#rcmdraglayer
-{
- filter: alpha(opacity=82);
- padding-left: 20px;
-}
-
-div.draglayercopy
-{
- border-color: #00cc00;
- background: url(images/messageactions.png) 0 -125px no-repeat #fff;
-}
-
-html.ie8 .draglayercopy:before
-{
- content: "";
- display: none;
-}
-
-ul.toolbarmenu
-{
- margin: 0 0 -4px 0;
-}
-
-.popupmenu ul li,
-ul.toolbarmenu li
-{
- min-width: auto;
-}
-
-.popupmenu ul li a,
-ul.toolbarmenu li a
-{
- min-height: auto;
-}
-
-.popupmenu li.block a
-{
- clear: none;
- display: inline-block;
- padding-left: 2px;
-}
-
-#console
-{
- filter: alpha(opacity=80);
-}
-
-table.records-table thead tr td
-{
- height: 19px;
-}
-
-#listmenu fieldset
-{
- margin: 0 4px;
- padding: 0.8em;
-}
-
-#listcontrols input
-{
- margin-top: 2px;
-}
-
-#contact-details
-{
- margin-top: 20px;
-}
-
-#contact-details form {
- margin-top: -1px;
-}
-
-.contactfieldgroup legend
-{
- padding: 0 0 0.5em 0;
- margin-left: -4px;
-}
-
-/* fix "jumping" login form in IE7 */
-#login-form div.boxcontent
-{
- overflow: hidden;
-}
diff --git a/skins/classic/images/abook_toolbar.gif b/skins/classic/images/abook_toolbar.gif
deleted file mode 100644
index 2e8f4e259..000000000
--- a/skins/classic/images/abook_toolbar.gif
+++ /dev/null
Binary files differ
diff --git a/skins/classic/images/icons/folders.gif b/skins/classic/images/icons/folders.gif
deleted file mode 100644
index 279519496..000000000
--- a/skins/classic/images/icons/folders.gif
+++ /dev/null
Binary files differ
diff --git a/skins/classic/images/icons/glass.gif b/skins/classic/images/icons/glass.gif
deleted file mode 100644
index d86aec5c0..000000000
--- a/skins/classic/images/icons/glass.gif
+++ /dev/null
Binary files differ
diff --git a/skins/classic/images/icons/groupactions.gif b/skins/classic/images/icons/groupactions.gif
deleted file mode 100644
index eba6a6caf..000000000
--- a/skins/classic/images/icons/groupactions.gif
+++ /dev/null
Binary files differ
diff --git a/skins/classic/images/mail_footer.gif b/skins/classic/images/mail_footer.gif
deleted file mode 100644
index 302b55870..000000000
--- a/skins/classic/images/mail_footer.gif
+++ /dev/null
Binary files differ
diff --git a/skins/classic/images/mail_toolbar.gif b/skins/classic/images/mail_toolbar.gif
deleted file mode 100644
index 4bddf5b45..000000000
--- a/skins/classic/images/mail_toolbar.gif
+++ /dev/null
Binary files differ
diff --git a/skins/classic/images/mail_toolbar.png b/skins/classic/images/mail_toolbar.png
index 3ef003f23..357357795 100644
--- a/skins/classic/images/mail_toolbar.png
+++ b/skins/classic/images/mail_toolbar.png
Binary files differ
diff --git a/skins/classic/images/messageactions.gif b/skins/classic/images/messageactions.gif
deleted file mode 100644
index 3bdd0d735..000000000
--- a/skins/classic/images/messageactions.gif
+++ /dev/null
Binary files differ
diff --git a/skins/classic/images/messageicons.gif b/skins/classic/images/messageicons.gif
deleted file mode 100644
index 178e88597..000000000
--- a/skins/classic/images/messageicons.gif
+++ /dev/null
Binary files differ
diff --git a/skins/classic/images/quota.gif b/skins/classic/images/quota.gif
deleted file mode 100644
index b029e7d56..000000000
--- a/skins/classic/images/quota.gif
+++ /dev/null
Binary files differ
diff --git a/skins/classic/images/taskbar.gif b/skins/classic/images/taskbar.gif
deleted file mode 100644
index fe1adc325..000000000
--- a/skins/classic/images/taskbar.gif
+++ /dev/null
Binary files differ
diff --git a/skins/classic/includes/links.html b/skins/classic/includes/links.html
index 6d8d03c52..2f6ef0119 100644
--- a/skins/classic/includes/links.html
+++ b/skins/classic/includes/links.html
@@ -5,10 +5,6 @@
<roundcube:if condition="in_array(env:task, array('mail', 'addressbook', 'settings'))" />
<link rel="stylesheet" type="text/css" href="/<roundcube:var name="env:task" />.css" />
<roundcube:endif />
-<roundcube:if condition="browser:ie" />
-<!--[if lte IE 8]><link rel="stylesheet" type="text/css" href="/iehacks.css" /><![endif]-->
-<!--[if lte IE 6]><link rel="stylesheet" type="text/css" href="/ie6hacks.css" /><![endif]-->
-<roundcube:endif />
<roundcube:if condition="browser:safari" />
<link rel="stylesheet" type="text/css" href="/safari.css" />
<roundcube:endif /> \ No newline at end of file
diff --git a/skins/classic/includes/messagetoolbar.html b/skins/classic/includes/messagetoolbar.html
index 6936c7def..b6b16d635 100644
--- a/skins/classic/includes/messagetoolbar.html
+++ b/skins/classic/includes/messagetoolbar.html
@@ -17,6 +17,10 @@
<span id="forwardmenulink" onclick="rcmail_ui.show_popup('forwardmenu');return false"></span>
</span>
<roundcube:button command="delete" type="link" class="buttonPas delete" classAct="button delete" classSel="button deleteSel" title="deletemessage" content=" " />
+<roundcube:if condition="template:name == 'message'" />
+ <roundcube:button command="move" type="link" class="buttonPas move" classAct="button move" classSel="button moveSel" label="move" title="moveto" content=" " data-menu-pos="bottom" />
+ <roundcube:button command="print" type="link" class="buttonPas print" classAct="button print" classSel="button printSel" label="print" title="printmessage" content=" " />
+<roundcube:endif />
<roundcube:container name="toolbar" id="messagetoolbar" />
<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=" " />
diff --git a/skins/classic/mail.css b/skins/classic/mail.css
index f6459627f..a0d1f17cd 100644
--- a/skins/classic/mail.css
+++ b/skins/classic/mail.css
@@ -108,59 +108,68 @@
}
#messagetoolbar a.print {
- background-position: -224px 0;
+ background-position: -256px 0;
}
#messagetoolbar a.printSel {
- background-position: -224px -32px;
+ background-position: -256px -32px;
}
#messagetoolbar a.markmessage {
- background-position: -256px 0;
+ background-position: -288px 0;
}
#messagetoolbar a.messagemenu {
- background-position: -288px 0;
+ background-position: -320px 0;
+ width: 34px;
}
#messagetoolbar a.spellcheck {
- background-position: -384px 0;
+ background-position: -418px 0;
}
#messagetoolbar a.spellcheckSel {
- background-position: -384px -32px;
+ background-position: -418px -32px;
}
#messagetoolbar a.attach {
- background-position: -352px 0;
+ background-position: -386px 0;
}
#messagetoolbar a.attachSel {
- background-position: -352px -32px;
+ background-position: -386px -32px;
}
#messagetoolbar a.insertsig {
- background-position: -448px 0;
+ background-position: -482px 0;
}
#messagetoolbar a.insertsigSel {
- background-position: -448px -32px;
+ background-position: -482px -32px;
}
#messagetoolbar a.savedraft {
- background-position: -322px 0;
+ background-position: -354px 0;
}
#messagetoolbar a.savedraftSel {
- background-position: -322px -32px;
+ background-position: -354px -32px;
}
#messagetoolbar a.send {
- background-position: -416px 0;
+ background-position: -450px 0;
}
#messagetoolbar a.sendSel {
- background-position: -416px -32px;
+ background-position: -450px -32px;
+}
+
+#messagetoolbar a.move {
+ background-position: -580px 0;
+}
+
+#messagetoolbar a.moveSel {
+ background-position: -580px -32px;
}
#messagetoolbar a.download {
@@ -172,7 +181,7 @@
}
#messagetoolbar a.responses {
- background-position: -512px 0;
+ background-position: -548px 0;
}
#messagemenu li a.active:hover,
@@ -539,6 +548,31 @@
left: 87px !important;
}
+#mailboxlist li.mailbox ul li.drafts a
+{
+ background-position: 21px -37px;
+}
+
+#mailboxlist li.mailbox ul li.sent a
+{
+ background-position: 21px -54px;
+}
+
+#mailboxlist li.mailbox ul li.junk a
+{
+ background-position: 21px -73px;
+}
+
+#mailboxlist li.mailbox ul li.trash a
+{
+ background-position: 21px -180px;
+}
+
+#mailboxlist li.mailbox ul li.trash.empty a
+{
+ background-position: 21px -90px;
+}
+
#listcontrols
{
position: relative;
@@ -976,6 +1010,16 @@ table.messagelist.fixedcopy
padding: 0 2px;
}
+.messagelist tr td.folder
+{
+ width: 135px;
+}
+
+.messagelist tr td.hidden
+{
+ display: none;
+}
+
.messagelist tr.message
{
background-color: #FFF;
@@ -1262,17 +1306,12 @@ div.message-htmlpart a
color: #0000CC;
}
-div.message-part pre,
-div.message-htmlpart pre,
div.message-part div.pre
{
margin: 0px;
padding: 0px;
font-family: monospace;
font-size: 12px;
- white-space: -moz-pre-wrap !important;
- white-space: pre-wrap !important;
- white-space: pre;
}
div.message-part span.sig
@@ -1286,8 +1325,10 @@ div.message-part blockquote
border-left: 2px solid blue;
border-right: 2px solid blue;
background-color: #F6F6F6;
- margin: 2px 0px;
- padding: 1px 8px 1px 10px;
+ margin: 2px 0;
+ padding: 0 0.4em;
+ overflow: hidden;
+ text-overflow: ellipsis;
}
div.message-part blockquote blockquote
@@ -1808,7 +1849,7 @@ input.from_address
color: #999;
}
-#compose-contacts #quicksearchbar
+#compose-contacts .searchbox
{
top: 2px;
left: 7px;
diff --git a/skins/classic/pngbehavior.htc b/skins/classic/pngbehavior.htc
deleted file mode 100644
index 6f892df64..000000000
--- a/skins/classic/pngbehavior.htc
+++ /dev/null
@@ -1,84 +0,0 @@
-<public:component lightWeight="true">
-<public:attach event="onpropertychange" onevent="propertyChanged()" />
-<public:attach event="onbeforeprint" onevent="beforePrint()" for="window"/>
-<public:attach event="onafterprint" onevent="afterPrint()" for="window"/>
-<script>
-
-/*
- * PNG Behavior
- *
- * This script was created by Erik Arvidsson (http://webfx.eae.net/contact.html#erik)
- * for WebFX (http://webfx.eae.net)
- * Copyright 2002-2004
- *
- * For usage see license at http://webfx.eae.net/license.html
- *
- * Version: 1.02
- * Created: 2001-??-?? First working version
- * Updated: 2002-03-28 Fixed issue when starting with a non png image and
- * switching between non png images
- * 2003-01-06 Fixed RegExp to correctly work with IE 5.0x
- * 2004-05-09 When printing revert to original
- *
- */
-
-var supported = /MSIE ((5\.5)|6)/.test(navigator.userAgent) && navigator.platform == "Win32",
- realSrc,
- blankSrc = "program/resources/blank.gif",
- isPrinting = false;
-
-if (supported) fixImage();
-
-function propertyChanged() {
- if (!supported || isPrinting) return;
-
- var pName = event.propertyName;
- if (pName != "src") return;
- // if not set to blank
- if (!new RegExp(blankSrc).test(src))
- fixImage();
-};
-
-function fixImage() {
- // get src
- var src = element.src;
-
- // check for real change
- if (src == realSrc && /\.png$/i.test(src)) {
- element.src = blankSrc;
- return;
- }
-
- if ( ! new RegExp(blankSrc).test(src)) {
- // backup old src
- realSrc = src;
- }
-
- // test for png
- if (/\.png$/i.test(realSrc)) {
- // set blank image
- element.src = blankSrc;
- // set filter
- element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft." +
- "AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
- }
- else {
- // remove filter
- element.runtimeStyle.filter = "";
- }
-}
-
-function beforePrint() {
- isPrinting = true;
- element.src = realSrc;
- element.runtimeStyle.filter = "";
- realSrc = null;
-}
-
-function afterPrint() {
- isPrinting = false;
- fixImage();
-}
-
-</script>
-</public:component>
diff --git a/skins/classic/splitter.js b/skins/classic/splitter.js
index cec6a4713..d509f3b02 100644
--- a/skins/classic/splitter.js
+++ b/skins/classic/splitter.js
@@ -1,7 +1,19 @@
-
/**
* Roundcube splitter GUI class
*
+ * @licstart The following is the entire license notice for the
+ * JavaScript code in this file.
+ *
+ * Copyright (c) 2006-2014, The Roundcube Dev Team
+ *
+ * The JavaScript code in this page is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3 of
+ * the License, or (at your option) any later version.
+ *
+ * @licend The above is the entire license notice
+ * for the JavaScript code in this file.
+ *
* @constructor
*/
function rcube_splitter(attrib)
@@ -11,7 +23,6 @@ function rcube_splitter(attrib)
this.id = attrib.id ? attrib.id : this.p1id + '_' + this.p2id + '_splitter';
this.orientation = attrib.orientation;
this.horizontal = (this.orientation == 'horizontal' || this.orientation == 'h');
- this.offset = bw.ie6 ? 2 : 0;
this.pos = attrib.start ? attrib.start * 1 : 0;
this.relative = attrib.relative ? true : false;
this.drag_active = false;
@@ -67,7 +78,7 @@ function rcube_splitter(attrib)
this.resize = function()
{
if (this.horizontal) {
- var lh = this.layer.height - this.offset * 2;
+ var lh = this.layer.height;
this.p1.style.height = Math.floor(this.pos - this.p1pos.top - lh / 2) + 'px';
this.p2.style.top = Math.ceil(this.pos + lh / 2) + 'px';
this.layer.move(this.layer.x, Math.round(this.pos - lh / 2 + 1));
diff --git a/skins/classic/templates/about.html b/skins/classic/templates/about.html
index 429dfcf5f..36fb65739 100644
--- a/skins/classic/templates/about.html
+++ b/skins/classic/templates/about.html
@@ -20,7 +20,7 @@
<div id="license">
<roundcube:object name="aboutcontent" />
<h2 class="sysname">Roundcube Webmail <roundcube:object name="version" /></h2>
-<p class="copyright">Copyright &copy; 2005-2013, The Roundcube Dev Team</p>
+<p class="copyright">Copyright &copy; 2005-2014, The Roundcube Dev Team</p>
<p class="license">This program is free software; you can redistribute it and/or modify
it under the terms of the <a href="http://www.gnu.org/licenses/gpl.html" target="_blank">GNU General Public License</a>
as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.<br/>
diff --git a/skins/classic/templates/addressbook.html b/skins/classic/templates/addressbook.html
index 429b83438..98658f28b 100644
--- a/skins/classic/templates/addressbook.html
+++ b/skins/classic/templates/addressbook.html
@@ -7,13 +7,9 @@
<script type="text/javascript" src="/functions.js"></script>
<style type="text/css">
#addresslist { width: <roundcube:exp expression="!empty(cookie:addressviewsplitter) ? cookie:addressviewsplitter-5 : 245" />px; }
-#contacts-box { left: <roundcube:exp expression="!empty(cookie:addressviewsplitter) ? cookie:addressviewsplitter+5 : 255" />px;
- <roundcube:exp expression="browser:ie ? ('width:expression((parseInt(this.parentNode.offsetWidth)-'.(!empty(cookie:addressviewsplitter) ? cookie:addressviewsplitter+5 : 255).')+\\'px\\');') : ''" />
-}
+#contacts-box { left: <roundcube:exp expression="!empty(cookie:addressviewsplitter) ? cookie:addressviewsplitter+5 : 255" />px; }
#directorylistbox { width: <roundcube:exp expression="!empty(cookie:addressviewsplitterd) ? cookie:addressviewsplitterd-5 : 195" />px; }
-#addressscreen { left: <roundcube:exp expression="!empty(cookie:addressviewsplitterd) ? cookie:addressviewsplitterd+5 : 205" />px;
- <roundcube:exp expression="browser:ie ? ('width:expression((parseInt(this.parentNode.offsetWidth)-'.(!empty(cookie:addressviewsplitterd) ? cookie:addressviewsplitterd+5 : 205).')+\\'px\\');') : ''" />
-}
+#addressscreen { left: <roundcube:exp expression="!empty(cookie:addressviewsplitterd) ? cookie:addressviewsplitterd+5 : 205" />px; }
</style>
</head>
diff --git a/skins/classic/templates/compose.html b/skins/classic/templates/compose.html
index 74d25778b..4705600c7 100644
--- a/skins/classic/templates/compose.html
+++ b/skins/classic/templates/compose.html
@@ -10,9 +10,7 @@
<script type="text/javascript" src="/splitter.js"></script>
<style type="text/css">
#compose-contacts { width: <roundcube:exp expression="!empty(cookie:composesplitterv1) ? cookie:composesplitterv1-5 : 195" />px; }
-#compose-container { left: <roundcube:exp expression="!empty(cookie:composesplitterv1) ? cookie:composesplitterv1+5 : 205" />px;
-<roundcube:exp expression="browser:ie ? ('width: expression((parseInt(this.parentNode.offsetWidth)-'.(!empty(cookie:composesplitterv1) ? cookie:composesplitterv1+5 : 200).')+\\'px\\');') : ''" />
-}
+#compose-container { left: <roundcube:exp expression="!empty(cookie:composesplitterv1) ? cookie:composesplitterv1+5 : 205" />px; }
</style>
</head>
<roundcube:if condition="env:extwin" />
@@ -52,7 +50,7 @@
<div id="compose-contacts">
<div class="boxtitle"><roundcube:label name="contacts" /></div>
<div class="boxlistcontent">
- <div id="quicksearchbar">
+ <div class="searchbox">
<img id="searchmenulink" src="/images/icons/glass.png" width="16" height="16" />
<roundcube:object name="searchform" id="quicksearchbox" form="true" tabindex="13" />
<roundcube:button command="reset-search" id="searchreset" image="/images/icons/reset.gif" title="resetsearch" width="13" height="13" />
diff --git a/skins/classic/templates/folders.html b/skins/classic/templates/folders.html
index f86be092b..f00c23b22 100644
--- a/skins/classic/templates/folders.html
+++ b/skins/classic/templates/folders.html
@@ -7,9 +7,7 @@
<script type="text/javascript" src="/splitter.js"></script>
<style type="text/css">
#folder-manager { width: <roundcube:exp expression="!empty(cookie:folderviewsplitter) ? cookie:folderviewsplitter-5 : 295" />px; }
-#folder-box { left: <roundcube:exp expression="!empty(cookie:folderviewsplitter) ? cookie:folderviewsplitter+5 : 305" />px;
- <roundcube:exp expression="browser:ie ? ('width:expression((parseInt(this.parentNode.offsetWidth)-'.(!empty(cookie:folderviewsplitter) ? cookie:folderviewsplitter+5 : 305).')+\\'px\\');') : ''" />
-}
+#folder-box { left: <roundcube:exp expression="!empty(cookie:folderviewsplitter) ? cookie:folderviewsplitter+5 : 305" />px; }
</style>
</head>
<body>
@@ -31,7 +29,7 @@
<roundcube:button name="mailboxmenulink" id="mailboxmenulink" type="link" title="folderactions" class="button groupactions" onclick="rcmail_ui.show_popup('mailboxmenu');return false" content=" " />
<roundcube:if condition="env:quota" />
- <img id="quotaimg" src="/images/quota.<roundcube:exp expression="browser:ie && browser:ver < 7 ? 'gif' : 'png'" />" alt="" width="102" height="16" />
+ <img id="quotaimg" src="/images/quota.png" alt="" width="102" height="16" />
<div id="quota">
<roundcube:object name="quotaDisplay" display="image" width="100" height="14" id="quotadisplay" />
</div>
diff --git a/skins/classic/templates/identities.html b/skins/classic/templates/identities.html
index 464afd545..89937ad51 100644
--- a/skins/classic/templates/identities.html
+++ b/skins/classic/templates/identities.html
@@ -7,9 +7,7 @@
<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\\');') : ''" />
-}
+#identity-box { left: <roundcube:exp expression="!empty(cookie:identviewsplitter) ? cookie:identviewsplitter+5 : 305" />px; }
</style>
</head>
diff --git a/skins/classic/templates/identityedit.html b/skins/classic/templates/identityedit.html
index 3b33752ca..b0ecef9ac 100644
--- a/skins/classic/templates/identityedit.html
+++ b/skins/classic/templates/identityedit.html
@@ -7,9 +7,7 @@
<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-details { 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\\');') : ''" />
-}
+#identity-details { left: <roundcube:exp expression="!empty(cookie:identviewsplitter) ? cookie:identviewsplitter+5 : 305" />px; }
</style>
</head>
diff --git a/skins/classic/templates/login.html b/skins/classic/templates/login.html
index 2dacd48ff..8b549df0d 100644
--- a/skins/classic/templates/login.html
+++ b/skins/classic/templates/login.html
@@ -16,11 +16,9 @@
<div class="boxcontent">
<roundcube:form name="form" 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>
-
+<roundcube:object name="loginform" form="form" submit=true />
</form>
+
</div>
</div>
diff --git a/skins/classic/templates/mail.html b/skins/classic/templates/mail.html
index 10aebc96d..7a169c8ab 100644
--- a/skins/classic/templates/mail.html
+++ b/skins/classic/templates/mail.html
@@ -8,14 +8,10 @@
<style type="text/css">
<roundcube:if condition="config:preview_pane == true" />
#mailcontframe { height: <roundcube:exp expression="!empty(cookie:mailviewsplitter) ? cookie:mailviewsplitter-5 : 195" />px; }
-#mailpreviewframe { top: <roundcube:exp expression="!empty(cookie:mailviewsplitter) ? cookie:mailviewsplitter+5 : 205" />px;
-<roundcube:exp expression="browser:ie ? ('height: expression((parseInt(this.parentNode.offsetHeight)-'.(!empty(cookie:mailviewsplitter) ? cookie:mailviewsplitter+25 : 245).')+\\'px\\');') : ''" />
-}
+#mailpreviewframe { top: <roundcube:exp expression="!empty(cookie:mailviewsplitter) ? cookie:mailviewsplitter+5 : 205" />px; }
<roundcube:endif />
#mailleftcontainer { width: <roundcube:exp expression="!empty(cookie:mailviewsplitterv) ? cookie:mailviewsplitterv-5 : 160" />px; }
-#mailrightcontainer { left: <roundcube:exp expression="!empty(cookie:mailviewsplitterv) ? cookie:mailviewsplitterv+5 : 170" />px;
-<roundcube:exp expression="browser:ie ? ('width: expression((parseInt(this.parentNode.offsetWidth)-'.(!empty(cookie:mailviewsplitterv) ? cookie:mailviewsplitterv+5 : 165).')+\\'px\\');') : ''" />
-}
+#mailrightcontainer { left: <roundcube:exp expression="!empty(cookie:mailviewsplitterv) ? cookie:mailviewsplitterv+5 : 170" />px; }
</style>
</head>
<body>
@@ -34,7 +30,7 @@
<roundcube:button name="mailboxmenulink" id="mailboxmenulink" type="link" title="folderactions" class="button groupactions" onclick="rcmail_ui.show_popup('mailboxmenu');return false" content=" " />
<roundcube:if condition="env:quota" />
-<img id="quotaimg" src="/images/quota.<roundcube:exp expression="browser:ie && browser:ver < 7 ? 'gif' : 'png'" />" alt="" width="102" height="16" />
+<img id="quotaimg" src="/images/quota.png" alt="" width="102" height="16" />
<div id="quota">
<roundcube:object name="quotaDisplay" display="image" width="100" height="14" id="quotadisplay" />
</div>
@@ -118,6 +114,10 @@
<li><label><input type="checkbox" name="s_mods[]" value="bcc" id="s_mod_bcc" onclick="rcmail_ui.set_searchmod(this)" /> <span><roundcube:label name="bcc" /></span></label></li>
<li><label><input type="checkbox" name="s_mods[]" value="body" id="s_mod_body" onclick="rcmail_ui.set_searchmod(this)" /> <span><roundcube:label name="body" /></span></label></li>
<li><label><input type="checkbox" name="s_mods[]" value="text" id="s_mod_text" onclick="rcmail_ui.set_searchmod(this)" /> <span><roundcube:label name="msgtext" /></span></label></li>
+ <li><label class="comment"><roundcube:label name="searchscope" /></label></li>
+ <li><label><input type="radio" name="s_scope" value="base" id="s_scope_base" onclick="rcmail.set_searchscope(this.value)" /> <span><roundcube:label name="currentfolder" /></span></label></li>
+ <li><label><input type="radio" name="s_scope" value="sub" id="s_scope_sub" onclick="rcmail.set_searchscope(this.value)" /> <span><roundcube:label name="subfolders" /></span></label></li>
+ <li><label><input type="radio" name="s_scope" value="all" id="s_scope_all" onclick="rcmail.set_searchscope(this.value)" /> <span><roundcube:label name="allfolders" /></span></label></li>
</ul>
</div>
@@ -142,7 +142,7 @@
<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="import-messages" name="messageimport" type="link" classAct="active" label="importmessages" id="uploadformlink" onclick="if(rcmail.command_enabled('import-messages'))rcmail_ui.show_popup('uploadform', true); return false" /></li>
<li><roundcube:button command="folders" task="settings" type="link" label="managefolders" classAct="active" /></li>
<roundcube:container name="mailboxoptions" id="mailboxoptionsmenu" />
</ul>
diff --git a/skins/classic/templates/message.html b/skins/classic/templates/message.html
index 3ab0a2e5e..088b7018d 100644
--- a/skins/classic/templates/message.html
+++ b/skins/classic/templates/message.html
@@ -7,9 +7,7 @@
<script type="text/javascript" src="/functions.js"></script>
<style type="text/css">
#mailboxlist-container { width: <roundcube:exp expression="!empty(cookie:mailviewsplitterv) ? cookie:mailviewsplitterv-5 : 170" />px; }
-#messageframe { left: <roundcube:exp expression="!empty(cookie:mailviewsplitterv) ? cookie:mailviewsplitterv+5 : 180" />px;
-<roundcube:exp expression="browser:ie ? ('width: expression((parseInt(this.parentNode.offsetWidth)-'.(!empty(cookie:mailviewsplitterv) ? cookie:mailviewsplitterv+5 : 180).')+\\'px\\');') : ''" />
-}
+#messageframe { left: <roundcube:exp expression="!empty(cookie:mailviewsplitterv) ? cookie:mailviewsplitterv+5 : 180" />px; }
</style>
</head>
<roundcube:if condition="env:extwin" />
diff --git a/skins/classic/templates/messageerror.html b/skins/classic/templates/messageerror.html
index eb8c7e058..590296c81 100644
--- a/skins/classic/templates/messageerror.html
+++ b/skins/classic/templates/messageerror.html
@@ -21,9 +21,7 @@
<script type="text/javascript" src="/functions.js"></script>
<style type="text/css">
#mailboxlist-container { width: <roundcube:exp expression="!empty(cookie:mailviewsplitterv) ? cookie:mailviewsplitterv-5 : 170" />px; }
-#messageframe { left: <roundcube:exp expression="!empty(cookie:mailviewsplitterv) ? cookie:mailviewsplitterv+5 : 180" />px;
-<roundcube:exp expression="browser:ie ? ('width: expression((parseInt(this.parentNode.offsetWidth)-'.(!empty(cookie:mailviewsplitterv) ? cookie:mailviewsplitterv+5 : 180).')+\\'px\\');') : ''" />
-}
+#messageframe { left: <roundcube:exp expression="!empty(cookie:mailviewsplitterv) ? cookie:mailviewsplitterv+5 : 180" />px; }
</style>
</head>
diff --git a/skins/classic/templates/messagepart.html b/skins/classic/templates/messagepart.html
index 9f2215679..91dc13641 100644
--- a/skins/classic/templates/messagepart.html
+++ b/skins/classic/templates/messagepart.html
@@ -7,9 +7,7 @@
<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\\');') : ''" />
-}
+#messagepartcontainer { left: <roundcube:exp expression="!empty(cookie:mailpartsplitter) ? cookie:mailpartsplitter+5 : 180" />px; }
</style>
</head>
<body class="extwin">
diff --git a/skins/classic/templates/responses.html b/skins/classic/templates/responses.html
index 2459827b0..b15053738 100644
--- a/skins/classic/templates/responses.html
+++ b/skins/classic/templates/responses.html
@@ -7,9 +7,7 @@
<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\\');') : ''" />
-}
+#identity-box { left: <roundcube:exp expression="!empty(cookie:identviewsplitter) ? cookie:identviewsplitter+5 : 305" />px; }
</style>
</head>
diff --git a/skins/classic/templates/settings.html b/skins/classic/templates/settings.html
index 0cd623f75..0055722ba 100644
--- a/skins/classic/templates/settings.html
+++ b/skins/classic/templates/settings.html
@@ -8,9 +8,7 @@
<style type="text/css">
#sectionslist { width: <roundcube:exp expression="!empty(cookie:prefsviewsplitter) ? cookie:prefsviewsplitter-5 : 190" />px; }
-#prefs-box { left: <roundcube:exp expression="!empty(cookie:prefsviewsplitter) ? cookie:prefsviewsplitter+5 : 200" />px;
-<roundcube:exp expression="browser:ie ? ('width:expression((parseInt(this.parentNode.offsetWidth)-'.(!empty(cookie:prefsviewsplitter) ? cookie:prefsviewsplitter+5 : 200).')+\\'px\\');') : ''" />
-}
+#prefs-box { left: <roundcube:exp expression="!empty(cookie:prefsviewsplitter) ? cookie:prefsviewsplitter+5 : 200" />px; }
</style>
</head>
diff --git a/skins/larry/addressbook.css b/skins/larry/addressbook.css
index 54a14da0b..bfdd68127 100644
--- a/skins/larry/addressbook.css
+++ b/skins/larry/addressbook.css
@@ -39,7 +39,7 @@
#directorylistbox {
position: absolute;
- top: 42px;
+ top: 0;
left: 0;
width: 100%;
bottom: 0;
@@ -47,7 +47,7 @@
#addresslist {
position: absolute;
- top: 42px;
+ top: 0;
left: 0;
width: 280px;
bottom: 0;
@@ -55,7 +55,7 @@
#contacts-box {
position: absolute;
- top: 42px;
+ top: 0;
left: 292px;
right: 0;
bottom: 0;
@@ -71,7 +71,6 @@
background-position: -100px 0;
background-repeat: no-repeat;
overflow: hidden;
- padding-left: 36px;
text-overflow: ellipsis;
}
@@ -83,21 +82,11 @@
background-position: 6px -791px;
}
-#directorylist li.addressbook ul li:last-child {
- border-bottom: 0;
-}
-
-#directorylist li.addressbook ul.groups {
- margin: 0;
- padding: 0;
-}
-
#directorylist li.addressbook ul.groups li {
width: 100%;
}
#directorylist li.contactgroup a {
- padding-left: 62px;
background-position: 32px -1555px;
}
diff --git a/skins/larry/editor_content.css b/skins/larry/editor_content.css
index aabed07b5..67480ab77 100644
--- a/skins/larry/editor_content.css
+++ b/skins/larry/editor_content.css
@@ -12,20 +12,15 @@ body {
margin-top: 2px;
}
-pre
-{
+div.pre {
margin: 0;
padding: 0;
- white-space: -moz-pre-wrap !important;
- white-space: pre-wrap !important;
- white-space: pre;
- word-wrap: break-word; /* IE (and Safari) */
+ font-family: monospace;
}
blockquote
{
- padding-left: 5px;
border-left: #1010ff 2px solid;
- margin-left: 5px;
- width: 100%;
+ margin: 0;
+ padding: 0 0.4em;
}
diff --git a/skins/larry/ie7hacks.css b/skins/larry/ie7hacks.css
deleted file mode 100644
index 60adff7a1..000000000
--- a/skins/larry/ie7hacks.css
+++ /dev/null
@@ -1,213 +0,0 @@
-/**
- * Roundcube webmail CSS hacks for IE 7
- *
- * Copyright (c) 2012, The Roundcube Dev Team
- *
- * The contents are subject to the Creative Commons Attribution-ShareAlike
- * License. It is allowed to copy, distribute, transmit and to adapt the work
- * by keeping credits to the original autors in the README file.
- * See http://creativecommons.org/licenses/by-sa/3.0/ for details.
- */
-
-/* #1488618 */
-#mainscreen {
- height: expression((parseInt(document.documentElement.clientHeight)-108)+'px');
-}
-#mainscreen.offset {
- height: expression((parseInt(document.documentElement.clientHeight)-150)+'px');
-}
-
-.minimal #mainscreen {
- height: expression((parseInt(document.documentElement.clientHeight)-82)+'px');
-}
-
-.minimal #mainscreen.offset {
- height: expression((parseInt(document.documentElement.clientHeight)-120)+'px');
-}
-
-#messagepartframe {
- height: expression((parseInt(this.parentNode.offsetHeight)-1)+'px');
-}
-
-input.button {
- display: inline;
- font-size: 90%;
-}
-
-a.iconbutton,
-a.deletebutton,
-.boxpagenav a.icon,
-.pagenav a.button span.inner,
-.boxfooter .listbutton .inner,
-.attachmentslist li a.delete,
-.attachmentslist li a.cancelupload,
-#contacts-table td.action a,
-.previewheader .iconlink,
-.minimal #taskbar .button-inner,
-#preferences-details fieldset.advanced .advanced-toggle {
- /* workaround for text-indent which also offsets the background image */
- text-indent: 0;
- font-size: 0;
- line-height: 0;
- overflow: hidden;
- text-align: right;
- text-decoration: none;
-}
-
-.boxpagenav a.icon {
- color: #bbd3da;
-}
-
-.pagenav a.button,
-.pagenav a.button span.inner,
-.previewheader .iconlink,
-#uploadform a.iconlink {
- display: inline;
-}
-
-.pagenavbuttons {
- top: 4px;
-}
-
-.dropbutton .dropbuttontip {
- right: -2px;
-}
-
-#login-form .box-inner form {
- margin: 0;
-}
-
-#login-form #message div {
- float: left;
- display: block;
- width: 200px;
- margin-left: 130px;
- white-space: nowrap;
- text-align: left;
-}
-
-#messageheader.previewheader .iconlink {
- color: #fff;
- height: 14px;
-}
-
-#uploadform a.iconlink {
- text-indent: 0px;
-}
-
-.boxfooter .countdisplay {
- top: -12px;
-}
-
-ul.toolbarmenu li a {
- width: 140px;
-}
-
-#threadselectmenu li a {
- width: 160px;
-}
-
-#messagemenu li a {
- width: 170px;
-}
-
-#rcmKSearchpane {
- width: 400px;
-}
-#rcmKSearchpane ul li {
- width: 380px;
- text-overflow: ellipsis;
-}
-
-
-table.listing,
-table.records-table {
- display: block;
- width: auto;
- border-collapse: expression('separate', cellSpacing = '0');
-}
-
-.records-table tbody td span {
- white-space: nowrap;
-}
-
-table.listing {
- width: 100%;
-}
-
-ul.toolbarmenu li label {
- margin: 0;
- padding: 3px 8px;
-}
-
-.searchbox input {
- padding-top: 4px;
- padding-bottom: 2px;
-}
-
-#messagelistfooter #listcontrols,
-#messagelistfooter #listselectors,
-#messagelistfooter #countcontrols,
-.pagenav .countdisplay {
- display: inline;
-}
-
-#messagelistfooter #countcontrols {
- position: relative;
- top: -4px;
-}
-
-#messagecontframe,
-#preferences-frame {
- position: absolute;
- left: 0;
- right: 0;
- top: 0;
- bottom: 0;
-}
-
-#composeoptionstoggle {
- display: inline;
- top: 3px;
-}
-
-.propform {
- margin: 0;
-}
-
-.propform fieldset legend {
- color: #333;
- margin-left: -5px;
- padding-left: 0;
-}
-
-.contactfieldgroup legend {
- margin-left: -14px;
-}
-
-.contactfieldcontent .contactfieldbutton {
- top: -6px;
-}
-
-.tabsbar {
- height: 15px;
- padding-bottom: 15px;
-}
-
-.tabsbar .tablink {
- padding: 0 1px 0 0;
-}
-
-.minimal #topline {
- width: 100%;
- height: 18px;
- box-sizing: border-box;
-}
-
-
-.minimal #taskbar a:hover .tooltip {
- right: 34px;
- top: 1px;
-}
-
-
diff --git a/skins/larry/iehacks.css b/skins/larry/iehacks.css
deleted file mode 100644
index 7c1585107..000000000
--- a/skins/larry/iehacks.css
+++ /dev/null
@@ -1,170 +0,0 @@
-/**
- * Roundcube webmail CSS hacks for IE < 9
- *
- * Copyright (c) 2012, The Roundcube Dev Team
- *
- * The contents are subject to the Creative Commons Attribution-ShareAlike
- * License. It is allowed to copy, distribute, transmit and to adapt the work
- * by keeping credits to the original autors in the README file.
- * See http://creativecommons.org/licenses/by-sa/3.0/ for details.
- */
-
-input.button {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f9f9f9', endColorstr='#e6e6e6', GradientType=0);
-}
-
-.formbuttons input.button {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#7b7b7b', endColorstr='#606060', GradientType=0);
-}
-
-.formbuttons input.button:active {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5c5c5c', endColorstr='#7b7b7b', GradientType=0);
-}
-
-input.button.mainaction {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#505050', endColorstr='#2a2e31', GradientType=0);
-}
-
-input.button.mainaction:active {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#2a2e31', endColorstr='#505050', GradientType=0);
-}
-
-a.button,
-.buttongroup {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f9f9f9', endColorstr='#e6e6e6', GradientType=0);
-}
-
-a.button.pressed,
-a.button:active,
-input.button:active {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e6e6e6', endColorstr='#f9f9f9', GradientType=0);
-}
-
-.pagenav.dark a.button {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#d8d8d8', endColorstr='#bababa', GradientType=0);
-}
-
-.pagenav.dark a.button.pressed {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#bababa', endColorstr='#d8d8d8', GradientType=0);
-}
-
-.buttongroup a.button.selected {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#909090', endColorstr='#858585', GradientType=0);
-}
-
-#message.statusbar {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eaeaea', endColorstr='#c8c8c8', GradientType=0);
-}
-
-#messagestack div {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e0404040', endColorstr='#e0303030', GradientType=0);
-}
-
-.ui-dialog.popupmessage .ui-dialog-titlebar {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e3e3e3', endColorstr='#cfcfcf', GradientType=0);
-}
-
-.ui-dialog.popupmessage .ui-widget-content {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dcdcdc', GradientType=0);
-}
-
-#topnav {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#404040', endColorstr='#060606', GradientType=0);
-}
-
-#toplogo {
- position: absolute;
- top: 0px;
- left: 10px;
-}
-
-.records-table tr.selected td {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#019bc6', endColorstr='#017cb4', GradientType=0);
-}
-
-.contentbox .boxtitle,
-body.iframe .boxtitle {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dfdfdf', GradientType=0);
-}
-
-#login-form input.button {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f9f9f9', endColorstr='#e2e2e2', GradientType=0);
-}
-
-#login-form input.button:active {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#dcdcdc', endColorstr='#f9f9f9', GradientType=0);
-}
-
-.toolbar a.button {
- filter: none;
-}
-
-a.menuselector {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8f8f8', endColorstr='#dddddd', GradientType=0);
-}
-
-a.menuselector:active {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#dddddd', endColorstr='#f8f8f8', GradientType=0);
-}
-
-.googie_list td.googie_list_onhover,
-ul.toolbarmenu li a.active:hover,
-#rcmKSearchpane ul li.selected {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00aad6', endColorstr='#008fc9', GradientType=0);
-}
-
-.tabsbar .tablink {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8f8f8', endColorstr='#d3d3d3 50%, #f8f8f8', GradientType=0);
-}
-
-.tabsbar .selected a {
- background-color: #fff;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#efefef', GradientType=0);
-}
-
-.toolbar a.button.disabled,
-.boxpagenav a.icon.disabled,
-.pagenav a.button.disabled span.inner,
-.boxfooter .listbutton.disabled .inner,
-.dropbutton a.button.disabled + .dropbuttontip {
- background-image: url(images/buttons.gif);
-}
-
-/*** addressbook.css ***/
-
-.contactfieldgroup {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f7f7f7', endColorstr='#eeeeee', GradientType=0);
-}
-
-.contactfieldgroup legend {
- margin: -8px -8px 8px -8px;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f0f0f0', endColorstr='#d6d6d6', GradientType=0);
-}
-
-
-/*** mail.css ***/
-
-#messagelistfooter {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ebebeb', endColorstr='#c6c6c6', GradientType=0);
-}
-
-#mailboxlist li.mailbox .unreadcount {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#82acb5', endColorstr='#6a939f', GradientType=0);
-}
-
-#mailboxlist li.mailbox.selected > a .unreadcount {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#005d76', endColorstr='#004558', GradientType=0);
-}
-
-#messageheader, #partheader, #composeheaders {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f0f0f0', GradientType=0);
-}
-
-.moreheaderstoggle {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbfbfb', endColorstr='#e9e9e9', GradientType=1);
-}
-
-#messagelist tbody tr td span.branch div {
- float: left;
- height: 18px;
-}
diff --git a/skins/larry/images/buttons.gif b/skins/larry/images/buttons.gif
deleted file mode 100644
index 8a4a78ee4..000000000
--- a/skins/larry/images/buttons.gif
+++ /dev/null
Binary files differ
diff --git a/skins/larry/images/buttons.png b/skins/larry/images/buttons.png
index 8e2560198..21298ab59 100644
--- a/skins/larry/images/buttons.png
+++ b/skins/larry/images/buttons.png
Binary files differ
diff --git a/skins/larry/images/listicons.png b/skins/larry/images/listicons.png
index 63a52d2d4..77a263aef 100644
--- a/skins/larry/images/listicons.png
+++ b/skins/larry/images/listicons.png
Binary files differ
diff --git a/skins/larry/includes/footer.html b/skins/larry/includes/footer.html
index 5cf9d1ec5..f421ec5b0 100644
--- a/skins/larry/includes/footer.html
+++ b/skins/larry/includes/footer.html
@@ -10,16 +10,3 @@ $(document).ready(function(){
});
</script>
-<!--[if lte IE 8]>
-<script type="text/javascript">
-
-// fix missing :last-child selectors
-$(document).ready(function(){
- $('ul.treelist ul').each(function(i,ul){
- $('li:last-child', ul).css('border-bottom', 0);
- });
-});
-
-</script>
-<![endif]-->
-
diff --git a/skins/larry/includes/links.html b/skins/larry/includes/links.html
index 69e477c2d..ce9863a6c 100644
--- a/skins/larry/includes/links.html
+++ b/skins/larry/includes/links.html
@@ -6,6 +6,4 @@
<link rel="stylesheet" type="text/css" href="/<roundcube:var name="env:task" />.css" />
<roundcube:endif />
<!--[if IE 9]><link rel="stylesheet" type="text/css" href="/svggradients.css" /><![endif]-->
-<!--[if lte IE 8]><link rel="stylesheet" type="text/css" href="/iehacks.css" /><![endif]-->
-<!--[if lte IE 7]><link rel="stylesheet" type="text/css" href="/ie7hacks.css" /><![endif]-->
<script type="text/javascript" src="/ui.js"></script> \ No newline at end of file
diff --git a/skins/larry/includes/mailtoolbar.html b/skins/larry/includes/mailtoolbar.html
index 5708a94f1..ac08a3200 100644
--- a/skins/larry/includes/mailtoolbar.html
+++ b/skins/larry/includes/mailtoolbar.html
@@ -11,6 +11,7 @@
</span>
<roundcube:button command="delete" type="link" class="button delete disabled" classAct="button delete" classSel="button delete pressed" label="delete" title="deletemessage" />
<roundcube:if condition="template:name == 'message'" />
+<roundcube:button command="move" type="link" class="button move disabled" classAct="button move" classSel="button move pressed" label="move" title="moveto" data-menu-pos="bottom" />
<roundcube:button command="print" type="link" class="button print disabled" classAct="button print" classSel="button print pressed" label="print" title="printmessage" />
<roundcube:endif />
<roundcube:container name="toolbar" id="mailtoolbar" />
diff --git a/skins/larry/mail.css b/skins/larry/mail.css
index ca29c79b4..e258cad88 100644
--- a/skins/larry/mail.css
+++ b/skins/larry/mail.css
@@ -34,12 +34,16 @@
#mailview-top {
position: absolute;
- top: 42px;
+ top: 0;
left: 0;
right: 0;
bottom: 0px;
}
+html.ie #mailview-top {
+ overflow: visible; /* fixes display issues of fixed list header in IE */
+}
+
#mailview-bottom {
display: none;
position: absolute;
@@ -58,7 +62,7 @@
#mailboxcontainer,
#messagelistcontainer {
position: absolute;
- top: 42px;
+ top: 0;
left: 0;
width: 100%;
bottom: 0;
@@ -91,6 +95,7 @@ html>/**/body #messagelist {
background: -ms-linear-gradient(top, #ebebeb 0%, #c6c6c6 100%);
background: linear-gradient(top, #ebebeb 0%, #c6c6c6 100%);
border-radius: 0 0 4px 4px;
+ white-space: nowrap;
}
#messagelistfooter.rightalign {
@@ -201,6 +206,14 @@ a.iconbutton.threadmode.selected {
background-position: 6px -406px;
}
+#mailboxlist li.mailbox.trash.empty > a {
+ background-position: 6px -1924px;
+}
+
+#mailboxlist li.mailbox.trash.empty.selected > a {
+ background-position: 6px -1948px;
+}
+
#mailboxlist li.mailbox.archive > a {
background-position: 6px -1699px;
}
@@ -241,6 +254,14 @@ a.iconbutton.threadmode.selected {
background-position: 23px -406px;
}
+#mailboxlist li.mailbox ul li.trash.empty > a {
+ background-position: 23px -1924px;
+}
+
+#mailboxlist li.mailbox ul li.trash.empty.selected > a {
+ background-position: 23px -1948px;
+}
+
#mailboxlist li.mailbox ul li.archive > a {
background-position: 23px -1699px;
}
@@ -281,10 +302,10 @@ a.iconbutton.threadmode.selected {
#mailboxlist li.mailbox ul li a {
padding-left: 52px; /* 36 + 1 x 16 */
- background-position: 22px -93px; /* 6 + 1 x 16 */
+ background-position: 22px -95px; /* 6 + 1 x 16 */
}
#mailboxlist li.mailbox ul li.selected > a {
- background-position: 22px -117px;
+ background-position: 22px -119px;
}
#mailboxlist li.mailbox ul li div.treetoggle {
left: 33px;
@@ -293,10 +314,10 @@ a.iconbutton.threadmode.selected {
#mailboxlist li.mailbox ul ul li.mailbox a {
padding-left: 68px; /* 2x */
- background-position: 38px -93px;
+ background-position: 38px -95px;
}
#mailboxlist li.mailbox ul ul li.selected > a {
- background-position: 38px -117px;
+ background-position: 38px -119px;
}
#mailboxlist li.mailbox ul ul li div.treetoggle {
left: 48px;
@@ -304,10 +325,10 @@ a.iconbutton.threadmode.selected {
#mailboxlist li.mailbox ul ul ul li.mailbox a {
padding-left: 84px; /* 3x */
- background-position: 54px -93px;
+ background-position: 54px -95px;
}
#mailboxlist li.mailbox ul ul ul li.selected > a {
- background-position: 54px -117px;
+ background-position: 54px -119px;
}
#mailboxlist li.mailbox ul ul ul li div.treetoggle {
left: 64px;
@@ -315,10 +336,10 @@ a.iconbutton.threadmode.selected {
#mailboxlist li.mailbox ul ul ul ul li.mailbox a {
padding-left: 100px; /* 4x */
- background-position: 70px -93px;
+ background-position: 70px -95px;
}
#mailboxlist li.mailbox ul ul ul ul li.selected > a {
- background-position: 70px -117px;
+ background-position: 70px -119px;
}
#mailboxlist li.mailbox ul ul ul ul li div.treetoggle {
left: 80px;
@@ -337,6 +358,7 @@ a.iconbutton.threadmode.selected {
top: 3px;
right: 6px;
min-width: 1.8em;
+ line-height: 15px;
padding: 2px 4px;
background: #82acb5;
background: -moz-linear-gradient(top, #82acb5 0%, #6a939f 100%);
@@ -497,6 +519,14 @@ table.messagelist.fixedcopy {
width: 155px;
}
+.messagelist tr td.folder {
+ width: 135px;
+}
+
+.messagelist tr td.hidden {
+ display: none;
+}
+
.messagelist tr.message {
/* background-color: #fff; */
}
@@ -738,7 +768,7 @@ table.messagelist.fixedcopy {
#messagecontframe {
border: 0;
- border-radius: 4px 4px 0 0;
+ border-radius: 4px;
}
#messagecontent {
@@ -1049,20 +1079,20 @@ div.hide-headers {
margin: 8px;
}
-#message-objects div.notice,
-#message-buttons div.notice {
+#message-objects div.notice {
display: block;
color: #960;
border: 1px solid #ffdf0e;
background-color: #fef893;
background-position: 5px -83px;
- padding: 6px 12px 4px 30px;
+ padding: 6px 12px 6px 30px;
white-space: normal;
}
#message-objects div a.button,
#messagebody span.part-notice a.button {
margin-left: 10px;
+ margin-top: -1px;
}
div.message-part,
@@ -1077,16 +1107,11 @@ div.message-partheaders {
border-top: 0;
}
-div.message-part pre,
-div.message-htmlpart pre,
div.message-part div.pre {
margin: 0;
padding: 0;
font-family: monospace;
font-size: 12px;
- white-space: -moz-pre-wrap !important;
- white-space: pre-wrap !important;
- white-space: pre;
}
div.message-part span.sig {
@@ -1098,8 +1123,10 @@ div.message-part blockquote {
border-left: 2px solid blue;
border-right: 2px solid blue;
background-color: #F6F6F6;
- margin: 2px 0 2px 0;
- padding: 1px 8px 1px 10px;
+ margin: 2px 0;
+ padding: 0 0.4em;
+ overflow: hidden;
+ text-overflow: ellipsis;
}
div.message-part blockquote blockquote {
@@ -1186,7 +1213,7 @@ div.message-partheaders .headers-table td.header {
#messagepartcontainer {
position: absolute;
- top: 42px;
+ top: 0;
left: 232px;
right: 0;
bottom: 0;
@@ -1200,7 +1227,7 @@ div.message-partheaders .headers-table td.header {
#messagepartheader {
position: absolute;
- top: 42px;
+ top: 0;
left: 0;
width: 220px;
bottom: 0;
@@ -1242,29 +1269,12 @@ div.message-partheaders .headers-table td.header {
#compose-contacts {
position: absolute;
- top: 42px;
+ top: 0;
left: 0;
width: 100%;
bottom: 0;
}
-#composequicksearch {
- position: relative;
- padding: 4px;
- background: #c7e3ef;
-}
-
-#composequicksearch .searchbox input {
- width: 100%;
- height: 26px;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-
-#composequicksearch #searchmenulink {
- width: 15px;
-}
-
#compose-contacts #directorylist {
border-bottom: 4px solid #c7e3ef;
}
@@ -1345,7 +1355,7 @@ div.message-partheaders .headers-table td.header {
#compose-content {
position: absolute;
- top: 42px;
+ top: 0;
left: 0;
right: 0;
bottom: 0px;
@@ -1435,7 +1445,6 @@ div.message-partheaders .headers-table td.header {
-o-box-shadow: inset 0 1px 0 0 #fff;
-webkit-box-shadow: inset 0 1px 0 0 #fff;
-moz-box-shadow: inset 0 1px 0 0 #fff;
-
}
.composeoption {
diff --git a/skins/larry/settings.css b/skins/larry/settings.css
index af667b9e7..6d4d13ca4 100644
--- a/skins/larry/settings.css
+++ b/skins/larry/settings.css
@@ -45,7 +45,7 @@
#preferences-frame {
border: 0;
- border-radius: 4px 4px 0 0;
+ border-radius: 4px;
}
#preferences-details fieldset.advanced legend {
@@ -243,7 +243,7 @@
#subscription-table tr.root td {
font-size: 5%;
- height: 5px;
+ line-height: 5px;
padding: 2px;
}
@@ -255,7 +255,7 @@
#subscription-table td.subscribed {
min-width: 30px;
- padding: 3px 12px 3px 3px;
+ padding: 0 14px 0 2px;
text-align: right;
}
@@ -319,3 +319,8 @@ img.skinthumbnail {
#rcmfd_signature_toolbar2 td {
width: auto;
}
+
+.mailtoprotohandler-status {
+ padding-left: 1em;
+ font-style: italic;
+}
diff --git a/skins/larry/styles.css b/skins/larry/styles.css
index 5bade1c0c..61bf17d3e 100644
--- a/skins/larry/styles.css
+++ b/skins/larry/styles.css
@@ -325,6 +325,7 @@ input.button:active {
margin-bottom: 0;
}
+a.button span.icon,
.pagenav a.button span.inner {
display: inline-block;
width: 16px;
@@ -334,56 +335,77 @@ input.button:active {
background: url(images/buttons.png) -6px -211px no-repeat;
}
+a.button.prevpage span.icon,
.pagenav a.prevpage span.inner {
background-position: -7px -226px;
}
+a.button.nextpage span.icon,
.pagenav a.nextpage span.inner {
background-position: -28px -226px;
}
+a.button.lastpage span.icon,
.pagenav a.lastpage span.inner {
background-position: -28px -211px;
}
+a.button.pageup span.icon,
.pagenav a.pageup span.inner {
background-position: -7px -241px;
}
+a.button.pagedown span.icon,
.pagenav a.pagedown span.inner {
background-position: -29px -241px;
}
+a.button.reply span.icon,
.pagenav a.reply span.inner {
background-position: -7px -256px;
}
+a.button.forward span.icon,
.pagenav a.forward span.inner {
background-position: -29px -256px;
}
+a.button.replyall span.icon,
.pagenav a.replyall span.inner {
background-position: -7px -271px;
}
+a.button.extwin span.icon,
.pagenav a.extwin span.inner {
background-position: -29px -271px;
}
+a.button.changeformat.html span.icon,
.pagenav a.changeformat.html span.inner {
background-position: -7px -1859px;
}
+a.button.changeformat.html.selected span.icon,
.pagenav a.changeformat.html.selected span.inner {
background-position: -29px -1859px;
}
+a.button.changeformat.text span.icon,
.pagenav a.changeformat.text span.inner {
background-position: -7px -1874px;
}
+a.button.changeformat.text.selected span.icon,
.pagenav a.changeformat.text.selected span.inner {
background-position: -29px -1874px;
}
+a.button.add span.icon {
+ background-position: -7px -2009px;
+}
+
+a.button.delete span.icon {
+ background-position: -29px -2009px;
+}
+
.pagenav .countdisplay {
display: inline-block;
padding: 3px 1em 0 1em;
@@ -398,7 +420,7 @@ input.button:active {
a.iconbutton {
display: inline-block;
- width: 24px;
+ width: 20px;
height: 18px;
text-decoration: none;
text-indent: -5000px;
@@ -411,18 +433,51 @@ a.iconbutton.disabled {
cursor: default;
}
+a.iconbutton.searchicon,
a.iconbutton.searchoptions {
+ width: 24px;
background-position: -2px -317px;
}
+a.iconbutton.searchicon {
+ width: 15px;
+}
+
a.iconbutton.reset {
+ width: 24px;
background-position: -25px -317px;
}
+a.iconbutton.remove,
a.iconbutton.cancel {
- background-position: -7px -377px;
+ background-position: -7px -378px;
+}
+
+a.iconbutton.delete {
+ background-position: -7px -338px;
}
+a.iconbutton.add {
+ background-position: -7px -358px;
+}
+
+a.iconbutton.remove {
+ background-position: -7px -379px;
+}
+
+a.iconbutton.cancel {
+ background-position: -7px -398px;
+}
+
+a.iconbutton.edit {
+ background-position: -7px -418px;
+}
+
+a.iconbutton.upload {
+ background-position: -6px -438px;
+}
+
+
a.iconlink {
display: inline-block;
color: #888;
@@ -861,15 +916,11 @@ a.iconlink.upload {
border-width: 0 4px 4px;
border-color: #888 transparent;
/* reduce the damage in FF3.0 */
- display: block;
+ display: block;
width: 0;
z-index: 251;
}
-.ie8 .minimal #taskbar .tooltip:after {
- top: -6px;
-}
-
.minimal #taskbar a:hover .tooltip {
display: block;
top: 39px;
@@ -964,6 +1015,14 @@ a.iconlink.upload {
bottom: 20px;
}
+#mainscreencontent {
+ position: absolute;
+ top: 42px;
+ left: 0;
+ right: 0;
+ bottom: 0;
+}
+
.minimal #mainscreen {
top: 62px;
}
@@ -996,11 +1055,6 @@ a.iconlink.upload {
}
.minwidth {
- position: absolute;
- top: 0;
- left: 0;
- bottom: 0;
- width: 100%;
min-width: 1024px;
}
@@ -1064,19 +1118,14 @@ a.iconlink.upload {
.uibox .listing thead td {
font-size: 12px;
font-weight: bold;
- padding: 10px 8px 3px 8px;
- height: 20px; /* doesn't affect table-cells in FF */
+ padding: 7px 8px 6px 8px;
+ line-height: 20px;
margin: 0;
text-shadow: 0px 1px 1px #fff;
border-bottom: 1px solid #bbd3da;
white-space: nowrap;
}
-.uibox .listing thead td {
- padding-bottom: 8px;
- height: auto;
-}
-
.uibox .boxtitle,
.uibox .listing thead td {
background: #b0ccd7;
@@ -1104,14 +1153,13 @@ a.iconlink.upload {
text-shadow: 0px 1px 1px #fff;
text-decoration: none;
cursor: default;
- padding: 6px 8px 2px 8px;
- height: 17px; /* doesn't affect table-cells in FF */
+ padding: 4px 8px;
+ line-height: 17px;
white-space: nowrap;
}
.listing tbody td {
display: table-cell;
- padding-bottom: 5px;
height: auto;
min-height: 14px;
}
@@ -1175,16 +1223,61 @@ ul.treelist li {
position: relative;
}
+ul.treelist li ul {
+ margin: 0;
+ padding: 0;
+}
+
+ul.treelist li ul li:last-child {
+ border-bottom: 0;
+}
+
+ul.treelist li a {
+ display: block;
+ padding-left: 20px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+ul.treelist ul li a {
+ padding-left: 38px;
+}
+
+ul.treelist ul ul li a {
+ padding-left: 54px;
+}
+
+ul.treelist.iconized li a {
+ padding-left: 36px;
+}
+
+ul.treelist.iconized li ul li a {
+ padding-left: 62px;
+}
+
ul.treelist li div.treetoggle {
position: absolute;
- top: 13px;
- left: 19px;
+ top: 7px;
+ left: 4px;
width: 13px;
height: 13px;
background: url(images/listicons.png) -3px -144px no-repeat;
cursor: pointer;
}
+ul.treelist li ul li div.treetoggle {
+ left: 22px;
+}
+
+ul.treelist.iconized li div.treetoggle {
+ top: 13px;
+ left: 19px;
+}
+
+ul.treelist.iconized li ul li div.treetoggle {
+ left: 35px;
+}
+
ul.treelist li div.treetoggle.expanded {
background-position: -3px -168px;
}
@@ -1424,7 +1517,7 @@ table.records-table {
.records-table tr.unfocused td {
color: #fff !important;
- background: #4db0d2 !important;
+ background-color: #4db0d2 !important;
}
.records-table tr.unfocused td a,
@@ -1564,6 +1657,12 @@ body.iframe .footerleft.floating:before,
width: 95%;
}
+.propform a.disabled {
+ color: #999;
+ text-decoration: none;
+ cursor: default;
+}
+
fieldset.floating {
float: left;
margin-right: 10px;
@@ -1763,6 +1862,7 @@ ul.proplist li {
font-size: 11px;
}
+.searchbox .searchicon,
.searchbox #searchmenulink,
#quicksearchbar #searchmenulink {
position: absolute;
@@ -1771,12 +1871,25 @@ ul.proplist li {
}
.searchbox #searchreset,
+.searchbox .iconbutton.reset,
#quicksearchbar #searchreset {
position: absolute;
top: 4px;
right: 1px;
}
+.listsearchbox {
+ position: relative;
+ padding: 4px;
+ background: #c7e3ef;
+}
+
+.listsearchbox input {
+ width: 100%;
+ height: 26px;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
/*** toolbar ***/
@@ -1895,6 +2008,10 @@ ul.proplist li {
background-position: center -1094px;
}
+.toolbar a.button.move {
+ background-position: center -1971px;
+}
+
.toolbar a.button.more {
background-position: center -850px;
}
@@ -2092,7 +2209,7 @@ ul.toolbarmenu li a {
text-shadow: 0px 1px 1px #333;
text-decoration: none;
min-height: 14px;
- padding: 6px 10px 6px 10px;
+ padding: 6px 16px 6px 10px;
}
.googie_list td span {
@@ -2339,6 +2456,10 @@ ul.toolbarmenu li span.copy {
/*** folder selector ***/
+#folder-selector {
+ z-index: 1000;
+}
+
#folder-selector li a span {
background: url("images/listicons.png") 4px -2021px no-repeat;
display: block;
@@ -2387,6 +2508,11 @@ ul.toolbarmenu li span.copy {
margin-bottom: 1px;
}
+.attachmentslist li.txt,
+.attachmentslist li.text {
+ background-position: 0 -416px;
+}
+
.attachmentslist li.pdf {
background-position: 0 -26px;
}
@@ -2446,11 +2572,6 @@ ul.toolbarmenu li span.copy {
background-position: 0 -338px;
}
-.attachmentslist li.txt,
-.attachmentslist li.text {
- background-position: 0 -416px;
-}
-
.attachmentslist li.ics,
.attachmentslist li.calendar {
background-position: 0 -364px;
diff --git a/skins/larry/templates/about.html b/skins/larry/templates/about.html
index e2bd0b019..b0d36d177 100644
--- a/skins/larry/templates/about.html
+++ b/skins/larry/templates/about.html
@@ -14,7 +14,7 @@
<roundcube:object name="aboutcontent" />
<h2 class="sysname">Roundcube Webmail <roundcube:object name="version" /></h2>
-<p class="copyright">Copyright &copy; 2005-2013, The Roundcube Dev Team</p>
+<p class="copyright">Copyright &copy; 2005-2014, The Roundcube Dev Team</p>
<p class="license">This program is free software; you can redistribute it and/or modify
it under the terms of the <a href="http://www.gnu.org/licenses/gpl.html" target="_blank">GNU General Public License</a>
as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.<br/>
diff --git a/skins/larry/templates/addressbook.html b/skins/larry/templates/addressbook.html
index 9f83853b2..97efdc6f3 100644
--- a/skins/larry/templates/addressbook.html
+++ b/skins/larry/templates/addressbook.html
@@ -24,13 +24,22 @@
<roundcube:container name="toolbar" id="addressbooktoolbar" />
</div>
+<!-- search box -->
+<div id="quicksearchbar" class="searchbox">
+<roundcube:object name="searchform" id="quicksearchbox" />
+<roundcube:button name="searchmenulink" id="searchmenulink" class="iconbutton searchoptions" onclick="UI.show_popup('searchmenu');return false" title="searchmod" content=" " />
+<roundcube:button command="reset-search" id="searchreset" class="iconbutton reset" title="resetsearch" content=" " />
+</div>
+
+<div id="mainscreencontent">
+
<div id="addressview-left">
<!-- sources/groups list -->
<div id="directorylistbox" class="uibox listbox">
<h2 id="directorylist-header" class="boxtitle"><roundcube:label name="groups" /></h2>
<div id="directorylist-content" class="scroller withfooter">
- <roundcube:object name="directorylist" id="directorylist" class="treelist listing" />
+ <roundcube:object name="directorylist" id="directorylist" class="treelist listing iconized" />
</div>
<div id="directorylist-footer" class="boxfooter">
<roundcube:button command="group-create" type="link" title="newcontactgroup" class="listbutton add disabled" classAct="listbutton add" innerClass="inner" content="+" /><roundcube:button name="groupoptions" id="groupoptionslink" type="link" title="moreactions" class="listbutton groupactions" onclick="UI.show_popup('groupoptions');return false" innerClass="inner" content="&#9881;" />
@@ -41,13 +50,6 @@
<div id="addressview-right">
-<!-- search box -->
-<div id="quicksearchbar" class="searchbox">
-<roundcube:object name="searchform" id="quicksearchbox" />
-<roundcube:button name="searchmenulink" id="searchmenulink" class="iconbutton searchoptions" onclick="UI.show_popup('searchmenu');return false" title="searchmod" content=" " />
-<roundcube:button command="reset-search" id="searchreset" class="iconbutton reset" title="resetsearch" content=" " />
-</div>
-
<!-- contacts list -->
<div id="addresslist" class="uibox listbox">
<roundcube:object name="addresslisttitle" label="contacts" tag="h2" class="boxtitle" />
@@ -73,9 +75,10 @@
</div>
</div>
-
</div><!-- end addressview-right -->
+</div><!-- end mainscreencontent -->
+
</div><!-- end mainscreen -->
<div id="exportmenu" class="popupmenu">
diff --git a/skins/larry/templates/compose.html b/skins/larry/templates/compose.html
index 11662d185..90df4f3a8 100644
--- a/skins/larry/templates/compose.html
+++ b/skins/larry/templates/compose.html
@@ -35,16 +35,18 @@
</div>
</div>
+<div id="mainscreencontent">
+
<div id="composeview-left">
<!-- inline address book -->
<div id="compose-contacts" class="uibox listbox">
<h2 class="boxtitle"><roundcube:label name="contacts" /></h2>
- <div id="composequicksearch">
+ <div class="listsearchbox">
<div class="searchbox">
<roundcube:object name="searchform" id="contactsearchbox" />
- <a id="searchmenulink" class="iconbutton searchoptions"> </a>
- <roundcube:button command="reset-search" id="searchreset" class="iconbutton reset" title="resetsearch" content=" " />
+ <a id="searchmenulink" class="iconbutton searchicon"> </a>
+ <roundcube:button command="reset-search" class="iconbutton reset" title="resetsearch" content=" " />
</div>
</div>
<roundcube:object name="addressbooks" id="directorylist" class="listing" />
@@ -122,8 +124,8 @@
</tbody>
</table>
-<div id="composebuttons" class="pagenav formbuttons">
- <roundcube:button command="extwin" type="link" class="button extwin" classSel="button extwin pressed" innerClass="inner" title="openinextwin" content="[]" condition="!env:extwin" />
+<div id="composebuttons" class="formbuttons">
+ <roundcube:button command="extwin" type="link" class="button extwin" classSel="button extwin pressed" innerClass="icon" title="openinextwin" content="[]" condition="!env:extwin" />
</div>
<!-- (collapsable) message options -->
@@ -181,6 +183,8 @@
</div><!-- end mailview-right -->
+</div><!-- end mainscreencontent -->
+
</div><!-- end mainscreen -->
<div id="upload-dialog" class="propform popupdialog" title="<roundcube:label name='addattachment' />">
diff --git a/skins/larry/templates/login.html b/skins/larry/templates/login.html
index 8da941189..64ff6be92 100644
--- a/skins/larry/templates/login.html
+++ b/skins/larry/templates/login.html
@@ -12,11 +12,9 @@
<roundcube:object name="logo" src="/images/roundcube_logo.png" id="logo" />
<roundcube:form name="form" method="post">
-<roundcube:object name="loginform" form="form" size="40" />
-
-<p class="formbuttons"><input type="submit" class="button mainaction" value="<roundcube:label name='login' />" /></p>
-
+<roundcube:object name="loginform" form="form" size="40" submit=true />
</form>
+
</div>
<div class="box-bottom">
diff --git a/skins/larry/templates/mail.html b/skins/larry/templates/mail.html
index ff5f7549c..1e4a3ce8c 100644
--- a/skins/larry/templates/mail.html
+++ b/skins/larry/templates/mail.html
@@ -11,9 +11,8 @@
<roundcube:endif />
</style>
</head>
-<body>
+<body class="minwidth">
-<div class="minwidth">
<roundcube:include file="/includes/header.html" />
<div id="mainscreen">
@@ -24,6 +23,23 @@
<roundcube:include file="/includes/mailtoolbar.html" />
</div>
+<div id="messagesearchtools">
+
+<!-- search filter -->
+<div id="searchfilter">
+ <roundcube:object name="searchfilter" class="searchfilter decorated" />
+</div>
+
+<!-- search box -->
+<div id="quicksearchbar" class="searchbox">
+<roundcube:object name="searchform" id="quicksearchbox" />
+<roundcube:button name="searchmenulink" id="searchmenulink" class="iconbutton searchoptions" onclick="UI.show_popup('searchmenu');return false" title="searchmod" content=" " />
+<roundcube:button command="reset-search" id="searchreset" class="iconbutton reset" title="resetsearch" content=" " />
+</div>
+
+</div>
+
+<div id="mainscreencontent">
<div id="mailview-left">
<!-- folders list -->
@@ -43,22 +59,6 @@
<div id="mailview-right">
-<div id="messagesearchtools">
-
-<!-- search filter -->
-<div id="searchfilter">
- <roundcube:object name="searchfilter" class="searchfilter decorated" />
-</div>
-
-<!-- search box -->
-<div id="quicksearchbar" class="searchbox">
-<roundcube:object name="searchform" id="quicksearchbox" />
-<roundcube:button name="searchmenulink" id="searchmenulink" class="iconbutton searchoptions" onclick="UI.show_popup('searchmenu');return false" title="searchmod" content=" " />
-<roundcube:button command="reset-search" id="searchreset" class="iconbutton reset" title="resetsearch" content=" " />
-</div>
-
-</div>
-
<roundcube:if condition="config:preview_pane == true" />
<div id="mailview-top" class="uibox">
<roundcube:else />
@@ -76,13 +76,8 @@
<!-- list footer -->
<div id="messagelistfooter">
<div id="listcontrols">
- <roundcube:if condition="env:threads" />
- <a href="#list" class="iconbutton listmode" id="maillistmode" title="<roundcube:label name='list' />">List</a>
- <a href="#threads" class="iconbutton threadmode" id="mailthreadmode" title="<roundcube:label name='threads' />">Threads</a>
- <roundcube:else />
- <a href="#list" class="iconbutton listmode selected" title="<roundcube:label name='list' />" onclick="return false">List</a>
- <a href="#threads" class="iconbutton threadmode disabled" title="<roundcube:label name='threads' />" onclick="return false">Threads</a>
- <roundcube:endif />
+ <roundcube:button href="#list" command="set-listmode" prop="list" class="iconbutton listmode disabled" classAct="iconbutton listmode" id="maillistmode" title="list" content="List" />
+ <roundcube:button href="#threads" command="set-listmode" prop="threads" class="iconbutton threadmode disabled" classAct="iconbutton threadmode" id="mailthreadmode" title="threads" content="Threads" />
</div>
<div id="listselectors">
@@ -119,9 +114,9 @@
</div><!-- end mailview-right -->
-</div><!-- end mainscreen -->
+</div><!-- end mainscreencontent -->
-</div><!-- end minwidth -->
+</div><!-- end mainscreen -->
<div id="searchmenu" class="popupmenu">
<ul class="toolbarmenu">
@@ -132,6 +127,10 @@
<li><label><input type="checkbox" name="s_mods[]" value="bcc" id="s_mod_bcc" onclick="UI.set_searchmod(this)" /> <span><roundcube:label name="bcc" /></span></label></li>
<li><label><input type="checkbox" name="s_mods[]" value="body" id="s_mod_body" onclick="UI.set_searchmod(this)" /> <span><roundcube:label name="body" /></span></label></li>
<li><label><input type="checkbox" name="s_mods[]" value="text" id="s_mod_text" onclick="UI.set_searchmod(this)" /> <span><roundcube:label name="msgtext" /></span></label></li>
+ <li class="separator"><label><roundcube:label name="searchscope" /></label></li>
+ <li><label><input type="radio" name="s_scope" value="base" id="s_scope_base" onclick="UI.set_searchscope(this)" /> <span><roundcube:label name="currentfolder" /></span></label></li>
+ <li><label><input type="radio" name="s_scope" value="sub" id="s_scope_sub" onclick="UI.set_searchscope(this)" /> <span><roundcube:label name="subfolders" /></span></label></li>
+ <li><label><input type="radio" name="s_scope" value="all" id="s_scope_all" onclick="UI.set_searchscope(this)" /> <span><roundcube:label name="allfolders" /></span></label></li>
</ul>
</div>
@@ -146,7 +145,7 @@
<ul class="toolbarmenu" id="mailboxoptionsmenu">
<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><roundcube:button name="messageimport" type="link" class="active" label="importmessages" onclick="UI.show_uploadform()" /></li>
+ <li><roundcube:button command="import-messages" name="messageimport" type="link" classAct="active" label="importmessages" onclick="if(rcmail.command_enabled('import-messages'))UI.show_uploadform();return false" /></li>
<li><roundcube:button command="folders" task="settings" type="link" label="managefolders" classAct="active" /></li>
<roundcube:container name="mailboxoptions" id="mailboxoptionsmenu" />
</ul>
diff --git a/skins/larry/templates/message.html b/skins/larry/templates/message.html
index df92b7511..a661f5720 100644
--- a/skins/larry/templates/message.html
+++ b/skins/larry/templates/message.html
@@ -20,6 +20,8 @@
<roundcube:if condition="!env:extwin" />
+<div id="mainscreencontent">
+
<div id="mailview-left">
<!-- folders list -->
@@ -31,7 +33,7 @@
</div>
-<div id="mailview-right" class="offset uibox">
+<div id="mailview-right" class="uibox">
<roundcube:else />
<roundcube:object name="mailboxlist" folder_filter="mail" type="js" />
@@ -55,15 +57,15 @@
</div>
<roundcube:if condition="env:optional_format=='text'" />
-<div class="pagenav" id="formatcontrols">
+<div id="formatcontrols">
<span class="buttongroup">
- <roundcube:button command="change-format" prop="html" type="link" class="button first changeformat html selected" innerClass="inner" title="changeformathtml" /><roundcube:button command="change-format" prop="text" type="link" class="button last changeformat text" classSel="button last changeformat text pressed" innerClass="inner" title="changeformattext" />
+ <roundcube:button command="change-format" prop="html" type="link" class="button first changeformat html selected" innerClass="icon" title="changeformathtml" /><roundcube:button command="change-format" prop="text" type="link" class="button last changeformat text" classSel="button last changeformat text pressed" innerClass="icon" title="changeformattext" />
</span>
</div>
<roundcube:elseif condition="env:optional_format=='html'" />
-<div class="pagenav" id="formatcontrols">
+<div id="formatcontrols">
<span class="buttongroup">
- <roundcube:button command="change-format" prop="html" type="link" class="button first changeformat html" classSel="button first changeformat html pressed" innerClass="inner" title="changeformathtml" /><roundcube:button command="change-format" prop="text" type="link" class="button last changeformat text selected" innerClass="inner" title="changeformattext" />
+ <roundcube:button command="change-format" prop="html" type="link" class="button first changeformat html" classSel="button first changeformat html pressed" innerClass="icon" title="changeformathtml" /><roundcube:button command="change-format" prop="text" type="link" class="button last changeformat text selected" innerClass="icon" title="changeformattext" />
</span>
</div>
<roundcube:endif />
@@ -84,6 +86,10 @@
</div><!-- end mailview-right -->
+<roundcube:if condition="!env:extwin" />
+</div><!-- end mainscreencontent -->
+<roundcube:endif />
+
</div><!-- end mainscreen -->
<div id="attachmentmenu" class="popupmenu">
diff --git a/skins/larry/templates/messageerror.html b/skins/larry/templates/messageerror.html
index dbe373a12..d509ce804 100644
--- a/skins/larry/templates/messageerror.html
+++ b/skins/larry/templates/messageerror.html
@@ -23,6 +23,8 @@
</div>
</div>
+<div id="mainscreencontent">
+
<div id="mailview-left">
<!-- folders list -->
@@ -40,6 +42,8 @@
</div><!-- end mailview-right -->
+</div><!-- end mainscreencontent -->
+
</div><!-- end mainscreen -->
<roundcube:include file="/includes/footer.html" />
diff --git a/skins/larry/templates/messagepart.html b/skins/larry/templates/messagepart.html
index 0ec935873..3b878c9d7 100644
--- a/skins/larry/templates/messagepart.html
+++ b/skins/larry/templates/messagepart.html
@@ -16,6 +16,8 @@
<roundcube:container name="toolbar" id="messagetoolbar" />
</div>
+<div id="mainscreencontent">
+
<div id="messagepartheader" class="uibox listbox">
<h2 class="boxtitle"><roundcube:label name="properties" /></h2>
<div class="scroller">
@@ -30,6 +32,7 @@
</div>
</div>
+</div>
<roundcube:include file="/includes/footer.html" />
diff --git a/skins/larry/templates/messagepreview.html b/skins/larry/templates/messagepreview.html
index f69f65125..4a6d76ead 100644
--- a/skins/larry/templates/messagepreview.html
+++ b/skins/larry/templates/messagepreview.html
@@ -29,25 +29,25 @@
<roundcube:object name="messageFullHeaders" id="full-headers" />
<!-- record navigation -->
-<div id="countcontrols" class="pagenav">
+<div id="countcontrols">
<roundcube:if condition="env:optional_format=='text'" />
<span class="buttongroup">
- <roundcube:button command="change-format" prop="html" type="link" class="button first changeformat html selected" innerClass="inner" title="changeformathtml" content="HTML" /><roundcube:button command="change-format" prop="text" type="link" class="button last changeformat text" classSel="button changeformat text pressed" innerClass="inner" title="changeformattext" content="Text" />
+ <roundcube:button command="change-format" prop="html" type="link" class="button first changeformat html selected" innerClass="icon" title="changeformathtml" content="HTML" /><roundcube:button command="change-format" prop="text" type="link" class="button last changeformat text" classSel="button changeformat text pressed" innerClass="icon" title="changeformattext" content="Text" />
</span>
&nbsp;
<roundcube:elseif condition="env:optional_format=='html'" />
<span class="buttongroup">
- <roundcube:button command="change-format" prop="html" type="link" class="button first changeformat html" classSel="button changeformat html pressed" innerClass="inner" title="changeformathtml" content="HTML" /><roundcube:button command="change-format" prop="text" type="link" class="button last changeformat text selected" innerClass="inner" title="changeformattext" content="Text" />
+ <roundcube:button command="change-format" prop="html" type="link" class="button first changeformat html" classSel="button changeformat html pressed" innerClass="icon" title="changeformathtml" content="HTML" /><roundcube:button command="change-format" prop="text" type="link" class="button last changeformat text selected" innerClass="icon" title="changeformattext" content="Text" />
</span>
&nbsp;
<roundcube:endif />
<roundcube:if condition="env:mailbox != config:drafts_mbox">
- <roundcube:button command="reply" type="link" class="button reply" classSel="button reply pressed" innerClass="inner" title="replytomessage" content="&lt;-" />
- <roundcube:button command="reply-all" type="link" class="button replyall" classSel="button replyall pressed" innerClass="inner" title="replytoallmessage" content="&lt;&lt;-" />
- <roundcube:button command="forward" type="link" class="button forward" classSel="button forward pressed" innerClass="inner" title="forwardmessage" content="-&gt;" />
+ <roundcube:button command="reply" type="link" class="button reply" classSel="button reply pressed" innerClass="icon" title="replytomessage" content="&lt;-" />
+ <roundcube:button command="reply-all" type="link" class="button replyall" classSel="button replyall pressed" innerClass="icon" title="replytoallmessage" content="&lt;&lt;-" />
+ <roundcube:button command="forward" type="link" class="button forward" classSel="button forward pressed" innerClass="icon" title="forwardmessage" content="-&gt;" />
&nbsp;
<roundcube:endif />
- <roundcube:button command="extwin" type="link" class="button extwin" classSel="button extwin pressed" innerClass="inner" title="openinextwin" content="[]" />
+ <roundcube:button command="extwin" type="link" class="button extwin" classSel="button extwin pressed" innerClass="icon" title="openinextwin" content="[]" />
</div>
</div>
diff --git a/skins/larry/ui.js b/skins/larry/ui.js
index 5ae3962d0..391e7ab9d 100644
--- a/skins/larry/ui.js
+++ b/skins/larry/ui.js
@@ -1,3 +1,5 @@
+// @license http://creativecommons.org/publicdomain/zero/1.0/legalcode CC0
+
/**
* Roundcube functions for default skin interface
*
@@ -9,7 +11,6 @@
* See http://creativecommons.org/licenses/by-sa/3.0/ for details.
*/
-
function rcube_mail_ui()
{
var env = {};
@@ -41,6 +42,7 @@ function rcube_mail_ui()
this.show_popup = show_popup;
this.add_popup = add_popup;
this.set_searchmod = set_searchmod;
+ this.set_searchscope = set_searchscope;
this.show_uploadform = show_uploadform;
this.show_header_row = show_header_row;
this.hide_header_row = hide_header_row;
@@ -138,7 +140,8 @@ function rcube_mail_ui()
if (rcmail.env.task == 'mail') {
rcmail.addEventListener('menu-open', menu_open)
.addEventListener('menu-save', menu_save)
- .addEventListener('responseafterlist', function(e){ switch_view_mode(rcmail.env.threading ? 'thread' : 'list') });
+ .addEventListener('responseafterlist', function(e){ switch_view_mode(rcmail.env.threading ? 'thread' : 'list', true) })
+ .addEventListener('responseaftersearch', function(e){ switch_view_mode(rcmail.env.threading ? 'thread' : 'list', true) });
var dragmenu = $('#dragmessagemenu');
if (dragmenu.length) {
@@ -253,6 +256,10 @@ function rcube_mail_ui()
new rcube_splitter({ id:'identviewsplitter', p1:'#identitieslist', p2:'#identity-details',
orientation:'v', relative:true, start:266, min:180, size:12 }).init();
}
+ else if (rcmail.env.action == 'responses') {
+ new rcube_splitter({ id:'responseviewsplitter', p1:'#identitieslist', p2:'#identity-details',
+ orientation:'v', relative:true, start:266, min:180, size:12 }).init();
+ }
else if (rcmail.env.action == 'preferences' || !rcmail.env.action) {
new rcube_splitter({ id:'prefviewsplitter', p1:'#sectionslist', p2:'#preferences-box',
orientation:'v', relative:true, start:266, min:180, size:12 }).init();
@@ -329,7 +336,7 @@ function rcube_mail_ui()
});
// set min-width to show all toolbar buttons
- var screen = $('body > div.minwidth');
+ var screen = $('body.minwidth');
if (screen.length) {
screen.css('min-width', $('.toolbar').width() + $('#quicksearchbar').width() + $('#searchfilter').width() + 30);
}
@@ -378,6 +385,7 @@ function rcube_mail_ui()
config = popupconfig[id];
if (obj.is(':visible')
&& target.id != id+'link'
+ && target != obj.get(0) // check if scroll bar was clicked (#1489832)
&& !config.toggle
&& (!config.editable || !target_overlaps(target, obj.get(0)))
&& (!config.sticky || !rcube_mouse_is_over(e, obj.get(0)))
@@ -633,12 +641,6 @@ function rcube_mail_ui()
obj[show?'show':'hide']();
- // hide drop-down elements on buggy browsers
- if (bw.ie6 && config.overlap) {
- $('select').css('visibility', show?'hidden':'inherit');
- $('select', obj).css('visibility', 'inherit');
- }
-
return show;
}
@@ -729,13 +731,12 @@ function rcube_mail_ui()
/**
*
*/
- function switch_view_mode(mode)
+ function switch_view_mode(mode, force)
{
- if (rcmail.env.threading != (mode == 'thread'))
- rcmail.set_list_options(null, undefined, undefined, mode == 'thread' ? 1 : 0);
-
- $('#maillistmode, #mailthreadmode').removeClass('selected');
- $('#mail'+mode+'mode').addClass('selected');
+ if (force || !$('#mail'+mode+'mode').hasClass('disabled')) {
+ $('#maillistmode, #mailthreadmode').removeClass('selected');
+ $('#mail'+mode+'mode').addClass('selected');
+ }
}
@@ -761,11 +762,15 @@ function rcube_mail_ui()
obj = popups['searchmenu'],
list = $('input:checkbox[name="s_mods[]"]', obj),
mbox = rcmail.env.mailbox,
- mods = rcmail.env.search_mods;
+ mods = rcmail.env.search_mods,
+ scope = rcmail.env.search_scope || 'base';
if (rcmail.env.task == 'mail') {
+ if (scope == 'all')
+ mbox = '*';
mods = mods[mbox] ? mods[mbox] : mods['*'];
all = 'text';
+ $('input:radio[name="s_scope"]').prop('checked', false).filter('#s_scope_'+scope).prop('checked', true);
}
else {
all = '*';
@@ -856,7 +861,7 @@ function rcube_mail_ui()
// set checkboxes
$('input[name="list_col[]"]').each(function() {
- $(this).prop('checked', $.inArray(this.value, rcmail.env.coltypes) != -1);
+ $(this).prop('checked', $.inArray(this.value, rcmail.env.listcols) != -1);
});
$dialog.dialog({
@@ -896,7 +901,11 @@ function rcube_mail_ui()
{
var all, m, task = rcmail.env.task,
mods = rcmail.env.search_mods,
- mbox = rcmail.env.mailbox;
+ mbox = rcmail.env.mailbox,
+ scope = $('input[name="s_scope"]:checked').val();
+
+ if (scope == 'all')
+ mbox = '*';
if (!mods)
mods = {};
@@ -918,23 +927,29 @@ function rcube_mail_ui()
m[elem.value] = 1;
// mark all fields
- if (elem.value != all)
- return;
+ if (elem.value == all) {
+ $('input:checkbox[name="s_mods[]"]').map(function() {
+ if (this == elem)
+ return;
+
+ this.checked = true;
+ if (elem.checked) {
+ this.disabled = true;
+ delete m[this.value];
+ }
+ else {
+ this.disabled = false;
+ m[this.value] = 1;
+ }
+ });
+ }
- $('input:checkbox[name="s_mods[]"]').map(function() {
- if (this == elem)
- return;
+ rcmail.set_searchmods(m);
+ }
- this.checked = true;
- if (elem.checked) {
- this.disabled = true;
- delete m[this.value];
- }
- else {
- this.disabled = false;
- m[this.value] = 1;
- }
- });
+ function set_searchscope(elem)
+ {
+ rcmail.set_searchscope(elem.value);
}
function push_contactgroup(p)
@@ -1210,6 +1225,7 @@ function rcube_splitter(p)
{
this.p1 = $(this.p.p1);
this.p2 = $(this.p.p2);
+ this.parent = this.p1.parent();
// check if referenced elements exist, otherwise abort
if (!this.p1.length || !this.p2.length)
@@ -1222,7 +1238,7 @@ function rcube_splitter(p)
.attr('id', this.id)
.attr('unselectable', 'on')
.addClass('splitter ' + (this.horizontal ? 'splitter-h' : 'splitter-v'))
- .appendTo(this.p1.parent())
+ .appendTo(this.parent)
.bind('mousedown', onDragStart);
if (this.horizontal) {
@@ -1261,7 +1277,7 @@ function rcube_splitter(p)
this.p2.css('top', Math.ceil(this.pos + this.halfsize + 2) + 'px');
this.handle.css('top', Math.round(this.pos - this.halfsize + this.offset)+'px');
if (bw.ie) {
- var new_height = parseInt(this.p2.parent().outerHeight(), 10) - parseInt(this.p2.css('top'), 10) - (bw.ie8 ? 2 : 0);
+ var new_height = parseInt(this.parent.outerHeight(), 10) - parseInt(this.p2.css('top'), 10) - (bw.ie8 ? 2 : 0);
this.p2.css('height', (new_height > 0 ? new_height : 0) + 'px');
}
}
@@ -1270,7 +1286,7 @@ function rcube_splitter(p)
this.p2.css('left', Math.ceil(this.pos + this.halfsize) + 'px');
this.handle.css('left', Math.round(this.pos - this.halfsize + this.offset + 3)+'px');
if (bw.ie) {
- var new_width = parseInt(this.p2.parent().outerWidth(), 10) - parseInt(this.p2.css('left'), 10) ;
+ var new_width = parseInt(this.parent.outerWidth(), 10) - parseInt(this.p2.css('left'), 10) ;
this.p2.css('width', (new_width > 0 ? new_width : 0) + 'px');
}
}
@@ -1343,7 +1359,7 @@ function rcube_splitter(p)
var pos = rcube_event.get_mouse_pos(e);
if (me.relative) {
- var parent = me.p1.parent().offset();
+ var parent = me.parent.offset();
pos.x -= parent.left;
pos.y -= parent.top;
}
@@ -1351,12 +1367,18 @@ function rcube_splitter(p)
if (me.horizontal) {
if (((pos.y - me.halfsize) > me.p1pos.top) && ((pos.y + me.halfsize) < (me.p2pos.top + me.p2.outerHeight()))) {
me.pos = Math.max(me.min, pos.y - me.offset);
+ if (me.pos > me.min)
+ me.pos = Math.min(me.pos, me.parent.height() - me.min);
+
me.resize();
}
}
else {
if (((pos.x - me.halfsize) > me.p1pos.left) && ((pos.x + me.halfsize) < (me.p2pos.left + me.p2.outerWidth()))) {
me.pos = Math.max(me.min, pos.x - me.offset);
+ if (me.pos > me.min)
+ me.pos = Math.min(me.pos, me.parent.width() - me.min);
+
me.resize();
}
}
@@ -1395,11 +1417,11 @@ function rcube_splitter(p)
function onResize(e)
{
if (me.horizontal) {
- var new_height = parseInt(me.p2.parent().outerHeight(), 10) - parseInt(me.p2[0].style.top, 10) - (bw.ie8 ? 2 : 0);
+ var new_height = parseInt(me.parent.outerHeight(), 10) - parseInt(me.p2[0].style.top, 10) - (bw.ie8 ? 2 : 0);
me.p2.css('height', (new_height > 0 ? new_height : 0) +'px');
}
else {
- var new_width = parseInt(me.p2.parent().outerWidth(), 10) - parseInt(me.p2[0].style.left, 10);
+ var new_width = parseInt(me.parent.outerWidth(), 10) - parseInt(me.p2[0].style.left, 10);
me.p2.css('width', (new_width > 0 ? new_width : 0) + 'px');
}
};
@@ -1431,3 +1453,5 @@ rcube_splitter.get_instance = function(id)
{
return rcube_splitter._instances[id];
};
+
+// @license-end