The branch, eden has been updated
       via  56968852b5ba02b7b60a05376f6a41cf22684ffa (commit)
      from  6548dfce0396921c79e4a86191b0e5a4f4528990 (commit)

- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/webinterfaces;a=commit;h=56968852b5ba02b7b60a05376f6a41cf22684ffa

commit 56968852b5ba02b7b60a05376f6a41cf22684ffa
Author: montellese <[email protected]>
Date:   Sun Jul 1 10:31:51 2012 +0200

    [webinterface.home-row] updated to 1.5.6

diff --git a/webinterface.home-row/addon.xml b/webinterface.home-row/addon.xml
index d6ec888..ec0c090 100644
--- a/webinterface.home-row/addon.xml
+++ b/webinterface.home-row/addon.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <addon
   id="webinterface.home-row"
-  version="1.5.1"
+  version="1.5.6"
   name="Home Row"
   provider-name="Soljin">
   <requires>
@@ -12,7 +12,7 @@
     point="xbmc.gui.webinterface"/>
   <extension point="xbmc.addon.metadata">
     <summary lang="en">Home Row - Fast keystroke/touch based web interface for 
XBMC</summary>
-    <description lang="en">Updated for Eden with better mobile experience, UI 
update, and general feature set. The biggest addition is context modal menus, 
which are accessed by right clicking or shift+enter. Home Row focuses on speed 
by using a quick refine text field to filter items and then select them by 
hitting enter. You can use the up and down arrows to select items while focused 
on the field. It is also touch and mobile friendly. It has a hash based history 
system but doesn't support deep linking. It should work with any browser that 
supports JS. If it looks funny or runs slow, get a better browser.</description>
+    <description lang="en">Home Row focuses on speed by using a quick refine 
text field. It is very mouse, touch and mobile friendly. It has queueing and 
playlist support. It should work with any modern browser that supports 
JS.</description>
     <platform>all</platform>
     <language>en</language>
   </extension>
