aboutsummaryrefslogtreecommitdiffstats
path: root/view
diff options
context:
space:
mode:
Diffstat (limited to 'view')
-rw-r--r--view/default.php3
-rw-r--r--view/nav.tpl109
-rw-r--r--view/theme/quattro/LIBERATION-FONTS-COPYING339
-rw-r--r--view/theme/quattro/LiberationSans-Bold.ttfbin0 -> 136664 bytes
-rw-r--r--view/theme/quattro/LiberationSans-Italic.ttfbin0 -> 161532 bytes
-rw-r--r--view/theme/quattro/LiberationSans-Regular.ttfbin0 -> 139036 bytes
-rw-r--r--view/theme/quattro/liberation-fonts-ttf-1.07.0.tar.gzbin0 -> 1326750 bytes
-rw-r--r--view/theme/quattro/style.css256
-rw-r--r--view/theme/quattro/style.less269
9 files changed, 960 insertions, 16 deletions
diff --git a/view/default.php b/view/default.php
index 0d4a69054..ab1cb0f09 100644
--- a/view/default.php
+++ b/view/default.php
@@ -6,8 +6,7 @@
<?php if(x($page,'htmlhead')) echo $page['htmlhead'] ?>
</head>
<body>
- <header><?php if(x($page,'header')) echo $page['header']; ?></header>
- <nav><div id="top-margin"></div><?php if(x($page,'nav')) echo $page['nav']; ?></nav>
+ <?php if(x($page,'nav')) echo $page['nav']; ?>
<aside><?php if(x($page,'aside')) echo $page['aside']; ?></aside>
<section><?php if(x($page,'content')) echo $page['content']; ?>
<div id="page-footer"></div>
diff --git a/view/nav.tpl b/view/nav.tpl
index 09a25ac83..434c9f844 100644
--- a/view/nav.tpl
+++ b/view/nav.tpl
@@ -1,6 +1,97 @@
-$langselector
+<header>
+ {# $langselector #}
-<div id="site-location">$sitelocation</div>
+ <div id="site-location">$sitelocation</div>
+ <div id="banner">$banner</div>
+</header>
+<nav>
+ <ul>
+ {{ if $userinfo }}
+ <li id="nav-user-linkmenu" class="nav-menu-icon"><a href="#" rel="#nav-user-menu" title="$sitelocation"><img src="$userinfo.icon" alt="$userinfo.name"></a>
+ <ul id="nav-user-menu" class="menu-popup">
+ {{ for $nav.usermenu as $usermenu }}
+ <li><a class="$usermenu.2" href="$usermenu.0" title="$usermenu.3">$usermenu.1</a></li>
+ {{ endfor }}
+
+ {{ if $nav.notifications }}<li><a class="$nav.notifications.2" href="$nav.notifications.0" title="$nav.notifications.3" >$nav.notifications.1</a></li>{{ endif }}
+ {{ if $nav.messages }}<li><a class="$nav.messages.2" href="$nav.messages.0" title="$nav.messages.3" >$nav.messages.1</a></li>{{ endif }}
+ {{ if $nav.contacts }}<li><a class="$nav.contacts.2" href="$nav.contacts.0" title="$nav.contacts.3" >$nav.contacts.1</a>{{ endif }}
+ </ul>
+ </li>
+ {{ endif }}
+
+ {{ if $nav.community }}
+ <li id="nav-community-link" class="nav-menu $sel.community">
+ <a class="$nav.community.2" href="$nav.community.0" title="$nav.community.3" >$nav.community.1</a>
+ </li>
+ {{ endif }}
+
+ {{ if $nav.network }}
+ <li id="nav-network-link" class="nav-menu $sel.network">
+ <a class="$nav.network.2" href="$nav.network.0" title="$nav.network.3" >$nav.network.1</a>
+ <span id="net-update" class="nav-notify"></span>
+ </li>
+ {{ endif }}
+ {{ if $nav.home }}
+ <li id="nav-home-link" class="nav-menu $sel.home">
+ <a class="$nav.home.2" href="$nav.home.0" title="$nav.home.3" >$nav.home.1</a>
+ <span id="home-update" class="nav-notify"></span>
+ </li>
+ {{ endif }}
+
+ {{ if $nav.notifications }}
+ <li id="nav-notifications-linkmenu" class="nav-menu-icon"><a href="$nav.notifications.0" rel="#nav-notifications-menu" title="$nav.notifications.1"><span class="icon s22 notify">$nav.notifications.1</span></a>
+ <span id="notify-update" class="nav-notify"></span>
+ <ul id="nav-notifications-menu" class="menu-popup">
+ <li class="empty">$emptynotifications</li>
+ </ul>
+ </li>
+ {{ endif }}
+
+
+
+
+
+
+
+
+
+
+ <li id="nav-site-linkmenu" class="nav-menu-icon"><a href="#" rel="#nav-site-menu"><span class="icon s22 gear">Site</span></a>
+ <ul id="nav-site-menu" class="menu-popup">
+ {{ if $nav.settings }}<li><a class="$nav.settings.2" href="$nav.settings.0" title="$nav.settings.3">$nav.settings.1</a></li>{{ endif }}
+ {{ if $nav.admin }}<li><a class="$nav.admin.2" href="$nav.admin.0" title="$nav.admin.3" >$nav.admin.1</a></li>{{ endif }}
+
+ {{ if $nav.logout }}<li><a class="menu-sep $nav.logout.2" href="$nav.logout.0" title="$nav.logout.3" >$nav.logout.1</a></li>{{ endif }}
+ {{ if $nav.login }}<li><a class="$nav.login.2" href="$nav.login.0" title="$nav.login.3" >$nav.login.1</a><li>{{ endif }}
+ </ul>
+ </li>
+
+
+ <li id="nav-help-link" class="nav-menu $sel.help">
+ <a class="$nav.help.2" target="friendika-help" href="$nav.help.0" title="$nav.help.3" >$nav.help.1</a>
+ </li>
+
+ <li id="nav-search-link" class="nav-menu $sel.search">
+ <a class="$nav.search.2" href="$nav.search.0" title="$nav.search.3" >$nav.search.1</a>
+ </li>
+ <li id="nav-directory-link" class="nav-menu $sel.directory">
+ <a class="$nav.directory.2" href="$nav.directory.0" title="$nav.directory.3" >$nav.directory.1</a>
+ </li>
+
+ {{ if $nav.apps }}
+ <li id="nav-apps-link" class="nav-menu $sel.apps">
+ <a class=" $nav.apps.2" href="$nav.apps.0" title="$nav.apps.3" >$nav.apps.1</a>
+ </li>
+ {{ endif }}
+ </ul>
+
+</nav>
+<ul id="nav-notifications-template" style="display:none;" rel="template">
+ <li><a href="{0}"><img src="{1}">{2} <span class="notif-when">{3}</span></a></li>
+</ul>
+
+{#
{{ if $nav.logout }}<a id="nav-logout-link" class="nav-link $nav.logout.2" href="$nav.logout.0" title="$nav.logout.3" >$nav.logout.1</a> {{ endif }}
{{ if $nav.login }}<a id="nav-login-link" class="nav-login-link $nav.login.2" href="$nav.login.0" title="$nav.login.3" >$nav.login.1</a> {{ endif }}
@@ -18,17 +109,6 @@ $langselector
{{ if $nav.admin }}<a id="nav-admin-link" class="nav-link $nav.admin.2" href="$nav.admin.0" title="$nav.admin.3" >$nav.admin.1</a>{{ endif }}
-{{ if $nav.network }}
-<a id="nav-network-link" class="nav-commlink $nav.network.2" href="$nav.network.0" title="$nav.network.3" >$nav.network.1</a>
-<span id="net-update" class="nav-ajax-left"></span>
-{{ endif }}
-{{ if $nav.home }}
-<a id="nav-home-link" class="nav-commlink $nav.home.2" href="$nav.home.0" title="$nav.home.3" >$nav.home.1</a>
-<span id="home-update" class="nav-ajax-left"></span>
-{{ endif }}
-{{ if $nav.community }}
-<a id="nav-community-link" class="nav-commlink $nav.community.2" href="$nav.community.0" title="$nav.community.3" >$nav.community.1</a>
-{{ endif }}
{{ if $nav.notifications }}
<a id="nav-notify-link" class="nav-commlink $nav.notifications.2" href="$nav.notifications.0" title="$nav.notifications.3" >$nav.notifications.1</a>
<span id="notify-update" class="nav-ajax-left"></span>
@@ -43,7 +123,8 @@ $langselector
{{ if $nav.settings }}<a id="nav-settings-link" class="nav-link $nav.settings.2" href="$nav.settings.0" title="$nav.settings.3">$nav.settings.1</a>{{ endif }}
{{ if $nav.profiles }}<a id="nav-profiles-link" class="nav-link $nav.profiles.2" href="$nav.profiles.0" title="$nav.profiles.3" >$nav.profiles.1</a>{{ endif }}
-{{ if $nav.contacts }}<a id="nav-contacts-link" class="nav-link $nav.contacts.2" href="$nav.contacts.0" title="$nav.contacts.3" >$nav.contacts.1</a>{{ endif }}
+
</span>
<span id="nav-end"></span>
<span id="banner">$banner</span>
+#}
diff --git a/view/theme/quattro/LIBERATION-FONTS-COPYING b/view/theme/quattro/LIBERATION-FONTS-COPYING
new file mode 100644
index 000000000..d511905c1
--- /dev/null
+++ b/view/theme/quattro/LIBERATION-FONTS-COPYING
@@ -0,0 +1,339 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/view/theme/quattro/LiberationSans-Bold.ttf b/view/theme/quattro/LiberationSans-Bold.ttf
new file mode 100644
index 000000000..169fac34d
--- /dev/null
+++ b/view/theme/quattro/LiberationSans-Bold.ttf
Binary files differ
diff --git a/view/theme/quattro/LiberationSans-Italic.ttf b/view/theme/quattro/LiberationSans-Italic.ttf
new file mode 100644
index 000000000..8b9dc760a
--- /dev/null
+++ b/view/theme/quattro/LiberationSans-Italic.ttf
Binary files differ
diff --git a/view/theme/quattro/LiberationSans-Regular.ttf b/view/theme/quattro/LiberationSans-Regular.ttf
new file mode 100644
index 000000000..ceeaa2740
--- /dev/null
+++ b/view/theme/quattro/LiberationSans-Regular.ttf
Binary files differ
diff --git a/view/theme/quattro/liberation-fonts-ttf-1.07.0.tar.gz b/view/theme/quattro/liberation-fonts-ttf-1.07.0.tar.gz
new file mode 100644
index 000000000..0c86f7347
--- /dev/null
+++ b/view/theme/quattro/liberation-fonts-ttf-1.07.0.tar.gz
Binary files differ
diff --git a/view/theme/quattro/style.css b/view/theme/quattro/style.css
new file mode 100644
index 000000000..ea0ed8eac
--- /dev/null
+++ b/view/theme/quattro/style.css
@@ -0,0 +1,256 @@
+/**
+ * Fabio Comuni <http://kirgroup.com/profile/fabrixxm>
+ **/
+/* global */
+body {
+ font-family: Liberation Sans, helvetica, arial, clean, sans-serif;
+ font-size: 12px;
+ background-color: #ffffff;
+ color: #2d2d2d;
+ margin: 0px;
+ display: table-row;
+}
+a, a:visited, a:link {
+ color: #005c94;
+ text-decoration: none;
+}
+a:hover {
+ text-decoration: underline;
+}
+.left {
+ float: left;
+}
+.right {
+ float: right;
+}
+/* icons */
+.icon {
+ background-color: transparent ;
+ background-repeat: no-repeat;
+ background-position: center center;
+ display: block;
+ overflow: hidden;
+ text-indent: -9999px;
+}
+.icon.s22 {
+ width: 22px;
+ height: 22px;
+ padding: 1px;
+}
+.icon.s22.notify {
+ background-image: url("../../../images/icons/notify_off_22.png");
+}
+.icon.s22.gear {
+ background-image: url("../../../images/icons/gear_22.png");
+}
+/* header */
+header {
+ position: fixed;
+ left: 43%;
+ right: 43%;
+ top: 0px;
+ margin: 0px;
+ padding: 0px;
+ /*width: 100%; height: 12px; */
+
+ z-index: 110;
+ color: #ffffff;
+}
+header #site-location {
+ /*font-size:8px;
+ float:left;
+ background-color: @Metalic3;
+ padding: 1px 5px;
+ margin-left: 20px;
+ .roundbottom()*/
+
+ display: none;
+}
+header #banner {
+ text-align: center;
+ width: 100%;
+}
+header #banner a,
+header #banner a:active,
+header #banner a:visited,
+header #banner a:link,
+header #banner a:hover {
+ color: #ffffff;
+ text-decoration: none;
+ outline: none;
+ vertical-align: bottom;
+}
+header #banner #logo-img {
+ height: 22px;
+ margin-top: 5px;
+}
+header #banner #logo-text {
+ font-size: 22px;
+}
+/* nav */
+nav {
+ width: 100%;
+ height: 32px;
+ position: fixed;
+ left: 0px;
+ top: 0px;
+ padding: 0px;
+ background-color: #0e232e;
+ color: #ffffff;
+ z-index: 100;
+ -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
+ -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
+ box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
+}
+nav a,
+nav a:active,
+nav a:visited,
+nav a:link,
+nav a:hover {
+ color: #ffffff;
+ text-decoration: none;
+ outline: none;
+}
+nav ul {
+ margin: 0px;
+ padding: 0px 20px;
+}
+nav ul li {
+ list-style: none;
+ margin: 0px;
+ padding: 0px;
+ float: left;
+}
+nav ul li .menu-popup {
+ left: 0px;
+ right: auto;
+}
+nav .nav-menu-icon {
+ position: relative;
+ height: 22px;
+ padding: 5px;
+ margin: 0px 10px;
+ -moz-border-radius: 5px 5px 0 0;
+ -webkit-border-radius: 5px 5px 0 0;
+ border-radius: 5px 5px 0 0;
+}
+nav .nav-menu-icon.selected {
+ background-color: #364e59;
+}
+nav .nav-menu-icon img {
+ width: 22px;
+ height: 22px;
+}
+nav .nav-menu-icon .nav-notify {
+ top: 3px;
+}
+nav .nav-menu {
+ position: relative;
+ height: 16px;
+ padding: 5px;
+ margin: 3px 15px 0px;
+ font-size: 14px;
+ border-bottom: 3px solid #0e232e;
+}
+nav .nav-menu.selected {
+ border-bottom: 3px solid #9eabb0;
+}
+nav .nav-notify {
+ display: none;
+ position: absolute;
+ background-color: #19aeff;
+ -moz-border-radius: 5px 5px 5px 5px;
+ -webkit-border-radius: 5px 5px 5px 5px;
+ border-radius: 5px 5px 5px 5px;
+ font-size: 10px;
+ padding: 1px 3px;
+ top: 0px;
+ right: -10px;
+ min-width: 15px;
+ text-align: right;
+}
+nav .nav-notify.show {
+ display: block;
+}
+nav #nav-help-link,
+nav #nav-search-link,
+nav #nav-directory-link,
+nav #nav-apps-link,
+nav #nav-site-linkmenu {
+ float: right;
+}
+nav #nav-help-link .menu-popup,
+nav #nav-search-link .menu-popup,
+nav #nav-directory-link .menu-popup,
+nav #nav-apps-link .menu-popup,
+nav #nav-site-linkmenu .menu-popup {
+ right: 0px;
+ left: auto;
+}
+nav #nav-notifications-linkmenu.selected .icon.s22.notify {
+ background-image: url("../../../images/icons/notify_on_22.png");
+}
+ul.menu-popup {
+ position: absolute;
+ display: none;
+ width: 10em;
+ background: #ffffff;
+ color: #2d2d2d;
+ margin: 0px;
+ padding: 0px;
+ list-style: none;
+ border: 3px solid #364e59;
+ z-index: 100000;
+ -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
+ -moz-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
+ box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
+}
+ul.menu-popup a {
+ display: block;
+ color: #2d2d2d;
+ padding: 5px 10px;
+}
+ul.menu-popup a:hover {
+ background-color: #bdcdd4;
+}
+ul.menu-popup .menu-sep {
+ border-top: 1px solid #9eabb0;
+}
+ul.menu-popup li {
+ float: none;
+ overflow: auto;
+ height: auto;
+ display: block;
+}
+ul.menu-popup .empty {
+ padding: 5px;
+ text-align: center;
+ color: #9eabb0;
+}
+#nav-notifications-menu {
+ width: 400px;
+}
+#nav-notifications-menu img {
+ float: left;
+ margin-right: 5px;
+}
+#nav-notifications-menu .contactname {
+ font-weight: bold;
+}
+#nav-notifications-menu .notif-when {
+ font-size: 10px;
+ color: #9eabb0;
+ display: block;
+}
+/* aside */
+aside {
+ display: table-cell;
+ width: 200px;
+ padding: 50px 10px 0px 20px;
+}
+/* section */
+section {
+ display: table-cell;
+ width: 800px;
+ padding: 50px 20px 0px 10px;
+}
diff --git a/view/theme/quattro/style.less b/view/theme/quattro/style.less
new file mode 100644
index 000000000..5f3958f9d
--- /dev/null
+++ b/view/theme/quattro/style.less
@@ -0,0 +1,269 @@
+/**
+ * Fabio Comuni <http://kirgroup.com/profile/fabrixxm>
+ **/
+// Less file http://lesscss.org/
+// compile with lessc
+// $ lessc style.less > style.css
+
+// "Echo" palette from Inkscape
+@Blue1:rgb(25,174,255);
+@Blue2:rgb(0,132,200);
+@Blue3:rgb(0,92,148);
+@Red1:rgb(255,65,65);
+@Red2:rgb(220,0,0);
+@Red3:rgb(181,0,0);
+@Orange1:rgb(255,255,62);
+@Orange2:rgb(255,153,0);
+@Orange3:rgb(255,102,0);
+@Brown1:rgb(255,192,34);
+@Brown2:rgb(184,129,0);
+@Brown3:rgb(128,77,0);
+@Green1:rgb(204,255,66);
+@Green2:rgb(154,222,0);
+@Green3:rgb(0,145,0);
+@Purple1:rgb(241,202,255);
+@Purple2:rgb(215,108,255);
+@Purple3:rgb(186,0,255);
+@Metalic1:rgb(189,205,212);
+@Metalic2:rgb(158,171,176);
+@Metalic3:rgb(54,78,89);
+@Metalic4:rgb(14,35,46);
+@Grey1:rgb(255,255,255);
+@Grey2:rgb(204,204,204);
+@Grey3:rgb(153,153,153);
+@Grey4:rgb(102,102,102);
+@Grey5:rgb(45,45,45);
+
+///* fonts */
+// @font-face {
+// font-family: "LiberationSans";
+// src: local("Liberation Sans"),url( LiberationSans-Regular.ttf ) format("truetype");
+// font-weight: bold; font-style: italic;
+// }
+//
+// @font-face {
+// font-family: "LiberationSans";
+// src: local("Liberation Sans"),url( LiberationSans-Bold.ttf ) format("truetype");
+// font-weight: bold; font-style: normal;
+// }
+// @font-face {
+// font-family: "LiberationSans";
+// src: local("Liberation Sans"),url( LiberationSans-Italic.ttf ) format("truetype");
+// font-weight: normal; font-style: italic;
+// }
+
+
+/* global */
+body {
+ font-family: Liberation Sans,helvetica,arial,clean,sans-serif;
+ font-size: 12px;
+ background-color: @Grey1;
+ color: @Grey5;
+ margin: 0px;
+ display:table-row;
+}
+
+.shadow(@x: 0px, @y: 5px){
+ -webkit-box-shadow:@x @y 10px rgba(0, 0, 0, 0.7);
+ -moz-box-shadow:@x @y 10px rgba(0, 0, 0, 0.7);
+ box-shadow:@x @y 10px rgba(0, 0, 0, 0.7);
+}
+
+.rounded(@tr: 5px, @tl: 5px, @bl: 5px, @br: 5px){
+ -moz-border-radius: @arguments;
+ -webkit-border-radius: @arguments;
+ border-radius: @arguments;
+}
+
+.roundbottom (@radius: 5px){ .rounded(0, 0, @radius, @radius); }
+.roundtop (@radius: 5px){ .rounded(@radius, @radius, 0, 0); }
+
+a, a:visited, a:link { color: @Blue3; text-decoration: none; }
+a:hover {text-decoration: underline; }
+
+.left { float: left; }
+.right { float: right; }
+
+/* icons */
+
+
+.icons(@size: 22) {
+ &.notify { background-image: url("../../../images/icons/notify_off_@{size}.png"); }
+ &.gear { background-image: url("../../../images/icons/gear_@{size}.png"); }
+}
+
+
+.icon {
+ background-color: transparent ;
+ background-repeat: no-repeat;
+ background-position: center center;
+ display: block;
+ overflow: hidden;
+ text-indent: -9999px;
+
+ &.s22 {
+ width:22px; height: 22px;
+ padding: 1px;
+ .icons(22);
+ }
+
+}
+
+
+
+/* header */
+header {
+ position: fixed; left: 43%; right: 43%; top: 0px;
+ margin: 0px; padding: 0px;
+ /*width: 100%; height: 12px; */
+ z-index: 110;
+ color: @Grey1;
+ #site-location {
+ /*font-size:8px;
+ float:left;
+ background-color: @Metalic3;
+ padding: 1px 5px;
+ margin-left: 20px;
+ .roundbottom()*/
+ display: none;
+ }
+
+ #banner {
+
+ text-align: center;
+ width: 100%;
+ a, a:active, a:visited, a:link, a:hover { color: @Grey1; text-decoration: none; outline: none; vertical-align: bottom; }
+ #logo-img { height: 22px; margin-top:5px;}
+ #logo-text { font-size: 22px }
+ }
+}
+/* nav */
+nav {
+ width: 100%; height: 32px;
+ position: fixed; left: 0px; top: 0px;
+ padding: 0px;
+ background-color: @Metalic4;
+ color: @Grey1;
+ z-index: 100;
+ .shadow(0px, 0px);
+
+ a, a:active, a:visited, a:link, a:hover { color: @Grey1; text-decoration: none; outline: none; }
+
+ ul {
+ margin: 0px;
+ padding: 0px 20px;
+ li {
+ list-style: none;
+ margin: 0px; padding: 0px;
+ float: left;
+ .menu-popup{ left: 0px; right: auto; }
+ }
+
+ }
+
+ .nav-menu-icon {
+ position: relative;
+ height: 22px;
+ padding: 5px;
+ margin: 0px 10px;
+ .roundtop();
+
+ &.selected {
+ background-color: @Metalic3;
+ }
+
+ img { width: 22px; height: 22px; }
+ .nav-notify { top: 3px; }
+ }
+
+ .nav-menu {
+ position: relative;
+ height: 16px;
+ padding: 5px;
+ margin: 3px 15px 0px;
+ font-size: 14px;
+ border-bottom: 3px solid @Metalic4;
+ &.selected {
+ border-bottom: 3px solid @Metalic2;
+ }
+
+ }
+
+ .nav-notify {
+ display: none;
+ position: absolute;
+ background-color: @Blue1;
+ .rounded();
+ font-size: 10px;
+ padding: 1px 3px;
+ top: 0px;
+ right: -10px;
+ min-width: 15px;
+ text-align: right;
+
+ &.show{ display: block; }
+ }
+
+
+ #nav-help-link,
+ #nav-search-link,
+ #nav-directory-link,
+ #nav-apps-link,
+ #nav-site-linkmenu {
+ float: right;
+ .menu-popup{ right: 0px; left: auto; }
+ }
+
+ #nav-notifications-linkmenu.selected .icon.s22.notify { background-image: url("../../../images/icons/notify_on_22.png") }
+
+}
+
+ul.menu-popup {
+ position: absolute;
+ display: none;
+ width: 10em;
+ background: @Grey1;
+ color: @Grey5;
+ margin: 0px;
+ padding: 0px;
+ list-style: none;
+ border: 3px solid @Metalic3;
+ z-index: 100000;
+
+ .shadow();
+
+ a { display: block; color: @Grey5; padding: 5px 10px;}
+ a:hover { background-color: @Metalic1; }
+ .menu-sep { border-top: 1px solid @Metalic2; }
+ li { float: none; overflow: auto; height: auto; display: block; }
+
+ .empty {
+ padding: 5px;
+ text-align: center;
+ color: @Metalic2;
+ }
+}
+
+#nav-notifications-menu {
+ width: 400px;
+ img { float: left; margin-right: 5px; }
+ .contactname { font-weight: bold; }
+ .notif-when { font-size: 10px; color: @Metalic2; display: block; }
+}
+
+
+
+
+/* aside */
+aside {
+ display: table-cell;
+ width: 200px;
+ padding:50px 10px 0px 20px;
+}
+
+/* section */
+section {
+ display: table-cell;
+ width: 800px;
+ padding:50px 20px 0px 10px;
+}