Initial commit

This commit is contained in:
Aleksander Machniak 2021-11-21 10:09:44 +01:00
commit 357bbde671
146 changed files with 13625 additions and 0 deletions

37
README.md Normal file
View File

@ -0,0 +1,37 @@
ROUNDCUBE WEBMAIL SKIN "LARRY"
==============================
This skin package contains the "Larry" theme of the Roundcube Webmail
software. It can be used, modified and redistributed according to
the terms described in the LICENSE section.
For information about building or modifying Roundcube skins please visit
https://github.com/roundcube/roundcubemail/wiki/Skins
Screendesign by FLINT / Büro für Gestaltung, Bern, Switzerland
http://bueroflint.com
INSTALLATION
------------
The skin can be installed by putting the content in a subfolder of the
the Roundcube's `skins` folder or by using composer:
```
composer require "roundcube/larry:~1.6.0"
```
Note: make sure to use version of the skin that matches the Roundcube version.
If it is not available use the closest lower version number. For example,
if your Roundcube version is 1.6.5, use skin version 1.6.x (with max X that exists),
if 1.6.x does not exist use 1.5.x and so on. Using 1.7.x and up might not work.
LICENSE
-------
The contents of this folder are subject to the Creative Commons
Attribution-ShareAlike License. It is allowed to copy, distribute,
transmit and to adapt the work by keeping credits to the original
autors in the README.md file.
See https://creativecommons.org/licenses/by-sa/3.0/ for details.

444
addressbook.css Normal file
View File

@ -0,0 +1,444 @@
/**
* Roundcube webmail styles for the Address Book section
*
* Copyright (c) The Roundcube Dev Team
* Screendesign by FLINT / Büro für Gestaltung, bueroflint.com
*
* The contents are subject to the Creative Commons Attribution-ShareAlike
* License. It is allowed to copy, distribute, transmit and to adapt the work
* by keeping credits to the original autors in the README file.
* See http://creativecommons.org/licenses/by-sa/3.0/ for details.
*/
#addressview-left {
position: absolute;
top: 0;
left: 0;
width: 200px;
bottom: 0;
z-index: 2;
}
#addressview-right {
position: absolute;
top: 0;
left: 212px;
right: 0;
bottom: 0;
z-index: 3;
}
#addressbooktoolbar {
position: absolute;
top: -6px;
left: 0;
height: 40px;
white-space: nowrap;
z-index: 10;
}
#directorylistbox {
position: absolute;
top: 0;
left: 0;
width: 100%;
bottom: 0;
}
#addresslist {
position: absolute;
top: 0;
left: 0;
width: 260px;
bottom: 0;
}
#contacts-box {
position: absolute;
top: 0;
left: 272px;
right: 0;
bottom: 0;
}
#addressview-left #quicksearchbar input {
width: 156px;
}
#directorylist li a,
.treelist li.contactsearch a,
#contacts-table .contact td.name {
background-image: url(images/listicons.png);
background-position: -100px 0;
background-repeat: no-repeat;
overflow: hidden;
text-overflow: ellipsis;
}
#directorylist li.addressbook a {
background-position: 6px -766px;
}
#directorylist ul li.addressbook a {
background-position: 32px -766px;
}
#directorylist ul ul li.addressbook a {
background-position: 58px -766px;
}
#directorylist li.addressbook.selected > a {
background-position: 6px -791px;
}
#directorylist ul li.addressbook.selected > a {
background-position: 32px -791px;
}
#directorylist ul ul li.addressbook.selected > a {
background-position: 58px -791px;
}
#directorylist li.contactgroup a {
background-position: 6px -1554px;
}
#directorylist ul li.contactgroup a {
background-position: 32px -1554px;
}
#directorylist ul ul li.contactgroup a {
background-position: 58px -1554px;
}
#directorylist ul ul ul li.contactgroup a {
background-position: 84px -1554px;
}
#directorylist li.contactgroup.selected a {
background-position: 32px -1578px;
}
#directorylist ul ul li.contactgroup.selected a {
background-position: 58px -1578px;
}
#directorylist ul ul ul li.contactgroup.selected a {
background-position: 84px -1578px;
}
.treelist li.contactsearch a {
background-position: 6px -1651px;
}
.treelist li.contactsearch.selected a {
background-position: 6px -1675px;
}
#directorylist li.addressbook div.collapsed,
#directorylist li.addressbook div.expanded {
top: 15px;
}
#contacts-table .contact.readonly td {
font-style: italic;
}
#contacts-table td.name {
width: 95%;
}
#contacts-table td.action {
width: 24px;
padding: 4px;
}
#contacts-table td.action a {
display: block;
width: 16px;
height: 14px;
text-indent: -5000px;
overflow: hidden;
background: url(images/listicons.png) -2px -1180px no-repeat;
}
#contacts-table .contact td.name {
background-position: 4px -1601px;
}
#contacts-table .contact.selected td.name {
background-position: 4px -1625px;
font-weight: bold;
}
#contacts-table .group td.name {
background-position: 4px -1555px;
}
#contacts-table .group.selected td.name {
background-position: 4px -1578px;
font-weight: bold;
}
#contacts-table.focus .group.selected.focused td.name {
background-position: 4px -1578px;
}
#addresslist .boxtitle {
padding-right: 95px;
overflow: hidden;
text-overflow: ellipsis;
}
#addresslist .boxtitle a.poplink {
color: #004458;
font-size: 14px;
line-height: 12px;
text-decoration: none;
}
#contact-frame {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0px;
border: 0;
border-radius: 4px;
}
#headerbuttons {
position: absolute;
top: 48px;
right: 10px;
width: auto;
z-index: 10;
}
#sourcename {
color: #999;
font-size: 10px;
margin: -5px 0 8px 2px;
}
#contactphoto {
float: left;
margin: 0 18px 20px 0;
width: 112px;
border: 0;
padding: 0;
}
#contactpic {
width: 112px;
min-height: 112px;
background: white;
}
#contactpic img {
max-width: 112px;
visibility: inherit;
}
#contactpic.droptarget {
background-image: url(images/filedrop.png);
background-position: center;
background-repeat: no-repeat;
}
#contactpic.droptarget.hover {
background-color: #d9ecf4;
box-shadow: 0 0 5px 2px rgba(71,135,177, 0.9);
}
#contactpic.droptarget.active img {
opacity: 0.15;
}
#contactpic.droptarget.hover img {
opacity: 0.05;
}
#contactphoto .formlinks a[aria-disabled='true'] {
visibility: hidden;
}
#contacthead {
border: 0;
margin: 0 16em 1em 0;
padding: 0;
line-height: 1.5em;
font-size: 12px;
}
#contacthead > legend {
display: none;
}
form #contacthead {
margin-right: 0;
}
#contacthead .names span.namefield,
#contacthead .names input {
font-size: 140%;
font-weight: bold;
}
#contacthead .displayname span.namefield {
font-size: 120%;
font-weight: bold;
}
#contacthead span.nickname:before,
#contacthead span.nickname:after {
content: '"';
}
#contacthead input {
margin-right: 6px;
margin-bottom: 0.2em;
}
#contacthead .names input,
#contacthead .addnames input {
width: 180px;
}
#contacthead input.ff_prefix,
#contacthead input.ff_suffix {
width: 90px;
}
.contactfieldgroup {
border: 0;
border-radius: 0;
background: #f7f7f7;
margin: 0 0 12px 0;
padding: 8px;
}
.contactfieldgroup legend {
display: block;
margin: 0 -8px;
width: 100%;
font-weight: bold;
padding: 8px 8px 6px 8px;
background: #e9e9e9;
border-bottom: 1px solid #dfdfdf;
border-radius: 0;
}
.contactfieldgroup .row {
position: relative;
margin: 0.2em 0;
}
.contactfieldgroup .contactfieldlabel {
position: absolute;
top: 0;
left: 2px;
width: 110px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
color: #666;
line-height: 18px;
}
.contactfieldgroup .contactfieldlabel select {
width: 100%;
color: #666;
}
.contactfieldgroup .contactfieldcontent {
padding-left: 120px;
min-height: 1em;
line-height: 18px;
}
.contactfieldgroup .contactfield {
line-height: 1.3em;
}
.contactcontrolleraddress .contactfieldcontent input {
margin-bottom: 0.1em;
}
.contactfieldcontent.composite {
padding-bottom: 8px;
}
.contactfieldcontent .contactfieldbutton {
vertical-align: middle;
margin-left: 0.5em;
}
.contactfield .ff_notes {
width: 99%;
}
a.deletebutton {
position: relative;
left: 5px;
top: -3px;
display: inline-block;
width: 24px;
height: 18px;
text-decoration: none;
text-indent: -5000px;
background: url(images/buttons.png) -7px -377px no-repeat;
}
#import-box {
position: absolute;
bottom: 0px;
top: 34px;
left: 0;
right: 0;
overflow: auto;
padding: 10px;
}
#import-box p,
#import-box .propform {
max-width: 50em;
}
ul.toolbarmenu li span.qrcode {
background-position: 0 -2408px;
}
ul.toolbarmenu li span.assigngroup {
background-position: 0 -2358px;
}
ul.toolbarmenu li span.removegroup {
background-position: 0 -2384px;
}
#addressbook-selector li a,
#contactgroup-selector li a {
padding-left: 2px;
}
#addressbook-selector li a span,
#contactgroup-selector li a span {
background: url(images/listicons.png) 4px 20px no-repeat;
display: block;
height: 17px;
min-height: 14px;
padding: 4px 4px 1px 28px;
overflow: hidden;
max-width: 120px;
text-overflow: ellipsis;
}
#addressbook-selector li a.addressbook span {
background-position: 4px -2222px;
}
#addressbook-selector li a.contactgroup span,
#contactgroup-selector li a.contactgroup span {
background-position: 4px -2245px;
}

1
addressbook.min.css vendored Normal file

File diff suppressed because one or more lines are too long

7
bin/build.sh Executable file
View File

@ -0,0 +1,7 @@
#!/bin/sh
set -e
PWD=`dirname "$0"`
$PWD/jsshrink.sh && $PWD/cssshrink.sh && $PWD/cssimages.sh

55
bin/cssimages.sh Executable file
View File

@ -0,0 +1,55 @@
#!/usr/bin/env php
<?php
foreach (get_files(__DIR__ . '/..') as $file) {
print "Processing $file\n";
$content = file_get_contents($file);
$regexp = "#url\(['\"]?([a-zA-Z0-9_./-]+)(\?v=[a-f0-9-\.]+)?['\"]?\)#";
if (preg_match_all($regexp, $content, $matches)) {
$seen = [];
foreach ($matches[1] as $idx => $image) {
if (!in_array($image, $seen) && preg_match('/\.(gif|ico|png|jpg|jpeg)$/', $image)) {
$filepath = pathinfo($file, PATHINFO_DIRNAME) . "/$image";
if (file_exists($filepath)) {
$sum = substr(md5_file($filepath), 0, 4) . '.' . filesize($filepath);
}
else {
print "ERROR: Missing image: $filepath\n";
continue;
}
$content = str_replace($matches[0][$idx], "url($image?v=$sum)", $content);
}
$seen[] = $image;
}
file_put_contents($file, $content);
}
}
function get_files($dir)
{
$files = [];
$dh = opendir($dir);
while ($file = readdir($dh)) {
if (preg_match('/^(.+)\.min\.css$/', $file, $m)) {
$files[] = "$dir/$file";
}
else if ($file[0] != '.' && is_dir("$dir/$file")) {
foreach (get_files("$dir/$file") as $f) {
$files[] = $f;
}
}
}
closedir($dh);
return $files;
}

44
bin/cssshrink.sh Executable file
View File

