diff options
Diffstat (limited to 'plugins/managesieve/skins')
24 files changed, 1361 insertions, 0 deletions
diff --git a/plugins/managesieve/skins/classic/images/add.png b/plugins/managesieve/skins/classic/images/add.png Binary files differnew file mode 100644 index 000000000..97a6422fb --- /dev/null +++ b/plugins/managesieve/skins/classic/images/add.png diff --git a/plugins/managesieve/skins/classic/images/del.png b/plugins/managesieve/skins/classic/images/del.png Binary files differnew file mode 100644 index 000000000..518905bc4 --- /dev/null +++ b/plugins/managesieve/skins/classic/images/del.png diff --git a/plugins/managesieve/skins/classic/images/down_small.gif b/plugins/managesieve/skins/classic/images/down_small.gif Binary files differnew file mode 100644 index 000000000..f865893f4 --- /dev/null +++ b/plugins/managesieve/skins/classic/images/down_small.gif diff --git a/plugins/managesieve/skins/classic/images/erase.png b/plugins/managesieve/skins/classic/images/erase.png Binary files differnew file mode 100644 index 000000000..ddd3a9782 --- /dev/null +++ b/plugins/managesieve/skins/classic/images/erase.png diff --git a/plugins/managesieve/skins/classic/images/filter.png b/plugins/managesieve/skins/classic/images/filter.png Binary files differnew file mode 100644 index 000000000..a79ba1083 --- /dev/null +++ b/plugins/managesieve/skins/classic/images/filter.png diff --git a/plugins/managesieve/skins/classic/images/up_small.gif b/plugins/managesieve/skins/classic/images/up_small.gif Binary files differnew file mode 100644 index 000000000..40deb891f --- /dev/null +++ b/plugins/managesieve/skins/classic/images/up_small.gif diff --git a/plugins/managesieve/skins/classic/managesieve.css b/plugins/managesieve/skins/classic/managesieve.css new file mode 100644 index 000000000..5e7ea1a1c --- /dev/null +++ b/plugins/managesieve/skins/classic/managesieve.css @@ -0,0 +1,440 @@ +#filtersetslistbox +{ + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 195px; + border: 1px solid #999999; + background-color: #F9F9F9; + overflow: hidden; + /* css hack for IE */ + height: expression(parseInt(this.parentNode.offsetHeight)+'px'); +} + +#filtersscreen +{ + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 205px; + /* css hack for IE */ + height: expression(parseInt(this.parentNode.offsetHeight)+'px'); +} + +#filterslistbox +{ + position: absolute; + left: 0; + top: 0; + bottom: 0; + border: 1px solid #999999; + overflow: auto; + /* css hack for IE */ + height: expression(parseInt(this.parentNode.offsetHeight)+'px'); +} + +#filterslist, +#filtersetslist +{ + width: 100%; + table-layout: fixed; +} + +#filterslist tbody td, +#filtersetslist tbody td +{ + cursor: default; + text-overflow: ellipsis; + -o-text-overflow: ellipsis; +} + +#filterslist tbody tr.disabled td, +#filtersetslist tbody tr.disabled td +{ + color: #999999; +} + +#filtersetslist tbody td +{ + font-weight: bold; +} +/* +#filtersetslist tr.selected +{ + background-color: #929292; + border-bottom: 1px solid #898989; + color: #FFF; + font-weight: bold; +} +*/ + +#filterslist tbody tr.filtermoveup td +{ + border-top: 2px dotted #555; + padding-top: 0px; +} + +#filterslist tbody tr.filtermovedown td +{ + border-bottom: 2px dotted #555; + padding-bottom: 1px; +} + +#filter-box +{ + position: absolute; + top: 0; + right: 0; + bottom: 0; + border: 1px solid #999999; + overflow: hidden; + /* css hack for IE */ + width: expression((parseInt(this.parentNode.offsetWidth)-20-parseInt(document.getElementById('filterslistbox').offsetWidth))+'px'); + height: expression(parseInt(this.parentNode.offsetHeight)+'px'); +} + +#filter-frame +{ + border: none; +} + +body.iframe +{ + min-width: 620px; + width: expression(Math.max(620, document.documentElement.clientWidth)+'px'); + background-color: #F2F2F2; +} + +#filter-form +{ + min-width: 550px; + width: expression(Math.max(550, document.documentElement.clientWidth)+'px'); + white-space: nowrap; + padding: 20px 10px 10px 10px; +} + +#filter-form legend, #filter-form label +{ + color: #666666; +} + +#rules, #actions +{ + margin-top: 5px; + padding: 0; + border-collapse: collapse; +} + +div.rulerow, div.actionrow +{ + width: auto; + padding: 2px; + white-space: nowrap; + border: 1px solid #F2F2F2; +} + +div.rulerow:hover, div.actionrow:hover +{ + padding: 2px; + white-space: nowrap; + background: #F9F9F9; + border: 1px solid silver; +} + +div.rulerow table, div.actionrow table +{ + padding: 0px; + min-width: 600px; + width: expression(Math.max(600, document.documentElement.clientWidth)+'px'); +} + +td +{ + vertical-align: top; +} + +td.advbutton +{ + width: 1%; +} + +td.advbutton a +{ + display: block; + padding-top: 14px; + height: 6px; + width: 12px; + text-decoration: none; +} + +td.advbutton a.show +{ + background: url(images/down_small.gif) center no-repeat; +} + +td.advbutton a.hide +{ + background: url(images/up_small.gif) center no-repeat; +} + +td.rowbuttons +{ + text-align: right; + white-space: nowrap; + width: 1%; +} + +td.rowactions +{ + white-space: nowrap; + width: 1%; + padding-top: 2px; +} + +td.rowtargets +{ + white-space: nowrap; + width: 98%; + padding-left: 3px; + padding-top: 2px; +} + +td.rowtargets > div +{ + vertical-align: top; + margin-top: 2px; +} + +td.rowtargets div.adv +{ + padding-top: 3px; +} + +td.rowtargets div.adv span.label +{ + display: inline-block; + padding-right: 10px; + min-width: 65px; +} + +td.rowtargets div a +{ + margin-left: 10px; +} + +html.mozilla #filter-form select +{ + padding-top: 3px; + padding-bottom: 3px; +} + +input.disabled, input.disabled:hover +{ + color: #999999; +} + +input.error, textarea.error +{ + background-color: #FFFF88; +} + +input.box, +input.radio +{ + border: 0; + margin-top: 0; +} + +select.operator_selector +{ + width: 200px; + vertical-align: top; +} + +td.rowtargets span, +span.label +{ + color: #666666; + font-size: 10px; + white-space: nowrap; +} + +td.rowtargets label +{ + color: black; +} + +#footer +{ + padding-top: 5px; + width: 100%; +} + +#footer .footerleft +{ + padding-left: 2px; + white-space: nowrap; + float: left; +} + +#footer .footerright +{ + padding-right: 2px; + white-space: nowrap; + text-align: right; + float: right; +} + +.itemlist +{ + line-height: 25px; +} + +.itemlist input +{ + vertical-align: middle; +} + +span.sieve.error +{ + color: red; +} + +a.button.add +{ + background: url(images/add.png) no-repeat; + width: 30px; + height: 20px; + margin-right: 4px; + display: inline-block; +} + +a.button.del +{ + background: url(images/del.png) no-repeat; + width: 30px; + height: 20px; + display: inline-block; +} + +a.button.disabled +{ + opacity: 0.35; + filter: alpha(opacity=35); + cursor: default; +} + +#filter-form select, +#filter-form input, +#filter-form textarea +{ + font-size: 11px; + vertical-align: middle; +} + +/* smart multi-row input field */ +.listarea +{ + border: 1px solid #666; + margin: 0; + padding: 1px; + display: inline-block; + max-height: 67px; + overflow-y: auto; + vertical-align: middle; +} + +td.rowtargets > span.listarea +{ + vertical-align: top; + margin-top: 2px; +} + +.listelement +{ + display: block; + white-space: nowrap; + background-color: #fff; + border-top: 1px solid #e2e2e2; + height: 16px; + padding: 0; + margin: 0; + overflow: hidden; + line-height: 16px; +} + +.listarea.error .listelement +{ + background-color: #FFFFC4; +} + +.listelement:first-child +{ + border-top: none; +} + +#filter-form .listelement input +{ + border: none; + border-radius: 0; + box-shadow: none; + outline: none; + vertical-align: top; + height: 16px; + padding-top: 0; + padding-bottom: 0; + line-height: 16px; + background-color: transparent; +} + +.listelement input:focus +{ + box-shadow: none; +} + +.listelement .reset +{ + display: inline-block; + width: 16px; + height: 16px; + background: url(images/erase.png) -1px 0 no-repeat #eee; + cursor: pointer; +} + + +/* fixes for popup window */ + +body.iframe.mail +{ + margin: 0; + padding: 0; +} + +body.iframe.mail #filter-form +{ + padding: 10px 5px 5px 5px; +} + +#vacationform .listarea { + max-height: 75px; +} + +#vacationform .listelement, +#vacationform .listelement .reset { + height: 18px; +} + +#vacationform .listelement .reset { + background-position: -1px 1px; +} + +#vacationform .listelement input { + vertical-align: top; + border: 0; +} + +#vacationform input.button { + margin-left: 10px; +} diff --git a/plugins/managesieve/skins/classic/managesieve_mail.css b/plugins/managesieve/skins/classic/managesieve_mail.css new file mode 100644 index 000000000..1ade4f790 --- /dev/null +++ b/plugins/managesieve/skins/classic/managesieve_mail.css @@ -0,0 +1,62 @@ +#messagemenu li a.filterlink { + background-image: url(images/filter.png); + background-position: 7px 1px; +} + +#sievefilterform { + top: 0; + bottom: 0; + left: 0; + right: 0; + background-color: #F2F2F2; + border: 1px solid #999999; + padding: 0; + margin: 5px; +} + +#sievefilterform iframe { + top: 0; + bottom: 0; + left: 0; + right: 0; + width: 100%; + min-height: 100%; /* Chrome 14 bug */ + background-color: #F2F2F2; + border: 0; + padding: 0; + margin: 0; +} + +#sievefilterform ul { + list-style: none; + padding: 0; + margin: 0; + margin-top: 5px; +} + +#sievefilterform fieldset { + margin: 5px; +} + +#sievefilterform ul li { + margin-bottom: 5px; + white-space: nowrap; +} + +#sievefilterform ul li input { + margin-right: 5px; +} + +#sievefilterform label { + font-weight: bold; +} + +#managesieve-tip +{ + z-index: 100000; +} + +span.sieve.error +{ + color: red; +} diff --git a/plugins/managesieve/skins/classic/templates/filteredit.html b/plugins/managesieve/skins/classic/templates/filteredit.html new file mode 100644 index 000000000..8cef81682 --- /dev/null +++ b/plugins/managesieve/skins/classic/templates/filteredit.html @@ -0,0 +1,32 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title><roundcube:object name="pagetitle" /></title> +<roundcube:include file="/includes/links.html" /> +</head> +<body class="iframe<roundcube:exp expression="env:task != 'mail' ? '' : ' mail'" />"> + +<roundcube:if condition="env:task != 'mail'" /> +<div id="filter-title" class="boxtitle"><roundcube:label name="managesieve.filterdef" /></div> +<roundcube:endif /> + +<div id="filter-form" class="boxcontent"> +<roundcube:object name="filterform" /> + +<roundcube:if condition="env:task != 'mail'" /> +<div id="footer"> +<div class="footerleft"> +<roundcube:button command="plugin.managesieve-save" type="input" class="button mainaction" label="save" /> +</div> +<div class="footerright"> +<label for="disabled"><roundcube:label name="managesieve.filterdisabled" /></label> +<input type="checkbox" id="disabled" name="_disabled" value="1" /> +</div> +</div> +<roundcube:endif /> + +</form> +</div> + +</body> +</html> diff --git a/plugins/managesieve/skins/classic/templates/managesieve.html b/plugins/managesieve/skins/classic/templates/managesieve.html new file mode 100644 index 000000000..6489d23b4 --- /dev/null +++ b/plugins/managesieve/skins/classic/templates/managesieve.html @@ -0,0 +1,85 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title><roundcube:object name="pagetitle" /></title> +<roundcube:include file="/includes/links.html" /> +<script type="text/javascript" src="/functions.js"></script> +<script type="text/javascript" src="/splitter.js"></script> + +<style type="text/css"> +#filterslistbox { width: <roundcube:exp expression="!empty(cookie:sieveviewsplitter) ? cookie:sieveviewsplitter-5 : 210" />px; } +#filter-box { left: <roundcube:exp expression="!empty(cookie:sieveviewsplitter) ? cookie:sieveviewsplitter+5 : 220" />px; } +#filtersetslistbox { width: <roundcube:exp expression="!empty(cookie:sieveviewsplitter2) ? cookie:sieveviewsplitter2-5 : 175" />px; } +#filtersscreen { left: <roundcube:exp expression="!empty(cookie:sieveviewsplitter2) ? cookie:sieveviewsplitter2+5 : 185" />px; } +</style> + +</head> +<body> + +<roundcube:include file="/includes/taskbar.html" /> +<roundcube:include file="/includes/header.html" /> +<roundcube:include file="/includes/settingstabs.html" /> + +<div id="mainscreen"> + +<div id="filtersetslistbox"> +<div id="filtersetslist-title" class="boxtitle"><roundcube:label name="managesieve.filtersets" /></div> +<div class="boxlistcontent"> + <roundcube:object name="filtersetslist" id="filtersetslist" class="records-table" cellspacing="0" summary="Filters list" type="list" noheader="true" /> +</div> +<div class="boxfooter"> + <roundcube:button command="plugin.managesieve-setadd" type="link" title="managesieve.filtersetadd" class="buttonPas addfilterset" classAct="button addfilterset" content=" " /> + <roundcube:button name="filtersetmenulink" id="filtersetmenulink" type="link" title="moreactions" class="button groupactions" onclick="rcmail_ui.show_popup('filtersetmenu', undefined, {above:1});return false" content=" " /> +</div> +</div> + +<div id="filtersscreen"> +<div id="filterslistbox"> +<div class="boxtitle"><roundcube:label name="managesieve.filters" /></div> +<div class="boxlistcontent"> + <roundcube:object name="filterslist" id="filterslist" class="records-table" cellspacing="0" summary="Filters list" noheader="true" /> +</div> +<div class="boxfooter"> + <roundcube:button command="plugin.managesieve-add" type="link" title="managesieve.filteradd" class="buttonPas addfilter" classAct="button addfilter" content=" " /> + <roundcube:button name="filtermenulink" id="filtermenulink" type="link" title="moreactions" class="button groupactions" onclick="rcmail_ui.show_popup('filtermenu', undefined, {above:1});return false" content=" " /> +</div> +</div> + +<script type="text/javascript"> + var sieveviewsplit2 = new rcube_splitter({id:'sieveviewsplitter2', p1: 'filtersetslistbox', p2: 'filtersscreen', orientation: 'v', relative: true, start: 200}); + rcmail.add_onload('sieveviewsplit2.init()'); + + var sieveviewsplit = new rcube_splitter({id:'sieveviewsplitter', p1: 'filterslistbox', p2: 'filter-box', orientation: 'v', relative: true, start: 215}); + rcmail.add_onload('sieveviewsplit.init()'); +</script> + +<div id="filter-box"> + <roundcube:object name="filterframe" id="filter-frame" width="100%" height="100%" frameborder="0" src="/watermark.html" /> +</div> + +</div> +</div> + +<div id="filtersetmenu" class="popupmenu"> + <ul> + <li><roundcube:button command="plugin.managesieve-setact" label="managesieve.enable" classAct="active" /></li> + <li><roundcube:button command="plugin.managesieve-setdel" label="delete" classAct="active" /></li> + <li class="separator_above"><roundcube:button command="plugin.managesieve-setget" label="download" classAct="active" /></li> + <roundcube:container name="filtersetoptions" id="filtersetmenu" /> + </ul> +</div> + +<div id="filtermenu" class="popupmenu"> + <ul> + <li><roundcube:button command="plugin.managesieve-act" label="managesieve.enable" classAct="active" /></li> + <li><roundcube:button command="plugin.managesieve-del" label="delete" classAct="active" /></li> + <roundcube:container name="filteroptions" id="filtermenu" /> + </ul> +</div> + +<script type="text/javascript"> +rcube_init_mail_ui(); +</script> + +</body> +</html> diff --git a/plugins/managesieve/skins/classic/templates/setedit.html b/plugins/managesieve/skins/classic/templates/setedit.html new file mode 100644 index 000000000..c1010cae6 --- /dev/null +++ b/plugins/managesieve/skins/classic/templates/setedit.html @@ -0,0 +1,23 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title><roundcube:object name="pagetitle" /></title> +<roundcube:include file="/includes/links.html" /> +</head> +<body class="iframe"> + +<div id="filter-title" class="boxtitle"><roundcube:label name="managesieve.newfilterset" /></div> + +<div id="filter-form" class="boxcontent"> +<roundcube:object name="filtersetform" /> + +<p> +<roundcube:button command="plugin.managesieve-save" type="input" class="button mainaction" label="save" /> +</p> + +</form> +</div> + + +</body> +</html> diff --git a/plugins/managesieve/skins/classic/templates/vacation.html b/plugins/managesieve/skins/classic/templates/vacation.html new file mode 100644 index 000000000..26e408eef --- /dev/null +++ b/plugins/managesieve/skins/classic/templates/vacation.html @@ -0,0 +1,31 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title><roundcube:object name="pagetitle" /></title> +<roundcube:include file="/includes/links.html" /> +<script type="text/javascript" src="/functions.js"></script> +</head> +<body> + +<roundcube:include file="/includes/taskbar.html" /> +<roundcube:include file="/includes/header.html" /> +<roundcube:include file="/includes/settingstabs.html" /> + +<div id="mainscreen"> + <div class="box" style="height: 100%; overflow: auto"> + <div id="prefs-title" class="boxtitle"><roundcube:label name="managesieve.vacation" /></div> + <roundcube:object name="vacationform" id="vacationform" style="margin: 10px 10px 0 10px" /> + <div id="formfooter" style="padding: 0 10px"> + <div class="footerleft"> + <roundcube:button command="plugin.managesieve-save" type="input" class="button mainaction" label="save" /> + </div> + </div> + </div> +</div> + +<script type="text/javascript"> +rcube_init_mail_ui(); +</script> + +</body> +</html> diff --git a/plugins/managesieve/skins/larry/images/add.png b/plugins/managesieve/skins/larry/images/add.png Binary files differnew file mode 100644 index 000000000..97a6422fb --- /dev/null +++ b/plugins/managesieve/skins/larry/images/add.png diff --git a/plugins/managesieve/skins/larry/images/del.png b/plugins/managesieve/skins/larry/images/del.png Binary files differnew file mode 100644 index 000000000..518905bc4 --- /dev/null +++ b/plugins/managesieve/skins/larry/images/del.png diff --git a/plugins/managesieve/skins/larry/images/down_small.gif b/plugins/managesieve/skins/larry/images/down_small.gif Binary files differnew file mode 100644 index 000000000..f865893f4 --- /dev/null +++ b/plugins/managesieve/skins/larry/images/down_small.gif diff --git a/plugins/managesieve/skins/larry/images/erase.png b/plugins/managesieve/skins/larry/images/erase.png Binary files differnew file mode 100644 index 000000000..ddd3a9782 --- /dev/null +++ b/plugins/managesieve/skins/larry/images/erase.png diff --git a/plugins/managesieve/skins/larry/images/up_small.gif b/plugins/managesieve/skins/larry/images/up_small.gif Binary files differnew file mode 100644 index 000000000..40deb891f --- /dev/null +++ b/plugins/managesieve/skins/larry/images/up_small.gif diff --git a/plugins/managesieve/skins/larry/images/vacation_icons.png b/plugins/managesieve/skins/larry/images/vacation_icons.png Binary files differnew file mode 100644 index 000000000..f8933d487 --- /dev/null +++ b/plugins/managesieve/skins/larry/images/vacation_icons.png diff --git a/plugins/managesieve/skins/larry/managesieve.css b/plugins/managesieve/skins/larry/managesieve.css new file mode 100644 index 000000000..d5098e0ce --- /dev/null +++ b/plugins/managesieve/skins/larry/managesieve.css @@ -0,0 +1,459 @@ +#filtersetslistbox +{ + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 150px; +} + +#filtersscreen +{ + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 162px; +} + +#filterslistbox +{ + position: absolute; + left: 0; + top: 0; + bottom: 0; + width: 180px; +} + +#filter-box +{ + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 192px; +} + +#filter-frame +{ + border-radius: 4px; +} + +#filterslist, +#filtersetslist +{ + width: 100%; + table-layout: fixed; +} + +#filterslist tbody td, +#filtersetslist tbody td +{ + width: 100%; + overflow: hidden; + text-overflow: ellipsis; +} + +#filterslist tbody tr.disabled td, +#filtersetslist tbody tr.disabled td +{ + color: #87A3AA; +} + +#filtersetslist tbody td +{ + font-weight: bold; +} + +#filterslist tbody tr.filtermoveup td +{ + border-top: 2px dotted #555 !important; + padding-top: 5px; +} + +#filterslist tbody tr.filtermovedown td +{ + border-bottom: 2px dotted #555 !important; + padding-bottom: 4px; +} + +body.iframe +{ + min-width: 620px; +} + +#filter-form +{ + min-width: 550px; + white-space: nowrap; + padding: 20px 10px 10px 10px; +} + +#filter-form legend, #filter-form label +{ + color: #666666; +} + +#rules, #actions +{ + margin-top: 5px; + padding: 0; + border-collapse: collapse; +} + +div.rulerow, div.actionrow +{ + width: auto; + padding: 2px; + white-space: nowrap; + border: 1px solid white; +} + +div.rulerow:hover, div.actionrow:hover +{ + padding: 2px; + white-space: nowrap; + background-color: #D9ECF4; + border: 1px solid #BBD3DA; + border-radius: 4px; +} + +div.rulerow table, div.actionrow table +{ + padding: 0px; + min-width: 600px; +} + +#filter-form td +{ + vertical-align: top; +} + +td.advbutton +{ + width: 1%; +} + +td.advbutton a +{ + display: block; + padding-top: 14px; + height: 6px; + width: 12px; + text-decoration: none; +} + +td.advbutton a.show +{ + background: url(images/down_small.gif) center no-repeat; +} + +td.advbutton a.hide +{ + background: url(images/up_small.gif) center no-repeat; +} + +td.rowbuttons +{ + text-align: right; + white-space: nowrap; + width: 1%; +} + +td.rowactions +{ + white-space: nowrap; + width: 1%; + padding-top: 2px; +} + +td.rowtargets +{ + white-space: nowrap; + width: 98%; + padding-left: 3px; + padding-top: 2px; +} + +td.rowtargets > div +{ + vertical-align: top; + margin-top: 2px; +} + +td.rowtargets div.adv +{ + padding-top: 3px; + font-size: 10px; +} + +td.rowtargets div.adv span.label +{ + display: inline-block; + padding-right: 5px; + min-width: 70px; +} + +td.rowtargets div a { + margin-left: 10px; +} + +input.disabled, input.disabled:hover +{ + color: #999999; +} + +input.error, textarea.error +{ + background-color: #FFFFC4; +} + +input.box, +input.radio +{ + border: 0; + margin-top: 0; +} + +input.radio +{ + vertical-align: middle; +} + +select.operator_selector +{ + width: 200px; + vertical-align: top; +} + +td.rowtargets span, +span.label +{ + color: #666666; + font-size: 10px; + white-space: nowrap; +} + +td.rowtargets label +{ + color: black; +} + +#footer +{ + padding-top: 5px; + width: 100%; +} + +#footer .footerleft label +{ + margin-left: 40px; + white-space: nowrap; +} + +.itemlist +{ + line-height: 25px; +} + +.itemlist input +{ + vertical-align: middle; +} + +span.sieve.error +{ + color: red; + white-space: nowrap; +} + +#managesieve-tip +{ + padding: 3px; + background-color: #eee; +} + +a.button +{ + margin: 0; + padding: 0; +} + +a.button.add +{ + background: url(images/add.png) no-repeat; + width: 30px; + height: 20px; + margin-right: 4px; + display: inline-block; +} + +a.button.del +{ + background: url(images/del.png) no-repeat; + width: 30px; + height: 20px; + display: inline-block; +} + +a.button.disabled +{ + opacity: 0.35; + filter: alpha(opacity=35); + cursor: default; +} + +#filter-form select, +#filter-form input, +#filter-form textarea +{ + font-size: 11px; + padding: 1px; + vertical-align: middle; + max-width: 280px; +} + +/* revert larry style button */ +#filter-form input.button +{ + padding: 4px 12px; +} + +fieldset +{ + border-radius: 4px; +} + +/* smart multi-row input field */ +.listarea +{ + border: 1px solid #B2B2B2; + border-radius: 4px; + box-shadow: inset 0 0 2px 1px rgba(0,0,0, 0.1); + -webkit-box-shadow: inset 0 0 2px 1px rgba(0,0,0, 0.1); + margin: 0; + padding: 2px; + display: inline-block; + max-height: 59px; + overflow-y: auto; + vertical-align: middle; +} + +td.rowtargets > span.listarea +{ + vertical-align: top; + margin-top: 2px; +} + +.listelement +{ + display: block; + white-space: nowrap; + background-color: #fff; + border-top: 1px solid #e2e2e2; + height: 14px; + padding: 0; + margin: 0; + overflow: hidden; + line-height: 14px; +} + +.listarea.error .listelement +{ + background-color: #FFFFC4; +} + +.listelement:first-child +{ + border-top: none; +} + +#filter-form .listelement input +{ + border: none; + border-radius: 0; + box-shadow: none; + outline: none; + vertical-align: top; + height: 14px; + padding-top: 0; + padding-bottom: 0; + line-height: 14px; + background-color: transparent; +} + +.listelement input:focus +{ + box-shadow: none; +} + +.listelement .reset +{ + display: inline-block; + width: 16px; + height: 16px; + background: url(images/erase.png) -1px -1px no-repeat #eee; + cursor: pointer; +} + + +/* fixes for popup window */ + +body.iframe.mail +{ + margin: 0; + padding: 0; +} + +body.iframe.mail #filter-form +{ + padding: 10px 5px 5px 5px; +} + + +/* vacation form */ +#settings-sections .vacation a { + background-image: url(images/vacation_icons.png); + background-repeat: no-repeat; + background-position: 7px 1px; +} + +#settings-sections .vacation.selected a { + background-position: 7px -23px; +} + +#managesieve-vacation { + position: absolute; + top: 0; + left: 212px; + right: 0; + bottom: 0; + overflow: auto; +} + +#vacationform .listarea { + max-height: 91px; +} + +#vacationform .listelement, +#vacationform .listelement .reset { + height: 22px; +} + +#vacationform .listelement .reset { + background-position: -1px 3px; +} + +#vacationform .listelement input { + vertical-align: top; + border: 0; + box-shadow: none; +} + +#vacationform td.vacation { + white-space: nowrap; +} + +#vacationform input.button { + margin-left: 10px; +} diff --git a/plugins/managesieve/skins/larry/managesieve_mail.css b/plugins/managesieve/skins/larry/managesieve_mail.css new file mode 100644 index 000000000..855aa8e7d --- /dev/null +++ b/plugins/managesieve/skins/larry/managesieve_mail.css @@ -0,0 +1,62 @@ +ul.toolbarmenu li span.filterlink { + background-position: 0 -2174px; +} + +#sievefilterform { + top: 0; + bottom: 0; + left: 0; + right: 0; + padding: 0; + overflow: hidden; +} + +#sievefilterform iframe { + top: 0; + bottom: 0; + left: 0; + right: 0; + width: 100%; + min-height: 100%; /* Chrome 14 bug */ + border: 0; + padding: 0; + margin: 0; +} + +#sievefilterform ul { + list-style: none; + padding: 0; + margin: 0; + margin-top: 5px; +} + +#sievefilterform fieldset { + margin: 5px; + border-radius: 4px; +} + +#sievefilterform ul li { + margin-bottom: 5px; + white-space: nowrap; +} + +#sievefilterform ul li input { + margin-right: 5px; +} + +#sievefilterform label { + font-weight: bold; +} + +#managesieve-tip +{ + z-index: 100000; + padding: 3px; + background-color: #eee; +} + +span.sieve.error +{ + color: red; + white-space: nowrap; +} diff --git a/plugins/managesieve/skins/larry/templates/filteredit.html b/plugins/managesieve/skins/larry/templates/filteredit.html new file mode 100644 index 000000000..1933b58ae --- /dev/null +++ b/plugins/managesieve/skins/larry/templates/filteredit.html @@ -0,0 +1,32 @@ +<roundcube:object name="doctype" value="html5" /> +<html> +<head> +<title><roundcube:object name="pagetitle" /></title> +<roundcube:include file="/includes/links.html" /> +</head> +<body class="iframe<roundcube:exp expression="env:task != 'mail' ? ' floatingbuttons' : ' mail'" />"> + +<roundcube:if condition="env:task != 'mail'" /> +<div id="filter-title" class="boxtitle"><roundcube:label name="managesieve.filterdef" /></div> +<roundcube:endif /> + +<div id="filter-form" class="boxcontent"> +<roundcube:object name="filterform" /> + +<roundcube:if condition="env:task != 'mail'" /> +<div id="footer"> +<div class="footerleft formbuttons floating"> +<roundcube:button command="plugin.managesieve-save" type="input" class="button mainaction" label="save" /> +<label for="disabled"> +<input type="checkbox" id="disabled" name="_disabled" value="1" /> +<roundcube:label name="managesieve.filterdisabled" /> +</label> +</div> +</div> +<roundcube:endif /> + +</form> +</div> + +</body> +</html> diff --git a/plugins/managesieve/skins/larry/templates/managesieve.html b/plugins/managesieve/skins/larry/templates/managesieve.html new file mode 100644 index 000000000..494af6ae2 --- /dev/null +++ b/plugins/managesieve/skins/larry/templates/managesieve.html @@ -0,0 +1,79 @@ +<roundcube:object name="doctype" value="html5" /> +<html> +<head> +<title><roundcube:object name="pagetitle" /></title> +<roundcube:include file="/includes/links.html" /> +</head> +<roundcube:if condition="env:extwin" /><body class="noscroll extwin"><roundcube:else /><body class="noscroll"><roundcube:endif /> + +<roundcube:include file="/includes/header.html" /> + +<h1 class="voice"><roundcube:label name="settings" /> : <roundcube:label name="managesieve.filters" /></h1> + +<div id="mainscreen" class="offset"> + +<roundcube:include file="/includes/settingstabs.html" /> + +<div id="settings-right" role="main"> +<div id="filtersetslistbox" class="uibox listbox" aria-labelledby="aria-label-filtersets"> +<h2 class="boxtitle" id="aria-label-filtersets"><roundcube:label name="managesieve.filtersets" /></h2> +<div class="scroller withfooter"> + <roundcube:object name="filtersetslist" id="filtersetslist" class="listing" summary="managesieve.ariasummaryfiltersetslist" type="list" noheader="true" role="listbox" /> +</div> +<div class="boxfooter"> + <roundcube:button command="plugin.managesieve-setadd" type="link" title="managesieve.filtersetadd" class="listbutton add disabled" classAct="listbutton add" innerClass="inner" content="+" /><roundcube:button name="filtersetmenulink" id="filtersetmenulink" type="link" title="moreactions" class="listbutton groupactions" onclick="return UI.toggle_popup('filtersetmenu', event)" innerClass="inner" content="⚙" aria-haspopup="true" aria-expanded="false" aria-owns="filtersetmenu-menu" /> +</div> +</div> + +<div id="filtersscreen"> +<div id="filterslistbox" class="uibox listbox" aria-labelledby="aria-label-filters"> +<h2 class="boxtitle" id="aria-label-filters"><roundcube:label name="managesieve.filters" /></h2> +<div class="scroller withfooter"> + <roundcube:object name="filterslist" id="filterslist" class="listing" summary="managesieve.ariasummaryfilterslist" noheader="true" role="listbox" /> +</div> +<div class="boxfooter"> + <roundcube:button command="plugin.managesieve-add" type="link" title="managesieve.filteradd" class="listbutton add disabled" classAct="listbutton add" innerClass="inner" content="+" /><roundcube:button name="filtermenulink" id="filtermenulink" type="link" title="moreactions" class="listbutton groupactions" onclick="return UI.toggle_popup('filtermenu', event)" innerClass="inner" content="⚙" aria-haspopup="true" aria-expanded="false" aria-owns="filtermenu-menu" /> +</div> +</div> + +<div id="filter-box" class="uibox contentbox"> + <div class="iframebox" role="complementary" aria-labelledby="aria-label-filterform"> + <h2 id="aria-label-filterframe" class="voice"><roundcube:label name="managesieve.arialabelfilterform" /></h2> + <roundcube:object name="filterframe" id="filter-frame" style="width:100%; height:100%" frameborder="0" src="/watermark.html" title="managesieve.arialabelfilterform" /> + </div> +</div> + +</div> +</div> +</div> + +<div id="filtersetmenu" class="popupmenu" aria-hidden="true"> + <h3 id="aria-label-setactions" class="voice"><roundcube:label name="managesieve.arialabelfiltersetactions" /></h3> + <ul class="toolbarmenu" id="filtersetmenu-menu" role="menu" aria-labelledby="aria-label-setactions"> + <li role="menuitem"><roundcube:button command="plugin.managesieve-setact" label="managesieve.enable" classAct="active" /></li> + <li role="menuitem"><roundcube:button command="plugin.managesieve-setdel" label="delete" classAct="active" /></li> + <li role="menuitem" class="separator_above"><roundcube:button command="plugin.managesieve-setget" label="download" classAct="active" /></li> + <roundcube:container name="filtersetoptions" id="filtersetmenu" /> + </ul> +</div> + +<div id="filtermenu" class="popupmenu" aria-hidden="true"> + <h3 id="aria-label-filteractions" class="voice"><roundcube:label name="managesieve.arialabelfilteractions" /></h3> + <ul class="toolbarmenu" id="filtermenu-menu" role="menu" aria-labelledby="aria-label-filteractions"> + <li role="menuitem"><roundcube:button command="plugin.managesieve-act" label="managesieve.enable" classAct="active" /></li> + <li role="menuitem"><roundcube:button command="plugin.managesieve-del" label="delete" classAct="active" /></li> + <roundcube:container name="filteroptions" id="filtermenu" /> + </ul> +</div> + +<roundcube:include file="/includes/footer.html" /> + +<script type="text/javascript"> + new rcube_splitter({ id:'managesievesplitter1', p1:'#filtersetslistbox', p2:'#filtersscreen', + orientation:'v', relative:true, start:156, min:120, size:12 }).init(); + new rcube_splitter({ id:'managesievesplitter2', p1:'#filterslistbox', p2:'#filter-box', + orientation:'v', relative:true, start:186, min:120, size:12 }).init(); +</script> + +</body> +</html> diff --git a/plugins/managesieve/skins/larry/templates/setedit.html b/plugins/managesieve/skins/larry/templates/setedit.html new file mode 100644 index 000000000..3b8f98b36 --- /dev/null +++ b/plugins/managesieve/skins/larry/templates/setedit.html @@ -0,0 +1,24 @@ +<roundcube:object name="doctype" value="html5" /> +<html> +<head> +<title><roundcube:object name="pagetitle" /></title> +<roundcube:include file="/includes/links.html" /> +</head> +<body class="iframe floatingbuttons"> + +<div id="filter-title" class="boxtitle"><roundcube:label name="managesieve.newfilterset" /></div> + +<div id="filter-form" class="boxcontent"> +<roundcube:object name="filtersetform" /> + +<div id="footer"> +<div class="footerleft formbuttons floating"> +<roundcube:button command="plugin.managesieve-save" type="input" class="button mainaction" label="save" /> +</div> +</div> + +</form> +</div> + +</body> +</html> diff --git a/plugins/managesieve/skins/larry/templates/vacation.html b/plugins/managesieve/skins/larry/templates/vacation.html new file mode 100644 index 000000000..26dd2027b --- /dev/null +++ b/plugins/managesieve/skins/larry/templates/vacation.html @@ -0,0 +1,32 @@ +<roundcube:object name="doctype" value="html5" /> +<html> +<head> +<title><roundcube:object name="pagetitle" /></title> +<roundcube:include file="/includes/links.html" /> +</head> +<body class="noscroll"> + +<roundcube:include file="/includes/header.html" /> + +<div id="mainscreen" class="offset"> + +<h1 class="voice"><roundcube:label name="settings" /> : <roundcube:label name="managesieve.vacation" /></h1> + +<roundcube:include file="/includes/settingstabs.html" /> + +<div id="managesieve-vacation" class="uibox contentbox" role="main" aria-labelledby="aria-label-vacationform"> + <div> + <h2 class="boxtitle" id="aria-label-vacationform"><roundcube:label name="managesieve.vacation" /></h2> + <roundcube:object name="vacationform" id="vacationform" class="propform boxcontent tabbed" /> + </div> + <div class="footerleft formbuttons"> + <roundcube:button command="plugin.managesieve-save" type="input" class="button mainaction" label="save" /> + </div> +</div> + +</div> + +<roundcube:include file="/includes/footer.html" /> + +</body> +</html> |