Statistics
| Branch: | Revision:

root / trunk / Pithos.Client.WPF / Shell / ShellView.xaml @ 311d1cde

History | View | Annotate | Download (9.3 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
                                <TextBlock x:Name="AccountLink"  Text="{Binding Path=UserName}" cal:Message.Attach="[Event MouseLeftButtonUp]=[Action OpenPithosFolder($dataContext)]" 
46
                                           cal:Action.TargetWithoutContext="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=MenuItem, AncestorLevel=2}, Path=DataContext}" />
47
                                    <TextBlock Text="{Binding Path=StorageUri}" FontStyle="Italic" FontSize="10" />
48
                                </StackPanel>
49
                            </DataTemplate>
50
                        </MenuItem.ItemTemplate>                        
51
                        <MenuItem.Icon>
52
                            <Image Source="/PithosPlus;component/Images/Folder.ico" />
53
                        </MenuItem.Icon>
54
                    </MenuItem>
55
                    <MenuItem Header="Go to Account Site" x:Name="GoToSiteMenu" ItemsSource="{Binding Accounts}" Visibility="{Binding Path=HasAccounts, Converter={StaticResource BooleanToVisible}}" >
56
                        <MenuItem.ItemTemplate>
57
                            <DataTemplate>
58
                                <StackPanel>
59
                                    <TextBlock x:Name="AccountLink" Text="{Binding Path=UserName}" cal:Message.Attach="[Event MouseLeftButtonUp]=[Action GoToSite($dataContext)]" 
60
                                               cal:Action.TargetWithoutContext="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=MenuItem, AncestorLevel=2}, Path=DataContext}" />
61
                                    <TextBlock Text="{Binding Path=StorageUri}" FontStyle="Italic" FontSize="10" />
62
                                </StackPanel>
63
                            </DataTemplate>
64
                        </MenuItem.ItemTemplate>
65
                        <MenuItem.Icon>
66
                            <Image Source="/PithosPlus;component/Images/Web.ico" />
67
                        </MenuItem.Icon>
68
                    </MenuItem>
69

    
70
                    <MenuItem Header="Recently Changed Files" x:Name="RecentFiles" ItemsSource="{Binding RecentFiles}">
71
                        <MenuItem.ItemTemplate>
72
                            <DataTemplate>
73
                                <TextBlock Text="{Binding FileName}" cal:Message.Attach="[Event MouseLeftButtonUp]=[Action GoToFile($dataContext)]" 
74
                                           cal:Action.TargetWithoutContext="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=MenuItem, AncestorLevel=2}, Path=DataContext}" />
75
                            </DataTemplate>
76
                        </MenuItem.ItemTemplate>
77
                    </MenuItem>
78
                    <MenuItem Header="Sync Now" x:Name="SynchNow" cal:Message.Attach="SynchNow" Visibility="{Binding Path=HasAccounts, Converter={StaticResource BooleanToVisible}}" />
79
                    <Separator  Visibility="{Binding Path=HasAccounts, Converter={StaticResource BooleanToVisible}}"/>
80
                    <MenuItem Header="Usage" x:Name="Usages" ItemsSource="{Binding Accounts}" Visibility="{Binding Path=HasAccounts, Converter={StaticResource BooleanToVisible}}" >
81
                        <MenuItem.ItemTemplate>
82
                            <DataTemplate>
83
                                <StackPanel Orientation="Horizontal">
84
                                    <TextBlock Text="{Binding UserName}" />
85
                                    <TextBlock Text=":" Margin="5,0"/>
86
                                    <TextBlock Text="{Binding Usage}" />
87
                                </StackPanel>
88
                            </DataTemplate>
89
                        </MenuItem.ItemTemplate>
90
                    </MenuItem>
91
                    <Separator  />
92
                    <MenuItem  x:Name="StatusMessage" Header="{Binding Path=StatusMessage, Converter={StaticResource SingleConverter}}" MaxWidth="200" cal:Message.Attach="OnStatusAction" ToolTip="{Binding TooltipMessage}"/>
93
                    <Separator  Visibility="{Binding Path=HasAccounts, Converter={StaticResource BooleanToVisible}}"/>
94
                    <MenuItem  Header="{Binding PauseSyncCaption}" x:Name="ToggleSynching" cal:Message.Attach="ToggleSynching"  Visibility="{Binding Path=HasAccounts, Converter={StaticResource BooleanToVisible}}"/>
95
                    <Separator  />
96
                    <MenuItem  Header="Preferences ..." x:Name="ShowPreferences" cal:Message.Attach="ShowPreferences"  />
97
                    <Separator  />
98
                    <MenuItem  Header="Send Feedback" x:Name="SendFeedback" cal:Message.Attach="SendFeedback">
99
                        <MenuItem.Icon>
100
                            <Image Source="/PithosPlus;component/Images/Feedback.ico" />
101
                        </MenuItem.Icon>
102
                    </MenuItem>
103
                    <MenuItem  Header="Check For Updates" x:Name="CheckForUpgrade" cal:Message.Attach="CheckForUpgrade"/>
104
                    <MenuItem  Header="{Binding MiniStatusCaption}" x:Name="ShowMiniStatus" cal:Message.Attach="ShowMiniStatus"/>
105
                    <MenuItem x:Name="GoToSiteRootMenu"  cal:Message.Attach="[Event MouseLeftButtonUp]=[Action GoToSite()]"
106
                              cal:Action.TargetWithoutContext="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=MenuItem, AncestorLevel=1}, Path=DataContext}" >
107
                        <MenuItem.HeaderTemplate>
108
                            <DataTemplate>
109
                                <TextBlock x:Name="SiteLink" Text="Go To Pithos Site" cal:Message.Attach="[Event MouseLeftButtonUp]=[Action GoToSite()]" 
110
                                           cal:Action.TargetWithoutContext="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=MenuItem, AncestorLevel=1}, Path=DataContext}" />
111
                            </DataTemplate>
112
                        </MenuItem.HeaderTemplate>
113
                        <MenuItem.Icon>
114
                            <Image Source="/PithosPlus;component/Images/Web.ico" />
115
                        </MenuItem.Icon>
116
                    </MenuItem>
117
                    <MenuItem  Header="About Pithos" x:Name="AboutPithos" cal:Message.Attach="AboutPithos">
118
                        <MenuItem.Icon>
119
                            <Image Source="/PithosPlus;component/Images/About.ico" />
120
                        </MenuItem.Icon>
121
                    </MenuItem>
122
                    <Separator  />
123
                    <MenuItem  Header="Exit" Name="ExitPithos" cal:Message.Attach="ExitPithos" />
124
                </ContextMenu>
125
            </tb:TaskbarIcon.ContextMenu>
126
            <tb:TaskbarIcon.TrayToolTip>
127
                <Border Background="White" 
128
                        BorderBrush="Black" 
129
                        BorderThickness="1" 
130
                        CornerRadius="2">
131
                    <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Text="{Binding TooltipMessage}" Margin="5"></TextBlock>
132
                </Border>
133
            </tb:TaskbarIcon.TrayToolTip>
134
        </tb:TaskbarIcon>
135
<!--
136
        <Image Margin="0,0,10,5" Source="/PithosPlus;component/Images/logo.png" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Stretch="None"/>
137
-->
138
    </Grid>
139
</Window>