diff --git a/src/Mod/Start/StartPage/LoadCustom.py b/src/Mod/Start/StartPage/LoadCustom.py index 803e678be0..e2401b2903 100644 --- a/src/Mod/Start/StartPage/LoadCustom.py +++ b/src/Mod/Start/StartPage/LoadCustom.py @@ -1,23 +1,23 @@ -#*************************************************************************** -#* Copyright (c) 2018 Yorik van Havre * -#* * -#* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* This program is distributed in the hope that it will be useful, * -#* but WITHOUT ANY WARRANTY; without even the implied warranty of * -#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * -#* GNU Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * -#* License along with this program; if not, write to the Free Software * -#* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * -#*************************************************************************** +# *************************************************************************** +# * Copyright (c) 2018 Yorik van Havre * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** import os import FreeCAD @@ -27,7 +27,9 @@ from urllib.parse import unquote # filename will be given before this script is run -cfolders = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Start").GetString("ShowCustomFolder","") +cfolders = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Start").GetString( + "ShowCustomFolder", "" +) if cfolders: dirnumber = int(filename[0]) filename = filename[2:] @@ -36,8 +38,22 @@ if cfolders: cfolder = os.path.dirname(cfolder) f = unquote(filename).replace("+", " ") ext = os.path.splitext(filename)[1].lower().strip(".") - mod = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Start").GetString("DefaultImport"+ext,"") - FreeCADGui.loadFile(os.path.join(cfolder, f),mod) + mod = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Start").GetString( + "DefaultImport" + ext, "" + ) + if ( + ext.lower() in ("fcstd", "stp", "step", "iges", "igs") + ): + FreeCAD.loadFile(os.path.join(cfolder, f), mod) + elif ( + ext.lower() in ("bmp", "cur", "gif", "ico", "pbm", "pgm", "png", "jpg", + "jpeg", "ppm", "svg", "svgz", "xbm", "xpm") + ): + FreeCAD.newDocument() + FreeCADGui.insert(os.path.join(cfolder, f), FreeCAD.activeDocument().Name) + FreeCAD.activeDocument().recompute() + else: + FreeCADGui.loadFile(os.path.join(cfolder, f), mod) FreeCADGui.activeDocument().sendMsgToViews("ViewFit") from StartPage import StartPage diff --git a/src/Mod/Start/StartPage/LoadMRU.py b/src/Mod/Start/StartPage/LoadMRU.py index 95421f095e..4de8c69c8c 100644 --- a/src/Mod/Start/StartPage/LoadMRU.py +++ b/src/Mod/Start/StartPage/LoadMRU.py @@ -27,8 +27,23 @@ import FreeCADGui 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) +mod = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Start").GetString( + "DefaultImport"+ext, "" +) +if ( + ext.lower() in ("fcstd", "stp", "step", "iges", "igs") +): + FreeCAD.loadFile(filename, mod) +elif ( + ext.lower() in ("bmp", "cur", "gif", "ico", "pbm", "pgm", "png", "jpg", + "jpeg", "ppm", "svg", "svgz", "xbm", "xpm") +): + FreeCAD.newDocument() + FreeCADGui.insert(filename, FreeCAD.activeDocument().Name) + FreeCAD.activeDocument().recompute() +else: + FreeCADGui.loadFile(filename, mod) +FreeCADGui.activeDocument().sendMsgToViews("ViewFit") from StartPage import StartPage StartPage.postStart()