Skip to content

Commit

Permalink
Classic skin support
Browse files Browse the repository at this point in the history
  • Loading branch information
mstilkerich committed Aug 22, 2022
1 parent fd4f4fe commit a774ba5
Show file tree
Hide file tree
Showing 8 changed files with 214 additions and 4 deletions.
106 changes: 102 additions & 4 deletions skins/classic/carddav.css
Original file line number Diff line number Diff line change
@@ -1,6 +1,104 @@
#sections-table #rcmrowcd_preferences td.section {
background-position: 6px -766px;
/* CardDAV addressbook list pane */
#addressbookslist
{
position: absolute;
top: 0;
bottom: 0;
left: 0;
border: 1px solid #999999;
background-color: #F9F9F9;
overflow: hidden;
}
#sections-table #rcmrowcd_preferences.selected td.section {
background-position: 6px -791px;

/* put the addressbook active boxes in one line with the addressbook */
#addressbooks-table li input {
position: absolute;
right: 0;
top: 2px;
}

#addressbooks-table li a {
padding-right: 20px;
overflow: hidden;
text-overflow: ellipsis;
}

#addressbooks-table li a
{
cursor: default;
display: block;
position: relative;
padding-left: 25px;
padding-top: 2px;
padding-bottom: 2px;
text-decoration: none;
height: 15px;
}

#addressbooks-table li.account > a
{
background: url(images/silhouette.png) 5px 1px no-repeat;
}

#addressbooks-table li.selected
{
background-color: #929292;
}

#addressbooks-table li.selected > a,
{
color: #FFF;
font-weight: bold;
}

/* Addressbooks nested inside the accounts */
#addressbooks-table ul {
list-style: none;
padding: 0;
margin: 0;
border-top: 1px solid #EBEBEB;
background-color: #FFF;
font-weight: normal;
}

#addressbooks-table li.addressbook a {
padding-left: 40px; /* 24 + 1 x 16 */
background: url(images/folders.png) no-repeat 21px -108px;
}
#addressbooks-table li.addressbook div.treetoggle {
left: 23px !important;
}

/* toolbar buttons */
.boxfooter a.carddav_AccAdd
{
background: url(images/groupactions.png) 0 0 no-repeat transparent;
}

.boxfooter a.carddav_AccRm
{
background: url(images/groupactions.png) 0 -49px no-repeat transparent;
}


/* Account / addressbook details frame */

#addressbook-details
{
position: absolute;
top: 0;
right: 0;
bottom: 0;
border: 1px solid #999999;
overflow: hidden;
background-color: #F2F2F2;
}

#addressbook-frame
{
background-color: #F2F2F2;
border: none;
min-height: 100%; /* Chrome 14 bug */
}

/* vim: set ts=2:sw=2:expandtab:fenc=utf8:ff=unix:tw=120 */
Binary file added skins/classic/images/folders.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added skins/classic/images/groupactions.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added skins/classic/images/silhouette.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
23 changes: 23 additions & 0 deletions skins/classic/templates/accountDetails.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<roundcube:include file="/includes/links.html" />
<script type="text/javascript" src="/functions.js"></script>
</head>
<body class="iframe">

<div id="accountdetails-title" class="boxtitle"><roundcube:label name="carddav.AccProps_rclbl" /></div>

<div id="accountdetails" class="boxcontent">
<roundcube:object id="accountdetails" name="accountdetails" />
<div id="formfooter">
<div class="footerleft">
<roundcube:button command="plugin.carddav-AccSave" type="input" class="button mainaction" label="save" />
</div>
</div>
</div>

<script type="text/javascript">rcube_init_tabs('accountdetails > form')</script>

</body>
</html>
23 changes: 23 additions & 0 deletions skins/classic/templates/addressbookDetails.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<roundcube:include file="/includes/links.html" />
<script type="text/javascript" src="/functions.js"></script>
</head>
<body class="iframe">

<div id="addressbookdetails-title" class="boxtitle"><roundcube:label name="carddav.AbProps_rclbl" /></div>

