Commit Graph

271 Commits

Author SHA1 Message Date
wmayer
6bc65bdd99 Mod: issue #6274: Source code installation failed 2022-04-18 12:27:09 +02:00
wmayer
9fcf5faf69 App: in verbose mode print used library versions 2022-03-31 16:33:00 +02:00
Uwe
d286b52b57 [App] add property for electric potentials
- in preparation to fix the electrostatic simulation mess
2022-03-26 01:39:32 +01:00
wmayer
97330443a2 All: modernize C++11
* replace deprecated headers
2022-03-23 22:44:18 +01:00
wmayer
749361d2f3 App: modernize C++11
* use nullptr
2022-03-23 17:29:23 +01:00
wmayer
25bae6343b App: use static functions of FileInfo to convert between path and string 2022-03-19 13:57:24 +01:00
wmayer
9160f06e1c Base: rename BaseExceptionFreeCADError to PyExc_FC_GeneralError 2022-03-17 14:45:48 +01:00
wmayer
d69defaa3c Py: replace BaseExceptionFreeCADError with more suitable exception types 2022-03-17 13:54:23 +01:00
wmayer
11895f8d59 App: change base types of some exceptions and raise XML exceptions in MetadataPy::PyInit 2022-03-17 11:43:59 +01:00
wmayer
10a13c6dbc Base: add more custom Python exception types 2022-03-17 11:29:09 +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
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
Uwe
8a9ee1951b [App] remove header
slipped in with previous commit but will be part of a PR
2022-03-02 01:53:28 +01:00
Uwe
a5c838fefc [Base] some sorting and cleanup 2022-03-02 01:51:05 +01:00
Uwe
4ed705903b [App] Application: remove unused includes
- also sort the includes
2022-02-22 13:17:07 +01:00
wmayer
31e2e95203 Base: Exception handling:
* Harmonize FreeCAD with Python exception types
* Implement AbortException::getPyExceptionType() to avoid handling it in client code
* Remove catch block for plain C strings
2022-01-19 18:00:04 +01:00
luz paz
7b3c3e6ca3 App: fix doxygen typo 2021-12-30 01:09:10 +01:00
wmayer
97cc44b889 App: workaround for boost's file_lock with version < 1.76 on Windows 2021-12-20 16:08:47 +01:00
Chris Hennes
1844a0161e Core: Modify metadata Python handling to use dict
Rather than trying to use a generic Py::Object and assigning properties
to it, use a Py::Dict object for simple data structures like Url,
Maintainer, and Author.

Update metadata standard to include subdirectory
2021-12-18 20:29:42 -06:00
wmayer
5e16fffc20 App: [skip ci] improve importing a Python module when passed as program argument 2021-12-01 13:34:24 +01:00
wmayer
fea1d3558b App: remove code to copy user config from old to new location 2021-11-24 19:11:34 +01:00
wmayer
7f50605c61 App: save version number of the most important libraries 2021-11-23 12:55:49 +01:00
wmayer
d5726bd7af App: standard path handling
* distinguish between temp and cache location
* document's transident directory is created in the cache location
* add functions to access temp and cache location via Python
2021-11-15 16:26:25 +01:00
wmayer
6da7749233 App: do not raise an exception if application data directory doesn't exist because this breaks the CI tests
Instead try to create the directories and throw an exception if this fails.
2021-11-12 10:17:35 +01:00
wmayer
a545fb6741 App: [skip ci] add program option --keep-deprecated-paths to keep old path names 2021-11-11 14:04:40 +01:00
wmayer
e7e2994ba0 App: fix issue 0002956 2021-11-11 13:51:14 +01:00
wmayer
d86a73f07e App: code cleanup 2021-11-10 18:33:26 +01:00
wmayer
84182deff0 App: add a CMake test to check if C runtime provides backtrace symbols 2021-11-09 14:16:12 +01:00
wmayer
5ad8bed9c4 App: add new config key UserConfigPath to store the path to the config files 2021-11-09 13:46:26 +01:00
wmayer
2cc5707571 App: issue 0002956: implement XDG_CACHE_HOME 2021-11-09 00:20:55 +01:00
wmayer
d244df4f79 App: further code refactoring in Application::ExtractUserPath() 2021-11-08 22:17:06 +01:00
wmayer
7375be66ad App: keep custom user data path as is if FREECAD_USER_HOME or FREECAD_USER_DATA is set 2021-11-08 18:28:02 +01:00
wmayer
ab1220b663 App: code refactoring in Application::ExtractUserPath() 2021-11-08 16:17:08 +01:00
wmayer
11c5954ebf App: split Application::ParseOptions into two functions
to simplify handling of options that should be processed before determining user directories
2021-11-08 11:10:13 +01:00
wmayer
09da245af9 App: harmonize API of App::Application
* make getHomePath() static and return a std::string
* make getExecutableName() static and return a std::string
2021-11-04 10:50:09 +01:00
Zheng, Lei
a2fb4a5d6d Minor code change according to suggestions 2021-10-30 12:30:45 +08:00
Zheng, Lei
9885dadfff App: use enum in API Application::getDocumentByPath() 2021-10-30 11:03:55 +08:00
Zheng, Lei
fc9d3547ad App: fix external document loading
The problem happens when partial loading is enabled. If document A
contains a link to some object in document B, it will load B as partial
document with only that object and its necessary dependencies. But if
document A contains another link to some object in document C which also
has a link to some object in document B, the link in document C may not
be restored, because document B is partially loaded without the linked
object. This patch will check for this case and reload document B for
more objects.

See an example reported in
https://forum.freecadweb.org/viewtopic.php?p=495078#p495078
2021-10-30 11:03:52 +08:00
wmayer
16ae568549 App: add class PropertyRotation 2021-10-29 12:40:32 +02:00
wmayer
0c62c22554 App: replace ctime() with boost's date/time functions in Application::logStatus() 2021-09-30 19:50:19 +02:00
0penBrain
f976699bdf [Core] exit() can prevent core dumping, use abort() instead on debug mode 2021-08-18 18:12:31 +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
Chris Hennes
52ed707b0e [Core] Remove deprecated code for 0.20 2021-03-07 08:44:57 +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