Commit Graph

233 Commits

Author SHA1 Message Date
wmayer
af0a014cf2 Qt6 port:
* QApplication::setFallbackSessionManagementEnabled has been removed
* QString::medRef() has been removed. Use QString::mid() again.
* QTextStream::setCodec has been removed
* Use operator QVariant of the QFont class to make code Qt5 and Qt6 compatible
* Signature of QTreeWidget::mimeData() has changed in Qt6. Remove TreeWidget::mimeData() because it doesn't change the implementation
* QLayout::setMargin() is deprecated in Qt5 and has been removed in Qt6. Use QLayout::setContentsMargins()
* QDateTime::toTime_t() is deprecated in Qt5 and has been removed in Qt6. Use QDateTime::toSecsSinceEpoch()
* QDesktopWidget is deprecated in Qt5 and has been removed in Qt6. Use QScreen
2022-11-01 16:55:40 +01:00
wmayer
4e643dcec3 Gui: refactor and modernize code of Placement dialog 2022-10-27 00:28:55 +02:00
wmayer
1143275cec Gui: [skip ci] include header 2022-10-25 22:21:19 +02:00
wmayer
c5a7654285 Gui: create modal dialog on the heap if its parent widget is used in the property editor
For more details see: https://forum.freecadweb.org/viewtopic.php?f=23&t=70655
2022-10-22 18:36:52 +02:00
wmayer
4f6f600a1f Gui: [skip ci] refactor PropertyModel::buildUp 2022-10-21 02:24:42 +02:00
wmayer
9ba9599629 Gui: ignore recursive call of PropertyView::onTimer() 2022-10-20 23:00:50 +02:00
wmayer
fba6a718eb Gui: [skip ci] whitespace improvements 2022-10-20 21:26:53 +02:00
wmayer
841044a00a Gui: [skip ci] do not change link property when canceling dialog 2022-10-08 18:57:59 +02:00
marioalexis
0382f276a2 Gui: Replace C cast 2022-09-18 11:06:51 -05:00
berniev
75acacd1b7 Gui: Use auto and range-based for (#7481)
* On lines where the variable type is obvious from inspection, avoid repeating the type using auto. 
* When possible use a ranged for loop instead of begin() and end() iterators
2022-09-14 13:25:13 -05:00
0penBrain
285fc1065f [Bugfix]Gui: allow set up expression even if property value is currently being edited 2022-09-11 22:01:26 +02:00
wmayer
ba8d5ab055 Gui: modernize C++: replace 'typedef' with 'using' 2022-08-29 14:09:18 +02:00
berniev
a909df7f39 Gui: Single arg ctors must be explicit (PR #7369) 2022-08-24 15:06:03 +02:00
berniev
0c70d45c83 Gui: Use override etc 2 2022-08-09 12:43:23 +02:00
berniev
d88729d2c4 Gui: use empty 2022-08-06 16:35:45 +02:00
Uwe
3811685826 [Gui] [skip CI] PropertyItem: some .clang spacing uniformication
- automatically done by MSVC
2022-07-30 15:32:08 +02:00
wmayer
6ee2c7f865 Fix several clazy issues:
* C++11 range-loop might detach Qt container [-Wclazy-range-loop-detach]
2022-07-24 23:48:37 +02:00
wmayer
36a6f9e2fc Fix several clazy issue:
* Use multi-arg instead [-Wclazy-qstring-arg]
* Use an empty QLatin1String instead of an empty QStringLiteral [-Wclazy-empty-qstringliteral]
* getter Gui::ProgressBar::canAbort possibly mismarked as a slot [-Wclazy-const-signal-or-slot]
* Missing emit keyword on signal call [-Wclazy-incorrect-emit]
2022-07-24 20:07:04 +02:00
wmayer
3b0b7775f4 Fix several clazy issues:
* Q_PROPERTY should have either NOTIFY or CONSTANT [-Wclazy-qproperty-without-notify]
* Use Q_ENUM instead of Q_ENUMS [-Wclazy-qenums]
* Add missing a Q_OBJECT macro [-Wclazy-missing-qobject-macro]
* Signal/Slot arguments need to be fully-qualified [-Wclazy-fully-qualified-moc-types]
2022-07-24 19:03:30 +02:00
Uwe
1d95c26e2e [Gui] remove more superfluous nullptr checks 2022-07-18 03:34:22 +02:00
wmayer
b548d3b1ef Partially revert "Remove unused code into GUI" 2022-07-17 12:32:03 +02:00
andrea
3018985f80 Remove unused code into GUI 2022-07-17 03:53:11 +02:00
wmayer
d5921e08ec fix (Qt) issues found by clang's clazy tool:
+ -Wclazy-incorrect-emit
+ -Wclazy-strict-iterators
+ -Wclazy-overloaded-signal
+ -Wclazy-qstring-arg
+ -Wclazy-unused-non-trivial-variable
+ -Wclazy-container-anti-pattern
+ -Wclazy-range-loop-reference
+ -Wclazy-const-signal-or-slot
+ -Wclazy-detaching-temporary
+ -Wclazy-qfileinfo-exists
2022-06-29 21:00:54 +02:00
wmayer
7db925d991 App: fix memory leaks in Enumeration class and simplify code 2022-06-25 18:18:57 +02:00
Zheng, Lei
85d3abeb8b Gui: put private class to anonymous namespace 2022-04-04 04:53:52 +02:00
Zheng, Lei
03976ff333 Code change according to suggestion 2022-04-04 04:53:52 +02:00
Zheng, Lei
801ece560e Gui: fix property enumeration editor initialization 2022-04-04 04:53:52 +02:00
Zheng, Lei
1433ff166d Gui: support auto grouping editing for PropertyEnumeration
The PropertyEnumeration editor (PropertyEnumItem) will check for
separator characeter '|' in enumeration items to auto create
hierarchical groups of items using sub-menus for user to select.
2022-04-04 04:53:52 +02:00
wmayer
96adb98f46 Gui: modernize C++11
* use nullptr
2022-03-23 18:41:21 +01:00
wmayer
0347f6f91b Gui: fixes #6583: FreeCAD 0.20 crashes when attempting to change template in TechDraw
For more details see also: https://forum.freecadweb.org/viewtopic.php?p=579530#p579530
2022-03-16 08:47:56 +01:00
Uwe
c4f5628899 [Gui] So headers: remove unused includes
- also sort out some headers to be used in precompiled headers
- also move a boost header to precompiled headers
2022-03-16 02:01:32 +01:00
wmayer
2dc78804b6 Core: Fix several coverity issues:
* CID 350582: Big parameter passed by value
* CID 350639: Big parameter passed by value
* CID 305234: Uncaught exception
* CID 316529: Uncaught exception
* CID 350597: Uncaught exception
* CID 350623: Uncaught exception
* CID 332690: Uncaught exception
* CID 332700: Unchecked return value
* CID 350576: Uninitialized scalar field
* CID 350587: Uninitialized scalar variable
* CID 192606: Uninitialized scalar field
* CID 332699: Uninitialized pointer field
* CID 350561: Dereference null return value
* CID 350610: Dereference null return value
* CID 350567: Dereference after null check
2022-03-13 13:53:32 +01:00
Zheng, Lei
c5a0db5e47 Gui: fix crash on editing PropertyVectorList in property view 2022-03-10 15:31:45 +01:00
Zheng, Lei
b00a8aa056 Gui: fix property view synchronization of property status 2022-03-06 13:20:08 -05:00
wmayer
4ae1ca58d1 App: use forward declaration to reduce compile time 2022-03-04 17:27:53 +01:00
Uwe
57fe294c3e [Gui] PropertyEditor: remove unused includes 2022-03-03 03:59:48 +01:00
wmayer
de56e1b6d8 Gui: cleanup of PR #5516
* instead of breaking encapsulation of PropertyItem apply the attorney idiom
* refactoring of PropertyItemDelegate::createEditor by moving the code to PropertyItem::createPropertyEditorWidget
2022-03-01 17:19:12 +01:00
wmayer
9955c64752 Mod: add string header to dxf.h 2022-03-01 17:18:29 +01:00
Zheng, Lei
75dd3d6533 Gui: add missing PropertyItemDelegate::eventFilter()
For handling focus change when editing property
2022-02-25 12:17:17 +01:00
Noah
d0b0756cbf Gui: fix use of deprecated Qt::TextColorRole
Qt::TextColorRole (enum ItemDataRole) is deprecated as of Qt 5.13 and will be removed in Qt 6:

- https://code.qt.io/cgit/qt/qtbase.git/tree/src/corelib/global/qnamespace.h?h=v5.13.0#n1511

It's replaced with `Qt::ForegroundRole` which is available since at least Qt 5.0 (FreeCAD 0.20 will require Qt 5.9 or later).

- https://code.qt.io/cgit/qt/qtbase.git/tree/src/corelib/global/qnamespace.h?h=v5.0.0#n1374
- https://wiki.freecadweb.org/0.20_Development_Cycle
2022-02-23 17:53:33 +01:00
wmayer
a8d17ae270 Gui: fix warning -Wunused-parameter
The function PropertyEditor::recomputeDocument() accepts a pointer to App::Document that is passed by the calling instance closeTransaction().
Since this is the active document there is no need for PropertyEditor::recomputeDocument() to ignore the argument and determine the active document again.
2022-02-21 15:41:28 +01:00
Zheng Lei
b42462ba14 Gui: improve PropertyEditor refresh (#3535)
* Gui: fix PropertyView 'Add property' action

* Gui: fix property view font color for linked property

* Gui: improve PropertyEditor refresh

* Gui: show real property name in property view tool tip

* Gui: improve property view tool tip

* Gui: fix auto recompute in property view

* Gui: remove duplicated PropertyModel signal of dataChanged()

* Gui: fix property view update on property change
Including changes in document properties

* Gui: fix transaction closing on property editor change
On editing row removal and on model reset.

* Gui: fix property view auto expansion of previous selected item

* Gui: improve property editor navigation using tab/shift+tab
2022-02-21 12:26:21 +01:00
Mateusz Skowroński
2f7b919671 Qt::TextColorRole is obsolete. Use ForegroundRole instead. 2022-01-27 14:37:50 -06:00
Zheng, Lei
ccf10b8867 Minor code changes according to suggestions 2021-12-21 21:41:02 -07:00
Zheng, Lei
a9895e4f04 Gui: expose 'Expression...' property editor menu action
For expression binding of all type of property. Previously this action
is only available if 'Show all' is activated.
2021-12-21 21:41:02 -07:00
Zheng, Lei
4f29e81d0c App: support CopyOnChange property in Link
New property status bit 'CopyOnChange' is added for any document object
to publish any property as a 'Configuration' option. When Link is
linked to any object with such property, it will duplicate those
properties and added it Link itself as dynamic properties. If the user
changes any of these dynamic properties, the Link will auto copy the
linked to object and apply the new configuration to it.

The Link has a new property 'LinkCopyOnChange' to allow user to
enable/disable this feature.

Spreadsheet's 'Configuration Table' feature will publish its
configuration property with 'CopyOnChange'.

Currently, once the linked object is copied, it will be independent with
the original object. There is no mechanism to auto sync changes back to
the copy.
2021-12-21 21:41:02 -07:00
Zheng, Lei
1f604ec632 Gui: fix property view linked property highlight 2021-12-21 21:41:02 -07:00
Zheng, Lei
b76509bfea Gui: handle exception in property item display 2021-12-21 21:41:02 -07:00
Zheng, Lei
8cf3cf330b App/Gui: allow change dynamic property group and documentation
Exposed as PropertyContainerPy.setGroup/DocumentationOfProperty.

Added a menu action to property view for rename dynamic property group.
2021-11-14 20:45:09 -06:00
Zheng, Lei
72ae26dfee App/Gui: improve expression binding of PropertyEnumeration
The enumeration items are exposed through sub path '.Enum'. When
'ShowAll' is enabled in property view, this sub path is exposed as a
sub property item named 'Enum', and can be either manually edited or
bound with an expression.
2021-11-14 20:45:09 -06:00