-
Notifications
You must be signed in to change notification settings - Fork 6.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[PowerRename] Show UI info if item cannot be renamed #19934
Changes from 4 commits
b9291f3
a1571cf
fb4c8e5
39c9a6e
6a57af9
946459e
0e3ef87
6276b6c
1942532
660a647
4a55f22
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -674,7 +674,7 @@ GUITHREADINFO | |
GValue | ||
gwl | ||
GWLP | ||
haccel | ||
HACCEL | ||
hangeul | ||
hanselman | ||
hardcoded | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,125 @@ | ||
<UserControl | ||
x:Class="PowerRenameUI.ExplorerItem" | ||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" | ||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" | ||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" | ||
xmlns:local="using:PowerRenameUI" | ||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" | ||
mc:Ignorable="d"> | ||
|
||
<Grid Height="28" Padding="0,0,0,0"> | ||
<Grid.ColumnDefinitions> | ||
<ColumnDefinition Width="*" /> | ||
<ColumnDefinition Width="4" /> | ||
<!-- Some spacing in between --> | ||
<ColumnDefinition Width="*" /> | ||
<ColumnDefinition Width="Auto" /> | ||
<!-- Error tooltip --> | ||
</Grid.ColumnDefinitions> | ||
|
||
<Border | ||
Name="HighlightBorder" | ||
Grid.ColumnSpan="4" | ||
Margin="0,0,0,-1" | ||
HorizontalAlignment="Stretch" | ||
VerticalAlignment="Stretch" | ||
Background="Transparent" /> | ||
|
||
<Grid | ||
Grid.Column="0" | ||
Margin="10,4,0,4" | ||
HorizontalAlignment="Left"> | ||
<Grid.ColumnDefinitions> | ||
<ColumnDefinition MinWidth="{x:Bind Indentation}" /> | ||
<ColumnDefinition Width="Auto" /> | ||
<ColumnDefinition Width="Auto" /> | ||
<ColumnDefinition Width="Auto" /> | ||
</Grid.ColumnDefinitions> | ||
|
||
|
||
<CheckBox | ||
Name="{x:Bind IdStr}" | ||
Grid.Column="1" | ||
Width="28" | ||
Height="28" | ||
MinWidth="0" | ||
AutomationProperties.HelpText="{x:Bind Renamed}" | ||
AutomationProperties.Name="{x:Bind Original}" | ||
Content="" | ||
IsChecked="{x:Bind Checked, Mode=TwoWay}" | ||
IsTabStop="True" | ||
TabIndex="0" | ||
XYFocusKeyboardNavigation="Enabled" /> | ||
<Image | ||
Grid.Column="2" | ||
Width="16" | ||
Margin="4,0,0,0" | ||
HorizontalAlignment="Left" | ||
Source="{x:Bind ImagePath}" /> | ||
<TextBlock | ||
Grid.Column="3" | ||
Margin="6,0,4,0" | ||
VerticalAlignment="Center" | ||
FontSize="12" | ||
Foreground="{ThemeResource TextFillColorSecondaryBrush}" | ||
Text="{x:Bind Original, Mode=OneWay}" | ||
TextTrimming="CharacterEllipsis" /> | ||
</Grid> | ||
<TextBlock | ||
Grid.Column="2" | ||
Margin="0,0,4,0" | ||
VerticalAlignment="Center" | ||
FontSize="12" | ||
FontWeight="SemiBold" | ||
Foreground="{ThemeResource AccentTextFillColorPrimaryBrush}" | ||
Text="{x:Bind Renamed, Mode=OneWay}" | ||
TextTrimming="CharacterEllipsis" /> | ||
|
||
<Border | ||
x:Name="ErrorIcon" | ||
Grid.Column="3" | ||
Width="12" | ||
Height="12" | ||
CornerRadius="12" | ||
Margin="4,0,8,0" | ||
Background="{ThemeResource SystemFillColorCriticalBrush}" | ||
Visibility="Collapsed"> | ||
<TextBlock | ||
HorizontalAlignment="Center" | ||
VerticalAlignment="Center" | ||
FontFamily="{ThemeResource SymbolThemeFontFamily}" | ||
Foreground="White" | ||
FontSize="8" | ||
Text="" /> | ||
<ToolTipService.ToolTip> | ||
<TextBlock | ||
x:Name="ErrorMessageTxt" | ||
Text="Error message goes here" | ||
TextWrapping="Wrap" /> | ||
</ToolTipService.ToolTip> | ||
</Border> | ||
|
||
|
||
|
||
<VisualStateManager.VisualStateGroups> | ||
<VisualStateGroup x:Name="CommonStates"> | ||
<VisualState x:Name="Normal" /> | ||
<VisualState x:Name="Highlight"> | ||
<VisualState.Setters> | ||
<Setter Target="HighlightBorder.Opacity" Value="0.1" /> | ||
<Setter Target="HighlightBorder.BorderBrush" Value="{ThemeResource AccentTextFillColorPrimaryBrush}" /> | ||
<Setter Target="HighlightBorder.Background" Value="{ThemeResource AccentTextFillColorPrimaryBrush}" /> | ||
</VisualState.Setters> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Correct me if I'm mistaken, but I don't see a There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. No, the closing tag indicates that the Normal state falls back to the default states defined in the XAML - in this case, the icon is already collapsed. EDIT: Oh, going from Error -> Highlight state? @stefansjfw Is that a valid scenario or will it go through the Normal state first at all times? If not we might want to add the collapsing of the Error icon in the Highlight state as @Jay-o-Way mentioned. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Error -> Highlight state works as expeected |
||
</VisualState> | ||
<VisualState x:Name="Error"> | ||
<VisualState.Setters> | ||
<Setter Target="HighlightBorder.Opacity" Value="1" /> | ||
<Setter Target="HighlightBorder.BorderBrush" Value="{ThemeResource SystemFillColorCriticalBackgroundBrush}" /> | ||
<Setter Target="HighlightBorder.Background" Value="{ThemeResource SystemFillColorCriticalBackgroundBrush}" /> | ||
<Setter Target="ErrorIcon.Visibility" Value="Visible" /> | ||
</VisualState.Setters> | ||
</VisualState> | ||
</VisualStateGroup> | ||
</VisualStateManager.VisualStateGroups> | ||
</Grid> | ||
</UserControl> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we use glyph icons with the official brushes and symbols for the error icon in the
muxc:InfoBar
? This would fix the colors and make thex
centered in the circle.PowerToys/src/settings-ui/Settings.UI/Views/PowerLauncherPage.xaml
Line 284 in 24f4405
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@niels9001 E10A is not allowed. You should know this by now. Please remember our agreement.
And please never hard-code a font color.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@stefansjfw
Did you see my review?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, that's Q for @niels9001 :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@niels9001
Here is a list of all infobar theme resources: https://docs.microsoft.com/en-us/windows/winui/api/microsoft.ui.xaml.controls.infobar?view=winui-2.8#all-theme-resources
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@stefansjfw and @niels9001 - Using a <border> to achieve a colored background for an icon? Don't take it the wrong way, but I expect better from you guys (!) (try to find a compliment in there...)
Have a look at https://docs.microsoft.com/windows/apps/design/style/segoe-fluent-icons-font#layering-and-mirroring and let's use
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Jay-o-Way
I agree with and that's why I wrote it.
And btw. we can use the background of the error bar (
InfoBarErrorSeverityBackgroundBrush
) as background for the table row. Then we are in line with system colors.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The InfoBar brushes inherit other brushes... the one we use, so this is fine. See WinUI repo.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the brushes I am okay with what we have. But can we use the X-Glyph-Resource from info bar. The current implementation you did isn't centered on the red background and this looks not good. (See screenshots in PR description.)