Commit Graph

20 Commits

Author SHA1 Message Date
Chris Hennes
8aa22d1a68 [Spreadsheet] Refactor keyboard handling
LineEdit no longer actually handles motion, it simply indicates which
action was taken to cause it to lose focus (e.g. which key was pressed).
It's up to the client code to determine what this means. This allows
significant consolidation of keyboard-handling logic, and the
implementation of more extensive keyboard navigation features.

New keyboard shortcuts include a tab counter to implement auto-return,
plus Ctrl->Arrow, End, Home, Ctrl-End, and Ctrl-Home, matching the
behavior of OpenOffice, LibreOffice, etc.

Block selection via keyboard has also been added by holding down the
shift key during navigation with the arrow keys (this also works in
combination with the Ctrl modifier for region navigation).
2021-10-08 14:55:39 -05:00
Benjamin Nauck
b690a69973 [Spreadsheet] Remove alias from dynamic properties on removeRows/Columns
When removing a row in a spreadsheet which has an assigned alias, the
alias will not be removed from the list of dynamic properties.

This makes it impossible to create a new alias which uses the same name
even if the original was removed (using removeRows/removeColumns)

Fixes #4492
2021-01-04 22:10:58 +01:00
luz paz
068997112c Spreadsheet: Make all file headers uniform [skip-ci] 2020-11-03 14:52:53 +01:00
Cheuksan Wang
a178990acb Move the aliases before other content of cells
When a user performs insert rows, remove rows, insert columns, or
remove rows, we need to move multiple cells as a batch. The cells are
moved sequentially. For each cell, its dependent alias positions are
looked up and dependencies are added.  However, those cells with
aliases may be moved later in the batch. Thus the earlier dependencies
become wrong. This commit fixes this bug by moving all the aliases
before moving the cells. Unit tests are added to for this bug.

fixes issue #4429
2020-09-13 11:58:54 +02:00
wmayer
6c94ed51ab PVS: V690 The copy constructor is declared as private in the 'PropertySheet' class, but the default copy assignment operator will still be generated by compiler. It is dangerous to use such a class. 2020-07-18 10:59:28 +02:00
wmayer
9760ea62cd Fix clang compiler warnings:
+ fix -Winconsistent-missing-override
2019-08-17 19:53:21 +02:00
Zheng, Lei
b4751145b4 Spreadsheet: convert PropertySheet to link type property
PropertySheet is changed to derive from PropertyExpressionContainer,
which makes it a link type property that is capable of external linking.
It now relies on the unified link property API to manage object
depenency, and tracking of object life time, relabeling, etc.

This patch also includes various fix and improvement of Spreadsheet,
such as improved recompute efficiency, correct handling of document
label change, etc.
2019-08-17 14:52:09 +02:00
Eivind Kvedalen
ae111d11b5 Spreadsheet: Removed own expression parser and instead use the one in App. 2016-04-02 12:01:04 +02:00
Eivind Kvedalen
8c8e2c15ab Spreadsheet: Override DocumentObject::renameObjectIdentifiers() to get better renaming support. 2016-02-18 16:54:42 +01:00
Eivind Kvedalen
7da5451028 Spreadsheet: Refactored code to use AtomicPropertyChangeInterface. 2016-02-18 16:54:40 +01:00
Eivind Kvedalen
ec3076f034 Spreadsheet: Refactored alias checking code, so GUI and Python error messages are aligned. 2016-02-18 16:54:39 +01:00
Eivind Kvedalen
dafdc6b591 Spreadsheet: Issue #2402: Added functionality to get cell address given an alias. 2016-01-26 10:52:00 +01:00
Eivind Kvedalen
522328b378 Spreadsheet: Expressions using a spreadsheet cell address are now correctly renamed when rows/columns are removed/inserted. 2015-10-11 09:41:16 +02:00
Eivind Kvedalen
e39578c742 Spreadsheet: Replaced own Expression classed by the ones in App. 2015-09-21 14:51:11 +02:00
Eivind Kvedalen
91942cc30f Spreadsheet: Updated documentation. 2015-09-21 14:51:02 +02:00
Eivind Kvedalen
b65af55fc1 Spreadsheet: Fixed bug with dangling pointer when a document object is deleted. 2015-09-21 14:51:01 +02:00
Alexander Golubev
c31c3a41da Mod/Spreadsheet: fix yet another warning (potentialy harmful)
Warning was -Woverloaded-virtual
2015-08-29 18:36:02 +02:00
Eivind Kvedalen
b4dc4d97f4 - Self-reference bug
- Refactoring/clean-up of code
- Dependency tracking of aliased cells
- Various resolution errors
- Rewriting of ranges when columns/rows are inserted/removed
- References to aliases keep their units.
2015-03-04 22:18:20 +01:00
Eivind Kvedalen
f57ea14ac8 Spreadsheet: docDeps property was not properly maintained, resulting in spurious links to other objects. 2015-02-17 11:46:12 +01:00
Eivind Kvedalen
935ec5b034 Initial implementation of Spreadsheet module (C++ version) by Eivind Kvedalen.
Various fixes for Windows by
Peter Lama <peterldev94@gmail.com>
Werner Mayer <wmayer@users.sourceforge.net>
2015-02-13 21:53:58 +01:00