Skip to content

Commit 6d7f6cc

Browse files
committed
Fix #148: Improve UX, delete is only enabled if all selected cells can be cleared.
1 parent e5a3894 commit 6d7f6cc

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

ResXManager.View/Tools/ExtensionMethods.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,10 @@ public static bool IsItemInvariant(this DataGridCellInfo info)
132132
public static bool IsOfColumnType(this DataGridCellInfo cell, [NotNull] params ColumnType[] columnTypes)
133133
{
134134
Contract.Requires(columnTypes != null);
135-
return columnTypes.Any(columnType => columnType == (cell.Column?.Header as ILanguageColumnHeader)?.ColumnType);
135+
136+
var cellColumnType = (cell.Column?.Header as ILanguageColumnHeader)?.ColumnType;
137+
138+
return columnTypes.Any(columnType => columnType == cellColumnType);
136139
}
137140

138141
}

ResXManager.View/Visuals/ResourceViewModel.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -223,8 +223,10 @@ private bool CanDelete([CanBeNull] DataGrid dataGrid)
223223
if (dataGrid == null)
224224
return false;
225225

226-
return (dataGrid.SelectionUnit == DataGridSelectionUnit.CellOrRowHeader) && dataGrid.SelectedCells.Any(cellInfo => cellInfo.IsOfColumnType(ColumnType.Comment, ColumnType.Language))
227-
|| SelectedTableEntries.Any();
226+
if (dataGrid.SelectionUnit == DataGridSelectionUnit.CellOrRowHeader)
227+
return dataGrid.SelectedCells.All(cellInfo => cellInfo.IsOfColumnType(ColumnType.Comment, ColumnType.Language));
228+
229+
return SelectedTableEntries.Any();
228230
}
229231

230232
private bool CanCut()

0 commit comments

Comments
 (0)