@ -0,0 +1,44 @@
#!/bin/sh
set -e
PWD=`dirname "$0"`
do_shrink() {
rm -f "$2"
csso $1 -o $2 --no-restructure
}
if which csso > /dev/null 2>&1; then
:
else
echo "csso not found. Please install e.g. 'npm install -g csso-cli'."
exit 1
fi
# compress single file from argument
if [ $# -gt 0 ]; then
CSS_FILE="$1"
echo "Shrinking $CSS_FILE"
minfile=`echo $CSS_FILE | sed -e 's/\.css$/\.min\.css/'`
do_shrink "$CSS_FILE" "$minfile"
exit
fi
DIRS="$PWD/.. $PWD/../plugins/*"
# default: compress application scripts
for dir in $DIRS; do
for file in $dir/*.css; do
if echo "$file" | grep -q -e '.min.css$'; then
continue
fi
if [ ! -f "$file" ]; then
continue
fi
echo "Shrinking $file"
minfile=`echo $file | sed -e 's/\.css$/\.min\.css/'`
do_shrink "$file" "$minfile"
done
done

51
bin/jsshrink.sh Executable file
View File

@ -0,0 +1,51 @@
#!/bin/sh
set -e
PWD=`dirname "$0"`
LANG_IN='ECMASCRIPT5'
do_shrink() {
rm -f "$2"
# copy the first comment block with license information for LibreJS
grep -q '@lic' $1 && sed -n '/\/\*/,/\*\// { p; /\*\//q; }' $1 > $2
uglifyjs --compress --mangle -- $1 >> $2
}
if which uglifyjs > /dev/null 2>&1; then
:
else
echo "uglifyjs not found. Please install e.g. 'npm install -g uglify-js'."
exit 1
fi
# compress single file from argument
if [ $# -gt 0 ]; then
JS_FILE="$1"
if [ $# -gt 1 ]; then
LANG_IN="$2"
fi
echo "Shrinking $JS_FILE"
minfile=`echo $JS_FILE | sed -e 's/\.js$/\.min\.js/'`
do_shrink "$JS_FILE" "$minfile" "$LANG_IN"
exit
fi
DIRS="$PWD/.. $PWD/../plugins/*"
# default: compress application scripts
for dir in $DIRS; do
for file in $dir/*.js; do
if echo "$file" | grep -q -e '.min.js$'; then
continue
fi
if [ ! -f "$file" ]; then
continue
fi
echo "Shrinking $file"
minfile=`echo $file | sed -e 's/\.js$/\.min\.js/'`
do_shrink "$file" "$minfile" "$LANG_IN"
done
done

9
composer.json Normal file
View File

@ -0,0 +1,9 @@
{
"name": "roundcube/larry",
"description": "The Larry theme for Roundcube Webmail",
"license": "CC-BY-SA-3.0",
"type": "roundcube-skin",
"require": {
"roundcube/plugin-installer": ">=0.3.0"
}
}

36
embed.css Normal file
View File

@ -0,0 +1,36 @@
/**
* Roundcube webmail "embedded" stylesheets
*
* Copyright (c) The Roundcube Dev Team
*
* The contents are subject to the Creative Commons Attribution-ShareAlike
* License. It is allowed to copy, distribute, transmit and to adapt the work
* by keeping credits to the original autors in the README file.
* See http://creativecommons.org/licenses/by-sa/3.0/ for details.
*/
.rcmail-inline-message {
font-family: sans-serif;
font-size: 11px;
font-weight: bold;
color: #996600;
border: 1px solid #ffdf0e;
background: url("images/messages.png") no-repeat scroll 5px -83px #fef893;
padding: 6px 12px 4px 30px;
margin-bottom: 0.8em;
}
.rcmail-inline-message em {
font-size: 90%;
}
.rcmail-inline-buttons {
margin-bottom: 0;
display: inline;
}
.rcmail-inline-buttons > button {
margin-left: 1em;
vertical-align: baseline;
line-height: 12px;
}

1
embed.min.css vendored Normal file
View File

@ -0,0 +1 @@
.rcmail-inline-message{font-family:sans-serif;font-size:11px;font-weight:700;color:#960;border:1px solid #ffdf0e;background:url(images/messages.png?v=72e9.1264) no-repeat 5px -83px #fef893;padding:6px 12px 4px 30px;margin-bottom:.8em}.rcmail-inline-message em{font-size:90%}.rcmail-inline-buttons{margin-bottom:0;display:inline}.rcmail-inline-buttons>button{margin-left:1em;vertical-align:baseline;line-height:12px}

108
googiespell.css Normal file
View File

@ -0,0 +1,108 @@
/***** modified styles for GoogieSpell *****/
.googie_window {
font-size: 11px;
width: 185px;
margin: 0;
padding: 0;
}
.googie_edit_layer {
padding: 4px;
font-size: 9pt;
font-family: monospace;
background-color: #fff;
border: 0;
}
.googie_edit_layer span {
font-family: monospace;
}
.googie_list {
width: 100%;
margin: 0;
padding: 0;
border-spacing: 0;
}
.googie_list li {
min-width: 80px;
width: auto;
}
.googie_list li.googie_list_selected {
background: #4db0d2;
}
.googie_list form {
padding: 3px;
}
.googie_list_close {
font-size: 11px;
color: #b91414;
}
.googie_list_onhover .googie_list_close {
color: #fff;
}
.googie_list_revert {
font-size: 11px;
color: #b91414;
}
.googie_list_revert:hover {
color: #fff;
}
.googie_link {
color: #b91414;
text-decoration: underline;
cursor: pointer;
font-size: 9pt;
font-family: monospace;
}
.googie_check_spelling_link {
color: #0069A6;
font-size: 11px;
text-decoration: underline;
cursor: pointer;
}
.googie_no_style {
text-decoration: none;
}
.googie_check_spelling_ok,
.googie_resume_editing {
color: green;
font-size: 11px;
cursor: pointer;
text-decoration: underline;
}
.googie_check_spelling_ok:hover,
.googie_resume_editing:hover {
text-decoration: underline;
}
.googie_lang_3d_click img,
.googie_lang_3d_on img {
vertical-align: middle;
cursor: pointer;
border: 0;
}
.googie_ok_button {
background: url(images/googiespell/ok.gif) no-repeat center center transparent !important;
width: 32px;
height: 16px;
cursor: pointer;
margin: 0 5px;
padding: 0;
border: 0 !important;
text-indent: -5000px;
}

1
googiespell.min.css vendored Normal file
View File

@ -0,0 +1 @@
.googie_window{font-size:11px;width:185px;margin:0;padding:0}.googie_edit_layer{padding:4px;font-size:9pt;font-family:monospace;background-color:#fff;border:0}.googie_edit_layer span{font-family:monospace}.googie_list{width:100%;margin:0;padding:0;border-spacing:0}.googie_list li{min-width:80px;width:auto}.googie_list li.googie_list_selected{background:#4db0d2}.googie_list form{padding:3px}.googie_list_close{font-size:11px;color:#b91414}.googie_list_onhover .googie_list_close{color:#fff}.googie_list_revert{font-size:11px;color:#b91414}.googie_list_revert:hover{color:#fff}.googie_link{color:#b91414;text-decoration:underline;cursor:pointer;font-size:9pt;font-family:monospace}.googie_check_spelling_link{color:#0069a6;font-size:11px;text-decoration:underline;cursor:pointer}.googie_no_style{text-decoration:none}.googie_check_spelling_ok,.googie_resume_editing{color:green;font-size:11px;cursor:pointer;text-decoration:underline}.googie_check_spelling_ok:hover,.googie_resume_editing:hover{text-decoration:underline}.googie_lang_3d_click img,.googie_lang_3d_on img{vertical-align:middle;cursor:pointer;border:0}.googie_ok_button{background:url(images/googiespell/ok.gif?v=e1b6.160) no-repeat center center!important;width:32px;height:16px;cursor:pointer;margin:0 5px;padding:0;border:0!important;text-indent:-5000px}

BIN
images/addcontact.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 B

BIN
images/ajaxloader.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
images/ajaxloader_dark.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
images/buttons.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
images/contactgroup.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 935 B

BIN
images/contactpic.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 831 B

BIN
images/contactpic_32px.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 B

BIN
images/contactpic_48px.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 353 B

BIN
images/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
images/filedrop.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 415 B

BIN
images/filetypes.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 722 B

BIN
images/googiespell/ok.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 354 B

1
images/google-icon.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><path fill="#4285F4" d="M45.12 24.5c0-1.56-.14-3.06-.4-4.5H24v8.51h11.84c-.51 2.75-2.06 5.08-4.39 6.64v5.52h7.11c4.16-3.83 6.56-9.47 6.56-16.17z"></path><path fill="#34A853" d="M24 46c5.94 0 10.92-1.97 14.56-5.33l-7.11-5.52c-1.97 1.32-4.49 2.1-7.45 2.1-5.73 0-10.58-3.87-12.31-9.07H4.34v5.7C7.96 41.07 15.4 46 24 46z"></path><path fill="#FBBC05" d="M11.69 28.18C11.25 26.86 11 25.45 11 24s.25-2.86.69-4.18v-5.7H4.34C2.85 17.09 2 20.45 2 24c0 3.55.85 6.91 2.34 9.88l7.35-5.7z"></path><path fill="#EA4335" d="M24 10.75c3.23 0 6.13 1.11 8.41 3.29l6.31-6.31C34.91 4.18 29.93 2 24 2 15.4 2 7.96 6.93 4.34 14.12l7.35 5.7c1.73-5.2 6.58-9.07 12.31-9.07z"></path><path fill="none" d="M2 2h44v44H2z"></path></svg>

After

Width:  |  Height:  |  Size: 764 B

BIN
images/listicons.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
images/messages.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
images/messages_dark.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 601 B

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 116 116" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<g transform="matrix(1,0,0,1,-22.0613,-141.704)"><path d="M26.088,145.515L77.643,145.515L77.639,197.07L26.088,197.07L26.088,145.515Z" style="fill:rgb(246,83,20);"/></g>
<g transform="matrix(1,0,0,1,-22.0613,-141.704)"><path d="M82.907,145.515L134.462,145.515C134.462,162.7 134.465,179.885 134.459,197.07C117.277,197.067 100.092,197.07 82.91,197.07C82.904,179.885 82.907,162.7 82.907,145.515Z" style="fill:rgb(127,187,65);"/></g>
<g transform="matrix(1,0,0,1,-22.0613,-141.704)"><path d="M26.088,202.331C43.273,202.337 60.458,202.329 77.643,202.337C77.646,219.522 77.643,236.704 77.643,253.889L26.088,253.889L26.088,202.331Z" style="fill:rgb(0,161,241);"/></g>
<g transform="matrix(1,0,0,1,-22.0613,-141.704)"><path d="M82.91,202.337C100.092,202.331 117.277,202.334 134.462,202.334L134.462,253.889L82.907,253.889C82.91,236.704 82.904,219.519 82.91,202.337Z" style="fill:rgb(255,187,0);"/></g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
images/overflowshadow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 B

BIN
images/quota.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
images/roundcube_logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
images/selector.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 B

BIN
images/splitter.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 B

BIN
images/watermark.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

5
includes/footer.html Normal file
View File

@ -0,0 +1,5 @@
<roundcube:object name="message" id="messagestack" condition="env:task != 'login'" />
<script>
if (!window.UI) { var UI = new rcube_mail_ui(); }
</script>

44
includes/header.html Normal file
View File

@ -0,0 +1,44 @@
<script>
var UI = new rcube_mail_ui();
</script>
<div id="header">
<div id="topline" role="banner" aria-labelledby="aria-label-topnav">
<h2 id="aria-label-topnav" class="voice"><roundcube:label name="arialabeltopnav" /></h2>
<div class="topleft">
<roundcube:container name="topline-left" id="topline-left" />
<roundcube:if condition="template:name != 'error'" />
<roundcube:button name="about" type="link" label="about" class="about-link" onclick="UI.show_about(this);return false" condition="!env:extwin" />
<roundcube:endif />
<roundcube:if condition="config:support_url" />
<a href="<roundcube:var name='config:support_url' />" target="_blank" class="support-link" id="supportlink"><roundcube:label name="support" /></a>
<roundcube:endif />
</div>
<roundcube:container name="topline-center" id="topline-center" />
<div class="topright">
<roundcube:container name="topline-right" id="topline-right" />
<roundcube:if condition="!env:extwin &amp;&amp; !env:framed" />
<span class="username"><roundcube:object name="username" /></span>
<roundcube:button command="logout" label="logout" type="link" class="button-logout" />
<roundcube:elseif condition="env:extwin" />
<roundcube:button name="close" type="link" label="close" class="closelink" onclick="self.close()" />
<roundcube:endif />
</div>
</div>
<roundcube:if condition="!env:extwin &amp;&amp; !env:framed" />
<div id="topnav">
<h2 id="aria-label-tasknav" class="voice"><roundcube:label name="arialabeltasknav" /></h2>
<div id="taskbar" class="topright" role="navigation" aria-labelledby="aria-label-tasknav">
<roundcube:button command="mail" label="mail" type="link" class="button-mail" classSel="button-mail button-selected" innerClass="button-inner" />
<roundcube:button command="addressbook" label="contacts" type="link" class="button-addressbook" classSel="button-addressbook button-selected" innerClass="button-inner" />
<roundcube:container name="taskbar" id="taskbar" />
<roundcube:button command="settings" label="settings" type="link" class="button-settings" classSel="button-settings button-selected" innerClass="button-inner" />
<roundcube:button command="logout" label="logout" type="link" class="button-logout" classSel="button-logout" innerClass="button-inner" />
<span class="minmodetoggle" role="presentation"></span>
</div>
<roundcube:object name="logo" src="/images/roundcube_logo.png" id="toplogo" alt="Logo" onclick="if(window.rcmail)rcmail.command('switch-task','mail')" />
</div>
<roundcube:endif />
<br style="clear:both" />
</div>

11
includes/links.html Normal file
View File

@ -0,0 +1,11 @@
<meta name="viewport" content="" id="viewport" />
<roundcube:object name="meta" />
<roundcube:object name="links" />
<link rel="stylesheet" type="text/css" href="/styles.css" />
<roundcube:if condition="in_array(env:task, array('mail','addressbook','settings'))" />
<link rel="stylesheet" type="text/css" href="/<roundcube:var name="env:task" />.css" />
<roundcube:endif />
<script src="/ui.js"></script>
<roundcube:add_label name="errortitle" />
<roundcube:add_label name="toggleadvancedoptions" />
<roundcube:add_label name="options" />

66
includes/mailtoolbar.html Normal file
View File

@ -0,0 +1,66 @@
<roundcube:button command="compose" type="link" class="button compose disabled" classAct="button compose" classSel="button compose pressed" label="compose" title="writenewmessage" />
<span class="spacer"></span>
<roundcube:button command="reply" type="link" class="button reply disabled" classAct="button reply" classSel="button reply pressed" label="reply" title="replytomessage" />
<span class="dropbutton">
<roundcube:button command="reply-all" type="link" class="button reply-all disabled" classAct="button reply-all" classSel="button reply-all pressed" label="replyall" title="replytoallmessage" />
<a href="#reply-all" class="dropbuttontip" id="replyallmenulink" onclick="UI.toggle_popup('replyallmenu',event);return false" aria-haspopup="true" aria-expanded="false" aria-owns="replyallmenu-menu" tabindex="0"><roundcube:label name="arialabelreplyalloptions" /></a>
</span>
<span class="dropbutton">
<roundcube:button command="forward" type="link" class="button forward disabled" classAct="button forward" classSel="button forward pressed" label="forward" title="forwardmessage" />
<a href="#forward" class="dropbuttontip" id="forwardmenulink" onclick="UI.toggle_popup('forwardmenu',event);return false" aria-haspopup="true" aria-expanded="false" aria-owns="forwardmenu-menu" tabindex="0"><roundcube:label name="arialabelforwardingoptions" /></a>
</span>
<roundcube:button command="delete" type="link" class="button delete disabled" classAct="button delete" classSel="button delete pressed" label="delete" title="deletemessage" />
<roundcube:if condition="template:name == 'message'" />
<roundcube:button command="move" type="link" class="button move disabled" classAct="button move" classSel="button move pressed" label="move" title="moveto" data-menu-pos="bottom" />
<roundcube:button command="print" type="link" class="button print disabled" classAct="button print" classSel="button print pressed" label="print" title="printmessage" />
<roundcube:endif />
<roundcube:container name="toolbar" id="mailtoolbar" />
<roundcube:button name="markmenulink" id="markmessagemenulink" type="link" class="button markmessage" label="mark" title="markmessages" onclick="UI.toggle_popup('markmessagemenu',event);return false" aria-haspopup="true" aria-expanded="false" aria-owns="markmessagemenu-menu" />
<roundcube:button name="messagemenulink" id="messagemenulink" type="link" class="button more" label="more" title="moreactions" onclick="UI.toggle_popup('messagemenu',event);return false" aria-haspopup="true" aria-expanded="false" aria-owns="messagemenu-menu" />
<div id="forwardmenu" class="popupmenu" aria-hidden="true">
<h3 id="aria-label-forwardmenu" class="voice"><roundcube:label name="arialabelforwardingoptions" /></h3>
<ul id="forwardmenu-menu" class="toolbarmenu" role="menu" aria-labelledby="aria-label-forwardmenu">
<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:button type="link-menuitem" command="bounce" label="bouncemsg" prop="sub" classAct="bouncelink active" class="bouncelink" />
<roundcube:container name="forwardmenu" id="forwardmenu-menu" />
</ul>
</div>
<div id="replyallmenu" class="popupmenu" aria-hidden="true">
<h3 id="aria-label-replyallmenu" class="voice"><roundcube:label name="arialabelreplyalloptions" /></h3>
<ul id="replyallmenu-menu" class="toolbarmenu" role="menu" aria-labelledby="aria-label-replyallmenu">
<roundcube:button type="link-menuitem" command="reply-all" label="replyall" prop="sub" class="replyalllink" classAct="replyalllink active" />
<roundcube:button type="link-menuitem" command="reply-list" label="replylist" prop="sub" class="replylistlink" classAct="replylistlink active" />
<roundcube:container name="replyallmenu" id="replyallmenu-menu" />
</ul>
</div>
<div id="messagemenu" class="popupmenu" aria-hidden="true">
<h3 id="aria-label-messagemenu" class="voice"><roundcube:label name="arialabelmoremessageactions" /></h3>
<ul id="messagemenu-menu" class="toolbarmenu iconized" role="menu" aria-labelledby="aria-label-messagemenu">
<roundcube:button type="link-menuitem" command="print" label="printmessage" class="icon" classAct="icon active" innerclass="icon print" />
<roundcube:button type="link-menuitem" command="download" label="emlsave" class="icon" classAct="icon active" innerclass="icon download" />
<roundcube:button type="link-menuitem" command="edit" prop="new" label="editasnew" class="icon" classAct="icon active" innerclass="icon edit" />
<roundcube:button type="link-menuitem" command="viewsource" label="viewsource" class="icon" classAct="icon active" innerclass="icon viewsource" />
<roundcube:button type="link-menuitem" command="move" label="moveto" class="icon" classAct="icon active" innerclass="icon move folder-selector-link" />
<roundcube:button type="link-menuitem" command="copy" label="copyto" class="icon" classAct="icon active" innerclass="icon copy folder-selector-link" />
<roundcube:button type="link-menuitem" command="open" label="openinextwin" target="_blank" class="icon" classAct="icon active" innerclass="icon extwin" />
<roundcube:container name="messagemenu" id="messagemenu-menu" />
</ul>
</div>
<div id="markmessagemenu" class="popupmenu" aria-hidden="true">
<h3 id="aria-label-markmessagemenu" class="voice"><roundcube:label name="arialabelmarkmessagesas" /></h3>
<ul id="markmessagemenu-menu" class="toolbarmenu iconized" role="menu" aria-labelledby="aria-label-markmessagemenu">
<roundcube:button type="link-menuitem" command="mark" prop="read" label="markread" classAct="icon active" class="icon" innerclass="icon read" />
<roundcube:button type="link-menuitem" command="mark" prop="unread" label="markunread" classAct="icon active" class="icon" innerclass="icon unread" />
<roundcube:button type="link-menuitem" command="mark" prop="flagged" label="markflagged" classAct="icon active" class="icon" innerclass="icon flagged" />
<roundcube:button type="link-menuitem" command="mark" prop="unflagged" label="markunflagged" classAct="icon active" class="icon" innerclass="icon unflagged" />
<roundcube:if condition="config:flag_for_deletion && !config:skip_deleted" />
<roundcube:button type="link-menuitem" command="mark" prop="undelete" label="markundeleted" classAct="icon active" class="icon" innerclass="icon undeleted" />
<roundcube:endif />
<roundcube:container name="markmenu" id="markmessagemenu-menu" />
</ul>
</div>

View File

@ -0,0 +1,9 @@
<div id="settings-sections" class="uibox listbox" role="navigation" aria-labelledby="aria-label-settingstabs">
<h2 class="boxtitle" id="aria-label-settingstabs"><roundcube:label name="settings" /></h2>
<div id="settings-tabs" class="scroller">
<ul class="listing iconized">
<roundcube:object name="settingstabs" class="listitem" tagname="li" />
</ul>
<roundcube:container name="tabs" id="settings-tabs" />
</div>
</div>

1558
mail.css Normal file

File diff suppressed because it is too large Load Diff

1
mail.min.css vendored Normal file

File diff suppressed because one or more lines are too long

6
meta.json Normal file
View File

@ -0,0 +1,6 @@
{
"name": "Larry",
"author": "FLINT / Büro für Gestaltung, Switzerland",
"license": "Creative Commons Attribution-ShareAlike",
"license-url": "http://creativecommons.org/licenses/by-sa/3.0/"
}

124
plugins/acl/acl.css Normal file
View File

@ -0,0 +1,124 @@
#aclcontainer
{
overflow-x: auto;
border: 1px solid #CCDDE4;
background-color: #D9ECF4;
height: 272px;
box-shadow: none;
}
#acllist-content
{
position: relative;
height: 230px;
background-color: white;
}
#acllist-footer
{
position: relative;
}
#acltable
{
width: 100%;
border-collapse: collapse;
border: none;
}
#acltable th,
#acltable td
{
white-space: nowrap;
text-align: center;
}
#acltable thead tr th
{
font-size: 11px;
font-weight: bold;
}
#acltable tbody td
{
text-align: center;
height: 16px;
cursor: default;
}
#acltable thead tr > .user
{
width: 30%;
border-left: none;
}
#acltable.advanced thead tr > .user {
width: 25%;
}
#acltable tbody td.user
{
text-align: left;
}
#acltable tbody td.partial
{
background-image: url(images/partial.png);
background-position: center;
background-repeat: no-repeat;
}
#acltable tbody td.enabled
{
background-image: url(images/enabled.png);
background-position: center;
background-repeat: no-repeat;
}
#acltable tbody tr.selected td.partial
{
background-color: #019bc6;
background-image: url(images/partial.png), -moz-linear-gradient(top, #019bc6 0%, #017cb4 100%);
background-image: url(images/partial.png), -webkit-gradient(linear, left top, left bottom, color-stop(0%,#019bc6), color-stop(100%,#017cb4));
background-image: url(images/partial.png), -o-linear-gradient(top, #019bc6 0%, #017cb4 100%);
background-image: url(images/partial.png), -ms-linear-gradient(top, #019bc6 0%, #017cb4 100%);
background-image: url(images/partial.png), linear-gradient(top, #019bc6 0%, #017cb4 100%);
}
#acltable tbody tr.selected td.enabled
{
background-color: #019bc6;
background-image: url(images/enabled.png), -moz-linear-gradient(top, #019bc6 0%, #017cb4 100%);
background-image: url(images/enabled.png), -webkit-gradient(linear, left top, left bottom, color-stop(0%,#019bc6), color-stop(100%,#017cb4));
background-image: url(images/enabled.png), -o-linear-gradient(top, #019bc6 0%, #017cb4 100%);
background-image: url(images/enabled.png), -ms-linear-gradient(top, #019bc6 0%, #017cb4 100%);
background-image: url(images/enabled.png), linear-gradient(top, #019bc6 0%, #017cb4 100%);
}
#aclform
{
display: none;
}
#aclform div
{
padding: 0;
text-align: center;
clear: both;
}
#aclform ul
{
list-style: none;
margin: 0.2em;
padding: 0;
}
#aclform ul li label
{
margin-left: 0.5em;
}
ul.toolbarmenu li span.delete {
background-position: 0 -1509px;
}

1
plugins/acl/acl.min.css vendored Normal file
View File

@ -0,0 +1 @@
#aclcontainer{overflow-x:auto;border:1px solid #ccdde4;background-color:#d9ecf4;height:272px;box-shadow:none}#acllist-content{position:relative;height:230px;background-color:#fff}#acllist-footer{position:relative}#acltable{width:100%;border-collapse:collapse;border:0}#acltable th,#acltable td{white-space:nowrap;text-align:center}#acltable thead tr th{font-size:11px;font-weight:700}#acltable tbody td{text-align:center;height:16px;cursor:default}#acltable thead tr>.user{width:30%;border-left:none}#acltable.advanced thead tr>.user{width:25%}#acltable tbody td.user{text-align:left}#acltable tbody td.partial{background-image:url(images/partial.png?v=05d7.389);background-position:center;background-repeat:no-repeat}#acltable tbody td.enabled{background-image:url(images/enabled.png?v=9d9a.674);background-position:center;background-repeat:no-repeat}#acltable tbody tr.selected td.partial{background-color:#019bc6;background-image:url(images/partial.png?v=05d7.389),-moz-linear-gradient(top,#019bc6 0,#017cb4 100%);background-image:url(images/partial.png?v=05d7.389),-webkit-gradient(linear,left top,left bottom,color-stop(0%,#019bc6),color-stop(100%,#017cb4));background-image:url(images/partial.png?v=05d7.389),-o-linear-gradient(top,#019bc6 0,#017cb4 100%);background-image:url(images/partial.png?v=05d7.389),-ms-linear-gradient(top,#019bc6 0%,#017cb4 100%);background-image:url(images/partial.png?v=05d7.389),linear-gradient(top,#019bc6 0%,#017cb4 100%)}#acltable tbody tr.selected td.enabled{background-color:#019bc6;background-image:url(images/enabled.png?v=9d9a.674),-moz-linear-gradient(top,#019bc6 0,#017cb4 100%);background-image:url(images/enabled.png?v=9d9a.674),-webkit-gradient(linear,left top,left bottom,color-stop(0%,#019bc6),color-stop(100%,#017cb4));background-image:url(images/enabled.png?v=9d9a.674),-o-linear-gradient(top,#019bc6 0,#017cb4 100%);background-image:url(images/enabled.png?v=9d9a.674),-ms-linear-gradient(top,#019bc6 0%,#017cb4 100%);background-image:url(images/enabled.png?v=9d9a.674),linear-gradient(top,#019bc6 0%,#017cb4 100%)}#aclform{display:none}#aclform div{padding:0;text-align:center;clear:both}#aclform ul{list-style:none;margin:.2em;padding:0}#aclform ul li label{margin-left:.5em}ul.toolbarmenu li span.delete{background-position:0 -1509px}

Binary file not shown.

After

Width:  |  Height:  |  Size: 674 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 389 B

View File

@ -0,0 +1,30 @@
<div id="aclcontainer" class="uibox listbox">
<div id="acllist-content" class="scroller withfooter">
<h2 class="voice" id="aria-label-acltable"><roundcube:label name="acl.ariasummaryacltable" /></h2>
<roundcube:object name="acltable" id="acltable" class="records-table" aria-labelledby="aria-label-acltable" role="listbox" />
</div>
<div id="acllist-footer" class="boxfooter">
<roundcube:button command="acl-create" id="aclcreatelink" type="link" title="acl.newuser" class="listbutton add disabled" classAct="listbutton add" innerClass="inner" content="+" /><roundcube:button name="aclmenulink" id="aclmenulink" type="link" title="acl.actions" class="listbutton groupactions" onclick="return UI.toggle_popup('aclmenu', event)" innerClass="inner" content="&#9881;" aria-haspopup="true" aria-expanded="false" aria-owns="aclmenu-menu" />
</div>
</div>
<div id="aclmenu" class="popupmenu" aria-hidden="true" data-align="bottom">
<h3 id="aria-label-aclactions" class="voice"><roundcube:label name="acl.arialabelaclactions" /></h3>
<ul id="aclmenu-menu" class="toolbarmenu selectable iconized" role="menu" aria-labelledby="aria-label-aclactions">
<li role="menuitem"><roundcube:button command="acl-edit" label="edit" type="link" class="icon" classAct="icon active" innerclass="icon edit" /></li>
<li role="menuitem"><roundcube:button command="acl-delete" label="delete" type="link" class="icon" classAct="icon active" innerclass="icon delete" /></li>
<roundcube:if condition="!in_array('acl_advanced_mode', (array)config:dont_override)" />
<li role="menuitem"><roundcube:button name="acl-switch" type="link" id="acl-switch" label="acl.advanced" onclick="rcmail.command('acl-mode-switch');return false" class="active" /></li>
<roundcube:endif />
</ul>
</div>
<div id="aclform" class="propform" aria-labelledby="aria-label-aclform" role="form">
<h3 id="aria-label-aclform" class="voice"><roundcube:label name="acl.arialabelaclform" /></h3>
<fieldset class="thinbordered"><legend><roundcube:label name="acl.identifier" /></legend>
<roundcube:object name="acluser" id="acluser" size="35" class="proplist" />
</fieldset>
<fieldset class="thinbordered"><legend><roundcube:label name="acl.myrights" /></legend>
<roundcube:object name="aclrights" class="proplist" />
</fieldset>
</div>

188
plugins/enigma/enigma.css Normal file
View File

@ -0,0 +1,188 @@
/*** Style for Enigma plugin ***/
/***** Messages displaying *****/
#enigma-message,
#messagebody div #enigma-message
{
margin: 0;
margin-bottom: 5px;
padding: 6px 12px 6px 30px;
font-weight: bold;
}
div.enigmaerror,
#messagebody div.enigmaerror
{
background: url(enigma_icons.png) 3px -201px no-repeat #f2cccd;
border: 1px solid #c00005;
color: #c00005;
}
div.enigmanotice,
#messagebody div.enigmanotice
{
background: url(enigma_icons.png) 3px -171px no-repeat #c9e6d3;
border: 1px solid #008a2e;
color: #008a2e;
}
div.enigmawarning,
#messagebody div.enigmawarning
{
background: url(enigma_icons.png) 3px -231px no-repeat #fef893;
border: 1px solid #ffdf0e;
color: #960;
}
#enigma-message a
{
color: #666666;
padding-left: 10px;
}
#enigma-message a:hover
{
color: #333333;
}
p.enigmaattachment {
margin: 0.5em 1em;
width: auto;
background: #f9f9f9;
border: 1px solid #d3d3d3;
border-radius: 4px;
}
p.enigmaattachment span {
display: inline-block;
background: url(enigma_icons.png) 8px -78px no-repeat;
padding: 1em 0.5em 1em 46px;
}
/***** E-mail Compose Page *****/
#messagetoolbar a.button.enigma {
background-image: url(enigma_icons.png);
background-position: center -122px;
background-repeat: no-repeat;
}
#enigmamenu {
color: white;
padding: 2px 5px;
}
#enigmamenu div.row {
display: table-row;
}
#enigmamenu div.row > label {
display: table-cell;
padding: 3px;
}
#enigmamenu div.row > div {
display: table-cell;
padding: 3px;
}
/***** Keys/Certs Management *****/
#settings-sections .enigma.keys a {
background-image: url(enigma_icons.png);
background-position: 7px -345px;
background-repeat: no-repeat;
}
#settings-sections .enigma.keys.selected a {
background-image: url(enigma_icons.png);
background-position: 7px -368px;
background-repeat: no-repeat;
}
#sections-table #rcmrowenigma .section {
background-image: url(enigma_icons.png);
background-position: 5px -297px;
background-repeat: no-repeat;
}
#sections-table #rcmrowenigma.selected .section {
background-image: url(enigma_icons.png);
background-position: 5px -321px;
background-repeat: no-repeat;
}
#mainscreen.enigma #settings-sections,
#mainscreen.enigma #settings-right
{
top: 44px;
}
#enigmacontent-box
{
position: absolute;
top: 0px;
left: 272px;
right: 0px;
bottom: 0px;
}
#enigmakeyslist
{
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 260px;
}
#keylistcountbar
{
margin-top: 4px;
margin-left: 4px;
}
#keys-table
{
width: 100%;
table-layout: fixed;
}
#keys-table td
{
text-overflow: ellipsis;
}
#keyimportform fieldset div
{
background-color: #eee;
padding: 10px;
}
#keycreateform td > label {
display: block;
}
#keycreateform ul.proplist li {
border: 0;
padding: 2px 0;
}
#keystoolbar
{
position: absolute;
top: -6px;
left: 0;
height: 40px;
white-space: nowrap;
z-index: 10;
}
#keystoolbar a.import {
background: url(enigma_icons.png) center 0 no-repeat transparent;
}
#keystoolbar a.export {
background: url(enigma_icons.png) center -40px no-repeat transparent;
}

1
plugins/enigma/enigma.min.css vendored Normal file
View File

@ -0,0 +1 @@
#enigma-message,#messagebody div #enigma-message{margin:0;margin-bottom:5px;padding:6px 12px 6px 30px;font-weight:700}div.enigmaerror,#messagebody div.enigmaerror{background:url(enigma_icons.png?v=b64c.2520) 3px -201px no-repeat #f2cccd;border:1px solid #c00005;color:#c00005}div.enigmanotice,#messagebody div.enigmanotice{background:url(enigma_icons.png?v=b64c.2520) 3px -171px no-repeat #c9e6d3;border:1px solid #008a2e;color:#008a2e}div.enigmawarning,#messagebody div.enigmawarning{background:url(enigma_icons.png?v=b64c.2520) 3px -231px no-repeat #fef893;border:1px solid #ffdf0e;color:#960}#enigma-message a{color:#666;padding-left:10px}#enigma-message a:hover{color:#333}p.enigmaattachment{margin:.5em 1em;width:auto;background:#f9f9f9;border:1px solid #d3d3d3;border-radius:4px}p.enigmaattachment span{display:inline-block;background:url(enigma_icons.png?v=b64c.2520) 8px -78px no-repeat;padding:1em .5em 1em 46px}#messagetoolbar a.button.enigma{background-image:url(enigma_icons.png?v=b64c.2520);background-position:center -122px;background-repeat:no-repeat}#enigmamenu{color:#fff;padding:2px 5px}#enigmamenu div.row{display:table-row}#enigmamenu div.row>label{display:table-cell;padding:3px}#enigmamenu div.row>div{display:table-cell;padding:3px}#settings-sections .enigma.keys a{background-image:url(enigma_icons.png?v=b64c.2520);background-position:7px -345px;background-repeat:no-repeat}#settings-sections .enigma.keys.selected a{background-image:url(enigma_icons.png?v=b64c.2520);background-position:7px -368px;background-repeat:no-repeat}#sections-table #rcmrowenigma .section{background-image:url(enigma_icons.png?v=b64c.2520);background-position:5px -297px;background-repeat:no-repeat}#sections-table #rcmrowenigma.selected .section{background-image:url(enigma_icons.png?v=b64c.2520);background-position:5px -321px;background-repeat:no-repeat}#mainscreen.enigma #settings-sections,#mainscreen.enigma #settings-right{top:44px}#enigmacontent-box{position:absolute;top:0;left:272px;right:0;bottom:0}#enigmakeyslist{position:absolute;top:0;bottom:0;left:0;width:260px}#keylistcountbar{margin-top:4px;margin-left:4px}#keys-table{width:100%;table-layout:fixed}#keys-table td{text-overflow:ellipsis}#keyimportform fieldset div{background-color:#eee;padding:10px}#keycreateform td>label{display:block}#keycreateform ul.proplist li{border:0;padding:2px 0}#keystoolbar{position:absolute;top:-6px;left:0;height:40px;white-space:nowrap;z-index:10}#keystoolbar a.import{background:url(enigma_icons.png?v=b64c.2520) center 0 no-repeat}#keystoolbar a.export{background:url(enigma_icons.png?v=b64c.2520) center -40px no-repeat}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -0,0 +1,21 @@
<roundcube:object name="doctype" value="html5" />
<html>
<head>
<roundcube:include file="/includes/links.html" />
</head>
<body class="iframe">
<h1 class="boxtitle"><roundcube:label name="enigma.createkeys" /></h1>
<div id="key-details" class="boxcontent">
<roundcube:object name="keyform" id="keycreateform" class="propform" size="40" textareacols="40" textarearows="6" />
</div>
<div class="footerleft formbuttons">
<roundcube:button command="plugin.enigma-key-save" type="input" class="button mainaction" label="save" />
</div>
<roundcube:include file="/includes/footer.html" />
</body>
</html>

View File

@ -0,0 +1,17 @@
<roundcube:object name="doctype" value="html5" />
<html>
<head>
<roundcube:include file="/includes/links.html" />
</head>
<body class="iframe fullheight">
<h1 class="voice"><roundcube:label name="enigma.importkeys" /></h1>
<div id="import-form" class="boxcontent">
<roundcube:object name="importform" class="propform" id="keyimportform" part="import" />
</div>
<roundcube:include file="/includes/footer.html" />
</body>
</html>

View File

@ -0,0 +1,17 @@
<roundcube:object name="doctype" value="html5" />
<html>
<head>
<roundcube:include file="/includes/links.html" />
</head>
<body class="iframe">
<h1 class="boxtitle"><roundcube:object name="keyname" part="name" /></h1>
<div id="key-details" class="boxcontent propform">
<roundcube:object name="keydata" class="propform" />
</div>
<roundcube:include file="/includes/footer.html" />
</body>
</html>

View File

@ -0,0 +1,91 @@
<roundcube:object name="doctype" value="html5" />
<html>
<head>
<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" />
<div id="mainscreen" class="enigma">
<h1 class="voice"><roundcube:label name="settings" /> : <roundcube:label name="enigma.enigmakeys" /></h1>
<!-- toolbar -->
<h2 id="aria-label-toolbar" class="voice"><roundcube:label name="arialabeltoolbar" /></h2>
<div id="keystoolbar" class="toolbar" role="toolbar" aria-labelledby="aria-label-toolbar">
<roundcube:button command="plugin.enigma-key-import-search" type="link" class="button search disabled" classAct="button search" classSel="button search pressed" label="search" title="enigma.keyimportsearchlabel" />
<roundcube:button command="plugin.enigma-key-import" type="link" class="button import disabled" classAct="button import" classSel="button import pressed" label="import" title="enigma.importkeys" />
<span class="dropbutton">
<roundcube:button command="plugin.enigma-key-export" type="link" class="button export disabled" classAct="button export" classSel="button export pressed" label="export" title="enigma.exportkeys" />
<a href="#export" class="dropbuttontip" id="exportmenulink" onclick="return UI.toggle_popup('exportmenu',event)" aria-haspopup="true" aria-expanded="false" aria-owns="exportmenu-menu" tabindex="0"><roundcube:label name="enigma.arialabelkeyexportoptions" /></a>
</span>
</div>
<div id="exportmenu" class="popupmenu" aria-hidden="true">
<h3 id="aria-label-exportmenu" class="voice"><roundcube:label name="enigma.arialabelkeyexportoptions" /></h3>
<ul id="exportmenu-menu" class="toolbarmenu" role="menu" aria-labelledby="aria-label-exportmenu">
<roundcube:button type="link-menuitem" command="plugin.enigma-key-export" label="exportall" prop="sub" class="exportalllink" classAct="exportalllink active" />
<roundcube:button type="link-menuitem" command="plugin.enigma-key-export-selected" label="exportsel" prop="sub" class="exportsellink" classAct="exportsellink active" />
</ul>
</div>
<div id="quicksearchbar" class="searchbox" role="search" aria-labelledby="aria-label-searchform">
<h2 id="aria-label-searchform" class="voice"><roundcube:label name="enigma.arialabelkeysearchform" /></h2>
<label for="quicksearchbox" class="voice"><roundcube:label name="arialabelmailquicksearchbox" /></label>
<roundcube:object name="searchform" id="quicksearchbox" />
<a id="searchmenulink" class="iconbutton searchicon" > </a>
<roundcube:button command="reset-search" id="searchreset" type="link" class="iconbutton reset" title="resetsearch" label="resetsearch" />
</div>
<roundcube:include file="/includes/settingstabs.html" />
<div id="settings-right" role="main" aria-labelledby="aria-label-enigmakeyslist">
<div id="enigmakeyslist" class="uibox listbox" role="navigation" aria-labelledby="enigmakeyslist-header">
<div id="enigmakeyslist-header" class="boxtitle"><roundcube:label name="enigma.enigmakeys" /></div>
<div class="scroller withfooter">
<roundcube:object name="keyslist" id="keys-table" class="listing" role="listbox" cellspacing="0" noheader="true" />
</div>
<div class="boxpagenav">
<roundcube:button command="firstpage" type="link" class="icon firstpage disabled" classAct="icon firstpage" title="firstpage" label="first" />
<roundcube:button command="previouspage" type="link" class="icon prevpage disabled" classAct="icon prevpage" title="previouspage" label="previous" />
<roundcube:button command="nextpage" type="link" class="icon nextpage disabled" classAct="icon nextpage" title="nextpage" label="next" />
<roundcube:button command="lastpage" type="link" class="icon lastpage disabled" classAct="icon lastpage" title="lastpage" label="last" />
</div>
<div class="boxfooter">
<roundcube:button command="plugin.enigma-key-create" type="link" title="enigma.createkeys" class="listbutton add disabled" classAct="listbutton add" innerClass="inner" label="enigma.keyadd" /><roundcube:button name="moreactions" id="keyoptionslink" type="link" title="enigma.keyactions" class="listbutton groupactions" onclick="return UI.toggle_popup('keyoptions',event)" innerClass="inner" label="enigma.arialabelkeyoptions" aria-haspopup="true" aria-expanded="false" aria-owns="keyoptionsmenu" />
<span class="countdisplay" aria-live="polite" aria-relevant="text">
<span class="voice"><roundcube:label name="enigma.enigmakeys" /></span>
<roundcube:object name="countdisplay" />
</span>
</div>
</div>
<div id="enigmacontent-box" class="uibox">
<div class="iframebox">
<roundcube:object name="contentframe" id="keyframe" width="100%" height="100%" frameborder="0" src="env:blankpage" />
</div>
</div>
</div>
</div>
<div id="keyoptions" class="popupmenu">
<ul class="toolbarmenu">
<li><roundcube:button class="deletelink" type="link" command="plugin.enigma-key-delete" label="enigma.keyremove" target="_blank" classAct="deletelink active" /></li>
<!--
<li><roundcube:button class="disablelink" command="enigma.key-disable" label="enigma.keydisable" target="_blank" classAct="disablelink active" /></li>
<li><roundcube:button class="revokelink" command="enigma.key-revoke" label="enigma.keyrevoke" classAct="revokelink active" /></li>
<li class="separator_below"><roundcube:button class="sendlink" command="enigma.key-send" label="enigma.keysend" classAct="sendlink active" /></li>
<li><roundcube:button class="chpasslink" command="enigma.key-chpass" label="enigma.keychpass" classAct="chpasslink active" /></li>
-->
</ul>
</div>
<roundcube:include file="/includes/footer.html" />
<script>
new rcube_splitter({ id:'enigmakeyssplitter', p1:'#enigmakeyslist', p2:'#enigmacontent-box',
orientation:'v', relative:true, start:266, min:180, size:12 }).init();
</script>
</body>
</html>

View File

@ -0,0 +1,17 @@
<roundcube:object name="doctype" value="html5" />
<html>
<head>
<roundcube:include file="/includes/links.html" />
</head>
<body class="iframe fullheight">
<h1 class="voice"><roundcube:label name="enigma.importkeys" /></h1>
<div id="import-form" class="boxcontent">
<roundcube:object name="importform" class="propform" id="keyimportform" part="search" />
</div>
<roundcube:include file="/includes/footer.html" />
</body>
</html>

40
plugins/help/help.css Normal file
View File

@ -0,0 +1,40 @@
#helpcontentframe {
border: 0;
border-radius: 4px;
}
#mainscreen .readtext {
margin: 20px;
}
#helptoolbar {
position: absolute;
top: -6px;
left: 0;
height: 40px;
white-space: nowrap;
}
#taskbar a.button-help span.button-inner {
background: url(help.png) 0 0 no-repeat;
height: 19px;
}
#taskbar a.button-help:hover span.button-inner,
#taskbar a.button-help.button-selected span.button-inner {
background: url(help.png) 0 -24px no-repeat;
height: 19px;
}
.toolbar a.button.help {
background: url(help.png) center -51px no-repeat;
}
.toolbar a.button.about {
background: url(help.png) center -89px no-repeat;
}
.toolbar a.button.license {
background: url(help.png) center -130px no-repeat;
}

