Skip to content

Commit 0c474a9

Browse files
committed
Add Hover Style / Adjust Arrow / Adjust Padding
1 parent 6614771 commit 0c474a9

File tree

2 files changed

+160
-14
lines changed

2 files changed

+160
-14
lines changed

Flow.Launcher/Resources/CustomControlTemplate.xaml

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2407,6 +2407,79 @@
24072407
</Setter.Value>
24082408
</Setter>
24092409
</Style>
2410+
2411+
<!-- Explorer Plugin Expander -->
2412+
<Style x:Key="ExpanderHeaderRightArrowStyle" TargetType="ToggleButton">
2413+
<Setter Property="Template">
2414+
<Setter.Value>
2415+
<ControlTemplate TargetType="ToggleButton">
2416+
<Border x:Name="RootBorder" Background="Transparent" Padding="16,15,16,15">
2417+
<Grid>
2418+
<Grid.ColumnDefinitions>
2419+
<ColumnDefinition Width="*" />
2420+
<ColumnDefinition Width="Auto" />
2421+
</Grid.ColumnDefinitions>
2422+
2423+
<ContentPresenter
2424+
Grid.Column="0"
2425+
VerticalAlignment="Center"
2426+
HorizontalAlignment="Left"
2427+
RecognizesAccessKey="True"
2428+
SnapsToDevicePixels="True"
2429+
Content="{TemplateBinding Content}"
2430+
Margin="8 0 0 0"
2431+
ContentTemplate="{TemplateBinding ContentTemplate}" />
2432+
2433+
<Grid Grid.Column="1"
2434+
Width="20" Height="20"
2435+
Margin="8 0 4 0"
2436+
VerticalAlignment="Center"
2437+
HorizontalAlignment="Right"
2438+
Background="Transparent"
2439+
RenderTransformOrigin="0.5,0.5"
2440+
x:Name="ChevronGrid">
2441+
<Grid.RenderTransform>
2442+
<RotateTransform Angle="0"/>
2443+
</Grid.RenderTransform>
2444+
<Ellipse
2445+
x:Name="circle"
2446+
Width="19"
2447+
Height="19"
2448+
Stroke="Transparent"
2449+
HorizontalAlignment="Center"
2450+
VerticalAlignment="Center"/>
2451+
<Path
2452+
x:Name="arrow"
2453+
Data="M 1,1.5 L 4.5,5 L 8,1.5"
2454+
Stroke="#666"
2455+
StrokeThickness="1"
2456+
SnapsToDevicePixels="False"
2457+
HorizontalAlignment="Center"
2458+
VerticalAlignment="Center" />
2459+
</Grid>
2460+
</Grid>
2461+
</Border>
2462+
2463+
<ControlTemplate.Triggers>
2464+
<Trigger Property="IsChecked" Value="True">
2465+
<Setter TargetName="arrow" Property="Data" Value="M 1,4.5 L 4.5,1 L 8,4.5" />
2466+
</Trigger>
2467+
<Trigger Property="IsMouseOver" Value="True">
2468+
<Setter TargetName="RootBorder" Property="Background" Value="{DynamicResource CustomExpanderHover}" />
2469+
<Setter TargetName="circle" Property="Stroke" Value="Transparent" />
2470+
<Setter TargetName="arrow" Property="Stroke" Value="{DynamicResource Color05B}" />
2471+
</Trigger>
2472+
<Trigger Property="IsPressed" Value="True">
2473+
<Setter TargetName="circle" Property="Stroke" Value="Transparent" />
2474+
<Setter TargetName="circle" Property="StrokeThickness" Value="1.5" />
2475+
<Setter TargetName="arrow" Property="Stroke" Value="{DynamicResource Color17B}" />
2476+
</Trigger>
2477+
</ControlTemplate.Triggers>
2478+
</ControlTemplate>
2479+
</Setter.Value>
2480+
</Setter>
2481+
</Style>
2482+
24102483
<Style x:Key="ExpanderStyle1" TargetType="{x:Type Expander}">
24112484
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" />
24122485
<Setter Property="Background" Value="Transparent" />

Plugins/Flow.Launcher.Plugin.Explorer/Views/ExplorerSettings.xaml

Lines changed: 87 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -80,23 +80,96 @@
8080
<converters:EnumNameConverter x:Key="EnumNameConverter" />
8181

