Commit Graph

1267 Commits

Author SHA1 Message Date
Yorik van Havre
d95f085760 Merge pull request #4787 from chennes/addThemeSupport
[GUI] Add Preference Pack support
2021-10-14 12:41:06 +02:00
Zheng, Lei
413a822a07 App: add signalChanged to Property
For more efficient tracking of single property changes
2021-10-12 15:47:50 -05:00
Zheng, Lei
2c6f621721 App: add expression built-in function str()
...for stringify
2021-10-12 13:42:10 -05:00
wmayer
7b45d63bf2 App: use consistent spelling of SubElement 2021-10-06 18:09:53 +02:00
wmayer
b6d90bf575 App: [skip ci] make Matrix a dynamic attribute of ComplexGeoDataPy 2021-10-05 19:18:12 +02:00
wmayer
32592de8ce App: expose methods of ComplexGeoData to Python 2021-10-05 12:43:28 +02:00
wmayer
a6d93e2d5e App: [skip ci] add overloaded constructor of DocumentObjectT 2021-10-02 07:05:37 +02:00
wmayer
0c62c22554 App: replace ctime() with boost's date/time functions in Application::logStatus() 2021-09-30 19:50:19 +02:00
wmayer
ca05fc678b App: correctly handle UTF-8 encoded path names under Windows 2021-09-29 13:47:29 +02:00
Ajinkya Dahale
b7ea205c70 [App] Fix regression introduced by PR #4996
Files opened by running `freecad xxxx.FCStd` or similar relative paths could not
be saved because of new code introduced to create parent directories. See
https://github.com/FreeCAD/FreeCAD/pull/4996#issuecomment-922370077 and
https://forum.freecadweb.org/viewtopic.php?f=13&t=62319&p=534156#p534156.

