root / trunk / Pithos.Client.WPF / Shell / MiniStatusViewModel.cs @ 2341c603
History | View | Annotate | Download (2.1 kB)
1 |
using System; |
---|---|
2 |
using System.Collections.Generic; |
3 |
using System.ComponentModel; |
4 |
using System.ComponentModel.Composition; |
5 |
using System.Linq; |
6 |
using System.Text; |
7 |
using Caliburn.Micro; |
8 |
|
9 |
namespace Pithos.Client.WPF.Shell |
10 |
{ |
11 |
[Export(typeof(MiniStatusViewModel)),PartCreationPolicy(CreationPolicy.Shared)] |
12 |
public class MiniStatusViewModel:Screen |
13 |
{ |
14 |
public override string DisplayName |
15 |
{ |
16 |
get |
17 |
{ |
18 |
return "Pithos+ Status"; |
19 |
} |
20 |
set |
21 |
{ |
22 |
base.DisplayName = value; |
23 |
} |
24 |
} |
25 |
|
26 |
public string Status |
27 |
{ |
28 |
get { return Shell.StatusMessage; } |
29 |
} |
30 |
|
31 |
private ShellViewModel _shell; |
32 |
public ShellViewModel Shell |
33 |
{ |
34 |
get { return _shell; } |
35 |
set |
36 |
{ |
37 |
_shell = value; |
38 |
_shell.PropertyChanged += OnParentChanged; |
39 |
} |
40 |
} |
41 |
|
42 |
private void OnParentChanged(object sender, PropertyChangedEventArgs e) |
43 |
{ |
44 |
if (e.PropertyName=="StatusMessage") |
45 |
NotifyOfPropertyChange(()=>Status); |
46 |
} |
47 |
|
48 |
private string _pauseImage="../Images/Pause.png"; |
49 |
public string PauseImage |
50 |
{ |
51 |
get { return _pauseImage; } |
52 |
set |
53 |
{ |
54 |
_pauseImage = value; |
55 |
NotifyOfPropertyChange(()=>PauseImage); |
56 |
} |
57 |
} |
58 |
|
59 |
private string _pauseToolTip="Pause Syncing"; |
60 |
public string PauseToolTip |
61 |
{ |
62 |
get { return _pauseToolTip; } |
63 |
set |
64 |
{ |
65 |
_pauseToolTip = value; |
66 |
NotifyOfPropertyChange(()=>PauseToolTip); |
67 |
} |
68 |
} |
69 |
|
70 |
public void ToggleSyncing() |
71 |
{ |
72 |
Shell.ToggleSynching(); |
73 |
PauseImage = Shell.IsPaused |
74 |
? "../Images/Play.png" |
75 |
: "../Images/Pause.png"; |
76 |
PauseToolTip = Shell.IsPaused |
77 |
? "Resume Syncing" |
78 |
: "Pause Syncing"; |
79 |
} |
80 |
} |
81 |
} |