diff --git a/webinterface.home-row/css/home-row.css 
b/webinterface.home-row/css/home-row.css
index 019c174..146a0cb 100644
--- a/webinterface.home-row/css/home-row.css
+++ b/webinterface.home-row/css/home-row.css
@@ -1,509 +1,517 @@
-HTML, BODY, DIV, SPAN, OBJECT, IFRAME, H1, H2, H3, H4, H5, H6, P, BLOCKQUOTE, 
PRE, A, ABBR, ADDRESS, CITE, CODE, DEL, DFN, EM, IMG, INS, Q, SMALL, STRONG, 
SUB, SUP, DL, DT, DD, OL, UL, LI, FIELDSET, FORM, LABEL, LEGEND, TABLE, 
CAPTION, TBODY, TFOOT, THEAD, TR, TH, TD
-{
-       border: 0;
-       margin: 0;
-       padding: 0;
-}
-ARTICLE, ASIDE, FIGURE, FIGURE IMG, FIGCAPTION, HGROUP, FOOTER, HEADER, NAV, 
SECTION, VIDEO, OBJECT
-{
-       display: block;
-}
-LI
-{
-       list-style: none;
-}
-A IMG
-{
-       border: 0;
-}
-FIGURE
-{
-       position: relative;
-}
-FIGURE IMG
-{
-       width: 100%;
-}
-BODY
-{
-       font-family: Verdana, Arial, "San Serif";
-       font-size: 12px;
-       overflow-x: hidden;
-       background: rgb(10, 10, 10);
-}
-IMG:not([src])
-{
-       display: none;
-       padding: 0;
-       margin: 0;
-}
-.hide, .templates
-{
-       display: none;
-}
-.clear
-{
-       clear: both;
-}
-.status-bar
-{
-       border: 2px solid #808080;
-       background: rgba(255, 255, 255, 0.4);
-       width: 100%;
-       left: 0;
-       bottom: 0px;
-       position: fixed;
-       z-index: 1;
-}
-.media
-{
-       padding: 10px 0px 10px 10px;
-       color: #FFFFFF;
-}
-.media .column
-{
-       display: inline-block;
-}
-.media P
-{
-       padding-bottom: 5px;
-       max-width: 240px;
-       white-space: nowrap;
-       overflow: hidden;
-       text-overflow: ellipsis;
-}
-.media P.label
-{
-       font-weight: bold;
-}
-P.icon
-{
-       height: 66px;
-       border: 1px solid #808080;
-       overflow: hidden;
-       margin-right: 5px;
-       vertical-align: top;
-       background: rgb(200, 200, 200);
-       font-size: 0;
-       line-height: 0;
-       padding: 0;
-}
-.media P.icon IMG.icon
-{
-       height: 100%;
-}
-.info
-{
-       background: rgb(255, 255, 255);
-       border: 1px solid #808080;
-       padding: 14px;
-       color: rgb(25, 25, 25);
-       max-width: 240px;
-}
-.status
-{
-       position: absolute;
-       left: 50%;
-       top: -25px;
-       padding-top: 10px;
-}
-.status.button
-{
-       position: relative;
-       left: -50%;
-}
-.tools
-{
-       float: right;
-       text-align: right;
-       padding-bottom: 10px;
-}
-.tools > DIV
-{
-       padding: 10px 10px 0px 0px;
-}
-.button
-{
-       display: inline-block;
-       padding: 6px 10px;
-       margin: 0px 5px 0px 0px;
-       font-size: 12px;
-       background: #FFFFFF url(images/home-row-sprite-min.png) no-repeat 
center 23px;
-       border: 1px solid #808080;
-       border-radius: 8px;
-       cursor: pointer;
-       font-weight: bold;
-       color: rgb(25, 25, 25);
-       box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.7);
-       vertical-align: top;
-       height: 14px;
-}
-.button:hover, .button:active, .button:focus
-{
-       background-color: rgba(25, 25, 25, 0.75);
-       color: #FFFFFF;
-}
-.play-controls .button
-{
-       min-width: 14px;
-       line-height: 200px;
-}
-.shuffle.button
-{
-       background-position: 50% -234px;
-}
-.shuffle.button:hover
-{
-       background-position: 50% -494px;
-}
-.skip-forward.button
-{
-       background-position: 56% -208px;
-       min-width: 38px;
-}
-.skip-forward.button:hover
-{
-       background-position: 56% -468px;
-}
-.skip-forward-short.button
-{
-       background-position: 36% -130px;
-}
-.skip-forward-short.button:hover
-{
-       background-position: 36% -390px;
-}
-.skip-back-short.button
-{
-       background-position: 68% -156px;
-}
-.skip-back-short.button:hover
-{
-       background-position: 68% -416px;
-}
-.skip-back.button
-{
-       background-position: 45% -182px;
-       min-width: 38px;
-}
-.skip-back.button:hover
-{
-       background-position: 45% -442px;
-}
-.next.button
-{
-       background-position: 50% -52px;
-}
-.next.button:hover
-{
-       background-position: 50% -312px;
-}
-.stop.button
-{
-       background-position: 50% -104px;
-}
-.stop.button:hover
-{
-       background-position: 50% -364px;
-}
-.play-pause.button
-{
-       background-position: 50% 0px;
-}
-.play-pause.button:hover
-{
-       background-position: 50% -260px;
-}
-.previous.button
-{
-       background-position: 50% -78px;
-}
-.previous.button:hover
-{
-       background-position: 50% -338px;
-}
-.status.button:hover
-{
-       color: rgb(25, 25, 25);
-       background: rgb(200, 200, 200);
-}
-.search-bar
-{
-       border: 2px solid #808080;
-       background: rgba(255, 255, 255, 0.4);
-       width: 100%;
-       position: fixed;
-       padding: 0 20px 10px;
-       z-index: 1;
-}
-.search-bar > LI
-{
-       list-style: none;
-       margin-top: 10px;
-       float: left;
-}
-.bread-crumbs
-{
-       padding: 0 10px;
-       display: inline-block;
-       vertical-align: top;
-}
-.back
-{
-       cursor: pointer;
-       text-align: center;
-}
-.info-box
-{
-       position: absolute;
-       right: 0;
-       top: 35px;
-       color: #808080;
-       display: none;
-       width: 200px;
-       padding: 20px;
-       background: #FFFFFF;
-       border: 1px solid #808080;
-       line-height: 20px;
-}
-.info-box H3
-{
-       margin-bottom: 8px;
-       color: #333;
-}
-.info-box UL
-{
-       margin-bottom: 15px;
-}
-.info-box UL:last-child
-{
-       margin-bottom: 0;
-}
-.info-box UL LI
-{
-       margin-bottom: 5px;
-}
-.help.button
-{
-       position: relative;
-       margin-left: 5px;
-}
-.help.button:hover .info-box
-{
-       display: block;
-}
-.search-box
-{
-       height: 30px;
-       font-size: 16px;
-       color: rgb(50, 50, 50);
-       border: none;
-       padding: 0 10px;
-       width: 185px;
-}
-.search-box.on
-{
-       color: #000000;
-}
-.status-bar
-{
-       clear: both;
-}
-.results-box
-{
-       padding: 54px 0px 90px;
-}
-.results
-{
-       border-top: 1px solid #808080;
-       border-left: 1px solid #808080;
-       position: relative;
-/*
-overflow-x:hidden;
-overflow-y:auto;
-*/
-}
-.results LI
-{
-       width: 190px;
-       height: 300px;
-       padding: 10px;
-       border-bottom: 1px solid #808080;
-       border-right: 1px solid #808080;
-       display: inline-block;
-       vertical-align: top;
-       color: #FFFFFF;
-       list-style: none;
-       cursor: pointer;
-}
-.results LI.album, .results LI.song
-{
-       height: 232px;
-}
-.results LI.hide
-{
-       display: none;
-}
-.results LI:hover, .results LI.selected
-{
-       background: rgba(255, 255, 255, 0.3);
-}
-.results LI .thumb
-{
-       width: 100%;
-       height: 268px;
-       overflow: hidden;
-       text-align: center;
-}
-.results .thumb.no-image
-{
-       background: rgba(255, 255, 255, 0.45) 
url(images/clean-icons/file-icon.png) no-repeat center;
-       height: 250px;
-       display: block;
-}
-.home.results .playlist .thumb
-{
-       background-image: url(images/clean-icons/document-icon.png);
-}
-.home.results .movies .thumb, .home.results .television .thumb, .home.results 
.recent .thumb, .television.results .tv.show .thumb.no-image, .tv-show.results 
.season .thumb.no-image
-{
-       background-image: url(images/clean-icons/movie-folder-icon.png);
-}
-.home.results .artists .thumb, .home.results .albums .thumb, .albums.results 
.thumb.no-image, .artists.results .thumb.no-image
-{
-       background-image: url(images/clean-icons/music-folder-icon.png);
-}
-.home.results .video.fliles .thumb.no-image
-{
-       background-image: url(images/clean-icons/movie-folder-icon.png);
-}
-.home.results .music.fliles .thumb
-{
-       background-image: url(images/clean-icons/music-folder-icon.png);
-}
-.album.results .thumb.no-image, .music-fliles.results .thumb
-{
-       background-image: url(images/clean-icons/music-file-icon.png);
-}
-.recent-episodes.results .episode .thumb.no-image, .season.results 
.thumb.no-image, .video-fliles.results .thumb.no-image
-{
-       background-image: url(images/clean-icons/movie-file-icon.png);
-}
-.results LI.album .thumb, .results LI.song .thumb
-{
-       height: 197px;
-}
-.results LI.album .thumb.no-image, .results LI.song .thumb.no-image
-{
-       height: 106px;
-       padding-top: 85px;
-}
-.results LI .thumb.no-image IMG
-{
-       display: none;
-}
-.results LI .thumb IMG
-{
-       height: 100%;
-}
-.results LI.episode .thumb IMG
-{
-       margin-left: -50%;
-}
-.results LI.album .thumb IMG, .results LI.song .thumb IMG
-{
-       height: auto;
-       width: 100% !important;
-}
-.results LI .title
-{
-       margin-top: 5px;
-       text-align: center;
-       height: 30px;
-       width: 100%;
-       overflow: hidden;
-       text-transform: uppercase;
-       font-weight: bold;
-       font-family: Helvetica, Verdana, sans-serif;
-}
-.menu-wrap.overlay
-{
-       background-color: rgba(255, 255, 255, 0.45);
-       position: absolute;
-       top: 0;
-       left: 0;
-       width: 100%;
-}
-.menu-wrap.overlay .menu
-{
-       width: 65%;
-       max-width: 900px;
-       min-width: 640px;
-       margin: auto;
-       box-sizing: border-box;
-       -moz-box-sizing: border-box;
-       padding: 40px;
-       background: rgba(0, 0, 0, 0.85);
-       color: #FFFFFF;
-}
-.menu-wrap.overlay .menu H2.title
-{
-       font-size: 18px;
-       margin-bottom: 20px;
-       text-transform: uppercase;
-       font-family: Verdana, sans-serif;
-       text-overflow: ellipsis;
-       width: 100%;
-       overflow: hidden;
-       white-space: nowrap;
-}
-.menu .menu-info-wrapper IMG.thumb
-{
-       max-width: 72%;
-       max-height: 350px;
-       margin-bottom: 15px;
-       border: 1px solid rgba(255, 255, 255, 0.45);
-}
-.menu .menu-info-wrapper UL.menu-options
-{
-       float: right;
-       width: 25%;
-       border: 1px solid #999;
-       margin-bottom: 15px;
-}
-.menu-info-wrapper P.description
-{
-       background: rgba(255, 255, 255, 0.85);
-       color: #000;
-       font-size: 16px;
-       line-height: 22px;
-       font-family: Georgia;
-       padding: 20px;
-       box-sizing: border-box;
-       -moz-box-sizing: border-box;
-}
-.menu-info-wrapper
-{
-       position: relative;
-       overflow: hidden;
-}
-UL.menu-options LI, UL.menu-options:hover LI.selected
-{
-       list-style: none;
-       padding: 20px 0 20px 20px;
-       background: rgba(0, 0, 0, 0.85);
-       color: #DDD;
-       font-size: 14px;
-       font-weight: bold;
-       cursor: pointer;
-       text-align: left;
-}
-UL.menu-options LI.selected, UL.menu-options LI:hover, UL.menu-options:hover 
LI.selected:hover
-{
-       color: #333;
-       background: rgba(255, 255, 255, 0.85);
-}
-.shuffle.button.shuffled
-{
-       opacity: .65;
+HTML, BODY, DIV, SPAN, OBJECT, IFRAME, H1, H2, H3, H4, H5, H6, P, BLOCKQUOTE, 
PRE, A, ABBR, ADDRESS, CITE, CODE, DEL, DFN, EM, IMG, INS, Q, SMALL, STRONG, 
SUB, SUP, DL, DT, DD, OL, UL, LI, FIELDSET, FORM, LABEL, LEGEND, TABLE, 
CAPTION, TBODY, TFOOT, THEAD, TR, TH, TD {
+    border: 0;
+    margin: 0;
+    padding: 0;
+}
+
+ARTICLE, ASIDE, FIGURE, FIGURE IMG, FIGCAPTION, HGROUP, FOOTER, HEADER, NAV, 
SECTION, VIDEO, OBJECT {
+    display: block;
+}
+
+LI {
+    list-style: none;
+}
+
+A IMG {
+    border: 0;
+}
+
+FIGURE {
+    position: relative;
+}
+
+FIGURE IMG {
+    width: 100%;
+}
+
+BODY {
+    font-family: Verdana, Arial, "San Serif";
+    font-size: 12px;
+    overflow-x: hidden;
+    background: rgb(10, 10, 10);
+}
+
+IMG:not([src]) {
+    display: none;
+    padding: 0;
+    margin: 0;
+}
+
+.hide, .templates {
+    display: none;
+}
+
+.clear {
+    clear: both;
+}
+
+.status-bar {
+    border: 2px solid #808080;
+    background: rgba(255, 255, 255, 0.4);
+    width: 100%;
+    left: 0;
+    bottom: 0px;
+    position: fixed;
+    z-index: 1;
+}
+
+.media {
+    padding: 10px 0px 10px 10px;
+    color: #FFFFFF;
+}
+
+.media .column {
+    display: inline-block;
+}
+
+.media P {
+    padding-bottom: 5px;
+    max-width: 240px;
+    white-space: nowrap;
+    overflow: hidden;
+    text-overflow: ellipsis;
+}
+
+.media P.label {
+    font-weight: bold;
+}
+
+P.icon {
+    height: 66px;
+    border: 1px solid #808080;
+    overflow: hidden;
+    margin-right: 5px;
+    vertical-align: top;
+    background: rgb(200, 200, 200);
+    font-size: 0;
+    line-height: 0;
+    padding: 0;
+}
+
+.media P.icon IMG.icon {
+    height: 100%;
+}
+
+.info {
+    background: rgb(255, 255, 255);
+    border: 1px solid #808080;
+    padding: 14px;
+    color: rgb(25, 25, 25);
+    max-width: 240px;
+}
+
+.status {
+    position: absolute;
+    left: 50%;
+    bottom: 10px;
+    padding-top: 10px;
+    z-index: 5;
+}
+
+.status.button {
+    position: relative;
+    left: -50%;
+}
+
+.tools {
+    float: right;
+    text-align: right;
+    padding-bottom: 10px;
+}
+
+.tools > DIV {
+    padding: 10px 10px 0px 0px;
+}
+
+.button {
+    display: inline-block;
+    padding: 6px 10px;
+    margin: 0px 5px 0px 0px;
+    font-size: 12px;
+    background: #FFFFFF url(images/home-row-sprite-min.png) no-repeat center 
23px;
+    border: 1px solid #808080;
+    border-radius: 8px;
+    cursor: pointer;
+    font-weight: bold;
+    color: rgb(25, 25, 25);
+    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.7);
+    vertical-align: top;
+    height: 14px;
+}
+
+.button:hover, .button:active, .button:focus {
+    background-color: rgba(25, 25, 25, 0.75);
+    color: #FFFFFF;
+}
+
+.play-controls .button {
+    min-width: 14px;
+    line-height: 200px;
+}
+
+.shuffle.button {
+    background-position: 50% -234px;
+}
+
+.shuffle.button:hover {
+    background-position: 50% -494px;
+}
+
+.skip-forward.button {
+    background-position: 56% -208px;
+    min-width: 38px;
+}
+
+.skip-forward.button:hover {
+    background-position: 56% -468px;
+}
+
+.skip-forward-short.button {
+    background-position: 36% -130px;
+}
+
+.skip-forward-short.button:hover {
+    background-position: 36% -390px;
+}
+
+.skip-back-short.button {
+    background-position: 68% -156px;
+}
+
+.skip-back-short.button:hover {
+    background-position: 68% -416px;
+}
+
+.skip-back.button {
+    background-position: 45% -182px;
+    min-width: 38px;
+}
+
+.skip-back.button:hover {
+    background-position: 45% -442px;
+}
+
+.next.button {
+    background-position: 50% -52px;
+}
+
+.next.button:hover {
+    background-position: 50% -312px;
+}
+
+.stop.button {
+    background-position: 50% -104px;
+}
+
+.stop.button:hover {
+    background-position: 50% -364px;
+}
+
+.play-pause.button {
+    background-position: 50% 0px;
+}
+
+.play-pause.button:hover {
+    background-position: 50% -260px;
+}
+
+.play-pause.playing.button {
+    background-position: 50% -26px;
+}
+
+.play-pause.playing.button:hover {
+    background-position: 50% -286px;
+}
+
+.previous.button {
+    background-position: 50% -78px;
+}
+
+.previous.button:hover {
+    background-position: 50% -338px;
+}
+
+.status.button:hover {
+    color: rgb(25, 25, 25);
+    background: rgb(200, 200, 200);
+}
+
+.search-bar {
+    border: 2px solid #808080;
+    background: rgba(255, 255, 255, 0.4);
+    width: 100%;
+    position: fixed;
+    padding: 0 20px 10px;
+    z-index: 1;
+}
+
+.search-bar > LI {
+    list-style: none;
+    margin-top: 10px;
+    float: left;
+}
+
+.bread-crumbs {
+    padding: 0 10px;
+    display: inline-block;
+    vertical-align: top;
+}
+
+.back {
+    cursor: pointer;
+    text-align: center;
+}
+
+.info-box {
+    position: absolute;
+    right: 0;
+    top: 35px;
+    color: #808080;
+    display: none;
+    width: 200px;
+    padding: 20px;
+    background: #FFFFFF;
+    border: 1px solid #808080;
+    line-height: 20px;
+}
+
+.info-box H3 {
+    margin-bottom: 8px;
+    color: #333;
+}
+
+.info-box UL {
+    margin-bottom: 15px;
+}
+
+.info-box UL:last-child {
+    margin-bottom: 0;
+}
+
+.info-box UL LI {
+    margin-bottom: 5px;
+}
+
+.help.button {
+    position: relative;
+    margin-left: 5px;
+}
+
+.help.button:hover .info-box {
+    display: block;
+}
+
+.search-box {
+    height: 30px;
+    font-size: 16px;
+    color: rgb(50, 50, 50);
+    border: none;
+    padding: 0 10px;
+    width: 185px;
+}
+
+.search-box.on {
+    color: #000000;
+}
+
+.status-bar {
+    clear: both;
+}
+
+.results-box {
+    padding: 54px 0px 90px;
+}
+
+.results {
+    border-top: 1px solid #808080;
+    border-left: 1px solid #808080;
+    position: relative;
+    /*
+    overflow-x:hidden;
+    overflow-y:auto;
+    */
+}
+
+.results LI {
+    width: 190px;
+    height: 300px;
+    padding: 10px;
+    border-bottom: 1px solid #808080;
+    border-right: 1px solid #808080;
+    display: inline-block;
+    vertical-align: top;
+    color: #FFFFFF;
+    list-style: none;
+    cursor: pointer;
+}
+
+.results LI.album, .results LI.song {
+    height: 232px;
+}
+
+.results LI.hide {
+    display: none;
+}
+
+.results LI:hover, .results LI.selected {
+    background: rgba(255, 255, 255, 0.3);
+}
+
+.results LI .thumb {
+    width: 100%;
+    height: 268px;
+    overflow: hidden;
+    text-align: center;
+}
+
+.results .thumb.no-image {
+    background: rgba(255, 255, 255, 0.45) 
url(images/clean-icons/file-icon.png) no-repeat center;
+    height: 250px;
+    display: block;
+}
+
+.home.results .playlist .thumb {
+    background-image: url(images/clean-icons/document-icon.png);
+}
+
+.home.results .movies .thumb, .home.results .television .thumb, .home.results 
.recent .thumb, .television.results .tv.show .thumb.no-image, .tv-show.results 
.season .thumb.no-image {
+    background-image: url(images/clean-icons/movie-folder-icon.png);
+}
+
+.home.results .artists .thumb, .home.results .albums .thumb, .albums.results 
.thumb.no-image, .artists.results .thumb.no-image {
+    background-image: url(images/clean-icons/music-folder-icon.png);
+}
+
+.home.results .video.fliles .thumb.no-image {
+    background-image: url(images/clean-icons/movie-folder-icon.png);
+}
+
+.home.results .music.fliles .thumb {
+    background-image: url(images/clean-icons/music-folder-icon.png);
+}
+
+.album.results .thumb.no-image, .music-fliles.results .thumb {
+    background-image: url(images/clean-icons/music-file-icon.png);
+}
+
+.recent-episodes.results .episode .thumb.no-image, .season.results 
.thumb.no-image, .video-fliles.results .thumb.no-image {
+    background-image: url(images/clean-icons/movie-file-icon.png);
+}
+
+.results LI.album .thumb, .results LI.song .thumb {
+    height: 197px;
+}
+
+.results LI.album .thumb.no-image, .results LI.song .thumb.no-image {
+    height: 106px;
+    padding-top: 85px;
+}
+
+.results LI .thumb.no-image IMG {
+    display: none;
+}
+
+.results LI .thumb IMG {
+    height: 100%;
+}
+
+.results LI.episode .thumb IMG {
+    margin-left: -50%;
+}
+
+.results LI.album .thumb IMG, .results LI.song .thumb IMG {
+    height: auto;
+    width: 100% !important;
+}
+
+.results LI .title {
+    margin-top: 5px;
+    text-align: center;
+    height: 30px;
+    width: 100%;
+    overflow: hidden;
+    text-transform: uppercase;
+    font-weight: bold;
+    font-family: Helvetica, Verdana, sans-serif;
+}
+
+.menu-wrap.overlay {
+    background-color: rgba(255, 255, 255, 0.45);
+    position: absolute;
+    top: 0;
+    left: 0;
+    width: 100%;
+}
+
+.menu-wrap.overlay .menu {
+    width: 65%;
+    max-width: 900px;
+    min-width: 640px;
+    margin: auto;
+    box-sizing: border-box;
+    -moz-box-sizing: border-box;
+    padding: 40px;
+    background: rgba(0, 0, 0, 0.85);
+    color: #FFFFFF;
+}
+
+.menu-wrap.overlay .menu H2.title {
+    font-size: 18px;
+    margin-bottom: 20px;
+    text-transform: uppercase;
+    font-family: Verdana, sans-serif;
+    text-overflow: ellipsis;
+    width: 100%;
+    overflow: hidden;
+    white-space: nowrap;
+}
+
+.menu .menu-info-wrapper IMG.thumb {
+    max-width: 72%;
+    max-height: 350px;
+    margin-bottom: 15px;
+    border: 1px solid rgba(255, 255, 255, 0.45);
+}
+
+.menu .menu-info-wrapper UL.menu-options {
+    float: right;
+    width: 25%;
+    border: 1px solid #999;
+    margin-bottom: 15px;
+}
+
+.menu-info-wrapper P.description {
+    background: rgba(255, 255, 255, 0.85);
+    color: #000;
+    font-size: 16px;
+    line-height: 22px;
+    font-family: Georgia;
+    padding: 20px;
+    box-sizing: border-box;
+    -moz-box-sizing: border-box;
+}
+
+.menu-info-wrapper {
+    position: relative;
+    overflow: hidden;
+}
+
+UL.menu-options LI, UL.menu-options:hover LI.selected {
+    list-style: none;
+    padding: 20px 0 20px 20px;
+    background: rgba(0, 0, 0, 0.85);
+    color: #DDD;
+    font-size: 14px;
+    font-weight: bold;
+    cursor: pointer;
+    text-align: left;
+}
+
+UL.menu-options LI.selected, UL.menu-options LI:hover, UL.menu-options:hover 
LI.selected:hover {
+    color: #333;
+    background: rgba(255, 255, 255, 0.85);
+}
+
+.shuffle.button.shuffled {
+    opacity: .65;
 }
