mirror of
https://github.com/jellyfin/jellyfin-roku.git
synced 2024-11-23 06:09:41 +00:00
remove left seperator from overhang
This commit is contained in:
parent
f28268a0d3
commit
b41e08f232
@ -6,9 +6,6 @@ sub init()
|
||||
|
||||
m.leftGroup = m.top.findNode("overlayLeftGroup")
|
||||
m.rightGroup = m.top.findNode("overlayRightGroup")
|
||||
' hide seperators till they're needed
|
||||
m.leftSeperator = m.top.findNode("overlayLeftSeperator")
|
||||
m.leftSeperator.visible = "false"
|
||||
m.rightSeperator = m.top.findNode("overlayRightSeperator")
|
||||
' set font sizes
|
||||
m.optionText = m.top.findNode("overlayOptionsText")
|
||||
@ -54,16 +51,7 @@ sub onVisibleChange()
|
||||
end sub
|
||||
|
||||
sub updateTitle()
|
||||
if m.top.title <> ""
|
||||
m.leftSeperator.visible = "true"
|
||||
else
|
||||
m.leftSeperator.visible = "false"
|
||||
end if
|
||||
m.title.text = m.top.title
|
||||
|
||||
if not m.hideClock
|
||||
resetTime()
|
||||
end if
|
||||
end sub
|
||||
|
||||
sub setClockVisibility()
|
||||
@ -152,66 +140,22 @@ sub updateOptions()
|
||||
end if
|
||||
end sub
|
||||
|
||||
' Ensure the Jellyfin logo is shown on the overhang.
|
||||
sub showLogo()
|
||||
' component boolean field isLogoVisibleChange has changed value
|
||||
sub isLogoVisibleChange()
|
||||
isLogoVisible = m.top.isLogoVisible
|
||||
|
||||
scene = m.top.getScene()
|
||||
logo = scene.findNode("overlayLogo")
|
||||
leftSeperator = scene.findNode("overlayLeftSeperator")
|
||||
|
||||
if not isValid(leftSeperator)
|
||||
seperator = createSeperator("overlayLeftSeperator")
|
||||
m.leftGroup.insertChild(seperator, 0)
|
||||
end if
|
||||
if not isValid(logo)
|
||||
posterLogo = createLogoPoster()
|
||||
m.leftGroup.insertChild(posterLogo, 0)
|
||||
end if
|
||||
end sub
|
||||
|
||||
' Remove the Jellyfin logo from the overhang.
|
||||
sub hideLogo()
|
||||
scene = m.top.getScene()
|
||||
|
||||
logo = scene.findNode("overlayLogo")
|
||||
leftSeperator = scene.findNode("overlayLeftSeperator")
|
||||
|
||||
if isValid(logo)
|
||||
m.leftGroup.removeChild(logo)
|
||||
end if
|
||||
if isValid(leftSeperator)
|
||||
m.leftGroup.removeChild(leftSeperator)
|
||||
end if
|
||||
end sub
|
||||
|
||||
' Ensure the current user is shown on the overhang.
|
||||
sub showUser()
|
||||
print "HELLO from showUser()"
|
||||
scene = m.top.getScene()
|
||||
currentUser = scene.findNode("overlayCurrentUser")
|
||||
rightSeperator = scene.findNode("overlayRightSeperator")
|
||||
|
||||
if not isValid(rightSeperator)
|
||||
seperator = createSeperator("overlayRightSeperator")
|
||||
m.rightGroup.insertChild(seperator, 0)
|
||||
end if
|
||||
if not isValid(currentUser)
|
||||
myUser = createOverhangUser()
|
||||
myUser.text = m.top.currentUser
|
||||
m.rightGroup.insertChild(myUser, 0)
|
||||
end if
|
||||
end sub
|
||||
|
||||
' Remove the Jellyfin logo from the overhang.
|
||||
sub hideUser()
|
||||
scene = m.top.getScene()
|
||||
|
||||
currentUser = scene.findNode("overlayCurrentUser")
|
||||
rightSeperator = scene.findNode("overlayRightSeperator")
|
||||
|
||||
if isValid(currentUser)
|
||||
m.rightGroup.removeChild(currentUser)
|
||||
end if
|
||||
if isValid(rightSeperator)
|
||||
m.rightGroup.removeChild(rightSeperator)
|
||||
if isLogoVisible
|
||||
if not isValid(logo)
|
||||
posterLogo = createLogoPoster()
|
||||
m.leftGroup.insertChild(posterLogo, 0)
|
||||
end if
|
||||
else
|
||||
' remove the logo
|
||||
if isValid(logo)
|
||||
m.leftGroup.removeChild(logo)
|
||||
end if
|
||||
end if
|
||||
end sub
|
||||
|
@ -1,9 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component name="JFOverhang" extends="Group">
|
||||
<children>
|
||||
<LayoutGroup id="overlayLeftGroup" layoutDirection="horiz" translation="[54, 54]" itemSpacings="30">
|
||||
<LayoutGroup id="overlayLeftGroup" layoutDirection="horiz" translation="[54, 54]" itemSpacings="60">
|
||||
<Poster id="overlayLogo" uri="pkg:/images/logo.png" height="66" />
|
||||
<Rectangle id="overlayLeftSeperator" color="#666666" width="2" height="64" />
|
||||
<ScrollingLabel id="overlayTitle" font="font:LargeSystemFont" vertAlign="center" height="64" maxWidth="1100" repeatCount="0" />
|
||||
</LayoutGroup>
|
||||
<LayoutGroup id="overlayRightGroup" layoutDirection="horiz" itemSpacings="30" translation="[1766, 53]" horizAlignment="right">
|
||||
@ -38,10 +37,6 @@
|
||||
<field id="showOptions" value="true" type="boolean" onChange="updateOptions" />
|
||||
<field id="isVisible" value="true" type="boolean" onChange="onVisibleChange" />
|
||||
<field id="disableMoveAnimation" value="false" type="boolean" />
|
||||
<function name="showLogo" />
|
||||
<function name="hideLogo" />
|
||||
<function name="showUser" />
|
||||
<function name="hideUser" />
|
||||
<function name="resetTime" />
|
||||
<field id="isLogoVisible" value="true" type="boolean" onChange="isLogoVisibleChange" />
|
||||
</interface>
|
||||
</component>
|
@ -1,8 +1,20 @@
|
||||
import "pkg:/source/utils/misc.bs"
|
||||
|
||||
sub init()
|
||||
m.top.setFocus(true)
|
||||
m.top.optionsAvailable = false
|
||||
end sub
|
||||
|
||||
' JFScreen hook.
|
||||
sub OnScreenShown()
|
||||
scene = m.top.getScene()
|
||||
overhang = scene.findNode("overhang")
|
||||
if isValid(overhang)
|
||||
overhang.isLogoVisible = true
|
||||
overhang.currentUser = ""
|
||||
end if
|
||||
end sub
|
||||
|
||||
function onKeyEvent(key as string, press as boolean) as boolean
|
||||
' Returns true if user navigates to a new focusable element
|
||||
if not press then return false
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component name="LoginScene" extends="JFGroup">
|
||||
<component name="LoginScene" extends="JFScreen">
|
||||
<children>
|
||||
<label text="Enter Configuration"
|
||||
id="prompt"
|
||||
|
@ -156,3 +156,15 @@ end function
|
||||
sub clearErrorMessage()
|
||||
m.top.errorMessage = ""
|
||||
end sub
|
||||
|
||||
' JFScreen hook.
|
||||
' Used to show logo, update the focus, the state of the data, and tells the server about the device profile.
|
||||
sub OnScreenShown()
|
||||
scene = m.top.getScene()
|
||||
overhang = scene.findNode("overhang")
|
||||
if isValid(overhang)
|
||||
overhang.isLogoVisible = true
|
||||
overhang.currentUser = ""
|
||||
overhang.title = ""
|
||||
end if
|
||||
end sub
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component name="SetServerScreen" extends="JFGroup">
|
||||
<component name="SetServerScreen" extends="JFScreen">
|
||||
<interface>
|
||||
<field id="serverUrl" type="string" alias="serverUrlTextbox.text" />
|
||||
<field id="serverWidth" alias="serverUrlOutline.width,serverUrlTextbox.width,serverUrlContainer.width,submitSizer.width" value="1620" />
|
||||
|
@ -124,20 +124,18 @@ sub popScene()
|
||||
stopLoadingSpinner()
|
||||
end sub
|
||||
|
||||
|
||||
'
|
||||
' Return group at top of stack without removing
|
||||
function getActiveScene() as object
|
||||
return m.groups.peek()
|
||||
end function
|
||||
|
||||
|
||||
'
|
||||
' Clear all content from group stack
|
||||
sub clearScenes()
|
||||
if m.content <> invalid then m.content.removeChildrenIndex(m.content.getChildCount(), 0)
|
||||
for each group in m.groups
|
||||
if LCase(group.subtype()) = "jfscreen"
|
||||
if type(group) = "roSGNode" and group.isSubtype("JFScreen")
|
||||
group.callFunc("OnScreenHidden")
|
||||
end if
|
||||
end for
|
||||
@ -191,35 +189,30 @@ sub registerOverhangData(group)
|
||||
end if
|
||||
end sub
|
||||
|
||||
|
||||
'
|
||||
' Remove observers for overhang data
|
||||
sub unregisterOverhangData(group)
|
||||
group.unobserveField("overhangTitle")
|
||||
end sub
|
||||
|
||||
|
||||
'
|
||||
' Update overhang title
|
||||
sub updateOverhangTitle(msg)
|
||||
m.overhang.title = msg.getData()
|
||||
end sub
|
||||
|
||||
|
||||
'
|
||||
' Update options availability
|
||||
sub updateOptions(msg)
|
||||
m.overhang.showOptions = msg.getData()
|
||||
end sub
|
||||
|
||||
|
||||
'
|
||||
' Update whether the overhang is visible or not
|
||||
sub updateOverhangVisible(msg)
|
||||
m.overhang.visible = msg.getData()
|
||||
end sub
|
||||
|
||||
|
||||
'
|
||||
' Update username in overhang
|
||||
sub updateUser()
|
||||
@ -227,7 +220,6 @@ sub updateUser()
|
||||
if m.overhang <> invalid then m.overhang.currentUser = m.top.currentUser
|
||||
end sub
|
||||
|
||||
|
||||
'
|
||||
' Reset time
|
||||
sub resetTime()
|
||||
|
@ -35,10 +35,11 @@ end sub
|
||||
sub OnScreenShown()
|
||||
scene = m.top.getScene()
|
||||
overhang = scene.findNode("overhang")
|
||||
|
||||
' show the jellyfin logo
|
||||
overhang.callFunc("showLogo")
|
||||
overhang.callFunc("showUser")
|
||||
if isValid(overhang)
|
||||
overhang.isLogoVisible = true
|
||||
overhang.currentUser = m.global.session.user.name
|
||||
overhang.title = tr("Home")
|
||||
end if
|
||||
|
||||
if isValid(m.top.lastFocus)
|
||||
m.top.lastFocus.setFocus(true)
|
||||
@ -66,8 +67,9 @@ sub OnScreenHidden()
|
||||
scene = m.top.getScene()
|
||||
overhang = scene.findNode("overhang")
|
||||
if isValid(overhang)
|
||||
overhang.callFunc("hideLogo")
|
||||
overhang.callFunc("hideUser")
|
||||
overhang.isLogoVisible = false
|
||||
overhang.currentUser = ""
|
||||
overhang.title = ""
|
||||
end if
|
||||
end sub
|
||||
|
||||
|
@ -24,6 +24,17 @@ sub redraw()
|
||||
m.top.findNode("UserRow").translation = [leftBorder, topBorder]
|
||||
end sub
|
||||
|
||||
' JFScreen hook.
|
||||
' Used to show logo, update the focus, the state of the data, and tells the server about the device profile.
|
||||
sub OnScreenShown()
|
||||
scene = m.top.getScene()
|
||||
overhang = scene.findNode("overhang")
|
||||
if isValid(overhang)
|
||||
overhang.isLogoVisible = true
|
||||
overhang.currentUser = ""
|
||||
end if
|
||||
end sub
|
||||
|
||||
function onKeyEvent(key as string, press as boolean) as boolean
|
||||
if not press then return false
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component name="UserSelect" extends="JFGroup">
|
||||
<component name="UserSelect" extends="JFScreen">
|
||||
<children>
|
||||
<Label text="Please sign in" horizAlign="center" font="font:LargeSystemFont" height="100" width="1920" translation="[0, 200]" />
|
||||
<UserRow id="userRow" translation="[130, 360]" />
|
||||
|
@ -47,7 +47,6 @@ sub Main (args as dynamic) as void
|
||||
sceneManager.callFunc("clearScenes")
|
||||
|
||||
' load home page
|
||||
sceneManager.currentUser = m.global.session.user.name
|
||||
group = CreateHomeGroup()
|
||||
group.callFunc("loadLibraries")
|
||||
stopLoadingSpinner()
|
||||
|
@ -529,6 +529,7 @@ function createSeperator(id as string)
|
||||
seperator.color = "#666666"
|
||||
seperator.width = "2"
|
||||
seperator.height = "64"
|
||||
seperator.visible = true
|
||||
|
||||
return seperator
|
||||
end function
|
||||
|
Loading…
Reference in New Issue
Block a user