Skip to content

Commit a3addc1

Browse files
committed
Basic IconsLayout
1 parent 87d8437 commit a3addc1

2 files changed

Lines changed: 126 additions & 1 deletion

File tree

src/UniGetUI/Pages/SoftwarePages/AbstractPackagesPage.xaml

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -320,6 +320,121 @@
320320
</Grid>
321321
</widgets:PackageItemContainer>
322322
</DataTemplate>
323+
324+
<DataTemplate x:Key="PackageTemplate_Icons" x:DataType="pkgClasses:PackageWrapper">
325+
<widgets:PackageItemContainer
326+
AutomationProperties.Name="{x:Bind Package.AutomationName}"
327+
Background="{ThemeResource ControlFillColorDefaultBrush}"
328+
CornerRadius="4"
329+
DoubleTapped="PackageItemContainer_DoubleTapped"
330+
Package="{x:Bind Package}"
331+
PreviewKeyDown="PackageItemContainer_PreviewKeyDown"
332+
RightTapped="PackageItemContainer_RightTapped"
333+
Wrapper="{x:Bind Self}">
334+
335+
<Grid
336+
Padding="4,4,4,4"
337+
HorizontalAlignment="Stretch"
338+
Opacity="{x:Bind ListedOpacity, Mode=OneWay}"
339+
RowSpacing="4">
340+
<Grid.RowDefinitions>
341+
<RowDefinition Height="Auto" />
342+
<RowDefinition Height="Auto" />
343+
<RowDefinition Height="Auto" MaxHeight="12" />
344+
<RowDefinition Height="Auto" MaxHeight="12" />
345+
</Grid.RowDefinitions>
346+
<Grid.ColumnDefinitions>
347+
<ColumnDefinition Width="*" />
348+
</Grid.ColumnDefinitions>
349+
350+
<!-- Regular or package icon -->
351+
<widgets:LocalIcon
352+
Grid.Row="1"
353+
Height="64"
354+
Margin="0,-8,0,8"
355+
HorizontalAlignment="Center"
356+
VerticalAlignment="Center"
357+
FontSize="74"
358+
FontWeight="ExtraLight"
359+
Icon="Package"
360+
ToolTipService.ToolTip="{x:Bind ListedNameTooltip, Mode=OneWay}"
361+
Visibility="{x:Bind ShowDefaultPackageIcon, Mode=OneWay}" />
362+
363+
<Image
364+
Grid.Row="1"
365+
Width="64"
366+
Height="64"
367+
Margin="0,-8,0,8"
368+
HorizontalAlignment="Center"
369+
VerticalAlignment="Center"
370+
Source="{x:Bind MainIconSource, Mode=OneWay}"
371+
ToolTipService.ToolTip="{x:Bind ListedNameTooltip, Mode=OneWay}"
372+
Visibility="{x:Bind ShowCustomPackageIcon, Mode=OneWay}" />
373+
374+
<widgets:LocalIcon
375+
Grid.Row="1"
376+
Margin="0,0,-4,-2"
377+
HorizontalAlignment="Right"
378+
VerticalAlignment="Bottom"
379+
FontSize="30"
380+
FontWeight="ExtraLight"
381+
Foreground="{ThemeResource AccentAAFillColorTertiaryBrush}"
382+
Icon="{x:Bind AlternateIconId, Mode=OneWay}"
383+
ToolTipService.ToolTip="{x:Bind ListedNameTooltip, Mode=OneWay}"
384+
Visibility="{x:Bind AlternateIdIconVisible, Mode=OneWay}" />
385+
386+
<widgets:LocalIcon
387+
Grid.Row="1"
388+
Margin="0,0,-4,-2"
389+
HorizontalAlignment="Right"
390+
VerticalAlignment="Bottom"
391+
FontSize="30"
392+
FontWeight="ExtraLight"
393+
Icon="{x:Bind MainIconId, Mode=OneWay}"
394+
ToolTipService.ToolTip="{x:Bind ListedNameTooltip, Mode=OneWay}"
395+
Visibility="{x:Bind AlternateIdIconVisible, Mode=OneWay}" />
396+
397+
<CheckBox
398+
Grid.Row="0"
399+
Margin="1,-4,0,0"
400+
HorizontalAlignment="Left"
401+
VerticalAlignment="Top"
402+
IsChecked="{x:Bind IsChecked, Mode=TwoWay}" />
403+
<Button
404+
Grid.Row="0"
405+
Width="22"
406+
Height="22"
407+
Padding="0"
408+
HorizontalAlignment="Right"
409+
VerticalAlignment="Top"
410+
Background="Transparent"
411+
BorderThickness="0"
412+
Click="{x:Bind RightClick}"
413+
Tapped="ContextMenuButton_Tapped">
414+
<SymbolIcon Symbol="More" />
415+
</Button>
416+
417+
<TextBlock
418+
Grid.Row="2"
419+
HorizontalAlignment="Center"
420+
FontFamily="Segoe UI Variable Text"
421+
FontSize="13"
422+
FontWeight="SemiBold"
423+
Text="{x:Bind Package.Name}"
424+
TextWrapping="Wrap"
425+
ToolTipService.ToolTip="{x:Bind ListedNameTooltip, Mode=OneWay}" />
426+
427+
<TextBlock
428+
Grid.Row="3"
429+
HorizontalAlignment="Center"
430+
FontFamily="Segoe UI Variable Text"
431+
FontSize="11"
432+
Opacity="0.5"
433+
Text="{x:Bind VersionComboString, Mode=OneWay}"
434+
ToolTipService.ToolTip="{x:Bind Package.VersionString}" />
435+
</Grid>
436+
</widgets:PackageItemContainer>
437+
</DataTemplate>
323438
</Page.Resources>
324439

325440
<Grid Padding="0" BorderThickness="0">

src/UniGetUI/Pages/SoftwarePages/AbstractPackagesPage.xaml.cs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1230,6 +1230,16 @@ private void LoadListLayout()
12301230
PackageList.ItemTemplate = (DataTemplate)this.Resources["PackageTemplate_List"];
12311231
PackageList.Layout = new StackLayout() { Spacing = 3 };
12321232
}
1233+
private void LoadIconsLayout()
1234+
{
1235+
PackageList.ItemTemplate = (DataTemplate)this.Resources["PackageTemplate_Icons"];
1236+
PackageList.Layout = new UniformGridLayout()
1237+
{
1238+
ItemsStretch = UniformGridLayoutItemsStretch.Fill,
1239+
MinColumnSpacing = 8,
1240+
MinRowSpacing = 8,
1241+
};
1242+
}
12331243

12341244
private void LoadGridLayout()
12351245
{
@@ -1252,7 +1262,7 @@ private void ViewModeSelector_SelectionChanged(object sender, SelectionChangedEv
12521262
else if (ViewModeSelector.SelectedIndex == 1)
12531263
LoadGridLayout();
12541264
else if (ViewModeSelector.SelectedIndex == 2)
1255-
LoadGridLayout();
1265+
LoadIconsLayout();
12561266
}
12571267

12581268
FrameworkElement _lastContextMenuButtonTapped = null;

0 commit comments

Comments
 (0)