chiark / gitweb /
Move playlist menu code to playlists.c
[disorder] / templates / macros.tmpl
index 3e2bc0b44a41a1f4a0633fd6fc037d44fe8f5c75..33d1fb27d99caf995a5863c8239e2520c1f2e03a 100644 (file)
@@ -24,7 +24,7 @@ Standard macros
 This file is read before any other template.  Its output is discarded
 but side effects (definitions of macros) are retained.  To override it,
 create /etc/disorder/macros.tmpl that includes this file by absolute path
 This file is read before any other template.  Its output is discarded
 but side effects (definitions of macros) are retained.  To override it,
 create /etc/disorder/macros.tmpl that includes this file by absolute path
-and then redefines macros as desired.
+and then redefine macros as desired.
 ------------------------------------------------------------------------
 
 
 ------------------------------------------------------------------------
 
 
@@ -47,18 +47,28 @@ and then redefines macros as desired.
 @# Standard menu
 @#   @current is the name of the current page, e.g. choosealpha, login
 @define {stdmenu} {current}
 @# Standard menu
 @#   @current is the name of the current page, e.g. choosealpha, login
 @define {stdmenu} {current}
-        {  <p class=menubar>
+        {  <div class=top>
+   <p class=menubar>
 @menuitem{@current}{playing}{true}
 @menuitem{@current}{recent}{true}
 @menuitem{@current}{choose}{@right{play}}
 @menuitem{@current}{manage}{true}
 @menuitem{@current}{playing}{true}
 @menuitem{@current}{recent}{true}
 @menuitem{@current}{choose}{@right{play}}
 @menuitem{@current}{manage}{true}
+@menuitem{@current}{new}{true}
 @menuitem{@current}{login}{true}
 @menuitem{@current}{help}{true}
 @menuitem{@current}{login}{true}
 @menuitem{@current}{help}{true}
-@menuitem{@current}{about}{true}
    </p>
    </p>
-   <hr>
+   <div class=logo>
+@menuicon{@current}{about}{true}{logosmall}
+   </div>
+  <div style="clear:both"></div>
+  </div>
 }
 
 }
 
+@define {menuurl} {name}
+        {@if{@eq{name}{playing}}
+           {@url}
+           {@url?action=@name}}
+
 @# Menu entry
 @#  Used by @stdmenu
 @#  @current is the name of the current page (not necessarily the action that
 @# Menu entry
 @#  Used by @stdmenu
 @#  @current is the name of the current page (not necessarily the action that
@@ -68,16 +78,40 @@ and then redefines macros as desired.
 @#  
 @define {menuitem} {current name available}  
         {@if{@available}
 @#  
 @define {menuitem} {current name available}  
         {@if{@available}
-            {   <a @if{@eq{@current}{@name}}
-                      {class=activemenu}
-                      {class=inactivemenu}
-@if{@eq{name}{playing}}
-   {      href="@url"}
-   {      href="@url?action=@name"}
-      title="@label{menu.@q{@name}verbose}">@label{menu.@name}</a>}
-            {   <span class=invalidmenu 
-         title="@label{menu.@q{@name}verbose}">@label{menu.@name}</span>}}
+            {    <a @if{@eq{@current}{@name}}
+                       {class=activemenu}
+                       {class=inactivemenu}
+       href="@menuurl{@name}"
+       title="@label{menu.@q{@name}verbose}">@label{menu.@name}</a>}
+            {    <span class=invalidmenu 
+          title="@label{menu.@q{@name}verbose}">@label{menu.@name}</span>}}
 
 
+@# Icon-based menu entry (very similar to @menuitem)
+@#  Used by @stdmenu
+@#  @current is the name of the current page
+@#  @name is the name of the menu item
+@#  @available is true if the menu item is available, else false
+@#  @icon is the name of the icon
+@#  
+@define {menuicon} {current name available icon}  
+        {@if{@available}
+            {    <a class=menuicon
+       href="@menuurl{@name}">
+     <img @if{@eq{@current}{@name}}
+             {class=activemenu}
+             {class=inactivemenu}
+          title="@label{menu.@q{@name}verbose}"
+          alt="@label{menu.@name}"
+          src="@image{@icon}">
+    </a>}
+            {    <span class=menuicon>
+     <img @if{@eq{@current}{@name}}
+             {class=activemenu}
+             {class=inactivemenu}
+          title="@label{menu.@q{@name}verbose}"
+          alt="@label{menu.@name}"
+          src="@image{@icon@_inactive}">
+    </a>}}
 
 @# Standard footer text
 @define {credits} {}
 
 @# Standard footer text
 @define {credits} {}
@@ -243,6 +277,26 @@ and then redefines macros as desired.
    </table>
 }
 
    </table>
 }
 
+@# Expand to a submit button
+@#  @text is the text to put inside the button
+@define {submit} {text}
+        {<button class=button name=submit type=submit>@text</button>}
+
+@# Expand to an action button
+@#  @text is the text to put inside the button
+@#  @long is the text to put in the caption
+@#  @action is the target action
+@define {actbutton} {text long action}
+        {<form method=POST class=button action="@url">
+           <input type=hidden name=action value="@action">
+           <input type=submit name=submit value="@text" title="@long">
+@formback@#
+         </form>}
+
+@# Used for inserting back= elements
+@define {back} {} {}
+@define {formback} {} {}
+
 Local variables:
 mode:sgml
 sgml-always-quote-attributes:nil
 Local variables:
 mode:sgml
 sgml-always-quote-attributes:nil