fix ODT rendering, complete eventsummary
authorkonrad <konrad@6e3c4bff-ac9f-4ac1-96c5-d2ea494d3e33>
Wed, 19 Mar 2008 18:16:45 +0000 (18:16 +0000)
committerkonrad <konrad@6e3c4bff-ac9f-4ac1-96c5-d2ea494d3e33>
Wed, 19 Mar 2008 18:16:45 +0000 (18:16 +0000)
git-svn-id: https://silmor.de/svn/softmagic/smoke/trunk@132 6e3c4bff-ac9f-4ac1-96c5-d2ea494d3e33

examples/eventsummary.odtt
src/eventsummary.cpp
src/eventsummary.h
src/odtrender.cpp
www/inc/classes/event.php

index 0692500..85c37b0 100644 (file)
Binary files a/examples/eventsummary.odtt and b/examples/eventsummary.odtt differ
index e771b47..0a9acdb 100644 (file)
@@ -22,6 +22,7 @@
 #include <QDomElement>
 #include <QBoxLayout>
 #include <QGridLayout>
+#include <QFileDialog>
 
 MEventSummary::MEventSummary(QWidget*par,MWebRequest*rq,int eid)
        :QDialog(par)
@@ -84,6 +85,7 @@ MEventSummary::MEventSummary(QWidget*par,MWebRequest*rq,int eid)
        hl->addWidget(p=new QPushButton(tr("Print")),0);
        connect(p,SIGNAL(clicked()),this,SLOT(print()));
        hl->addWidget(p=new QPushButton(tr("Save as...")),0);
+       connect(p,SIGNAL(clicked()),this,SLOT(saveas()));
        hl->addSpacing(15);
        hl->addWidget(p=new QPushButton(tr("Close")),0);
        connect(p,SIGNAL(clicked()),this,SLOT(accept()));
@@ -144,6 +146,27 @@ void MEventSummary::print()
        rend.renderToPrinter();
 }
 
+void MEventSummary::saveas()
+{
+       QFileDialog fd(this);
+       fd.setAcceptMode(QFileDialog::AcceptSave);
+       fd.setFileMode(QFileDialog::AnyFile);
+       fd.setConfirmOverwrite(true);
+       fd.setFilter("Open Document Text (*.odt)");
+       fd.setDefaultSuffix("odt");
+       QString fname;
+       if(fd.exec()){
+               QStringList fn=fd.selectedFiles();
+               if(fn.size()<1)return;
+               fname=fn[0];
+       }
+       MOdtSignalRenderer rend("../examples/eventsummary.odtt");
+       connect(&rend,SIGNAL(getVariable(QString,QString&)),this,SLOT(getVariable(QString,QString&)));
+       connect(&rend,SIGNAL(getLoopIterations(QString,int&)),this,SLOT(getLoopIterations(QString,int&)));
+       connect(&rend,SIGNAL(getLoopVariable(QString,int,QString,QString&)),this,SLOT(getLoopVariable(QString,int,QString,QString&)));
+       rend.renderToFile(fname);
+}
+
 void MEventSummary::getVariable(QString varname,QString&value)
 {
        if(varname=="TITLE")
index 8ac219d..cc791dc 100644 (file)
@@ -33,6 +33,8 @@ class MEventSummary:public QDialog
        private slots:
                /**internal: print summary*/
                void print();
+               /**internal: save summary to file*/
+               void saveas();
                
                //used for ODT rendering:
                void getVariable(QString varname,QString&value);
index 50ee487..f832cb7 100644 (file)
@@ -73,7 +73,7 @@ MOdtRendererPrivate::~MOdtRendererPrivate()
 void MOdtRenderer::renderToFile(QString file)
 {
        QFile f(file);
-       if(f.open(QIODevice::WriteOnly)){
+       if(f.open(QIODevice::ReadWrite)){
                renderToFile(f);
                f.close();
        }
@@ -83,7 +83,7 @@ void MOdtRenderer::renderToFile(QFile &file)
 {
        qDebug("File Name: %s",file.fileName().toAscii().data());
        if(!file.isWritable())
-               if(!file.open(QIODevice::WriteOnly))return;
+               if(!file.open(QIODevice::ReadWrite))return;
        file.seek(0);
        file.resize(0);
        d->render(&file);
index 4d23089..ded9731 100644 (file)
@@ -364,9 +364,9 @@ function getEventSummaryXml($evid)
                else
                        $p->setAttribute("unused",0);
                if(isset($tcused[$price]))
-                       $p->setAttribute("unused",$tcused[$price]);
+                       $p->setAttribute("used",$tcused[$price]);
                else
-                       $p->setAttribute("unused",0);
+                       $p->setAttribute("used",0);
                $doc->appendChild($p);
        }
        $xml->appendChild($doc);