Skip to content

Commit 92d8d7e

Browse files
gave92yaira2
andauthored
Fix renaming files with long names in GridViewBrowser (#898)
Co-authored-by: Yair Aichenbaum <[email protected]>
1 parent bbc1665 commit 92d8d7e

File tree

2 files changed

+53
-26
lines changed

2 files changed

+53
-26
lines changed

Files/UserControls/LayoutModes/GridViewBrowser.xaml

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -389,24 +389,28 @@
389389
</Viewbox>
390390
</Grid>
391391
</Grid>
392-
<StackPanel Grid.Row="1">
393-
<TextBlock
394-
Margin="0,0,0,10"
395-
HorizontalAlignment="Stretch"
396-
VerticalAlignment="Stretch"
397-
HorizontalTextAlignment="Center"
398-
Text="{x:Bind ItemName}"
399-
TextTrimming="CharacterEllipsis"
400-
TextWrapping="NoWrap" />
392+
<TextBlock
393+
Grid.Row="1"
394+
Margin="0,0,0,10"
395+
HorizontalAlignment="Stretch"
396+
VerticalAlignment="Stretch"
397+
HorizontalTextAlignment="Center"
398+
Text="{x:Bind ItemName}"
399+
TextTrimming="CharacterEllipsis"
400+
TextWrapping="NoWrap" />
401+
<Popup
402+
x:Name="EditPopup"
403+
Grid.Row="1"
404+
x:Load="False">
401405
<TextBox
406+
Width="{x:Bind local:App.AppSettings.GridViewSize, Mode=OneWay}"
402407
Margin="0"
403408
HorizontalAlignment="Stretch"
404409
VerticalAlignment="Stretch"
405410
Text="{x:Bind ItemName}"
406411
TextAlignment="Center"
407-
TextWrapping="Wrap"
408-
Visibility="Collapsed" />
409-
</StackPanel>
412+
TextWrapping="Wrap" />
413+
</Popup>
410414
</Grid>
411415
</DataTemplate>
412416

@@ -545,9 +549,9 @@
545549
</Grid.KeyboardAccelerators>
546550
<muxc:ProgressBar
547551
x:Name="progBar"
552+
VerticalAlignment="Top"
548553
x:Load="{x:Bind local:App.InteractionViewModel.IsContentLoadingIndicatorVisible, Mode=OneWay}"
549554
Background="Transparent"
550-
VerticalAlignment="Top"
551555
IsIndeterminate="True" />
552556
<TextBlock
553557
x:Name="EmptyText"

Files/UserControls/LayoutModes/GridViewBrowser.xaml.cs

Lines changed: 36 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using Windows.UI.Core;
77
using Windows.UI.Xaml;
88
using Windows.UI.Xaml.Controls;
9+
using Windows.UI.Xaml.Controls.Primitives;
910
using Windows.UI.Xaml.Input;
1011
using Interaction = Files.Interacts.Interaction;
1112

@@ -138,21 +139,33 @@ private void FileList_SelectionChanged(object sender, SelectionChangedEventArgs
138139
public override void StartRenameItem()
139140
{
140141
renamingItem = SelectedItem;
142+
int extensionLength = renamingItem.FileExtension?.Length ?? 0;
141143
GridViewItem gridViewItem = FileList.ContainerFromItem(renamingItem) as GridViewItem;
144+
TextBox textBox = null;
145+
142146
// Handle layout differences between tiles browser and photo album
143-
StackPanel stackPanel = (App.AppSettings.LayoutMode == 2)
144-
? (gridViewItem.ContentTemplateRoot as Grid).Children[1] as StackPanel
145-
: (((gridViewItem.ContentTemplateRoot as Grid).Children[0] as StackPanel).Children[1] as Grid).Children[0] as StackPanel;
146-
TextBlock textBlock = stackPanel.Children[0] as TextBlock;
147-
TextBox textBox = stackPanel.Children[1] as TextBox;
148-
int extensionLength = renamingItem.FileExtension?.Length ?? 0;
147+
if (App.AppSettings.LayoutMode == 2)
148+
{
149+
Popup popup = (gridViewItem.ContentTemplateRoot as Grid).FindName("EditPopup") as Popup;
150+
TextBlock textBlock = (gridViewItem.ContentTemplateRoot as Grid).Children[1] as TextBlock;
151+
textBox = popup.Child as TextBox;
152+
popup.IsOpen = true;
153+
}
154+
else
155+
{
156+
StackPanel stackPanel =
157+
(((gridViewItem.ContentTemplateRoot as Grid).Children[0] as StackPanel).Children[1] as Grid).Children[0] as StackPanel;
158+
TextBlock textBlock = stackPanel.Children[0] as TextBlock;
159+
textBox = stackPanel.Children[1] as TextBox;
160+
textBlock.Visibility = Visibility.Collapsed;
161+
textBox.Visibility = Visibility.Visible;
162+
}
149163

150-
textBlock.Visibility = Visibility.Collapsed;
151-
textBox.Visibility = Visibility.Visible;
152164
textBox.Focus(FocusState.Pointer);
153165
textBox.LostFocus += RenameTextBox_LostFocus;
154166
textBox.KeyDown += RenameTextBox_KeyDown;
155167
textBox.Select(0, renamingItem.ItemName.Length - extensionLength);
168+
156169
isRenamingItem = true;
157170
}
158171

@@ -219,12 +232,22 @@ private async void CommitRename(TextBox textBox)
219232

220233
private void EndRename(TextBox textBox)
221234
{
222-
StackPanel parentPanel = textBox.Parent as StackPanel;
223-
TextBlock textBlock = parentPanel.Children[0] as TextBlock;
224-
textBox.Visibility = Visibility.Collapsed;
225-
textBlock.Visibility = Visibility.Visible;
235+
if (App.AppSettings.LayoutMode == 2)
236+
{
237+
Popup popup = (textBox.Parent) as Popup;
238+
TextBlock textBlock = (popup.Parent as Grid).Children[1] as TextBlock;
239+
popup.IsOpen = false;
240+
}
241+
else
242+
{
243+
StackPanel parentPanel = textBox.Parent as StackPanel;
244+
TextBlock textBlock = parentPanel.Children[0] as TextBlock;
245+
textBox.Visibility = Visibility.Collapsed;
246+
textBlock.Visibility = Visibility.Visible;
247+
}
248+
226249
textBox.LostFocus -= RenameTextBox_LostFocus;
227-
textBox.KeyDown += RenameTextBox_KeyDown;
250+
textBox.KeyDown -= RenameTextBox_KeyDown;
228251
isRenamingItem = false;
229252
}
230253

0 commit comments

Comments
 (0)