Skip to content

Commit 1dffb2e

Browse files
committed
ux: another way to fix transparent background of popup panel on Linux
1 parent 76bb935 commit 1dffb2e

File tree

4 files changed

+97
-85
lines changed

4 files changed

+97
-85
lines changed

src/Resources/Styles.axaml

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -109,23 +109,23 @@
109109
HorizontalAlignment="Right" VerticalAlignment="Bottom"
110110
Cursor="BottomRightCorner"
111111
Tag="{x:Static WindowEdge.SouthEast}"/>
112-
113-
<Border x:Name="PART_ContentRoot"
114-
Background="{DynamicResource Brush.Window}"
115-
BorderBrush="{DynamicResource Brush.Border0}"
116-
BorderThickness="1"
117-
Margin="{TemplateBinding Padding}"
118-
CornerRadius="8"
119-
Effect="drop-shadow(0 0 12 #A0000000)"
120-
ClipToBounds="True">
121-
<VisualLayerManager>
122-
<ContentPresenter Name="PART_ContentPresenter"
123-
ContentTemplate="{TemplateBinding ContentTemplate}"
124-
Content="{TemplateBinding Content}"
125-
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
126-
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/>
127-
</VisualLayerManager>
128-
</Border>
112+
113+
<Grid Margin="{TemplateBinding Padding}" Effect="drop-shadow(0 0 12 #A0000000)">
114+
<Border x:Name="PART_ContentRoot"
115+
Background="{DynamicResource Brush.Window}"
116+
BorderBrush="{DynamicResource Brush.Border0}"
117+
BorderThickness="1"
118+
CornerRadius="8"
119+
ClipToBounds="True">
120+
<VisualLayerManager>
121+
<ContentPresenter Name="PART_ContentPresenter"
122+
ContentTemplate="{TemplateBinding ContentTemplate}"
123+
Content="{TemplateBinding Content}"
124+
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
125+
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/>
126+
</VisualLayerManager>
127+
</Border>
128+
</Grid>
129129
</Grid>
130130
</ControlTemplate>
131131
</Setter>

src/Views/Clone.axaml

Lines changed: 47 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -10,46 +10,71 @@
1010
<StackPanel Orientation="Vertical" Margin="8,0,0,0">
1111
<TextBlock Classes="bold" FontSize="18" Text="{DynamicResource Text.Clone}"/>
1212

