Start: Allow to change the default import module for a filetype

By setting a DefaultImportXXX preferences parameter under Mod/Start,
one can specify a default import module to use when clicking a .XXX
file on the Start page. This is specially useful for filetypes that
have several importers, and the Start page would not let users
choose which importer to use.

Later on if this proves useful we can set up an UI to let the user
set their preferences better.
This commit is contained in:
Yorik van Havre
2023-02-15 14:53:15 +01:00
parent b0e50b8eb2
commit 79ea979eb1
2 changed files with 11 additions and 6 deletions

View File

@@ -35,10 +35,9 @@ if cfolders:
if not os.path.isdir(cfolder):
cfolder = os.path.dirname(cfolder)
f = unquote(filename).replace("+", " ")
if f.lower().endswith(".fcstd"):
FreeCAD.open(os.path.join(cfolder, f))
else:
FreeCAD.loadFile(os.path.join(cfolder, f))
ext = os.path.splitext(filename)[1].lower().strip(".")
mod = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Start").GetString("DefaultImport"+ext,"")
FreeCAD.loadFile(os.path.join(cfolder, f),mod)
FreeCADGui.activeDocument().sendMsgToViews("ViewFit")
from StartPage import StartPage

View File

@@ -19,10 +19,16 @@
#* *
#***************************************************************************
import os
import FreeCAD
import FreeCADGui
# MRU will be given before this script is run
rf=FreeCAD.ParamGet("User parameter:BaseApp/Preferences/RecentFiles")
FreeCADGui.loadFile(rf.GetString("MRU"+str(MRU)))
rf = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/RecentFiles")
filename = rf.GetString("MRU"+str(MRU))
ext = os.path.splitext(filename)[1].lower().strip(".")
mod = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Start").GetString("DefaultImport"+ext, "")
FreeCADGui.loadFile(filename, mod)
from StartPage import StartPage
StartPage.postStart()