12.7.2021, 23:01
Na přání @otava5 přidávám popis vytvoření nového pohledu sestavy přehledu TV/Radio kanálů ve formátu Zeď.
K dosavadním dvěma pohledům, které jsem nově pojmenoval Seznam a Ikony, tedy přibyl třetí, pojmenovaný analogicky, tedy Zeď:
Změny v definičních souborech se týkají celkem tří z nich.
První je definiční soubor Variables.xml
Jednoduchá úprava, při které se pouze přidává následující definice proměnné MyPVRChannelsViewVar. Ta zajišťuje přiřazení názvů tří pohledů podle id control elementu, která obsahuje základní definici zobrazení a použije se v následující definici:
Druhý je definiční soubor includes Includes_MediaMenu.xml.
V include PVRSideBar se mění definice přepínání původně pouze dvou pohledů (Seznam a Ikony) v control elementu radiobutton s id=6060. Původní definice je tato:
Nahradí se novou definicí, ve které se změní typ control elementu na button, Id control elementu zůstává původí, tedy 6060:
Vidíte, že se pro zobrazená názvu zobrazení použíje dříve definovaná proměnná MyPVRChannelsViewVar.
Poslední a hlavní úprava se týká vlastní definice zobrazení v souboru MyPVRChannels.xml.
Úprav v souboru je více. Jednak se přidává celý blok definice popisu zobrazení Zeď v control elementu typu panel s id=52. Následuje definice zobrazení horního řádku s číslem a jménem kanálu, začátkem a koncem pořadu a jeho jménem:
Další je drobné úprava zobrazení pravého panelu pro Seznam a Ikony, kde se přidává podmínka:
takže nová podoba tohoto control elementu je:
Pak se ještě přidá nově definice scrollbar pro zobrazení Zeď:
Nakonec jen nepovinná drobná úprava zobrazení následujícího pořadu v control elementu typu label:
Kompetní definiční soubor MyPVRChannels.xml se všemi úpravami přikládám. V textu používám komentáře s následujícím významem:
K dosavadním dvěma pohledům, které jsem nově pojmenoval Seznam a Ikony, tedy přibyl třetí, pojmenovaný analogicky, tedy Zeď:
Změny v definičních souborech se týkají celkem tří z nich.
První je definiční soubor Variables.xml
Jednoduchá úprava, při které se pouze přidává následující definice proměnné MyPVRChannelsViewVar. Ta zajišťuje přiřazení názvů tří pohledů podle id control elementu, která obsahuje základní definici zobrazení a použije se v následující definici:
Kód:
<variable name="MyPVRChannelsViewVar"> <!-- EASY+ -->
<value condition="Control.IsVisible(50)">$LOCALIZE[536]</value>
<value condition="Control.IsVisible(51)">$LOCALIZE[535]</value>
<value condition="Control.IsVisible(52)">$LOCALIZE[31102]</value>
</variable>
Druhý je definiční soubor includes Includes_MediaMenu.xml.
V include PVRSideBar se mění definice přepínání původně pouze dvou pohledů (Seznam a Ikony) v control elementu radiobutton s id=6060. Původní definice je tato:
Kód:
<control type="radiobutton" id="6060">
<include>MediaMenuItemsCommon</include>
<label>$LOCALIZE[31127]</label>
<selected>Control.IsVisible(50)</selected>
<onclick>Container.NextViewMode</onclick>
<visible>Window.IsActive(MyPVRChannels.xml)</visible>
</control>
Kód:
<control type="button" id="6060"> <!-- EASY + -->
<include>MediaMenuItemsCommon</include>
<label>Zobrazit</label>
<label2>[B]$VAR[MyPVRChannelsViewVar][/B]</label2>
<onclick>Container.NextViewMode</onclick>
<visible>Window.IsActive(MyPVRChannels.xml)</visible>
</control>
Poslední a hlavní úprava se týká vlastní definice zobrazení v souboru MyPVRChannels.xml.
Úprav v souboru je více. Jednak se přidává celý blok definice popisu zobrazení Zeď v control elementu typu panel s id=52. Následuje definice zobrazení horního řádku s číslem a jménem kanálu, začátkem a koncem pořadu a jeho jménem:
Kód:
<control type="group"> <!-- EASY+ -->
<control type="label">
<left>35</left>
<top>120</top>
<width>auto</width>
<height>65</height>
<label>$INFO[ListItem.ChannelNumberLabel,[B],[/B]]$INFO[ListItem.Label, [B],[/B]]$INFO[ListItem.StartTime, · , - ]$INFO[ListItem.EndTime]$INFO[ListItem.Title, · ]</label>
<font>font27</font>
<shadowcolor>text_shadow</shadowcolor>
<visible>Control.IsVisible(52)</visible>
</control>
Kód:
<visible>!Control.IsVisible(52)</visible>
Kód:
<control type="group"> <!-- EASY* -->
<visible>!Control.IsVisible(52)</visible> <!-- EASY+ -->
<depth>DepthContentPanel</depth>
<include>OpenClose_Right</include>
<width>870</width>
<right>0</right>
<include content="ContentPanel">
<param name="left" value="-72" />
<param name="width" value="970" />
<param name="top" value="-20" />
<param name="flipx" value="true" />
</include>
Kód:
<control type="scrollbar" id="74"> <!-- EASY+ -->
<visible>Control.IsVisible(52)</visible>
<right>0</right>
<top>list_y_offset</top>
<width>12</width>
<bottom>list_y_offset</bottom>
<onleft>52</onleft>
<onright>52</onright>
<orientation>vertical</orientation>
<animation effect="slide" end="6,0" time="300" tween="sine" easing="inout" condition="!Control.HasFocus(74)">conditional</animation>
</control>
Kód:
<control type="label"> <!-- EASY* -->
<right>20</right>
<include>OpenClose_Right</include>
<bottom>10</bottom>
<width>850</width>
<height>60</height>
<visible>!String.isempty(ListItem.NextTitle)</visible>
<label>[COLOR grey]$LOCALIZE[19031][/COLOR]$INFO[ListItem.NextStartTime,: , - ]$INFO[ListItem.NextEndTime]$INFO[ListItem.NextTitle, · ]</label> <!-- EASY* -->
<shadowcolor>black</shadowcolor>
<align>right</align>
<aligny>center</aligny>
<wrapmultiline>true</wrapmultiline>
<font>font27</font>
</control>
- <!-- EASY* --> - v tomto control elementu je nějaká změna
- <!-- EASY+ --> - tento control blok nebo jeho část jsou nově přidané