Skip to content

Commit d2f14aa

Browse files
authored
feat: Extend DetailsLayout editing element width (#7445)
1 parent aa44ab2 commit d2f14aa

File tree

2 files changed

+34
-4
lines changed

2 files changed

+34
-4
lines changed

src/Files/Views/LayoutModes/DetailsLayoutBrowser.xaml

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -618,10 +618,11 @@
618618

619619
<Grid
620620
Grid.Column="1"
621-
Width="{Binding ColumnsViewModel.NameColumn.LengthIncludingGridSplitter.Value, ElementName=PageRoot, Mode=OneWay}"
621+
MinWidth="{Binding ColumnsViewModel.NameColumn.LengthIncludingGridSplitter.Value, ElementName=PageRoot, Mode=OneWay}"
622622
Padding="12,0,0,0"
623623
HorizontalAlignment="Left"
624-
VerticalAlignment="Center">
624+
VerticalAlignment="Center"
625+
Canvas.ZIndex="6">
625626
<Grid.ColumnDefinitions>
626627
<ColumnDefinition Width="*" />
627628
<ColumnDefinition Width="Auto" />
@@ -633,9 +634,15 @@
633634
TextTrimming="CharacterEllipsis" />
634635
<TextBox
635636
x:Name="ItemNameTextBox"
637+
MaxWidth="{Binding MaxWidthForRenameTextbox, ElementName=PageRoot, Mode=OneWay}"
638+
HorizontalAlignment="Left"
636639
VerticalAlignment="Center"
637640
TextChanged="ListViewTextBoxItemName_TextChanged"
638-
Visibility="Collapsed" />
641+
Visibility="Collapsed">
642+
<TextBox.Resources>
643+
<SolidColorBrush x:Key="TextControlBackgroundFocused" Color="{ThemeResource SolidBackgroundFillColorSecondary}" />
644+
</TextBox.Resources>
645+
</TextBox>
639646
<Ellipse
640647
Grid.Column="1"
641648
Width="12"

src/Files/Views/LayoutModes/DetailsLayoutBrowser.xaml.cs

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,21 @@ public ColumnsViewModel ColumnsViewModel
4545
}
4646
}
4747

48+
private double maxWidthForRenameTextbox;
49+
50+
public double MaxWidthForRenameTextbox
51+
{
52+
get => maxWidthForRenameTextbox;
53+
set
54+
{
55+
if (value != maxWidthForRenameTextbox)
56+
{
57+
maxWidthForRenameTextbox = value;
58+
NotifyPropertyChanged(nameof(MaxWidthForRenameTextbox));
59+
}
60+
}
61+
}
62+
4863
private RelayCommand<string> UpdateSortOptionsCommand { get; set; }
4964

5065
public ScrollViewer ContentScroller { get; private set; }
@@ -211,7 +226,8 @@ protected override void OnNavigatedTo(NavigationEventArgs eventArgs)
211226
IsTypeCloudDrive = InstanceViewModel.IsPageTypeCloudDrive,
212227
IsTypeRecycleBin = InstanceViewModel.IsPageTypeRecycleBin
213228
});
214-
ColumnsViewModel.SetDesiredSize(RootGrid.ActualWidth - 80);
229+
230+
RootGrid_SizeChanged(null, null);
215231
}
216232

217233
private void FolderSettings_SortOptionPreferenceUpdated(object sender, SortOption e)
@@ -331,6 +347,7 @@ override public void StartRenameItem()
331347
OldItemName = textBlock.Text;
332348
textBlock.Visibility = Visibility.Collapsed;
333349
textBox.Visibility = Visibility.Visible;
350+
Grid.SetColumnSpan(textBox.FindParent<Grid>(), 8);
334351

335352
textBox.Focus(FocusState.Pointer);
336353
textBox.LostFocus += RenameTextBox_LostFocus;
@@ -399,6 +416,11 @@ private async void CommitRename(TextBox textBox)
399416

400417
private void EndRename(TextBox textBox)
401418
{
419+
if (textBox != null)
420+
{
421+
Grid.SetColumnSpan(textBox.FindParent<Grid>(), 1);
422+
}
423+
402424
ListViewItem listViewItem = FileList.ContainerFromItem(RenamingItem) as ListViewItem;
403425
if (textBox == null || listViewItem == null)
404426
{
@@ -677,6 +699,7 @@ private void UpdateColumnLayout()
677699
private void RootGrid_SizeChanged(object sender, SizeChangedEventArgs e)
678700
{
679701
ColumnsViewModel.SetDesiredSize(RootGrid.ActualWidth - 80);
702+
MaxWidthForRenameTextbox = RootGrid.ActualWidth - 80;
680703
}
681704

682705
private void GridSplitter_ManipulationCompleted(object sender, ManipulationCompletedRoutedEventArgs e)

0 commit comments

Comments
 (0)