13-
<Grid Margin="8,16,0,0" Height="28" ColumnDefinitions="140,*">
14-
<TextBlock Grid.Column="0" HorizontalAlignment="Right" Margin="0,0,8,0" Text="{DynamicResource Text.Clone.RemoteURL}"/>
15-
<TextBox Grid.Column="1" CornerRadius="3" Text="{Binding Remote, Mode=TwoWay}" v:AutoFocusBehaviour.IsEnabled="True"/>
16-
</Grid>
17-
<Grid Margin="8,4,0,0" Height="28" ColumnDefinitions="140,*" IsVisible="{Binding UseSSH}">
18-
<TextBlock Grid.Column="0" HorizontalAlignment="Right" Margin="0,0,8,0" Text="{DynamicResource Text.SSHKey}"/>
19-
<TextBox Grid.Column="1"
13+
<Grid Margin="8,16,0,0" RowDefinitions="32,Auto,32,32,32" ColumnDefinitions="Auto,*">
14+
<TextBlock Grid.Row="0" Grid.Column="0"
15+
HorizontalAlignment="Right"
16+
Margin="0,0,8,0"
17+
Text="{DynamicResource Text.Clone.RemoteURL}"/>
18+
<TextBox Grid.Row="0" Grid.Column="1"
19+
Height="28"
20+
CornerRadius="3"
21+
Text="{Binding Remote, Mode=TwoWay}"
22+
v:AutoFocusBehaviour.IsEnabled="True"/>
23+
24+
<TextBlock Grid.Row="1" Grid.Column="0"
25+
HorizontalAlignment="Right"
26+
Margin="0,0,8,0"
27+
Text="{DynamicResource Text.SSHKey}"
28+
IsVisible="{Binding UseSSH}"/>
29+
<TextBox Grid.Row="1" Grid.Column="1"
2030
x:Name="TxtSshKey"
2131
Height="28"
2232
CornerRadius="3"
2333
Watermark="{DynamicResource Text.SSHKey.Placeholder}"
24-
Text="{Binding SSHKey, Mode=TwoWay}">
34+
Text="{Binding SSHKey, Mode=TwoWay}"
35+
IsVisible="{Binding UseSSH}">
2536
<TextBox.InnerRightContent>
26-
<Button Classes="icon_button" Width="30" Height="30" Click="SelectSSHKey">
37+
<Button Classes="icon_button" Width="28" Height="28" Click="SelectSSHKey">
2738
<Path Data="{StaticResource Icons.Folder.Open}" Fill="{DynamicResource Brush.FG1}"/>
2839
</Button>
2940
</TextBox.InnerRightContent>
3041
</TextBox>
31-
</Grid>
32-
<Grid Margin="8,4,0,0" Height="28" ColumnDefinitions="140,*">
33-
<TextBlock Grid.Column="0" HorizontalAlignment="Right" Margin="0,0,8,0" Text="{DynamicResource Text.Clone.ParentFolder}"/>
34-
<TextBox Grid.Column="1"
42+
43+
<TextBlock Grid.Row="2" Grid.Column="0"
44+
HorizontalAlignment="Right"
45+
Margin="0,0,8,0"
46+
Text="{DynamicResource Text.Clone.ParentFolder}"/>
47+
<TextBox Grid.Row="2" Grid.Column="1"
3548
x:Name="TxtParentFolder"
3649
Height="28"
3750
CornerRadius="3"
3851
Text="{Binding ParentFolder, Mode=TwoWay}">
3952
<TextBox.InnerRightContent>
40-
<Button Classes="icon_button" Width="30" Height="30" Margin="4,0,0,0" Click="SelectParentFolder">
53+
<Button Classes="icon_button" Width="28" Height="28" Margin="4,0,0,0" Click="SelectParentFolder">
4154
<Path Data="{StaticResource Icons.Folder.Open}" Fill="{DynamicResource Brush.FG1}"/>
4255
</Button>
4356
</TextBox.InnerRightContent>
4457
</TextBox>
45-
</Grid>
46-
<Grid Margin="8,4,0,0" Height="28" ColumnDefinitions="140,*">
47-
<TextBlock Grid.Column="0" HorizontalAlignment="Right" Margin="0,0,8,0" Text="{DynamicResource Text.Clone.LocalName}"/>
48-
<TextBox Grid.Column="1" CornerRadius="3" Watermark="{DynamicResource Text.Clone.LocalName.Placeholder}" Text="{Binding Local, Mode=TwoWay}"/>
49-
</Grid>
50-
<Grid Margin="8,4,0,0" Height="28" ColumnDefinitions="140,*">
51-
<TextBlock Grid.Column="0" HorizontalAlignment="Right" Margin="0,0,8,0" Text="{DynamicResource Text.Clone.AdditionalParam}"/>
52-
<TextBox Grid.Column="1" CornerRadius="3" Watermark="{DynamicResource Text.Clone.AdditionalParam.Placeholder}" Text="{Binding ExtraArgs, Mode=TwoWay}"/>
58+
59+
<TextBlock Grid.Row="3" Grid.Column="0"
60+
HorizontalAlignment="Right"
61+
Margin="0,0,8,0"
62+
Text="{DynamicResource Text.Clone.LocalName}"/>
63+
<TextBox Grid.Row="3" Grid.Column="1"
64+
Height="28"
65+
CornerRadius="3"
66+
Watermark="{DynamicResource Text.Clone.LocalName.Placeholder}"
67+
Text="{Binding Local, Mode=TwoWay}"/>
68+
69+
<TextBlock Grid.Row="4" Grid.Column="0"
70+
HorizontalAlignment="Right"
71+
Margin="0,0,8,0"
72+
Text="{DynamicResource Text.Clone.AdditionalParam}"/>
73+
<TextBox Grid.Row="4" Grid.Column="1"
74+
Height="28"
75+
CornerRadius="3"
76+
Watermark="{DynamicResource Text.Clone.AdditionalParam.Placeholder}"
77+
Text="{Binding ExtraArgs, Mode=TwoWay}"/>
5378
</Grid>
5479
</StackPanel>
5580
</UserControl>

src/Views/Launcher.axaml

Lines changed: 32 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -250,59 +250,46 @@
250250
</ContentControl>
251251

252252
<!-- Popup container -->
253-
<Grid Grid.Row="1" Margin="0,36,0,0" IsVisible="{Binding ActivePage.Popup, Converter={x:Static ObjectConverters.IsNotNull}}">
253+
<Grid Grid.Row="1" Margin="0,36,0,0" IsVisible="{Binding ActivePage.Popup, Converter={x:Static ObjectConverters.IsNotNull}}" ClipToBounds="True">
254254
<Border Background="Transparent" PointerPressed="OnPopupCancelByClickMask"/>
255255

