summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralecpl <alec@alec.pl>2012-04-05 07:51:20 +0000
committeralecpl <alec@alec.pl>2012-04-05 07:51:20 +0000
commit8d8f7a7b8e7ea8464aa807611b3db320fab12156 (patch)
treee121b8aa834c93696090a469391b2fb7d386ce2f
parent07f4fff8aa223fa5efb0ed73bd5889706034d1fd (diff)
- Larry skin support
-rw-r--r--plugins/managesieve/Changelog1
-rw-r--r--plugins/managesieve/managesieve.js5
-rw-r--r--plugins/managesieve/managesieve.php5
-rw-r--r--plugins/managesieve/skins/default/managesieve.css5
-rw-r--r--plugins/managesieve/skins/default/managesieve_mail.css1
-rw-r--r--plugins/managesieve/skins/larry/images/add.pngbin0 -> 280 bytes
-rw-r--r--plugins/managesieve/skins/larry/images/del.pngbin0 -> 247 bytes
-rw-r--r--plugins/managesieve/skins/larry/images/down_small.gifbin0 -> 106 bytes
-rw-r--r--plugins/managesieve/skins/larry/images/up_small.gifbin0 -> 106 bytes
-rw-r--r--plugins/managesieve/skins/larry/managesieve.css319
-rw-r--r--plugins/managesieve/skins/larry/managesieve_mail.css62
-rw-r--r--plugins/managesieve/skins/larry/templates/filteredit.html33
-rw-r--r--plugins/managesieve/skins/larry/templates/managesieve.html73
-rw-r--r--plugins/managesieve/skins/larry/templates/setedit.html23
14 files changed, 517 insertions, 10 deletions
diff --git a/plugins/managesieve/Changelog b/plugins/managesieve/Changelog
index dc0e19591..1e6011064 100644
--- a/plugins/managesieve/Changelog
+++ b/plugins/managesieve/Changelog
@@ -1,5 +1,6 @@
- Fixed filter popup width (for non-english localizations)
- Fixed tokenizer infinite loop on invalid script content
+- Larry skin support
* version 5.0 [2012-01-05]
-----------------------------------------------------------
diff --git a/plugins/managesieve/managesieve.js b/plugins/managesieve/managesieve.js
index be65c448e..61883f6d2 100644
--- a/plugins/managesieve/managesieve.js
+++ b/plugins/managesieve/managesieve.js
@@ -674,7 +674,8 @@ rcube_webmail.prototype.managesieve_tip_register = function(tips)
function(e) {
var offset = $(this).offset(),
left = offset.left,
- top = offset.top - 12;
+ top = offset.top - 12,
+ minwidth = $(this).width();
if (framed) {
offset = $((rcmail.env.task == 'mail' ? '#sievefilterform > iframe' : '#filter-box'), parent.document).offset();
@@ -685,7 +686,7 @@ rcube_webmail.prototype.managesieve_tip_register = function(tips)
tip.html(e.data.str)
top -= tip.height();
- tip.css({left: left, top: top}).show();
+ tip.css({left: left, top: top, minWidth: (minwidth-2) + 'px'}).show();
})
.bind('mouseleave', function(e) { tip.hide(); });
}
diff --git a/plugins/managesieve/managesieve.php b/plugins/managesieve/managesieve.php
index 2ef57123a..c58dc8cab 100644
--- a/plugins/managesieve/managesieve.php
+++ b/plugins/managesieve/managesieve.php
@@ -128,8 +128,9 @@ class managesieve extends rcube_plugin
'command' => 'managesieve-create',
'label' => 'managesieve.filtercreate',
'type' => 'link',
- 'classact' => 'filterlink active',
- 'class' => 'filterlink',
+ 'classact' => 'icon filterlink active',
+ 'class' => 'icon filterlink',
+ 'innerclass' => 'icon filterlink',
))), 'messagemenu');
// register some labels/messages
diff --git a/plugins/managesieve/skins/default/managesieve.css b/plugins/managesieve/skins/default/managesieve.css
index 60f632504..9527b44e9 100644
--- a/plugins/managesieve/skins/default/managesieve.css
+++ b/plugins/managesieve/skins/default/managesieve.css
@@ -272,11 +272,6 @@ span.sieve.error
color: red;
}
-#managesieve-tip
-{
- width: 200px;
-}
-
a.button.add
{
background: url(images/add.png) no-repeat;
diff --git a/plugins/managesieve/skins/default/managesieve_mail.css b/plugins/managesieve/skins/default/managesieve_mail.css
index 7fefaedf1..87a11cc92 100644
--- a/plugins/managesieve/skins/default/managesieve_mail.css
+++ b/plugins/managesieve/skins/default/managesieve_mail.css
@@ -53,7 +53,6 @@
#managesieve-tip
{
- width: 200px;
z-index: 100000;
}
diff --git a/plugins/managesieve/skins/larry/images/add.png b/plugins/managesieve/skins/larry/images/add.png
new file mode 100644
index 000000000..97a6422fb
--- /dev/null
+++ b/plugins/managesieve/skins/larry/images/add.png
Binary files differ
diff --git a/plugins/managesieve/skins/larry/images/del.png b/plugins/managesieve/skins/larry/images/del.png
new file mode 100644
index 000000000..518905bc4
--- /dev/null
+++ b/plugins/managesieve/skins/larry/images/del.png
Binary files differ
diff --git a/plugins/managesieve/skins/larry/images/down_small.gif b/plugins/managesieve/skins/larry/images/down_small.gif
new file mode 100644
index 000000000..f865893f4
--- /dev/null
+++ b/plugins/managesieve/skins/larry/images/down_small.gif
Binary files differ
diff --git a/plugins/managesieve/skins/larry/images/up_small.gif b/plugins/managesieve/skins/larry/images/up_small.gif
new file mode 100644
index 000000000..40deb891f
--- /dev/null
+++ b/plugins/managesieve/skins/larry/images/up_small.gif
Binary files differ
diff --git a/plugins/managesieve/skins/larry/managesieve.css b/plugins/managesieve/skins/larry/managesieve.css
new file mode 100644
index 000000000..f252bd7d6
--- /dev/null
+++ b/plugins/managesieve/skins/larry/managesieve.css
@@ -0,0 +1,319 @@
+#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;
+ padding-top: 5px;
+}
+
+#filterslist tbody tr.filtermovedown td
+{
+ border-bottom: 2px dotted #555;
+ padding-bottom: 4px;
+}
+
+body.iframe
+{
+ min-width: 620px;
+}
+
+#filter-form
+{
+ min-width: 550px;
+ white-space: nowrap;
+ padding: 20px 10px 10px 10px;
+}
+
+legend, 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;
+}
+
+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.adv
+{
+ padding-top: 3px;
+}
+
+input.disabled, input.disabled:hover
+{
+ color: #999999;
+}
+
+input.error, textarea.error
+{
+ background-color: #FFFFC4;
+}
+
+input.box,
+input.radio
+{
+ border: 0;
+ margin-top: 0;
+}
+
+select.operator_selector
+{
+ width: 200px;
+}
+
+td.rowtargets span,
+span.label
+{
+ color: #666666;
+ font-size: 10px;
+ white-space: nowrap;
+}
+
+#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;
+ 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;
+}
+
+/* revert larry style button */
+#filter-form input.button
+{
+ padding-bottom: 2px;
+ padding-left: 5px;
+ padding-right: 5px;
+ padding-top: 2px;
+}
+
+fieldset
+{
+ border-radius: 4px;
+}
+
+/* fixes for popup window */
+
+body.iframe.mail
+{
+ margin: 0;
+ padding: 0;
+}
+
+body.iframe.mail #filter-form
+{
+ padding: 10px 5px 5px 5px;
+}
diff --git a/plugins/managesieve/skins/larry/managesieve_mail.css b/plugins/managesieve/skins/larry/managesieve_mail.css
new file mode 100644
index 000000000..ea417bdb7
--- /dev/null
+++ b/plugins/managesieve/skins/larry/managesieve_mail.css
@@ -0,0 +1,62 @@
+ul.toolbarmenu li span.filterlink {
+ background-position: 0 -1924px;
+}
+
+#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..424bdbcd3
--- /dev/null
+++ b/plugins/managesieve/skins/larry/templates/filteredit.html
@@ -0,0 +1,33 @@
+<roundcube:object name="doctype" value="html5" />
+<html>
+<head>
+<title><roundcube:object name="pagetitle" /></title>
+<roundcube:include file="/includes/links.html" />
+<link rel="stylesheet" type="text/css" href="/this/managesieve.css" />
+</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/larry/templates/managesieve.html b/plugins/managesieve/skins/larry/templates/managesieve.html
new file mode 100644
index 000000000..740b41658
--- /dev/null
+++ b/plugins/managesieve/skins/larry/templates/managesieve.html
@@ -0,0 +1,73 @@
+<roundcube:object name="doctype" value="html5" />
+<html>
+<head>
+<title><roundcube:object name="pagetitle" /></title>
+<roundcube:include file="/includes/links.html" />
+<link rel="stylesheet" type="text/css" href="/this/managesieve.css" />
+</head>
+<body class="noscroll">
+
+<roundcube:include file="/includes/header.html" />
+
+<div id="mainscreen" class="offset">
+
+<roundcube:include file="/includes/settingstabs.html" />
+
+<div id="settings-right">
+
+<div id="filtersetslistbox" class="uibox listbox">
+<h2 class="boxtitle"><roundcube:label name="managesieve.filtersets" /></h2>
+<div class="scroller withfooter">
+ <roundcube:object name="filtersetslist" id="filtersetslist" class="listing" 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="listbutton add disabled" classAct="listbutton add" innerClass="inner" content="+" /><roundcube:button name="filtersetmenulink" id="filtersetmenulink" type="link" title="moreactions" class="listbutton groupactions" onclick="UI.show_popup('filtersetmenu');return false" innerClass="inner" content="&#9881" />
+</div>
+</div>
+
+<div id="filtersscreen">
+<div id="filterslistbox" class="uibox listbox">
+<h2 class="boxtitle"><roundcube:label name="managesieve.filters" /></h2>
+<div class="scroller withfooter">
+ <roundcube:object name="filterslist" id="filterslist" class="listing" cellspacing="0" summary="Filters list" noheader="true" />
+</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="UI.show_popup('filtermenu');return false" innerClass="inner" content="&#9881" />
+</div>
+</div>
+
+<div id="filter-box" class="uibox">
+ <roundcube:object name="filterframe" id="filter-frame" style="width:100%; height:96%" frameborder="0" src="/watermark.html" />
+ <roundcube:object name="message" id="message" class="statusbar" />
+</div>
+
+</div>
+
+<div id="filtersetmenu" class="popupmenu">
+ <ul class="toolbarmenu">
+ <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 class="toolbarmenu">
+ <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>
+
+<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..71de8ddf8
--- /dev/null
+++ b/plugins/managesieve/skins/larry/templates/setedit.html
@@ -0,0 +1,23 @@
+<roundcube:object name="doctype" value="html5" />
+<html>
+<head>
+<title><roundcube:object name="pagetitle" /></title>
+<roundcube:include file="/includes/links.html" />
+<link rel="stylesheet" type="text/css" href="/this/managesieve.css" />
+</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>