[ Zurück zum Skinnen von Shareaza ]
<menus>Das <menu>-Element definiert die Menus im Programm. Shareaza beinhaltet viele Menus und jedem wird ein Name zu seiner Identifikation zugewiesen. Skins können das Design jedes einzelnen Menus neu definieren, oder auch nur von einigen. Sie können in der default-de.xml in ihrem Skinverzeichnis das Standarddesign jedes einzelnen Menus überprüfen.
Hier ein Beispiel für die MyMenuSkin.xml:
<?xml version="1.0" encoding="UTF-8"?> <skin xmlns="http://www.shareaza.com/schemas/Skin.xsd" version="1.0"> <manifest name="My Menu Skin" author="Me" type="Skin"/> <menus> <menu name="CHomeWnd"> <item id="ID_TAB_HOME" text="_Home"/> <item id="ID_TAB_LIBRARY" text="_Library"/> <item id="ID_TAB_NETWORK" text="_Network"/> <item id="ID_TAB_TRANSFERS" text="_Transfers"/> <separator/> <item id="ID_TAB_CONNECT" text="_Connect"/> <item id="ID_NETWORK_SEARCH" text="New _Search..."/> </menu> </menus> </skin> |
Jedes Menu wird durch das <menu>-Element definiert, dessen Name durch das name-Attribut festgelegt wird. Eine Liste der aktuellen Menus finden Sie am Ende dieses Abschnitts (es gibt wirklich viele!).
Jedes Menu umfasst ein oder mehrere Objekt(e), die entweder <item>s, <separator>s oder Sub-Menus (<menu>s) sein können.
Menu-Einträge
Solche Objekte werden durch ein <item/>-Element erzeugt und bilden die Mehrheit der Elemente in Menus. Jedes Menu hat folgende Attribute:
- id - Die Befehls-ID des Menu-Eintrages, die seine Funktion bestimmt
- text - Den anzuzeigenden Text neben dem Icon des Objekts
Abstandshalter
Sie werden durch das <separator/>-Element erzeugt und sind am zweithäufigsten in Menus anzutreffen. Abstandshalter haben keine zusätzlichen Attribute, da sie einfach eine "Lücke" im Menu schaffen und nur der besseren optischen Unterteilung der Befehle in Gruppen dienen.
Unter-Menus
Menus können via Sub-Menus oder PopUp-Menus unterteilt werden. Dies erlaubt sinnvolle Gruppierungen von Kommandos, die wiederum das Interface intuitiver werden lassen. Submenus werden wie alle anderen Menus mit einem neuen <menu>-Element innerhalb eines anderen Menus erzeugt. Der einzige Unterschied ist, dass man kein name-Attribut braucht -- verwenden Sie stattdessen ein text-Attribut, das definiert wie das Menu angezeigt werden soll.
Ein Beispiel:
<?xml version="1.0" encoding="UTF-8"?> <skin xmlns="http://www.shareaza.com/schemas/Skin.xsd" version="1.0"> <manifest name="My Menu Skin" author="Me" type="Skin"/> <menus> <menu name="CHomeWnd"> <item id="ID_TAB_HOME" text="_Home"/> <item id="ID_TAB_LIBRARY" text="_Library"/> <item id="ID_TAB_NETWORK" text="_Network"/> <item id="ID_TAB_TRANSFERS" text="_Transfers"/> <separator/> <menu text="_Advanced"> <!--(Sub-Menu)--> <item id="ID_VIEW_SECURITY" text="Se_curity" shortcut="F7"/> <item id="ID_VIEW_HOSTS" text="H_ost Cache" shortcut="F8"/> <item id="ID_VIEW_DISCOVERY" text="Disco_very" shortcut="F9"/> <item id="ID_VIEW_TRAFFIC" text="_Graph" shortcut="F10"/> </menu> <item id="ID_TAB_CONNECT" text="_Connect"/> <item id="ID_NETWORK_SEARCH" text="New _Search..."/> </menu> </menus> </skin> |
Menu-Namen
Eine aktuelle Version finden Sie in der default-de.xml in Ihrem Skinverzeichnis. Hier eine Auswahl:
Menu | Beschreibung |
CBrowseHostWnd | Das Popup-Menu im "Durchsuche Benutzer"-Fenster. |
CDiscoveryWnd | Das Popup-Menu im "Service Provider"-Fenster. |
CDownloadTabBar | |
CDownloadsWnd.Completed | Das Popup-Menu im Download-Fenster, wenn ein beendeter Download markiert ist. |
CDownloadsWnd.Download | Das Popup-Menu im Download-Fenster, wenn ein Download markiert ist. |
CDownloadsWnd.Source | Das Popup-Menu im Download-Fenster, wenn ein Transfer oder eine Quelle markiert ist. |
CHitMonitorWnd | Das Popup-Menu im Treffermonitor. |
CHomeWnd | Das Popup-Menu im Home-Fenster. |
CHostCacheWnd | Das Popup-Menu im HostCacheFenster. |
CLibraryFileView | |
CLibraryTileView | |
CLibraryTree.Physical | |
CLibraryTree.Virtual | |
CLibraryWnd.File | Das Popup-Menu in der Bibliothek, wenn eine Datei markiert ist. |
CLibraryWnd.Folder | Das Popup-Menu in der Bibliothek, wenn ein Ordner markiert ist. |
CMainWnd.Basic | Das Menu des Hauptfensters, im normalen Modus. |
CMainWnd.Tabbed | Das Menu des Hauptfensters, im Tab-Modus. |
CMainWnd.Tray | Das Popup-Menu, wenn sich Shareaza im Tray befindet. |
CMainWnd.Windowed | Das Menu des Hauptfensters, im Fenster-Modus. |
CMainWnd.View.Tabbed | Das Popup-Menu, wenn der Benutzer ins Leere klickt. Tab-Modus. |
CMainWnd.View.Windowed | Das Popup-Menu, wenn der Benutzer ins Leere klickt. Fenster-Modus. |
CMediaFrame | |
CMediaFrame.Zoom | |
CMediaList | |
CNeighboursWnd | Das Popup-Menu im "Hosts-Fenster". |
CPrivateChatFrame | |
CSearchMonitorWnd | Das Popup-Menu im Suchmonitor. |
CSearchWnd | Das Popup-Menu im Suchfenster. |
CSecurityWnd | Das Popup-Menu im Sicherheits-Fenster. |
CSystemWnd | Das Popup-Menu im Systemfenster. |
CTrafficWnd | Das Popup-Menu im Transfergraphen-Fenster. |
CUploadsWnd | Das Popup-Menu im Upload-Fenster. |