Skip to content

Commit db63833

Browse files
committed
add condition for progress bar to control pause and resume
1 parent 337e3bb commit db63833

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

Flow.Launcher/MainWindow.xaml.cs

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-

2-
using System;
1+
using System;
32
using System.ComponentModel;
43
using System.Windows;
54
using System.Windows.Input;
@@ -27,6 +26,7 @@ public partial class MainWindow
2726
#region Private Fields
2827

2928
private readonly Storyboard _progressBarStoryboard = new Storyboard();
29+
private bool isProgressBarStoryboardPaused;
3030
private Settings _settings;
3131
private NotifyIcon _notifyIcon;
3232
private MainViewModel _viewModel;
@@ -86,32 +86,34 @@ private void OnLoaded(object sender, RoutedEventArgs _)
8686
_viewModel.LastQuerySelected = true;
8787
}
8888

89-
if (_viewModel.ProgressBarVisibility == Visibility.Visible)
89+
if (_viewModel.ProgressBarVisibility == Visibility.Visible && isProgressBarStoryboardPaused)
9090
{
9191
_progressBarStoryboard.Resume();
92+
isProgressBarStoryboardPaused = false;
9293
}
9394
}
94-
else
95+
else if (!isProgressBarStoryboardPaused)
9596
{
9697
_progressBarStoryboard.Pause();
98+
isProgressBarStoryboardPaused = true;
9799
}
98100
}
99101
else if (e.PropertyName == nameof(MainViewModel.ProgressBarVisibility))
100102
{
101103
Dispatcher.Invoke(() =>
102104
{
103-
if (_viewModel.ProgressBarVisibility == Visibility.Hidden)
105+
if (_viewModel.ProgressBarVisibility == Visibility.Hidden && !isProgressBarStoryboardPaused)
104106
{
105107
_progressBarStoryboard.Pause();
108+
isProgressBarStoryboardPaused = true;
106109
}
107-
else if (Visibility == Visibility.Visible)
110+
else if (Visibility == Visibility.Visible && isProgressBarStoryboardPaused)
108111
{
109112
_progressBarStoryboard.Resume();
113+
isProgressBarStoryboardPaused = false;
110114
}
111115
}, System.Windows.Threading.DispatcherPriority.Render);
112-
113116
}
114-
115117
};
116118
_settings.PropertyChanged += (o, e) =>
117119
{
@@ -196,6 +198,7 @@ private void InitProgressbarAnimation()
196198
_progressBarStoryboard.RepeatBehavior = RepeatBehavior.Forever;
197199
ProgressBar.BeginStoryboard(_progressBarStoryboard);
198200
_viewModel.ProgressBarVisibility = Visibility.Hidden;
201+
isProgressBarStoryboardPaused = true;
199202
}
200203

201204
private void OnMouseDown(object sender, MouseButtonEventArgs e)

0 commit comments

Comments
 (0)