Skip to content

Commit dde65e5

Browse files
committed
Improved
1 parent 11214c7 commit dde65e5

File tree

4 files changed

+24
-11
lines changed

4 files changed

+24
-11
lines changed

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

+5-2
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,9 @@ public void ChangeMode(OmnibarMode modeToExpand, bool useTransition = true)
146146

147147
CurrentSelectedMode = modeToExpand;
148148

149+
_textChangeReason = OmnibarTextChangeReason.ProgrammaticChange;
150+
_textBox.Text = CurrentSelectedMode.Text ?? string.Empty;
151+
149152
// Move cursor of the TextBox to the tail
150153
_textBox.Select(_textBox.Text.Length, 0);
151154

@@ -197,7 +200,7 @@ public void ChooseSuggestionItem(object obj)
197200
if (CurrentSelectedMode.UpdateTextOnSelect)
198201
{
199202
_textChangeReason = OmnibarTextChangeReason.SuggestionChosen;
200-
CurrentSelectedMode.Text = GetObjectText(obj);
203+
_textBox.Text = GetObjectText(obj);
201204
}
202205

203206
SuggestionChosen?.Invoke(this, new(CurrentSelectedMode, obj));
@@ -237,7 +240,7 @@ private void RevertTextToUserInput()
237240
_textBoxSuggestionsListView.SelectedIndex = -1;
238241
_textChangeReason = OmnibarTextChangeReason.ProgrammaticChange;
239242

240-
CurrentSelectedMode.Text = _userInput ?? "";
243+
_textBox.Text = _userInput ?? "";
241244

242245
// Move the cursor to the end of the TextBox
243246
_textBox?.Select(_textBox.Text.Length, 0);

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

-3
Original file line numberDiff line numberDiff line change
@@ -51,15 +51,13 @@
5151
Grid.Row="0"
5252
Width="{TemplateBinding Width}"
5353
Height="{TemplateBinding Height}"
54-
Margin="0"
5554
Padding="{Binding AutoSuggestBoxPadding, RelativeSource={RelativeSource TemplatedParent}, Mode=OneWay}"
5655
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
5756
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
5857
Background="{TemplateBinding Background}"
5958
BackgroundSizing="{TemplateBinding BackgroundSizing}"
6059
BorderBrush="{TemplateBinding BorderBrush}"
6160
BorderThickness="{TemplateBinding BorderThickness}"
62-
Canvas.ZIndex="0"
6361
CornerRadius="{TemplateBinding CornerRadius}"
6462
DesiredCandidateWindowAlignment="BottomEdge"
6563
FontFamily="{TemplateBinding FontFamily}"
@@ -70,7 +68,6 @@
7068
PlaceholderText="{Binding CurrentSelectedMode.PlaceholderText, RelativeSource={RelativeSource TemplatedParent}, Mode=OneWay}"
7169
ScrollViewer.BringIntoViewOnFocusChange="False"
7270
Style="{StaticResource DefaultOmnibarTextBoxStyle}"
73-
Text="{Binding CurrentSelectedMode.Text, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay}"
7471
UseSystemFocusVisuals="{TemplateBinding UseSystemFocusVisuals}" />
7572

7673
<Grid

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

+10-3
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,11 @@
6464
<ColumnDefinition Width="*" />
6565
<ColumnDefinition Width="Auto" />
6666
</Grid.ColumnDefinitions>
67-
<StackPanel VerticalAlignment="Center">
68-
<controls:ThemedIcon IconSize="20" Style="{StaticResource App.ThemedIcons.Actions.Copying}" />
69-
</StackPanel>
67+
<controls:ThemedIcon
68+
Width="20"
69+
Height="20"
70+
VerticalAlignment="Center"
71+
Style="{StaticResource App.ThemedIcons.Actions.Copying}" />
7072
<StackPanel Grid.Column="1" VerticalAlignment="Center">
7173
<TextBlock
7274
Style="{StaticResource BodyStrongTextBlockStyle}"
@@ -113,6 +115,11 @@
113115
IsReadOnly="True"
114116
Text="{x:Bind Omnibar1_Text, Mode=OneWay}" />
115117

118+
<TextBox
119+
Header="Text changed reason:"
120+
IsReadOnly="True"
121+
Text="{x:Bind Omnibar1_TextChangedReason, Mode=OneWay}" />
122+
116123
<Grid ColumnSpacing="8">
117124
<Grid.ColumnDefinitions>
118125
<ColumnDefinition Width="*" />

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

+9-3
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ public sealed partial class OmnibarPage : Page
1818
[GeneratedDependencyProperty(DefaultValue = "")]
1919
private partial string Omnibar1_Text { get; set; }
2020

21+
[GeneratedDependencyProperty(DefaultValue = "")]
22+
private partial string Omnibar1_TextChangedReason { get; set; }
23+
2124
[GeneratedDependencyProperty]
2225
private partial int Omnibar1_ChosenSuggestionIndex { get; set; }
2326

@@ -67,19 +70,22 @@ private void Omnibar1_BreadcrumbBar_ItemDropDownFlyoutClosed(object sender, Brea
6770

6871
private void Omnibar1_QuerySubmitted(Omnibar sender, OmnibarQuerySubmittedEventArgs args)
6972
{
70-
Omnibar1_ChosenSuggestionIndex = args.Item is null ? -1 : 0;
73+
Omnibar1_ChosenSuggestionIndex = args.Item is OmnibarPaletteSuggestionItem item ? Omnibar1_PaletteSuggestions.IndexOf(item) : -1;
7174
Omnibar1_SubmittedQuery = args.Mode.Text ?? string.Empty;
7275
}
7376

7477
private void Omnibar1_TextChanged(Omnibar sender, OmnibarTextChangedEventArgs args)
7578
{
76-
Omnibar1_ChosenSuggestionIndex = -1;
79+
if (args.Reason is not OmnibarTextChangeReason.SuggestionChosen)
80+
Omnibar1_ChosenSuggestionIndex = -1;
81+
7782
Omnibar1_Text = args.Mode.Text ?? string.Empty;
83+
Omnibar1_TextChangedReason = args.Reason.ToString();
7884
}
7985

8086
private void Omnibar1_SuggestionChosen(Omnibar sender, OmnibarSuggestionChosenEventArgs args)
8187
{
82-
Omnibar1_ChosenSuggestionIndex = 0;
88+
Omnibar1_ChosenSuggestionIndex = args.SelectedItem is OmnibarPaletteSuggestionItem item ? Omnibar1_PaletteSuggestions.IndexOf(item) : -1;
8389
Omnibar1_SubmittedQuery = args.Mode.Text ?? string.Empty;
8490
}
8591
}

0 commit comments

Comments
 (0)