From adc8645dd1c78ced4be99255fa16030f11da66e1 Mon Sep 17 00:00:00 2001 From: Syres916 <46537884+Syres916@users.noreply.github.com> Date: Mon, 3 Jul 2023 15:47:48 +0100 Subject: [PATCH 1/7] [Start] Fix Minor Regression on LoadCustom Handle image files using FreeCADGui but all other formats using FreeCAD --- src/Mod/Start/StartPage/LoadCustom.py | 70 ++++++++++++++++++--------- 1 file changed, 47 insertions(+), 23 deletions(-) diff --git a/src/Mod/Start/StartPage/LoadCustom.py b/src/Mod/Start/StartPage/LoadCustom.py index 803e678be0..d8c3118cde 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,30 @@ 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() == "bmp" + or ext.lower() == "cur" + or ext.lower() == "gif" + or ext.lower() == "ico" + or ext.lower() == "pbm" + or ext.lower() == "pgm" + or ext.lower() == "png" + or ext.lower() == "jpg" + or ext.lower() == "jpeg" + or ext.lower() == "ppm" + or ext.lower() == "svg" + or ext.lower() == "svgz" + or ext.lower() == "xbm" + or ext.lower() == "xpm" + ): + App.newDocument() + FreeCADGui.insert(os.path.join(cfolder, f), App.activeDocument().Name) + App.activeDocument().recompute() + else: + FreeCAD.loadFile(os.path.join(cfolder, f), mod) FreeCADGui.activeDocument().sendMsgToViews("ViewFit") from StartPage import StartPage From 591b1241f98e5478d44ba5f4f5bc52f155c29d8c Mon Sep 17 00:00:00 2001 From: Syres916 <46537884+Syres916@users.noreply.github.com> Date: Tue, 4 Jul 2023 14:16:18 +0100 Subject: [PATCH 2/7] [Start] LoadCustom update conditionals --- src/Mod/Start/StartPage/LoadCustom.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/Mod/Start/StartPage/LoadCustom.py b/src/Mod/Start/StartPage/LoadCustom.py index d8c3118cde..e491fdc005 100644 --- a/src/Mod/Start/StartPage/LoadCustom.py +++ b/src/Mod/Start/StartPage/LoadCustom.py @@ -42,6 +42,14 @@ if cfolders: "DefaultImport" + ext, "" ) if ( + ext.lower() == "fcstd" + or ext.lower() == "step" + or ext.lower() == "stp" + or ext.lower() == "iges" + or ext.lower() == "igs" + ): + FreeCAD.loadFile(os.path.join(cfolder, f), mod) + elif ( ext.lower() == "bmp" or ext.lower() == "cur" or ext.lower() == "gif" @@ -57,11 +65,12 @@ if cfolders: or ext.lower() == "xbm" or ext.lower() == "xpm" ): - App.newDocument() - FreeCADGui.insert(os.path.join(cfolder, f), App.activeDocument().Name) - App.activeDocument().recompute() + FreeCAD.newDocument() + FreeCADGui.insert(os.path.join(cfolder, f), FreeCAD.activeDocument().Name) + FreeCAD.activeDocument().recompute() else: - FreeCAD.loadFile(os.path.join(cfolder, f), mod) + FreeCADGui.loadFile(os.path.join(cfolder, f), mod) + FreeCADGui.activeDocument().sendMsgToViews("ViewFit") FreeCADGui.activeDocument().sendMsgToViews("ViewFit") from StartPage import StartPage From 41b02ca7032609cea9fa30668edb06d4387aaf8b Mon Sep 17 00:00:00 2001 From: Syres916 <46537884+Syres916@users.noreply.github.com> Date: Tue, 4 Jul 2023 14:17:44 +0100 Subject: [PATCH 3/7] [Start] LoadMRU Update Conditionals --- src/Mod/Start/StartPage/LoadMRU.py | 35 ++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/src/Mod/Start/StartPage/LoadMRU.py b/src/Mod/Start/StartPage/LoadMRU.py index 95421f095e..409422df4d 100644 --- a/src/Mod/Start/StartPage/LoadMRU.py +++ b/src/Mod/Start/StartPage/LoadMRU.py @@ -27,8 +27,39 @@ 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() == "fcstd" + or ext.lower() == "step" + or ext.lower() == "stp" + or ext.lower() == "iges" + or ext.lower() == "igs" +): + FreeCAD.loadFile(os.path.join(cfolder, f), mod) +elif ( + ext.lower() == "bmp" + or ext.lower() == "cur" + or ext.lower() == "gif" + or ext.lower() == "ico" + or ext.lower() == "pbm" + or ext.lower() == "pgm" + or ext.lower() == "png" + or ext.lower() == "jpg" + or ext.lower() == "jpeg" + or ext.lower() == "ppm" + or ext.lower() == "svg" + or ext.lower() == "svgz" + or ext.lower() == "xbm" + or ext.lower() == "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 StartPage.postStart() From bf01d23b76ad27d636c927d1feb1610342b9b85c Mon Sep 17 00:00:00 2001 From: Syres916 <46537884+Syres916@users.noreply.github.com> Date: Tue, 4 Jul 2023 14:19:47 +0100 Subject: [PATCH 4/7] Remove Duplicate line --- src/Mod/Start/StartPage/LoadCustom.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Mod/Start/StartPage/LoadCustom.py b/src/Mod/Start/StartPage/LoadCustom.py index e491fdc005..a1a723c137 100644 --- a/src/Mod/Start/StartPage/LoadCustom.py +++ b/src/Mod/Start/StartPage/LoadCustom.py @@ -71,7 +71,6 @@ if cfolders: else: FreeCADGui.loadFile(os.path.join(cfolder, f), mod) FreeCADGui.activeDocument().sendMsgToViews("ViewFit") - FreeCADGui.activeDocument().sendMsgToViews("ViewFit") from StartPage import StartPage StartPage.postStart() From 64852d073f405b9279f8e3a77b1b56241e6cf29b Mon Sep 17 00:00:00 2001 From: Syres916 <46537884+Syres916@users.noreply.github.com> Date: Tue, 4 Jul 2023 14:36:47 +0100 Subject: [PATCH 5/7] Correct filename variable --- src/Mod/Start/StartPage/LoadMRU.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Mod/Start/StartPage/LoadMRU.py b/src/Mod/Start/StartPage/LoadMRU.py index 409422df4d..ff56fc9682 100644 --- a/src/Mod/Start/StartPage/LoadMRU.py +++ b/src/Mod/Start/StartPage/LoadMRU.py @@ -37,7 +37,7 @@ if ( or ext.lower() == "iges" or ext.lower() == "igs" ): - FreeCAD.loadFile(os.path.join(cfolder, f), mod) + FreeCAD.loadFile(filename, mod) elif ( ext.lower() == "bmp" or ext.lower() == "cur" @@ -55,10 +55,10 @@ elif ( or ext.lower() == "xpm" ): FreeCAD.newDocument() - FreeCADGui.insert(os.path.join(cfolder, f), FreeCAD.activeDocument().Name) + FreeCADGui.insert(filename, FreeCAD.activeDocument().Name) FreeCAD.activeDocument().recompute() else: - FreeCADGui.loadFile(os.path.join(cfolder, f), mod) + FreeCADGui.loadFile(filename, mod) FreeCADGui.activeDocument().sendMsgToViews("ViewFit") from StartPage import StartPage From da66e8bf6e2d518edb809afa861640b8c98a0d72 Mon Sep 17 00:00:00 2001 From: Syres916 <46537884+Syres916@users.noreply.github.com> Date: Fri, 7 Jul 2023 10:44:02 +0100 Subject: [PATCH 6/7] Reduce number of lines of code --- src/Mod/Start/StartPage/LoadCustom.py | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/src/Mod/Start/StartPage/LoadCustom.py b/src/Mod/Start/StartPage/LoadCustom.py index a1a723c137..e2401b2903 100644 --- a/src/Mod/Start/StartPage/LoadCustom.py +++ b/src/Mod/Start/StartPage/LoadCustom.py @@ -42,28 +42,12 @@ if cfolders: "DefaultImport" + ext, "" ) if ( - ext.lower() == "fcstd" - or ext.lower() == "step" - or ext.lower() == "stp" - or ext.lower() == "iges" - or ext.lower() == "igs" + ext.lower() in ("fcstd", "stp", "step", "iges", "igs") ): FreeCAD.loadFile(os.path.join(cfolder, f), mod) elif ( - ext.lower() == "bmp" - or ext.lower() == "cur" - or ext.lower() == "gif" - or ext.lower() == "ico" - or ext.lower() == "pbm" - or ext.lower() == "pgm" - or ext.lower() == "png" - or ext.lower() == "jpg" - or ext.lower() == "jpeg" - or ext.lower() == "ppm" - or ext.lower() == "svg" - or ext.lower() == "svgz" - or ext.lower() == "xbm" - or ext.lower() == "xpm" + 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) From d01c9638771a3ce771e76ed800cf3b5119af8c34 Mon Sep 17 00:00:00 2001 From: Syres916 <46537884+Syres916@users.noreply.github.com> Date: Fri, 7 Jul 2023 10:45:22 +0100 Subject: [PATCH 7/7] Reduce the number of lines of code --- src/Mod/Start/StartPage/LoadMRU.py | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/src/Mod/Start/StartPage/LoadMRU.py b/src/Mod/Start/StartPage/LoadMRU.py index ff56fc9682..4de8c69c8c 100644 --- a/src/Mod/Start/StartPage/LoadMRU.py +++ b/src/Mod/Start/StartPage/LoadMRU.py @@ -31,28 +31,12 @@ mod = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Start").GetString "DefaultImport"+ext, "" ) if ( - ext.lower() == "fcstd" - or ext.lower() == "step" - or ext.lower() == "stp" - or ext.lower() == "iges" - or ext.lower() == "igs" + ext.lower() in ("fcstd", "stp", "step", "iges", "igs") ): FreeCAD.loadFile(filename, mod) elif ( - ext.lower() == "bmp" - or ext.lower() == "cur" - or ext.lower() == "gif" - or ext.lower() == "ico" - or ext.lower() == "pbm" - or ext.lower() == "pgm" - or ext.lower() == "png" - or ext.lower() == "jpg" - or ext.lower() == "jpeg" - or ext.lower() == "ppm" - or ext.lower() == "svg" - or ext.lower() == "svgz" - or ext.lower() == "xbm" - or ext.lower() == "xpm" + 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)