Skip to content

Commit 3c4ba25

Browse files
committed
Init
1 parent 5652daa commit 3c4ba25

17 files changed

+650
-565
lines changed

src/Files.App.Controls/BreadcrumbBar/BreadcrumbBar.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public BreadcrumbBar()
4242
{
4343
DefaultStyleKey = typeof(BreadcrumbBar);
4444

45-
_itemsRepeaterLayout = new(this, 2d);
45+
_itemsRepeaterLayout = new(this);
4646
}
4747

4848
// Methods

src/Files.App.Controls/BreadcrumbBar/BreadcrumbBar.xaml

+22-6
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,14 @@
55
xmlns:animatedvisuals="using:Microsoft.UI.Xaml.Controls.AnimatedVisuals"
66
xmlns:local="using:Files.App.Controls">
77

8-
<x:Double x:Key="BreadcrumbBarHeight">32</x:Double>
8+
<x:Double x:Key="BreadcrumbBarHeight">34</x:Double>
99
<x:Double x:Key="BreadcrumbBarMinWidth">120</x:Double>
1010
<x:Double x:Key="BreadcrumbBarEllipsisFontSize">16</x:Double>
1111

1212
<Thickness x:Key="BreadcrumbBarChevronPadding">4,0</Thickness>
1313
<Thickness x:Key="BreadcrumbBarItemPadding">8,0</Thickness>
1414
<Thickness x:Key="BreadcrumbBarRootItemPadding">16,0,8,0</Thickness>
15+
<Thickness x:Key="BreadcrumbBarItemMargin">2,0,0,0</Thickness>
1516

1617
<CornerRadius x:Key="BreadcrumbBarItemCornerRadius">2,2,2,2</CornerRadius>
1718
<CornerRadius x:Key="BreadcrumbBarChevronCornerRaduis">2,2,2,2</CornerRadius>
@@ -21,15 +22,28 @@
2122
<Style BasedOn="{StaticResource DefaultBreadcrumbBarItemStyle}" TargetType="local:BreadcrumbBarItem" />
2223

2324
<Style x:Key="DefaultBreadcrumbBarStyle" TargetType="local:BreadcrumbBar">
25+
26+
<Setter Property="Background" Value="Transparent" />
27+
2428
<Setter Property="MinWidth" Value="{StaticResource BreadcrumbBarMinWidth}" />
29+
30+
<Setter Property="HorizontalAlignment" Value="Stretch" />
31+
<Setter Property="HorizontalContentAlignment" Value="Center" />
32+
<Setter Property="VerticalAlignment" Value="Stretch" />
33+
<Setter Property="VerticalContentAlignment" Value="Center" />
34+
2535
<Setter Property="AutomationProperties.LandmarkType" Value="Navigation" />
36+
2637
<Setter Property="IsTabStop" Value="False" />
38+
2739
<Setter Property="Template">
2840
<Setter.Value>
2941
<ControlTemplate TargetType="local:BreadcrumbBar">
3042
<Grid
3143
MinWidth="{TemplateBinding MinWidth}"
32-
ColumnSpacing="2"
44+
HorizontalAlignment="{TemplateBinding HorizontalAlignment}"
45+
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
46+
Background="{TemplateBinding Background}"
3347
TabFocusNavigation="Once"
3448
XYFocusKeyboardNavigation="Enabled">
3549
<Grid.ColumnDefinitions>
@@ -50,6 +64,7 @@
5064
<local:BreadcrumbBarItem
5165
x:Name="PART_EllipsisBreadcrumbBarItem"
5266
Grid.Column="1"
67+
Margin="{StaticResource BreadcrumbBarItemMargin}"
5368
AutomationProperties.AccessibilityView="Content"
5469
IsEllipsis="True"
5570
Visibility="Collapsed">
@@ -59,6 +74,7 @@
5974
<ItemsRepeater
6075
x:Name="PART_MainItemsRepeater"
6176
Grid.Column="2"
77+
Margin="{StaticResource BreadcrumbBarItemMargin}"
6278
ItemTemplate="{Binding ItemTemplate, RelativeSource={RelativeSource TemplatedParent}, Mode=OneWay}"
6379
ItemsSource="{Binding ItemsSource, RelativeSource={RelativeSource TemplatedParent}, Mode=OneWay}" />
6480

@@ -85,7 +101,7 @@
85101
<Setter Property="HorizontalAlignment" Value="Stretch" />
86102
<Setter Property="HorizontalContentAlignment" Value="Center" />
87103
<Setter Property="VerticalAlignment" Value="Stretch" />
88-
<Setter Property="VerticalContentAlignment" Value="Center" />
104+
<Setter Property="VerticalContentAlignment" Value="Stretch" />
89105

