Wiki

Outils pour utilisateurs

Outils du site


structure_themes

Structure thèmes

La structure est très complexe à appréhender, ce document donne les bases pour mieux comprendre cette architecture

Principes de base

Le point d'entrée d'un thème est le “mainmenu”. Mythtv est configuré pour que “QT Painter” affiche ce menu lorsque vous lancez le frontend (par exemple). Pour cela il va utiliser 3 éléments:

  • un fichier “mainmenu.xml” qui contient les boutons du menus et les actions à entreprendre quand on choisit ce bouton,
  • un fichier “menu-ui.xml” qui va définir le style et la mise en page
  • un script qui va relier les 2

Les 2 premiers éléments sont des fichiers .xml modifiables alors que le 3eme est inclus dans le code source et du coup il est moins facilement modifiable. Et ce schéma se reproduit au fil des menus et sous-menus que vous affichez. Comme vous n'avez pas accès au “script de liaison”, il faut utiliser des noms pré-définis que ce programme pourra comprendre; les noms des boutons, les actions à entreprendre, les noms des fenêtres, …. doivent respecter cette règle de base sous peine de ne pas être compris par le “script de liaison”. ATTENTION les noms utilisés dans les menus ne sont pas les mêmes que ceux des feuilles de style (menu-ui)

Structure des menus

Plusieurs actions sont possible au sein d'un menu:

  • vous pouvez déclencher un autre menu - exemple Médiathéque =⇒ Regarder les enregistrements, Regarder les vidéos, ….
  • vous pouvez afficher une page - exemple la liste des enregistrements
  • vous pouvez aussi sauter (jump) vers le menu d'un module complémentaire (plugin)
  • ou déclencher une action - exemple Regarder la tv en live

Chaque bouton de ces menus se définit de la façon suivante :

<button>

<type>MENU_INFO_CENTER</type> –> il s'agit d'un champ pré-défini dont vous trouverez la liste ici

<text>Information Center</text> –> ce texte sera affiché dans le bouton, sa formulation est libre mais si votre thème en éligible dans Mythtv je vous conseille de le mettre en anglais. Si ce texte existe dans un autre thème il sera traduit, si il est distribué par mythtv.org alors le processus de traduction s'applique et ce champ sera proposé pour être traduit.

<description>Informations et communications</description> —> ce texte sera affiché comme commentaire sous votre bouton (selon votre thème)

<action>MENU info_menu.xml</action> –> c'est l'action qui sera exécuté quand vous choisirez ce bouton. Il s'agit également d'un champ pré-défini dont vous trouverez la liste ici

<depends> </depends> –> il s'agit d'un champ facultatif (non utile pour notre exemple): si ce bouton est utilisé par un module complémentaire (plugin), il ne sera pas affiché si le module n'est pas installé

</button>

Mythtv est fourni avec 4 types de menu

  • defaultmenu
  • classic
  • DVR
  • mediacenter

Création de votre propre menu

Si vous voulez créer votre menu personnel, commencez par copier un des dossiers ci-dessus et renommez le. Puis ouvrez le dossier et le fichier “mainmenu.xml” avec votre éditeur préféré et ajoutez ceci entre le premier et le deuxième bouton

<button>
   <type>TV_WATCH_RECORDINGS</type>
   <text>Watch Recordings</text>
   <description>Browse your recordings</description>
   <action>TV_WATCH_RECORDING</action>
</button>

Relancez votre frontend, voilà vous avez modifié votre premier menu, simple non et maintenant à vous de jouer.

Petite précision, vous pouvez faire appel à un sous-menu personnel; exemple si vous mettez

 <action>MENU mon_menu</action>

il faut créer un fichier mon_menu.xml et y mettre ce que vous voulez voir apparaitre.

structure_themes.txt · Dernière modification: 05/08/2012 par gilles74