diff options
author | Cyrill von Wattenwyl <cvw@adfinis.com> | 2014-09-02 11:20:52 +0200 |
---|---|---|
committer | Cyrill von Wattenwyl <cvw@adfinis.com> | 2014-09-02 11:20:52 +0200 |
commit | 11a40dd1fef6c5b78b054617caba4325f95ee386 (patch) | |
tree | de2e1d7efd6423ef4d1256dd5c90a972ad172719 /skins/classic | |
parent | 187fd666aa2f32dedfe544d69b7cb213698197f2 (diff) | |
parent | ba084313bfc9c7a5a83e0611fe4376543cc1653d (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.css | 47 | ||||
-rw-r--r-- | skins/classic/common.css | 320 | ||||
-rw-r--r-- | skins/classic/editor_content.css | 31 | ||||
-rw-r--r-- | skins/classic/functions.js | 234 | ||||
-rw-r--r-- | skins/classic/images/filedrop.png | bin | 0 -> 605 bytes | |||
-rw-r--r-- | skins/classic/includes/links.html | 1 | ||||
-rw-r--r-- | skins/classic/includes/messagetoolbar.html | 30 | ||||
-rw-r--r-- | skins/classic/mail.css | 358 | ||||
-rw-r--r-- | skins/classic/print.css | 12 | ||||
-rw-r--r-- | skins/classic/settings.css | 68 | ||||
-rw-r--r-- | skins/classic/templates/about.html | 2 | ||||
-rw-r--r-- | skins/classic/templates/addressbook.html | 3 | ||||
-rw-r--r-- | skins/classic/templates/compose.html | 6 | ||||
-rw-r--r-- | skins/classic/templates/folders.html | 17 | ||||
-rw-r--r-- | skins/classic/templates/mail.html | 8 | ||||
-rw-r--r-- | skins/classic/templates/message.html | 2 | ||||
-rw-r--r-- | skins/classic/templates/messagepreview.html | 4 |
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 Binary files differnew file mode 100644 index 000000000..d4d455bdf --- /dev/null +++ b/skins/classic/images/filedrop.png 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 © 2005-2013, The Roundcube Dev Team</p> +<p class="copyright">Copyright © 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> |