summaryrefslogtreecommitdiff
path: root/skins/classic
diff options
context:
space:
mode:
authorCyrill von Wattenwyl <cvw@adfinis.com>2014-09-02 11:20:52 +0200
committerCyrill von Wattenwyl <cvw@adfinis.com>2014-09-02 11:20:52 +0200
commit11a40dd1fef6c5b78b054617caba4325f95ee386 (patch)
treede2e1d7efd6423ef4d1256dd5c90a972ad172719 /skins/classic
parent187fd666aa2f32dedfe544d69b7cb213698197f2 (diff)
parentba084313bfc9c7a5a83e0611fe4376543cc1653d (diff)
Merge branch 'master' of https://github.com/roundcube/roundcubemail
Conflicts: plugins/password/config.inc.php.dist
Diffstat (limited to 'skins/classic')
-rw-r--r--skins/classic/addressbook.css47
-rw-r--r--skins/classic/common.css320
-rw-r--r--skins/classic/editor_content.css31
-rw-r--r--skins/classic/functions.js234
-rw-r--r--skins/classic/images/filedrop.pngbin0 -> 605 bytes
-rw-r--r--skins/classic/includes/links.html1
-rw-r--r--skins/classic/includes/messagetoolbar.html30
-rw-r--r--skins/classic/mail.css358
-rw-r--r--skins/classic/print.css12
-rw-r--r--skins/classic/settings.css68
-rw-r--r--skins/classic/templates/about.html2
-rw-r--r--skins/classic/templates/addressbook.html3
-rw-r--r--skins/classic/templates/compose.html6
-rw-r--r--skins/classic/templates/folders.html17
-rw-r--r--skins/classic/templates/mail.html8
-rw-r--r--skins/classic/templates/message.html2
-rw-r--r--skins/classic/templates/messagepreview.html4
17 files changed, 639 insertions, 504 deletions
diff --git a/skins/classic/addressbook.css b/skins/classic/addressbook.css
index ebf9ab9d9..90438aa70 100644
--- a/skins/classic/addressbook.css
+++ b/skins/classic/addressbook.css
@@ -116,13 +116,6 @@
overflow: hidden;
}
-#directorylistbox input
-{
- margin: 0 0 0 20px;
- font-size: 11px;
- width: 90%;
-}
-
#addresslist
{
position: absolute;
@@ -144,7 +137,8 @@
width: 280px;
}
-#directorylist li a
+#directorylist li a,
+#savedsearchlist li a
{
cursor: default;
display: block;
@@ -159,17 +153,45 @@
background-repeat: no-repeat;
}
-#directorylist li ul li a
+#directorylist ul li a
{
padding-left: 45px;
+ background-position: 22px -108px;
+}
+
+#directorylist ul ul li a
+{
+ padding-left: 62px;
+ background-position: 39px -108px;
+}
+
+#directorylist ul ul ul li a
+{
+ padding-left: 79px;
+ background-position: 39px -108px;
}
#directorylist li.contactgroup a
{
+ background-position: 5px -143px;
+}
+
+#directorylist ul li.contactgroup a
+{
background-position: 22px -143px;
}
-#directorylist li.contactsearch a
+#directorylist ul ul li.contactgroup a
+{
+ background-position: 39px -143px;
+}
+
+#directorylist ul ul ul li.contactgroup a
+{
+ background-position: 56px -143px;
+}
+
+#savedsearchlist li.contactsearch a
{
background-position: 6px -162px;
}
@@ -279,6 +301,11 @@ body.iframe,
padding: 0;
}
+#contacthead > legend
+{
+ display: none;
+}
+
#contacthead .names span.namefield,
#contacthead .names input
{
diff --git a/skins/classic/common.css b/skins/classic/common.css
index 4367d26cb..b87286249 100644
--- a/skins/classic/common.css
+++ b/skins/classic/common.css
@@ -20,12 +20,16 @@ body.extwin
margin: 10px;
}
-select, input, textarea
+select, input, textarea, button
{
- font-size: 12px;
+ font-size: inherit;
font-family: inherit;
}
+html.mozilla select {
+ padding: 2px 1px;
+}
+
th
{
font-weight: normal;
@@ -284,6 +288,13 @@ body > #message div.loading,
border: 1px solid #CCCCCC;
}
+body > #message div.voice
+{
+ position: absolute;
+ top: -1000px;
+ clip: rect(0 0 0 0);
+}
+
body > #message a
{
cursor: pointer;
@@ -546,6 +557,7 @@ body.iframe .boxtitle
.popupmenu li a.active:visited
{
color: #333;
+ cursor: pointer;
}
.popupmenu li a.active:hover,
@@ -605,8 +617,13 @@ img.uploading
height: 16px;
}
+.popup label > input {
+ margin-left: 10px;
+}
+
/***** common table settings ******/
+table.records-table thead tr th,
table.records-table thead tr td
{
height: 20px;
@@ -617,6 +634,7 @@ table.records-table thead tr td
background: url(images/listheader.gif) top left repeat-x #CCC;
font-size: 11px;
font-weight: bold;
+ text-align: left;
}
table.records-table tbody tr td
@@ -627,7 +645,8 @@ table.records-table tbody tr td
white-space: nowrap;
border-bottom: 1px solid #EBEBEB;
overflow: hidden;
- text-align: left;
+ text-align: left;
+ outline: none;
}
table.records-table tr
@@ -659,18 +678,21 @@ ul.treelist li
ul.treelist li div.treetoggle
{
position: absolute;
- left: 8px !important;
- left: -16px;
- top: 1px;
+ left: 8px;
+ top: 2px;
width: 14px;
height: 16px;
cursor: pointer;
}
-ul.treelist li ul li div.treetoggle
+ul.treelist ul li div.treetoggle
+{
+ left: 25px;
+}
+
+ul.treelist ul ul li div.treetoggle
{
- left: 28px !important;
- left: 4px;
+ left: 42px;
}
ul.treelist li div.collapsed
@@ -683,7 +705,6 @@ ul.treelist li div.expanded
background: url(images/icons/expanded.png) bottom right no-repeat;
}
-
ul.treelist,
ul.treelist li ul
{
@@ -704,6 +725,7 @@ ul.treelist li
font-size: 11px;
border-bottom: 1px solid #EBEBEB;
white-space: nowrap;
+ overflow: hidden;
}
ul.treelist li a
@@ -714,6 +736,7 @@ ul.treelist li a
padding-top: 2px;
padding-bottom: 2px;
height: 16px;
+ line-height: 16px;
text-decoration: none;
white-space: nowrap;
}
@@ -733,7 +756,8 @@ ul.treelist li ul li:last-child
border-bottom: 0;
}
-ul.treelist li.selected > a
+ul.treelist li.selected > a,
+ul.treelist li.selected > div a
{
color: #FFF;
font-weight: bold;
@@ -745,21 +769,176 @@ ul.treelist li.droptarget
background-color: #FFFFA6;
}
+/***** folders list *****/
+
+.folderlist li ul li:last-child
+{
+ border-bottom: 0 none;
+}
+
+.folderlist li.inbox a
+{
+ background-position: 5px -18px;
+}
+
+.folderlist li.drafts a
+{
+ background-position: 5px -36px;
+}
+
+.folderlist li.sent a
+{
+ background-position: 5px -53px;
+}
+
+.folderlist li.junk a
+{
+ background-position: 5px -72px;
+}
+
+.folderlist li.trash a
+{
+ background-position: 5px -180px;
+}
+
+.folderlist li.trash.empty a
+{
+ background-position: 5px -90px;
+}
+
+.folderlist li a
+{
+ cursor: default;
+ display: block;
+ position: relative;
+ padding-left: 25px;
+ padding-top: 2px;
+ padding-bottom: 2px;
+ text-decoration: none;
+ height: 15px;
+ background: url(images/icons/folders.png) 5px 1px no-repeat;
+}
+
+.folderlist li.virtual > a
+{
+ color: #666;
+}
+
+.folderlist li.selected,
+.folderlist li.droptarget li.selected
+{
+ background-color: #929292;
+}
+
+.folderlist li.selected > a,
+.folderlist li.droptarget li.selected a
+{
+ color: #FFF;
+ font-weight: bold;
+}
+
+.folderlist li.droptarget
+{
+ background-color: #FFFFA6;
+}
+
+/* styles for nested folders */
+.folderlist ul {
+ list-style: none;
+ padding: 0;
+ margin: 0;
+ border-top: 1px solid #EBEBEB;
+ background-color: #FFF;
+ font-weight: normal;
+}
+
+.folderlist li.mailbox ul li a {
+ padding-left: 40px; /* 24 + 1 x 16 */
+ background-position: 20px 1px; /* 4 + 1 x 16 */
+}
+.folderlist li.mailbox ul li div.treetoggle {
+ left: 23px !important;
+}
+
+.folderlist li.mailbox ul ul li.mailbox a {
+ padding-left: 56px; /* 2x */
+ background-position: 36px 1px;
+}
+.folderlist li.mailbox ul ul li div.treetoggle {
+ left: 39px !important;
+}
+
+.folderlist li.mailbox ul ul ul li.mailbox a {
+ padding-left: 72px; /* 3x */
+ background-position: 52px 1px;
+}
+.folderlist li.mailbox ul ul ul li div.treetoggle {
+ left: 55px !important;
+}
+
+.folderlist li.mailbox ul ul ul ul li.mailbox a {
+ padding-left: 88px; /* 4x */
+ background-position: 68px 1px;
+}
+.folderlist li.mailbox ul ul ul ul li div.treetoggle {
+ left: 71px !important;
+}
+
+/* indent folders on levels > 4 */
+.folderlist li.mailbox ul ul ul ul ul li {
+ padding-left: 16px;
+}
+.folderlist li.mailbox ul ul ul ul ul li div.treetoggle {
+ left: 87px !important;
+}
+
+.folderlist li.mailbox ul li.drafts a
+{
+ background-position: 21px -36px;
+}
+
+.folderlist li.mailbox ul li.sent a
+{
+ background-position: 21px -53px;
+}
+
+.folderlist li.mailbox ul li.junk a
+{
+ background-position: 21px -72px;
+}
+
+.folderlist li.mailbox ul li.trash a
+{
+ background-position: 21px -180px;
+}
+
+.folderlist li.mailbox ul li.trash.empty a
+{
+ background-position: 21px -90px;
+}
+
/***** 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;
@@ -767,19 +946,42 @@ ul.treelist li.droptarget
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;
@@ -809,6 +1011,25 @@ ul.treelist li.droptarget
width: 97%;
}
+.listsearchbox
+{
+ border-bottom: solid 1px #ddd;
+ padding: 2px 4px 1px;
+ display: none;
+ background-color: #f2f2f2;
+}
+
+.listsearchbox a.iconbutton.reset
+{
+ background: url(images/icons/reset.gif) no-repeat 0 0;
+ width: 13px;
+ height: 13px;
+ text-indent: 50000px;
+ position: absolute;
+ top: 3px;
+ left: 165px;
+ overflow: hidden;
+}
/***** roundcube webmail pre-defined classes *****/
@@ -1189,3 +1410,68 @@ fieldset.tabbed
.quota_text_high { color: white; }
.quota_text_mid { color: #666; }
.quota_text_low { color: #666; }
+
+table.quota-info {
+ border-spacing: 0;
+ border-collapse: collapse;
+ table-layout: fixed;
+ margin: 2px;
+}
+
+table.quota-info td,
+table.quota-info th {
+ border: 1px solid #999;
+ padding: 2px 3px;
+ text-align: center;
+ min-width: 80px;
+ color: #333;
+ font-size: 11px;
+}
+
+table.quota-info th {
+ font-weight: bold;
+ background-color: #ddd;
+}
+
+table.quota-info td.name {
+ text-align: left;
+}
+
+table.quota-info td.root {
+ font-style: italic;
+}
+
+/********** TinyMCE styles **********/
+.mce-btn-small button
+{
+ height: 22px;
+}
+
+.mce-btn-small i
+{
+ line-height: 16px !important;
+ vertical-align: text-top !important;
+}
+
+.mce-combobox button
+{
+ padding: 6px 8px !important;
+}
+
+.mce-tinymce,
+.mce-panel.mce-toolbar-grp
+{
+ border: 0 !important;
+}
+
+#image-selector-form.droptarget {
+ background: url(images/filedrop.png) center bottom no-repeat;
+}
+
+#image-selector-form.droptarget.hover
+{
+ background-color: #F0F0EE;
+ box-shadow: 0 0 5px 0 #999;
+ -moz-box-shadow: 0 0 5px 0 #999;
+ -o-box-shadow: 0 0 5px 0 #999;
+}
diff --git a/skins/classic/editor_content.css b/skins/classic/editor_content.css
deleted file mode 100644
index aabed07b5..000000000
--- a/skins/classic/editor_content.css
+++ /dev/null
@@ -1,31 +0,0 @@
-/* This file contains the CSS data for the editable area(iframe) of TinyMCE */
-
-body, td, pre {
- font-family: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif;
- font-size: 12px;
-}
-
-body {
- background-color: #FFFFFF;
- margin-left: 4px;
- margin-right: 4px;
- margin-top: 2px;
-}
-
-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) */
-}
-
-blockquote
-{
- padding-left: 5px;
- border-left: #1010ff 2px solid;
- margin-left: 5px;
- width: 100%;
-}
diff --git a/skins/classic/functions.js b/skins/classic/functions.js
index ae9898c68..2bf1538c4 100644
--- a/skins/classic/functions.js
+++ b/skins/classic/functions.js
@@ -106,12 +106,12 @@ function rcube_mail_ui()
searchmenu: {id:'searchmenu', editable:1},
messagemenu: {id:'messagemenu'},
attachmentmenu: {id:'attachmentmenu'},
- listmenu: {id:'listmenu', editable:1},
dragmenu: {id:'dragmenu', sticky:1},
groupmenu: {id:'groupoptionsmenu', above:1},
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 }
@@ -292,61 +292,62 @@ set_searchmod: function(elem)
rcmail.set_searchmods(m);
},
-listmenu: function(show)
+show_listmenu: function(p)
{
- var obj = this.popups.listmenu.obj,
- ref = rcube_find_object('listmenulink');
+ var self = this, buttons = {}, $dialog = $('#listmenu');
- if (typeof show == 'undefined')
- show = obj.is(':visible') ? false : true;
-
- if (show && ref) {
- var pos = $(ref).offset(),
- menuwidth = obj.width(),
- pagewidth = $(document).width();
-
- if (pagewidth - pos.left < menuwidth && pos.left > menuwidth)
- pos.left = pos.left - menuwidth;
-
- obj.css({ left:pos.left, top:(pos.top + ref.offsetHeight + 2)});
-
- // set form values
- $('input[name="sort_col"][value="'+rcmail.env.sort_col+'"]').prop('checked', true);
- $('input[name="sort_ord"][value="DESC"]').prop('checked', rcmail.env.sort_order == 'DESC');
- $('input[name="sort_ord"][value="ASC"]').prop('checked', rcmail.env.sort_order != 'DESC');
- $('input[name="view"][value="thread"]').prop('checked', rcmail.env.threading ? true : false);
- $('input[name="view"][value="list"]').prop('checked', rcmail.env.threading ? false : true);
-
- // set checkboxes
- $('input[name="list_col[]"]').each(function() {
- $(this).prop('checked', jQuery.inArray(this.value, rcmail.env.coltypes) != -1);
- });
+ // close the dialog
+ if ($dialog.is(':visible')) {
+ $dialog.dialog('close', p.originalEvent);
+ return;
}
- obj[show?'show':'hide']();
+ // set form values
+ $('input[name="sort_col"][value="'+rcmail.env.sort_col+'"]').prop('checked', true);
+ $('input[name="sort_ord"][value="DESC"]').prop('checked', rcmail.env.sort_order == 'DESC');
+ $('input[name="sort_ord"][value="ASC"]').prop('checked', rcmail.env.sort_order != 'DESC');
+ $('input[name="view"][value="thread"]').prop('checked', rcmail.env.threading ? true : false);
+ $('input[name="view"][value="list"]').prop('checked', rcmail.env.threading ? false : true);
- if (show) {
- var maxheight=0;
- $('#listmenu fieldset').each(function() {
- var height = $(this).height();
- if (height > maxheight) {
- maxheight = height;
- }
- });
- $('#listmenu fieldset').css("min-height", maxheight+"px")
- .height(maxheight);
+ // set checkboxes
+ $('input[name="list_col[]"]').each(function() {
+ $(this).prop('checked', $.inArray(this.value, rcmail.env.listcols) != -1);
+ });
+
+ buttons[rcmail.gettext('save')] = function(e) {
+ $dialog.dialog('close', e);
+ self.save_listmenu();
};
-},
-open_listmenu: function()
-{
- this.listmenu();
+ $dialog.dialog({
+ modal: true,
+ resizable: false,
+ closeOnEscape: true,
+ title: null,
+ open: function(e) {
+ var maxheight = 0;
+ $('#listmenu fieldset').each(function() {
+ var height = $(this).height();
+ if (height > maxheight) {
+ maxheight = height;
+ }
+ }).css("min-height", maxheight+"px").height(maxheight);
+
+ setTimeout(function() { $dialog.find('a, input:not(:disabled)').not('[aria-disabled=true]').first().focus(); }, 100);
+ },
+ close: function(e) {
+ $dialog.dialog('destroy').hide();
+ if (e.originalEvent && rcube_event.is_keyboard(e.originalEvent))
+ $('#listmenulink').focus();
+ },
+ buttons: buttons,
+ minWidth: 500,
+ width: $dialog.width()+20
+ }).show();
},
save_listmenu: function()
{
- this.listmenu();
-
var sort = $('input[name="sort_col"]:checked').val(),
ord = $('input[name="sort_ord"]:checked').val(),
thread = $('input[name="view"]:checked').val(),
@@ -393,7 +394,7 @@ spellmenu: function(show)
this.show_popupmenu('spellmenu', show);
},
-show_attachmentmenu: function(elem)
+show_attachmentmenu: function(elem, event)
{
var id = elem.parentNode.id.replace(/^attach/, '');
@@ -406,37 +407,30 @@ show_attachmentmenu: function(elem)
});
this.popups.attachmentmenu.link = elem;
- rcmail.command('menu-open', {menu: 'attachmentmenu', id: id});
+ rcmail.command('menu-open', {menu: 'attachmentmenu', id: id}, elem, event);
},
menu_open: function(p)
{
- if (p && p.props && p.props.menu == 'attachmentmenu')
- this.show_popup('attachmentmenu');
- else
- this.open_listmenu();
-},
-
-menu_save: function(prop)
-{
- this.save_listmenu();
+ if (p && p.name == 'messagelistmenu')
+ this.show_listmenu();
},
-body_mouseup: function(evt, p)
+body_mouseup: function(e)
{
- var i, target = rcube_event.get_target(evt);
-
- for (i in this.popups) {
- if (this.popups[i].obj.is(':visible') && target != rcube_find_object(i+'link')
- && !this.popups[i].toggle
- && target != this.popups[i].obj.get(0) // check if scroll bar was clicked (#1489832)
- && (!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)))
+ var target = e.target; ref = this;
+
+ $.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)
@@ -450,9 +444,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);
@@ -556,10 +550,9 @@ resize_compose_body: function()
w = div.width() - 2, h = div.height(),
x = bw.ie || bw.opera ? 4 : 0;
- $('#compose-body_tbl').width((w+3)+'px').height('');
- $('#compose-body_ifr').width((w+3)+'px').height((h-54)+'px');
- $('#compose-body').width((w-x)+'px').height(h+'px');
- $('#googie_edit_layer').height(h+'px');
+ $('#compose-body_ifr').width(w+3).height(h-2 - $('div.mce-toolbar').height());
+ $('#compose-body').width(w-x).height(h);
+ $('#googie_edit_layer').height(h);
},
resize_compose_body_ev: function()
@@ -643,6 +636,37 @@ enable_command: function(p)
var label = rcmail.gettext(p.status ? 'replylist' : 'replyall');
$('a.button.replyAll').attr('title', label);
}
+},
+
+folder_search_init: function(container)
+{
+ // animation to unfold list search box
+ $('.boxtitle a.search', container).click(function(e) {
+ var title = $('.boxtitle', container),
+ box = $('.listsearchbox', container),
+ dir = box.is(':visible') ? -1 : 1,
+ height = 24 + ($('select', box).length ? 24 : 0);
+
+ box.slideToggle({
+ duration: 160,
+ progress: function(animation, progress) {
+ if (dir < 0) progress = 1 - progress;
+ $('.boxlistcontent', container).css('top', (title.outerHeight() + height * progress) + 'px');
+ },
+ complete: function() {
+ box.toggleClass('expanded');
+ if (box.is(':visible')) {
+ box.find('input[type=text]').focus();
+ }
+ else {
+ $('a.reset', box).click();
+ }
+ // TODO: save state in cookie
+ }
+ });
+
+ return false;
+ });
}
};
@@ -758,6 +782,8 @@ function rcube_layer(id, attributes)
/**
* Scroller
+ *
+ * @deprecated Use treelist widget
*/
function rcmail_scroller(list, top, bottom)
{
@@ -800,7 +826,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
@@ -886,6 +912,18 @@ function fit_string_to_size(str, elem, len)
function update_quota(data)
{
percent_indicator(rcmail.gui_objects.quotadisplay, data);
+
+ if (data.table) {
+ var menu = $('#quotamenu');
+
+ if (!menu.length)
+ menu = $('<div id="quotamenu" class="popupmenu">').appendTo($('body'));
+
+ menu.html(data.table);
+ $('#quotaimg').css('cursor', 'pointer').off('click').on('click', function(e) {
+ return rcmail.command('menu-open', 'quotamenu', e.target, e);
+ });
+ }
};
// percent (quota) indicator
@@ -953,18 +991,16 @@ function percent_indicator(obj, data)
};
// Optional parameters used by TinyMCE
-var rcmail_editor_settings = {
- skin: "default", // "default", "o2k7"
- skin_variant: "" // "", "silver", "black"
-};
+var rcmail_editor_settings = {};
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)
@@ -972,23 +1008,22 @@ 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);
- rcmail.addEventListener('menu-open', 'menu_open', rcmail_ui);
- rcmail.addEventListener('menu-save', 'menu_save', rcmail_ui);
- rcmail.addEventListener('aftersend-attachment', 'uploadmenu', rcmail_ui);
- rcmail.addEventListener('aftertoggle-editor', 'resize_compose_body_ev', rcmail_ui);
- rcmail.gui_object('dragmenu', 'dragmenu');
+ rcmail.addEventListener('enable-command', 'enable_command', rcmail_ui)
+ .addEventListener('menu-open', 'menu_open', rcmail_ui)
+ .addEventListener('aftersend-attachment', 'uploadmenu', rcmail_ui)
+ .addEventListener('aftertoggle-editor', 'resize_compose_body_ev', rcmail_ui)
+ .gui_object('dragmenu', 'dragmenu');
if (rcmail.gui_objects.mailboxlist) {
rcmail.treelist.addEventListener('expand', rcube_render_mailboxlist);
- rcmail.addEventListener('responseaftermark', rcube_render_mailboxlist);
- rcmail.addEventListener('responseaftergetunread', rcube_render_mailboxlist);
- rcmail.addEventListener('responseaftercheck-recent', rcube_render_mailboxlist);
- rcmail.addEventListener('responseafterrefresh', rcube_render_mailboxlist);
- rcmail.addEventListener('afterimport-messages', function(){ rcmail_ui.show_popup('uploadform', false); });
+ rcmail.addEventListener('responseaftermark', rcube_render_mailboxlist)
+ .addEventListener('responseaftergetunread', rcube_render_mailboxlist)
+ .addEventListener('responseaftercheck-recent', rcube_render_mailboxlist)
+ .addEventListener('responseafterrefresh', rcube_render_mailboxlist)
+ .addEventListener('afterimport-messages', function(){ rcmail_ui.show_popup('uploadform', false); });
}
if (rcmail.env.action == 'compose')
@@ -996,17 +1031,22 @@ function rcube_init_mail_ui()
else if (rcmail.env.action == 'show' || rcmail.env.action == 'preview')
// add menu link for each attachment
$('#attachment-list > li[id^="attach"]').each(function() {
- $(this).append($('<a class="drop"></a>').click(function() { rcmail_ui.show_attachmentmenu(this); }));
+ $(this).append($('<a class="drop"></a>').bind('click keypress', function(e) {
+ if (e.type != 'keypress' || e.which == 13) {
+ rcmail_ui.show_attachmentmenu(this, e);
+ return false;
+ }
+ }));
});
}
else if (rcmail.env.task == 'addressbook') {
- rcmail.addEventListener('afterupload-photo', function(){ rcmail_ui.show_popup('uploadform', false); });
-
- rcmail.gui_object('dragmenu', 'dragmenu');
+ rcmail.addEventListener('afterupload-photo', function(){ rcmail_ui.show_popup('uploadform', false); })
+ .gui_object('dragmenu', 'dragmenu');
}
else if (rcmail.env.task == 'settings') {
- if (rcmail.gui_objects.subscriptionlist)
- new rcmail_scroller('#folderlist-content', '#folderlist-title', '#folderlist-footer');
+ if (rcmail.env.action == 'folders') {
+ rcmail_ui.folder_search_init($('#folder-manager'));
+ }
}
});
}
diff --git a/skins/classic/images/filedrop.png b/skins/classic/images/filedrop.png
new file mode 100644
index 000000000..d4d455bdf
--- /dev/null
+++ b/skins/classic/images/filedrop.png
Binary files differ
diff --git a/skins/classic/includes/links.html b/skins/classic/includes/links.html
index 2f6ef0119..8ff57c229 100644
--- a/skins/classic/includes/links.html
+++ b/skins/classic/includes/links.html
@@ -1,4 +1,3 @@
-<meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
<link rel="index" href="$__comm_path" />
<link rel="shortcut icon" href="/images/favicon.ico"/>
<link rel="stylesheet" type="text/css" href="/common.css" />
diff --git a/skins/classic/includes/messagetoolbar.html b/skins/classic/includes/messagetoolbar.html
index b6b16d635..7cf7d477c 100644
--- a/skins/classic/includes/messagetoolbar.html
+++ b/skins/classic/includes/messagetoolbar.html
@@ -28,39 +28,39 @@
<div id="forwardmenu" class="popupmenu">
<ul>
- <li><roundcube:button command="forward-inline" label="forwardinline" prop="sub" classAct="forwardlink active" class="forwardlink" /></li>
- <li><roundcube:button command="forward-attachment" label="forwardattachment" prop="sub" classAct="forwardattachmentlink active" class="forwardattachmentlink" /></li>
+ <roundcube:button type="link-menuitem" command="forward-inline" label="forwardinline" prop="sub" classAct="forwardlink active" class="forwardlink" />
+ <roundcube:button type="link-menuitem" command="forward-attachment" label="forwardattachment" prop="sub" classAct="forwardattachmentlink active" class="forwardattachmentlink" />
<roundcube:container name="forwardmenu" id="forwardmenu" />
</ul>
</div>
<div id="replyallmenu" class="popupmenu">
<ul>
- <li><roundcube:button command="reply-all" label="replyall" prop="sub" classAct="replyalllink active" class="replyalllink" /></li>
- <li><roundcube:button command="reply-list" label="replylist" prop="sub" classAct="replylistlink active" class="replylistlink" /></li>
+ <roundcube:button type="link-menuitem" command="reply-all" label="replyall" prop="sub" classAct="replyalllink active" class="replyalllink" />
+ <roundcube:button type="link-menuitem" command="reply-list" label="replylist" prop="sub" classAct="replylistlink active" class="replylistlink" />
<roundcube:container name="replyallmenu" id="replyallmenu" />
</ul>
</div>
<div id="messagemenu" class="popupmenu">
<ul class="toolbarmenu">
- <li><roundcube:button class="printlink" command="print" label="printmessage" classAct="printlink active" /></li>
- <li><roundcube:button class="downloadlink" command="download" label="emlsave" classAct="downloadlink active" /></li>
- <li><roundcube:button class="editlink" command="edit" prop="new" label="editasnew" classAct="editlink active" /></li>
- <li><roundcube:button class="movelink" command="move" label="moveto" classAct="movelink active" innerclass="folder-selector-link" /></li>
- <li><roundcube:button class="copylink" command="copy" label="copyto" classAct="copylink active" innerclass="folder-selector-link" /></li>
- <li class="separator_below"><roundcube:button class="sourcelink" command="viewsource" label="viewsource" classAct="sourcelink active" /></li>
- <li><roundcube:button class="openlink" command="open" label="openinextwin" target="_blank" classAct="openlink active" /></li>
+ <roundcube:button type="link-menuitem" class="printlink" command="print" label="printmessage" classAct="printlink active" />
+ <roundcube:button type="link-menuitem" class="downloadlink" command="download" label="emlsave" classAct="downloadlink active" />
+ <roundcube:button type="link-menuitem" class="editlink" command="edit" prop="new" label="editasnew" classAct="editlink active" />
+ <roundcube:button type="link-menuitem" class="movelink" command="move" label="moveto" classAct="movelink active" innerclass="folder-selector-link" />
+ <roundcube:button type="link-menuitem" class="copylink" command="copy" label="copyto" classAct="copylink active" innerclass="folder-selector-link" />
+ <roundcube:button type="link-menuitem" class="sourcelink" command="viewsource" label="viewsource" classAct="sourcelink active" menuitem-class="separator_below" />
+ <roundcube:button type="link-menuitem" class="openlink" command="open" label="openinextwin" target="_blank" classAct="openlink active" />
<roundcube:container name="messagemenu" id="messagemenu" />
</ul>
</div>
<div id="markmessagemenu" class="popupmenu">
<ul class="toolbarmenu">
- <li><roundcube:button command="mark" prop="read" label="markread" classAct="readlink active" class="readlink" /></li>
- <li><roundcube:button command="mark" prop="unread" label="markunread" classAct="unreadlink active" class="unreadlink" /></li>
- <li><roundcube:button command="mark" prop="flagged" label="markflagged" classAct="flaggedlink active" class="flaggedlink" /></li>
- <li><roundcube:button command="mark" prop="unflagged" label="markunflagged" classAct="unflaggedlink active" class="unflaggedlink" /></li>
+ <roundcube:button type="link-menuitem" command="mark" prop="read" label="markread" classAct="readlink active" class="readlink" />
+ <roundcube:button type="link-menuitem" command="mark" prop="unread" label="markunread" classAct="unreadlink active" class="unreadlink" />
+ <roundcube:button type="link-menuitem" command="mark" prop="flagged" label="markflagged" classAct="flaggedlink active" class="flaggedlink" />
+ <roundcube:button type="link-menuitem" command="mark" prop="unflagged" label="markunflagged" classAct="unflaggedlink active" class="unflaggedlink" />
<roundcube:container name="markmenu" id="markmessagemenu" />
</ul>
</div>
diff --git a/skins/classic/mail.css b/skins/classic/mail.css
index fc066e023..1eeba491a 100644
--- a/skins/classic/mail.css
+++ b/skins/classic/mail.css
@@ -409,170 +409,16 @@
background-color: #FFF;
}
-#mailboxlist li
-{
- display: block;
- position: relative;
- font-size: 11px;
- border-bottom: 1px solid #EBEBEB;
-}
-
-#mailboxlist li ul li:last-child
-{
- border-bottom: 0 none;
-}
-
-#mailboxlist li.inbox a
-{
- background-position: 5px -18px;
-}
-
-#mailboxlist li.drafts a
-{
- background-position: 5px -37px;
-}
-
-#mailboxlist li.sent a
-{
- background-position: 5px -54px;
-}
-
-#mailboxlist li.junk a
-{
- background-position: 5px -73px;
-}
-
-#mailboxlist li.trash a
-{
- background-position: 5px -180px;
-}
-
-#mailboxlist li.trash.empty a
-{
- background-position: 5px -90px;
-}
-
-#mailboxlist li a
-{
- cursor: default;
- display: block;
- position: relative;
- padding-left: 25px;
- padding-top: 2px;
- padding-bottom: 2px;
- text-decoration: none;
- height: 15px;
- background: url(images/icons/folders.png) 5px 0 no-repeat;
-}
-
#mailboxlist li.unread
{
font-weight: bold;
}
-#mailboxlist li.virtual > a
-{
- color: #666;
-}
-
#mailboxlist li.recent > a
{
color: #0066FF;
}
-#mailboxlist li.selected,
-#mailboxlist li.droptarget li.selected
-{
- background-color: #929292;
-}
-
-#mailboxlist li.selected > a,
-#mailboxlist li.droptarget li.selected a
-{
- color: #FFF;
- font-weight: bold;
-}
-
-#mailboxlist li.droptarget
-{
- background-color: #FFFFA6;
-}
-
-/* styles for nested folders */
-#mailboxlist ul {
- list-style: none;
- padding: 0;
- margin: 0;
- border-top: 1px solid #EBEBEB;
- background-color: #FFF;
- font-weight: normal;
-}
-
-#mailboxlist li.mailbox ul li a {
- padding-left: 40px; /* 24 + 1 x 16 */
- background-position: 20px 0; /* 4 + 1 x 16 */
-}
-#mailboxlist li.mailbox ul li div.treetoggle {
- left: 23px !important;
-}
-
-#mailboxlist li.mailbox ul ul li.mailbox a {
- padding-left: 56px; /* 2x */
- background-position: 36px 0;
-}
-#mailboxlist li.mailbox ul ul li div.treetoggle {
- left: 39px !important;
-}
-
-#mailboxlist li.mailbox ul ul ul li.mailbox a {
- padding-left: 72px; /* 3x */
- background-position: 52px 0;
-}
-#mailboxlist li.mailbox ul ul ul li div.treetoggle {
- left: 55px !important;
-}
-
-#mailboxlist li.mailbox ul ul ul ul li.mailbox a {
- padding-left: 88px; /* 4x */
- background-position: 68px 0;
-}
-#mailboxlist li.mailbox ul ul ul ul li div.treetoggle {
- left: 71px !important;
-}
-
-/* indent folders on levels > 4 */
-#mailboxlist li.mailbox ul ul ul ul ul li {
- padding-left: 16px;
-}
-#mailboxlist li.mailbox ul ul ul ul ul li div.treetoggle {
- 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;
@@ -719,6 +565,7 @@ table.messagelist.fixedcopy
z-index: 2;
}
+.messagelist thead tr th,
.messagelist thead tr td
{
height: 20px;
@@ -729,25 +576,26 @@ table.messagelist.fixedcopy
background: url(images/listheader.gif) top left repeat-x #CCC;
font-size: 11px;
font-weight: bold;
+ text-align: left;
}
-.messagelist thead tr td.sortedASC,
-.messagelist thead tr td.sortedDESC
+.messagelist thead tr > .sortedASC,
+.messagelist thead tr > .sortedDESC
{
background-position: 0 -26px;
}
-.messagelist thead tr td.sortedASC a
+.messagelist thead tr > .sortedASC a
{
background: url(images/icons/sort.gif) right 0 no-repeat;
}
-.messagelist thead tr td.sortedDESC a
+.messagelist thead tr > .sortedDESC a
{
background: url(images/icons/sort.gif) right -14px no-repeat;
}
-.messagelist thead tr td a
+.messagelist thead tr a
{
display: block;
width: auto !important;
@@ -756,18 +604,19 @@ table.messagelist.fixedcopy
text-decoration: none;
}
-.messagelist thead tr td.size.sortedASC a,
-.messagelist thead tr td.size.sortedDESC a
+.messagelist thead tr > .size.sortedASC a,
+.messagelist thead tr > .size.sortedDESC a
{
padding-right: 18px;
}
-.messagelist thead tr td.subject
+.messagelist thead tr > .subject
{
padding-left: 18px;
width: 99%;
}
+.messagelist tbody tr th,
.messagelist tbody tr td
{
height: 20px;
@@ -780,6 +629,7 @@ table.messagelist.fixedcopy
-o-text-overflow: ellipsis;
border-bottom: 1px solid #EBEBEB;
cursor: default;
+ outline: none;
}
.messagelist tbody tr td a
@@ -803,40 +653,42 @@ table.messagelist.fixedcopy
cursor: pointer;
}
-.messagelist tr td.flag span,
-.messagelist tr td.status span,
-.messagelist tr td.attachment span,
-.messagelist tr td.priority span
+.messagelist tr > .flag span,
+.messagelist tr > .status span,
+.messagelist tr > .attachment span,
+.messagelist tr > .priority span
{
display: block;
width: 15px;
+ text-indent: -5000px;
+ overflow: hidden;
}
.messagelist tr td div.collapsed,
.messagelist tr td div.expanded,
-.messagelist tr td.threads div.listmenu,
-.messagelist tr td.attachment span.attachment,
-.messagelist tr td.attachment span.report,
-.messagelist tr td.priority span.priority,
-.messagelist tr td.priority span.prio1,
-.messagelist tr td.priority span.prio2,
-.messagelist tr td.priority span.prio3,
-.messagelist tr td.priority span.prio4,
-.messagelist tr td.priority span.prio5,
-.messagelist tr td.flag span.flagged,
-.messagelist tr td.flag span.unflagged,
-.messagelist tr td.flag span.unflagged:hover,
-.messagelist tr td.status span.status,
-.messagelist tr td.status span.msgicon,
-.messagelist tr td.status span.deleted,
-.messagelist tr td.status span.unread,
-.messagelist tr td.status span.unreadchildren,
-.messagelist tr td.subject span.msgicon,
-.messagelist tr td.subject span.deleted,
-.messagelist tr td.subject span.unread,
-.messagelist tr td.subject span.replied,
-.messagelist tr td.subject span.forwarded,
-.messagelist tr td.subject span.unreadchildren
+.messagelist tr > .threads .listmenu,
+.messagelist tr > .attachment span.attachment,
+.messagelist tr > .attachment span.report,
+.messagelist tr > .priority span.priority,
+.messagelist tr > .priority span.prio1,
+.messagelist tr > .priority span.prio2,
+.messagelist tr > .priority span.prio3,
+.messagelist tr > .priority span.prio4,
+.messagelist tr > .priority span.prio5,
+.messagelist tr > .flag span.flagged,
+.messagelist tr > .flag span.unflagged,
+.messagelist tr > .flag span.unflagged:hover,
+.messagelist tr > .status span.status,
+.messagelist tr > .status span.msgicon,
+.messagelist tr > .status span.deleted,
+.messagelist tr > .status span.unread,
+.messagelist tr > .status span.unreadchildren,
+.messagelist tr > .subject span.msgicon,
+.messagelist tr > .subject span.deleted,
+.messagelist tr > .subject span.unread,
+.messagelist tr > .subject span.replied,
+.messagelist tr > .subject span.forwarded,
+.messagelist tr > .subject span.unreadchildren
{
display: inline-block;
vertical-align: middle;
@@ -845,99 +697,99 @@ table.messagelist.fixedcopy
background: url(images/messageicons.png) center no-repeat;
}
-.messagelist tr td.attachment span.attachment
+.messagelist tr > .attachment span.attachment
{
background-position: 0 -170px;
}
-.messagelist tr td.attachment span.report
+.messagelist tr > .attachment span.report
{
background-position: 0 -255px;
}
-.messagelist tr td.priority span.priority
+.messagelist tr > .priority span.priority
{
background-position: 0 -309px;
}
-.messagelist tr td.priority span.prio5
+.messagelist tr > .priority span.prio5
{
background-position: 0 -358px;
}
-.messagelist tr td.priority span.prio4
+.messagelist tr > .priority span.prio4
{
background-position: 0 -340px;
}
-.messagelist tr td.priority span.prio3
+.messagelist tr > .priority span.prio3
{
background-position: 0 -324px;
}
-.messagelist tr td.priority span.prio2
+.messagelist tr > .priority span.prio2
{
background-position: 0 -309px;
}
-.messagelist tr td.priority span.prio1
+.messagelist tr > .priority span.prio1
{
background-position: 0 -290px;
}
-.messagelist tr td.flag span.flagged
+.messagelist tr > .flag span.flagged
{
background-position: 0 -153px;
}
-.messagelist tr td.flag span.unflagged:hover
+.messagelist tr > .flag span.unflagged:hover
{
background-position: 0 -136px;
}
-.messagelist tr td.subject span.msgicon,
-.messagelist tr td.subject span.unreadchildren
+.messagelist tr > .subject span.msgicon,
+.messagelist tr > .subject span.unreadchildren
{
background-position: 0 -51px;
margin: 0 2px;
}
-.messagelist tr td.subject span.replied
+.messagelist tr > .subject span.replied
{
background-position: 0 -85px;
}
-.messagelist tr td.subject span.forwarded
+.messagelist tr > .subject span.forwarded
{
background-position: 0 -68px;
}
-.messagelist tr td.subject span.replied.forwarded
+.messagelist tr > .subject span.replied.forwarded
{
background-position: 0 -102px;
}
-.messagelist tr td.status span.msgicon,
-.messagelist tr td.flag span.unflagged,
-.messagelist tr td.status span.unreadchildren
+.messagelist tr > .status span.msgicon,
+.messagelist tr > .flag span.unflagged,
+.messagelist tr > .status span.unreadchildren
{
background-position: 0 17px; /* no icon */
}
-.messagelist tr td.status span.msgicon:hover
+.messagelist tr > .status span.msgicon:hover
{
background-position: 0 -272px;
}
-.messagelist tr td.status span.deleted,
-.messagelist tr td.subject span.deleted
+.messagelist tr > .status span.deleted,
+.messagelist tr > .subject span.deleted
{
background-position: 0 -187px;
}
-.messagelist tr td.status span.status,
-.messagelist tr td.status span.unread,
-.messagelist tr td.subject span.unread
+.messagelist tr > .status span.status,
+.messagelist tr > .status span.unread,
+.messagelist tr > .subject span.unread
{
background-position: 0 -119px;
}
@@ -954,10 +806,13 @@ table.messagelist.fixedcopy
cursor: pointer;
}
-.messagelist tr td.threads div.listmenu
+.messagelist tr > .threads .listmenu
{
background-position: 0 -238px;
cursor: pointer;
+ overflow: hidden;
+ text-indent: -5000px;
+ display: block;
}
.messagelist tbody tr td.subject
@@ -977,45 +832,45 @@ table.messagelist.fixedcopy
text-decoration: underline;
}
-.messagelist tr td.attachment,
-.messagelist tr td.threads,
-.messagelist tr td.status,
-.messagelist tr td.flag,
-.messagelist tr td.priority
+.messagelist tr > .attachment,
+.messagelist tr > .threads,
+.messagelist tr > .status,
+.messagelist tr > .flag,
+.messagelist tr > .priority
{
width: 17px;
padding: 0 0 0 2px;
}
-.messagelist tr td.size
+.messagelist tr > .size
{
width: 60px;
text-align: right;
padding: 0 2px;
}
-.messagelist tr td.fromto,
-.messagelist tr td.from,
-.messagelist tr td.to,
-.messagelist tr td.cc,
-.messagelist tr td.replyto
+.messagelist tr > .fromto,
+.messagelist tr > .from,
+.messagelist tr > .to,
+.messagelist tr > .cc,
+.messagelist tr > .replyto
{
width: 180px;
padding: 0 2px;
}
-.messagelist tr td.date
+.messagelist tr > .date
{
width: 135px;
padding: 0 2px;
}
-.messagelist tr td.folder
+.messagelist tr > .folder
{
width: 135px;
}
-.messagelist tr td.hidden
+.messagelist tr > .hidden
{
display: none;
}
@@ -1038,6 +893,7 @@ table.messagelist.fixedcopy
}
/* This padding-left minus the focused padding left should be half of the focused border-left */
+.messagelist thead tr th:first-child,
.messagelist thead tr td:first-child,
.messagelist tbody tr td:first-child {
border-left: 0;
@@ -1058,21 +914,15 @@ table.messagelist.fixedcopy
.messagelist tr.selected td
{
color: #FFFFFF;
- background-color: #CC3333;
-}
-
-.messagelist tr.unfocused td
-{
- color: #FFFFFF;
background-color: #929292;
}
-.messagelist tr.selected td a
+.messagelist.focus tr.selected td
{
- color: #FFFFFF;
+ background-color: #CC3333;
}
-.messagelist tr.unfocused td a
+.messagelist tr.selected td a
{
color: #FFFFFF;
}
@@ -1306,17 +1156,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
@@ -1330,8 +1175,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
@@ -1348,16 +1195,6 @@ div.message-part blockquote blockquote blockquote
border-right: 2px solid #bb0000;
}
-body.iframe div.message-htmlpart
-{
- margin: 8px;
-}
-
-div.message-htmlpart div.rcmBody
-{
- margin: 8px;
-}
-
#messagebody span.part-notice
{
display: block;
@@ -1564,17 +1401,6 @@ div.hide-headers
outline: none;
}
-#compose-body_tbl,
-#compose-body_tbl td
-{
- border: none;
-}
-
-#compose-body_tbl tr.mceFirst td.mceToolbar
-{
- border-bottom: 1px solid #ccc;
-}
-
#compose-headers
{
width: 100%;
@@ -1863,7 +1689,7 @@ input.from_address
color: #999;
}
-#compose-contacts #quicksearchbar
+#compose-contacts .searchbox
{
top: 2px;
left: 7px;
diff --git a/skins/classic/print.css b/skins/classic/print.css
index d7e332dba..8eac41f53 100644
--- a/skins/classic/print.css
+++ b/skins/classic/print.css
@@ -100,17 +100,12 @@ div.message-part a
color: #0000CC;
}
-div.message-part pre,
-div.message-htmlpart pre,
div.message-part div.pre
{
margin: 0;
padding: 0;
font-family: monospace;
- white-space: -moz-pre-wrap !important;
- white-space: pre-wrap !important;
- white-space: pre;
- word-wrap: break-word; /* IE (and Safari) */
+ font-size: 12px;
}
div.message-part blockquote
@@ -119,8 +114,8 @@ 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;
}
div.message-part blockquote blockquote
@@ -164,4 +159,3 @@ p.image-attachment .attachment-links
{
display: none;
}
-
diff --git a/skins/classic/settings.css b/skins/classic/settings.css
index acd0b9fd0..9dda7bb8d 100644
--- a/skins/classic/settings.css
+++ b/skins/classic/settings.css
@@ -11,27 +11,26 @@
background-color: #FFFFA6;
}
-#identities-table,
-#subscription-table,
-#sections-table
-{
- width: 100%;
- table-layout: fixed;
+#folderlist-title a.iconbutton.search {
+ background: url(images/icons/glass.png) no-repeat 0 0;
+ cursor: pointer;
+ position: absolute;
+ right: 4px;
+ top: 2px;
+ width: 16px;
+ text-indent: 50000px;
}
-#subscription-table input
-{
- font: inherit;
+.listsearchbox select {
+ width: 100%;
+ margin: 1px 0;
}
-#subscription-table tbody td,
-#identities-table tbody td,
-#sections-table tbody td
+#identities-table,
+#sections-table
{
- cursor: default;
- text-overflow: ellipsis;
- -o-text-overflow: ellipsis;
- height: 18px;
+ width: 100%;
+ table-layout: fixed;
}
#identities-table tbody tr.readonly td
@@ -39,37 +38,24 @@
font-style: italic;
}
-#subscription-table tr.virtual td
-{
- color: #666;
-}
-
-#subscription-table tr.root td
+#subscription-table li.root
{
- font-size: 10%;
+ font-size: 5%;
+ line-height: 5px;
height: 5px;
+ padding: 2px;
}
-#subscription-table tr.selected td
-{
- color: #FFFFFF;
- background-color: #CC3333;
-}
-
-#subscription-table tr.droptarget td
-{
- background-color: #FFFFA6;
-}
-
-#subscription-table td.name
-{
- width: auto;
+#subscription-table li input {
+ position: absolute;
+ right: 0;
+ top: 2px;
}
-#subscription-table td.subscribed
-{
- text-align: right;
- padding-right: 12px;
+#subscription-table li a {
+ padding-right: 20px;
+ overflow: hidden;
+ text-overflow: ellipsis;
}
#folder-box,
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 98658f28b..0af5e4317 100644
--- a/skins/classic/templates/addressbook.html
+++ b/skins/classic/templates/addressbook.html
@@ -61,9 +61,10 @@
<div id="directorylist-title" class="boxtitle"><roundcube:label name="groups" /></div>
<div id="directorylist-content" class="boxlistcontent">
<roundcube:object name="directorylist" id="directorylist" class="treelist" />
+ <roundcube:object name="savedsearchlist" id="savedsearchlist" class="treelist" />
</div>
<div id="directorylist-footer" class="boxfooter">
- <roundcube:button command="group-create" type="link" title="newcontactgroup" class="buttonPas addgroup" classAct="button addgroup" content=" " />
+ <roundcube:button command="group-create" type="link" title="newgroup" class="buttonPas addgroup" classAct="button addgroup" content=" " />
<roundcube:button name="groupmenulink" id="groupmenulink" type="link" title="moreactions" class="button groupactions" onclick="rcmail_ui.show_popup('groupmenu');return false" content=" " />
</div>
</div>
diff --git a/skins/classic/templates/compose.html b/skins/classic/templates/compose.html
index c43adbc27..1515eeb06 100644
--- a/skins/classic/templates/compose.html
+++ b/skins/classic/templates/compose.html
@@ -50,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" />
@@ -202,8 +202,8 @@
<li><label class="comment"><roundcube:label name="insertresponse" /></label></li>
<roundcube:object name="responseslist" id="responseslist" tagname="ul" itemclass="active" />
<li><label class="comment"><roundcube:label name="manageresponses" /></label></li>
- <li><roundcube:button command="save-response" type="link" label="savenewresponse" classAct="active" unselectable="on" /></li>
- <li><roundcube:button command="responses" type="link" label="editresponses" classAct="active" /></li>
+ <roundcube:button command="save-response" type="link-menuitem" label="newresponse" classAct="active" unselectable="on" />
+ <roundcube:button command="responses" type="link-menuitem" label="editresponses" classAct="active" />
</ul>
</div>
diff --git a/skins/classic/templates/folders.html b/skins/classic/templates/folders.html
index f00c23b22..4d709f8d2 100644
--- a/skins/classic/templates/folders.html
+++ b/skins/classic/templates/folders.html
@@ -19,10 +19,21 @@
<div id="mainscreen">
<div id="folder-manager">
-<div id="folderlist-title" class="boxtitle"><span class="rightalign"><roundcube:label name="subscribed" /></span><roundcube:label name="folders" /></div>
+<div id="folderlist-title" class="boxtitle">
+ <roundcube:label name="folders" />
+ <a href="#folders" class="iconbutton search" title="<roundcube:label name='findfolders' />" tabindex="0"><roundcube:label name='findfolders' /></a>
+</div>
+<div class="listsearchbox">
+ <roundcube:object name="folderfilter" id="folderlist-filter" />
+ <div class="searchbox" role="search">
+ <input type="text" name="q" id="foldersearch" placeholder="<roundcube:label name='findfolders' />" />
+ <a class="iconbutton searchicon"></a>
+ <roundcube:button command="reset-foldersearch" id="folderlistsearch-reset" class="iconbutton reset" title="resetsearch" width="13" height="13" />
+ </div>
+</div>
<div id="folderlist-content" class="boxlistcontent">
- <roundcube:object name="foldersubscription" form="subscriptionform" id="subscription-table" noheader="true"
- cellpadding="1" cellspacing="0" summary="Folder subscription table" class="records-table" />
+ <roundcube:object name="foldersubscription" form="subscriptionform" id="subscription-table"
+ summary="Folder subscription table" class="treelist folderlist" />
</div>
<div id="folderlist-footer" class="boxfooter">
<roundcube:button command="create-folder" type="link" title="createfolder" class="buttonPas addgroup" classAct="button addgroup" content=" " />
diff --git a/skins/classic/templates/mail.html b/skins/classic/templates/mail.html
index 7a169c8ab..7f1e1b8bd 100644
--- a/skins/classic/templates/mail.html
+++ b/skins/classic/templates/mail.html
@@ -24,7 +24,7 @@
<div id="mailboxlist-container">
<div id="mailboxlist-title" class="boxtitle"><roundcube:label name="mailboxlist" /></div>
<div id="mailboxlist-content" class="boxlistcontent">
-<roundcube:object name="mailboxlist" id="mailboxlist" class="treelist" folder_filter="mail" />
+ <roundcube:object name="mailboxlist" id="mailboxlist" class="treelist folderlist" folder_filter="mail" />
</div>
<div id="mailboxlist-footer" class="boxfooter">
<roundcube:button name="mailboxmenulink" id="mailboxmenulink" type="link" title="folderactions" class="button groupactions" onclick="rcmail_ui.show_popup('mailboxmenu');return false" content=" " />
@@ -148,7 +148,7 @@
</ul>
</div>
-<div id="listmenu" class="popupmenu">
+<div id="listmenu" style="display: none">
<roundcube:if condition="env:threads" />
<fieldset class="thinbordered"><legend><roundcube:label name="listmode" /></legend>
<ul class="toolbarmenu">
@@ -200,10 +200,6 @@
</ul>
</fieldset>
<roundcube:endif />
-<div>
- <roundcube:button command="menu-open" id="listmenucancel" type="input" class="button" label="cancel" />
- <roundcube:button command="menu-save" id="listmenusave" type="input" class="button mainaction" label="save" />
-</div>
</div>
<roundcube:object name="messageimportform" id="upload-form" attachmentFieldSize="40" class="popupmenu" />
diff --git a/skins/classic/templates/message.html b/skins/classic/templates/message.html
index 088b7018d..1181b4c16 100644
--- a/skins/classic/templates/message.html
+++ b/skins/classic/templates/message.html
@@ -28,7 +28,7 @@
<div id="mailboxlist-container">
<div id="mailboxlist-title" class="boxtitle"><roundcube:label name="mailboxlist" /></div>
<div class="boxlistcontent">
- <roundcube:object name="mailboxlist" id="mailboxlist" class="treelist" folder_filter="mail" />
+ <roundcube:object name="mailboxlist" id="mailboxlist" class="treelist folderlist" folder_filter="mail" />
</div>
<div class="boxfooter"></div>
</div>
diff --git a/skins/classic/templates/messagepreview.html b/skins/classic/templates/messagepreview.html
index 82414c420..869f03f65 100644
--- a/skins/classic/templates/messagepreview.html
+++ b/skins/classic/templates/messagepreview.html
@@ -28,8 +28,8 @@
<div id="attachmentmenu" class="popupmenu">
<ul class="toolbarmenu">
- <li><roundcube:button command="open-attachment" id="attachmenuopen" type="link" label="open" class="openlink" classAct="openlink active" innerclass="openlink" /></li>
- <li><roundcube:button command="download-attachment" id="attachmenudownload" type="link" label="download" class="downloadlink" classAct="downloadlink active" innerclass="downloadlink" /></li>
+ <roundcube:button command="open-attachment" id="attachmenuopen" type="link-menuitem" label="open" class="openlink" classAct="openlink active" innerclass="openlink" />
+ <roundcube:button command="download-attachment" id="attachmenudownload" type="link-menuitem" label="download" class="downloadlink" classAct="downloadlink active" innerclass="downloadlink" />
<roundcube:container name="attachmentmenu" id="attachmentmenu" />
</ul>
</div>