This commit resolves the issue by ensuring the parent path is absolute while
saving. We would probably like to make sure the file name is itself stored with
absolute path, but there's a few problems
1. There may be other occurences where files are loaded with relative paths. So
having a check here is a good idea.
2. Files opened by `freecad xxxx.FCStd` somehow don't have the issue where
renaming parent directory throws an exception on save. Instead the file is saved
in the new location.
2021-09-29 13:35:02 +02:00
Chris Hennes
b432592fb2 Merge branch 'master' into addThemeSupport 2021-09-24 07:51:04 -05:00
wmayer
52c4ad941b App: add comment for clarification 2021-09-23 18:51:41 +02:00
wmayer
bfe7a7a120 App: make evalExpression() a class method of DocumentObject 2021-09-23 15:31:15 +02:00
Yorik van Havre
b8a4d1e07e Merge pull request #4800 from heewa/abort-save-when-unable-to-finish
App: Abort save when unable to finish
2021-09-20 10:47:57 +02:00
Chris Hennes
6780ded233 [App] Fix LGTM warning decl hides param 2021-09-19 12:31:24 -05:00
wmayer
ef0e303235 App: handle empty, . or .. as parent directory 2021-09-19 18:06:47 +02:00
Chris Hennes
186548da6c [App] LGTM fix - rename loop variable
LGTM complains that the use of "obj" as the loop variable here hides the
parameter "obj". To silence the warning, rename the loop variable.
2021-09-18 23:18:51 -05:00
Preslav
d7ac25e3cf Ammending stiffness units 2021-09-17 11:08:08 +02:00
Ajinkya Dahale
820e88f95b [Core] (Partially?) Fix data loss on dir rename (#4996)
* Fix lost filename in err msg

In some circumstances, FileExceptions are constructed empty, then have a
filename assigned to them, but the error message in these scenarios is
left as the default "unknown" one, which is sometimes shown to users.
This change fixes that case to be consistent with instances that are
constructed with the filename.

The exception can happen when trying to save the file in a location that does
not exist, or when the user does not have permission to write there. If it
comes when saving after closing the document, all previous changes can be lost.

Partially fixes issue #4098.

Co-authored-by: Heewa Barfchin <heewa.b@gmail.com>
2021-09-16 12:06:29 -05:00
wmayer
40d2955c66 Base: split export/import macros from FCConfig.h and move them to FCGlobal.h
The FCGlobal.h can be included in a Global.h header file of an extension module.

The reason is that some IDEs (e.g. QtCreator) fails to detect the export/import macros when only defined in the PreCompiled.h files and thus raise a parser warning.
2021-09-14 16:40:30 +02:00
Chris Hennes
27042d210f Merge branch 'master' into addThemeSupport 2021-08-19 09:51:12 -05:00
0penBrain
f976699bdf [Core] exit() can prevent core dumping, use abort() instead on debug mode 2021-08-18 18:12:31 +02:00
Yorik van Havre
cbdac756a8 Merge pull request #4963 from Helios113/stiffness
Base: Adding stiffness units
2021-08-18 10:04:46 +02:00
Preslav
4ab37fc0ca Added stiffness units to FreeCAD [mN/m, N/m, kN/m, MN/m] 2021-08-16 12:27:41 +01:00
Zheng, Lei
54171f6b04 App: fix LinkMode enforcement in Link on restore 2021-08-01 16:36:12 +08:00
Heewa Barfchin
7e11c7bd50 App: Abort save when unable to finish
In these two cases, the project's file will not contain the latest
changes, so returning as if the save is complete is incorrect and can
lead to data loss (such as on app quit).
2021-05-18 11:20:00 -04:00
Chris Hennes
30fd2ce5b8 [App] Add metadata handling class 2021-05-13 09:08:28 -05:00
wmayer
b69ef38c7f allow to enable PCH for gcc and clang 2021-05-03 17:37:58 +02:00
wmayer
44e82ac3c4 App: remove some more deprecated Py2 code
and remove deprecated void from function signature and replace 0 or NULL with nullptr
2021-04-26 10:55:56 +02:00
wmayer
3ed720dcd3 App: [skip ci] fix memory leaks:
Found two memory leaks in class Enumeration
* method tearDown() always ignored to free the memory of the first element
* assignment operator didn't call tearDown() when needed
2021-04-25 21:58:24 +02:00
luz paz
fc6d1292d1 App: remove Py2 code from several src/App .cpp files 2021-04-19 15:27:06 +02:00
wmayer
377b01b4b4 Py3: fixes #0004081: Abillity to show console output when running under Python 2021-04-01 17:51:10 +02:00
wmayer
4bec60cc78 App: use std::wstring_convert instead of QString to encode/decode unicode/utf-8 2021-03-29 16:19:13 +02:00
wmayer
e1dd20db0c Gui: fix unicode handling of path names on Windows 2021-03-29 15:41:13 +02:00
Benjamin Nauck
f410aae48c App: Refactor win appData setup with boost::filesystem 2021-03-29 15:03:41 +02:00
Benjamin Nauck
66d39ecbb7 App: Refactor *nix appData setup with boost::filesystem 2021-03-29 15:02:49 +02:00
Benjamin Nauck
00d749601c App: Refactor mac appData setup with boost::filesystem
This will make it easier to add support for migration when moving
appData from `Library/Preferences` to `Library/Application Support`.
2021-03-29 15:02:36 +02:00
wmayer
d158c50c48 App: [skip ci] rename class to PropertyLinkT 2021-03-29 01:16:04 +02:00
wmayer
545b4f20db App: [skip ci] add class PropertyListT 2021-03-29 00:47:38 +02:00
wmayer
e825148cf4 App: add system32 to Python's search paths 2021-03-27 13:05:03 +01:00
donovaly
bcc669b930 [Base] add electrical conductivity
- this is necessary to perform electrodynamics simulations. Since the typical values are in the range of 1e6 S/m, we need the new units kS and MS

- since this is for simulations, also add electrical conductivity to the FEM material cards
2021-03-25 17:13:52 +01:00
Chris Hennes
52ed707b0e [Core] Remove deprecated code for 0.20 2021-03-07 08:44:57 +01:00
Benjamin Nauck
a7f0d0112e [App] Use std::shared_ptr instead of boost::shared_ptr
There's no need to use boost version when stl has support for shared_ptr
2021-03-06 19:32:03 +01:00
Benjamin Nauck
7ee7e60310 [App] Switch from boost::tuple to std::tuple
It's better to use the standard lib when possible
2021-03-06 19:31:06 +01:00
wmayer
3779aadd7c App: in document observer classes replace boost::bind with std::bind to fix build failure with C++17 2021-03-05 13:26:26 +01:00
wmayer
48b42f8355 App: add convenience methods to get minimum, maximum and step size of property constraints 2021-03-03 08:12:03 +01:00
wmayer
bd755b654b Gui: [skip ci] re-add removed Py_INCREF of module 2021-02-27 11:13:30 +01:00
wmayer
df0f979f3b App/Gui: fix memory leaks:
+ add function to cleanup units and quantities in debug build
+ fix reference leak in PropertyVector::getPyPathValue()
+ fix reference leak in PropertyPlacement::getPyPathValue()
+ in InterpreterSingleton::init() use a static std::vector<wchar_t*> instead of a C array
  to free memory at program end
+ in MainWindow::closeEvent() explicitly delete all task watchers
+ in ReportOutputObserver constructor pass parent to QObject
+ in PropertyEditor destructor explicitly delete QItemEditorFactory
2021-02-27 10:56:19 +01:00
wmayer
5d5d05616f App: [skip ci] AddressSanitizer: heap-use-after-free
When removing a dynamic property its myName member must be nullified as the memory has been de-allocated
2021-02-27 02:21:14 +01:00
wmayer
7cf4d4b01e App: [skip ci] AddressSanitizer: heap-use-after-free
In Document::removeObject() do not access object after it has been possibly deleted
2021-02-23 14:30:00 +01:00