diff --git a/extra/freecad/.SRCINFO b/extra/freecad/.SRCINFO
index 9ba242340..681d08df9 100644
--- a/extra/freecad/.SRCINFO
+++ b/extra/freecad/.SRCINFO
@@ -1,7 +1,7 @@
 pkgbase = freecad
 	pkgdesc = Feature based parametric 3D CAD modeler
 	pkgver = 0.21.2
-	pkgrel = 17
+	pkgrel = 19
 	url = https://freecadweb.org/
 	arch = x86_64
 	license = LGPL
@@ -55,11 +55,13 @@ pkgbase = freecad
 	source = 62c3836c.patch
 	source = https://github.com/FreeCAD/FreeCAD/commit/6043c904.patch
 	source = https://github.com/FreeCAD/FreeCAD/commit/ac9a88c2.patch
+	source = fixups-with-qt6-enums.patch
 	b2sums = b20da85de907a41b14581583f9d69cab8fe79b1bdd50c24fc299c649ef0bfd7723c0b23aebc68ca5bbdee2da22c959004c7b595e19b542b1ec06a7275c0f5ea7
 	b2sums = f0b5a4648eb4befabb2339bae4e42044e436aa50ad1c2a25b243c965272a217b2c1c69c34d0d20bd01c573008de10f733b74857ffecac502b8558a7095e305e5
 	b2sums = eceb2d1b580fafaeec35de31fb3f4ec947ad32afe96734aa86d338364c97bbe5218506627957063c35ea2f360b7f7f916c9b7a1c0ef674c35d1f7972c070210e
 	b2sums = eb474708c3611293cfe3dfc287418b606f7735f6eb306f44f7394cd7e65256daddcee35984211982f25064e7ec81cc038d4eeb8d34af7399058ecfb6e8e99e9f
 	b2sums = de4b98c4b488045f9810dce124c271d6f4f629922e026f2d4f1efd6c9060b92309db41f8e0f6ebe5e7a27399911ac908cc8935c2501214326dbb1c4b739d46cc
 	b2sums = 02284db1b17dc88d0522eb3a726076b9f1ded740fdab1a185e48534c3606c77e51a12690b02bf5e0d9d1f72d1d8389ba84a54cba274200e69b6b10a431bbfdfe
+	b2sums = 9cb72c3df3f1c8e49b4242b1e05f51c68e6df98891a0c485488433bb9eef1e814fe712761b62ef09cb37551643819a48cbf704df2121bf33401e410a05dce722
 
 pkgname = freecad
diff --git a/extra/freecad/PKGBUILD b/extra/freecad/PKGBUILD
index 7494b9de7..8c05dd8a9 100644
--- a/extra/freecad/PKGBUILD
+++ b/extra/freecad/PKGBUILD
@@ -18,7 +18,7 @@ highmem=1
 
 pkgname=freecad
 pkgver=0.21.2
-pkgrel=17
+pkgrel=19
 pkgdesc='Feature based parametric 3D CAD modeler'
 arch=(x86_64)
 url='https://freecadweb.org/'