256-
<Grid Width="500" HorizontalAlignment="Center" VerticalAlignment="Top">
257-
<ContentControl Content="{Binding ActivePage.Popup}" ClipToBounds="True">
256+
<Border Width="500" HorizontalAlignment="Center" VerticalAlignment="Top" Effect="drop-shadow(0 0 8 #8F000000)" CornerRadius="0,0,4,4" ClipToBounds="True">
257+
<ContentControl Content="{Binding ActivePage.Popup}" Background="{DynamicResource Brush.Popup}">
258258
<ContentControl.DataTemplates>
259-
<DataTemplate DataType="vm:Popup">
260-
<Border Margin="8,0,8,8"
261-
Background="{DynamicResource Brush.Popup}"
262-
BorderBrush="{DynamicResource Brush.Border0}"
263-
CornerRadius="0,0,4,4">
264-
<Border.BorderThickness>
265-
<OnPlatform Default="0" Linux="1,0,1,1"/>
266-
</Border.BorderThickness>
259+
<DataTemplate DataType="vm:Popup">
260+
<StackPanel Orientation="Vertical" Background="{DynamicResource Brush.Popup}">
261+
<!-- Popup Widget -->
262+
<ContentPresenter Margin="8,16,8,8"
263+
Content="{Binding View}"
264+
IsHitTestVisible="{Binding InProgress, Converter={x:Static BoolConverters.Not}}"/>
267265

268-
<Border.Effect>
269-
<OnPlatform Default="drop-shadow(0 0 8 #8F000000)" Linux="{x:Null}"/>
270-
</Border.Effect>
271-
272-
<StackPanel Margin="8" Orientation="Vertical">
273-
<!-- Popup Widget -->
274-
<ContentPresenter Margin="0,8"
275-
Content="{Binding View}"
276-
IsHitTestVisible="{Binding InProgress, Converter={x:Static BoolConverters.Not}}"/>
277-
278-
<!-- Options -->
279-
<StackPanel Margin="0,8,0,0"
280-
Height="32"
281-
Orientation="Horizontal"
282-
HorizontalAlignment="Right"
283-
IsVisible="{Binding InProgress, Converter={x:Static BoolConverters.Not}}">
284-
<Button Classes="flat primary"
285-
Width="80"
286-
Content="{DynamicResource Text.Sure}"
287-
Click="OnPopupSure"
288-
HotKey="Enter"/>
289-
<Button Classes="flat"
290-
Width="80"
291-
Margin="8,0,0,0"
292-
Content="{DynamicResource Text.Cancel}"
293-
Click="OnPopupCancel"/>
294-
</StackPanel>
295-
296-
<!-- Running -->
297-
<v:PopupRunningStatus Margin="8"
298-
Description="{Binding ProgressDescription}"
299-
IsVisible="{Binding InProgress}"/>
266+
<!-- Options -->
267+
<StackPanel Margin="8,4,8,8"
268+
Height="32"
269+
Orientation="Horizontal"
270+
HorizontalAlignment="Right"
271+
IsVisible="{Binding InProgress, Converter={x:Static BoolConverters.Not}}">
272+
<Button Classes="flat primary"
273+
Width="80"
274+
Content="{DynamicResource Text.Sure}"
275+
Click="OnPopupSure"
276+
HotKey="Enter"/>
277+
<Button Classes="flat"
278+
Width="80"
279+
Margin="8,0,0,0"
280+
Content="{DynamicResource Text.Cancel}"
281+
Click="OnPopupCancel"/>
300282
</StackPanel>
301-
</Border>
283+
284+
<!-- Running -->
285+
<v:PopupRunningStatus Margin="12,8"
286+
Description="{Binding ProgressDescription}"
287+
IsVisible="{Binding InProgress}"/>
288+
</StackPanel>
302289
</DataTemplate>
303290
</ContentControl.DataTemplates>
304291
</ContentControl>
305-
</Grid>
292+
</Border>
306293
</Grid>
307294

308295
<!-- Notification container -->

src/Views/PopupRunningStatus.axaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
x:Class="SourceGit.Views.PopupRunningStatus"
99
x:Name="me">
1010
<StackPanel Orientation="Vertical">
11-
<Rectangle Height="1" Margin="-8,0" HorizontalAlignment="Stretch" Fill="{DynamicResource Brush.Border1}" />
11+
<Rectangle Height="1" HorizontalAlignment="Stretch" Fill="{DynamicResource Brush.Border1}" />
1212

1313
<StackPanel Orientation="Horizontal" Margin="0,8">
1414
<ContentPresenter x:Name="icon" Width="12" Height="12"/>

0 commit comments

Comments
 (0)