diff --git a/webinterface.home-row/index.html b/webinterface.home-row/index.html
index 040e143..6fa12ce 100644
--- a/webinterface.home-row/index.html
+++ b/webinterface.home-row/index.html
@@ -36,10 +36,10 @@
                     </ul>
                     <h3>Hot Keys</h3>
                     <ul>
-                        <li>shift+Enter/right click - Default Item Option</li>
-                        <li>ctrl+shift+Q - Queue and Play</li>
-                        <li>ctrl+Q - Queue</li>
-                        <li>ctrl+alt+C - Clean Video Library</li>
+                        <li><b>Shift+Enter/Right Click</b> - Default Item 
Option</li>
+                        <li><b>Ctrl+Shift+Q</b> - Queue and Play</li>
+                        <li><b>Ctrl+Q</b> - Queue</li>
+                        <li><b>Ctrl+Alt+C</b> - Clean Video Library</li>
                     </ul>
                 </div>
             </li>
@@ -48,10 +48,10 @@
             <ul class="results">
             </ul>
         </div>
+        <div class="status">
+            <a class="status button">Waiting</a>
+        </div>
         <div class="status-bar">
-            <div class="status">
-                <a class="status button">Waiting</a>
-            </div>
             <div class="tools">
                 <div class="emulator hide">
                     <a class="kb-emulator button">Keyboard Emulator</a>
