Widow – Diff between revs 12 and 14
?pathlinks?
Rev 12 | Rev 14 | |||
---|---|---|---|---|
Line 32... | Line 32... | |||
32 | _windows.Clear(); |
32 | _windows.Clear(); |
|
33 | foreach (var window in value) |
33 | foreach (var window in value) |
|
34 | { |
34 | { |
|
35 | _window.Add(window); |
35 | _window.Add(window); |
|
Line -... | Line 36... | |||
- | 36 | |
||
- | 37 | var windowHash = new WindowHash(window.Title, window.Class); |
||
36 | |
38 | |
|
37 | if (_windows.ContainsKey(window.Title)) |
39 | if (_windows.ContainsKey(windowHash)) |
|
38 | { |
40 | { |
|
39 | continue; |
41 | continue; |
|
Line 40... | Line 42... | |||
40 | } |
42 | } |
|
41 | |
43 | |
|
Line 42... | Line 44... | |||
42 | _windows.Add(window.Title, window); |
44 | _windows.Add(windowHash, window); |
|
43 | } |
45 | } |
|
44 | |
46 | |
|
Line 51... | Line 53... | |||
51 | |
53 | |
|
Line 52... | Line 54... | |||
52 | #region Private Delegates, Events, Enums, Properties, Indexers and Fields |
54 | #region Private Delegates, Events, Enums, Properties, Indexers and Fields |
|
Line 53... | Line 55... | |||
53 | |
55 | |
|
Line 54... | Line 56... | |||
54 | private readonly ObservableCollection<Window> _window = new ObservableCollection<Window>(); |
56 | private readonly ObservableCollection<Window> _window = new ObservableCollection<Window>(); |
|
Line 55... | Line 57... | |||
55 | |
57 | |
|
Line 84... | Line 86... | |||
84 | { |
86 | { |
|
85 | if (e.OldItems != null) |
87 | if (e.OldItems != null) |
|
86 | { |
88 | { |
|
87 | foreach (var window in e.OldItems.OfType<Window>()) |
89 | foreach (var window in e.OldItems.OfType<Window>()) |
|
88 | { |
90 | { |
|
- | 91 | var windowHash = new WindowHash(window.Title, window.Class); |
||
- | 92 | |
||
89 | if (_windows.ContainsKey(window.Title)) |
93 | if (_windows.ContainsKey(windowHash)) |
|
90 | { |
94 | { |
|
91 | _windows.Remove(window.Title); |
95 | _windows.Remove(windowHash); |
|
92 | } |
96 | } |
|
93 | } |
97 | } |
|
94 | } |
98 | } |
|
Line 95... | Line 99... | |||
95 | |
99 | |
|
96 | |
100 | |
|
97 | if (e.NewItems != null) |
101 | if (e.NewItems != null) |
|
98 | { |
102 | { |
|
- | 103 | foreach (var window in e.NewItems.OfType<Window>()) |
||
- | 104 | { |
||
99 | foreach (var window in e.NewItems.OfType<Window>()) |
105 | var windowHash = new WindowHash(window.Title, window.Class); |
|
100 | { |
106 | |
|
101 | if (!_windows.ContainsKey(window.Title)) |
107 | if (!_windows.ContainsKey(windowHash)) |
|
102 | { |
108 | { |
|
103 | _windows.Add(window.Title, window); |
109 | _windows.Add(windowHash, window); |
|
104 | } |
110 | } |
|
105 | } |
111 | } |
|
Line 106... | Line 112... | |||
106 | } |
112 | } |
|
Line 107... | Line 113... | |||
107 | } |
113 | } |
|
Line 108... | Line 114... | |||
108 | |
114 | |
|
109 | #endregion |
115 | #endregion |
|
110 | |
116 | |
|
111 | #region Public Methods |
117 | #region Public Methods |
|
Line 112... | Line 118... | |||
112 | |
118 | |
|
Line 113... | Line 119... | |||
113 | public bool TryGetWindow(string title, out Window window) |
119 | public bool TryGetWindow(WindowHash hash, out Window window) |