8282
<Style x:Key="CustomExpanderStyle" TargetType="Expander">
83-
<Setter Property="Margin" Value="0 0 0 5" />
84-
<Setter Property="HeaderTemplate">
83+
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" />
84+
<Setter Property="Background" Value="Transparent" />
85+
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
86+
<Setter Property="VerticalContentAlignment" Value="Stretch" />
87+
<Setter Property="BorderBrush" Value="{DynamicResource Color03B}" />
88+
<Setter Property="Foreground" Value="{DynamicResource Color05B}" />
89+
<Setter Property="BorderThickness" Value="1" />
90+
<Setter Property="Padding" Value="-8 18 24 14" />
91+
<Setter Property="Template">
8592
<Setter.Value>
86-
<DataTemplate>
87-
<TextBlock
88-
Margin="8 5 0 5"
89-
FontSize="14"
90-
Foreground="{DynamicResource Color05B}"
91-
Text="{Binding}" />
92-
</DataTemplate>
93+
<ControlTemplate TargetType="Expander">
94+
<Border
95+
Background="{TemplateBinding Background}"
96+
BorderBrush="{TemplateBinding BorderBrush}"
97+
BorderThickness="{TemplateBinding BorderThickness}"
98+
SnapsToDevicePixels="true">
99+
<DockPanel>
100+
<ToggleButton
101+
x:Name="HeaderSite"
102+
MinWidth="0"
103+
MinHeight="0"
104+
Margin="0"
105+
Padding="{TemplateBinding Padding}"
106+
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
107+
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
108+
Content="{TemplateBinding Header}"
109+
ContentTemplate="{TemplateBinding HeaderTemplate}"
110+
ContentTemplateSelector="{TemplateBinding HeaderTemplateSelector}"
111+
DockPanel.Dock="Top"
112+
FocusVisualStyle="{StaticResource ExpanderHeaderFocusVisual}"
113+
FontFamily="{TemplateBinding FontFamily}"
114+
FontSize="{TemplateBinding FontSize}"
115+
FontStretch="{TemplateBinding FontStretch}"
116+
FontStyle="{TemplateBinding FontStyle}"
117+
FontWeight="{TemplateBinding FontWeight}"
118+
Foreground="{TemplateBinding Foreground}"
119+
IsChecked="{Binding IsExpanded, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
120+
Style="{StaticResource ExpanderHeaderRightArrowStyle}" />
121+
<Border x:Name="ContentPresenterBorder" BorderThickness="0,1,0,0"
122+
BorderBrush="{DynamicResource Color03B}">
123+
<ContentPresenter
124+
x:Name="ExpandSite"
125+
Margin="{TemplateBinding Padding}"
126+
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
127+
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
128+
DockPanel.Dock="Bottom"
129+
Focusable="false" />
130+
<Border.LayoutTransform>
131+
<ScaleTransform ScaleY="0" />
132+
</Border.LayoutTransform>
133+
</Border>
134+
</DockPanel>
135+
</Border>
136+
<ControlTemplate.Triggers>
137+
<Trigger Property="IsExpanded" Value="true">
138+
<Setter TargetName="ExpandSite" Property="Visibility" Value="Visible" />
139+
<Setter TargetName="ContentPresenterBorder" Property="BorderThickness" Value="0 1 0 0" />
140+
<Trigger.EnterActions>
141+
<BeginStoryboard>
142+
<Storyboard>
143+
<DoubleAnimation
144+
Storyboard.TargetName="ContentPresenterBorder"
145+
Storyboard.TargetProperty="(Border.LayoutTransform).(ScaleTransform.ScaleY)"
146+
From="0.0" To="1.0" Duration="0:0:0" />
147+
<DoubleAnimation
148+
Storyboard.TargetName="ContentPresenterBorder"
149+
Storyboard.TargetProperty="(Border.Opacity)"
150+
From="0.0" To="1.0" Duration="0:0:0" />
151+
</Storyboard>
152+
</BeginStoryboard>
153+
</Trigger.EnterActions>
154+
<Trigger.ExitActions>
155+
<BeginStoryboard>
156+
<Storyboard>
157+
<DoubleAnimation
158+
Storyboard.TargetName="ContentPresenterBorder"
159+
Storyboard.TargetProperty="(Border.LayoutTransform).(ScaleTransform.ScaleY)"
160+
From="1.0" To="0.0" Duration="0:0:0" />
161+
<DoubleAnimation
162+
Storyboard.TargetName="ContentPresenterBorder"
163+
Storyboard.TargetProperty="(Border.Opacity)"
164+
From="1.0" To="0.0" Duration="0:0:0" />
165+
</Storyboard>
166+
</BeginStoryboard>
167+
</Trigger.ExitActions>
168+
</Trigger>
169+
</ControlTemplate.Triggers>
170+
</ControlTemplate>
93171
</Setter.Value>
94172
</Setter>
95-
<Setter Property="BorderBrush" Value="{DynamicResource Color03B}" />
96-
<Setter Property="BorderThickness" Value="0 0 0 1" />
97-
<Setter Property="Background" Value="{DynamicResource Color00B}" />
98-
<Setter Property="Padding" Value="20 5 20 10" />
99-
<!-- Adjusted padding for content -->
100173
</Style>
101174
</UserControl.Resources>
102175

0 commit comments

Comments
 (0)