Commit Graph

248 Commits

Author SHA1 Message Date
Uwe
4223e5d84d [skip CI] [Spreadsheet] change misleading word in dialog 2022-06-06 01:26:29 +02:00
Uwe
7955c0dfac [Spreadsheet] dialog fixes
- fixes to tooltips
- add 2 labels to make the dialog logic more clear
- remove non-functional help button
2022-06-06 00:46:42 +02:00
Yorik van Havre
e8f1bde367 Merged crowdin translations 2022-06-03 11:26:35 +02:00
Chris Hennes
34502193a2 i18n: Update TS files to ensure Python files are included 2022-06-02 14:57:49 -05:00
Chris Hennes
d540de8bee i18n: TS files generated by lupdate 6.4.0dev 2022-06-02 13:41:37 -05:00
Chris Hennes
2d5400f923 Sketcher: Fix typo in tooltip 2022-06-02 12:47:30 -05:00
Yorik van Havre
d3d96816ce Merged crowdin translations 2022-05-30 10:01:02 +02:00
Yorik van Havre
8676d67a87 merged crowdin translations 2022-05-28 12:16:47 +02:00
Yorik van Havre
1e034cc47f Merged crowdin translations 2022-05-27 11:28:55 +02:00
Kuzemko Alexsandr
b903e949ae Update .ts with lupdate ver 6.4.0. 2022-05-23 16:53:07 +02:00
wmayer
f5cf112f48 Spreadsheet: fix possible crash in SheetModel::setData
See also: https://forum.freecadweb.org/viewtopic.php?f=8&t=68529
2022-05-21 04:07:00 +02:00
Zheng, Lei
d926331e57 Spreadsheet: fix extra row or column when printing
If there is only one single row or column in the table
2022-05-06 08:40:11 -05:00
Zheng, Lei
6d6af2dd3b Spreadsheet: add new API PropertySheet::getNonEmptyCells()
To exclude cells without any text content. Used when printing (among
other cases) to skip empty cells.
2022-05-06 08:40:11 -05:00
Yorik van Havre
0680ad5558 Merged crowdin translations 2022-05-05 15:46:09 +02:00
Yorik van Havre
ab5a6d83a1 Updated ts files 2022-05-05 15:20:57 +02:00
Yorik van Havre
a4a0d11eca Merged crowdin translations 2022-04-21 14:18:33 +02:00
0penBrain
2066946c29 Sheet: use wrapper function to clarify intention 2022-04-15 12:14:55 -05:00
0penBrain
e2e91cdafa Sheet: enable Merge action only if at least 2 cells are selected
Both main menu and context menu
2022-04-15 12:14:55 -05:00
0penBrain
384f56fe65 Sheet: enable Split action only if only one merged cell is selected
Both main menu and context menu
 Partially fixes #6744
2022-04-15 12:14:55 -05:00
0penBrain
4f75f86a93 Sheet: update commands status when selection is changed
Notice it doesn't cover the case of the context menu actions
 Partially fixes #6744
