wmayer
e4d1ed8366
Base: rename BaseExceptionFreeCADError to PyExc_FC_GeneralError
2022-03-17 14:45:48 +01:00
wmayer
1f12dca2b4
Py: replace BaseExceptionFreeCADError with more suitable exception types
2022-03-17 13:54:23 +01:00
wmayer
6e5feb5ccc
App: change base types of some exceptions and raise XML exceptions in MetadataPy::PyInit
2022-03-17 11:43:59 +01:00
wmayer
a90a39a4c9
Base: add more custom Python exception types
2022-03-17 11:29:09 +01:00
wmayer
0f9768fb33
Fix coverity issue:
...
* CID 332682: Resource leak
* CID 350607: Resource leak
* CID 332677: Resource leak
2022-03-14 11:35:04 +01:00
wmayer
91e4e468dd
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
7a551a82f3
[App] remove header
...
slipped in with previous commit but will be part of a PR
2022-03-02 01:53:28 +01:00
Uwe
71d6e43d54
[Base] some sorting and cleanup
2022-03-02 01:51:05 +01:00
Uwe
d3473523d2
[App] Application: remove unused includes
...
- also sort the includes
2022-02-22 13:17:07 +01:00
wmayer
659a55ffb9
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
546a243ad9
App: fix doxygen typo
2021-12-30 01:09:10 +01:00
wmayer
dcb0c4c75f
App: workaround for boost's file_lock with version < 1.76 on Windows
2021-12-20 16:08:47 +01:00
Chris Hennes
aab7cb408c
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
33fa183392
App: [skip ci] improve importing a Python module when passed as program argument
2021-12-01 13:34:24 +01:00
wmayer
3be18613e4
App: remove code to copy user config from old to new location
2021-11-24 19:11:34 +01:00
wmayer
1c6b7cca9d
App: save version number of the most important libraries
2021-11-23 12:55:49 +01:00
wmayer
387661360c
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
fde9663c24
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
873d79d3b5
App: [skip ci] add program option --keep-deprecated-paths to keep old path names
2021-11-11 14:04:40 +01:00
wmayer
e32f841264
App: fix issue 0002956
2021-11-11 13:51:14 +01:00
wmayer
0b75d53676
App: code cleanup
2021-11-10 18:33:26 +01:00
wmayer
68be996d57
App: add a CMake test to check if C runtime provides backtrace symbols
2021-11-09 14:16:12 +01:00
wmayer
c83ada98d6
App: add new config key UserConfigPath to store the path to the config files
2021-11-09 13:46:26 +01:00
wmayer
55afa21ba1
App: issue 0002956: implement XDG_CACHE_HOME
2021-11-09 00:20:55 +01:00
wmayer
a9b7506007
App: further code refactoring in Application::ExtractUserPath()
2021-11-08 22:17:06 +01:00
wmayer
b32b908eae
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
dbd3e8784a
App: code refactoring in Application::ExtractUserPath()
2021-11-08 16:17:08 +01:00
wmayer
ae0198ea0a
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
f36126770c
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
c349e78f45
Minor code change according to suggestions
2021-10-30 12:30:45 +08:00
Zheng, Lei
ba4c992eaa
App: use enum in API Application::getDocumentByPath()
2021-10-30 11:03:55 +08:00
Zheng, Lei
ad9ad30c00
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
c74d2b8dd5
App: add class PropertyRotation
2021-10-29 12:40:32 +02:00
wmayer
a261249217
App: replace ctime() with boost's date/time functions in Application::logStatus()
2021-09-30 19:50:19 +02:00
0penBrain
1061773d56
[Core] exit() can prevent core dumping, use abort() instead on debug mode
2021-08-18 18:12:31 +02:00
wmayer
f9a54c3385
Py3: fixes #0004081 : Abillity to show console output when running under Python
2021-04-01 17:51:10 +02:00
wmayer
acbb604a16
App: use std::wstring_convert instead of QString to encode/decode unicode/utf-8
2021-03-29 16:19:13 +02:00
wmayer
6c01302a19
Gui: fix unicode handling of path names on Windows
2021-03-29 15:41:13 +02:00
Benjamin Nauck
dbc4611bb2
App: Refactor win appData setup with boost::filesystem
2021-03-29 15:03:41 +02:00
Benjamin Nauck
a7e6171e49
App: Refactor *nix appData setup with boost::filesystem
2021-03-29 15:02:49 +02:00
Benjamin Nauck
c431672e87
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
3788105210
[Core] Remove deprecated code for 0.20
2021-03-07 08:44:57 +01:00
wmayer
c243741296
Gui: [skip ci] re-add removed Py_INCREF of module
2021-02-27 11:13:30 +01:00
wmayer
dd4dd204d0
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
luz paz
84553bf191
App: Fix header uniformity, trailing whitespace, and doxygen headers
2020-11-19 13:38:37 +01:00
wmayer
f0aba7a561
MSVC: [skip ci] make working with C++17 compiler
2020-11-09 16:13:34 +01:00
Priit Laes
d6b8725b34
build: boost: Drop branches requiring boost-1.46
2020-10-13 12:56:28 +02:00
Priit Laes
6cc4d8aec2
build: boost: Drop boost-1.44-specific checks
2020-10-13 12:56:28 +02:00
Chrismettal
a33a1f184d
Seed randomizer on application init
2020-10-12 19:10:06 +02:00
wmayer
f55f7f040a
Python: [skip ci] expose Python types in their corresponding modules
2020-09-21 15:04:26 +02:00