@@ -23,6 +23,8 @@ namespace Signal_Windows.Views
23
23
/// </summary>
24
24
public sealed partial class ConversationSettingsPage : Page
25
25
{
26
+ private bool loading = true ;
27
+
26
28
public ConversationSettingsPageViewModel Vm
27
29
{
28
30
get { return ( ConversationSettingsPageViewModel ) DataContext ; }
@@ -36,9 +38,64 @@ public ConversationSettingsPage()
36
38
37
39
protected override void OnNavigatedTo ( NavigationEventArgs e )
38
40
{
41
+ loading = true ;
39
42
base . OnNavigatedTo ( e ) ;
40
43
Utils . EnableBackButton ( Vm . BackButton_Click ) ;
41
44
Vm . OnNavigatedTo ( ) ;
45
+ SetSelectedDisappearingRadioButton ( TimeSpan . FromSeconds ( Vm . Contact . ExpiresInSeconds ) ) ;
46
+ loading = false ;
47
+ }
48
+
49
+ void SetSelectedDisappearingRadioButton ( TimeSpan expiresIn )
50
+ {
51
+ if ( expiresIn == TimeSpan . Zero )
52
+ {
53
+ DisappearingOffButton . IsChecked = true ;
54
+ }
55
+ else if ( expiresIn == TimeSpan . FromSeconds ( 5 ) )
56
+ {
57
+ Disappearing5sButton . IsChecked = true ;
58
+ }
59
+ else if ( expiresIn == TimeSpan . FromSeconds ( 10 ) )
60
+ {
61
+ Disappearing10sButton . IsChecked = true ;
62
+ }
63
+ else if ( expiresIn == TimeSpan . FromSeconds ( 30 ) )
64
+ {
65
+ Disappearing30sButton . IsChecked = true ;
66
+ }
67
+ else if ( expiresIn == TimeSpan . FromMinutes ( 1 ) )
68
+ {
69
+ Disappearing1mButton . IsChecked = true ;
70
+ }
71
+ else if ( expiresIn == TimeSpan . FromMinutes ( 5 ) )
72
+ {
73
+ Disappearing5mButton . IsChecked = true ;
74
+ }
75
+ else if ( expiresIn == TimeSpan . FromMinutes ( 30 ) )
76
+ {
77
+ Disappearing30mButton . IsChecked = true ;
78
+ }
79
+ else if ( expiresIn == TimeSpan . FromHours ( 1 ) )
80
+ {
81
+ Disappearing1hButton . IsChecked = true ;
82
+ }
83
+ else if ( expiresIn == TimeSpan . FromHours ( 6 ) )
84
+ {
85
+ Disappearing6hButton . IsChecked = true ;
86
+ }
87
+ else if ( expiresIn == TimeSpan . FromHours ( 12 ) )
88
+ {
89
+ Disappearing12hButton . IsChecked = true ;
90
+ }
91
+ else if ( expiresIn == TimeSpan . FromDays ( 1 ) )
92
+ {
93
+ Disappearing1dButton . IsChecked = true ;
94
+ }
95
+ else if ( expiresIn == TimeSpan . FromDays ( 7 ) )
96
+ {
97
+ Disappearing1wButton . IsChecked = true ;
98
+ }
42
99
}
43
100
44
101
protected override async void OnNavigatingFrom ( NavigatingCancelEventArgs e )
@@ -167,5 +224,101 @@ private void BlockButton_Click(object sender, RoutedEventArgs e)
167
224
{
168
225
Vm . BlockButton_Click ( ) ;
169
226
}
227
+
228
+ private async void DisappearingOffButton_Checked ( object sender , RoutedEventArgs e )
229
+ {
230
+ if ( ! loading )
231
+ {
232
+ await Vm . SetDisappearingMessagesTime ( TimeSpan . Zero ) ;
233
+ }
234
+ }
235
+
236
+ private async void Disappearing5sButton_Checked ( object sender , RoutedEventArgs e )
237
+ {
238
+ if ( ! loading )
239
+ {
240
+ await Vm . SetDisappearingMessagesTime ( TimeSpan . FromSeconds ( 5 ) ) ;
241
+ }
242
+ }
243
+
244
+ private async void Disappearing10sButton_Checked ( object sender , RoutedEventArgs e )
245
+ {
246
+ if ( ! loading )
247
+ {
248
+ await Vm . SetDisappearingMessagesTime ( TimeSpan . FromSeconds ( 10 ) ) ;
249
+ }
250
+ }
251
+
252
+ private async void Disappearing30sButton_Checked ( object sender , RoutedEventArgs e )
253
+ {
254
+ if ( ! loading )
255
+ {
256
+ await Vm . SetDisappearingMessagesTime ( TimeSpan . FromSeconds ( 30 ) ) ;
257
+ }
258
+ }
259
+
260
+ private async void Disappearing1mButton_Checked ( object sender , RoutedEventArgs e )
261
+ {
262
+ if ( ! loading )
263
+ {
264
+ await Vm . SetDisappearingMessagesTime ( TimeSpan . FromMinutes ( 1 ) ) ;
265
+ }
266
+ }
267
+
268
+ private async void Disappearing5mButton_Checked ( object sender , RoutedEventArgs e )
269
+ {
270
+ if ( ! loading )
271
+ {
272
+ await Vm . SetDisappearingMessagesTime ( TimeSpan . FromMinutes ( 5 ) ) ;
273
+ }
274
+ }
275
+
276
+ private async void Disappearing30mButton_Checked ( object sender , RoutedEventArgs e )
277
+ {
278
+ if ( ! loading )
279
+ {
280
+ await Vm . SetDisappearingMessagesTime ( TimeSpan . FromMinutes ( 30 ) ) ;
281
+ }
282
+ }
283
+
284
+ private async void Disappearing1hButton_Checked ( object sender , RoutedEventArgs e )
285
+ {
286
+ if ( ! loading )
287
+ {
288
+ await Vm . SetDisappearingMessagesTime ( TimeSpan . FromHours ( 1 ) ) ;
289
+ }
290
+ }
291
+
292
+ private async void Disappearing6hButton_Checked ( object sender , RoutedEventArgs e )
293
+ {
294
+ if ( ! loading )
295
+ {
296
+ await Vm . SetDisappearingMessagesTime ( TimeSpan . FromHours ( 6 ) ) ;
297
+ }
298
+ }
299
+
300
+ private async void Disappearing12hButton_Checked ( object sender , RoutedEventArgs e )
301
+ {
302
+ if ( ! loading )
303
+ {
304
+ await Vm . SetDisappearingMessagesTime ( TimeSpan . FromHours ( 12 ) ) ;
305
+ }
306
+ }
307
+
308
+ private async void Disappearing1dButton_Checked ( object sender , RoutedEventArgs e )
309
+ {
310
+ if ( ! loading )
311
+ {
312
+ await Vm . SetDisappearingMessagesTime ( TimeSpan . FromDays ( 1 ) ) ;
313
+ }
314
+ }
315
+
316
+ private async void Disappearing1wButton_Checked ( object sender , RoutedEventArgs e )
317
+ {
318
+ if ( ! loading )
319
+ {
320
+ await Vm . SetDisappearingMessagesTime ( TimeSpan . FromDays ( 7 ) ) ;
321
+ }
322
+ }
170
323
}
171
324
}
0 commit comments