From e1206a3fac5b52d4e2656f044f25a0fac81b9da4 Mon Sep 17 00:00:00 2001 From: Victor Predko Date: Mon, 16 Oct 2023 20:40:46 +0300 Subject: [PATCH] File formats: Uppercase file types when importing a file. (#10977) * Added uppercase extensions for supported formats In the file App\Application.cpp * Added file types in upper case * Adds uppercase file types to the file import filter. Fixes #10879 * Added filter for *.fcmacro *.fcscript --- src/Gui/Application.cpp | 2 +- src/Gui/FreeCADGuiInit.py | 6 +++--- src/Mod/Arch/Init.py | 12 ++++++------ src/Mod/Assembly/Init.py | 2 +- src/Mod/Draft/Init.py | 10 +++++----- src/Mod/Fem/Init.py | 14 +++++++------- src/Mod/Idf/Init.py | 2 +- src/Mod/Import/Init.py | 6 +++--- src/Mod/Import/InitGui.py | 2 +- src/Mod/Mesh/Init.py | 14 +++++++------- src/Mod/OpenSCAD/Init.py | 4 ++-- src/Mod/OpenSCAD/InitGui.py | 2 +- src/Mod/Part/Init.py | 6 +++--- src/Mod/Path/InitGui.py | 2 +- src/Mod/Points/Init.py | 2 +- src/Mod/Spreadsheet/Init.py | 2 +- src/Mod/Spreadsheet/InitGui.py | 2 +- src/Mod/Web/InitGui.py | 2 +- 18 files changed, 46 insertions(+), 46 deletions(-) diff --git a/src/Gui/Application.cpp b/src/Gui/Application.cpp index f1d4255f32..baa00927cd 100644 --- a/src/Gui/Application.cpp +++ b/src/Gui/Application.cpp @@ -345,7 +345,7 @@ namespace { std::stringstream str; str << "Image formats ("; for (const auto& ext : supportedFormats) { - str << "*." << ext.constData() << " "; + str << "*." << ext.constData() << " *." << ext.toUpper().constData() << " "; } str << ")"; diff --git a/src/Gui/FreeCADGuiInit.py b/src/Gui/FreeCADGuiInit.py index 3831335cbd..987686969f 100644 --- a/src/Gui/FreeCADGuiInit.py +++ b/src/Gui/FreeCADGuiInit.py @@ -301,9 +301,9 @@ InitApplications() Gui.activateWorkbench("NoneWorkbench") # Register .py, .FCScript and .FCMacro -FreeCAD.addImportType("Inventor V2.1 (*.iv)","FreeCADGui") -FreeCAD.addImportType("VRML V2.0 (*.wrl *.vrml *.wrz *.wrl.gz)","FreeCADGui") -FreeCAD.addImportType("Python (*.py *.FCMacro *.FCScript)","FreeCADGui") +FreeCAD.addImportType("Inventor V2.1 (*.iv *.IV)","FreeCADGui") +FreeCAD.addImportType("VRML V2.0 (*.wrl *.WRL *.vrml *.VRML *.wrz *.WRZ *.wrl.gz *.WRL.GZ)","FreeCADGui") +FreeCAD.addImportType("Python (*.py *.FCMacro *.FCScript *.fcmacro *.fcscript)","FreeCADGui") FreeCAD.addExportType("Inventor V2.1 (*.iv)","FreeCADGui") FreeCAD.addExportType("VRML V2.0 (*.wrl *.vrml *.wrz *.wrl.gz)","FreeCADGui") FreeCAD.addExportType("X3D Extensible 3D (*.x3d *.x3dz)","FreeCADGui") diff --git a/src/Mod/Arch/Init.py b/src/Mod/Arch/Init.py index b0ad6d0bf7..0b2a608475 100644 --- a/src/Mod/Arch/Init.py +++ b/src/Mod/Arch/Init.py @@ -20,15 +20,15 @@ #*************************************************************************** # add import/export types -FreeCAD.addImportType("Industry Foundation Classes (*.ifc)","importIFC") +FreeCAD.addImportType("Industry Foundation Classes (*.ifc *.IFC)","importIFC") FreeCAD.addExportType("Industry Foundation Classes (*.ifc)","exportIFC") FreeCAD.addExportType("Industry Foundation Classes - IFCJSON (*.ifcJSON)","exportIFC") -FreeCAD.addImportType("Wavefront OBJ - Arch module (*.obj)","importOBJ") +FreeCAD.addImportType("Wavefront OBJ - Arch module (*.obj *.OBJ)","importOBJ") FreeCAD.addExportType("Wavefront OBJ - Arch module (*.obj)","importOBJ") FreeCAD.addExportType("WebGL file (*.html)","importWebGL") FreeCAD.addExportType("JavaScript Object Notation (*.json)","importJSON") -FreeCAD.addImportType("Collada (*.dae)","importDAE") +FreeCAD.addImportType("Collada (*.dae *.DAE)","importDAE") FreeCAD.addExportType("Collada (*.dae)","importDAE") -FreeCAD.addImportType("3D Studio mesh (*.3ds)","import3DS") -FreeCAD.addImportType("SweetHome3D XML export (*.zip)","importSH3D") -FreeCAD.addImportType("Shapefile (*.shp)","importSHP") +FreeCAD.addImportType("3D Studio mesh (*.3ds *.3DS)","import3DS") +FreeCAD.addImportType("SweetHome3D XML export (*.zip *.ZIP)","importSH3D") +FreeCAD.addImportType("Shapefile (*.shp *.SHP)","importSHP") diff --git a/src/Mod/Assembly/Init.py b/src/Mod/Assembly/Init.py index 9207b0b484..e8af397da3 100644 --- a/src/Mod/Assembly/Init.py +++ b/src/Mod/Assembly/Init.py @@ -33,5 +33,5 @@ FreeCAD.__unit_test__ += ["TestAssemblyWorkbench"] # This adds a custom import type to the FreeCAD import dialog. # The correct format for assembly interoperability is a research topic. ASMT is a placeholder. -FreeCAD.addImportType("Assembly Format (*.asmt)", "AssemblyImport") +FreeCAD.addImportType("Assembly Format (*.asmt *.ASMT)", "AssemblyImport") # FreeCAD.addExportType() diff --git a/src/Mod/Draft/Init.py b/src/Mod/Draft/Init.py index 8798db3f9e..a7d0c6869a 100644 --- a/src/Mod/Draft/Init.py +++ b/src/Mod/Draft/Init.py @@ -23,14 +23,14 @@ import FreeCAD as App # add Import/Export types -App.addImportType("Autodesk DXF 2D (*.dxf)", "importDXF") -App.addImportType("SVG as geometry (*.svg)", "importSVG") -App.addImportType("Open CAD Format (*.oca *.gcad)", "importOCA") -App.addImportType("Common airfoil data (*.dat)", "importAirfoilDAT") +App.addImportType("Autodesk DXF 2D (*.dxf *.DXF)", "importDXF") +App.addImportType("SVG as geometry (*.svg *.SVG)", "importSVG") +App.addImportType("Open CAD Format (*.oca *.gcad *.OCA *.GCAD)", "importOCA") +App.addImportType("Common airfoil data (*.dat *.DAT)", "importAirfoilDAT") App.addExportType("Autodesk DXF 2D (*.dxf)", "importDXF") App.addExportType("Flattened SVG (*.svg)", "importSVG") App.addExportType("Open CAD Format (*.oca)", "importOCA") -App.addImportType("Autodesk DWG 2D (*.dwg)", "importDWG") +App.addImportType("Autodesk DWG 2D (*.dwg *.DWG)", "importDWG") App.addExportType("Autodesk DWG 2D (*.dwg)", "importDWG") App.__unit_test__ += ["TestDraft"] diff --git a/src/Mod/Fem/Init.py b/src/Mod/Fem/Init.py index e4e5bdb852..e5d9366a04 100644 --- a/src/Mod/Fem/Init.py +++ b/src/Mod/Fem/Init.py @@ -63,7 +63,7 @@ FreeCAD.addExportType("FEM mesh TetGen (*.poly)", "feminout.convert2TetGen") # see FemMesh::read() and FemMesh::write() methods in src/Mod/Fem/App/FemMesh.cpp FreeCAD.addImportType( - "FEM mesh formats (*.bdf *.dat *.inp *.med *.unv *.vtk *.vtu *.pvtu *.z88)", "Fem" + "FEM mesh formats (*.bdf *.BDF *.dat *.DAT *.inp *.INP *.med *.MED *.unv *.UNV *.vtk *.VTK *.vtu *.VTU *.pvtu *.PVTU *.z88 *.Z88)", "Fem" ) FreeCAD.addExportType( "FEM mesh formats (*.dat *.inp *.med *.stl *.unv *.vtk *.vtu *.z88)", "Fem" @@ -71,23 +71,23 @@ FreeCAD.addExportType( FreeCAD.addExportType("FEM mesh Nastran (*.bdf)", "feminout.exportNastranMesh") -FreeCAD.addImportType("FEM result CalculiX (*.frd)", "feminout.importCcxFrdResults") +FreeCAD.addImportType("FEM result CalculiX (*.frd *.FRD)", "feminout.importCcxFrdResults") -FreeCAD.addImportType("FEM mesh Fenics (*.xml *.xdmf)", "feminout.importFenicsMesh") +FreeCAD.addImportType("FEM mesh Fenics (*.xml *.XML *.xdmf *.XDMF)", "feminout.importFenicsMesh") FreeCAD.addExportType("FEM mesh Fenics (*.xml *.xdmf)", "feminout.importFenicsMesh") FreeCAD.addImportType( - "FEM mesh YAML/JSON (*.meshyaml *.meshjson *.yaml *.json)", "feminout.importYamlJsonMesh" + "FEM mesh YAML/JSON (*.meshyaml *.MESHYAML *.meshjson *.MESHJSON *.yaml *.YAML *.json *.JSON)", "feminout.importYamlJsonMesh" ) FreeCAD.addExportType( "FEM mesh YAML/JSON (*.meshyaml *.meshjson *.yaml *.json)", "feminout.importYamlJsonMesh" ) -FreeCAD.addImportType("FEM mesh Z88 (*i1.txt)", "feminout.importZ88Mesh") +FreeCAD.addImportType("FEM mesh Z88 (*i1.txt *I1.TXT)", "feminout.importZ88Mesh") FreeCAD.addExportType("FEM mesh Z88 (*i1.txt)", "feminout.importZ88Mesh") -FreeCAD.addImportType("FEM result Z88 displacements (*o2.txt)", "feminout.importZ88O2Results") +FreeCAD.addImportType("FEM result Z88 displacements (*o2.txt *O2.TXT)", "feminout.importZ88O2Results") if "BUILD_FEM_VTK" in FreeCAD.__cmake__: - FreeCAD.addImportType("FEM result VTK (*.vtk *.vtu *.pvtu)", "feminout.importVTKResults") + FreeCAD.addImportType("FEM result VTK (*.vtk *.VTK *.vtu *.VTU *.pvtu *.PVTU)", "feminout.importVTKResults") FreeCAD.addExportType("FEM result VTK (*.vtk *.vtu)", "feminout.importVTKResults") diff --git a/src/Mod/Idf/Init.py b/src/Mod/Idf/Init.py index ec3ce2e95c..b54e79bbea 100644 --- a/src/Mod/Idf/Init.py +++ b/src/Mod/Idf/Init.py @@ -28,5 +28,5 @@ # runs when the gui is up # two options for IDF added by Milos Koutny (12-Feb-2010) -FreeCAD.addImportType("IDF emn file File Type (*.emn)","Idf") +FreeCAD.addImportType("IDF emn file File Type (*.emn *.EMN)","Idf") #FreeCAD.addImportType("IDF emp File Type (*.emp)","Import_Emp") diff --git a/src/Mod/Import/Init.py b/src/Mod/Import/Init.py index d2f7fd97f9..3213942b38 100644 --- a/src/Mod/Import/Init.py +++ b/src/Mod/Import/Init.py @@ -29,8 +29,8 @@ # FreeCAD.addImportType("STEP 214 (*.step *.stp)","ImportGui") # FreeCAD.addExportType("STEP 214 (*.step *.stp)","ImportGui") # FreeCAD.addExportType("IGES files (*.iges *.igs)","ImportGui") -FreeCAD.addImportType("PLMXML files (*.plmxml)", "PlmXmlParser") -FreeCAD.addImportType("STEPZ Zip File Type (*.stpZ *.stpz)", "stepZ") -FreeCAD.addImportType("glTF (*.gltf *.glb)", "ImportGui") +FreeCAD.addImportType("PLMXML files (*.plmxml *.PLMXML)", "PlmXmlParser") +FreeCAD.addImportType("STEPZ Zip File Type (*.stpZ *.stpz *.STPZ)", "stepZ") +FreeCAD.addImportType("glTF (*.gltf *.GLTF *.glb *.GLB)", "ImportGui") FreeCAD.addExportType("STEPZ zip File Type (*.stpZ *.stpz)", "stepZ") FreeCAD.addExportType("glTF (*.gltf *.glb)", "ImportGui") diff --git a/src/Mod/Import/InitGui.py b/src/Mod/Import/InitGui.py index 4ae974a1db..d390f0493f 100644 --- a/src/Mod/Import/InitGui.py +++ b/src/Mod/Import/InitGui.py @@ -31,7 +31,7 @@ # Registered in Part's Init.py file -FreeCAD.changeImportModule("STEP with colors (*.step *.stp)", "Import", "ImportGui") +FreeCAD.changeImportModule("STEP with colors (*.step *.STEP *.stp *.STP)", "Import", "ImportGui") FreeCAD.changeExportModule("STEP with colors (*.step *.stp)", "Import", "ImportGui") FreeCAD.changeExportModule("glTF (*.gltf *.glb)", "Import", "ImportGui") diff --git a/src/Mod/Mesh/Init.py b/src/Mod/Mesh/Init.py index fd176afa20..55691179d5 100644 --- a/src/Mod/Mesh/Init.py +++ b/src/Mod/Mesh/Init.py @@ -4,13 +4,13 @@ import FreeCAD # Append the open handler -FreeCAD.addImportType("STL Mesh (*.stl *.ast)", "Mesh") -FreeCAD.addImportType("Binary Mesh (*.bms)", "Mesh") -FreeCAD.addImportType("Alias Mesh (*.obj)", "Mesh") -FreeCAD.addImportType("Object File Format Mesh (*.off)", "Mesh") -FreeCAD.addImportType("Stanford Triangle Mesh (*.ply)", "Mesh") -FreeCAD.addImportType("Simple Model Format (*.smf)", "Mesh") -FreeCAD.addImportType("3D Manufacturing Format (*.3mf)", "Mesh") +FreeCAD.addImportType("STL Mesh (*.stl *.STL *.ast *.AST)", "Mesh") +FreeCAD.addImportType("Binary Mesh (*.bms *.BMS)", "Mesh") +FreeCAD.addImportType("Alias Mesh (*.obj *.OBJ)", "Mesh") +FreeCAD.addImportType("Object File Format Mesh (*.off *.OFF)", "Mesh") +FreeCAD.addImportType("Stanford Triangle Mesh (*.ply *.PLY)", "Mesh") +FreeCAD.addImportType("Simple Model Format (*.smf *.SMF)", "Mesh") +FreeCAD.addImportType("3D Manufacturing Format (*.3mf *.3MF)", "Mesh") FreeCAD.addExportType("STL Mesh (*.stl *.ast)", "Mesh") FreeCAD.addExportType("Binary Mesh (*.bms)", "Mesh") diff --git a/src/Mod/OpenSCAD/Init.py b/src/Mod/OpenSCAD/Init.py index d3f1da86ba..9493cd8d7e 100644 --- a/src/Mod/OpenSCAD/Init.py +++ b/src/Mod/OpenSCAD/Init.py @@ -26,7 +26,7 @@ import os import FreeCAD -FreeCAD.addImportType("OpenSCAD CSG Format (*.csg)", "importCSG") +FreeCAD.addImportType("OpenSCAD CSG Format (*.csg *.CSG)", "importCSG") param = FreeCAD.ParamGet(\ "User parameter:BaseApp/Preferences/Mod/OpenSCAD") @@ -34,7 +34,7 @@ openscadfilename = param.GetString('openscadexecutable') openscadbin = openscadfilename and os.path.isfile(openscadfilename) if openscadbin: - FreeCAD.addImportType("OpenSCAD Format (*.scad)", "importCSG") + FreeCAD.addImportType("OpenSCAD Format (*.scad *.SCAD)", "importCSG") FreeCAD.__unit_test__ += ["TestOpenSCADApp"] FreeCAD.addExportType("OpenSCAD CSG Format (*.csg)", "exportCSG") diff --git a/src/Mod/OpenSCAD/InitGui.py b/src/Mod/OpenSCAD/InitGui.py index 8f15392f4d..396227c1e8 100644 --- a/src/Mod/OpenSCAD/InitGui.py +++ b/src/Mod/OpenSCAD/InitGui.py @@ -93,7 +93,7 @@ class OpenSCADWorkbench(Workbench): openscadfilename = OpenSCADUtils.searchforopenscadexe() if openscadfilename: # automatic search was successful - FreeCAD.addImportType("OpenSCAD Format (*.scad)", "importCSG") + FreeCAD.addImportType("OpenSCAD Format (*.scad *.SCAD)", "importCSG") param.SetString( "openscadexecutable", openscadfilename ) # save the result diff --git a/src/Mod/Part/Init.py b/src/Mod/Part/Init.py index 72dc72cb27..0ba31e3154 100644 --- a/src/Mod/Part/Init.py +++ b/src/Mod/Part/Init.py @@ -25,11 +25,11 @@ #FreeCAD.addImportType("CAD formats (*.igs *.iges *.step *.stp *.brep *.brp)","Part") #FreeCAD.addExportType("CAD formats (*.igs *.iges *.step *.stp *.brep *.brp)","Part") -FreeCAD.addImportType("BREP format (*.brep *.brp)","Part") +FreeCAD.addImportType("BREP format (*.brep *.BREP *.brp *.BRP)","Part") FreeCAD.addExportType("BREP format (*.brep *.brp)","Part") -FreeCAD.addImportType("IGES format (*.iges *.igs)","Part") +FreeCAD.addImportType("IGES format (*.iges *.IGES *.igs *.IGS)","Part") FreeCAD.addExportType("IGES format (*.iges *.igs)","Part") -FreeCAD.addImportType("STEP with colors (*.step *.stp)","Import") +FreeCAD.addImportType("STEP with colors (*.step *.STEP *.stp *.STP)","Import") FreeCAD.addExportType("STEP with colors (*.step *.stp)","Import") FreeCAD.__unit_test__ += [ "TestPartApp" ] diff --git a/src/Mod/Path/InitGui.py b/src/Mod/Path/InitGui.py index d94d4a0781..12ecc06440 100644 --- a/src/Mod/Path/InitGui.py +++ b/src/Mod/Path/InitGui.py @@ -346,4 +346,4 @@ class PathWorkbench(Workbench): Gui.addWorkbench(PathWorkbench()) -FreeCAD.addImportType("GCode (*.nc *.gc *.ncc *.ngc *.cnc *.tap *.gcode)", "PathGui") +FreeCAD.addImportType("GCode (*.nc *.NC *.gc *.GC *.ncc *.NCC *.ngc *.NGC *.cnc *.CNC *.tap *.TAP *.gcode *.GCODE)", "PathGui") diff --git a/src/Mod/Points/Init.py b/src/Mod/Points/Init.py index ea3e1bd2f8..7f81750404 100644 --- a/src/Mod/Points/Init.py +++ b/src/Mod/Points/Init.py @@ -24,5 +24,5 @@ # FreeCAD init script of the Points module # Append the open handler -FreeCAD.addImportType("Point formats (*.asc *.pcd *.ply *.e57)", "Points") +FreeCAD.addImportType("Point formats (*.asc *.ASC *.pcd *.PCD *.ply *.PLY *.e57 *.E57)", "Points") FreeCAD.addExportType("Point formats (*.asc *.pcd *.ply)", "Points") diff --git a/src/Mod/Spreadsheet/Init.py b/src/Mod/Spreadsheet/Init.py index 0c8cc4c1b2..ad022e7b86 100644 --- a/src/Mod/Spreadsheet/Init.py +++ b/src/Mod/Spreadsheet/Init.py @@ -35,6 +35,6 @@ ParGrp.SetString("WorkBenchName", "Spreadsheet") ParGrp.SetString("WorkBenchModule", "SpreadsheetWorkbench.py") # add Import/Export types -App.addImportType("Excel spreadsheet (*.xlsx)", "importXLSX") +App.addImportType("Excel spreadsheet (*.xlsx *.XLSX)", "importXLSX") App.__unit_test__ += ["TestSpreadsheet"] diff --git a/src/Mod/Spreadsheet/InitGui.py b/src/Mod/Spreadsheet/InitGui.py index 225695b920..034d9c2737 100644 --- a/src/Mod/Spreadsheet/InitGui.py +++ b/src/Mod/Spreadsheet/InitGui.py @@ -49,4 +49,4 @@ class SpreadsheetWorkbench(Workbench): Gui.addWorkbench(SpreadsheetWorkbench()) # Append the open handler -FreeCAD.addImportType("Spreadsheet formats (*.csv)", "SpreadsheetGui") +FreeCAD.addImportType("Spreadsheet formats (*.csv *.CSV)", "SpreadsheetGui") diff --git a/src/Mod/Web/InitGui.py b/src/Mod/Web/InitGui.py index 8120cbbf05..ade2d8f2bb 100644 --- a/src/Mod/Web/InitGui.py +++ b/src/Mod/Web/InitGui.py @@ -46,6 +46,6 @@ class WebWorkbench(Workbench): Gui.addWorkbench(WebWorkbench()) # Append the open handler -FreeCAD.addImportType("Web Page (*.html *.xhtml)", "WebGui") +FreeCAD.addImportType("Web Page (*.html *.HTML *.xhtml *.XHTML)", "WebGui") FreeCAD.__unit_test__ += ["TestWebGui"]