Skip to content

Commit e85d456

Browse files
committed
Added RichGlyph to the dummy data template
1 parent b435c9e commit e85d456

File tree

3 files changed

+39
-26
lines changed

3 files changed

+39
-26
lines changed

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

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
using Microsoft.UI.Xaml.Shapes;
1010
using Microsoft.UI.Xaml.Input;
1111
using Microsoft.UI;
12+
using Windows.ApplicationModel.Contacts;
1213

1314
namespace Files.App.Controls
1415
{
@@ -116,13 +117,18 @@ internal void ChangeMode(OmnibarMode modeToExpand)
116117

117118
private void UpdateVisualStates()
118119
{
119-
VisualStateManager.GoToState(
120-
this,
121-
_isFocused ? "Focused" : "Normal",
122-
true);
120+
VisualStateManager.GoToState(this, _isFocused ? "Focused" : "Normal", true);
123121

124122
if (CurrentActiveMode is not null && _autoSuggestPopup is not null)
125-
VisualStateManager.GoToState(this, _isFocused && CurrentActiveMode.SuggestionItemsSource is not null ? "PopupOpened" : "PopupClosed", true);
123+
{
124+
// Close anyway
125+
if (_autoSuggestPopup.IsOpen && CurrentActiveMode.SuggestionItemsSource is null)
126+
VisualStateManager.GoToState(this, "PopupClosed", true);
127+
128+
// Decide open or close
129+
if (_isFocused != _autoSuggestPopup.IsOpen)
130+
VisualStateManager.GoToState(this, _isFocused && CurrentActiveMode.SuggestionItemsSource is not null ? "PopupOpened" : "PopupClosed", true);
131+
}
126132

127133
if (CurrentActiveMode is not null)
128134
VisualStateManager.GoToState(CurrentActiveMode, _isFocused ? "Focused" : "CurrentUnfocused", true);
@@ -143,6 +149,12 @@ private void Omnibar_GotFocus(object sender, RoutedEventArgs e)
143149

144150
private void Omnibar_LostFocus(object sender, RoutedEventArgs e)
145151
{
152+
// Ignore when user clicks on the TextBox or OmnibarMode's button area, Omnibar still has focus
153+
if (e.OriginalSource.GetType() is not { } originalSourceType ||
154+
originalSourceType == typeof(TextBox) ||
155+
originalSourceType == typeof(OmnibarMode))
156+
return;
157+
146158
_isFocused = false;
147159
UpdateVisualStates();
148160
}

src/Files.App.Controls/Omnibar/Omnibar.xaml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,6 @@
1919
<Thickness x:Key="OmnibarUnfocusedBorderThickness">1</Thickness>
2020
<Thickness x:Key="OmnibarUnfocusedRootPadding">1</Thickness>
2121

22-
<x:Double x:Key="OmnibarModeDividerDefaultHeight">24</x:Double>
23-
<SolidColorBrush x:Key="OmnibarModeDivisiderBrush" Color="{ThemeResource DividerStrokeColorDefaultBrush}" />
24-
2522
<Style BasedOn="{StaticResource DefaultOmnibarStyle}" TargetType="local:Omnibar" />
2623

2724
<Style x:Key="DefaultOmnibarStyle" TargetType="local:Omnibar">
@@ -75,7 +72,7 @@
7572
</Border.Shadow>
7673

7774
<ListView
78-
Padding="4"
75+
Padding="0,2"
7976
HorizontalAlignment="Stretch"
8077
IsItemClickEnabled="True"
8178
ItemTemplate="{Binding CurrentActiveMode.SuggestionItemTemplate, RelativeSource={RelativeSource TemplatedParent}, Mode=OneWay}"

tests/Files.App.UITests/Views/OmnibarPage.xaml

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@
7474

7575
<controls:OmnibarMode
7676
IsDefault="True"
77-
SuggestionItemsSource="{x:Bind DummyItems1, Mode=OneWay}"
7877
Text="Path..."
7978
TextPlaceholder="Enter text..."
8079
ToolTip="Path"
@@ -85,41 +84,46 @@
8584
<controls:OmnibarMode.IconOnInactive>
8685
<controls:ThemedIcon Style="{StaticResource App.ThemedIcons.Omnibar.Path}" />
8786
</controls:OmnibarMode.IconOnInactive>
87+
</controls:OmnibarMode>
88+
89+
<controls:OmnibarMode
90+
SuggestionItemsSource="{x:Bind DummyItems1, Mode=OneWay}"
91+
Text="Palette..."
92+
TextPlaceholder="Enter a palette command..."
93+
ToolTip="Palette"
94+
UseDefaultInactiveMode="True">
95+
<controls:OmnibarMode.IconOnActive>
96+
<controls:ThemedIcon IsFilled="True" Style="{StaticResource App.ThemedIcons.Omnibar.Commands}" />
97+
</controls:OmnibarMode.IconOnActive>
98+
<controls:OmnibarMode.IconOnInactive>
99+
<controls:ThemedIcon Style="{StaticResource App.ThemedIcons.Omnibar.Commands}" />
100+
</controls:OmnibarMode.IconOnInactive>
88101
<controls:OmnibarMode.SuggestionItemTemplate>
89102
<DataTemplate x:DataType="data:DummyItem1">
90-
<Grid Height="48">
103+
<Grid Height="48" ColumnSpacing="12">
91104
<Grid.ColumnDefinitions>
105+
<ColumnDefinition Width="Auto" />
92106
<ColumnDefinition Width="*" />
93107
<ColumnDefinition Width="Auto" />
94108
</Grid.ColumnDefinitions>
95-
<StackPanel Grid.Column="0" VerticalAlignment="Center">
109+
<StackPanel VerticalAlignment="Center">
110+
<controls:ThemedIcon IconSize="20" Style="{StaticResource App.ThemedIcons.Actions.Copying}" />
111+
</StackPanel>
112+
<StackPanel Grid.Column="1" VerticalAlignment="Center">
96113
<TextBlock Style="{StaticResource BodyStrongTextBlockStyle}" Text="{x:Bind Title}" />
97114
<TextBlock
98115
Foreground="{ThemeResource TextFillColorSecondaryBrush}"
99116
Style="{StaticResource CaptionTextBlockStyle}"
100117
Text="{x:Bind Description}" />
101118
</StackPanel>
102-
<StackPanel Grid.Column="1" VerticalAlignment="Center">
119+
<StackPanel Grid.Column="2" VerticalAlignment="Center">
103120
<TextBlock Text="{x:Bind HotKeys}" />
104121
</StackPanel>
105122
</Grid>
106123
</DataTemplate>
107124
</controls:OmnibarMode.SuggestionItemTemplate>
108125
</controls:OmnibarMode>
109126

110-
<controls:OmnibarMode
111-
Text="Palette..."
112-
TextPlaceholder="Enter a palette command..."
113-
ToolTip="Palette"
114-
UseDefaultInactiveMode="True">
115-
<controls:OmnibarMode.IconOnActive>
116-
<controls:ThemedIcon IsFilled="True" Style="{StaticResource App.ThemedIcons.Omnibar.Commands}" />
117-
</controls:OmnibarMode.IconOnActive>
118-
<controls:OmnibarMode.IconOnInactive>
119-
<controls:ThemedIcon Style="{StaticResource App.ThemedIcons.Omnibar.Commands}" />
120-
</controls:OmnibarMode.IconOnInactive>
121-
</controls:OmnibarMode>
122-
123127
<controls:OmnibarMode
124128
Text="Search..."
125129
TextPlaceholder="Enter a search query..."

0 commit comments

Comments
 (0)