Add a loading indicator in transient mode

This commit is contained in:
Paul Rouget 2019-10-29 08:25:50 +01:00
parent f78ca5794a
commit 50929d7992
2 changed files with 10 additions and 3 deletions

View file

@ -28,14 +28,17 @@ void BrowserPage::BindServoEvents() {
forwardButton().IsEnabled(forward); forwardButton().IsEnabled(forward);
}); });
servoControl().OnLoadStarted([=] { servoControl().OnLoadStarted([=] {
throbber().IsActive(true); urlbarLoadingIndicator().IsActive(true);
transientLoadingIndicator().IsIndeterminate(true);
reloadButton().IsEnabled(false); reloadButton().IsEnabled(false);
reloadButton().Visibility(Visibility::Collapsed); reloadButton().Visibility(Visibility::Collapsed);
stopButton().IsEnabled(true); stopButton().IsEnabled(true);
stopButton().Visibility(Visibility::Visible); stopButton().Visibility(Visibility::Visible);
}); });
servoControl().OnLoadEnded([=] { servoControl().OnLoadEnded([=] {
throbber().IsActive(false); urlbarLoadingIndicator().IsActive(false);
transientLoadingIndicator().IsIndeterminate(false);
reloadButton().IsEnabled(true); reloadButton().IsEnabled(true);
reloadButton().Visibility(Visibility::Visible); reloadButton().Visibility(Visibility::Visible);
stopButton().IsEnabled(false); stopButton().IsEnabled(false);
@ -65,6 +68,8 @@ void BrowserPage::SetTransientMode(bool transient) {
servoControl().SetTransientMode(transient); servoControl().SetTransientMode(transient);
navigationBar().Visibility(transient ? Visibility::Collapsed navigationBar().Visibility(transient ? Visibility::Collapsed
: Visibility::Visible); : Visibility::Visible);
transientLoadingIndicator().Visibility(transient ? Visibility::Visible
: Visibility::Collapsed);
} }
void BrowserPage::SetArgs(hstring args) { servoControl().SetArgs(args); } void BrowserPage::SetArgs(hstring args) { servoControl().SetArgs(args); }

View file

@ -83,6 +83,7 @@
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="auto"/> <RowDefinition Height="auto"/>
<RowDefinition Height="*"/> <RowDefinition Height="*"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Grid Grid.Row="0" x:Name="navigationBar" Background="{ThemeResource InkToolbarButtonBackgroundThemeBrush}"> <Grid Grid.Row="0" x:Name="navigationBar" Background="{ThemeResource InkToolbarButtonBackgroundThemeBrush}">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
@ -105,8 +106,9 @@
</Button> </Button>
</StackPanel> </StackPanel>
<TextBox Text="" IsTabStop="true" InputScope="Url" PlaceholderText="Type a URL" x:Name="urlTextbox" Grid.Column="1" KeyUp="OnURLEdited" IsSpellCheckEnabled="False" Margin="3,0"/> <TextBox Text="" IsTabStop="true" InputScope="Url" PlaceholderText="Type a URL" x:Name="urlTextbox" Grid.Column="1" KeyUp="OnURLEdited" IsSpellCheckEnabled="False" Margin="3,0"/>
<ProgressRing x:Name="throbber" Grid.Column="2" Margin="10,0"/> <ProgressRing x:Name="urlbarLoadingIndicator" Grid.Column="2" Margin="10,0"/>
</Grid> </Grid>
<local:ServoControl TabIndex="0" x:Name="servoControl" Grid.Row="1"/> <local:ServoControl TabIndex="0" x:Name="servoControl" Grid.Row="1"/>
<ProgressBar x:Name="transientLoadingIndicator" Visibility="Collapsed" Grid.Row="2"/>
</Grid> </Grid>
</Page> </Page>