Notification changes
[pithos-ms-client] / trunk / Pithos.Client.WPF / Shell / ShellView.xaml
1 <Window x:Class="Pithos.Client.WPF.ShellView"
2         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4         xmlns:tb="clr-namespace:Hardcodet.Wpf.TaskbarNotification;assembly=Hardcodet.Wpf.TaskbarNotification" 
5         xmlns:cal="http://www.caliburnproject.org"
6         x:Name="TheView" WindowStartupLocation="CenterScreen" WindowStyle="None"
7         Visibility="Collapsed"
8         Width="0" Height="0" WindowState="Minimized" Icon="/PithosPlus;component/Images/PithosTaskbar.png" xmlns:my="clr-namespace:Pithos.Client.WPF.Converters">
9
10 <!--
11     <Window.Background>
12         <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
13             <GradientStop Color="#4085A5" Offset="0"/>
14             <GradientStop Color="#D7E8F0" Offset="1"/>
15         </LinearGradientBrush>
16     </Window.Background>    
17 -->
18     <Window.Resources>
19         <ResourceDictionary>
20             <ResourceDictionary.MergedDictionaries>
21                 <ResourceDictionary Source="../PithosStyles.xaml" />
22             </ResourceDictionary.MergedDictionaries>
23             <BooleanToVisibilityConverter x:Key="BooleanToVisible" />
24             <my:SingleLineConverter x:Key="SingleConverter" />
25         </ResourceDictionary>
26     </Window.Resources>
27     <Grid>
28         <Grid.RowDefinitions>
29             <RowDefinition Height="*"/>
30             <RowDefinition Height="Auto"/>
31         </Grid.RowDefinitions>
32
33         <tb:TaskbarIcon x:Name="TaskbarView"                           
34                         IconSource="{Binding StatusIcon}" 
35                         ToolTipText="{Binding TooltipMessage}"                        
36                         MenuActivation="LeftOrRightClick" 
37                         DoubleClickCommand="{Binding OpenPithosFolderCommand}"                         
38                         >
39             <tb:TaskbarIcon.ContextMenu>
40                 <ContextMenu x:Name="TaskbarMenu" >
41                     <MenuItem Header="{Binding OpenFolderCaption}" IsEnabled="{Binding HasAccounts}" x:Name="OpenPithosFolder" ItemsSource="{Binding Accounts}" >                        
42                         <MenuItem.ItemTemplate>                            
43                             <DataTemplate>
44                                 <StackPanel 
45                                         cal:Message.Attach="[Event MouseLeftButtonUp]=[Action OpenPithosFolder($dataContext)]" 
46                                         cal:Action.TargetWithoutContext="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=MenuItem, AncestorLevel=2}, Path=DataContext}" >
47                                     <TextBlock x:Name="AccountLink"  Text="{Binding Path=UserName}" />
48                                     <TextBlock Text="{Binding Path=StorageUri}" FontStyle="Italic" FontSize="10" />
49                                 </StackPanel>
50                             </DataTemplate>
51                         </MenuItem.ItemTemplate>                        
52                         <MenuItem.Icon>
53                             <Image Source="/PithosPlus;component/Images/Folder.ico" />
54                         </MenuItem.Icon>
55                     </MenuItem>
56                     <MenuItem Header="Go to Account Site" x:Name="GoToSiteMenu" ItemsSource="{Binding Accounts}" Visibility="{Binding Path=HasAccounts, Converter={StaticResource BooleanToVisible}}" >
57                         <MenuItem.ItemTemplate>
58                             <DataTemplate>
59                                 <StackPanel 
60                                         cal:Message.Attach="[Event MouseLeftButtonUp]=[Action GoToSite($dataContext)]" 
61                                         cal:Action.TargetWithoutContext="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=MenuItem, AncestorLevel=2}, Path=DataContext}" >
62                                     <TextBlock x:Name="AccountLink" Text="{Binding Path=UserName}" />
63                                     <TextBlock Text="{Binding Path=StorageUri}" FontStyle="Italic" FontSize="10" />
64                                 </StackPanel>
65                             </DataTemplate>
66                         </MenuItem.ItemTemplate>
67                         <MenuItem.Icon>
68                             <Image Source="/PithosPlus;component/Images/Web.ico" />
69                         </MenuItem.Icon>
70                     </MenuItem>
71
72                     <MenuItem Header="Recently Changed Files" x:Name="RecentFiles" ItemsSource="{Binding RecentFiles}">
73                         <MenuItem.ItemTemplate>
74                             <DataTemplate>
75                                 <TextBlock Text="{Binding FileName}" cal:Message.Attach="[Event MouseLeftButtonUp]=[Action GoToFile($dataContext)]" 
76                                            cal:Action.TargetWithoutContext="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=MenuItem, AncestorLevel=2}, Path=DataContext}" />
77                             </DataTemplate>
78                         </MenuItem.ItemTemplate>
79                     </MenuItem>
80                     <MenuItem Header="Sync Now" x:Name="SynchNow" cal:Message.Attach="SynchNow" Visibility="{Binding Path=HasAccounts, Converter={StaticResource BooleanToVisible}}" />
81                     <Separator  Visibility="{Binding Path=HasAccounts, Converter={StaticResource BooleanToVisible}}"/>
82                     <MenuItem Header="Usage" x:Name="Usages" ItemsSource="{Binding Accounts}" Visibility="{Binding Path=HasAccounts, Converter={StaticResource BooleanToVisible}}" >
83                         <MenuItem.ItemTemplate>
84                             <DataTemplate>
85                                 <StackPanel Orientation="Horizontal">
86                                     <TextBlock Text="{Binding UserName}" />
87                                     <TextBlock Text=":" Margin="5,0"/>
88                                     <TextBlock Text="{Binding Usage}" />
89                                 </StackPanel>
90                             </DataTemplate>
91                         </MenuItem.ItemTemplate>
92                     </MenuItem>
93                     <Separator  />
94                     <MenuItem  x:Name="StatusMessage" Header="{Binding Path=StatusMessage, Converter={StaticResource SingleConverter}}" MaxWidth="200" cal:Message.Attach="OnStatusAction" ToolTip="{Binding TooltipMessage}"/>
95                     <Separator  Visibility="{Binding Path=HasAccounts, Converter={StaticResource BooleanToVisible}}"/>
96                     <MenuItem  Header="{Binding PauseSyncCaption}" x:Name="ToggleSynching" cal:Message.Attach="ToggleSynching"  Visibility="{Binding Path=HasAccounts, Converter={StaticResource BooleanToVisible}}"/>
97                     <Separator  />
98                     <MenuItem x:Name="ShowConflicts" Header="Show Conflicts" Visibility="{Binding Path=HasConflicts, Converter={StaticResource BooleanToVisible}}" cal:Message.Attach="ShowConflicts" />
99                     <MenuItem  Header="Preferences ..." x:Name="ShowPreferences" cal:Message.Attach="ShowPreferences"  />
100                     <Separator  />
101                     <MenuItem  Header="Send Feedback" x:Name="SendFeedback" cal:Message.Attach="SendFeedback">
102                         <MenuItem.Icon>
103                             <Image Source="/PithosPlus;component/Images/Feedback.ico" />
104                         </MenuItem.Icon>
105                     </MenuItem>
106                     <MenuItem  Header="Check For Updates" x:Name="CheckForUpgrade" cal:Message.Attach="CheckForUpgrade"/>
107                     <MenuItem  Header="{Binding MiniStatusCaption}" x:Name="ShowMiniStatus" cal:Message.Attach="ShowMiniStatus"/>
108                     <MenuItem x:Name="GoToSiteRootMenu"  cal:Message.Attach="[Event MouseLeftButtonUp]=[Action GoToSite()]"
109                               cal:Action.TargetWithoutContext="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=MenuItem, AncestorLevel=1}, Path=DataContext}" >
110                         <MenuItem.HeaderTemplate>
111                             <DataTemplate>
112                                 <TextBlock x:Name="SiteLink" Text="Go To Pithos Site" cal:Message.Attach="[Event MouseLeftButtonUp]=[Action GoToSite()]" 
113                                            cal:Action.TargetWithoutContext="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=MenuItem, AncestorLevel=1}, Path=DataContext}" />
114                             </DataTemplate>
115                         </MenuItem.HeaderTemplate>
116                         <MenuItem.Icon>
117                             <Image Source="/PithosPlus;component/Images/Web.ico" />
118                         </MenuItem.Icon>
119                     </MenuItem>
120                     <MenuItem  Header="About Pithos" x:Name="AboutPithos" cal:Message.Attach="AboutPithos">
121                         <MenuItem.Icon>
122                             <Image Source="/PithosPlus;component/Images/About.ico" />
123                         </MenuItem.Icon>
124                     </MenuItem>
125                     <Separator  />
126                     <MenuItem  Header="Exit" Name="ExitPithos" cal:Message.Attach="ExitPithos" />
127                 </ContextMenu>
128             </tb:TaskbarIcon.ContextMenu>
129             <tb:TaskbarIcon.TrayToolTip>
130                 <Border Background="White" 
131                         BorderBrush="Black" 
132                         BorderThickness="1" 
133                         CornerRadius="2">
134                     <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Text="{Binding TooltipMessage}" Margin="5"></TextBlock>
135                 </Border>
136             </tb:TaskbarIcon.TrayToolTip>
137         </tb:TaskbarIcon>
138 <!--
139         <Image Margin="0,0,10,5" Source="/PithosPlus;component/Images/logo.png" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Stretch="None"/>
140 -->
141     </Grid>
142 </Window>