src/ldDocument.cc

changeset 850
a3d72b0e916d
parent 848
68410477c8bb
child 855
e16f1587ef44
equal deleted inserted replaced
849:4af6f977d04b 850:a3d72b0e916d
30 #include "editHistory.h" 30 #include "editHistory.h"
31 #include "dialogs.h" 31 #include "dialogs.h"
32 #include "glRenderer.h" 32 #include "glRenderer.h"
33 #include "glCompiler.h" 33 #include "glCompiler.h"
34 34
35 CFGENTRY (String, ldrawPath, "") 35 CFGENTRY (String, LDrawPath, "")
36 CFGENTRY (List, recentFiles, {}) 36 CFGENTRY (List, RecentFiles, {})
37 EXTERN_CFGENTRY (String, downloadFilePath) 37 EXTERN_CFGENTRY (String, DownloadFilePath)
38 EXTERN_CFGENTRY (Bool, useLogoStuds) 38 EXTERN_CFGENTRY (Bool, UseLogoStuds)
39 39
40 static bool g_loadingMainFile = false; 40 static bool g_loadingMainFile = false;
41 static const int g_maxRecentFiles = 10; 41 static const int g_maxRecentFiles = 10;
42 static bool g_aborted = false; 42 static bool g_aborted = false;
43 static LDDocumentPtr g_logoedStud; 43 static LDDocumentPtr g_logoedStud;
60 QString partsPath, primsPath; 60 QString partsPath, primsPath;
61 } pathInfo; 61 } pathInfo;
62 62
63 void initPaths() 63 void initPaths()
64 { 64 {
65 if (not tryConfigure (cfg::ldrawPath)) 65 if (not tryConfigure (cfg::LDrawPath))
66 { 66 {
67 LDrawPathDialog dlg (false); 67 LDrawPathDialog dlg (false);
68 68
69 if (not dlg.exec()) 69 if (not dlg.exec())
70 exit (0); 70 exit (0);
71 71
72 cfg::ldrawPath = dlg.filename(); 72 cfg::LDrawPath = dlg.filename();
73 } 73 }
74 } 74 }
75 75
76 bool tryConfigure (QString path) 76 bool tryConfigure (QString path)
77 { 77 {
309 309
310 if (QFile::exists (relpath)) 310 if (QFile::exists (relpath))
311 return relpath; 311 return relpath;
312 312
313 // Try with just the LDraw path first 313 // Try with just the LDraw path first
314 fullPath = format ("%1" DIRSLASH "%2", cfg::ldrawPath, relpath); 314 fullPath = format ("%1" DIRSLASH "%2", cfg::LDrawPath, relpath);
315 315
316 if (QFile::exists (fullPath)) 316 if (QFile::exists (fullPath))
317 return fullPath; 317 return fullPath;
318 318
319 if (subdirs) 319 if (subdirs)
320 { 320 {
321 // Look in sub-directories: parts and p. Also look in net_downloadpath, since that's 321 // Look in sub-directories: parts and p. Also look in net_downloadpath, since that's
322 // where we download parts from the PT to. 322 // where we download parts from the PT to.
323 for (const QString& topdir : QList<QString> ({ cfg::ldrawPath, cfg::downloadFilePath })) 323 for (const QString& topdir : QList<QString> ({ cfg::LDrawPath, cfg::DownloadFilePath }))
324 { 324 {
325 for (const QString& subdir : QList<QString> ({ "parts", "p" })) 325 for (const QString& subdir : QList<QString> ({ "parts", "p" }))
326 { 326 {
327 fullPath = format ("%1" DIRSLASH "%2" DIRSLASH "%3", topdir, subdir, relpath); 327 fullPath = format ("%1" DIRSLASH "%2" DIRSLASH "%3", topdir, subdir, relpath);
328 328
654 654
655 // ============================================================================= 655 // =============================================================================
656 // 656 //
657 void addRecentFile (QString path) 657 void addRecentFile (QString path)
658 { 658 {
659 auto& rfiles = cfg::recentFiles; 659 auto& rfiles = cfg::RecentFiles;
660 int idx = rfiles.indexOf (path); 660 int idx = rfiles.indexOf (path);
661 661
662 // If this file already is in the list, pop it out. 662 // If this file already is in the list, pop it out.
663 if (idx != -1) 663 if (idx != -1)
664 { 664 {
1320 LDObjectList LDDocument::inlineContents (bool deep, bool renderinline) 1320 LDObjectList LDDocument::inlineContents (bool deep, bool renderinline)
1321 { 1321 {
1322 // Possibly substitute with logoed studs: 1322 // Possibly substitute with logoed studs:
1323 // stud.dat -> stud-logo.dat 1323 // stud.dat -> stud-logo.dat
1324 // stud2.dat -> stud-logo2.dat 1324 // stud2.dat -> stud-logo2.dat
1325 if (cfg::useLogoStuds and renderinline) 1325 if (cfg::UseLogoStuds and renderinline)
1326 { 1326 {
1327 // Ensure logoed studs are loaded first 1327 // Ensure logoed studs are loaded first
1328 loadLogoedStuds(); 1328 loadLogoedStuds();
1329 1329
1330 if (name() == "stud.dat" and g_logoedStud != null) 1330 if (name() == "stud.dat" and g_logoedStud != null)

mercurial