"Professional CMake" book suggest the following:
"Targets should build successfully with or without compiler support for precompiled headers. It
should be considered an optimization, not a requirement. In particular, do not explicitly include a
precompile header (e.g. stdafx.h) in the source code, let CMake force-include an automatically
generated precompile header on the compiler command line instead. This is more portable across
the major compilers and is likely to be easier to maintain. It will also avoid warnings being
generated from certain code checking tools like iwyu (include what you use)."
Therefore, removed the "#include <PreCompiled.h>" from sources, also
there is no need for the "#ifdef _PreComp_" anymore
"Professional CMake" book suggest the following:
"Targets should build successfully with or without compiler support for precompiled headers. It
should be considered an optimization, not a requirement. In particular, do not explicitly include a
precompile header (e.g. stdafx.h) in the source code, let CMake force-include an automatically
generated precompile header on the compiler command line instead. This is more portable across
the major compilers and is likely to be easier to maintain. It will also avoid warnings being
generated from certain code checking tools like iwyu (include what you use)."
Therefore, removed the "#include <PreCompiled.h>" from sources, also
there is no need for the "#ifdef _PreComp_" anymore
Currently if user tries to use CTRL+A on Report View while having
document opened, it rejects the action and nothing happens.
This happened during the introduction of Select All (CTRL+A) behavior in
Sketcher. Basically, before Report View was not catching the event, but
neither any widget, resulting in QTextEdit catching it at the end of the
chain. Now, after enabling it for the whole document,
Report View rejected it, but we have registered it throughout the
document, so another widget was intercepting the event.
So, fix for that is simple - add a check for Select All shortcut on
Report View level, so the event will get consumed instead of being
rejected and propagated to further widgets.
* Sketcher: Coin resize when screen change. Fix#23267
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Update ViewProviderSketch.cpp
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Fix B-spline keyboard focus issue (#23859)
- Restore keyboard focus after command restart in changeConstructionMethode()
- Fixes M key mode switching and R toggle periodic functionality
- Uses direct MDI view focus restoration instead of private ensureFocus() method
Fixes issue where keyboard shortcuts stop working after first mode switch.
* Address Copilot feedback: Add null check for activeDocument()
- Use ternary operator for cleaner null safety
- Prevents potential crash if activeDocument() returns null
- More idiomatic C++ code style
* Improve variable scope per @chennes feedback
- Use if-with-initialization to scope doc and mdi variables
- Variables now only exist where needed instead of leaking into function scope
- More idiomatic C++ code style
* Sketcher: Bspline tool: prevent double click failure
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Update DrawSketchHandlerBSpline.h
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Sketcher: Fix Freeze in Offset with too large negative value
* Remove ErrorMessages when offsetting circles with too large negative value
* fix linting comment
* Add Error feedback
---------
Co-authored-by: Matthias Danner <28687794+matthiasdanner@users.noreply.github.com>
Based on review comment, a small refactoring of code that was duplicated
when adding functionality to select documents. The duplication has been
removed in this commit.
* Mesh: give evaluation panel a title
Fixes: https://github.com/FreeCAD/FreeCAD/issues/23395
* Mesh: Evaluation panel - move refresh button beside selection box
as per request in pull request #23423
* Mesh: replace ampersand with 'and' in Evaluate and Repair dialog
only 4 of these warnings are still relevant, CMake shall be used to disable them
Compiler definitions:
NOMINMAX:
* is already globally defined in SetGlobalCompilerAndLinkerSettings.cmake
WIN32_LEAN_AND_MEAN:
* use CMake target_compile_options on relevant targets
Warnings that still occur:
C4251, C4273, C4275: all related to dllimport / export
* use CMake target_compile_options on relevant targets
C4661: no suitable definition provied for explicit template instantiation request
* triggered in Mesh because of Vector3D in Base - not all functions are defined in header
* use CMake target_compile_options on relevant targets
Warnings that are Currently not triggered (fix code if they appear again):
C4005: macro redefinition
C4244: argument conversion, possible loss of data
C4267: conversion from size_t to type, possible loss of data
C4305: truncation from type1 to type2
* only occurrence disabled in Reader.cpp
C4522: multiple assignment operator specified
C5208: unnamed class in typedef name
Obsolete Compiler warnings:
C4181: not mentioned in Microsoft docs anymore
C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
* throw(optional_type_list) deprecated in C++17
C4482: nonstandard extension used: enum 'enumeration' used in qualified name
* not generated for compilers that support C++11
C4503: 'identifier': decorated name length exceeded, name was truncated
* obsolete since Visual Studio 2017
C4786: not mentioned in Microsoft docs anymore
* missing includes in Base, App and Gui headers
header should be self contained
* use cstddef header instead of stddef.h
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
---------
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
* Make default postprocessor empty string.
Default post when creating a job is now not set. This will cause the user to be prompted for a post instead
This PR also cleans up some unit tests to avoid loading from disk
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
- Add missing U (rounded corners) and J (frame) hints to ThreePoints method
- Add missing U (rounded corners) and J (frame) hints to CenterAnd3Points method
- Now all four construction methods show consistent keyboard shortcut hints
- Addresses Copilot feedback on PR
- M key for switching between Fillet and Chamfer modes
- U key for toggling preserve corner option
- Hints are shown in all states (SeekFirst, SeekSecond, End)
- Addresses issue #23815 for missing keyboard shortcuts in hints
- Control Points mode: U/J for degree control (+ degree, - degree)
- Knots mode: R for periodic toggle
- Hints are now context-aware based on construction method
- Addresses issue #23815 for missing keyboard shortcuts in hints
- Add switchModeHint constant with M key
- Include mode shortcut in all arc slot states (SeekFirst through SeekFourth)
- Addresses issue #23815 for missing keyboard shortcuts in hints
- Add roundedCornersHint and frameHint constants
- Include U and J shortcuts in all rectangle construction method states
- Addresses issue #23815 for missing keyboard shortcuts in hints
* Sketcher: Update DrawSketchHandlerSymmetry.h
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>