diff --git a/webinterface.home-row/js/home-row.js 
b/webinterface.home-row/js/home-row.js
index 4cc1238..b82f9cc 100644
--- a/webinterface.home-row/js/home-row.js
+++ b/webinterface.home-row/js/home-row.js
@@ -16,6 +16,7 @@ YUI().use("json","io","transition", "node", "substitute", 
"history", "array-extr
             breadCrumbs = root.one(".bread-crumbs"),
             crumbTemplate = breadCrumbs.one(".home").removeClass("home"),
             menuTemplate = root.one(".templates .menu-wrap").cloneNode(true),
+            playButton = root.one(".play-pause"),
             currentMenu,
             historyManager = new Y.HistoryHash(),
             isMobile = !!Y.UA.ipod || !!Y.UA.ipad || !!Y.UA.iphone || 
!!Y.UA.android || !!Y.UA.mobile,
@@ -34,7 +35,7 @@ YUI().use("json","io","transition", "node", "substitute", 
"history", "array-extr
                 "skip-back-short":{postfix:"Seek", 
params:{value:"smallbackward"},msg:"Skip Back Small"},
                 "play-pause":{postfix:"PlayPause",msg:"Play Pause"},
                 "stop":{postfix:"Stop",msg:"Stop"},
-                "skip-forward-short":{postfix:".Seek", 
params:{value:"smallforward"},msg:"Skip Forward Small"},
+                "skip-forward-short":{postfix:"Seek", 
params:{value:"smallforward"},msg:"Skip Forward Small"},
                 "skip-forward":{postfix:"Seek", 
params:{value:"bigforward"},msg:"Skip Forward Big"},
                 "next":{postfix:"GoNext",msg:"Skip Next"},
                 "shuffle":{msg:"Toggling Shuffle",postfix:{toString:function(){
@@ -169,7 +170,7 @@ YUI().use("json","io","transition", "node", "substitute", 
"history", "array-extr
                 getSimpleRPC("Player.GetProperties",{
                         params:{
                             playerid:playerid,
-                            properties:["percentage", "type", "repeat", 
"shuffled", "time", "totaltime", "playlistid", "position"]
+                            properties:["percentage", "type", "repeat", 
"shuffled", "time", "totaltime", "playlistid", "position", "speed"]
                         }
                     },
                     function(rslt){
@@ -177,6 +178,9 @@ YUI().use("json","io","transition", "node", "substitute", 
"history", "array-extr
                         shuffled = rslt.shuffled;
                         shuffleTool.toggleClass("shuffled", shuffled);
 
+
+                        playButton.toggleClass("playing", !!rslt.speed);
+
                         media.one(".progress").set("text", 
getDisplayTime(rslt.time));
                         media.one(".duration").set("text", 
getDisplayTime(rslt.totaltime));
 
@@ -405,11 +409,13 @@ YUI().use("json","io","transition", "node", "substitute", 
"history", "array-extr
         var keyHandler = function(e){
             if(!currentMenu){
                 if( e.keyCode == 85 && e.shiftKey && e.ctrlKey ){
+                    bark("Scanning for new content");
                     getSimpleRPC("VideoLibrary.Scan",{});
                 }else if( e.keyCode == 67 && e.altKey && e.ctrlKey ){
-                    alert("clean");
+                    bark("Cleaning Library");
                     getSimpleRPC("VideoLibrary.Clean",{});
                 }else if(
+                    /* Queue, Queue and Play */
                     e.keyCode == 81 &&
                     e.ctrlKey &&
                     selectedSubNode &&
@@ -489,8 +495,20 @@ YUI().use("json","io","transition", "node", "substitute", 
"history", "array-extr
             }else{
                 var cmd = item.commands.open,
                     params = gatherParams(item, cmd);
-                
-                getData(cmd.command, params, cmd.properties, function(list){
+
+                getLayeredRPCCall(item, item.commands.open, function(json){
+                    var list;
+                    Y.each(json.result,function(obj){
+                        if(Y.Lang.isArray(obj)){
+                            list = obj;
+                        }
+                    });
+                    Y.Array.each(list,function(newItem){
+                        Y.each(newItem,function(value,param){
+                            newItem[param] = fixVFSImageURL(value);
+                        });
+                    });
+
                     bark("Opened: "+(item.title || item.label || item.name));
 
                     item.list = item.alwaysRefreshList ? [] : (item.list || 
[]);
@@ -546,6 +564,12 @@ YUI().use("json","io","transition", "node", "substitute", 
"history", "array-extr
 
         var queueAndPlay = function(node, play){
 
+            if(play){
+                bark("Queueing and playing "+getTitle(selectedSubNode));
+            }else{
+                bark("Queueing "+getTitle(selectedSubNode));
+            }
+
             if(node.commands.batchGatherCommand){
                 if(play){
                     getSimpleRPC("Playlist.Clear", {params:{playlistid:1}}, 
batchGather);
@@ -650,32 +674,6 @@ YUI().use("json","io","transition", "node", "substitute", 
"history", "array-extr
         var getDescription = function(item){
             return item.plot || item.description || "";
         };
-        
-        var getData = function(command, params, properties, cb){
-            cb = cb || function(){};
-            
-            var jsonObj = prepCommand(command,params,properties);
-            
-            Y.io("/jsonrpc",{
-                data:Y.JSON.stringify(jsonObj),
-                method:"POST",
-                on:{complete:function(id, response){
-                    var json = Y.JSON.parse(response.responseText),
-                        newList;
-                    Y.each(json.result,function(obj){
-                        if(Y.Lang.isArray(obj)){
-                            newList = obj;
-                        }
-                    });
-                    Y.Array.each(newList,function(newItem){
-                        Y.each(newItem,function(value,param){
-                            newItem[param] = fixVFSImageURL(value);
-                        });
-                    });
-                    cb(newList);
-                }}
-            });
-        };
 
         var fixVFSImageURL = function(url){
             if(Y.Lang.isString(url) && url.match("special://")){
diff --git a/webinterface.home-row/js/menu-structure.js 
b/webinterface.home-row/js/menu-structure.js
index 92814f9..8af1d6f 100644
--- a/webinterface.home-row/js/menu-structure.js
+++ b/webinterface.home-row/js/menu-structure.js
@@ -1,4 +1,39 @@
 YUI.add("HomeRowMenus", function(Y){
+    var Movie = {
+        name:"Movie",
+        list:null,
+        commands:{
+            play:{
+                command:"Player.Open",
+                params:[
+                    {
+                        name:"item",
+                        fn:function(item){
+                            return { movieid: item.movieid };
+                        }
+                    }
+                ]
+            },
+            queue:true,
+            batchCommand:{
+                hideMenu:true,
+                command:"Playlist.Add",
+                params:[
+                    {
+                        name:"playlistid",
+                        value:1
+                    },
+                    {
+                        name:"item",
+                        fn:function(item){
+                            return {movieid: item.movieid};
+                        }
+                    }
+                ]
+            }
+        }
+    };
+
     var Episode = {
         name:"Episode",
         specialName:"{showtitle} {label}",
@@ -189,85 +224,20 @@ YUI.add("HomeRowMenus", function(Y){
                     }
                 },
                 list:null,
-                subItems:{
-                    name:"Movie",
-                    list:null,
-                    commands:{
-                        play:{
-                            command:"Player.Open",
-                            params:[
-                                {
-                                    name:"item",
-                                    fn:function(item){
-                                        return { movieid: item.movieid };
-                                    }
-                                }
-                            ]
-                        },
-                        queue:true,
-                        batchCommand:{
-                            hideMenu:true,
-                            command:"Playlist.Add",
-                            params:[
-                                {
-                                    name:"playlistid",
-                                    value:1
-                                },
-                                {
-                                    name:"item",
-                                    fn:function(item){
-                                        return {movieid: item.movieid};
-                                    }
-                                }
-                            ]
-                        }
-                    }
-                }
+                subItems:Y.clone(Movie)
             },
             {
                 name:"Recent Movies",
                 title:"Recent Movies",
                 noSort:true,
+                alwaysRefreshList:true,
                 commands:{
                     open:{
                         command:"VideoLibrary.GetRecentlyAddedMovies",
                         properties:["thumbnail"]
                     }
                 },
-                subItems:{
-                    name:"Movie",
-                    commands:{
-                        play:{
-                            command:"Player.Open",
-                            params:[
-                                {
-                                    name:"item",
-                                    fn:function(item){
-                                        return { movieid: item.movieid };
-                                    }
-                                }
-                            ]
-                        },
-                        queue:true,
-                        batchCommand:{
-                            hideMenu:true,
-                            command:"Playlist.Add",
-                            params:[
-                                {
-                                    name:"playlistid",
-                                    value:1
-                                },
-                                {
-                                    name:"item",
-                                    fn:function(item){
-                                        return {movieid: item.movieid};
-                                    }
-                                }
-                            ]
-                        }
-                    },
-                    list:null
-                }
+                subItems:Y.clone(Movie)
             },
             {
                 name:"Television",
@@ -380,6 +350,7 @@ YUI.add("HomeRowMenus", function(Y){
                 name:"Recent Episodes",
                 title:"Recent Episodes",
                 noSort:true,
+                alwaysRefreshList:true,
                 commands:{
                     open:{
                         command:"VideoLibrary.GetRecentlyAddedEpisodes",
@@ -430,7 +401,7 @@ YUI.add("HomeRowMenus", function(Y){
                     open:{
                         command:"Files.GetSources",
                         params:[
-                            {name:"media",fn:function(){return "video";}}
+                            {name:"media",value:"video"}
                         ]
                     }
                 },
@@ -469,7 +440,7 @@ YUI.add("HomeRowMenus", function(Y){
                     open:{
                         command:"Files.GetSources",
                         params:[
-                            {name:"media",fn:function(){return "music";}}
+                            {name:"media",value:"music"}
                         ]
                     }
                 },

-----------------------------------------------------------------------

Summary of changes:
 webinterface.home-row/addon.xml            |    4 +-
 webinterface.home-row/css/home-row.css     | 1024 ++++++++++++++--------------
 webinterface.home-row/index.html           |   14 +-
 webinterface.home-row/js/home-row.js       |   60 +-
 webinterface.home-row/js/menu-structure.js |  111 ++--
 5 files changed, 595 insertions(+), 618 deletions(-)


hooks/post-receive
-- 
Web Interfaces

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons

Reply via email to