* Start of new dogbone dressup
* Added Instruction and tangents support for G2/3 moves
* Added Maneuver class to represent a set of moves and process them coherently
* Created kinks and verify their creation.
* Added dogbone detection and verification
* Simplified gcode strings
* Added horizontal t-bones generation
* Added support for vertical t-bone
* Consolidated t-bone creation
* Added support for pathLength
* Added support for tbone on short edge
* Added support for long edges
* Added support for dogbones
* Fixed dogbone for non-horizontal lead-in
* Horizontal bone adaptive length tests
* Fixed dogbone angle and adaptive length
* Some code cleanup
* Added adaptive length tests for dogbones
* Split base data classes into their own PathLanguage module.
* Splitting dogboneII implementation into its constituents
* Moved adaptive length into DogbonII module
* Separate dogboneII generator test cases and changed interface to allow for dynamic length calculations
* Unit tests for length calculation
* Initial DogboneII unit test
* Unit tests and fixes for plunge move handling
* Unit tests for the remaining styles and incision strategies
* Basic DogboneII gui
* Added support for markers
* Better color and selection scheme for markers
* Cleaned up import statements
* Added DogboneII to Path WB init
* Support for dogbone on dogbone and fixed t-bone generation
* Fixed t-bone on short leg bones
* Fixed tbone on short edge when short edge is m1
* Fixed t-bone on long edge for m0/m1 and CW/CCW
* Removed redundant code
* Removed redundant 'Dress-up' from menu entries
* black code formatting
* added generator to cmake
* Fixed typos
* Explicitly include some missing headers
* Use 'static const char*' for XPM icon
* Skip template parameters for qMakePair
* Constructor of QFileInfo is marked as 'explicit' now
* QString::fromLatin1() also accepts a QByteArray
* QDateTime::fromTime_t() is deprecated in Qt5 and has been removed in Qt6. Use QDateTime::fromSecsSinceEpoch()
* QDateTime::toTime_t() is deprecated in Qt5 and has been removed in Qt6. Use QDateTime::toSecsSinceEpoch()
* QApplication::globalStrut() is deprecated. Don't use it any more.
* QWidget::isTopLevel() is deprecated, use QWidget::isWindow()
* 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
Removes the BUILD_QT5 flag and adds a new FREECAD_QT_VERSION option,
which can be set to either "Auto" (default), 5, or 6. Auto detects which
version of Qt is installed on the system and chooses it. If both version
are installed, Qt5 is used.
Note that this DOES NOT implement compiling against Qt6, it only adds
the necessary cMake infrastructure to begin work on the source code
changes that will be required.