@@ -38,13 +38,15 @@ source=("git+https://github.com/$pkgname/$pkgname#tag=$pkgver"
         pyside6.patch
         62c3836c.patch
         https://github.com/FreeCAD/FreeCAD/commit/6043c904.patch
-        https://github.com/FreeCAD/FreeCAD/commit/ac9a88c2.patch)
+        https://github.com/FreeCAD/FreeCAD/commit/ac9a88c2.patch
+        fixups-with-qt6-enums.patch)
 b2sums=('b20da85de907a41b14581583f9d69cab8fe79b1bdd50c24fc299c649ef0bfd7723c0b23aebc68ca5bbdee2da22c959004c7b595e19b542b1ec06a7275c0f5ea7'
         'f0b5a4648eb4befabb2339bae4e42044e436aa50ad1c2a25b243c965272a217b2c1c69c34d0d20bd01c573008de10f733b74857ffecac502b8558a7095e305e5'
         'eceb2d1b580fafaeec35de31fb3f4ec947ad32afe96734aa86d338364c97bbe5218506627957063c35ea2f360b7f7f916c9b7a1c0ef674c35d1f7972c070210e'
         'eb474708c3611293cfe3dfc287418b606f7735f6eb306f44f7394cd7e65256daddcee35984211982f25064e7ec81cc038d4eeb8d34af7399058ecfb6e8e99e9f'
         'de4b98c4b488045f9810dce124c271d6f4f629922e026f2d4f1efd6c9060b92309db41f8e0f6ebe5e7a27399911ac908cc8935c2501214326dbb1c4b739d46cc'
-        '02284db1b17dc88d0522eb3a726076b9f1ded740fdab1a185e48534c3606c77e51a12690b02bf5e0d9d1f72d1d8389ba84a54cba274200e69b6b10a431bbfdfe')
+        '02284db1b17dc88d0522eb3a726076b9f1ded740fdab1a185e48534c3606c77e51a12690b02bf5e0d9d1f72d1d8389ba84a54cba274200e69b6b10a431bbfdfe'
+        '9cb72c3df3f1c8e49b4242b1e05f51c68e6df98891a0c485488433bb9eef1e814fe712761b62ef09cb37551643819a48cbf704df2121bf33401e410a05dce722')
 
 prepare() {
   patch -d freecad -Np1 -i "$srcdir"/freecad-vtk9.3.patch
@@ -52,6 +54,7 @@ prepare() {
   patch -d freecad -Np1 -i ../pyside6.patch
   patch -d freecad -Np1 -i ../ac9a88c2.patch # Fix more pyside6 issues
   patch -d freecad -Np1 -i ../6043c904.patch # Fix build with Python 3.12
+  patch -d freecad -Np1 -i ../fixups-with-qt6-enums.patch # Discard int conversions in WBs Python sources
   sed -e 's|Shiboken::Module::getTypes(requiredModule)|reinterpret_cast<PyTypeObject **>(Shiboken::Module::getTypes(requiredModule))|' \
     -i freecad/src/Gui/PythonWrapper.cpp # Fix build with PySide 6.7
 }
diff --git a/extra/freecad/fixups-with-qt6-enums.patch b/extra/freecad/fixups-with-qt6-enums.patch
new file mode 100644
index 000000000..ca2327be0
--- /dev/null
+++ b/extra/freecad/fixups-with-qt6-enums.patch
@@ -0,0 +1,445 @@
+diff --git a/src/Gui/PythonWrapper.cpp b/src/Gui/PythonWrapper.cpp
+index 79bc20d47..0452966f7 100644
+--- a/src/Gui/PythonWrapper.cpp
++++ b/src/Gui/PythonWrapper.cpp
+@@ -550,6 +550,36 @@ QObject* PythonWrapper::toQObject(const Py::Object& pyobject)
+     return nullptr;
+ }
+ 
++qsizetype PythonWrapper::toEnum(PyObject* pyPtr)
++{
++#if defined (HAVE_SHIBOKEN) && defined(HAVE_PYSIDE)
++    return Shiboken::Enum::getValue(pyPtr);
++#else
++    return toEnum(Py::Object(pyPtr));
++#endif
++}
++
++qsizetype PythonWrapper::toEnum(const Py::Object& pyobject)
++{
++#if defined (HAVE_SHIBOKEN) && defined(HAVE_PYSIDE)
++    return toEnum(pyobject.ptr());
++#else
++    try {
++        Py::Int ret;
++        if (pyobject.hasAttr(std::string("value"))) {
++            ret = pyobject.getAttr(std::string("value"));
++        } else {
++            ret = Py::Int(pyobject);
++        }
++        return (qsizetype)ret;
++    }
++    catch (Py::Exception&) {
++        Base::PyException e; // extract the Python error text
++        e.ReportException();
++    }
++#endif
++}
++
+ QGraphicsItem* PythonWrapper::toQGraphicsItem(PyObject* pyPtr)
+ {
+ #if defined (HAVE_SHIBOKEN) && defined(HAVE_PYSIDE)
+diff --git a/src/Gui/PythonWrapper.h b/src/Gui/PythonWrapper.h
+index c31f30e47..eada6607f 100644
+--- a/src/Gui/PythonWrapper.h
++++ b/src/Gui/PythonWrapper.h
+@@ -52,6 +52,8 @@ public:
+ 
+     bool toCString(const Py::Object&, std::string&);
+     QObject* toQObject(const Py::Object&);
++    qsizetype toEnum(PyObject* pyPtr);
++    qsizetype toEnum(const Py::Object& pyobject);
+     QGraphicsItem* toQGraphicsItem(PyObject* ptr);
+     QGraphicsItem* toQGraphicsItem(const Py::Object& pyObject);
+     QGraphicsObject* toQGraphicsObject(PyObject* pyPtr);
+diff --git a/src/Gui/TaskView/TaskDialogPython.cpp b/src/Gui/TaskView/TaskDialogPython.cpp
+index 795b7cf43..52476f7d8 100644
+--- a/src/Gui/TaskView/TaskDialogPython.cpp
++++ b/src/Gui/TaskView/TaskDialogPython.cpp
+@@ -740,9 +740,10 @@ QDialogButtonBox::StandardButtons TaskDialogPython::getStandardButtons() const
+         if (dlg.hasAttr(std::string("getStandardButtons"))) {
+             Py::Callable method(dlg.getAttr(std::string("getStandardButtons")));
+             Py::Tuple args;
+-            Py::Int ret(method.apply(args));
+-            int value = (int)ret;
+-            return QDialogButtonBox::StandardButtons(value);
++            Gui::PythonWrapper wrap;
++            wrap.loadWidgetsModule();
++            qsizetype value(wrap.toEnum(method.apply(args)));
++            return QDialogButtonBox::StandardButtons((int)value);
+         }
+     }
+     catch (Py::Exception&) {
+diff --git a/src/Mod/Arch/ArchAxis.py b/src/Mod/Arch/ArchAxis.py
+index ecda27a76..406f094f5 100644
+--- a/src/Mod/Arch/ArchAxis.py
++++ b/src/Mod/Arch/ArchAxis.py
+@@ -723,7 +723,7 @@ class _AxisTaskPanel:
+ 
+     def getStandardButtons(self):
+ 
+-        return int(QtGui.QDialogButtonBox.Close)
++        return QtGui.QDialogButtonBox.Close
+ 
+     def update(self):
+ 
+diff --git a/src/Mod/Arch/ArchAxisSystem.py b/src/Mod/Arch/ArchAxisSystem.py
+index a896a98a5..241dcf36b 100644
+--- a/src/Mod/Arch/ArchAxisSystem.py
++++ b/src/Mod/Arch/ArchAxisSystem.py
+@@ -313,7 +313,7 @@ class AxisSystemTaskPanel:
+ 
+     def getStandardButtons(self):
+ 
+-        return int(QtGui.QDialogButtonBox.Ok)
++        return QtGui.QDialogButtonBox.Ok
+ 
+     def getIcon(self,obj):
+ 
+diff --git a/src/Mod/Arch/ArchCommands.py b/src/Mod/Arch/ArchCommands.py
+index 114ab6034..143641784 100644
+--- a/src/Mod/Arch/ArchCommands.py
++++ b/src/Mod/Arch/ArchCommands.py
+@@ -1023,7 +1023,7 @@ class SurveyTaskPanel:
+         return True
+ 
+     def getStandardButtons(self):
+-        return int(QtGui.QDialogButtonBox.Close)
++        return QtGui.QDialogButtonBox.Close
+ 
+     def reject(self):
+         if hasattr(FreeCAD,"SurveyObserver"):
+diff --git a/src/Mod/Arch/ArchComponent.py b/src/Mod/Arch/ArchComponent.py
+index 36bb3a4d3..3e33b5a45 100644
+--- a/src/Mod/Arch/ArchComponent.py
++++ b/src/Mod/Arch/ArchComponent.py
+@@ -1660,7 +1660,7 @@ class SelectionTaskPanel:
+ 
+     def getStandardButtons(self):
+         """Adds the cancel button."""
+-        return int(QtGui.QDialogButtonBox.Cancel)
++        return QtGui.QDialogButtonBox.Cancel
+ 
+     def reject(self):
+         """The method run when the user selects the cancel button."""
+@@ -1766,7 +1766,7 @@ class ComponentTaskPanel:
+     def getStandardButtons(self):
+         """Add the standard ok button."""
+ 
+-        return int(QtGui.QDialogButtonBox.Ok)
++        return QtGui.QDialogButtonBox.Ok
+ 
+     def check(self,wid,col):
+         """This method is run as the callback when the user selects an item in the tree.
+diff --git a/src/Mod/Arch/ArchCutPlane.py b/src/Mod/Arch/ArchCutPlane.py
+index 3aa5e1ce0..ba103f38d 100644
+--- a/src/Mod/Arch/ArchCutPlane.py
++++ b/src/Mod/Arch/ArchCutPlane.py
+@@ -168,7 +168,7 @@ class _CutPlaneTaskPanel:
+         return True
+ 
+     def getStandardButtons(self):
+-        return int(QtGui.QDialogButtonBox.Ok|QtGui.QDialogButtonBox.Cancel)
++        return QtGui.QDialogButtonBox.Ok | QtGui.QDialogButtonBox.Cancel
+ 
+     def previewCutVolume(self, i):
+         cutVolume = ArchCommands.getCutVolume(self.plan,FreeCADGui.Selection.getSelectionEx()[0].Object.Shape)
+diff --git a/src/Mod/Arch/ArchRoof.py b/src/Mod/Arch/ArchRoof.py
+index 74ec30b5b..f9333d81a 100644
+--- a/src/Mod/Arch/ArchRoof.py
++++ b/src/Mod/Arch/ArchRoof.py
+@@ -949,7 +949,7 @@ class _RoofTaskPanel:
+         return True
+ 
+     def getStandardButtons(self):
+-        return int(QtGui.QDialogButtonBox.Close)
++        return QtGui.QDialogButtonBox.Close
+ 
+     def update(self):
+         '''fills the treewidget'''
+diff --git a/src/Mod/Arch/ArchSectionPlane.py b/src/Mod/Arch/ArchSectionPlane.py
+index 8e6177dfc..bede32334 100644
+--- a/src/Mod/Arch/ArchSectionPlane.py
++++ b/src/Mod/Arch/ArchSectionPlane.py
+@@ -1265,7 +1265,7 @@ class SectionPlaneTaskPanel:
+         return True
+ 
+     def getStandardButtons(self):
+-        return int(QtGui.QDialogButtonBox.Ok)
++        return QtGui.QDialogButtonBox.Ok
+ 
+     def getIcon(self,obj):
+         if hasattr(obj.ViewObject,"Proxy"):
+diff --git a/src/Mod/Arch/ArchWindow.py b/src/Mod/Arch/ArchWindow.py
+index c3cc10c60..b5e72ee2e 100644
+--- a/src/Mod/Arch/ArchWindow.py
++++ b/src/Mod/Arch/ArchWindow.py
+@@ -1496,7 +1496,7 @@ class _ArchWindowTaskPanel:
+ 
+     def getStandardButtons(self):
+ 
+-        return int(QtGui.QDialogButtonBox.Close)
++        return QtGui.QDialogButtonBox.Close
+ 
+     def check(self,wid,col):
+ 
+diff --git a/src/Mod/Draft/DraftGui.py b/src/Mod/Draft/DraftGui.py
+index b19101e9c..3bba18795 100644
+--- a/src/Mod/Draft/DraftGui.py
++++ b/src/Mod/Draft/DraftGui.py
+@@ -217,7 +217,7 @@ class DraftTaskPanel:
+         else:
+             self.form = widget
+     def getStandardButtons(self):
+-        return int(QtGui.QDialogButtonBox.Close)
++        return QtGui.QDialogButtonBox.Close
+     def accept(self):
+         if hasattr(FreeCADGui,"draftToolBar"):
+             return FreeCADGui.draftToolBar.validatePoint()
+@@ -1031,7 +1031,7 @@ class DraftToolBar:
+                     self.form = [extra]
+                 self.callback = callback
+             def getStandardButtons(self):
+-                return int(QtGui.QDialogButtonBox.Close)
++                return QtGui.QDialogButtonBox.Close
+             def reject(self):
+                 if self.callback:
+                     self.callback()
+@@ -1766,7 +1766,7 @@ class FacebinderTaskPanel:
+         return True
+ 
+     def getStandardButtons(self):
+-        return int(QtGui.QDialogButtonBox.Ok)
++        return QtGui.QDialogButtonBox.Ok
+ 
+     def update(self):
+         """fills the treewidget"""
+diff --git a/src/Mod/Draft/drafttaskpanels/task_selectplane.py b/src/Mod/Draft/drafttaskpanels/task_selectplane.py
+index 7eba90f0e..a8ba3139d 100644
+--- a/src/Mod/Draft/drafttaskpanels/task_selectplane.py
++++ b/src/Mod/Draft/drafttaskpanels/task_selectplane.py
+@@ -40,6 +40,7 @@ to be more similar to OrthoArray and the new tools.
+ ## \addtogroup drafttaskpanels
+ # @{
+ import FreeCADGui as Gui
++from PySide import QtWidgets
+ 
+ 
+ class SelectPlaneTaskPanel:
+@@ -50,6 +51,6 @@ class SelectPlaneTaskPanel:
+ 
+     def getStandardButtons(self):
+         """Execute to set the standard buttons."""
+-        return 2097152  # int(QtGui.QDialogButtonBox.Close)
++        return QtGui.QDialogButtonBox.Close
+ 
+ ## @}
+diff --git a/src/Mod/Fem/femsolver/solver_taskpanel.py b/src/Mod/Fem/femsolver/solver_taskpanel.py
+index 90c622ad7..5d3817bef 100644
+--- a/src/Mod/Fem/femsolver/solver_taskpanel.py
++++ b/src/Mod/Fem/femsolver/solver_taskpanel.py
+@@ -156,7 +156,7 @@ class ControlTaskPanel(QtCore.QObject):
+         femsolver.report.display(machine.report, _REPORT_TITLE, text)
+ 
+     def getStandardButtons(self):
+-        return int(QtGui.QDialogButtonBox.Close)
++        return QtGui.QDialogButtonBox.Close
+ 
+     def reject(self):
+         Gui.ActiveDocument.resetEdit()
+diff --git a/src/Mod/Fem/femtaskpanels/task_mesh_gmsh.py b/src/Mod/Fem/femtaskpanels/task_mesh_gmsh.py
+index 2aa2fbf24..770620c08 100644
+--- a/src/Mod/Fem/femtaskpanels/task_mesh_gmsh.py
++++ b/src/Mod/Fem/femtaskpanels/task_mesh_gmsh.py
+@@ -106,9 +106,7 @@ class _TaskPanel:
+         self.update()
+ 
+     def getStandardButtons(self):
+-        button_value = int(
+-            QtGui.QDialogButtonBox.Ok | QtGui.QDialogButtonBox.Apply | QtGui.QDialogButtonBox.Cancel
+-        )
++        button_value = QtGui.QDialogButtonBox.Ok | QtGui.QDialogButtonBox.Apply | QtGui.QDialogButtonBox.Cancel
+         return button_value
+         # show a OK, a apply and a Cancel button
+         # def reject() is called on Cancel button
+diff --git a/src/Mod/Fem/femtaskpanels/task_result_mechanical.py b/src/Mod/Fem/femtaskpanels/task_result_mechanical.py
+index 266670a54..f0ec4e9d7 100644
+--- a/src/Mod/Fem/femtaskpanels/task_result_mechanical.py
++++ b/src/Mod/Fem/femtaskpanels/task_result_mechanical.py
+@@ -265,7 +265,7 @@ class _TaskPanel:
+         self.result_widget.sb_displacement_factor_max.setValue(100.)    # init non standard values
+ 
+     def getStandardButtons(self):
+-        return int(QtGui.QDialogButtonBox.Close)
++        return QtGui.QDialogButtonBox.Close
+ 
+     def get_result_stats(self, type_name):
+         return resulttools.get_stats(self.result_obj, type_name)
+diff --git a/src/Mod/Fem/femtaskpanels/task_solver_ccxtools.py b/src/Mod/Fem/femtaskpanels/task_solver_ccxtools.py
+index fd4607f94..a39eb47d7 100644
+--- a/src/Mod/Fem/femtaskpanels/task_solver_ccxtools.py
++++ b/src/Mod/Fem/femtaskpanels/task_solver_ccxtools.py
+@@ -159,7 +159,7 @@ class _TaskPanel:
+     def getStandardButtons(self):
+         # only show a close button
+         # def accept() in no longer needed, since there is no OK button
+-        return int(QtGui.QDialogButtonBox.Close)
++        return QtGui.QDialogButtonBox.Close
+ 
+     def reject(self):
+         FreeCADGui.ActiveDocument.resetEdit()
+diff --git a/src/Mod/OpenSCAD/OpenSCADCommands.py b/src/Mod/OpenSCAD/OpenSCADCommands.py
+index 3ee3737b5..10b45d5f0 100644
+--- a/src/Mod/OpenSCAD/OpenSCADCommands.py
++++ b/src/Mod/OpenSCAD/OpenSCADCommands.py
+@@ -379,7 +379,7 @@ class AddSCADTask:
+         self.form.buttonrefresh.clicked.connect(self.refreshelement)
+ 
+     def getStandardButtons(self):
+-        return int(QtGui.QDialogButtonBox.Close)
++        return QtGui.QDialogButtonBox.Close
+ 
+     def isAllowedAlterSelection(self):
+         return True
+@@ -492,7 +492,7 @@ class OpenSCADMeshBooleanTask:
+         self.form.buttonadd.clicked.connect(self.doboolean)
+ 
+     def getStandardButtons(self):
+-        return int(QtGui.QDialogButtonBox.Close)
++        return QtGui.QDialogButtonBox.Close
+ 
+     def isAllowedAlterSelection(self):
+         return False
+diff --git a/src/Mod/Part/AttachmentEditor/TaskAttachmentEditor.py b/src/Mod/Part/AttachmentEditor/TaskAttachmentEditor.py
+index bf79827a2..fb3607797 100644
+--- a/src/Mod/Part/AttachmentEditor/TaskAttachmentEditor.py
++++ b/src/Mod/Part/AttachmentEditor/TaskAttachmentEditor.py
+@@ -306,7 +306,7 @@ class AttachmentEditorTaskPanel(FrozenClass):
+ 
+     # task dialog handling
+     def getStandardButtons(self):
+-        return int(QtGui.QDialogButtonBox.Ok) | int(QtGui.QDialogButtonBox.Cancel)| int(QtGui.QDialogButtonBox.Apply)
++        return QtGui.QDialogButtonBox.Ok | QtGui.QDialogButtonBox.Cancel | QtGui.QDialogButtonBox.Apply
+ 
+     def clicked(self,button):
+         if button == QtGui.QDialogButtonBox.Apply:
+diff --git a/src/Mod/PartDesign/InvoluteGearFeature.py b/src/Mod/PartDesign/InvoluteGearFeature.py
+index bd91d495b..bca795851 100644
+--- a/src/Mod/PartDesign/InvoluteGearFeature.py
++++ b/src/Mod/PartDesign/InvoluteGearFeature.py
+@@ -258,7 +258,7 @@ class _InvoluteGearTaskPanel:
+         self.form.doubleSpinBox_ProfileShift.setValue(self.obj.ProfileShiftCoefficient)
+ 
+     def getStandardButtons(self):
+-        return int(QtGui.QDialogButtonBox.Ok) | int(QtGui.QDialogButtonBox.Cancel)| int(QtGui.QDialogButtonBox.Apply)
++        return QtGui.QDialogButtonBox.Ok | QtGui.QDialogButtonBox.Cancel | QtGui.QDialogButtonBox.Apply
+ 
+     def clicked(self,button):
+         if button == QtGui.QDialogButtonBox.Apply:
+diff --git a/src/Mod/PartDesign/SprocketFeature.py b/src/Mod/PartDesign/SprocketFeature.py
+index c63cbe0fe..53270b093 100644
+--- a/src/Mod/PartDesign/SprocketFeature.py
++++ b/src/Mod/PartDesign/SprocketFeature.py
+@@ -253,7 +253,7 @@ class SprocketTaskPanel:
+         self.obj.Proxy.execute(self.obj)
+ 
+     def getStandardButtons(self):
+-        return int(QtGui.QDialogButtonBox.Ok) | int(QtGui.QDialogButtonBox.Cancel)| int(QtGui.QDialogButtonBox.Apply)
++        return QtGui.QDialogButtonBox.Ok | QtGui.QDialogButtonBox.Cancel | QtGui.QDialogButtonBox.Apply
+ 
+     def clicked(self,button):
+         if button == QtGui.QDialogButtonBox.Apply:
+diff --git a/src/Mod/PartDesign/WizardShaft/WizardShaft.py b/src/Mod/PartDesign/WizardShaft/WizardShaft.py
+index 850da098c..096468d1e 100644
+--- a/src/Mod/PartDesign/WizardShaft/WizardShaft.py
++++ b/src/Mod/PartDesign/WizardShaft/WizardShaft.py
+@@ -155,7 +155,7 @@ class TaskWizardShaft:
+             self.updateButton(row,  col,  flag)
+ 
+     def getStandardButtons(self):
+-        return int(QtGui.QDialogButtonBox.Ok)
++        return QtGui.QDialogButtonBox.Ok
+ 
+     def accept(self):
+         if self.table:
+diff --git a/src/Mod/Path/Path/Dressup/Gui/Boundary.py b/src/Mod/Path/Path/Dressup/Gui/Boundary.py
+index e27c0169e..9064a3de1 100644
+--- a/src/Mod/Path/Path/Dressup/Gui/Boundary.py
++++ b/src/Mod/Path/Path/Dressup/Gui/Boundary.py
+@@ -59,11 +59,7 @@ class TaskPanel(object):
+         self.stockEdit = None
+ 
+     def getStandardButtons(self):
+-        return int(
+-            QtGui.QDialogButtonBox.Ok
+-            | QtGui.QDialogButtonBox.Apply
+-            | QtGui.QDialogButtonBox.Cancel
+-        )
++        return QtGui.QDialogButtonBox.Ok | QtGui.QDialogButtonBox.Apply | QtGui.QDialogButtonBox.Cancel
+ 
+     def modifyStandardButtons(self, buttonBox):
+         self.buttonBox = buttonBox
+diff --git a/src/Mod/Path/Path/Dressup/Gui/Tags.py b/src/Mod/Path/Path/Dressup/Gui/Tags.py
+index b0c4d2aff..6b3a62a82 100644
+--- a/src/Mod/Path/Path/Dressup/Gui/Tags.py
++++ b/src/Mod/Path/Path/Dressup/Gui/Tags.py
+@@ -75,11 +75,7 @@ class PathDressupTagTaskPanel:
+         self.editItem = None
+ 
+     def getStandardButtons(self):
+-        return int(
+-            QtGui.QDialogButtonBox.Ok
+-            | QtGui.QDialogButtonBox.Apply
+-            | QtGui.QDialogButtonBox.Cancel
+-        )
++        return QtGui.QDialogButtonBox.Ok | QtGui.QDialogButtonBox.Apply | QtGui.QDialogButtonBox.Cancel
+ 
+     def clicked(self, button):
+         if button == QtGui.QDialogButtonBox.Apply:
+diff --git a/src/Mod/Path/Path/Op/Gui/Base.py b/src/Mod/Path/Path/Op/Gui/Base.py
+index 0de7699b4..3faec0533 100644
+--- a/src/Mod/Path/Path/Op/Gui/Base.py
++++ b/src/Mod/Path/Path/Op/Gui/Base.py
+@@ -1274,11 +1274,7 @@ class TaskPanel(object):
+ 
+     def getStandardButtons(self):
+         """getStandardButtons() ... returns the Buttons for the task panel."""
+-        return int(
+-            QtGui.QDialogButtonBox.Ok
+-            | QtGui.QDialogButtonBox.Apply
+-            | QtGui.QDialogButtonBox.Cancel
+-        )
++        return QtGui.QDialogButtonBox.Ok | QtGui.QDialogButtonBox.Apply | QtGui.QDialogButtonBox.Cancel
+ 
+     def setupUi(self):
+         """setupUi() ... internal function to initialise all pages."""
+diff --git a/src/Mod/Path/PathPythonGui/simple_edit_panel.py b/src/Mod/Path/PathPythonGui/simple_edit_panel.py
+index 0de9345bf..75d635f75 100644
+--- a/src/Mod/Path/PathPythonGui/simple_edit_panel.py
++++ b/src/Mod/Path/PathPythonGui/simple_edit_panel.py
+@@ -88,11 +88,7 @@ class SimpleEditPanel:
+         )
+ 
+     def getStandardButtons(self):
+-        return int(
+-            QtGui.QDialogButtonBox.Ok
+-            | QtGui.QDialogButtonBox.Apply
+-            | QtGui.QDialogButtonBox.Cancel
+-        )
++        return QtGui.QDialogButtonBox.Ok | QtGui.QDialogButtonBox.Apply | QtGui.QDialogButtonBox.Cancel
+ 
+     def clicked(self, button):
+         # callback for standard buttons
+diff --git a/src/Mod/TemplatePyMod/TaskPanel.py b/src/Mod/TemplatePyMod/TaskPanel.py
+index ef07e9b24..cc8e301aa 100644
+--- a/src/Mod/TemplatePyMod/TaskPanel.py
++++ b/src/Mod/TemplatePyMod/TaskPanel.py
+@@ -61,7 +61,7 @@ class TaskPanel:
+         return True
+ 
+     def getStandardButtons(self):
+-        return int(QtGui.QDialogButtonBox.Ok)
++        return QtGui.QDialogButtonBox.Ok
+ 
+     def helpRequested(self):
+         pass