// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("0.7.20309.0")]
-[assembly: AssemblyFileVersionAttribute("0.7.20309.0")]
+[assembly: AssemblyVersion("0.7.20310.0")]
+[assembly: AssemblyFileVersionAttribute("0.7.20310.0")]
namespace Pithos.Client.WPF.Shell
{
- [Export(typeof(MiniStatusViewModel))]
+ [Export(typeof(MiniStatusViewModel)),PartCreationPolicy(CreationPolicy.Shared)]
public class MiniStatusViewModel:Screen
{
public override string DisplayName
</DataTemplate>
</MenuItem.ItemTemplate>
</MenuItem>
- <MenuItem Header="Sync Now" x:Name="SynchNow" cal:Message.Attach="SynchNow"/>
- <Separator />
- <MenuItem Header="Usage" x:Name="Usages" ItemsSource="{Binding Accounts}">
+ <MenuItem Header="Sync Now" x:Name="SynchNow" cal:Message.Attach="SynchNow" Visibility="{Binding Path=HasAccounts, Converter={StaticResource BooleanToVisible}}" />
+ <Separator Visibility="{Binding Path=HasAccounts, Converter={StaticResource BooleanToVisible}}"/>
+ <MenuItem Header="Usage" x:Name="Usages" ItemsSource="{Binding Accounts}" Visibility="{Binding Path=HasAccounts, Converter={StaticResource BooleanToVisible}}" >
<MenuItem.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
</MenuItem>
<Separator />
<MenuItem x:Name="StatusMessage" Header="{Binding Path=StatusMessage, Converter={StaticResource SingleConverter}}" MaxWidth="200" />
- <Separator />
- <MenuItem Header="{Binding PauseSyncCaption}" x:Name="ToggleSynching" cal:Message.Attach="ToggleSynching" />
+ <Separator Visibility="{Binding Path=HasAccounts, Converter={StaticResource BooleanToVisible}}"/>
+ <MenuItem Header="{Binding PauseSyncCaption}" x:Name="ToggleSynching" cal:Message.Attach="ToggleSynching" Visibility="{Binding Path=HasAccounts, Converter={StaticResource BooleanToVisible}}"/>
<Separator />
<MenuItem Header="Preferences ..." x:Name="ShowPreferences" cal:Message.Attach="ShowPreferences" />
<Separator />
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="Check For Upgrade" x:Name="CheckForUpgrade" cal:Message.Attach="CheckForUpgrade"/>
- <MenuItem Header="Show Status Window" x:Name="ShowMiniStatus" cal:Message.Attach="ShowMiniStatus"/>
+ <MenuItem Header="{Binding MiniStatusCaption}" x:Name="ShowMiniStatus" cal:Message.Attach="ShowMiniStatus"/>
<MenuItem x:Name="GoToSiteRootMenu" cal:Message.Attach="[Event MouseLeftButtonUp]=[Action GoToSite()]"
cal:Action.TargetWithoutContext="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=MenuItem, AncestorLevel=1}, Path=DataContext}" >
<MenuItem.HeaderTemplate>
private readonly PollAgent _pollAgent;
- ///<summary>
+
+ private MiniStatusViewModel _miniStatus;
+
+ [Import]
+ public MiniStatusViewModel MiniStatus
+ {
+ get { return _miniStatus; }
+ set
+ {
+ _miniStatus = value;
+ _miniStatus.Shell = this;
+ }
+ }
+
+ ///<summary>
/// The Shell depends on MEF to provide implementations for windowManager, events, the status checker service and the settings
///</summary>
///<remarks>
Process.Start(uri);
}
- public void ShowMiniStatus()
+ private bool _statusVisible;
+
+ public string MiniStatusCaption
+ {
+ get
+ {
+ return _statusVisible ? "Hide Status Window" : "Show Status Window";
+ }
+ }
+
+ public void ShowMiniStatus()
{
- var model=IoC.Get<MiniStatusViewModel>();
- model.Shell = this;
- _windowManager.ShowWindow(model);
+ if (!_statusVisible)
+ _windowManager.ShowWindow(MiniStatus);
+ else
+ {
+ MiniStatus.TryClose();
+ }
+ _statusVisible=!_statusVisible;
+
+ NotifyOfPropertyChange(()=>MiniStatusCaption);
}
/// <summary>