Skip to content

Commit

Permalink
File formats: Uppercase file types when importing a file. (#10977)
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
Predko committed Oct 16, 2023
1 parent 1547003 commit f76f842
Show file tree
Hide file tree
Showing 18 changed files with 46 additions and 46 deletions.
2 changes: 1 addition & 1 deletion src/Gui/Application.cpp
Expand Up @@ -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 << ")";

Expand Down
6 changes: 3 additions & 3 deletions src/Gui/FreeCADGuiInit.py
Expand Up @@ -301,9 +301,9 @@ def _SoGroup_init(self,*args):
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")

Check warning on line 305 in src/Gui/FreeCADGuiInit.py

View workflow job for this annotation

GitHub Actions / Lint / Lint

Line too long (105/100) (line-too-long)
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")
Expand Down
12 changes: 6 additions & 6 deletions src/Mod/Arch/Init.py
Expand Up @@ -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")
2 changes: 1 addition & 1 deletion src/Mod/Assembly/Init.py
Expand Up @@ -33,5 +33,5 @@

# 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()
10 changes: 5 additions & 5 deletions src/Mod/Draft/Init.py
Expand Up @@ -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"]
14 changes: 7 additions & 7 deletions src/Mod/Fem/Init.py
Expand Up @@ -63,31 +63,31 @@

# 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"
)

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")
2 changes: 1 addition & 1 deletion src/Mod/Idf/Init.py
Expand Up @@ -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")
6 changes: 3 additions & 3 deletions src/Mod/Import/Init.py
Expand Up @@ -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")
2 changes: 1 addition & 1 deletion src/Mod/Import/InitGui.py
Expand Up @@ -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")

Expand Down
14 changes: 7 additions & 7 deletions src/Mod/Mesh/Init.py
Expand Up @@ -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")
Expand Down
4 changes: 2 additions & 2 deletions src/Mod/OpenSCAD/Init.py
Expand Up @@ -26,15 +26,15 @@
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")
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")
Expand Down
2 changes: 1 addition & 1 deletion src/Mod/OpenSCAD/InitGui.py
Expand Up @@ -93,7 +93,7 @@ def QT_TRANSLATE_NOOP(scope, text):

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
Expand Down
6 changes: 3 additions & 3 deletions src/Mod/Part/Init.py
Expand Up @@ -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" ]
2 changes: 1 addition & 1 deletion src/Mod/Path/InitGui.py
Expand Up @@ -346,4 +346,4 @@ def ContextMenu(self, recipient):

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")
2 changes: 1 addition & 1 deletion src/Mod/Points/Init.py
Expand Up @@ -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")
2 changes: 1 addition & 1 deletion src/Mod/Spreadsheet/Init.py
Expand Up @@ -35,6 +35,6 @@
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"]
2 changes: 1 addition & 1 deletion src/Mod/Spreadsheet/InitGui.py
Expand Up @@ -49,4 +49,4 @@ def GetClassName(self):
Gui.addWorkbench(SpreadsheetWorkbench())

# Append the open handler
FreeCAD.addImportType("Spreadsheet formats (*.csv)", "SpreadsheetGui")
FreeCAD.addImportType("Spreadsheet formats (*.csv *.CSV)", "SpreadsheetGui")
2 changes: 1 addition & 1 deletion src/Mod/Web/InitGui.py
Expand Up @@ -46,6 +46,6 @@ def GetClassName(self):
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"]

0 comments on commit f76f842

Please sign in to comment.