Add real-world tests from Zune 3.1, ported to UIX 4.8

This commit is contained in:
Yoshi Askharoun
2025-07-16 22:59:57 -05:00
parent bfff6f8c70
commit 4114d206cb
11 changed files with 1164 additions and 18 deletions
+119
View File
@@ -0,0 +1,119 @@
<!-- Copyright (C) Microsoft Corporation. All rights reserved. -->
<UIX
xmlns="http://schemas.microsoft.com/2007/uix"
xmlns:iris="assembly://UIX/Microsoft.Iris"
xmlns:zune="assembly://ZuneShell/ZuneUI"
xmlns:styles="res://ZuneShellResources!Styles.uix"
xmlns:dialog="res://ZuneShellResources!Dialog.uix"
xmlns:core="res://ZuneShellResources!Controls.uix"
xmlns:linkButtons="res://ZuneShellResources!LinkButtons.uix"
xmlns:me="Me"
>
<Class Name="AboutDialog" Base="dialog:Dialog">
<Properties>
<String Name="ContentUI" String="res://ZuneShellResources!AboutDialog.uix#AboutDialogContentUI"/>
<iris:Command Name="Cancel" Description="{zune:Shell.LoadString(zune:StringId.IDS_DIALOG_OK)}"/>
<zune:WebHelpCommand Name="TechSupportLink"
Description="{zune:Shell.LoadString(zune:StringId.IDS_ABOUTDIALOG_TECHNICAL_SUPPORT_INFORMATION)}"
Url="{zune:Shell.LoadString(zune:StringId.IDS_WWW_ZUNE_NET_SUPPORT_URL)}"
/>
<String Name="AccessibleDescription" String="{zune:Shell.LoadString(zune:StringId.IDS_ABOUTDIALOG_TITLE)}"/>
</Properties>
</Class>
<UI Name="AboutDialogContentUI" Base="dialog:DialogContentUI">
<Properties>
<me:AboutDialog Name="Dialog" AboutDialog="$Required"/>
</Properties>
<Scripts>
<Script> DialogTitle = zune:Shell.LoadString(zune:StringId.IDS_ABOUTDIALOG_TITLE); </Script>
<Script>
ButtonCommands = new List();
ButtonCommands.Add(Dialog.Cancel);
DefaultButtonModel = Dialog.Cancel;
ButtonModelToFocus = Dialog.Cancel;
</Script>
<Script>
if (iris:Application.RenderingType == iris:RenderingType.GDI)
{
GDIModeLabel.Visible = true;
GDIModeLabel.Content = zune:Shell.LoadString(zune:StringId.IDS_ABOUTDIALOG_GDI_MODE_NOTICE);
}
</Script>
</Scripts>
<Content>
<Panel MaximumSize="360,0">
<Layout>
<FlowLayout ItemAlignment="Near" Orientation="Vertical"/>
</Layout>
<Children>
<Panel Margins="10">
<Layout>
<FlowLayout Orientation="Horizontal"/>
</Layout>
<Children>
<Graphic Content="{styles:Styles.IconZuneAbout}" StretchingPolicy="Uniform" SizingPolicy="SizeToContent"/>
<Panel Margins="10,10,0,10">
<Layout>
<DockLayout SizeToChildren="true" DefaultLayoutInput="Top"/>
</Layout>
<Children>
<core:Label Content="{zune:Shell.LoadString(zune:StringId.IDS_ABOUTDIALOG_COPYRIGHT_LINE1)}" Style="{styles:SharedStyles.DialogTextStyle}"/>
<core:Label Content="{zune:Shell.LoadString(zune:StringId.IDS_ABOUTDIALOG_COPYRIGHT_LINE2)}" Style="{styles:SharedStyles.DialogTextStyle}"/>
<core:Label Content="{zune:Shell.LoadString(zune:StringId.IDS_ABOUTDIALOG_COPYRIGHT_LINE3)}" Style="{styles:SharedStyles.DialogTextStyle}"/>
<Panel Layout="HorizontalFlow">
<Children>
<core:Label Content="{zune:Shell.LoadString(zune:StringId.IDS_ABOUTDIALOG_VERSION_HEADER)}" Style="{styles:SharedStyles.DialogTextStyle}"/>
<core:Label Content="{zune:Shell.DefaultInstance.Management.BuildNumber}" Margins="5,0,0,0" Style="{styles:SharedStyles.DialogTextStyle}"/>
</Children>
</Panel>
<Panel Layout="HorizontalFlow">
<Children>
<core:Label Content="{zune:Shell.LoadString(zune:StringId.IDS_ABOUTDIALOG_PRODUCT_ID)}" Style="{styles:SharedStyles.DialogTextStyle}"/>
<core:Label Content="{zune:SoftwareUpdates.PID}" Margins="5,0,0,0" Style="{styles:SharedStyles.DialogTextStyle}"/>
</Children>
</Panel>
<core:Label Name="GDIModeLabel" Visible="false" Style="{styles:SharedStyles.DialogTextStyle}"/>
</Children>
</Panel>
</Children>
</Panel>
<core:Label Content="{zune:Shell.LoadString(zune:StringId.IDS_ABOUTDIALOG_WARNING)}" Style="{styles:SharedStyles.DialogTextStyle}" WordWrap="true"/>
<linkButtons:ExternalLink Model="{Dialog.TechSupportLink}" ToolTipEnabled="false" TileMinSize="160,16" Margins="0,10,0,0"/>
</Children>
</Panel>
</Content>
</UI>
</UIX>
+119
View File
@@ -0,0 +1,119 @@
<!-- Copyright (C) Microsoft Corporation. All rights reserved. -->
<UIX
xmlns="http://schemas.microsoft.com/2007/uix"
xmlns:iris="assembly://UIX/Microsoft.Iris"
xmlns:zune="assembly://ZuneShell/ZuneUI"
xmlns:styles="res://ZuneShellResources!Styles.uix"
xmlns:dialog="res://ZuneShellResources!Dialog.uix"
xmlns:core="res://ZuneShellResources!Controls.uix"
xmlns:linkButtons="res://ZuneShellResources!LinkButtons.uix"
xmlns:me="Me"
>
<Class Name="AboutDialog" Base="dialog:Dialog">
<Properties>
<String Name="ContentUI" String="res://ZuneShellResources!AboutDialog.uix#AboutDialogContentUI"/>
<iris:Command Name="Cancel" Description="{zune:Shell.LoadString(zune:StringId.IDS_DIALOG_OK)}"/>
<zune:WebHelpCommand Name="TechSupportLink"
Description="{zune:Shell.LoadString(zune:StringId.IDS_ABOUTDIALOG_TECHNICAL_SUPPORT_INFORMATION)}"
Url="{zune:Shell.LoadString(zune:StringId.IDS_WWW_ZUNE_NET_SUPPORT_URL)}"
/>
<String Name="AccessibleDescription" String="{zune:Shell.LoadString(zune:StringId.IDS_ABOUTDIALOG_TITLE)}"/>
</Properties>
</Class>
<UI Name="AboutDialogContentUI" Base="dialog:DialogContentUI">
<Properties>
<me:AboutDialog Name="Dialog" AboutDialog="$Required"/>
</Properties>
<Scripts>
<Script> DialogTitle = zune:Shell.LoadString(zune:StringId.IDS_ABOUTDIALOG_TITLE); </Script>
<Script>
ButtonCommands = new List();
ButtonCommands.Add(Dialog.Cancel);
DefaultButtonModel = Dialog.Cancel;
ButtonModelToFocus = Dialog.Cancel;
</Script>
<Script>
if (iris:Application.RenderingType == iris:RenderingType.GDI)
{
GDIModeLabel.Visible = true;
GDIModeLabel.Content = zune:Shell.LoadString(zune:StringId.IDS_ABOUTDIALOG_GDI_MODE_NOTICE);
}
</Script>
</Scripts>
<Content>
<Panel MaximumSize="360,0">
<Layout>
<FlowLayout DefaultChildAlignment="Near" Orientation="Vertical"/>
</Layout>
<Children>
<Panel Margins="10">
<Layout>
<FlowLayout Orientation="Horizontal"/>
</Layout>
<Children>
<Graphic Content="{styles:Styles.IconZuneAbout}" StretchingPolicy="Uniform" SizingPolicy="SizeToContent"/>
<Panel Margins="10,10,0,10">
<Layout>
<DockLayout DefaultLayoutInput="Top"/>
</Layout>
<Children>
<core:Label Content="{zune:Shell.LoadString(zune:StringId.IDS_ABOUTDIALOG_COPYRIGHT_LINE1)}" Style="{styles:SharedStyles.DialogTextStyle}"/>
<core:Label Content="{zune:Shell.LoadString(zune:StringId.IDS_ABOUTDIALOG_COPYRIGHT_LINE2)}" Style="{styles:SharedStyles.DialogTextStyle}"/>
<core:Label Content="{zune:Shell.LoadString(zune:StringId.IDS_ABOUTDIALOG_COPYRIGHT_LINE3)}" Style="{styles:SharedStyles.DialogTextStyle}"/>
<Panel Layout="HorizontalFlow">
<Children>
<core:Label Content="{zune:Shell.LoadString(zune:StringId.IDS_ABOUTDIALOG_VERSION_HEADER)}" Style="{styles:SharedStyles.DialogTextStyle}"/>
<core:Label Content="{zune:Shell.DefaultInstance.Management.BuildNumber}" Margins="5,0,0,0" Style="{styles:SharedStyles.DialogTextStyle}"/>
</Children>
</Panel>
<Panel Layout="HorizontalFlow">
<Children>
<core:Label Content="{zune:Shell.LoadString(zune:StringId.IDS_ABOUTDIALOG_PRODUCT_ID)}" Style="{styles:SharedStyles.DialogTextStyle}"/>
<core:Label Content="{zune:SoftwareUpdates.PID}" Margins="5,0,0,0" Style="{styles:SharedStyles.DialogTextStyle}"/>
</Children>
</Panel>
<core:Label Name="GDIModeLabel" Visible="false" Style="{styles:SharedStyles.DialogTextStyle}"/>
</Children>
</Panel>
</Children>
</Panel>
<core:Label Content="{zune:Shell.LoadString(zune:StringId.IDS_ABOUTDIALOG_WARNING)}" Style="{styles:SharedStyles.DialogTextStyle}" WordWrap="true"/>
<linkButtons:ExternalLink Model="{Dialog.TechSupportLink}" ToolTipEnabled="false" TileMinSize="160,16" Margins="0,10,0,0"/>
</Children>
</Panel>
</Content>
</UI>
</UIX>
Binary file not shown.
+319
View File
@@ -0,0 +1,319 @@
.export AboutDialog 0 Class
.export AboutDialogContentUI 0 UI
.import-ns res://UIXControls!Dialog.uix as dialog
.import-ns assembly://UIX/Microsoft.Iris as iris
.import-ns assembly://ZuneShell/ZuneUI as zuneUI
.import-ns assembly://System.Private.CoreLib/System as system
.import-ns res://ZuneShellResources!Styles.uix as styles
.import-ns res://UIXControls!Label.uix as label
.import-ns res://UIXControls!Style.uix as style
.import-ns res://ZuneShellResources!LinkButtons.uix as linkButtons
.import-ns res://UIXControls!Button.uix as button
.import-type Class
.import-type UI
.import-type dialog:Dialog
.import-type String
.import-type iris:Command
.import-type zuneUI:WebHelpCommand
.import-type dialog:DialogContentUI
.import-type me:AboutDialog
.import-type Dictionary
.import-type system:String
.import-type zuneUI:Shell
.import-type zuneUI:StringId
.import-type ViewItem
.import-type Panel
.import-type Size
.import-type Layout
.import-type FlowLayout
.import-type ItemAlignment
.import-type Orientation
.import-type List
.import-type Inset
.import-type Graphic
.import-type Image
.import-type styles:Styles
.import-type StretchingPolicy
.import-type SizingPolicy
.import-type DockLayout
.import-type DockLayoutInput
.import-type label:Label
.import-type label:LabelBase
.import-type style:Style
.import-type styles:SharedStyles
.import-type zuneUI:ZuneShell
.import-type zuneUI:Management
.import-type zuneUI:SoftwareUpdates
.import-type Boolean
.import-type linkButtons:ExternalLink
.import-type button:Button
.import-type button:ButtonBase
.import-type button:LabelButtonWithBackground
.import-type Object
.import-type iris:Application
.import-type iris:RenderingType
.import-mthd zuneUI:Shell.LoadString(zuneUI:StringId)
.import-mthd List.Add(Object)
.import-mbrs Class{Properties}
.import-mbrs iris:Command{Description}
.import-mbrs zuneUI:WebHelpCommand{Description, Url}
.import-mbrs UI{Properties, Content}
.import-mbrs ViewItem{MaximumSize, Layout, Margins, Name, Visible}
.import-mbrs FlowLayout{DefaultChildAlignment, Orientation}
.import-mbrs Panel{Children}
.import-mbrs Graphic{Content, StretchingPolicy, SizingPolicy}
.import-mbrs styles:Styles{IconZuneAbout}
.import-mbrs DockLayout{DefaultLayoutInput}
.import-mbrs label:LabelBase{Content, Style, WordWrap}
.import-mbrs styles:SharedStyles{DialogTextStyle}
.import-mbrs zuneUI:ZuneShell{DefaultInstance, Management}
.import-mbrs zuneUI:Management{BuildNumber}
.import-mbrs zuneUI:SoftwareUpdates{PID}
.import-mbrs button:Button{Model}
.import-mbrs me:AboutDialog{TechSupportLink, Cancel}
.import-mbrs button:ButtonBase{ToolTipEnabled}
.import-mbrs button:LabelButtonWithBackground{TileMinSize}
.import-mbrs iris:Application{RenderingType}
.constant const0 = String("ContentUI")
.constant const1 = String("res://ZuneShellResources!AboutDialog.uix#AboutDialogContentUI")
.constant const2 = String("Cancel")
.constant const3 = zuneUI:StringId.bin(0x0000A7F9)
.constant const4 = String("TechSupportLink")
.constant const5 = zuneUI:StringId.bin(0x0000A80E)
.constant const6 = zuneUI:StringId.bin(0x00008F32)
.constant const7 = String("AccessibleDescription")
.constant const8 = zuneUI:StringId.bin(0x0000A807)
.constant const9 = iris:RenderingType.bin(0x00000000)
.constant const10 = Boolean("True")
.constant const11 = zuneUI:StringId.bin(0x0000A836)
.constant const12 = Size("360, 0")
.constant const13 = ItemAlignment("Near")
.constant const14 = Orientation("Vertical")
.constant const15 = Inset("10")
.constant const16 = Orientation("Horizontal")
.constant const17 = StretchingPolicy("Uniform")
.constant const18 = SizingPolicy("SizeToContent")
.constant const19 = Inset("10, 10, 0, 10")
.constant const20 = DockLayoutInput.can(Top)
.constant const21 = zuneUI:StringId.bin(0x0000A808)
.constant const22 = zuneUI:StringId.bin(0x0000A809)
.constant const23 = zuneUI:StringId.bin(0x0000A80A)
.constant const24 = Layout("HorizontalFlow")
.constant const25 = zuneUI:StringId.bin(0x0000A80B)
.constant const26 = Inset("5, 0, 0, 0")
.constant const27 = zuneUI:StringId.bin(0x0000A80C)
.constant const28 = String("GDIModeLabel")
.constant const29 = Boolean("False")
.constant const30 = zuneUI:StringId.bin(0x0000A80D)
.constant const31 = Size("160, 16")
.constant const32 = Inset("0, 10, 0, 0")
.section object
AboutDialog_prop:
JMPD 0, 0, 17
PSHC @const1
PDAD 0, @const0
JMPD 0, 2, 43
COBJ 4
PSHC @const3
MINVT 0
PINI 1
PDAD 0, @const2
JMPD 0, 4, 78
COBJ 5
PSHC @const5
MINVT 0
PINI 2
PSHC @const6
MINVT 0
PINI 3
PDAD 0, @const4
JMPD 0, 7, 98
PSHC @const8
MINVT 0
PDAD 0, @const7
RETV
AboutDialog_locl:
RETV
AboutDialogContentUI_cont0:
PSHC @const8
MINVT 0
WSYMP 1
DIS
RETV
AboutDialogContentUI_cont1:
COBJ 19
WSYMP 2
DIS
LSYM 2
LSYM 0
PGET 31
MINV 1
LSYM 0
PGET 31
WSYMP 3
DIS
LSYM 0
PGET 31
WSYMP 4
DIS
RETV
AboutDialogContentUI_cont2:
PGETT 32
PSHC @const9
OPR 42, 8
JMPF 189
PSHC @const10
LSYM 5
PASS 25
DIS
PSHC @const11
MINVT 0
LSYM 5
PASS 17
DIS
RETV
AboutDialogContentUI_prop:
RETV
AboutDialogContentUI_cont:
COBJ 13
PSHC @const12
PINI 6
COBJ 16
PSHC @const13
PINI 8
PSHC @const14
PINI 9
PINI 7
COBJ 13
PSHC @const15
PINI 11
COBJ 16
PSHC @const16
PINI 9
PINI 7
COBJ 21
PGETT 13
PINI 12
PSHC @const17
PINI 14
PSHC @const18
PINI 15
PLAD 10
COBJ 13
PSHC @const19
PINI 11
COBJ 26
PSHC @const20
PINI 16
PINI 7
COBJ 28
PSHC @const21
MINVT 0
PINI 17
PGETT 19
PINI 18
INIT 28
PLAD 10
COBJ 28
PSHC @const22
MINVT 0
PINI 17
PGETT 19
PINI 18
INIT 28
PLAD 10
COBJ 28
PSHC @const23
MINVT 0
PINI 17
PGETT 19
PINI 18
INIT 28
PLAD 10
COBJ 13
PSHC @const24
PINI 7
COBJ 28
PSHC @const25
MINVT 0
PINI 17
PGETT 19
PINI 18
INIT 28
PLAD 10
COBJ 28
PGETT 20
PGET 21
PGET 22
PINI 17
PSHC @const26
PINI 11
PGETT 19
PINI 18
INIT 28
PLAD 10
PLAD 10
COBJ 13
PSHC @const24
PINI 7
COBJ 28
PSHC @const27
MINVT 0
PINI 17
PGETT 19
PINI 18
INIT 28
PLAD 10
COBJ 28
PGETT 23
PINI 17
PSHC @const26
PINI 11
PGETT 19
PINI 18
INIT 28
PLAD 10
PLAD 10
COBJ 28
PSHC @const28
PINI 24
PSHC @const29
PINI 25
PGETT 19
PINI 18
INIT 28
PLAD 10
PLAD 10
PLAD 10
COBJ 28
PSHC @const30
MINVT 0
PINI 17
PGETT 19
PINI 18
PSHC @const10
PINI 26
INIT 28
PLAD 10
COBJ 36
LSYM 0
PGET 28
PINI 27
PSHC @const29
PINI 29
PSHC @const31
PINI 30
PSHC @const32
PINI 11
INIT 36
PLAD 10
PINI 5
RETV
AboutDialogContentUI_locl:
RETV
+12
View File
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-16"?>
<UIX xmlns="http://schemas.microsoft.com/2007/uix" xmlns:me="Me" xmlns:dialog="res://UIXControls!Dialog.uix" xmlns:iris="assembly://UIX/Microsoft.Iris" xmlns:zuneUI="assembly://ZuneShell/ZuneUI" xmlns:system="assembly://System.Private.CoreLib/System" xmlns:styles="res://ZuneShellResources!Styles.uix" xmlns:label="res://UIXControls!Label.uix" xmlns:style="res://UIXControls!Style.uix" xmlns:linkButtons="res://ZuneShellResources!LinkButtons.uix" xmlns:button="res://UIXControls!Button.uix">
<Class Name="AboutDialog" Base="dialog:Dialog">
<Properties>
<String Name="ContentUI" String="res://ZuneShellResources!AboutDialog.uix#AboutDialogContentUI" />
<zuneUI:StringId Name="Cancel" StringId="IDS_DIALOG_OK" />
<zuneUI:StringId Name="TechSupportLink" StringId="IDS_WWW_ZUNE_NET_SUPPORT_URL" />
<zuneUI:StringId Name="AccessibleDescription" StringId="IDS_ABOUTDIALOG_TITLE" />
</Properties>
</Class>
<UI Name="AboutDialogContentUI" Base="dialog:DialogContentUI" />
</UIX>
Binary file not shown.
+201
View File
@@ -0,0 +1,201 @@
.dataTable res://ZuneShellResources!_DataTable.uib
.export AboutDialog 0 Class
.export AboutDialogContentUI 0 UI
.section object
AboutDialog_prop:
JMPD 1, 2521, 17
PSHC @const7983
PDAD 1, @const2521
JMPD 1, 3890, 43
COBJ 26
PSHC @const2915
MINVT 2
PINI 42
PDAD 1, @const3890
JMPD 1, 7984, 75
COBJ 880
PSHC @const7985
MINVT 2
PINI 1570
MINVT 720
PINI 1572
PDAD 1, @const7984
JMPD 1, 4416, 95
PSHC @const7986
MINVT 2
PDAD 1, @const4416
RETV
AboutDialog_locl:
RETV
AboutDialogContentUI_cont0:
PSHC @const7986
MINVT 2
WSYMP 1
DIS
RETV
AboutDialogContentUI_cont1:
COBJ 37
WSYMP 2
DIS
LSYM 2
LSYM 0
PGET 4706
MINV 61
LSYM 0
PGET 4706
WSYMP 3
DIS
LSYM 0
PGET 4706
WSYMP 4
DIS
RETV
AboutDialogContentUI_cont2:
PGETT 423
PSHC @const2041
OPR 963, 8
JMPF 186
PSHC @const0
LSYM 5
PASS 551
DIS
PSHC @const7987
MINVT 2
LSYM 5
PASS 580
DIS
RETV
AboutDialogContentUI_prop:
RETV
AboutDialogContentUI_cont:
COBJ 934
PSHC @const265
PINI 37
PSHC @const7988
PINI 490
COBJ 934
PSHC @const2498
PINI 37
PSHC @const1412
PINI 68
COBJ 976
PGETT 4702
PINI 481
PSHC @const2671
PINI 491
PSHC @const3238
PINI 483
PLAD 38
COBJ 934
PSHC @const265
PINI 37
PSHC @const7989
PINI 68
COBJ 301
PSHC @const7990
MINVT 2
PINI 580
PGETT 1314
PINI 579
INIT 301
PLAD 38
COBJ 301
PSHC @const7991
MINVT 2
PINI 580
PGETT 1314
PINI 579
INIT 301
PLAD 38
COBJ 301
PSHC @const7992
MINVT 2
PINI 580
PGETT 1314
PINI 579
INIT 301
PLAD 38
COBJ 934
PSHC @const2498
PINI 37
COBJ 301
PSHC @const7993
MINVT 2
PINI 580
PGETT 1314
PINI 579
INIT 301
PLAD 38
COBJ 301
PGETT 5
PGET 2239
PGET 4703
PINI 580
PSHC @const3270
PINI 68
PGETT 1314
PINI 579
INIT 301
PLAD 38
PLAD 38
COBJ 934
PSHC @const2498
PINI 37
COBJ 301
PSHC @const7994
MINVT 2
PINI 580
PGETT 1314
PINI 579
INIT 301
PLAD 38
COBJ 301
PGETT 4704
PINI 580
PSHC @const7995
PINI 68
PGETT 1314
PINI 579
INIT 301
PLAD 38
PLAD 38
COBJ 301
PSHC @const7996
PINI 82
PSHC @const1
PINI 551
PGETT 1314
PINI 579
INIT 301
PLAD 38
PLAD 38
PLAD 38
COBJ 301
PSHC @const7997
MINVT 2
PINI 580
PGETT 1314
PINI 579
PSHC @const0
PINI 575
INIT 301
PLAD 38
COBJ 303
LSYM 0
PGET 4705
PINI 1440
PSHC @const1
PINI 2319
PSHC @const7998
PINI 1441
PSHC @const3265
PINI 68
INIT 303
PLAD 38
PINI 36
RETV
AboutDialogContentUI_locl:
RETV
+116
View File
@@ -0,0 +1,116 @@
<!-- Copyright (C) Microsoft Corporation. All rights reserved. -->
<UIX
xmlns="http://schemas.microsoft.com/2007/uix"
xmlns:zune="assembly://ZuneShell/ZuneUI"
xmlns:svc="assembly://ZuneDBApi/Microsoft.Zune.Service"
xmlns:zuneshell="assembly://ZuneShell/Microsoft.Zune.Shell"
xmlns:data="res://ZuneShellResources!LibraryData.schema.xml"
xmlns:signin="res://ZuneShellResources!SignInDialog.uix">
<Class Name="AddToCollection">
<Properties>
<List Name="Items" List="{null}"/>
<Int32 Name="PlaylistId" Int32="-1"/>
<Command Name="Start"/>
<Command Name="OnSuccess" Command="{null}"/>
</Properties>
<Locals>
<signin:SignInDialog Name="SignInDialog" SignInDialog="{null}"/>
<Command Name="BuildAddListPhase"/>
<Command Name="AddPhase"/>
<List Name="AddList"/>
<data:LibraryPlaylistContentQuery Name="Query" Enabled="false"/>
<Boolean Name="ContentNotInLibrary" Boolean="false"/>
</Locals>
<Scripts>
<Script>
[DeclareTrigger(Start.Invoked)]
AddList.Clear();
if (Items != null)
{
BuildAddListPhase.Invoke();
}
else if (PlaylistId != -1)
{
Query.PlaylistId = PlaylistId;
Query.Refresh();
}
</Script>
<Script>
[DeclareTrigger(Query.Result)]
if (Query.Result != null)
{
Items = Query.Result.Items;
BuildAddListPhase.Invoke();
}
</Script>
<Script>
[DeclareTrigger(BuildAddListPhase.Invoked)]
foreach(data:PlaylistContentItem item in Items)
{
if (!zuneshell:ZuneApplication.Service.InVisibleCollection(item.ZuneMediaId, svc:EContentType.MusicTrack) &amp;&amp;
!zune:Download.Instance.IsDownloadingOrPending(item.ZuneMediaId, svc:EContentType.MusicTrack))
{
AddList.Add(item);
}
}
if (AddList.Count > 0 &amp;&amp; !zune:SignIn.Instance.SignedIn)
{
if (SignInDialog == null) SignInDialog = new signin:SignInDialog();
SignInDialog.OnSuccess = AddPhase;
SignInDialog.Helper.Show();
}
else
{
AddPhase.Invoke();
}
</Script>
<Script>
[DeclareTrigger(AddPhase.Invoked)]
zune:Download.Instance.AddToCollection(AddList);
if (OnSuccess != null)
{
OnSuccess.Invoke();
}
Items = null;
PlaylistId = -1;
</Script>
</Scripts>
</Class>
</UIX>
Binary file not shown.
+237
View File
@@ -0,0 +1,237 @@
.export AddToCollection 8 Class
.import-ns res://ZuneShellResources!SignInDialog.uix as signInDialog
.import-ns res://ZuneShellResources!LibraryData.schema.xml as schema
.import-ns assembly://ZuneShell/Microsoft.Zune.Shell as shell
.import-ns assembly://ZuneDBApi/Microsoft.Zune.Service as service
.import-ns assembly://System.Private.CoreLib/System as system
.import-ns assembly://ZuneShell/ZuneUI as zuneUI
.import-ns res://UIXControls!Dialog.uix as dialog
.import-ns assembly://UIXControls/UIXControls as uIXControls
.import-ns assembly://System.Private.CoreLib/System.Collections as collections
.import-type Class
.import-type List
.import-type Int32
.import-type Command
.import-type Dictionary
.import-type String
.import-type Null
.import-type signInDialog:SignInDialog
.import-type schema:LibraryPlaylistContentQuery
.import-type Boolean
.import-type schema:PlaylistContentList
.import-type schema:PlaylistContentItem
.import-type shell:ZuneApplication
.import-type service:EContentType
.import-type service:Service
.import-type system:Guid
.import-type system:Boolean
.import-type zuneUI:Download
.import-type Object
.import-type Enumerator
.import-type zuneUI:SignIn
.import-type dialog:Dialog
.import-type uIXControls:DialogHelper
.import-type collections:IList
.import-mthd List.Clear()
.import-mthd Command.Invoke()
.import-mthd schema:LibraryPlaylistContentQuery.Refresh()
.import-mthd List.GetEnumerator()
.import-mthd service:Service.InVisibleCollection(system:Guid, service:EContentType)
.import-mthd zuneUI:Download.IsDownloadingOrPending(system:Guid, service:EContentType)
.import-mthd List.Add(Object)
.import-mthd Enumerator.MoveNext()
.import-mthd uIXControls:DialogHelper.Show()
.import-mthd zuneUI:Download.AddToCollection(collections:IList)
.import-mbrs Class{Properties, Locals}
.import-mbrs schema:LibraryPlaylistContentQuery{Enabled, PlaylistId, Result}
.import-mbrs schema:PlaylistContentList{Items}
.import-mbrs shell:ZuneApplication{Service}
.import-mbrs schema:PlaylistContentItem{ZuneMediaId}
.import-mbrs zuneUI:Download{Instance}
.import-mbrs Enumerator{Current}
.import-mbrs List{Count}
.import-mbrs zuneUI:SignIn{Instance, SignedIn}
.import-mbrs signInDialog:SignInDialog{OnSuccess}
.import-mbrs dialog:Dialog{Helper}
.import-mbrs Command{Invoked}
.constant const0 = Int32("-1")
.constant const1 = service:EContentType.bin(0x00000000)
.constant const2 = Int32("0")
.constant const3 = String("Items")
.constant const4 = String("PlaylistId")
.constant const5 = String("Start")
.constant const6 = String("OnSuccess")
.constant const7 = String("SignInDialog")
.constant const8 = String("BuildAddListPhase")
.constant const9 = String("AddPhase")
.constant const10 = String("AddList")
.constant const11 = Boolean("False")
.constant const12 = String("Query")
.constant const13 = String("ContentNotInLibrary")
.section object
LSYM 1
MINV 0
LSYM 2
PSHN
OPR 1, 9
JMPF 30
LSYM 3
MINV 1
JMP 61
LSYM 4
PSHC @const0
OPR 2, 9
JMPF 61
LSYM 4
LSYM 5
PASS 3
DIS
LSYM 5
MINV 2
RETV
LSYM 5
PGET 4
PSHN
OPR 10, 9
JMPF 97
LSYM 5
PGET 4
PGET 5
WSYMP 2
DIS
LSYM 3
MINV 1
RETV
LSYM 2
MINV 3
MINVP 7
JMPF 187
PGETP 9
VTC 11
WSYM 6
PGETT 6
LSYM 6
PGET 7
PSHC @const1
MINV 4
OPR 16, 15
JMPFP 168
PGETT 8
LSYM 6
PGET 7
PSHC @const1
MINV 5
OPR 16, 15
OPR 9, 6
JMPF 182
LSYM 1
LSYM 6
MINV 6
JMP 104
DIS
CSYM 6
LSYM 1
PGET 10
PSHC @const2
OPR 2, 11
JMPFP 223
PGETT 11
PGET 12
OPR 16, 15
OPR 9, 6
JMPF 276
LSYM 7
PSHN
OPR 7, 8
JMPF 251
COBJ 7
INIT 7
WSYMP 7
DIS
LSYM 8
LSYM 7
PASS 13
DIS
LSYM 7
PGET 14
MINV 8
DIS
JMP 282
LSYM 8
MINV 1
RETV
PGETT 8
LSYM 1
MINV 9
DIS
LSYM 9
PSHN
OPR 3, 9
JMPF 312
LSYM 9
MINV 1
PSHN
WSYMP 2
DIS
PSHC @const0
WSYMP 4
DIS
RETV
AddToCollection_rfsh_0:
LISD 0, 2, 0, 4294967295, 134218053
LSYM 0
LIS 1, 1, 0, 134217728
RETV
AddToCollection_rfsh_1:
LISD 2, 2, 5, 134217790, 134218081
LSYM 5
LIS 3, 0, 4, 134217790
RETV
AddToCollection_rfsh_2:
LISD 4, 2, 3, 4294967295, 134218109
LSYM 3
LIS 5, 1, 0, 134217826
RETV
AddToCollection_rfsh_3:
LISD 6, 2, 8, 4294967295, 134218137
LSYM 8
LIS 7, 1, 0, 134218011
RETV
AddToCollection_prop:
JMPD 0, 3, 452
PSHN
PDAD 0, @const3
JMPD 0, 4, 469
PSHC @const0
PDAD 0, @const4
JMPD 0, 5, 486
COBJ 3
PDAD 0, @const5
JMPD 0, 6, 501
PSHN
PDAD 0, @const6
RETV
AddToCollection_locl:
PSHN
PDAD 1, @const7
COBJ 3
PDAD 1, @const8
COBJ 3
PDAD 1, @const9
COBJ 1
PDAD 1, @const10
COBJ 8
PSHC @const11
PINI 2
INIT 8
PDAD 1, @const12
PSHC @const11
PDAD 1, @const13
CLIS 8
RETV
+28 -5
View File
@@ -1,18 +1,41 @@
.export Default 0 UI
.export Alt 0 UI
.import-type UI
.import-type ViewItem
.import-type Text
.import-type Color
.import-type String
.import-type Font
.import-mbrs UI{Content}
.import-mbrs Text{Color, Content, Font}
.constant const0 = Color("255, 255, 0, 0")
.constant const1 = String("Howdy from Microsoft.Iris!")
.constant const2 = Color("255, 0, 0, 255")
.constant const3 = Font("JetBrains Mono, 12")
.constant const4 = String("This is some blue text")
.section object
Default_cont:
COBJ 2 COBJ 2
PSHC 0 PSHC @const0
PINI 1 PINI 1
PSHC 1 PSHC @const1
PINI 2 PINI 2
PINI 0 PINI 0
RETV RETV
Default_locl:
RETV RETV
Alt_cont:
COBJ 2 COBJ 2
PSHC 2 PSHC @const2
PINI 1 PINI 1
PSHC 3 PSHC @const3
PINI 3 PINI 3
PSHC 4 PSHC @const4
PINI 2 PINI 2
PINI 0 PINI 0
RETV RETV
Alt_locl:
RETV RETV