90106
<Setter Property="FocusVisualMargin" Value="1" />
91107
<Setter Property="IsTabStop" Value="False" />
@@ -95,7 +111,6 @@
95111
<ControlTemplate TargetType="local:BreadcrumbBarItem">
96112
<Grid
97113
x:Name="PART_LayoutRoot"
98-
ColumnSpacing="2"
99114
TabFocusNavigation="Once"
100115
XYFocusKeyboardNavigation="Enabled">
101116
<Grid.ColumnDefinitions>
@@ -107,7 +122,7 @@
107122
<Button
108123
x:Name="PART_ItemContentButton"
109124
Padding="{TemplateBinding Padding}"
110-
VerticalAlignment="Stretch"
125+
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
111126
AutomationProperties.AccessibilityView="Raw"
112127
Background="{TemplateBinding Background}"
113128
BorderBrush="{TemplateBinding BorderBrush}"
@@ -151,8 +166,9 @@
151166
<Button
152167
x:Name="PART_ItemChevronButton"
153168
Grid.Column="1"
169+
Margin="{StaticResource BreadcrumbBarItemMargin}"
154170
Padding="{StaticResource BreadcrumbBarChevronPadding}"
155-
VerticalAlignment="Stretch"
171+
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
156172
AutomationProperties.AccessibilityView="Content"
157173
Background="{TemplateBinding Background}"
158174
BorderBrush="{TemplateBinding BorderBrush}"

src/Files.App.Controls/BreadcrumbBar/BreadcrumbBarLayout.cs

+3-6
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ public partial class BreadcrumbBarLayout : NonVirtualizingLayout
1313
// Fields
1414

1515
private readonly WeakReference<BreadcrumbBar>? _ownerRef;
16-
private readonly double _spacing = 0d;
1716

1817
private Size _availableSize;
1918
private BreadcrumbBarItem? _ellipsisButton = null;
@@ -24,10 +23,9 @@ public partial class BreadcrumbBarLayout : NonVirtualizingLayout
2423
public int IndexAfterEllipsis { get; private set; }
2524
public int VisibleItemsCount { get; private set; }
2625

27-
public BreadcrumbBarLayout(BreadcrumbBar breadcrumb, double spacing)
26+
public BreadcrumbBarLayout(BreadcrumbBar breadcrumb)
2827
{
2928
_ownerRef = new(breadcrumb);
30-
_spacing = spacing;
3129
}
3230

3331
protected override Size MeasureOverride(NonVirtualizingLayoutContext context, Size availableSize)
@@ -79,7 +77,6 @@ protected override Size ArrangeOverride(NonVirtualizingLayoutContext context, Si
7977
breadcrumbItem.Arrange(new Rect(accumulatedWidths, 0, breadcrumbItem.DesiredSize.Width, breadcrumbItem.DesiredSize.Height));
8078

8179
accumulatedWidths += breadcrumbItem.DesiredSize.Width;
82-
accumulatedWidths += _spacing;
8380

8481
VisibleItemsCount++;
8582
}
@@ -95,9 +92,9 @@ protected override Size ArrangeOverride(NonVirtualizingLayoutContext context, Si
9592
private int GetFirstIndexToRender(NonVirtualizingLayoutContext context)
9693
{
9794
var itemCount = context.Children.Count;
98-
var accumulatedWidth = _spacing;
95+
var accumulatedWidth = 0d;
9996

100-
// Go through all items from the end
97+
// Go through all items from the last item
10198
for (int index = itemCount - 1; index >= 0; index--)
10299
{
103100
var newAccumulatedWidth = accumulatedWidth + context.Children[index].DesiredSize.Width;

src/Files.App.Controls/Omnibar/Omnibar.Properties.cs

+3-7
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,6 @@
22
// Licensed under the MIT License.
33

44
using CommunityToolkit.WinUI;
5-
using Microsoft.UI.Xaml;
6-
using Microsoft.UI.Xaml.Controls;
7-
using Microsoft.UI.Xaml.Media;
8-
using Microsoft.UI.Xaml.Markup;
9-
using Microsoft.UI.Xaml.Shapes;
10-
using System.Linq;
11-
using System.Collections.Generic;
125

136
namespace Files.App.Controls
147
{
@@ -19,5 +12,8 @@ public partial class Omnibar
1912

2013
[GeneratedDependencyProperty]
2114
public partial OmnibarMode? CurrentSelectedMode { get; set; }
15+
16+
[GeneratedDependencyProperty]
17+
public partial Thickness AutoSuggestBoxPadding { get; set; }
2218
}
2319
}

0 commit comments

Comments
 (0)