1
plugins/help/help.min.css vendored Normal file
View File

@ -0,0 +1 @@
#helpcontentframe{border:0;border-radius:4px}#mainscreen .readtext{margin:20px}#helptoolbar{position:absolute;top:-6px;left:0;height:40px;white-space:nowrap}#taskbar a.button-help span.button-inner{background:url(help.png?v=59ac.1124) 0 0 no-repeat;height:19px}#taskbar a.button-help:hover span.button-inner,#taskbar a.button-help.button-selected span.button-inner{background:url(help.png?v=59ac.1124) 0 -24px no-repeat;height:19px}.toolbar a.button.help{background:url(help.png?v=59ac.1124) center -51px no-repeat}.toolbar a.button.about{background:url(help.png?v=59ac.1124) center -89px no-repeat}.toolbar a.button.license{background:url(help.png?v=59ac.1124) center -130px no-repeat}

BIN
plugins/help/help.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,15 @@
<roundcube:object name="doctype" value="html5" />
<html>
<head>
<roundcube:include file="/includes/links.html" />
</head>
<body class="iframe fullheight">
<div id="help-<roundcube:var name="env:action" />" class="boxcontent">
<roundcube:object name="helpcontent" />
</div>
<roundcube:include file="/includes/footer.html" />
</body>
</html>

