/Application/GUI/Controls/ControlPanel.xaml

http://yet-another-music-application.googlecode.com/ · XAML · 600 lines · 507 code · 60 blank · 33 comment · 0 complexity · e3f9837ded860fa1bfca694f15f3e4d2 MD5 · raw file

  1. <!--ControlPanel.xaml
  2. The "Control Panel" screen used to show all the preferences
  3. of Stoffi.
  4. = = = = = = = = = =
  5. This code is part of the Stoffi Music Player Project.
  6. Visit our website at: stoffiplayer.com
  7. This program is free software; you can redistribute it and/or
  8. modify it under the terms of the GNU General Public License
  9. as published by the Free Software Foundation; either version
  10. 3 of the License, or (at your option) any later version.
  11. See stoffiplayer.com/license for more information.
  12. -->
  13. <UserControl x:Class="Stoffi.ControlPanel"
  14. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  15. xmlns:loc="http://schemas.tomer.com/winfx/2006/xaml/presentation"
  16. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  17. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  18. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  19. xmlns:Stoffi="clr-namespace:Stoffi"
  20. mc:Ignorable="d"
  21. Loaded="ControlPanel_Loaded"
  22. Initialized="ControlPanel_Initialized"
  23. PreviewKeyDown="ControlPanel_KeyDown"
  24. PreviewKeyUp="ControlPanel_KeyUp"
  25. SizeChanged="ControlPanel_SizeChanged"
  26. TextOptions.TextFormattingMode="Display"
  27. d:DesignHeight="600" d:DesignWidth="900">
  28. <UserControl.Resources>
  29. <ResourceDictionary>
  30. <ResourceDictionary.MergedDictionaries>
  31. <ResourceDictionary Source="..\Styles.xaml"/>
  32. <ResourceDictionary Source="..\..\Resources\DescriptionConverters.xaml"/>
  33. </ResourceDictionary.MergedDictionaries>
  34. </ResourceDictionary>
  35. </UserControl.Resources>
  36. <DockPanel Background="#e7f1fd" DockPanel.Dock="Top" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" x:Name="ControlPanelMain">
  37. <Grid DockPanel.Dock="Top" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
  38. <Grid.ColumnDefinitions>
  39. <ColumnDefinition Width="200"/>
  40. <ColumnDefinition Width="*"/>
  41. </Grid.ColumnDefinitions>
  42. <DockPanel Grid.Column="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" x:Name="ControlPanelLeft">
  43. <Button DockPanel.Dock="Top"
  44. Margin="10 13 0 0"
  45. Style="{StaticResource ControlPanelLinkStyle}"
  46. Click="Back_Clicked"
  47. loc:Translate.Uid="ControlBack"
  48. Content="{loc:Translate Content}"/>
  49. <Button x:Name="ControlPanelLink_General"
  50. DockPanel.Dock="Top"
  51. Margin="10 20 0 0"
  52. Style="{StaticResource ControlPanelLinkStyle}"
  53. Click="General_Clicked"
  54. loc:Translate.Uid="ControlGeneral"
  55. Content="{loc:Translate Content}"/>
  56. <Button x:Name="ControlPanelLink_Sources"
  57. DockPanel.Dock="Top" Margin="10 5 0 0"
  58. Style="{StaticResource ControlPanelLinkStyle}"
  59. Click="Sources_Clicked"
  60. loc:Translate.Uid="ControlSources"
  61. Content="{loc:Translate Content}"/>
  62. <Button x:Name="ControlPanelLink_Services"
  63. DockPanel.Dock="Top" Margin="10 5 0 0"
  64. Style="{StaticResource ControlPanelLinkStyle}"
  65. Click="Services_Clicked"
  66. loc:Translate.Uid="ControlServices"
  67. Content="{loc:Translate Content}"/>
  68. <Button x:Name="ControlPanelLink_Shortcuts"
  69. DockPanel.Dock="Top" Margin="10 5 0 0"
  70. Style="{StaticResource ControlPanelLinkStyle}"
  71. Click="Shortcuts_Clicked"
  72. loc:Translate.Uid="ControlShortcuts"
  73. Content="{loc:Translate Content}"/>
  74. <Button x:Name="ControlPanelLink_About"
  75. DockPanel.Dock="Top"
  76. Margin="10 20 0 0"
  77. Style="{StaticResource ControlPanelLinkStyle}"
  78. Click="About_Clicked"
  79. loc:Translate.Uid="ControlAbout"
  80. Content="{loc:Translate Content}"/>
  81. <Button DockPanel.Dock="Bottom"
  82. Margin="10 5 0 20"
  83. Style="{StaticResource ControlPanelLinkStyle}"
  84. Click="Project_Clicked"
  85. loc:Translate.Uid="ControlProject"
  86. Content="{loc:Translate Content}"/>
  87. <Button DockPanel.Dock="Bottom"
  88. Margin="10 5 0 0"
  89. Style="{StaticResource ControlPanelLinkStyle}"
  90. Click="Blog_Clicked"
  91. loc:Translate.Uid="ControlBlog"
  92. Content="{loc:Translate Content}"/>
  93. <Button DockPanel.Dock="Bottom"
  94. Margin="10 5 0 0"
  95. Style="{StaticResource ControlPanelLinkStyle}"
  96. Click="Website_Clicked"
  97. loc:Translate.Uid="ControlWebsite"
  98. Content="{loc:Translate Content}"/>
  99. <TextBlock DockPanel.Dock="Bottom"
  100. Padding="28 5 0 0"
  101. loc:Translate.Uid="ControlSeeAlso"
  102. Text="{loc:Translate Text}"
  103. Foreground="#808080"
  104. VerticalAlignment="Bottom"/>
  105. <DockPanel.Background>
  106. <ImageBrush ImageSource="/GUI/Images/Backgrounds/ControlLeft.png" Stretch="None" AlignmentY="Top"/>
  107. </DockPanel.Background>
  108. </DockPanel>
  109. <!-- Tab: Sources -->
  110. <ScrollViewer x:Name="ControlPanelSources" Visibility="Collapsed" Grid.Column="1" VerticalScrollBarVisibility="Auto">
  111. <DockPanel Background="White" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" LastChildFill="True">
  112. <TextBlock DockPanel.Dock="Top"
  113. Style="{DynamicResource AeroControlPanelTitleStyle}"
  114. x:Name="SourceTitle"
  115. loc:Translate.Uid="SourcesTitle"
  116. Text="{loc:Translate Text}"/>
  117. <!-- SOURCES -->
  118. <DockPanel DockPanel.Dock="Top" Margin="25 15 0 5" LastChildFill="True">
  119. <TextBlock loc:Translate.Uid="SourcesSubTitle" Text="{loc:Translate Text}" DockPanel.Dock="Left"/>
  120. <Separator Background="#CCCCCC" Height="2" Margin="5 0 5 0" SnapsToDevicePixels="True" />
  121. </DockPanel>
  122. <DockPanel Margin="50 5 20 20" DockPanel.Dock="Top" LastChildFill="True">
  123. <TextBlock Margin="5" TextWrapping="Wrap" DockPanel.Dock="Top" loc:Translate.Uid="SourcesText" Text="{loc:Translate Text}"/>
  124. <StackPanel Orientation="Horizontal" DockPanel.Dock="Top">
  125. <Button Padding="10 1"
  126. HorizontalAlignment="Center"
  127. Margin="5"
  128. x:Name="AddFolder"
  129. Click="AddFolder_Clicked"
  130. loc:Translate.Uid="SourcesAddFolder"
  131. Content="{loc:Translate Content}"/>
  132. <Button Padding="10 1"
  133. HorizontalAlignment="Center"
  134. Margin="5"
  135. x:Name="AddFile"
  136. Click="AddFile_Clicked"
  137. loc:Translate.Uid="SourcesAddFile"
  138. Content="{loc:Translate Content}"/>
  139. <Button Padding="10 1"
  140. HorizontalAlignment="Center"
  141. Margin="5"
  142. x:Name="IgnoreFolder"
  143. Click="IgnoreFolder_Clicked"
  144. loc:Translate.Uid="SourcesIgnoreFolder"
  145. Content="{loc:Translate Content}"/>
  146. <Button Padding="10 1"
  147. HorizontalAlignment="Center"
  148. Margin="5"
  149. x:Name="IgnoreFile"
  150. Click="IgnoreFile_Clicked"
  151. loc:Translate.Uid="SourcesIgnoreFile"
  152. Content="{loc:Translate Content}"/>
  153. </StackPanel>
  154. <Stoffi:ViewDetails Margin="5" x:Name="SourceList" DockPanel.Dock="Top" KeyDown="SourceList_KeyDown" ContextMenuOpening="SourceList_ContextMenuOpening"/>
  155. </DockPanel>
  156. </DockPanel>
  157. </ScrollViewer>
  158. <!-- Tab: Keyboard Shortcuts -->
  159. <ScrollViewer x:Name="ControlPanelShortcuts" Visibility="Collapsed" Grid.Column="1" VerticalScrollBarVisibility="Auto">
  160. <DockPanel Background="White" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Name="ShortcutContainer">
  161. <TextBlock DockPanel.Dock="Top"
  162. Style="{DynamicResource AeroControlPanelTitleStyle}"
  163. x:Name="ShortcutTitle"
  164. loc:Translate.Uid="ShortcutsTitle"
  165. Text="{loc:Translate Text}"/>
  166. <!-- PROFILES -->
  167. <DockPanel DockPanel.Dock="Top" Margin="25 15 0 5" LastChildFill="True">
  168. <TextBlock loc:Translate.Uid="ShortcutsProfileTitle" Text="{loc:Translate Text}" DockPanel.Dock="Left"/>
  169. <Separator Background="#CCCCCC" Height="2" Margin="5 0 5 0" SnapsToDevicePixels="True" />
  170. </DockPanel>
  171. <TextBlock Margin="50 5 0 5" TextWrapping="Wrap" DockPanel.Dock="Top" loc:Translate.Uid="ShortcutsProfileText" Text="{loc:Translate Text}"/>
  172. <Grid DockPanel.Dock="Top" Margin="50 5 0 0">
  173. <Grid.ColumnDefinitions>
  174. <ColumnDefinition Width="170"/>
  175. <ColumnDefinition Width="*"/>
  176. </Grid.ColumnDefinitions>
  177. <Grid.RowDefinitions>
  178. <RowDefinition Height="Auto"/>
  179. <RowDefinition Height="Auto"/>
  180. </Grid.RowDefinitions>
  181. <TextBlock Grid.Column="0" Grid.Row="0" loc:Translate.Uid="ShortcutsProfileSelect" Text="{loc:Translate Text}" VerticalAlignment="Center"/>
  182. <ComboBox Grid.Column="1" Grid.Row="0" SelectedIndex="0" HorizontalAlignment="Left" x:Name="PrefShortcutProfile" Margin="0 5 15 5" SelectionChanged="PrefShortcutProfile_SelectionChanged">
  183. </ComboBox>
  184. <StackPanel Orientation="Horizontal" Grid.Column="1" Grid.Row="1">
  185. <Button x:Name="PrefCreateShortcutProfile"
  186. MinWidth="100"
  187. HorizontalAlignment="Left"
  188. Margin="0 5"
  189. loc:Translate.Uid="ShortcutsProfileNew"
  190. Content="{loc:Translate Content}"
  191. Click="PrefCreateShortcutProfile_Clicked"/>
  192. <Button x:Name="PrefRenameShortcutProfile"
  193. MinWidth="100"
  194. HorizontalAlignment="Left"
  195. Margin="10 5"
  196. loc:Translate.Uid="ShortcutsProfileRename"
  197. Content="{loc:Translate Content}"
  198. Click="PrefRenameShortcutProfile_Clicked"/>
  199. <Button x:Name="PrefDeleteShortcutProfile"
  200. MinWidth="100"
  201. HorizontalAlignment="Left"
  202. Margin="0 5"
  203. loc:Translate.Uid="ShortcutsProfileDelete"
  204. Content="{loc:Translate Content}"
  205. Click="PrefDeleteShortcutProfile_Clicked"/>
  206. </StackPanel>
  207. </Grid>
  208. <DockPanel Name="ShortcutPanel" DockPanel.Dock="Top">
  209. <!-- here all shortcuts will be inserted at runtime -->
  210. </DockPanel>
  211. </DockPanel>
  212. </ScrollViewer>
  213. <!-- Tab: About -->
  214. <ScrollViewer x:Name="ControlPanelAbout" Visibility="Collapsed" Grid.Column="1" VerticalScrollBarVisibility="Auto">
  215. <DockPanel Background="White" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
  216. <TextBlock DockPanel.Dock="Top"
  217. Style="{DynamicResource AeroControlPanelTitleStyle}"
  218. x:Name="AboutTitle"
  219. loc:Translate.Uid="AboutTitle"
  220. Text="{loc:Translate Text}"/>
  221. <!-- DESCRIPTION -->
  222. <DockPanel DockPanel.Dock="Top" Margin="25 15 0 5" LastChildFill="True">
  223. <TextBlock loc:Translate.Uid="AboutDescriptionTitle" Text="{loc:Translate Text}" DockPanel.Dock="Left"/>
  224. <Separator Background="#CCCCCC" Height="1" Margin="5 0 5 0" SnapsToDevicePixels="True" />
  225. </DockPanel>
  226. <Grid DockPanel.Dock="Top" Margin="50 5 20 0" HorizontalAlignment="Left">
  227. <Grid.ColumnDefinitions>
  228. <ColumnDefinition Width="*"/>
  229. <ColumnDefinition Width="128"/>
  230. </Grid.ColumnDefinitions>
  231. <TextBlock Grid.Column="0" TextWrapping="Wrap" SnapsToDevicePixels="True" loc:Translate.Uid="AboutDescriptionText" Text="{loc:Translate Text}"/>
  232. <Image Source="..\Images\Stoffi.png" Width="128" Height="128" Grid.Column="1"/>
  233. </Grid>
  234. <!-- PROPERTIES -->
  235. <DockPanel DockPanel.Dock="Top" Margin="25 15 0 5" LastChildFill="True">
  236. <TextBlock loc:Translate.Uid="AboutPropertiesTitle" Text="{loc:Translate Text}" DockPanel.Dock="Left"/>
  237. <Separator Background="#CCCCCC" Height="1" Margin="5 0 5 0" SnapsToDevicePixels="True" />
  238. </DockPanel>
  239. <Grid DockPanel.Dock="Top" Margin="50 5 0 0">
  240. <Grid.ColumnDefinitions>
  241. <ColumnDefinition Width="190"/>
  242. <ColumnDefinition Width="*"/>
  243. </Grid.ColumnDefinitions>
  244. <Grid.RowDefinitions>
  245. <RowDefinition Height="Auto"/>
  246. <RowDefinition Height="Auto"/>
  247. <RowDefinition Height="Auto"/>
  248. <RowDefinition Height="Auto"/>
  249. <RowDefinition Height="Auto"/>
  250. <RowDefinition Height="*"/>
  251. </Grid.RowDefinitions>
  252. <TextBlock Grid.Column="0" Grid.Row="0" loc:Translate.Uid="AboutPropertiesVersion" Text="{loc:Translate Text}" VerticalAlignment="Center" Margin="0 3"/>
  253. <StackPanel Orientation="Horizontal" Grid.Column="1" Grid.Row="0" Margin="0">
  254. <TextBox Text="N/A" x:Name="AboutVersion" IsReadOnly="true" BorderThickness="0" Padding="0" VerticalAlignment="Center" Margin="0 3"/>
  255. <Expander loc:Translate.Uid="AboutPropertiesDetails"
  256. Header="{loc:Translate Header}"
  257. Expanded="Details_Expanded"
  258. Collapsed="Details_Collapsed"
  259. VerticalAlignment="Center"
  260. Margin="100 0 0 0"/>
  261. </StackPanel>
  262. <TextBlock Grid.Column="0" Grid.Row="1" x:Name="AboutStampLabel" Visibility="Collapsed" VerticalAlignment="Center" Margin="0 3" loc:Translate.Uid="AboutPropertiesStamp" Text="{loc:Translate Text}"/>
  263. <TextBox Grid.Column="1" Grid.Row="1" x:Name="AboutStamp" Visibility="Collapsed" VerticalAlignment="Center" Margin="0 3" IsReadOnly="True" BorderThickness="0" Padding="0" Text="N/A"/>
  264. <TextBlock Grid.Column="0" Grid.Row="2" x:Name="AboutReleaseLabel" Visibility="Collapsed" VerticalAlignment="Center" Margin="0 3" loc:Translate.Uid="AboutPropertiesRelease" Text="{loc:Translate Text}"/>
  265. <TextBox Grid.Column="1" Grid.Row="2" x:Name="AboutRelease" Visibility="Collapsed" VerticalAlignment="Center" Margin="0 3" IsReadOnly="True" BorderThickness="0" Padding="0" Text="N/A"/>
  266. <TextBlock Grid.Column="0" Grid.Row="3" x:Name="AboutArchLabel" Visibility="Collapsed" VerticalAlignment="Center" Margin="0 3" loc:Translate.Uid="AboutPropertiesArch" Text="{loc:Translate Text}"/>
  267. <TextBox Grid.Column="1" Grid.Row="3" x:Name="AboutArch" Visibility="Collapsed" VerticalAlignment="Center" Margin="0 3" IsReadOnly="True" BorderThickness="0" Padding="0" Text="N/A"/>
  268. <TextBlock Grid.Column="0" Grid.Row="4" x:Name="AboutChannelLabel" Visibility="Collapsed" VerticalAlignment="Center" Margin="0 3" loc:Translate.Uid="AboutPropertiesChannel" Text="{loc:Translate Text}"/>
  269. <TextBox Grid.Column="1" Grid.Row="4" x:Name="AboutChannel" Visibility="Collapsed" VerticalAlignment="Center" Margin="0 3" IsReadOnly="True" BorderThickness="0" Padding="0" Text="N/A"/>
  270. <TextBlock Grid.Column="0" Grid.Row="5" loc:Translate.Uid="AboutPropertiesCheck" Text="{loc:Translate Text}" VerticalAlignment="Center" Margin="0 5"/>
  271. <DockPanel Grid.Column="1" Grid.Row="5" VerticalAlignment="Center" Margin="2 5">
  272. <TextBlock DockPanel.Dock="Left" Text="N/A" x:Name="AboutUpgradeCheck"/>
  273. <DockPanel DockPanel.Dock="Left" x:Name="AboutUpgradePending" Visibility="Collapsed">
  274. <Image DockPanel.Dock="Left" VerticalAlignment="Top" Source="../Images/Icons/Upgrade.ico" Width="16" Height="16" Margin="20 0 5 0"/>
  275. <TextBlock DockPanel.Dock="Left" loc:Translate.Uid="AboutPropertiesUpgraded" Text="{loc:Translate Text}"/>
  276. </DockPanel>
  277. </DockPanel>
  278. </Grid>
  279. <!-- CREDITS -->
  280. <DockPanel DockPanel.Dock="Top" Margin="25 20 0 5" LastChildFill="True">
  281. <TextBlock Text="Credits" DockPanel.Dock="Left"/>
  282. <Separator Background="#CCCCCC" Margin="5 0 5 0" SnapsToDevicePixels="True" />
  283. </DockPanel>
  284. <Grid DockPanel.Dock="Top" Margin="50 5 0 0">
  285. <Grid.RowDefinitions>
  286. <RowDefinition Height="20"/>
  287. <RowDefinition Height="30"/>
  288. <RowDefinition Height="20"/>
  289. <RowDefinition Height="30"/>
  290. <RowDefinition Height="20"/>
  291. <RowDefinition Height="30"/>
  292. <RowDefinition Height="20"/>
  293. <RowDefinition Height="30"/>
  294. <RowDefinition Height="20"/>
  295. <RowDefinition Height="40"/>
  296. <RowDefinition Height="20"/>
  297. <RowDefinition Height="20"/>
  298. <RowDefinition Height="20"/>
  299. </Grid.RowDefinitions>
  300. <TextBlock Grid.Row="0" Text="Christoffer Brodd-Reijer"/>
  301. <TextBlock Grid.Row="1" loc:Translate.Uid="AboutCreditsChristoffer" Text="{loc:Translate Text}" FontStyle="Italic"/>
  302. <TextBlock Grid.Row="2" Text="Mark Tibblin"/>
  303. <TextBlock Grid.Row="3" loc:Translate.Uid="AboutCreditsMark" Text="{loc:Translate Text}" FontStyle="Italic"/>
  304. <TextBlock Grid.Row="4" Text="Hylton Clarke"/>
  305. <TextBlock Grid.Row="5" loc:Translate.Uid="AboutCreditsHylton" Text="{loc:Translate Text}" FontStyle="Italic"/>
  306. <TextBlock Grid.Row="6" Text="Maggie Man"/>
  307. <TextBlock Grid.Row="7" loc:Translate.Uid="AboutCreditsMaggie" Text="{loc:Translate Text}" FontStyle="Italic"/>
  308. <TextBlock Grid.Row="8" Text="Tianwen Zhang"/>
  309. <TextBlock Grid.Row="9" loc:Translate.Uid="AboutCreditsTianwen" Text="{loc:Translate Text}" FontStyle="Italic"/>
  310. <TextBlock Grid.Row="10" loc:Translate.Uid="AboutCreditsTranslators" Text="{loc:Translate Text}"/>
  311. <TextBlock Grid.Row="11" FontStyle="Italic" Text="Christoffer Brodd-Reijer"/>
  312. <TextBlock Grid.Row="12" FontStyle="Italic" Text="Tianwen Zhang"/>
  313. </Grid>
  314. </DockPanel>
  315. </ScrollViewer>
  316. <!-- Tab: General -->
  317. <ScrollViewer x:Name="ControlPanelGeneral" Visibility="Collapsed" Grid.Column="1" VerticalScrollBarVisibility="Auto">
  318. <DockPanel Background="White" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
  319. <TextBlock DockPanel.Dock="Top"
  320. Style="{DynamicResource AeroControlPanelTitleStyle}"
  321. x:Name="GeneralTitle"
  322. loc:Translate.Uid="GeneralTitle"
  323. Text="{loc:Translate Text}"/>
  324. <!-- APPEARANCE -->
  325. <DockPanel DockPanel.Dock="Top" Margin="25 15 0 5" LastChildFill="True">
  326. <TextBlock loc:Translate.Uid="GeneralLookTitle" Text="{loc:Translate Text}" DockPanel.Dock="Left"/>
  327. <Separator Background="#CCCCCC" Height="2" Margin="5 0 5 0" SnapsToDevicePixels="True" />
  328. </DockPanel>
  329. <TextBlock Margin="50 5 0 5" TextWrapping="Wrap" DockPanel.Dock="Top" loc:Translate.Uid="GeneralLookText" Text="{loc:Translate Text}"/>
  330. <Grid DockPanel.Dock="Top" Margin="50 5 0 0">
  331. <Grid.ColumnDefinitions>
  332. <ColumnDefinition Width="Auto"/>
  333. <ColumnDefinition Width="*"/>
  334. </Grid.ColumnDefinitions>
  335. <Grid.RowDefinitions>
  336. <RowDefinition Height="Auto"/>
  337. <RowDefinition Height="Auto"/>
  338. <RowDefinition Height="Auto"/>
  339. <RowDefinition Height="Auto"/>
  340. </Grid.RowDefinitions>
  341. <TextBlock Grid.Column="0" Grid.Row="0" loc:Translate.Uid="GeneralLanguage" Text="{loc:Translate Text}" VerticalAlignment="Center" Margin="0 0 10 0"/>
  342. <ComboBox Grid.Column="1" Grid.Row="0" SelectedIndex="0" HorizontalAlignment="Left" x:Name="PrefLanguage" Margin="0 5">
  343. <ComboBoxItem Tag="en-US">English (US)</ComboBoxItem>
  344. <!--<ComboBoxItem Tag="pt-BR">Português (Brasil)</ComboBoxItem>-->
  345. <ComboBoxItem Tag="zh-CN">简体中文</ComboBoxItem>
  346. <ComboBoxItem Tag="sv-SE">Svenska</ComboBoxItem>
  347. </ComboBox>
  348. <TextBlock Grid.Column="0" Grid.Row="1" loc:Translate.Uid="GeneralOSD" Text="{loc:Translate Text}" Margin="0 5 10 5" />
  349. <CheckBox x:Name="PrefOSD" Grid.Column="1" Grid.Row="1" Margin="0 5" IsChecked="{Binding ShowOSD}" />
  350. <TextBlock Grid.Column="0" Grid.Row="2" loc:Translate.Uid="GeneralMinimize" Text="{loc:Translate Text}" Margin="0 5 10 5" />
  351. <CheckBox x:Name="PrefMin2Tray" Grid.Column="1" Grid.Row="2" Margin="0 5" IsChecked="{Binding MinimizeToTray}" />
  352. </Grid>
  353. <!-- BEHAVIOUR -->
  354. <DockPanel DockPanel.Dock="Top" Margin="25 15 0 5" LastChildFill="True">
  355. <TextBlock loc:Translate.Uid="GeneralFeelTitle" Text="{loc:Translate Text}" DockPanel.Dock="Left"/>
  356. <Separator Background="#CCCCCC" Height="2" Margin="5 0 5 0" SnapsToDevicePixels="True" />
  357. </DockPanel>
  358. <TextBlock Margin="50 5 0 5" TextWrapping="Wrap" DockPanel.Dock="Top" loc:Translate.Uid="GeneralFeelText" Text="{loc:Translate Text}"/>
  359. <Grid DockPanel.Dock="Top" Margin="50 5 0 25">
  360. <Grid.ColumnDefinitions>
  361. <ColumnDefinition Width="170"/>
  362. <ColumnDefinition Width="*"/>
  363. </Grid.ColumnDefinitions>
  364. <Grid.RowDefinitions>
  365. <RowDefinition Height="Auto"/>
  366. <RowDefinition Height="Auto"/>
  367. <RowDefinition Height="Auto"/>
  368. <RowDefinition Height="Auto"/>
  369. <RowDefinition Height="Auto"/>
  370. <RowDefinition Height="Auto"/>
  371. <RowDefinition Height="Auto"/>
  372. <RowDefinition Height="Auto"/>
  373. <RowDefinition Height="Auto"/>
  374. <RowDefinition Height="Auto"/>
  375. </Grid.RowDefinitions>
  376. <TextBlock Grid.Row="0" Grid.Column="0" VerticalAlignment="Center" loc:Translate.Uid="GeneralSearchPolicy" Text="{loc:Translate Text}"/>
  377. <ComboBox Grid.Row="0" Grid.Column="1" HorizontalAlignment="Left" Margin="0 5" x:Name="SearchPolicyCombo">
  378. <ComboBoxItem loc:Translate.Uid="GeneralSearchPolicyGlobal" Content="{loc:Translate Content}"/>
  379. <ComboBoxItem loc:Translate.Uid="GeneralSearchPolicyPartial" Content="{loc:Translate Content}"/>
  380. <ComboBoxItem loc:Translate.Uid="GeneralSearchPolicyIndividual" Content="{loc:Translate Content}"/>
  381. </ComboBox>
  382. <TextBlock Grid.Column="0" Grid.Row="1" VerticalAlignment="Center" loc:Translate.Uid="GeneralUpgradePolicy" Text="{loc:Translate Text}"/>
  383. <DockPanel Grid.Column="1" Grid.Row="1" LastChildFill="false">
  384. <ComboBox SelectedIndex="0" Margin="0 5" DockPanel.Dock="Left" x:Name="UpgradePolicyCombo">
  385. <ComboBoxItem loc:Translate.Uid="GeneralUpgradePolicyAuto" Content="{loc:Translate Content}"/>
  386. <ComboBoxItem loc:Translate.Uid="GeneralUpgradePolicyNotify" Content="{loc:Translate Content}"/>
  387. <ComboBoxItem loc:Translate.Uid="GeneralUpgradePolicyManual" Content="{loc:Translate Content}"/>
  388. </ComboBox>
  389. <Button DockPanel.Dock="Left"
  390. VerticalAlignment="Center"
  391. Margin="5 0"
  392. x:Name="PrefDoUpgrade"
  393. Visibility="Collapsed"
  394. Click="PrefDoUpgrade_Clicked"
  395. loc:Translate.Uid="GeneralDoUpgrade"
  396. Content="{loc:Translate Text}"/>
  397. <Button DockPanel.Dock="Left"
  398. VerticalAlignment="Center"
  399. Margin="5 0"
  400. x:Name="PrefCheckForUpgrades"
  401. Visibility="Collapsed"
  402. Click="CheckForUpgrades_Clicked"
  403. loc:Translate.Uid="GeneralDoCheck"
  404. Content="{loc:Translate Text}"/>
  405. <Button DockPanel.Dock="Left"
  406. VerticalAlignment="Center"
  407. Margin="5 0"
  408. x:Name="Restart"
  409. Visibility="Collapsed"
  410. Click="Restart_Click"
  411. loc:Translate.Uid="GeneralRestart"
  412. Content="{loc:Translate Text}"/>
  413. </DockPanel>
  414. <DockPanel Grid.Column="1" Grid.Row="2" x:Name="UpgradeProgress" Visibility="Collapsed">
  415. <TextBlock DockPanel.Dock="Left" loc:Translate.Uid="UpgradeDownloading" Text="{loc:Translate Text}" Margin="15 0" x:Name="UpgradeProgressLabel"/>
  416. <ProgressBar DockPanel.Dock="Left" Width="150" HorizontalAlignment="Left" Value="0" x:Name="UpgradeProgressBar"/>
  417. <TextBlock DockPanel.Dock="Left" Text="0%" Margin="15 0" MaxWidth="300" TextWrapping="Wrap" x:Name="UpgradeProgressInfo" Visibility="Collapsed"/>
  418. </DockPanel>
  419. <Border Grid.Row="3" Grid.Column="1" Visibility="Collapsed" x:Name="UpgradeMessage"
  420. Padding="10 3 10 4" BorderThickness="1" HorizontalAlignment="Left" SnapsToDevicePixels="True">
  421. <StackPanel Orientation="Horizontal">
  422. <Image x:Name="UpgradeMessageIcon" Source="../Images/Icons/Info.ico" Width="22" Height="22" Margin="0 0 5 0" VerticalAlignment="Center"/>
  423. <TextBlock x:Name="UpgradeMessageText" Text="This is a message that is very long, long" VerticalAlignment="Center"/>
  424. <Image x:Name="UpgradeMessageClose" Source="../Images/Buttons/Close.gif" MouseLeftButtonDown="UpgradeMessageClose_MouseLeftButtonDown"
  425. Width="8" Height="8" Margin="10 0 0 0" Cursor="Hand" VerticalAlignment="Center"/>
  426. </StackPanel>
  427. </Border>
  428. <TextBlock Grid.Row="4"
  429. Grid.Column="0"
  430. VerticalAlignment="Top"
  431. Margin="0 25 0 5"
  432. Grid.ColumnSpan="2"
  433. loc:Translate.Uid="GeneralAddPlayText"
  434. Text="{loc:Translate Text}"/>
  435. <TextBlock Grid.Row="5" Grid.Column="0" loc:Translate.Uid="GeneralAddPolicy" Text="{loc:Translate Text}" VerticalAlignment="Center"/>
  436. <ComboBox Grid.Row="5" Grid.Column="1" HorizontalAlignment="Left" Margin="0 5" x:Name="AddPolicyCombo">
  437. <ComboBoxItem loc:Translate.Uid="GeneralAddPolicyDont" Content="{loc:Translate Content}"/>
  438. <ComboBoxItem loc:Translate.Uid="GeneralAddPolicyLibrary" Content="{loc:Translate Content}"/>
  439. <ComboBoxItem loc:Translate.Uid="GeneralAddPolicyBoth" Content="{loc:Translate Content}"/>
  440. </ComboBox>
  441. <TextBlock Grid.Row="6" Grid.Column="0" loc:Translate.Uid="GeneralPlayPolicy" Text="{loc:Translate Text}" VerticalAlignment="Center"/>
  442. <ComboBox Grid.Row="6" Grid.Column="1" HorizontalAlignment="Left" Margin="0 5" x:Name="PlayPolicyCombo">
  443. <ComboBoxItem loc:Translate.Uid="GeneralPlayPolicyPlay" Content="{loc:Translate Content}"/>
  444. <ComboBoxItem loc:Translate.Uid="GeneralPlayPolicyDont" Content="{loc:Translate Content}"/>
  445. <ComboBoxItem loc:Translate.Uid="GeneralPlayPolicyBack" Content="{loc:Translate Content}"/>
  446. <ComboBoxItem loc:Translate.Uid="GeneralPlayPolicyFront" Content="{loc:Translate Content}"/>
  447. </ComboBox>
  448. <TextBlock Grid.Column="0" Grid.Row="7" loc:Translate.Uid="GeneralPausePlayback" Text="{loc:Translate Text}" Margin="0 30 10 5" />
  449. <TextBlock Grid.Column="0" Grid.Row="8" loc:Translate.Uid="GeneralPausePlaybackLocked" Text="{loc:Translate Text}" Margin="0 5 10 5" />
  450. <CheckBox Grid.Column="1" Grid.Row="8" x:Name="GeneralPauseWhileLocked" Margin="0 5" IsChecked="{Binding PauseWhileLocked}" />
  451. <TextBlock Grid.Column="0" Grid.Row="9" loc:Translate.Uid="GeneralPausePlaybackLoggedOut" Text="{loc:Translate Text}" Margin="0 5 10 5" />
  452. <CheckBox Grid.Column="1" Grid.Row="9" x:Name="GeneralPauseWhileLoggedOut" Margin="0 5" IsChecked="{Binding PauseWhileLoggedOut}" />
  453. </Grid>
  454. </DockPanel>
  455. </ScrollViewer>
  456. <!-- Tab: Services -->
  457. <ScrollViewer x:Name="ControlPanelServices" Visibility="Collapsed" Grid.Column="1" VerticalScrollBarVisibility="Auto">
  458. <DockPanel Name="ServiceRootPanel" Background="White" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
  459. <TextBlock DockPanel.Dock="Top"
  460. Style="{DynamicResource AeroControlPanelTitleStyle}"
  461. x:Name="ServicesTitle"
  462. loc:Translate.Uid="ServicesTitle"
  463. Text="{loc:Translate Text}"/>
  464. <!-- ACCOUNT -->
  465. <DockPanel DockPanel.Dock="Top" Margin="25 15 0 5" LastChildFill="True">
  466. <TextBlock loc:Translate.Uid="ServicesAccountTitle" Text="{loc:Translate Text}" DockPanel.Dock="Left"/>
  467. <Separator Background="#CCCCCC" Height="2" Margin="5 0 5 0" SnapsToDevicePixels="True" />
  468. </DockPanel>
  469. <TextBlock Margin="50 5 0 5" TextWrapping="Wrap" DockPanel.Dock="Top" loc:Translate.Uid="ServicesAccountText" Text="{loc:Translate Text}"/>
  470. <DockPanel Margin="50 5 5 5" DockPanel.Dock="Top" LastChildFill="True" Name="ServiceAccountPanel">
  471. <Button DockPanel.Dock="Top" loc:Translate.Uid="ServicesAccountDelink" Content="{loc:Translate Content}" Name="Delink" Click="Delink_Click"
  472. Height="20" MinWidth="80" HorizontalAlignment="Left"/>
  473. <StackPanel DockPanel.Dock="Top" Orientation="Horizontal" Name="DeviceNamePanel" Margin="0 5">
  474. <TextBlock loc:Translate.Uid="ServicesDeviceName" Text="{loc:Translate Text}" VerticalAlignment="Center"/>
  475. <Stoffi:EditableTextBlock x:Name="DeviceName" Width="100" SimpleHover="True" ClickToEdit="True" Edited="DeviceName_Edited"
  476. VerticalAlignment="Center" Margin="5 0 0 0"/>
  477. </StackPanel>
  478. <Grid DockPanel.Dock="Top" Margin="50 5 5 5" Name="BrowserContainer">
  479. <Grid.RowDefinitions>
  480. <RowDefinition Height="200"/>
  481. </Grid.RowDefinitions>
  482. <WebBrowser Grid.Row="0" Name="ServiceBrowser" Navigating="ServiceBrowser_Navigating" Navigated="ServiceBrowser_Navigated"/>
  483. <Label Grid.Row="0" HorizontalContentAlignment="Center" Name="BrowserLoadingIndicator"
  484. VerticalContentAlignment="Center">
  485. <StackPanel Orientation="Vertical">
  486. <TextBlock Text="Loading..." HorizontalAlignment="Center" Name="BrowserMessage"/>
  487. <ProgressBar Width="200" Height="12" Margin="10" IsIndeterminate="True" Name="BrowserProgress"/>
  488. </StackPanel>
  489. </Label>
  490. </Grid>
  491. </DockPanel>
  492. <StackPanel Name="ServicePanel" DockPanel.Dock="Top">
  493. <!-- PRIVACY -->
  494. <DockPanel Margin="25 15 0 5" LastChildFill="True">
  495. <TextBlock loc:Translate.Uid="ServicesPrivacyTitle" Text="{loc:Translate Text}" DockPanel.Dock="Left"/>
  496. <Separator Background="#CCCCCC" Height="2" Margin="5 0 5 0" SnapsToDevicePixels="True" />
  497. </DockPanel>
  498. <TextBlock Margin="50 5 0 5" TextWrapping="Wrap" loc:Translate.Uid="ServicesPrivacyText" Text="{loc:Translate Text}"/>
  499. <Grid Name="ServicePrivacyGrid" Margin="50 5 5 5">
  500. <Grid.ColumnDefinitions>
  501. <ColumnDefinition Width="Auto"/>
  502. <ColumnDefinition Width="*"/>
  503. </Grid.ColumnDefinitions>
  504. <Grid.RowDefinitions>
  505. <RowDefinition Height="Auto"/>
  506. <RowDefinition Height="Auto"/>
  507. <RowDefinition Height="Auto"/>
  508. <RowDefinition Height="Auto"/>
  509. <RowDefinition Height="Auto"/>
  510. <RowDefinition Height="Auto"/>
  511. </Grid.RowDefinitions>
  512. <TextBlock Grid.Column="0" Grid.Row="0" loc:Translate.Uid="ServicesSubmit" Text="{loc:Translate Text}" Margin="0 25 10 5" Grid.ColumnSpan="2" />
  513. <TextBlock Grid.Column="0" Grid.Row="1" loc:Translate.Uid="ServicesSubmitSongs" Text="{loc:Translate Text}" Margin="0 5 10 5" />
  514. <CheckBox Grid.Column="1" Grid.Row="1" x:Name="ServicesSubmitSongs" Margin="0 5" IsChecked="{Binding SubmitSongs}" />
  515. <TextBlock Grid.Column="0" Grid.Row="2" loc:Translate.Uid="ServicesSubmitPlaylists" Text="{loc:Translate Text}" Margin="0 5 10 5" />
  516. <CheckBox Grid.Column="1" Grid.Row="2" x:Name="ServicesSubmitPlaylists" Margin="0 5" IsChecked="{Binding SubmitPlaylists}" />
  517. <TextBlock Grid.Column="0" Grid.Row="3" loc:Translate.Uid="ServicesSynchronize" Text="{loc:Translate Text}" Margin="0 25 10 5" Grid.ColumnSpan="2" />
  518. <TextBlock Grid.Column="0" Grid.Row="4" loc:Translate.Uid="ServicesSynchronizeProfile" Text="{loc:Translate Text}" Margin="0 5 10 5" VerticalAlignment="Center" />
  519. <ComboBox Grid.Column="1" Grid.Row="4" HorizontalAlignment="Left" Margin="0 5" x:Name="SynchronizeProfile" VerticalAlignment="Center" SelectionChanged="SynchronizeProfile_SelectionChanged">
  520. <ComboBoxItem loc:Translate.Uid="ServicesNoSynchronize" Content="{loc:Translate Content}" IsSelected="True" Tag="-1"/>
  521. </ComboBox>
  522. <StackPanel Grid.Column="1" Grid.Row="5">
  523. <Expander Header="Manage profiles" Name="ManageConfigs" Expanded="ManageConfigs_Expanded" Collapsed="ManageConfigs_Collapsed"/>
  524. <StackPanel Orientation="Vertical" Name="ConfigPanel" Visibility="Collapsed">
  525. <Button Content="New profile" MinWidth="100" HorizontalAlignment="Left" Margin="5" Name="NewConfiguration"
  526. Click="NewConfiguration_Click"/>
  527. </StackPanel>
  528. </StackPanel>
  529. </Grid>
  530. </StackPanel>
  531. </DockPanel>
  532. </ScrollViewer>
  533. </Grid>
  534. </DockPanel>
  535. </UserControl>