Statistics
| Branch: | Revision:

root / trunk / Pithos.Client.WPF / Shell / ShellView.xaml @ d78d765c

History | View | Annotate | Download (9.4 kB)

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  Header="Preferences ..." x:Name="ShowPreferences" cal:Message.Attach="ShowPreferences"  />
99
                    <Separator  />
100
                    <MenuItem  Header="Send Feedback" x:Name="SendFeedback" cal:Message.Attach="SendFeedback">
101
                        <MenuItem.Icon>
102
                            <Image Source="/PithosPlus;component/Images/Feedback.ico" />
103
                        </MenuItem.Icon>
104
                    </MenuItem>
105
                    <MenuItem  Header="Check For Updates" x:Name="CheckForUpgrade" cal:Message.Attach="CheckForUpgrade"/>
106
                    <MenuItem  Header="{Binding MiniStatusCaption}" x:Name="ShowMiniStatus" cal:Message.Attach="ShowMiniStatus"/>
107
                    <MenuItem x:Name="GoToSiteRootMenu"  cal:Message.Attach="[Event MouseLeftButtonUp]=[Action GoToSite()]"
108
                              cal:Action.TargetWithoutContext="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=MenuItem, AncestorLevel=1}, Path=DataContext}" >
109
                        <MenuItem.HeaderTemplate>
110
                            <DataTemplate>
111
                                <TextBlock x:Name="SiteLink" Text="Go To Pithos Site" cal:Message.Attach="[Event MouseLeftButtonUp]=[Action GoToSite()]" 
112
                                           cal:Action.TargetWithoutContext="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=MenuItem, AncestorLevel=1}, Path=DataContext}" />
113
                            </DataTemplate>
114
                        </MenuItem.HeaderTemplate>
115
                        <MenuItem.Icon>
116
                            <Image Source="/PithosPlus;component/Images/Web.ico" />
117
                        </MenuItem.Icon>
118
                    </MenuItem>
119
                    <MenuItem  Header="About Pithos" x:Name="AboutPithos" cal:Message.Attach="AboutPithos">
120
                        <MenuItem.Icon>
121
                            <Image Source="/PithosPlus;component/Images/About.ico" />
122
                        </MenuItem.Icon>
123
                    </MenuItem>
124
                    <Separator  />
125
                    <MenuItem  Header="Exit" Name="ExitPithos" cal:Message.Attach="ExitPithos" />
126
                </ContextMenu>
127
            </tb:TaskbarIcon.ContextMenu>
128
            <tb:TaskbarIcon.TrayToolTip>
129
                <Border Background="White" 
130
                        BorderBrush="Black" 
131
                        BorderThickness="1" 
132
                        CornerRadius="2">
133
                    <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Text="{Binding TooltipMessage}" Margin="5"></TextBlock>
134
                </Border>
135
            </tb:TaskbarIcon.TrayToolTip>
136
        </tb:TaskbarIcon>
137
<!--
138
        <Image Margin="0,0,10,5" Source="/PithosPlus;component/Images/logo.png" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Stretch="None"/>
139
-->
140
    </Grid>
141
</Window>