1.1 --- a/exports.cpp Tue Jan 24 15:09:49 2006 +0000
1.2 +++ b/exports.cpp Wed Jan 25 09:04:00 2006 +0000
1.3 @@ -1,3 +1,5 @@
1.4 +#include <qmessagebox.h>
1.5 +
1.6 #include "exports.h"
1.7 #include "file.h"
1.8 #include "linkablemapobj.h"
1.9 @@ -143,15 +145,8 @@
1.10
1.11 ExportOO::ExportOO()
1.12 {
1.13 - // Create tmpdir and set paths
1.14 + // Create tmpdir
1.15 tmpDir.setPath (makeUniqueDir("/tmp/vym-XXXXXX"));
1.16 - templateDir="exports/novell/template/";
1.17 - contentTemplateFile=templateDir+"content-template.xml";
1.18 - contentFile=tmpDir.path()+"/content.xml";
1.19 - pageTemplateFile=templateDir+"page-template.xml";
1.20 - chapterTemplateFile=templateDir+"chapter-template.xml";
1.21 -
1.22 - outputFile=tmpDir.currentDirPath()+"/test.odp";
1.23 }
1.24
1.25 ExportOO::~ExportOO()
1.26 @@ -194,7 +189,7 @@
1.27 {
1.28 QString allPages;
1.29
1.30 - bool useChapters=true;
1.31 + bool useSections=true;
1.32
1.33 // Insert new content
1.34 content.replace ("<!-- INSERT TITLE -->",quotemeta(mapCenter->getHeading()));
1.35 @@ -203,29 +198,29 @@
1.36 QString onePage;
1.37 QString list;
1.38
1.39 - BranchObj *chapterBO=mapCenter->getFirstBranch();
1.40 + BranchObj *sectionBO=mapCenter->getFirstBranch();
1.41 int i=0;
1.42 BranchObj *pagesBO;
1.43 int j=0;
1.44
1.45 - // Walk chapters
1.46 - while (chapterBO)
1.47 + // Walk sections
1.48 + while (sectionBO)
1.49 {
1.50 - if (useChapters)
1.51 + if (useSections)
1.52 {
1.53 - // Add page with chapter title
1.54 - onePage=chapterTemplate;
1.55 - onePage.replace ("<!-- INSERT PAGE HEADING -->", quotemeta(chapterBO->getHeading() ) );
1.56 + // Add page with section title
1.57 + onePage=sectionTemplate;
1.58 + onePage.replace ("<!-- INSERT PAGE HEADING -->", quotemeta(sectionBO->getHeading() ) );
1.59 allPages+=onePage;
1.60 } else
1.61 {
1.62 i=-2; // only use inner loop to
1.63 // turn mainbranches into pages
1.64 - chapterBO=mapCenter;
1.65 + sectionBO=mapCenter;
1.66 }
1.67
1.68 // Walk mainpages
1.69 - pagesBO=chapterBO->getFirstBranch();
1.70 + pagesBO=sectionBO->getFirstBranch();
1.71 j=0;
1.72 while (pagesBO)
1.73 {
1.74 @@ -236,10 +231,10 @@
1.75 onePage.replace ("<!-- INSERT LIST -->", list);
1.76 allPages+=onePage;
1.77 j++;
1.78 - pagesBO=chapterBO->getBranchNum(j);
1.79 + pagesBO=sectionBO->getBranchNum(j);
1.80 }
1.81 i++;
1.82 - chapterBO=mapCenter->getBranchNum(i);
1.83 + sectionBO=mapCenter->getBranchNum(i);
1.84 }
1.85
1.86 content.replace ("<!-- INSERT PAGES -->",allPages);
1.87 @@ -260,7 +255,7 @@
1.88 zipDir (tmpDir,outputFile);
1.89 }
1.90
1.91 -void ExportOO::setConfigFile (const QString &cf)
1.92 +bool ExportOO::setConfigFile (const QString &cf)
1.93 {
1.94 configFile=cf;
1.95 int i=cf.findRev ("/");
1.96 @@ -271,39 +266,44 @@
1.97 // set paths
1.98 templateDir=configDir+"/"+set.readEntry ("Template");
1.99
1.100 - //FIXME check if templateDir is really set, otherwise abort
1.101 + QDir d (templateDir);
1.102 + if (!d.exists())
1.103 + {
1.104 + QMessageBox::critical (0,QObject::tr("Critical Export Error"),QObject::tr("Check \"%1\" in\n%2").arg("Template="+set.readEntry ("Template")).arg(configFile));
1.105 + return false;
1.106 +
1.107 + }
1.108
1.109 contentTemplateFile=templateDir+"content-template.xml";
1.110 contentFile=tmpDir.path()+"/content.xml";
1.111 pageTemplateFile=templateDir+"page-template.xml";
1.112 - chapterTemplateFile=templateDir+"chapter-template.xml";
1.113 + sectionTemplateFile=templateDir+"section-template.xml";
1.114
1.115 - outputFile=tmpDir.currentDirPath()+"/test.odp";
1.116 + outputFile=tmpDir.currentDirPath()+"/vym-out.odp";
1.117
1.118 // Copy template to tmpdir
1.119 system ("cp -r "+templateDir+"* "+tmpDir.path());
1.120 -
1.121
1.122 // Read content-template
1.123 if (!loadStringFromDisk (contentTemplateFile,content))
1.124 {
1.125 - qWarning ("Export::exportOO() Couldn't load from "+contentTemplateFile);
1.126 - return;
1.127 + QMessageBox::critical (0,QObject::tr("Critical Export Error"),QObject::tr("Could not read %1").arg(contentTemplateFile));
1.128 + return false;
1.129 }
1.130
1.131 // Read page-template
1.132 if (!loadStringFromDisk (pageTemplateFile,pageTemplate))
1.133 {
1.134 - qWarning ("Export::exportOO() Couldn't load from "+pageTemplateFile);
1.135 - return;
1.136 + QMessageBox::critical (0,QObject::tr("Critical Export Error"),QObject::tr("Could not read %1").arg(pageTemplateFile));
1.137 + return false;
1.138 }
1.139
1.140 - // Read chapter-template
1.141 - if (!loadStringFromDisk (chapterTemplateFile,chapterTemplate))
1.142 + // Read section-template
1.143 + if (!loadStringFromDisk (sectionTemplateFile,sectionTemplate))
1.144 {
1.145 - qWarning ("Export::exportOO() Couldn't load from "+chapterTemplateFile);
1.146 - return;
1.147 + QMessageBox::critical (0,QObject::tr("Critical Export Error"),QObject::tr("Could not read %1").arg(sectionTemplateFile));
1.148 + return false;
1.149 }
1.150 -
1.151 + return true;
1.152 }
1.153