mirror of
https://github.com/sourcegit-scm/sourcegit.git
synced 2024-12-24 20:57:19 -08:00
fix: using DropShadowEffect in Launcher's popup container on Linux will get a wrong render result.
This commit is contained in:
parent
2182d39e5f
commit
8c1fe66ee5
4 changed files with 99 additions and 72 deletions
|
@ -251,21 +251,44 @@
|
||||||
<Setter Property="Foreground" Value="{DynamicResource Brush.FG1}"/>
|
<Setter Property="Foreground" Value="{DynamicResource Brush.FG1}"/>
|
||||||
<Setter Property="Background" Value="{DynamicResource Brush.FlatButton.Background}"/>
|
<Setter Property="Background" Value="{DynamicResource Brush.FlatButton.Background}"/>
|
||||||
<Setter Property="VerticalContentAlignment" Value="Center"/>
|
<Setter Property="VerticalContentAlignment" Value="Center"/>
|
||||||
<Setter Property="Effect">
|
<Setter Property="Template">
|
||||||
<Setter.Value>
|
<ControlTemplate>
|
||||||
<DropShadowEffect BlurRadius="2" OffsetX="0" OffsetY="0" Color="Black" Opacity=".65"/>
|
<Grid>
|
||||||
</Setter.Value>
|
<Border x:Name="PART_Border"
|
||||||
|
Margin="2"
|
||||||
|
Background="{TemplateBinding Background}"
|
||||||
|
BorderBrush="{TemplateBinding BorderBrush}"
|
||||||
|
BorderThickness="{TemplateBinding BorderThickness}"
|
||||||
|
CornerRadius="{TemplateBinding CornerRadius}"
|
||||||
|
Effect="drop-shadow(0 0 2 #80000000)"/>
|
||||||
|
|
||||||
|
<ContentPresenter x:Name="PART_ContentPresenter"
|
||||||
|
Margin="2"
|
||||||
|
Background="Transparent"
|
||||||
|
Padding="{TemplateBinding Padding}"
|
||||||
|
Content="{TemplateBinding Content}"
|
||||||
|
ContentTemplate="{TemplateBinding ContentTemplate}"
|
||||||
|
HorizontalContentAlignment="Center"
|
||||||
|
VerticalContentAlignment="Center"/>
|
||||||
|
</Grid>
|
||||||
|
</ControlTemplate>
|
||||||
</Setter>
|
</Setter>
|
||||||
</Style>
|
</Style>
|
||||||
<Style Selector="Button.flat:pointerover /template/ ContentPresenter#PART_ContentPresenter">
|
<Style Selector="Button.flat:pointerover /template/ Border#PART_Border">
|
||||||
<Setter Property="Background" Value="{DynamicResource Brush.FlatButton.BackgroundHovered}"/>
|
<Setter Property="Background" Value="{DynamicResource Brush.FlatButton.BackgroundHovered}"/>
|
||||||
</Style>
|
</Style>
|
||||||
|
<Style Selector="Button.flat:pointerover /template/ ContentPresenter#PART_ContentPresenter">
|
||||||
|
<Setter Property="Background" Value="Transparent"/>
|
||||||
|
</Style>
|
||||||
<Style Selector="Button.flat.primary">
|
<Style Selector="Button.flat.primary">
|
||||||
<Setter Property="Background" Value="{DynamicResource Brush.FlatButton.PrimaryBackground}"/>
|
<Setter Property="Background" Value="{DynamicResource Brush.FlatButton.PrimaryBackground}"/>
|
||||||
</Style>
|
</Style>
|
||||||
<Style Selector="Button.flat.primary:pointerover /template/ ContentPresenter#PART_ContentPresenter">
|
<Style Selector="Button.flat.primary:pointerover /template/ Border#PART_Border">
|
||||||
<Setter Property="Background" Value="{DynamicResource Brush.FlatButton.PrimaryBackgroundHovered}"/>
|
<Setter Property="Background" Value="{DynamicResource Brush.FlatButton.PrimaryBackgroundHovered}"/>
|
||||||
</Style>
|
</Style>
|
||||||
|
<Style Selector="Button.flat.primary:pointerover /template/ ContentPresenter#PART_ContentPresenter">
|
||||||
|
<Setter Property="Background" Value="Transparent"/>
|
||||||
|
</Style>
|
||||||
|
|
||||||
<Style Selector="Border.launcher_pagetab">
|
<Style Selector="Border.launcher_pagetab">
|
||||||
<Setter Property="Background" Value="Transparent"/>
|
<Setter Property="Background" Value="Transparent"/>
|
||||||
|
|
|
@ -61,10 +61,7 @@
|
||||||
<StackPanel Grid.Column="1" Orientation="Vertical" Margin="0,20,32,0">
|
<StackPanel Grid.Column="1" Orientation="Vertical" Margin="0,20,32,0">
|
||||||
<StackPanel Height="48" Orientation="Horizontal">
|
<StackPanel Height="48" Orientation="Horizontal">
|
||||||
<TextBlock Classes="bold" Text="SourceGit" FontSize="32" />
|
<TextBlock Classes="bold" Text="SourceGit" FontSize="32" />
|
||||||
<Border Margin="12,0,0,0" Height="20" CornerRadius="10" Background="{DynamicResource Brush.Accent1}">
|
<Border Margin="12,0,0,0" Height="20" CornerRadius="10" Background="{DynamicResource Brush.Accent1}" Effect="drop-shadow(0 0 6 #40000000)">
|
||||||
<Border.Effect>
|
|
||||||
<DropShadowEffect OffsetX="0" OffsetY="0" BlurRadius="6" Color="Black" Opacity=".3"/>
|
|
||||||
</Border.Effect>
|
|
||||||
<TextBlock Classes="monospace" Margin="8,0" Text="{Binding Version}" FontSize="12" Foreground="White"/>
|
<TextBlock Classes="monospace" Margin="8,0" Text="{Binding Version}" FontSize="12" Foreground="White"/>
|
||||||
</Border>
|
</Border>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
|
@ -239,66 +239,77 @@
|
||||||
<v:LauncherBody Grid.Row="1" Background="{DynamicResource Brush.ToolBar}" Data="{Binding ActivePage.Data}"/>
|
<v:LauncherBody Grid.Row="1" Background="{DynamicResource Brush.ToolBar}" Data="{Binding ActivePage.Data}"/>
|
||||||
|
|
||||||
<!-- Popup container -->
|
<!-- Popup container -->
|
||||||
<ContentControl Grid.Row="1" Margin="0,36,0,0" Content="{Binding ActivePage.Popup}" IsVisible="{Binding ActivePage.Popup, Converter={x:Static ObjectConverters.IsNotNull}}">
|
<Grid Grid.Row="1" Margin="0,36,0,0" IsVisible="{Binding ActivePage.Popup, Converter={x:Static ObjectConverters.IsNotNull}}">
|
||||||
<ContentControl.DataTemplates>
|
<Border Background="Transparent" PointerPressed="OnPopupCancelByClickMask"/>
|
||||||
<DataTemplate DataType="vm:Popup">
|
|
||||||
<Grid>
|
<Grid Width="500" HorizontalAlignment="Center" VerticalAlignment="Top">
|
||||||
<Border Background="Transparent" PointerPressed="OnPopupCancelByClickMask"/>
|
<ContentControl Content="{Binding ActivePage.Popup}" ClipToBounds="True">
|
||||||
|
<ContentControl.DataTemplates>
|
||||||
|
<DataTemplate DataType="vm:Popup">
|
||||||
|
<Border Margin="8,0,8,8"
|
||||||
|
Background="{DynamicResource Brush.Popup}"
|
||||||
|
BorderThickness="1,0,1,1"
|
||||||
|
BorderBrush="{DynamicResource Brush.Border0}">
|
||||||
|
<Border.CornerRadius>
|
||||||
|
<OnPlatform Default="0,0,4,4" Linux="0"/>
|
||||||
|
</Border.CornerRadius>
|
||||||
|
|
||||||
<Grid Width="500" HorizontalAlignment="Center" VerticalAlignment="Top">
|
|
||||||
<Border Background="{DynamicResource Brush.Popup}" CornerRadius="0,0,4,4">
|
|
||||||
<Border.Effect>
|
<Border.Effect>
|
||||||
<DropShadowEffect BlurRadius="8" Color="Black" Opacity=".6" OffsetX="0" OffsetY="0"/>
|
<OnPlatform>
|
||||||
|
<On Options="Windows, macOS">
|
||||||
|
<DropShadowEffect BlurRadius="8" OffsetX="0" OffsetY="0" Color="Black" Opacity=".5"/>
|
||||||
|
</On>
|
||||||
|
</OnPlatform>
|
||||||
</Border.Effect>
|
</Border.Effect>
|
||||||
</Border>
|
|
||||||
|
|
||||||
<StackPanel Margin="8" Orientation="Vertical">
|
<StackPanel Margin="8" Orientation="Vertical">
|
||||||
<!-- Popup Widget -->
|
<!-- Popup Widget -->
|
||||||
<ContentControl Margin="0,8"
|
<ContentPresenter Margin="0,8"
|
||||||
Content="{Binding View}"
|
Content="{Binding View}"
|
||||||
IsHitTestVisible="{Binding InProgress, Converter={x:Static BoolConverters.Not}}"/>
|
IsHitTestVisible="{Binding InProgress, Converter={x:Static BoolConverters.Not}}"/>
|
||||||
|
|
||||||
<!-- Options -->
|
<!-- Options -->
|
||||||
<StackPanel Margin="0,8,0,0"
|
<StackPanel Margin="0,8,0,0"
|
||||||
Height="32"
|
Height="32"
|
||||||
Orientation="Horizontal"
|
Orientation="Horizontal"
|
||||||
HorizontalAlignment="Right"
|
HorizontalAlignment="Right"
|
||||||
IsVisible="{Binding InProgress, Converter={x:Static BoolConverters.Not}}">
|
IsVisible="{Binding InProgress, Converter={x:Static BoolConverters.Not}}">
|
||||||
<Button Classes="flat primary"
|
<Button Classes="flat primary"
|
||||||
Width="80"
|
Width="80"
|
||||||
Content="{DynamicResource Text.Sure}"
|
Content="{DynamicResource Text.Sure}"
|
||||||
Click="OnPopupSure"/>
|
Click="OnPopupSure"/>
|
||||||
<Button Classes="flat"
|
<Button Classes="flat"
|
||||||
Width="80"
|
Width="80"
|
||||||
Margin="8,0,0,0"
|
Margin="8,0,0,0"
|
||||||
Content="{DynamicResource Text.Cancel}"
|
Content="{DynamicResource Text.Cancel}"
|
||||||
Click="OnPopupCancel"/>
|
Click="OnPopupCancel"/>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
<!-- Running -->
|
<!-- Running -->
|
||||||
<StackPanel Orientation="Vertical" Margin="8" IsVisible="{Binding InProgress}">
|
<StackPanel Orientation="Vertical" Margin="8" IsVisible="{Binding InProgress}">
|
||||||
<Rectangle Height="1" Margin="-8,0" HorizontalAlignment="Stretch" Fill="{DynamicResource Brush.Border1}" />
|
<Rectangle Height="1" Margin="-8,0" HorizontalAlignment="Stretch" Fill="{DynamicResource Brush.Border1}" />
|
||||||
<StackPanel Orientation="Horizontal" Margin="0,8">
|
<StackPanel Orientation="Horizontal" Margin="0,8">
|
||||||
<Path Width="12" Height="12" Classes="waiting" Data="{StaticResource Icons.Waiting}" IsVisible="{Binding InProgress}"/>
|
<Path Width="12" Height="12" Classes="waiting" Data="{StaticResource Icons.Waiting}" IsVisible="{Binding InProgress}"/>
|
||||||
<TextBlock Margin="6,0,0,0" FontSize="14" FontWeight="Bold" Text="{DynamicResource Text.Running}"/>
|
<TextBlock Margin="6,0,0,0" FontSize="14" FontWeight="Bold" Text="{DynamicResource Text.Running}"/>
|
||||||
|
</StackPanel>
|
||||||
|
<TextBlock HorizontalAlignment="Stretch"
|
||||||
|
TextWrapping="Wrap"
|
||||||
|
FontSize="12"
|
||||||
|
FontStyle="Italic"
|
||||||
|
Text="{Binding ProgressDescription}"/>
|
||||||
|
<ProgressBar Margin="0,8,0,0"
|
||||||
|
HorizontalAlignment="Stretch"
|
||||||
|
IsIndeterminate="True"
|
||||||
|
Background="{DynamicResource Brush.FG2}" Foreground="{DynamicResource Brush.Accent1}"
|
||||||
|
Minimum="0" Maximum="100"/>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<TextBlock HorizontalAlignment="Stretch"
|
|
||||||
TextWrapping="Wrap"
|
|
||||||
FontSize="12"
|
|
||||||
FontStyle="Italic"
|
|
||||||
Text="{Binding ProgressDescription}"/>
|
|
||||||
<ProgressBar Margin="0,8,0,0"
|
|
||||||
HorizontalAlignment="Stretch"
|
|
||||||
IsIndeterminate="True"
|
|
||||||
Background="{DynamicResource Brush.FG2}" Foreground="{DynamicResource Brush.Accent1}"
|
|
||||||
Minimum="0" Maximum="100"/>
|
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</StackPanel>
|
</Border>
|
||||||
</Grid>
|
</DataTemplate>
|
||||||
</Grid>
|
</ContentControl.DataTemplates>
|
||||||
</DataTemplate>
|
</ContentControl>
|
||||||
</ContentControl.DataTemplates>
|
</Grid>
|
||||||
</ContentControl>
|
</Grid>
|
||||||
|
|
||||||
<!-- Notification container -->
|
<!-- Notification container -->
|
||||||
<Grid Grid.Row="1" Width="360" Margin="0,36,0,0" HorizontalAlignment="Right" VerticalAlignment="Top">
|
<Grid Grid.Row="1" Width="360" Margin="0,36,0,0" HorizontalAlignment="Right" VerticalAlignment="Top">
|
||||||
|
@ -307,11 +318,7 @@
|
||||||
<ItemsControl.ItemTemplate>
|
<ItemsControl.ItemTemplate>
|
||||||
<DataTemplate DataType="m:Notification">
|
<DataTemplate DataType="m:Notification">
|
||||||
<Grid Width="320" Margin="8">
|
<Grid Width="320" Margin="8">
|
||||||
<Border Background="{DynamicResource Brush.Window}" BorderBrush="{DynamicResource Brush.Border0}" BorderThickness="1" CornerRadius="4">
|
<Border Background="{DynamicResource Brush.Window}" BorderBrush="{DynamicResource Brush.Border0}" BorderThickness="1" CornerRadius="4" Effect="drop-shadow(0 0 8 #40000000)"/>
|
||||||
<Border.Effect>
|
|
||||||
<DropShadowEffect OffsetX="0" OffsetY="0" BlurRadius="8" Color="Black" Opacity=".4"/>
|
|
||||||
</Border.Effect>
|
|
||||||
</Border>
|
|
||||||
|
|
||||||
<Grid Margin="8" RowDefinitions="26,Auto,Auto">
|
<Grid Margin="8" RowDefinitions="26,Auto,Auto">
|
||||||
<StackPanel Grid.Row="0" Margin="8,0,0,0" Orientation="Horizontal" IsVisible="{Binding IsError}">
|
<StackPanel Grid.Row="0" Margin="8,0,0,0" Orientation="Horizontal" IsVisible="{Binding IsError}">
|
||||||
|
@ -334,7 +341,7 @@
|
||||||
Text="{Binding Message}"/>
|
Text="{Binding Message}"/>
|
||||||
<Button Grid.Row="3"
|
<Button Grid.Row="3"
|
||||||
Classes="flat primary"
|
Classes="flat primary"
|
||||||
Height="25"
|
Height="30"
|
||||||
Margin="4,0"
|
Margin="4,0"
|
||||||
Command="{Binding #me.DataContext.(vm:Launcher).ActivePage.DismissNotification}"
|
Command="{Binding #me.DataContext.(vm:Launcher).ActivePage.DismissNotification}"
|
||||||
CommandParameter="{Binding}"
|
CommandParameter="{Binding}"
|
||||||
|
|
|
@ -376,7 +376,7 @@
|
||||||
<Button Grid.Column="4"
|
<Button Grid.Column="4"
|
||||||
Classes="flat primary"
|
Classes="flat primary"
|
||||||
Content="{DynamicResource Text.WorkingCopy.Commit}"
|
Content="{DynamicResource Text.WorkingCopy.Commit}"
|
||||||
Height="24"
|
Height="28"
|
||||||
Margin="8,0,0,0"
|
Margin="8,0,0,0"
|
||||||
Padding="8,0"
|
Padding="8,0"
|
||||||
Click="Commit"/>
|
Click="Commit"/>
|
||||||
|
@ -384,7 +384,7 @@
|
||||||
<Button Grid.Column="5"
|
<Button Grid.Column="5"
|
||||||
Classes="flat"
|
Classes="flat"
|
||||||
Content="{DynamicResource Text.WorkingCopy.CommitAndPush}"
|
Content="{DynamicResource Text.WorkingCopy.CommitAndPush}"
|
||||||
Height="24"
|
Height="28"
|
||||||
Margin="8,0,0,0"
|
Margin="8,0,0,0"
|
||||||
Padding="8,0"
|
Padding="8,0"
|
||||||
Click="CommitWithPush">
|
Click="CommitWithPush">
|
||||||
|
|
Loading…
Reference in a new issue