2022-04-15 12:14:55 -05:00
Yorik van Havre
35bb6278ea merged crowdin translations 2022-04-13 13:47:06 +02:00
Chris Hennes
bb11c74565 Spreadsheet: PR4556 Step 3: sort QGridLayout by row-col 2022-03-28 10:43:22 -05:00
Chris Hennes
a9679d54c1 Spreadsheet: PR4556 Step 2: remove native=true 2022-03-28 10:43:21 -05:00
wmayer
5bab6fb189 Spreadsheet: include header with export macros 2022-03-24 20:51:48 +01:00
wmayer
97330443a2 All: modernize C++11
* replace deprecated headers
2022-03-23 22:44:18 +01:00
wmayer
2c229d3bc0 Spreadsheet: modernize C++11
* use nullptr
2022-03-23 19:26:14 +01:00
Uwe
66e8a2bef3 [Spreadsheet] remove Python.h and Xerces 2022-03-20 20:44:17 +01:00
Yorik van Havre
6efe74a554 Merged crowdin translations 2022-03-14 12:21:01 +01:00
wmayer
0054cbddaa Fix coverity issue:
* CID 332682: Resource leak
* CID 350607: Resource leak
* CID 332677: Resource leak
2022-03-14 11:35:04 +01:00
Uwe
bda12907de [Gui] rename the Qt header list 2022-03-07 20:35:38 +01:00
wmayer
1ca7429705 Gui: Optimize includes to reduce compile time 2022-03-07 20:29:18 +01:00
wmayer
58a719e207 Base: move ILogger sub-classes to their own source files in order to reduce including stream classes in client code 2022-03-06 10:13:47 +01:00
wmayer
95c70e7f4c App: use forward declarations 2022-03-04 21:09:46 +01:00
andrea reale
5d5f31725d Code clean 2022-03-02 18:55:10 +01:00
Uwe
b4fff07d9e [App] Expression and Extension: remove unused includes 2022-02-25 18:06:57 +01:00
Zheng, Lei
bfb9d342d9 Spreadsheet: fix auto completer triggering 2022-02-20 22:09:07 -06:00
Yorik van Havre
19b89b1085 Merged crowdin translations 2022-02-14 12:31:57 +01:00
Yorik van Havre
b3e2c87530 Merged crowdin translations 2022-01-26 14:15:14 +01:00
wmayer
f147986fa9 App: Bugfix for NULL-Pointer dereference of Property->getName() 2022-01-16 14:30:51 +01:00
Yorik van Havre
e33ef084ff Merged crowdin translations 2022-01-10 11:23:59 +01:00
wmayer
26f9e7869f App: replace three boolean of CellAddress::toString() with a bitmask of enums 2022-01-09 10:39:54 +01:00
Mark Ganson TheMarkster
8d6ff3c07b [Spreadsheet] Use DontUseNativeColorDialog parameter when using QtCol… (#5326)
* [Spreadsheet] Use DontUseNativeColorDialog parameter when using QtColorDialog::getColor()
2022-01-05 12:23:14 +01:00
Chris Hennes
4098c88171 [Spreadsheet] Use stylesheet for alias color
When setting the text color for an invalid alias, use the Qt stylesheeet
mechanism rather than QPalette, so that it works correctly with
an applied QSS stylesheeet. Also attempt to detect a darkmode stylesheet
and use lighter shade of red so that the alias is more legible. Finally,
instead of explicitly setting the text color to black when it's valid,
reset to the original stylesheet (usually an empty string). This ensures
that in a dark stylesheet the text color is legible.

Fixes #0004803.
2021-12-29 21:49:00 -06:00
Yorik van Havre
6cb3782c03 Merged crowdin translations 2021-12-29 12:20:12 +01:00
Zheng, Lei
0029f3206d Spreadsheet: improve copy/cut/paste cells
Add color bound around user copy/cut ranges. Do not touch Spreadsheet
object when cutting, only do so when pasting.
2021-12-21 21:41:02 -07:00
Zheng, Lei
bd201c82ce Spreadsheet: add menu action 'Configuration table...'
To make it easy for user to create dynamically switchable configuration
tables using spreadsheet.
2021-12-21 21:41:02 -07:00
Chris Hennes
79cda0a1b7 Spreadsheet: Compilation fixes for cherry-picked commits 2021-12-21 21:41:02 -07:00
Zheng, Lei
68fca40983 Spreadsheet: support cell binding
Cell binding allows one to bind a range of cells of one sheet to another
range of cells of an arbitary sheet, including any empty cells in the
range.

The binding is implemented with PropertyExpressionEngine and
PropertySheet::setPathValue(), which binds a special path of
PropertySheet, such as

    .cells.Bind.A1.D1

to an expression, such as

     tuple(.cells, <<A2>>, <<A5>>)

The A1 and D1 in the example above specifies the binding start and end
cell address. And <<A2>> and <<A5>> are the range of cells to bind to.
Note that you can use any expression that evalutes to string for the
binding destination, e.g. <<A%d>> % B1, which uses the value inside B1
to construct the binding destination. The '.cells' in the tuple shown
above is an example to bind cells of the same PropertySheet. It can be
change to to reference to any other spreadsheet, even those outside the
current document, e.g. Document#Spreadsheet001.cells
2021-12-21 21:41:02 -07:00
Zheng, Lei
3d1b9f5c90 Spreadsheet: support paste into cell range
For single range copy, the range selection when pasting determines the
start cell and the number of duplications.

For example, when copying a range A1:B2 (i.e. a 2x2 square) and pasting
into a selection of C1:C5 (i.e. a 5x1 vertical line), the square will be
duplicated once in horizontal, but twice in vertical, resulting new
cells range from C1:D4. This logic is borrowed from google sheet.

For multi-ranged copy, no multi duplication is intended. If more than
one selection range exists before pasting, only the top left cell of
the last selected range is used to determine the starting cell for
pasting. The cells will be copied with the exact cell layout keeping any
empty cells in between. This logic is different from google sheet, where
it disallows unalligned multi-ranged copy, and will condense and
eliminate any empty cells for aligned multi-range copy.
2021-12-21 21:41:02 -07:00
Mateusz Skowroński
a2b6f55d17 Fix Qt deprecation warning. QPrinter::setOrientation() is obsolete. 2021-12-11 18:46:29 +01:00