<div id="addressbookdetails" class="boxcontent">
<roundcube:object id="addressbookdetails" name="addressbookdetails" />
<div id="formfooter">
<div class="footerleft">
<roundcube:button command="plugin.carddav-AbSave" type="input" class="button mainaction" label="save" />
</div>
</div>
</div>

<script type="text/javascript">rcube_init_tabs('addressbookdetails > form')</script>

</body>
</html>
65 changes: 65 additions & 0 deletions skins/classic/templates/addressbooks.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<roundcube:include file="/includes/links.html" />
<script type="text/javascript" src="/functions.js"></script>
<script type="text/javascript" src="/splitter.js"></script>
<style type="text/css">
#addressbookslist { width: <roundcube:exp expression="!empty(cookie:addressbooksviewsplitter) ? cookie:addressbooksviewsplitter-5 : 295" />px; }
#addressbook-details { left: <roundcube:exp expression="!empty(cookie:addressbooksviewsplitter) ? cookie:addressbooksviewsplitter+5 : 305" />px; }
</style>
</head>
<body>

<roundcube:include file="/includes/taskbar.html" />
<roundcube:include file="/includes/header.html" />
<roundcube:include file="/includes/settingstabs.html" />

<div id="mainscreen">

<div id="addressbookslist">
<div id="addressbookslist-title" class="boxtitle">
<roundcube:label name="carddav.CardDAV_rclbl" />
</div>

<div id="addressbookslist-content" class="boxlistcontent">
<roundcube:object name="addressbookslist" id="addressbooks-table" class="treelist" />
</div>
<div id="addressbookslist-footer" class="boxfooter">
<roundcube:if condition="!env:carddav_forbidCustomAddressbooks" />
<roundcube:button command="plugin.carddav-AccAdd" type="link" title="carddav.AccAdd_btntit" class="buttonPas carddav_AccAdd" classAct="button carddav_AccAdd" content=" " />
<roundcube:endif />

<roundcube:button command="plugin.carddav-AccRm" type="link" title="carddav.AccRm_btntit" class="buttonPas carddav_AccRm" classAct="button carddav_AccRm" content=" " />

<roundcube:button name="addressbooksmenulink" id="addressbooksmenulink" type="link" title="carddav.AccActions_btntit" class="button groupactions" onclick="rcmail_ui.show_popup('addressbooksmenu');return false" content=" " />

</div>
</div>

<script type="text/javascript">
var addressbooksviewsplit = new rcube_splitter({id:'addressbooksviewsplitter', p1: 'addressbookslist', p2: 'addressbook-details', orientation: 'v', relative: true, start: 300 });
rcmail.add_onload('addressbooksviewsplit.init()');
</script>

<div id="addressbook-details">
<roundcube:object name="contentframe" id="addressbook-frame" width="100%" height="100%" frameborder="0" src="env:blankpage" />
</div>

</div>

<div id="addressbooksmenu" class="popupmenu">
<ul>
<li><roundcube:button type="link" command="plugin.carddav-AccRedisc" label="carddav.AccRedisc_btntit" classAct="active" /></li>
<li><roundcube:button type="link" command="plugin.carddav-AbSync" label="carddav.AbSync_btntit" classAct="active" /></li>
<li><roundcube:button type="link" command="plugin.carddav-AbClrCache" label="carddav.AbClrCache_btnlbl" classAct="active" /></li>
<roundcube:container name="mailboxoptions" id="mailboxoptionsmenu" />
</ul>
</div>

<script type="text/javascript">
rcube_init_mail_ui();
</script>

</body>
</html>
1 change: 1 addition & 0 deletions src/Frontend/UI.php
Original file line number Diff line number Diff line change
Expand Up @@ -769,6 +769,7 @@ private function uiField(array $fieldSpec, string $fieldValue, bool $readonly):
'name' => $fieldKey,
'type' => $uiType,
'value' => $fieldValueFormatted,
'size' => 60,
'disabled' => $readonly,
]);
return $input->show();
Expand Down

0 comments on commit a774ba5

Please sign in to comment.