View File

@ -0,0 +1,30 @@
<roundcube:object name="doctype" value="html5" />
<html>
<head>
<roundcube:include file="/includes/links.html" />
</head>
<roundcube:if condition="env:extwin" /><body class="extwin"><roundcube:else /><body><roundcube:endif />
<roundcube:include file="/includes/header.html" />
<div id="mainscreen">
<div id="helptoolbar" class="toolbar">
<roundcube:object name="tablink" action="index" type="link" label="help.help" title="help.help" class="button help" />
<roundcube:object name="tablink" action="about" type="link" label="help.about" title="help.about" class="button about" />
<roundcube:object name="tablink" action="license" type="link" label="help.license" title="help.license" class="button license" />
<roundcube:container name="helptabs" id="helptabsbar" />
</div>
<div id="pluginbody" class="uibox offset">
<div class="iframebox help_<roundcube:var name='env:action' />">
<roundcube:object name="contentframe" id="helpcontentframe" style="width:100%; height:100%" frameborder="0" src="env:blankpage" />
</div>
</div>
</div>
<roundcube:include file="/includes/footer.html" />
</body>
</html>

View File

@ -0,0 +1,31 @@
span.blockquote-link {
font-family: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif;
top: 0;
cursor: pointer;
right: 5px;
height: 14px;
min-width: 40px;
padding: 0 8px;
font-size: 10px;
font-weight: bold;
color: #a8a8a8;
line-height: 14px;
text-decoration: none;
text-shadow: 0px 1px 1px #fff;
text-align: center;
border: 1px solid #e8e8e8;
border-top: none;
border-bottom-right-radius: 6px;
border-bottom-left-radius: 6px;
background: #f8f8f8;
background: -moz-linear-gradient(top, #f8f8f8 0%, #e8e8e8 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f8f8f8), color-stop(100%,#e8e8e8));
background: -o-linear-gradient(top, #f8f8f8 0%, #e8e8e8 100%);
background: -ms-linear-gradient(top, #f8f8f8 0%, #e8e8e8 100%);
background: linear-gradient(top, #f8f8f8 0%, #e8e8e8 100%);
}
blockquote.blockquote-header {
text-overflow: ellipsis !important;
padding-right: 60px !important;
}

1
plugins/hide_blockquote/style.min.css vendored Normal file
View File

@ -0,0 +1 @@
span.blockquote-link{font-family:"Lucida Grande",Verdana,Arial,Helvetica,sans-serif;top:0;cursor:pointer;right:5px;height:14px;min-width:40px;padding:0 8px;font-size:10px;font-weight:700;color:#a8a8a8;line-height:14px;text-decoration:none;text-shadow:0 1px 1px #fff;text-align:center;border:1px solid #e8e8e8;border-top:none;border-bottom-right-radius:6px;border-bottom-left-radius:6px;background:#f8f8f8;background:-moz-linear-gradient(top,#f8f8f8 0,#e8e8e8 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#f8f8f8),color-stop(100%,#e8e8e8));background:-o-linear-gradient(top,#f8f8f8 0,#e8e8e8 100%);background:-ms-linear-gradient(top,#f8f8f8 0%,#e8e8e8 100%);background:linear-gradient(top,#f8f8f8 0%,#e8e8e8 100%)}blockquote.blockquote-header{text-overflow:ellipsis!important;padding-right:60px!important}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 644 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 323 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

1540
plugins/jqueryui/jquery-ui.css vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,556 @@
--- jquery-ui.css.orig 2016-09-08 12:47:27.000000000 +0200
+++ jquery-ui.css 2016-09-08 12:47:53.333000000 +0200
@@ -62,6 +62,8 @@
.ui-state-disabled {
cursor: default !important;
pointer-events: none;
+ background: #fafafa;
+ color: #333333;
}
@@ -196,12 +198,17 @@
left: 0;
cursor: default;
}
+.ui-menu.ui-widget,
.ui-menu {
list-style: none;
padding: 0;
margin: 0;
display: block;
outline: 0;
+ background: #444;
+ border: 1px solid #999;
+ border-radius: 4px !important;
+ box-shadow: 0 2px 6px 0 #333;
}
.ui-menu .ui-menu {
position: absolute;
@@ -211,6 +218,26 @@
cursor: pointer;
/* support: IE10, see #8844 */
list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");
+ color: #fff;
+ white-space: nowrap;
+ border-top: 1px solid #5a5a5a;
+}
+.ui-menu .ui-menu-item div,
+.ui-menu .ui-menu-item a {
+ display: block;
+ line-height: 1.5;
+ padding: 6px 10px 4px;
+ text-shadow: 0 1px 1px #333;
+ background-color: #444;
+ border: 0;
+ border-radius: 0;
+ color: #fff;
+}
+.ui-menu .ui-menu-item:first-child {
+ border-top: 0;
+}
+.ui-menu .ui-menu-item:last-child {
+ border-bottom: 0;
}
.ui-menu .ui-menu-item-wrapper {
position: relative;
@@ -223,9 +250,16 @@
line-height: 0;
border-width: 1px 0 0 0;
}
+.ui-menu .ui-menu-item .ui-state-focus,
+.ui-menu .ui-menu-item .ui-state-active,
.ui-menu .ui-state-focus,
.ui-menu .ui-state-active {
- margin: -1px;
+ background: #00aad6;
+ background: -moz-linear-gradient(top, #00aad6 0%, #008fc9 100%);
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#00aad6), color-stop(100%,#008fc9));
+ background: -o-linear-gradient(top, #00aad6 0%, #008fc9 100%);
+ background: -ms-linear-gradient(top, #00aad6 0%, #008fc9 100%);
+ background: linear-gradient(top, #00aad6 0%, #008fc9 100%);
}
/* icon support */
@@ -578,16 +612,24 @@
position: absolute;
top: 0;
left: 0;
- padding: .2em;
outline: 0;
+ padding: 3px;
+ background: #fff;
+ border-radius: 6px !important;
+ border: 0 !important;
+ box-shadow: 1px 1px 18px #666;
}
.ui-dialog .ui-dialog-titlebar {
- padding: .4em 1em;
+ padding: 15px 1em 8px 1em;
position: relative;
+ border: 0;
+ border-radius: 5px 5px 0 0;
}
.ui-dialog .ui-dialog-title {
float: left;
- margin: .1em 0;
+ margin: .1em 16px .1em 0;
+ font-size: 1.3em;
+ text-shadow: 1px 1px 1px #fff;
white-space: nowrap;
width: 90%;
overflow: hidden;
@@ -595,29 +637,53 @@
}
.ui-dialog .ui-dialog-titlebar-close {
position: absolute;
- right: .3em;
- top: 50%;
- width: 20px;
- margin: -10px 0 0 0;
- padding: 1px;
- height: 20px;
+ right: -15px;
+ top: -15px;
+ width: 30px;
+ margin: 0;
+ padding: 0;
+ height: 30px;
+ z-index: 99999;
+ border-width: 0 !important;
+ background: none !important;
+ filter: none !important;
+ box-shadow: none !important;
+}
+.ui-dialog .ui-dialog-titlebar-close.ui-state-focus {
+ outline: 2px solid #4fadd5;
+}
+.ui-dialog .ui-dialog-titlebar-close .ui-icon-closethick {
+ top: 0;
+ left: 0;
+ margin: 0;
+ width: 30px;
+ height: 30px;
+ background: url("images/ui-dialog-close.png") 0 0 no-repeat;
+}
+.no-close .ui-dialog-titlebar-close {
+ display: none !important;
}
.ui-dialog .ui-dialog-content {
position: relative;
border: 0;
- padding: .5em 1em;
+ padding: 1.5em 1em 0.5em 1em;
background: none;
overflow: auto;
}
+.ui-dialog .ui-widget-content {
+ border: 0;
+}
.ui-dialog .ui-dialog-buttonpane {
text-align: left;
border-width: 1px 0 0 0;
background-image: none;
- margin-top: .5em;
- padding: .3em 1em .5em .4em;
+ border-color: #ddd;
+ border-style: solid;
+ margin: 0;
+ padding: .3em 1em .5em .8em;
}
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
- float: right;
+ float: left;
}
.ui-dialog .ui-dialog-buttonpane button {
margin: .5em .4em .5em 0;
@@ -647,8 +713,11 @@
height: 7px;
}
.ui-dialog .ui-resizable-se {
- right: 0;
- bottom: 0;
+ width: 14px;
+ height: 14px;
+ right: 3px;
+ bottom: 3px;
+ background-position: -80px -224px;
}
.ui-dialog .ui-resizable-sw {
left: 0;
@@ -742,7 +811,13 @@
font-size: .7em;
display: block;
border: 0;
- background-position: 0 0;
+ background: #019bc6;
+ background: -moz-linear-gradient(top, #019bc6 0%, #017cb4 100%);
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#019bc6), color-stop(100%,#017cb4));
+ background: -o-linear-gradient(top, #019bc6 0%, #017cb4 100%);
+ background: -ms-linear-gradient(top, #019bc6 0%, #017cb4 100%);
+ background: linear-gradient(top, #019bc6 0%, #017cb4 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#019bc6', endColorstr='#017cb4', GradientType=0);
}
/* support: IE8 - See #6727 */
@@ -835,23 +910,41 @@
padding: .2em;
}
.ui-tabs .ui-tabs-nav {
- margin: 0;
- padding: .2em .2em 0;
+ margin: 0; padding: 0;
+ border: 0;
+ background: transparent;
+ filter: none;
+ height: 44px;
}
.ui-tabs .ui-tabs-nav li {
list-style: none;
- float: left;
position: relative;
+ display: inline-block;
top: 0;
- margin: 1px .2em 0 0;
- border-bottom-width: 0;
- padding: 0;
+ margin: 0;
+ border: 0 !important;
+ padding: 0 1px 0 0;
white-space: nowrap;
+ background: #f8f8f8;
+ background: -moz-linear-gradient(top, #f8f8f8 0%, #d3d3d3 50%, #f8f8f8 100%);
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f8f8f8), color-stop(50%,#d3d3d3), color-stop(100%,#f8f8f8));
+ background: -webkit-linear-gradient(top, #f8f8f8 0%, #d3d3d3 50%, #f8f8f8 100%);
+ background: -o-linear-gradient(top, #f8f8f8 0%, #d3d3d3 50%, #f8f8f8 100%);
+ background: -ms-linear-gradient(top, #f8f8f8 0%, #d3d3d3 50%, #f8f8f8 100%);
+ background: linear-gradient(top, #f8f8f8 0%, #d3d3d3 50%, #f8f8f8 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8f8f8', endColorstr='#d3d3d3', GradientType=0);
+}
+.ui-tabs .ui-tabs-nav li:last-child {
+ background: none;
}
.ui-tabs .ui-tabs-nav .ui-tabs-anchor {
- float: left;
- padding: .5em 1em;
+ display: inline-block;
+ padding: 15px;
text-decoration: none;
+ font-size: 12px;
+ color: #999;
+ background: #fafafa;
+ border-right: 1px solid #fafafa;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-active {
margin-bottom: -1px;
@@ -862,14 +955,26 @@
.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {
cursor: text;
}
+.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {
+ outline: none;
+ color: #004458;
+ background: #efefef;
+ background: -moz-linear-gradient(top, #fafafa 40%, #e4e4e4 100%);
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(40%,#fff), color-stop(100%,#e4e4e4));
+ background: -o-linear-gradient(top, #fafafa 40%, #e4e4e4 100%);
+ background: -ms-linear-gradient(top, #fafafa 40%, #e4e4e4 100%);
+ background: linear-gradient(top, #fafafa 40%, #e4e4e4 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fafafa', endColorstr='#e4e4e4', GradientType=0);
+}
.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {
cursor: pointer;
}
.ui-tabs .ui-tabs-panel {
display: block;
border-width: 0;
- padding: 1em 1.4em;
- background: none;
+ padding: 0.5em 1em;
+ margin-top: 0.2em;
+ background: #efefef;
}
.ui-tooltip {
padding: 8px;
@@ -897,22 +1002,25 @@
font-family: Arial,Helvetica,sans-serif;
font-size: 1em;
}
-.ui-widget.ui-widget-content {
- border: 1px solid #c5c5c5;
-}
.ui-widget-content {
border: 1px solid #dddddd;
background: #ffffff;
color: #333333;
}
.ui-widget-content a {
- color: #333333;
+ color: #0186ba;
}
.ui-widget-header {
border: 1px solid #dddddd;
- background: #e9e9e9;
color: #333333;
font-weight: bold;
+ background: #e4e4e4;
+ background: -moz-linear-gradient(top, #f2f2f2 0%, #e4e4e4 100%);
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f2f2f2), color-stop(100%,#e4e4e4));
+ background: -o-linear-gradient(top, #f2f2f2 0%, #e4e4e4 100%);
+ background: -ms-linear-gradient(top, #f2f2f2 0%, #e4e4e4 100%);
+ background: linear-gradient(top, #f2f2f2 0%, #e4e4e4 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f2f2f2', endColorstr='#e4e4e4', GradientType=0);
}
.ui-widget-header a {
color: #333333;
@@ -1073,27 +1181,7 @@
.ui-button .ui-icon {
background-image: url("images/ui-icons_777777_256x240.png");
}
-.ui-state-hover .ui-icon,
-.ui-state-focus .ui-icon,
-.ui-button:hover .ui-icon,
-.ui-button:focus .ui-icon,
-.ui-state-default .ui-icon {
- background-image: url("images/ui-icons_555555_256x240.png");
-}
-.ui-state-active .ui-icon,
-.ui-button:active .ui-icon {
- background-image: url("images/ui-icons_ffffff_256x240.png");
-}
-.ui-state-highlight .ui-icon,
-.ui-button .ui-state-highlight.ui-icon {
- background-image: url("images/ui-icons_777620_256x240.png");
-}
-.ui-state-error .ui-icon,
-.ui-state-error-text .ui-icon {
- background-image: url("images/ui-icons_cc0000_256x240.png");
-}
-/* positioning */
.ui-icon-blank { background-position: 16px 16px; }
.ui-icon-caret-1-n { background-position: 0 0; }
.ui-icon-caret-1-ne { background-position: -16px 0; }
@@ -1311,3 +1399,222 @@
-webkit-box-shadow: 0px 0px 5px #666666;
box-shadow: 0px 0px 5px #666666;
}
+
+/* Roundcube button styling */
+.ui-button.ui-state-default {
+ display: inline-block;
+ margin: 0 2px;
+ padding: 1px 2px;
+ text-shadow: 0px 1px 1px #fff;
+ border: 1px solid #c6c6c6;
+ border-radius: 4px;
+ background: #f7f7f7;
+ background: -moz-linear-gradient(top, #f9f9f9 0%, #e6e6e6 100%);
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f9f9f9), color-stop(100%,#e6e6e6));
+ background: -o-linear-gradient(top, #f9f9f9 0%, #e6e6e6 100%);
+ background: -ms-linear-gradient(top, #f9f9f9 0%, #e6e6e6 100%);
+ background: linear-gradient(top, #f9f9f9 0%, #e6e6e6 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f9f9f9', endColorstr='#e6e6e6', GradientType=0);
+ -webkit-box-shadow: 0 1px 1px 0 rgba(140, 140, 140, 0.3);
+ -moz-box-shadow: 0 1px 1px 0 rgba(140, 140, 140, 0.3);
+ -o-box-shadow: 0 1px 1px 0 rgba(140, 140, 140, 0.3);
+ box-shadow: 0 1px 1px 0 rgba(140, 140, 140, 0.3);
+ text-decoration: none;
+ outline: none;
+}
+
+.ui-button.mainaction {
+ color: #ededed;
+ text-shadow: 0px 1px 1px #333;
+ border-color: #1f262c;
+ background: #505050;
+ background: -moz-linear-gradient(top, #505050 0%, #2a2e31 100%);
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#505050), color-stop(100%,#2a2e31));
+ background: -o-linear-gradient(top, #505050 0%, #2a2e31 100%);
+ background: -ms-linear-gradient(top, #505050 0%, #2a2e31 100%);
+ background: linear-gradient(top, #505050 0%, #2a2e31 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#505050', endColorstr='#2a2e31', GradientType=0);
+ -moz-box-shadow: inset 0 1px 0 0 #777;
+ -webkit-box-shadow: inset 0 1px 0 0 #777;
+ -o-box-shadow: inset 0 1px 0 0 #777;
+ box-shadow: inset 0 1px 0 0 #777;
+}
+
+.ui-button.ui-state-focus {
+ color: #525252;
+ border-color: #4fadd5;
+ -moz-box-shadow: 0 0 2px 1px rgba(71,135,177, 0.6);
+ -webkit-box-shadow: 0 0 2px 1px rgba(71,135,177, 0.6);
+ -o-box-shadow: 0 0 2px 1px rgba(71,135,177, 0.6);
+ box-shadow: 0 0 2px 1px rgba(71,135,177, 0.6);
+}
+
+.ui-button.ui-state-active {
+ color: #525252;
+ border-color: #aaa;
+ background: #e6e6e6;
+ background: -moz-linear-gradient(top, #e6e6e6 0%, #f9f9f9 100%);
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#e6e6e6), color-stop(100%,#f9f9f9));
+ background: -o-linear-gradient(top, #e6e6e6 0%, #f9f9f9 100%);
+ background: -ms-linear-gradient(top, #e6e6e6 0%, #f9f9f9 100%);
+ background: linear-gradient(top, #e6e6e6 0%, #f9f9f9 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e6e6e6', endColorstr='#f9f9f9', GradientType=0);
+}
+
+.ui-button.ui-state-focus.mainaction,
+.ui-button.ui-state-hover.mainaction {
+ color: #fff;
+}
+
+.ui-button.ui-state-focus.mainaction {
+ border-color: #1f262c;
+ -moz-box-shadow: 0 0 2px 1px rgba(71,135,177, 0.6), inset 0 1px 0 0 #777;
+ -webkit-box-shadow: 0 0 2px 1px rgba(71,135,177, 0.6), inset 0 1px 0 0 #777;
+ -o-box-shadow: 0 0 2px 1px rgba(71,135,177, 0.6), inset 0 1px 0 0 #777;
+ box-shadow: 0 0 2px 1px rgba(71,135,177, 0.6), inset 0 1px 0 0 #777;
+}
+
+.ui-button.ui-state-active.mainaction {
+ color: #fff;
+ background: #515151;
+ background: -moz-linear-gradient(top, #2a2e31 0%, #505050 100%);
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#2a2e31), color-stop(100%,#505050));
+ background: -o-linear-gradient(top, #2a2e31 0%, #505050 100%);
+ background: -ms-linear-gradient(top, #2a2e31 0%, #505050 100%);
+ background: linear-gradient(top, #2a2e31 0%, #505050 100%);
+}
+
+.ui-button[disabled],
+.ui-button[disabled]:hover,
+.ui-button.mainaction[disabled] {
+ color: #aaa !important;
+}
+
+/* Roundcube's specific Datepicker style override */
+.ui-datepicker {
+ min-width: 20em;
+ padding: 0;
+ display: none;
+ border: 0;
+ border-radius: 3px;
+ -webkit-box-shadow: #666 1px 1px 10px;
+ -moz-box-shadow: 1px 1px 10px #666;
+ box-shadow: 1px 1px 16px #666;
+}
+.ui-datepicker .ui-datepicker-header {
+ padding: .3em 0;
+ border-radius: 3px 3px 0 0;
+ border: 0;
+ background: #3a3a3a;
+ filter: none;
+ color: #fff;
+ text-shadow: 0px 1px 1px #000;
+}
+.ui-datepicker .ui-datepicker-prev,
+.ui-datepicker .ui-datepicker-next {
+ border: 0;
+ background: none;
+}
+.ui-datepicker .ui-datepicker-header .ui-icon {
+ background: url("images/ui-icons-datepicker.png") 0 0 no-repeat;
+}
+.ui-datepicker .ui-datepicker-header .ui-icon-circle-triangle-w {
+ background-position: 0 2px;
+}
+.ui-datepicker .ui-datepicker-header .ui-icon-circle-triangle-e {
+ background-position: -14px 2px;
+}
+.ui-datepicker .ui-datepicker-prev-hover,
+.ui-datepicker .ui-datepicker-next-hover {
+ top: 2px;
+ border: 0;
+ background: none;
+}
+.ui-datepicker .ui-datepicker-prev,
+.ui-datepicker .ui-datepicker-prev-hover {
+ left: 2px;
+}
+.ui-datepicker .ui-datepicker-next,
+.ui-datepicker .ui-datepicker-next-hover {
+ right: 2px;
+}
+.ui-datepicker select.ui-datepicker-month,
+.ui-datepicker select.ui-datepicker-year {
+ border: 0;
+ background: #3a3a3a;
+ outline: none;
+ color: #fff;
+ font-weight: bold;
+ width: auto;
+ margin-right: 4px;
+ padding-right: 4px;
+}
+.ui-datepicker .ui-datepicker-title select::-ms-expand {
+ display: none;
+}
+.ie10 .ui-datepicker .ui-datepicker-title select,
+.webkit .ui-datepicker .ui-datepicker-title select,
+.mozilla .ui-datepicker .ui-datepicker-title select {
+ background-image: url("images/ui-icons-datepicker.png");
+ background-position: right -18px;
+ background-repeat: no-repeat;
+ padding-right: 14px;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+}
+.ui-datepicker .ui-datepicker-month:focus,
+.ui-datepicker .ui-datepicker-year:focus {
+ outline: 1px solid #4fadd5;
+}
+.ui-datepicker table {
+ margin: 0;
+ border-spacing: 0;
+}
+.ui-datepicker table:focus {
+ outline: 2px solid #4fadd5;
+ outline-offset: -2px;
+}
+.ui-datepicker td {
+ border: 1px solid #bbb;
+ padding: 0;
+}
+.ui-datepicker td span, .ui-datepicker td a {
+ border: 0;
+ padding: .5em;
+ text-shadow: 0px 1px 1px #fff;
+}
+.ui-datepicker td a.ui-state-default {
+ border: 0px solid #fff;
+ border-top-width: 1px;
+ border-left-width: 1px;
+ background: #e6e6e6;
+ background: -moz-linear-gradient(top, #e6e6e6 0%, #d6d6d6 100%);
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#e6e6e6), color-stop(100%,#d6d6d6));
+ background: -o-linear-gradient(top, #e6e6e6 0%, #d6d6d6 100%);
+ background: -ms-linear-gradient(top, #e6e6e6 0%, #d6d6d6 100%);
+ background: linear-gradient(top, #e6e6e6 0%, #d6d6d6 100%);
+}
+.ui-datepicker td a.ui-priority-secondary {
+ background: #eee;
+}
+.ui-datepicker td a.ui-state-active {
+ color: #fff;
+ border-color: #0286ac !important;
+ text-shadow: 0px 1px 1px #00516e !important;
+ background: #00acd4 !important;
+ background: -moz-linear-gradient(top, #00acd4 0%, #008fc7 100%);
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#00acd4), color-stop(100%,#008fc7));
+ background: -o-linear-gradient(top, #00acd4 0%, #008fc7 100%);
+ background: -ms-linear-gradient(top, #00acd4 0%, #008fc7 100%);
+ background: linear-gradient(top, #00acd4 0%, #008fc7 100%);
+}
+.ui-datepicker .ui-state-highlight {
+ color: #0081c2;
+}
+.ui-datepicker td.ui-datepicker-days-cell-over a.ui-state-default {
+ color: #fff;
+ border-color: rgba(73,180,210,0.7);
+ background: rgba(73,180,210,0.7);
+ text-shadow: 0px 1px 1px #666;
+}

6
plugins/jqueryui/jquery-ui.min.css vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,432 @@
.minicolors {
position: relative;
}
.minicolors-sprite {
background-image: url(images/jquery.minicolors.png);
}
.minicolors-swatch {
position: absolute;
vertical-align: middle;
background-position: -80px 0;
border: solid 1px #ccc;
cursor: text;
padding: 0;
margin: 0;
display: inline-block;
}
.minicolors-swatch-color {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
.minicolors input[type=hidden] + .minicolors-swatch {
width: 28px;
position: static;
cursor: pointer;
}
.minicolors input[type=hidden][disabled] + .minicolors-swatch {
cursor: default;
}
/* Panel */
.minicolors-panel {
position: absolute;
width: 173px;
background: white;
border: solid 1px #CCC;
box-shadow: 0 0 20px rgba(0, 0, 0, .2);
z-index: 99999;
box-sizing: content-box;
display: none;
}
.minicolors-panel.minicolors-visible {
display: block;
}
/* Panel positioning */
.minicolors-position-top .minicolors-panel {
top: -154px;
}
.minicolors-position-right .minicolors-panel {
right: 0;
}
.minicolors-position-bottom .minicolors-panel {
top: auto;
}
.minicolors-position-left .minicolors-panel {
left: 0;
}
.minicolors-with-opacity .minicolors-panel {
width: 194px;
}
.minicolors .minicolors-grid {
position: relative;
top: 1px;
left: 1px; /* LTR */
width: 150px;
height: 150px;
margin-bottom: 2px;
background-position: -120px 0;
cursor: crosshair;
}
[dir=rtl] .minicolors .minicolors-grid {
right: 1px;
}
.minicolors .minicolors-grid-inner {
position: absolute;
top: 0;
left: 0;
width: 150px;
height: 150px;
}
.minicolors-slider-saturation .minicolors-grid {
background-position: -420px 0;
}
.minicolors-slider-saturation .minicolors-grid-inner {
background-position: -270px 0;
background-image: inherit;
}
.minicolors-slider-brightness .minicolors-grid {
background-position: -570px 0;
}
.minicolors-slider-brightness .minicolors-grid-inner {
background-color: black;
}
.minicolors-slider-wheel .minicolors-grid {
background-position: -720px 0;
}
.minicolors-slider,
.minicolors-opacity-slider {
position: absolute;
top: 1px;
left: 152px; /* LTR */
width: 20px;
height: 150px;
background-color: white;
background-position: 0 0;
cursor: row-resize;
}
[dir=rtl] .minicolors-slider,
[dir=rtl] .minicolors-opacity-slider {
right: 152px;
}
.minicolors-slider-saturation .minicolors-slider {
background-position: -60px 0;
}
.minicolors-slider-brightness .minicolors-slider {
background-position: -20px 0;
}
.minicolors-slider-wheel .minicolors-slider {
background-position: -20px 0;
}
.minicolors-opacity-slider {
left: 173px; /* LTR */
background-position: -40px 0;
display: none;
}
[dir=rtl] .minicolors-opacity-slider {
right: 173px;
}
.minicolors-with-opacity .minicolors-opacity-slider {
display: block;
}
/* Pickers */
.minicolors-grid .minicolors-picker {
position: absolute;
top: 70px;
left: 70px;
width: 12px;
height: 12px;
border: solid 1px black;
border-radius: 10px;
margin-top: -6px;
margin-left: -6px;
background: none;
}
.minicolors-grid .minicolors-picker > div {
position: absolute;
top: 0;
left: 0;
width: 8px;
height: 8px;
border-radius: 8px;
border: solid 2px white;
box-sizing: content-box;
}
.minicolors-picker {
position: absolute;
top: 0;
left: 0;
width: 18px;
height: 2px;
background: white;
border: solid 1px black;
margin-top: -2px;
box-sizing: content-box;
}
/* Swatches */
.minicolors-swatches,
.minicolors-swatches li {
margin: 5px 0 3px 5px; /* LTR */
padding: 0;
list-style: none;
overflow: hidden;
}
[dir=rtl] .minicolors-swatches,
[dir=rtl] .minicolors-swatches li {
margin: 5px 5px 3px 0;
}
.minicolors-swatches .minicolors-swatch {
position: relative;
float: left; /* LTR */
cursor: pointer;
margin:0 4px 0 0; /* LTR */
}
[dir=rtl] .minicolors-swatches .minicolors-swatch {
float: right;
margin:0 0 0 4px;
}
.minicolors-with-opacity .minicolors-swatches .minicolors-swatch {
margin-right: 7px; /* LTR */
}
[dir=rtl] .minicolors-with-opacity .minicolors-swatches .minicolors-swatch {
margin-right: 0;
margin-left: 7px;
}
.minicolors-swatch.selected {
border-color: #000;
}
/* Inline controls */
.minicolors-inline {
display: inline-block;
}
.minicolors-inline .minicolors-input {
display: none !important;
}
.minicolors-inline .minicolors-panel {
position: relative;
top: auto;
left: auto; /* LTR */
box-shadow: none;
z-index: auto;
display: inline-block;
}
[dir=rtl] .minicolors-inline .minicolors-panel {
right: auto;
}
/* Default theme */
.minicolors-theme-default .minicolors-swatch {
top: 5px;
left: 5px; /* LTR */
width: 18px;
height: 18px;
}
[dir=rtl] .minicolors-theme-default .minicolors-swatch {
right: 5px;
}
.minicolors-theme-default .minicolors-swatches .minicolors-swatch {
margin-bottom: 2px;
top: 0;
left: 0; /* LTR */
width: 18px;
height: 18px;
}
[dir=rtl] .minicolors-theme-default .minicolors-swatches .minicolors-swatch {
right: 0;
}
.minicolors-theme-default.minicolors-position-right .minicolors-swatch {
left: auto; /* LTR */
right: 5px; /* LTR */
}
[dir=rtl] .minicolors-theme-default.minicolors-position-left .minicolors-swatch {
right: auto;
left: 5px;
}
.minicolors-theme-default.minicolors {
width: auto;
display: inline-block;
}
.minicolors-theme-default .minicolors-input {
height: 20px;
width: auto;
display: inline-block;
padding-left: 26px; /* LTR */
}
[dir=rtl] .minicolors-theme-default .minicolors-input {
text-align: right;
unicode-bidi: plaintext;
padding-left: 1px;
padding-right: 26px;
}
.minicolors-theme-default.minicolors-position-right .minicolors-input {
padding-right: 26px; /* LTR */
padding-left: inherit; /* LTR */
}
[dir=rtl] .minicolors-theme-default.minicolors-position-left .minicolors-input {
padding-right: inherit;
padding-left: 26px;
}
/* Bootstrap theme */
.minicolors-theme-bootstrap .minicolors-swatch {
z-index: 2;
top: 3px;
left: 3px; /* LTR */
width: 28px;
height: 28px;
border-radius: 3px;
}
[dir=rtl] .minicolors-theme-bootstrap .minicolors-swatch {
right: 3px;
}
.minicolors-theme-bootstrap .minicolors-swatches .minicolors-swatch {
margin-bottom: 2px;
top: 0;
left: 0; /* LTR */
width: 20px;
height: 20px;
}
[dir=rtl] .minicolors-theme-bootstrap .minicolors-swatches .minicolors-swatch {
right: 0;
}
.minicolors-theme-bootstrap .minicolors-swatch-color {
border-radius: inherit;
}
.minicolors-theme-bootstrap.minicolors-position-right > .minicolors-swatch {
left: auto; /* LTR */
right: 3px; /* LTR */
}
[dir=rtl] .minicolors-theme-bootstrap.minicolors-position-left > .minicolors-swatch {
right: auto;
left: 3px;
}
.minicolors-theme-bootstrap .minicolors-input {
float: none;
padding-left: 44px; /* LTR */
}
[dir=rtl] .minicolors-theme-bootstrap .minicolors-input {
text-align: right;
unicode-bidi: plaintext;
padding-left: 12px;
padding-right: 44px;
}
.minicolors-theme-bootstrap.minicolors-position-right .minicolors-input {
padding-right: 44px; /* LTR */
padding-left: 12px; /* LTR */
}
[dir=rtl] .minicolors-theme-bootstrap.minicolors-position-left .minicolors-input {
padding-right: 12px;
padding-left: 44px;
}
.minicolors-theme-bootstrap .minicolors-input.input-lg + .minicolors-swatch {
top: 4px;
left: 4px; /* LTR */
width: 37px;
height: 37px;
border-radius: 5px;
}
[dir=rtl] .minicolors-theme-bootstrap .minicolors-input.input-lg + .minicolors-swatch {
right: 4px;
}
.minicolors-theme-bootstrap .minicolors-input.input-sm + .minicolors-swatch {
width: 24px;
height: 24px;
}
.minicolors-theme-bootstrap .minicolors-input.input-xs + .minicolors-swatch {
width: 18px;
height: 18px;
}
.input-group .minicolors-theme-bootstrap:not(:first-child) .minicolors-input {
border-top-left-radius: 0; /* LTR */
border-bottom-left-radius: 0; /* LTR */
}
[dir=rtl] .input-group .minicolors-theme-bootstrap .minicolors-input {
border-radius: 4px;
}
[dir=rtl] .input-group .minicolors-theme-bootstrap:not(:first-child) .minicolors-input {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
[dir=rtl] .input-group .minicolors-theme-bootstrap:not(:last-child) .minicolors-input {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
/* bootstrap input-group rtl override */
[dir=rtl] .input-group .form-control,
[dir=rtl] .input-group-addon,
[dir=rtl] .input-group-btn > .btn,
[dir=rtl] .input-group-btn > .btn-group > .btn,
[dir=rtl] .input-group-btn > .dropdown-toggle {
border: 1px solid #ccc;
border-radius: 4px;
}
[dir=rtl] .input-group .form-control:first-child,
[dir=rtl] .input-group-addon:first-child,
[dir=rtl] .input-group-btn:first-child > .btn,
[dir=rtl] .input-group-btn:first-child > .btn-group > .btn,
[dir=rtl] .input-group-btn:first-child > .dropdown-toggle,
[dir=rtl] .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
[dir=rtl] .input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
border-left: 0;
}
[dir=rtl] .input-group .form-control:last-child,
[dir=rtl] .input-group-addon:last-child,
[dir=rtl] .input-group-btn:last-child > .btn,
[dir=rtl] .input-group-btn:last-child > .btn-group > .btn,
[dir=rtl] .input-group-btn:last-child > .dropdown-toggle,
[dir=rtl] .input-group-btn:first-child > .btn:not(:first-child),
[dir=rtl] .input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
/* Semantic Ui theme */
.minicolors-theme-semanticui .minicolors-swatch {
top: 0;
left: 0; /* LTR */
padding: 18px;
}
[dir=rtl] .minicolors-theme-semanticui .minicolors-swatch {
right: 0;
}
.minicolors-theme-semanticui input {
text-indent: 30px;
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,105 @@
/**
* Styles of the tagedit inputsforms
*/
.tagedit-list {
width: 100%;
margin: 0;
padding: 4px 4px 0 5px;
overflow: auto;
min-height: 26px;
background: #fff;
border: 1px solid #b2b2b2;
border-radius: 4px;
box-shadow: inset 0 0 2px 1px rgba(0,0,0, 0.1);
-moz-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);
-o-box-shadow: inset 0 0 2px 1px rgba(0,0,0, 0.1);
}
.tagedit-list li.tagedit-listelement {
list-style-type: none;
float: left;
margin: 0 4px 4px 0;
padding: 0;
}
/* New Item input */
.tagedit-list li.tagedit-listelement-new input {
border: 0;
height: 100%;
padding: 4px 1px;
width: 15px;
background: #fff;
border-radius: 0;
box-shadow: none;
-moz-box-shadow: none;
-webkit-box-shadow: none;
-o-box-shadow: none;
}
.tagedit-list li.tagedit-listelement-new input:focus {
box-shadow: none;
-moz-box-shadow: none;
-webkit-box-shadow: none;
-o-box-shadow: none;
outline: none;
}
.tagedit-list li.tagedit-listelement-new input.tagedit-input-disabled {
display: none;
}
/* Item that is put to the List */
.tagedit span.tag-element,
.tagedit-list li.tagedit-listelement-old {
padding: 3px 6px 1px 6px;
background: #ddeef5;
background: -moz-linear-gradient(top, #edf6fa 0%, #d6e9f3 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#edf6fa), color-stop(100%,#d6e9f3));
background: -o-linear-gradient(top, #edf6fa 0%, #d6e9f3 100%);
background: -ms-linear-gradient(top, #edf6fa 0%, #d6e9f3 100%);
background: linear-gradient(top, #edf6fa 0%, #d6e9f3 100%);
border: 1px solid #c2dae5;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
border-radius: 4px;
color: #0d5165;
line-height: 1.3em;
}
.tagedit-list li.tagedit-listelement-focus {
border-color: #4787b1;
-moz-box-shadow: 0 0 3px 1px rgba(71,135,177, 0.8);
-webkit-box-shadow: 0 0 3px 1px rgba(71,135,177, 0.8);
-o-box-shadow: 0 0 3px 1px rgba(71,135,177, 0.8);
box-shadow: 0 0 3px 1px rgba(71,135,177, 0.8);
}
.tagedit span.tag-element {
margin-right: 0.6em;
padding: 2px 6px;
/* cursor: pointer; */
}
.tagedit span.tag-element.inherit {
color: #666;
background: #f2f2f2;
border-color: #ddd;
}
.tagedit-list li.tagedit-listelement-old a.tagedit-close,
.tagedit-list li.tagedit-listelement-old a.tagedit-break,
.tagedit-list li.tagedit-listelement-old a.tagedit-delete,
.tagedit-list li.tagedit-listelement-old a.tagedit-save {
text-indent: -2000px;
display: inline-block;
position: relative;
top: -1px;
width: 16px;
height: 16px;
margin: 0 -4px 0 6px;
background: url('data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAOCAYAAAD0f5bSAAAAgUlEQVQoz2NgQAKzdxwWAOIEIG5AwiC+AAM2AJQIAOL3QPwfCwaJB6BrSMChGB0nwDQYwATP3nn4f+Ge4ygKQXyQOJKYAUjTepjAm09fwBimEUTDxJA0rWdANxWmaMXB0xiGwDADurthGkEAmwbqaCLFeWQFBOlBTlbkkp2MSE2wAA8R50rWvqeRAAAAAElFTkSuQmCC') left 1px no-repeat;
cursor: pointer;
}
.tagedit-list li.tagedit-listelement-old span {
display: inline-block;
height: 15px;
}

1
plugins/jqueryui/tagedit.min.css vendored Normal file
View File

@ -0,0 +1 @@
.tagedit-list{width:100%;margin:0;padding:4px 4px 0 5px;overflow:auto;min-height:26px;background:#fff;border:1px solid #b2b2b2;border-radius:4px;box-shadow:inset 0 0 2px 1px rgba(0,0,0,.1);-moz-box-shadow:inset 0 0 2px 1px rgba(0,0,0,.1);-webkit-box-shadow:inset 0 0 2px 1px rgba(0,0,0,.1);-o-box-shadow:inset 0 0 2px 1px rgba(0,0,0,.1)}.tagedit-list li.tagedit-listelement{list-style-type:none;float:left;margin:0 4px 4px 0;padding:0}.tagedit-list li.tagedit-listelement-new input{border:0;height:100%;padding:4px 1px;width:15px;background:#fff;border-radius:0;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;-o-box-shadow:none}.tagedit-list li.tagedit-listelement-new input:focus{box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;-o-box-shadow:none;outline:0}.tagedit-list li.tagedit-listelement-new input.tagedit-input-disabled{display:none}.tagedit span.tag-element,.tagedit-list li.tagedit-listelement-old{padding:3px 6px 1px 6px;background:#ddeef5;background:-moz-linear-gradient(top,#edf6fa 0,#d6e9f3 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#edf6fa),color-stop(100%,#d6e9f3));background:-o-linear-gradient(top,#edf6fa 0,#d6e9f3 100%);background:-ms-linear-gradient(top,#edf6fa 0%,#d6e9f3 100%);background:linear-gradient(top,#edf6fa 0%,#d6e9f3 100%);border:1px solid #c2dae5;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;color:#0d5165;line-height:1.3em}.tagedit-list li.tagedit-listelement-focus{border-color:#4787b1;-moz-box-shadow:0 0 3px 1px rgba(71,135,177,.8);-webkit-box-shadow:0 0 3px 1px rgba(71,135,177,.8);-o-box-shadow:0 0 3px 1px rgba(71,135,177,.8);box-shadow:0 0 3px 1px rgba(71,135,177,.8)}.tagedit span.tag-element{margin-right:.6em;padding:2px 6px}.tagedit span.tag-element.inherit{color:#666;background:#f2f2f2;border-color:#ddd}.tagedit-list li.tagedit-listelement-old a.tagedit-close,.tagedit-list li.tagedit-listelement-old a.tagedit-break,.tagedit-list li.tagedit-listelement-old a.tagedit-delete,.tagedit-list li.tagedit-listelement-old a.tagedit-save{text-indent:-2000px;display:inline-block;position:relative;top:-1px;width:16px;height:16px;margin:0 -4px 0 6px;background:url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAOCAYAAAD0f5bSAAAAgUlEQVQoz2NgQAKzdxwWAOIEIG5AwiC+AAM2AJQIAOL3QPwfCwaJB6BrSMChGB0nwDQYwATP3nn4f+Ge4ygKQXyQOJKYAUjTepjAm09fwBimEUTDxJA0rWdANxWmaMXB0xiGwDADurthGkEAmwbqaCLFeWQFBOlBTlbkkp2MSE2wAA8R50rWvqeRAAAAAElFTkSuQmCC) left 1px no-repeat;cursor:pointer}.tagedit-list li.tagedit-listelement-old span{display:inline-block;height:15px}

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 247 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 453 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 767 B

View File

@ -0,0 +1,544 @@
#filtersetslistbox
{
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 150px;
}
#filtersscreen
{
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 162px;
}
#filtersscreen.nosetlist
{
left: 0;
}
#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;
text-decoration: line-through;
}
#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;
vertical-align: middle;
}
#filter-form li {
border: none;
}
#filter-form .col-sm-4,
#filter-form .col-form-label {
display: inline-block;
min-width: 100px;
line-height: 2.5;
}
#filter-form input[type=checkbox] {
margin: 0;
}
#filter-form .col-form-label + div {
display: inline;
}
#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;
background-color: #eee;
}
div.rulerow:hover, div.actionrow:hover
{
background-color: #D9ECF4;
border: 1px solid #BBD3DA;
}
div.rulerow table, div.actionrow table
{
padding: 0px;
min-width: 600px;
}
#filter-form td
{
vertical-align: top;
}
#filter-form div.flexbox {
margin: 0;
}
td.advbutton
{
width: 1%;
overflow: hidden;
}
td.advbutton a
{
display: block;
padding-top: 16px;
height: 6px;
width: 12px;
text-decoration: none;
}
td.advbutton a span
{
display: 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%;
padding-top: 3px;
}
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;
}
td.rowtargets div.adv input
{
margin-bottom: 1px;
}
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;
}
#filter-form a.button
{
margin: 0;
padding: 0;
border: 0;
border-radius: 0;
}
#filter-form a.button span
{
display: none;
}
#filter-form a.button.add
{
background: url(images/add.png) no-repeat;
width: 30px;
height: 20px;
margin-right: 4px;
display: inline-block;
}
#filter-form a.button.del
{
background: url(images/del.png) no-repeat;
width: 30px;
height: 20px;
display: inline-block;
}
#filter-form a.button.disabled
{
opacity: 0.35;
filter: alpha(opacity=35);
cursor: default;
}
#filter-form select,
#filter-form input,
#filter-form textarea
{
vertical-align: middle;
max-width: 280px;
}
/* revert larry style button */
#filter-form input.button
{
padding: 4px 12px;
}
fieldset
{
border: 0;
padding: 0;
margin-bottom: 20px;
}
fieldset > legend
{
display: block;
font-size: 14px;
font-weight: bold;
padding-bottom: 10px;
margin-bottom: 0;
}
/* 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;
}
#vacationform .listelement input,
#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, #managesieve-forward {
position: absolute;
top: 0;
left: 212px;
right: 0;
bottom: 0;
overflow: auto;
}
#vacationform .listarea {
max-height: 91px;
}
#vacationform td.vacation {
white-space: nowrap;
}
#vacationform input.button {
margin-left: 10px;
}
/* RAW editor and CodeMirror overrides */
.raweditor textarea {
border: none;
border-radius: 0;
max-width: none !important;
box-shadow: none;
font-family: monospace;
width: 99%;
min-height: 300px;
}
.raweditor textarea,
.raweditor .CodeMirror {
position: absolute;
top: 34px;
bottom: 45px;
right: 0;
left: 0;
height: auto;
background-color: #fdfdfd;
border-bottom: 1px solid #eee;
}
.raweditor .CodeMirror-linebackground.line-error {
background-color: #f00;
opacity: 0.4;
}
.raweditor .errorGutter {
width: 0.8em;
}
.raweditor #footer {
position: absolute;
bottom: 5px;
}
body.iframe.raweditor {
min-width: 100px;
overflow: hidden;
}

File diff suppressed because one or more lines are too long

View File

@ -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;
}

View File

@ -0,0 +1 @@
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%;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:700}#managesieve-tip{z-index:100000;padding:3px;background-color:#eee}span.sieve.error{color:red;white-space:nowrap}

View File

@ -0,0 +1,29 @@
<roundcube:object name="doctype" value="html5" />
<html>
<head>
<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">
<roundcube:button command="plugin.managesieve-save" type="input" class="button mainaction" label="save" />
</div>
</div>
<roundcube:endif />
</form>
</div>
<roundcube:include file="/includes/footer.html" />
</body>
</html>

View File

@ -0,0 +1,31 @@
<roundcube:object name="doctype" value="html5" />
<html>
<head>
<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.forward" /></h1>
<roundcube:include file="/includes/settingstabs.html" />
<div id="managesieve-forward" class="uibox contentbox" role="main" aria-labelledby="aria-label-forwardform">
<div>
<h2 class="boxtitle" id="aria-label-forwardform"><roundcube:label name="managesieve.forward" /></h2>
<roundcube:object name="forwardform" id="forwardform" 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>

View File

@ -0,0 +1,86 @@
<roundcube:object name="doctype" value="html5" />
<html>
<head>
<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">
<roundcube:if condition="!env:managesieve_no_set_list" />
<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="&#9881;" aria-haspopup="true" aria-expanded="false" aria-owns="filtersetmenu-menu" />
</div>
</div>
<div id="filtersscreen">
<roundcube:else />
<div id="filtersscreen" class="nosetlist">
<roundcube:endif />
<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="&#9881;" 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="contentframe" id="filter-frame" style="width:100%; height:100%" frameborder="0" src="env:blankpage" 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 type="link" command="plugin.managesieve-setact" label="managesieve.enable" classAct="active" /></li>
<li role="menuitem"><roundcube:button type="link" command="plugin.managesieve-setdel" label="delete" classAct="active" /></li>
<roundcube:if condition="env:raw_sieve_editor != false" />
<li role="menuitem"><roundcube:button type="link" command="plugin.managesieve-seteditraw" label="managesieve.filterseteditraw" classAct="active" /></li>
<roundcube:endif />
<li role="menuitem" class="separator_above"><roundcube:button type="link" 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 type="link" command="plugin.managesieve-act" label="managesieve.enable" classAct="active" /></li>
<li role="menuitem"><roundcube:button type="link" command="plugin.managesieve-del" label="delete" classAct="active" /></li>
<roundcube:container name="filteroptions" id="filtermenu" />
</ul>
</div>
<roundcube:include file="/includes/footer.html" />
<script>
<roundcube:if condition="!env:managesieve_no_set_list" />
new rcube_splitter({ id:'managesievesplitter1', p1:'#filtersetslistbox', p2:'#filtersscreen',
orientation:'v', relative:true, start:156, min:120, size:12 }).init();
<roundcube:endif />
new rcube_splitter({ id:'managesievesplitter2', p1:'#filterslistbox', p2:'#filter-box',
orientation:'v', relative:true, start:186, min:120, size:12 }).init();
</script>
</body>
</html>

View File

@ -0,0 +1,23 @@
<roundcube:object name="doctype" value="html5" />
<html>
<head>
<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>

View File

@ -0,0 +1,23 @@
<roundcube:object name="doctype" value="html5" />
<html>
<head>
<roundcube:include file="/includes/links.html" />
</head>
<body class="iframe raweditor">
<div id="filtersetraw-title" class="boxtitle"><roundcube:label name="managesieve.filterseteditraw" /></div>
<div id="filter-form" class="boxcontent">
<roundcube:object name="filterseteditraw" />
<div id="footer">
<div class="footerleft formbuttons">
<roundcube:button command="plugin.managesieve-save" type="input" class="button mainaction" label="save" />
</div>
</div>
</form>
</div>
</body>
</html>

View File

@ -0,0 +1,31 @@
<roundcube:object name="doctype" value="html5" />
<html>
<head>
<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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1014 B

Some files were not shown because too many files have changed in this diff Show More