Page tree

  Wiki Navigation

    Loading...


 Recently Updated


 Latest Releases

 MediaPortal 1.36
            Releasenews | Download
 MediaPortal 2.5
            Releasenews | Download



Purpose

  • Required:  No
  • Type of Change:  Feature

This patch allows to display additional info about the currently selected item during scrolling through a listview. One example is to show the first letter of the item in a popup (See first image below) although the plugin that implements the list can freely decide what to show. Other possible scenarios are to show the year when browsing through lists with dates or genres/groups if the list is sorted this way. The idea originated from this forum thread and was further discussed and finally implemented in this thread.

 

Description of Change

To implement this feature the skin properties #scrolling.up and #scrolling.down were added to indicate if the list is currently scrolling. Skin designers can use these properties to dynamically show information (e.g. popups) only when the user is scrolling. Also the property #selecteditem.scrolllabel was added where the values are stored that should be shown. By default the first letter of the currently selected item is shown but this might not be the most suitable text in all situations, which is why the plugin that implements the listcontrol can override this with the event GetFirstLetterScrollText (GUIListControl).

If the plugin doesn't explicitly enable this feature the skin designer has the possibility to enable this anyhow by setting the listcontrol property explicitlyEnableFirstLetterScroll to yes.

 

Additional Information and References

Mantis Issue

3224

Related xml(s)

 

Windows IDs

 

Related GUI Control

GUIListControl(listcontrol), GUIFacadeViewControl (facadeview)

GUI Properties

  • listcontrol -> explicitlyEnableFirstLetterScroll * #scrolling.down * #scrolling.down * #selecteditem.scrolllabel  

Author

diebagger

Date added

Wed, 01 Dec 2010

XML/Code Samples

How plugins can set the value shown during scrolling

private void SetupListScrolling()
    {
       if (null != facadeLayout && null != facadeLayout.ListLayout)
       {
         facadeLayout.ListLayout.GetScrollLabel += new GUIListControl.GetScrollLabelDelegate(ListLayout_GetScrollLabel);
       }
    }

    string ListLayout_GetScrollLabel(GUIListItem item)
    {
      return item.Label3;
    }

How skins can enable the feature by default

<control>
          <description>listcontrol</description>
          <type>listcontrol</type>
          <id>50</id>
          <onleft>2</onleft>
          <onright>2</onright>
          <scrollOffset>2</scrollOffset>
          <explicitlyEnableScrollLabel>yes</explicitlyEnableScrollLabel>
        </control>

 

 

Screenshots

   

 

This page has no comments.