Spreadsheet: Allow copying from one cell to many

This simply fils the target selection with the source cell.
Fixes #4010.
This commit is contained in:
AnotherTest 2020-11-23 16:21:41 +03:30 committed by Andreas Kling
parent 48d8534967
commit 3bafef0b15
Notes: sideshowbarker 2024-07-19 01:16:25 +09:00

View file

@ -299,6 +299,18 @@ void Sheet::copy_cells(Vector<Position> from, Vector<Position> to, Optional<Posi
return;
}
if (from.size() == 1) {
// Fill the target selection with the single cell.
auto& source = from.first();
for (auto& position : to) {
#ifdef COPY_DEBUG
dbg() << "Paste from '" << source.to_url() << "' to '" << position.to_url() << "'";
#endif
copy_to(source, resolve_relative_to.has_value() ? offset_relative_to(position, source, resolve_relative_to.value()) : position);
}
return;
}
// Just disallow misaligned copies.
dbg() << "Cannot copy " << from.size() << " cells to " << to.size() << " cells";
}