55using Avalonia . Controls ;
66using Avalonia . Input ;
77using Avalonia . Interactivity ;
8- using Avalonia . Threading ;
98
109namespace SourceGit . Views
1110{
@@ -47,17 +46,6 @@ public List<Models.CommitLink> WebLinks
4746 set => SetAndRaise ( WebLinksProperty , ref _webLinks , value ) ;
4847 }
4948
50- public static readonly DirectProperty < CommitBaseInfo , bool > IsSHACopiedProperty =
51- AvaloniaProperty . RegisterDirect < CommitBaseInfo , bool > (
52- nameof ( IsSHACopied ) ,
53- static o => o . IsSHACopied ) ;
54-
55- public bool IsSHACopied
56- {
57- get => _isSHACopied ;
58- private set => SetAndRaise ( IsSHACopiedProperty , ref _isSHACopied , value ) ;
59- }
60-
6149 public static readonly DirectProperty < CommitBaseInfo , bool > SupportsContainsInProperty =
6250 AvaloniaProperty . RegisterDirect < CommitBaseInfo , bool > (
6351 nameof ( SupportsContainsIn ) ,
@@ -80,45 +68,6 @@ protected override void OnDataContextChanged(EventArgs e)
8068 SupportsContainsIn = DataContext is ViewModels . CommitDetail ;
8169 }
8270
83- protected override void OnPropertyChanged ( AvaloniaPropertyChangedEventArgs change )
84- {
85- base . OnPropertyChanged ( change ) ;
86-
87- if ( change . Property == ContentProperty )
88- {
89- IsSHACopied = false ;
90- _iconResetTimer ? . Stop ( ) ;
91- }
92- }
93-
94- protected override void OnLoaded ( RoutedEventArgs e )
95- {
96- base . OnLoaded ( e ) ;
97-
98- _iconResetTimer = new DispatcherTimer ( ) ;
99- _iconResetTimer . Interval = TimeSpan . FromSeconds ( 1 ) ;
100- _iconResetTimer . Tag = this ;
101- _iconResetTimer . Tick += static ( o , _ ) =>
102- {
103- if ( o is DispatcherTimer { Tag : CommitBaseInfo view } timer )
104- {
105- if ( view . IsSHACopied )
106- view . IsSHACopied = false ;
107-
108- timer . IsEnabled = false ;
109- }
110- } ;
111- _iconResetTimer . IsEnabled = false ;
112- }
113-
114- protected override void OnUnloaded ( RoutedEventArgs e )
115- {
116- _iconResetTimer . Tag = null ;
117- _iconResetTimer . IsEnabled = false ;
118-
119- base . OnUnloaded ( e ) ;
120- }
121-
12271 private void OnDateTimeContextMenuRequested ( object sender , ContextRequestedEventArgs e )
12372 {
12473 if ( sender is DateTimePresenter presenter )
@@ -139,16 +88,6 @@ private void OnDateTimeContextMenuRequested(object sender, ContextRequestedEvent
13988 }
14089 }
14190
142- private async void OnCopyCommitSHA ( object sender , RoutedEventArgs e )
143- {
144- if ( sender is Button { DataContext : Models . Commit commit } )
145- await this . CopyTextAsync ( commit . SHA ) ;
146-
147- IsSHACopied = true ;
148- _iconResetTimer ? . Start ( ) ;
149- e . Handled = true ;
150- }
151-
15291 private void OnOpenWebLink ( object sender , RoutedEventArgs e )
15392 {
15493 if ( DataContext is ViewModels . CommitDetail detail && sender is Control control )
@@ -323,7 +262,5 @@ sender is CommitRefsPresenter presenter &&
323262 private Models . CommitSignInfo _signInfo = null ;
324263 private bool _supportsContainsIn = false ;
325264 private List < Models . CommitLink > _webLinks = null ;
326- private bool _isSHACopied = false ;
327- private DispatcherTimer _iconResetTimer = null ;
328265 }
329266}
0 commit comments