From 793393cad3ba8627ec7dbf95c5b18ce423dae71c 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 f41b0624678e26a2efed7cb708d9c9a5b9118aea 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 93ed55ee40610a8cd39eaf07621aa7f1413a9417 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 bc97b93905ed6d973f09a0b4f502e602ac6f11f6 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 07e14ce468ba544c168b48e21821d23642ebddf8 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 696208116b80c5e2c6b7fab0d8aaf8d726a77d56 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 37e6e7dbc5e8e0de7cac586e4c9ba3ba7c3c5748 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)