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 a0731a0d86
commit 63043f0d33
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()