void MEventSummary::print()
{
- MOdtSignalRenderer("").renderToPrinter("");
-}
\ No newline at end of file
+ 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.renderToPrinter();
+}
+
+void MEventSummary::getVariable(QString varname,QString&value)
+{
+ if(varname=="TITLE")
+ value=title;
+ else
+ if(varname=="ARTIST")
+ value=artist;
+ else
+ if(varname=="START")
+ value=QDateTime::fromTime_t(starttime).toString(tr("yyyy-MM-dd hh:mm ap","Date+Time format for displaying event start time"));
+ else
+ if(varname=="CAPACITY")
+ value=QString::number(capacity);
+ else
+ if(varname=="RESERVED")
+ value=QString::number(nreserved);
+ else
+ if(varname=="BOUGHT")
+ value=QString::number(ntotaltickets);
+ else
+ if(varname=="USED"){
+ int nused=0;
+ for(int i=0;i<tickets.size();i++)nused+=tickets[i].used;
+ value=QString::number(nused);
+ }else
+ if(varname=="UNUSED"){
+ int nunused=0;
+ for(int i=0;i<tickets.size();i++)nunused+=tickets[i].unused;
+ value=QString::number(nunused);
+ }else
+ if(varname=="CANCELLED")
+ value=QString::number(ncancelled);
+ else
+ if(varname=="TOTALMONEY")
+ value=QString::number(ntotalmoney/100)
+ +tr(".","decimal dot")
+ +QString().sprintf("%02d",ntotalmoney%100);
+}
+
+void MEventSummary::getLoopIterations(QString loopname,int&iterations)
+{
+ if(loopname=="TICKETS")iterations=tickets.size();
+}
+
+void MEventSummary::getLoopVariable(QString loopname,int iteration,QString varname,QString&value)
+{
+ if(loopname!="TICKETS")return;
+ if(iteration<0 || iteration>=tickets.size())return;
+
+ if(varname=="PRICE"){
+ int p=tickets[iteration].price;
+ value=QString::number(p/100)
+ +tr(".","decimal dot")
+ +QString().sprintf("%02d",p%100);
+ }else
+ if(varname=="BOUGHT")value=QString::number(tickets[iteration].bought);else
+ if(varname=="USED")value=QString::number(tickets[iteration].used);else
+ if(varname=="UNUSED")value=QString::number(tickets[iteration].unused);
+}
/**internal: print summary*/
void print();
+ //used for ODT rendering:
+ void getVariable(QString varname,QString&value);
+ void getLoopIterations(QString loopname,int&iterations);
+ void getLoopVariable(QString loopname,int iteration,QString varname,QString&value);
+
private:
MWebRequest*req;
int eventid,starttime,capacity;
#include <QTemporaryFile>
#include <QDir>
#include <QFile>
+#include <QProcess>
#include "zip/qunzip.h"
#include "zip/qzip.h"
+
+QString MOdtRenderer::openOfficePath(){return officepath;}
+void MOdtRenderer::setOpenOfficePath(QString p){officepath=p;}
+QString MOdtRenderer::officepath="soffice";
+
+
class MOdtRendererPrivate
{
protected:
friend class MOdtRenderer;
MOdtRendererPrivate(QString file,MOdtRenderer*p);
+ ~MOdtRendererPrivate();
void render(QIODevice*);
-
+ QString render(QString);
+ QString renderLine(QString,QString,int);
private:
MOdtRenderer*parent;
parent=p;
//open ZIP
if(tfile.open(QIODevice::ReadOnly))temp.open(&tfile);
+ //TODO: make sure this is a valid ZIP file, preferably with some ODT content
}
MOdtRenderer::~MOdtRenderer()
delete d;
d=0;
}
+MOdtRendererPrivate::~MOdtRendererPrivate()
+{
+ temp.close();
+ tfile.close();
+}
void MOdtRenderer::renderToFile(QString file)
{
QFile f(file);
if(f.open(QIODevice::WriteOnly)){
renderToFile(f);
+ f.close();
}
}
void MOdtRenderer::renderToFile(QFile &file)
{
qDebug("File Name: %s",file.fileName().toAscii().data());
-
+ if(!file.isWritable())
+ if(!file.open(QIODevice::WriteOnly))return;
+ file.seek(0);
+ file.resize(0);
+ d->render(&file);
}
-void MOdtRenderer::renderToPrinter(QString printername)
+void MOdtRenderer::renderToPrinter()
{
//generate temporary file
QTemporaryFile tfile;
+ tfile.setAutoRemove(false);
tfile.setFileTemplate(QDir::tempPath()+"/msmoke_XXXXXX.odt");
tfile.open();
+ QString tname=tfile.fileName();
//render
renderToFile(tfile);
+ tfile.close();
//call ooffice and print
-
+ QProcess proc;
+ proc.start(officepath,QStringList()<<"-p"<<tname);
+ proc.waitForFinished();
+ //remove temporary file
+ QFile(tname).remove();
+}
+
+void MOdtRendererPrivate::render(QIODevice*out)
+{
+ //sanity check
+ if(!temp.isOpen())return;
+ if(!out->isWritable())return;
+ //rewind input
+ if(!temp.gotoFirstFile())return;
+ //create output
+ QZip ozip;
+ ozip.open(out);
+ //copy contents
+ do{
+ QString cname;
+ QDateTime tstamp;
+ temp.getCurrentFileInfo(cname,&tstamp);
+ if(cname=="content.xml"){
+ //get content
+ QBuffer buffer;
+ buffer.open(QBuffer::ReadWrite);
+ temp.getCurrentFile(buffer);
+ //render
+ QByteArray cont=render(QString::fromUtf8(buffer.data())).toUtf8();
+ //write
+ buffer.close();
+ buffer.setData(cont);
+ buffer.open(QBuffer::ReadWrite);
+ buffer.seek(0);
+ ozip.storeFile(cname,buffer,tstamp);
+ }else{
+ //copy unchanged
+ QBuffer buffer;
+ buffer.open(QBuffer::ReadWrite);
+ int meth;
+ unsigned long crc,usz;
+ temp.getCurrentFileRaw(buffer,meth,crc,usz);
+ buffer.seek(0);
+ ozip.storeFileRaw(cname,buffer,tstamp,meth,crc,usz);
+ }
+ }while(temp.gotoNextFile());
+ ozip.close();
+}
+
+QString MOdtRendererPrivate::render(QString s)
+{
+ //buffer for the whole file
+ QStringList fbuf=s.split("\n");
+ //buffer for loops
+ QStringList lbuf;
+ QString lname;
+ //buffer for return value
+ QString ret;
+ //go through all lines
+ bool isloop=false;
+ for(int i=0;i<fbuf.size();i++){
+ //are we inside a loop?
+ if(isloop){
+ //is this the end of the loop?
+ if(fbuf[i].trimmed()=="#ENDLOOP"){
+ //get iterations
+ int lcnt=parent->getLoopIterations(lname);
+ //render the loop...
+ for(int j=0;j<lcnt;j++){
+ //...line by line
+ for(int k=0;k<lbuf.size();k++){
+ ret+=renderLine(lbuf[k],lname,j);
+ ret+="\n";
+ }
+ }
+ //reset state
+ isloop=false;
+ lbuf.clear();
+ lname="";
+ }else{//not finished yet
+ //collect lines
+ lbuf<<fbuf[i];
+ }
+ }else{//not inside a loop
+ //is this the start of a loop?
+ if(fbuf[i].trimmed().startsWith("#LOOP:")){
+ lname=fbuf[i].trimmed().mid(6).trimmed();
+ isloop=true;
+ }else{//not a loop
+ //convert line
+ ret+=renderLine(fbuf[i],"",-1);
+ ret+="\n";
+ }
+ }
+ }
+ //return result
+ return ret;
}
+QString MOdtRendererPrivate::renderLine(QString line,QString loop,int lpos)
+{
+ QString ret,vname;
+ bool isvar=false;
+ static QString vc="ABCDEFGHIJKLMNOPQRSTUVWXYZ:";
+ //scan characters
+ for(int i=0;i<line.size();i++){
+ //are we currently inside a variable name?
+ if(isvar){
+ //end of var?
+ if(line[i]=='@'){
+ if(vname=="")ret+="@";
+ else{
+ QStringList vl=vname.split(":");
+ if(vl.size()>2){
+ //this was a mistake, reset
+ ret+="@";
+ ret+=vname+"@";
+ }else
+ if(vl.size()==2){
+ //this is a loop variable,
+ //check that it is the right loop
+ //or any loop at all...
+ if(loop!="" && loop==vl[0]){
+ //get value
+ ret+=parent->getLoopVariable(loop,lpos,vl[1]);
+ }
+ }else
+ //this is a normal variable, get valie
+ ret+=parent->getVariable(vname);
+ }
+ //reset mode
+ isvar=false;
+ vname="";
+ }else
+ //continuation of var?
+ if(vc.contains(line[i])){
+ //valid var-name-letter, add
+ vname+=line[i];
+ }else{//not a valid var-name-letter
+ //reset
+ isvar=false;
+ ret+="@";
+ ret+=vname;
+ vname="";
+ }
+ }else{//not inside variable name
+ //is this the start of a var?
+ if(line[i]=='@'){
+ isvar=true;
+ vname="";
+ }else{
+ ret+=line[i];
+ }
+ }
+ }
+ //anything left over?
+ if(isvar){
+ //reset
+ ret+="@"+vname;
+ }
+ //return transformed line
+ return ret;
+}
/********************************************************************/
virtual void renderToFile(QFile& file);
/**starts the internal rendering routine and outputs to printer (calls OpenOffice to print)*/
- virtual void renderToPrinter(QString printername);
+ virtual void renderToPrinter();
+
+ /**returns the currently configured path to OpenOffice*/
+ static QString openOfficePath();
+
+ /**sets the path to OpenOffice*/
+ static void setOpenOfficePath(QString);
protected:
friend class MOdtRendererPrivate;
virtual QString getLoopVariable(QString loopname,int iteration,QString varname)=0;
private:
MOdtRendererPrivate*d;
+ static QString officepath;
};
/**generic class that implements MOdtRenderer by calling signals; the signals must be connected using a direct or blocking connection; if any of them is not used it will behave as if the variable/loop did not exist*/
signals:
/**connect this to return the value of a variable during rendering; should return empty string if the variable does not exist*/
- virtual void getVariable(QString varname,QString&value);
+ void getVariable(QString varname,QString&value);
/**connect this to return the amount of iterations for a defined loop; should return 0 if the loop does not exist*/
- virtual void getLoopIterations(QString loopname,int&iterations);
+ void getLoopIterations(QString loopname,int&iterations);
/**connect this to return a specific instance of a loop internal variable; should return empty string if the request is not valid*/
- virtual void getLoopVariable(QString loopname,int iteration,QString varname,QString&value);
+ void getLoopVariable(QString loopname,int iteration,QString varname,QString&value);
protected:
QString getVariable(QString varname);
<translation>Sie haben nicht das Recht diese Transaktin durchzuführen.</translation>
</message>
<message>
- <location filename="../www/machine.php" line="274"/>
+ <location filename="../www/machine.php" line="280"/>
<source>Internal Error: unknown command, hiccup in code structure.</source>
<translation>Interner Fehler: unbekanntes Kommando, Fehler in Code-Struktur. Bitte melden Sie diesen Fehler und wie es dazu kam dem Programmierer.</translation>
</message>
<source>settemplate</source>
<translation>Vorlage erstellen</translation>
</message>
+ <message>
+ <location filename="../www/machine.php" line="23"/>
+ <source>eventsummary</source>
+ <translation>Veranstaltungübersicht</translation>
+ </message>
</context>
<context>
<name>MCheckDialog</name>
</message>
</context>
<context>
+ <name>MEventSummary</name>
+ <message>
+ <location filename="eventsummary.cpp" line="36"/>
+ <source>Summary for Event %1</source>
+ <translation>Übersicht zu Veranstaltung %1</translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="42"/>
+ <source>Title:</source>
+ <translation>Titel:</translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="44"/>
+ <source>Artist:</source>
+ <translation>Künstler:</translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="46"/>
+ <source>Start:</source>
+ <translation>Beginn:</translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="156"/>
+ <source>yyyy-MM-dd hh:mm ap</source>
+ <comment>Date+Time format for displaying event start time</comment>
+ <translation>ddd, d.M.yyyy hh:mm</translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="49"/>
+ <source>Capacity:</source>
+ <translation>Sitzplätze:</translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="51"/>
+ <source>Tickets currently reserved:</source>
+ <translation>Momentan reservierte Karten:</translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="53"/>
+ <source>Tickets currently cancelled:</source>
+ <translation>Momentan abgesagte Karten:</translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="55"/>
+ <source>Tickets currently usable:</source>
+ <translation>Momentan nutzbare Karten:</translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="57"/>
+ <source>Total Income:</source>
+ <translation>Umsatz:</translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="200"/>
+ <source>.</source>
+ <comment>decimal dot</comment>
+ <translation>,</translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="68"/>
+ <source>Price</source>
+ <translation>Preis</translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="68"/>
+ <source>Bought</source>
+ <translation>Gekauft</translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="68"/>
+ <source>Used</source>
+ <translation>Benutzt</translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="68"/>
+ <source>Unused</source>
+ <translation>Unbenutzt</translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="84"/>
+ <source>Print</source>
+ <translation>Drucken</translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="86"/>
+ <source>Save as...</source>
+ <translation>Speichern unter...</translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="88"/>
+ <source>Close</source>
+ <translation>Schließen</translation>
+ </message>
+</context>
+<context>
<name>MKeyGen</name>
<message>
<location filename="keygen.cpp" line="86"/>
<context>
<name>MOverview</name>
<message>
- <location filename="overview.cpp" line="49"/>
+ <location filename="overview.cpp" line="50"/>
<source>&Session</source>
<translation>&Session</translation>
</message>
<message>
- <location filename="overview.cpp" line="50"/>
+ <location filename="overview.cpp" line="51"/>
<source>&Re-Login</source>
<translation>&Login wiederholen</translation>
</message>
<message>
- <location filename="overview.cpp" line="54"/>
+ <location filename="overview.cpp" line="55"/>
<source>&Close Session</source>
<translation>Session &schließen</translation>
</message>
<message>
- <location filename="overview.cpp" line="56"/>
+ <location filename="overview.cpp" line="57"/>
<source>&Event</source>
<translation>&Veranstaltung</translation>
</message>
<message>
- <location filename="overview.cpp" line="61"/>
+ <location filename="overview.cpp" line="62"/>
<source>&Customer</source>
<translation>&Kunde</translation>
</message>
<message>
- <location filename="overview.cpp" line="72"/>
+ <location filename="overview.cpp" line="73"/>
<source>C&onfigure</source>
<translation>&Konfigurieren</translation>
</message>
<message>
- <location filename="overview.cpp" line="79"/>
+ <location filename="overview.cpp" line="80"/>
<source>Events</source>
<translation>Veranstaltungen</translation>
</message>
<message>
- <location filename="overview.cpp" line="609"/>
+ <location filename="overview.cpp" line="626"/>
<source>Warning</source>
<translation>Warnung</translation>
</message>
<message>
- <location filename="overview.cpp" line="303"/>
+ <location filename="overview.cpp" line="308"/>
<source>I was unable to renew the login at the server, the error was: %1</source>
<translation>Der erneute Login ist fehlgeschlagen: %1</translation>
</message>
<message>
- <location filename="overview.cpp" line="51"/>
+ <location filename="overview.cpp" line="52"/>
<source>&Offline mode</source>
<translation>&Offlinemodus</translation>
</message>
<message>
- <location filename="overview.cpp" line="59"/>
+ <location filename="overview.cpp" line="60"/>
<source>&New Event...</source>
<translation>&Neue Veranstaltung...</translation>
</message>
<message>
- <location filename="overview.cpp" line="62"/>
+ <location filename="overview.cpp" line="63"/>
<source>&Show all customers</source>
<translation>&Alle Kunden anzeigen</translation>
</message>
<message>
- <location filename="overview.cpp" line="64"/>
+ <location filename="overview.cpp" line="65"/>
<source>C&art</source>
<translation>&Einkaufswagen</translation>
</message>
<message>
- <location filename="overview.cpp" line="65"/>
+ <location filename="overview.cpp" line="66"/>
<source>Add &Ticket</source>
<translation>Eintrittskarte &hinzufügen</translation>
</message>
<message>
- <location filename="overview.cpp" line="66"/>
+ <location filename="overview.cpp" line="67"/>
<source>Add &Voucher</source>
<translation>&Gutschein hinzufügen</translation>
</message>
<message>
- <location filename="overview.cpp" line="67"/>
+ <location filename="overview.cpp" line="68"/>
<source>&Remove Item</source>
<translation>&Entfernen</translation>
</message>
<message>
- <location filename="overview.cpp" line="68"/>
+ <location filename="overview.cpp" line="69"/>
<source>&Abort Shopping</source>
<translation>&Einkauf abbrechen</translation>
</message>
<message>
- <location filename="overview.cpp" line="70"/>
+ <location filename="overview.cpp" line="71"/>
<source>&Show all orders</source>
<translation>&Alle Bestellungen anzeigen</translation>
</message>
<message>
- <location filename="overview.cpp" line="89"/>
+ <location filename="overview.cpp" line="90"/>
<source>New Event...</source>
<translation>Neue Veranstaltung...</translation>
</message>
<message>
- <location filename="overview.cpp" line="162"/>
+ <location filename="overview.cpp" line="167"/>
<source>Details...</source>
<translation>Details...</translation>
</message>
<message>
- <location filename="overview.cpp" line="96"/>
+ <location filename="overview.cpp" line="97"/>
<source>Order Ticket...</source>
<translation>Bestellen...</translation>
</message>
<message>
- <location filename="overview.cpp" line="102"/>
+ <location filename="overview.cpp" line="107"/>
<source>Shopping Cart</source>
<translation>Einkaufswagen</translation>
</message>
<message>
- <location filename="overview.cpp" line="114"/>
+ <location filename="overview.cpp" line="119"/>
<source>Add Ticket</source>
<translation>Eintrittskarte hinzufügen</translation>
</message>
<message>
- <location filename="overview.cpp" line="116"/>
+ <location filename="overview.cpp" line="121"/>
<source>Add Voucher</source>
<translation>Gutschein hinzufügen</translation>
</message>
<message>
- <location filename="overview.cpp" line="119"/>
+ <location filename="overview.cpp" line="124"/>
<source>Remove Item</source>
<translation>Entfernen</translation>
</message>
<message>
- <location filename="overview.cpp" line="125"/>
+ <location filename="overview.cpp" line="130"/>
<source>Customer:</source>
<translation>Kunde</translation>
</message>
<message>
- <location filename="overview.cpp" line="131"/>
+ <location filename="overview.cpp" line="136"/>
<source>Delivery Address:</source>
<translation>Lieferadresse:</translation>
</message>
<message>
- <location filename="overview.cpp" line="134"/>
+ <location filename="overview.cpp" line="139"/>
<source>Comments:</source>
<translation>Kommentare:</translation>
</message>
<message>
- <location filename="overview.cpp" line="147"/>
+ <location filename="overview.cpp" line="152"/>
<source>Clear</source>
<translation>Von vorn</translation>
</message>
<message>
- <location filename="overview.cpp" line="646"/>
+ <location filename="overview.cpp" line="663"/>
<source>Start Time</source>
<translation>Anfangszeit</translation>
</message>
<message>
- <location filename="overview.cpp" line="646"/>
+ <location filename="overview.cpp" line="663"/>
<source>Title</source>
<translation>Titel</translation>
</message>
<message>
- <location filename="overview.cpp" line="278"/>
+ <location filename="overview.cpp" line="283"/>
<source>ddd MMMM d yyyy, h:mm ap</source>
<comment>time format</comment>
<translation>ddd, d.M.yyyy hh:mm</translation>
</message>
<message>
- <location filename="overview.cpp" line="57"/>
+ <location filename="overview.cpp" line="58"/>
<source>&Update Event List</source>
<translation>&Veranstaltungsliste auffrischen</translation>
</message>
<message>
- <location filename="overview.cpp" line="58"/>
+ <location filename="overview.cpp" line="59"/>
<source>&Show/Edit details...</source>
<translation>&Details anzeigen/editieren...</translation>
</message>
<message>
- <location filename="overview.cpp" line="180"/>
+ <location filename="overview.cpp" line="185"/>
<source>Users</source>
<translation>Nutzer</translation>
</message>
<message>
- <location filename="overview.cpp" line="188"/>
+ <location filename="overview.cpp" line="193"/>
<source>New User...</source>
<translation>Neuer Nutzer...</translation>
</message>
<message>
- <location filename="overview.cpp" line="191"/>
+ <location filename="overview.cpp" line="196"/>
<source>Delete User...</source>
<translation>Nutzer löschen...</translation>
</message>
<message>
- <location filename="overview.cpp" line="195"/>
+ <location filename="overview.cpp" line="200"/>
<source>Description...</source>
<translation>Beschreibung.,.</translation>
</message>
<message>
- <location filename="overview.cpp" line="198"/>
+ <location filename="overview.cpp" line="203"/>
<source>Hosts...</source>
<translation>Hosts...</translation>
</message>
<message>
- <location filename="overview.cpp" line="201"/>
+ <location filename="overview.cpp" line="206"/>
<source>Roles...</source>
<translation>Rollen...</translation>
</message>
<message>
- <location filename="overview.cpp" line="210"/>
+ <location filename="overview.cpp" line="215"/>
<source>Hosts</source>
<translation>Hosts</translation>
</message>
<message>
- <location filename="overview.cpp" line="333"/>
+ <location filename="overview.cpp" line="350"/>
<source>Login Name</source>
<translation>Loginname</translation>
</message>
<message>
- <location filename="overview.cpp" line="333"/>
+ <location filename="overview.cpp" line="350"/>
<source>Description</source>
<translation>Beschreibung</translation>
</message>
<message>
- <location filename="overview.cpp" line="348"/>
+ <location filename="overview.cpp" line="365"/>
<source>New User</source>
<translation>Neuer Nutzer</translation>
</message>
<message>
- <location filename="overview.cpp" line="348"/>
+ <location filename="overview.cpp" line="365"/>
<source>Please enter new user name (only letters, digits, and underscore allowed):</source>
<translation>Neuen Nutzernamen eingeben (Buchstaben, Ziffern, Unterstrich):</translation>
</message>
<message>
- <location filename="overview.cpp" line="761"/>
+ <location filename="overview.cpp" line="778"/>
<source>Error</source>
<translation>Fehler</translation>
</message>
<message>
- <location filename="overview.cpp" line="353"/>
+ <location filename="overview.cpp" line="370"/>
<source>The user name must contain only letters, digits, and underscores and must be at least one character long!</source>
<translation>Der Nutzername darf nur aus Buchstaben, Ziffern und Unterstrich bestehen. Er muss mindestens ein Zeichen enthalten.</translation>
</message>
<message>
- <location filename="overview.cpp" line="388"/>
+ <location filename="overview.cpp" line="405"/>
<source>Edit Description</source>
<translation>Beschreibung ändern</translation>
</message>
<message>
- <location filename="overview.cpp" line="388"/>
+ <location filename="overview.cpp" line="405"/>
<source>Descriptionof user %1:</source>
<translation>Beschreibung von Nutzer %1:</translation>
</message>
<message>
- <location filename="overview.cpp" line="52"/>
+ <location filename="overview.cpp" line="53"/>
<source>Change my &Password</source>
<translation>Mein &Passwort ändern</translation>
</message>
<message>
- <location filename="overview.cpp" line="204"/>
+ <location filename="overview.cpp" line="209"/>
<source>Set Password...</source>
<translation>Passwort setzen...</translation>
</message>
<message>
- <location filename="overview.cpp" line="218"/>
+ <location filename="overview.cpp" line="223"/>
<source>New Host...</source>
<translation>Neuer Host...</translation>
</message>
<message>
- <location filename="overview.cpp" line="221"/>
+ <location filename="overview.cpp" line="226"/>
<source>Add This Host...</source>
<translation>Diesen Host hinzufügen...</translation>
</message>
<message>
- <location filename="overview.cpp" line="224"/>
+ <location filename="overview.cpp" line="229"/>
<source>Delete Host...</source>
<translation>Host löschen...</translation>
</message>
<message>
- <location filename="overview.cpp" line="228"/>
+ <location filename="overview.cpp" line="233"/>
<source>Generate New Key...</source>
<translation>Neuen Schlüssel anlegen...</translation>
</message>
<message>
- <location filename="overview.cpp" line="231"/>
+ <location filename="overview.cpp" line="236"/>
<source>Import...</source>
<translation>Importieren...</translation>
</message>
<message>
- <location filename="overview.cpp" line="234"/>
+ <location filename="overview.cpp" line="239"/>
<source>Export...</source>
<translation>Exportieren...</translation>
</message>
<message>
- <location filename="overview.cpp" line="357"/>
+ <location filename="overview.cpp" line="374"/>
<source>Password</source>
<translation>Passwort</translation>
</message>
<message>
- <location filename="overview.cpp" line="357"/>
+ <location filename="overview.cpp" line="374"/>
<source>Please enter an initial password for the user:</source>
<translation>Bitte geben Sie ein intiales Passwort ein:</translation>
</message>
<message>
- <location filename="overview.cpp" line="372"/>
+ <location filename="overview.cpp" line="389"/>
<source>Delete User?</source>
<translation>Nutzer löschen?</translation>
</message>
<message>
- <location filename="overview.cpp" line="372"/>
+ <location filename="overview.cpp" line="389"/>
<source>Really delete user '%1'?</source>
<translation>Nutzer '%1' wirklich löschen?</translation>
</message>
<message>
- <location filename="overview.cpp" line="431"/>
+ <location filename="overview.cpp" line="448"/>
<source>Error setting password: %1</source>
<translation>Passwort kann nicht gesetzt werden: %1</translation>
</message>
<message>
- <location filename="overview.cpp" line="446"/>
+ <location filename="overview.cpp" line="463"/>
<source>The password must be non-empty and both lines must match</source>
<translation>Das Passwort darf nicht leer sein und beide Zeilen müssen übereinstimmen.</translation>
</message>
<message>
- <location filename="overview.cpp" line="462"/>
+ <location filename="overview.cpp" line="479"/>
<source>Host Name</source>
<translation>Hostname</translation>
</message>
<message>
- <location filename="overview.cpp" line="462"/>
+ <location filename="overview.cpp" line="479"/>
<source>Host Key</source>
<translation>Hostkey</translation>
</message>
<message>
- <location filename="overview.cpp" line="480"/>
+ <location filename="overview.cpp" line="497"/>
<source>Create New Host</source>
<translation>Neuen Host anlegen</translation>
</message>
<message>
- <location filename="overview.cpp" line="480"/>
+ <location filename="overview.cpp" line="497"/>
<source>Please enter a host name:</source>
<translation>Bitte geben Sie einen neuen Hostnamen ein:</translation>
</message>
<message>
- <location filename="overview.cpp" line="488"/>
+ <location filename="overview.cpp" line="505"/>
<source>The key of this new host could only be generated with %1 bits entropy. Store anyway?</source>
<translation>Der Key dieses Hosts konnte nur mit %1 Bits Entropie angelegt werde. Trotzdem speichern?</translation>
</message>
<message>
- <location filename="overview.cpp" line="511"/>
+ <location filename="overview.cpp" line="528"/>
<source>Delete this Host?</source>
<translation>Diesen Host löschen?</translation>
</message>
<message>
- <location filename="overview.cpp" line="511"/>
+ <location filename="overview.cpp" line="528"/>
<source>Really delete host '%1'?</source>
<translation>Den Host '%1' wirklich löschen?</translation>
</message>
<message>
- <location filename="overview.cpp" line="525"/>
+ <location filename="overview.cpp" line="542"/>
<source>Change Host Key?</source>
<translation>Hostkey ändern?</translation>
</message>
<message>
- <location filename="overview.cpp" line="525"/>
+ <location filename="overview.cpp" line="542"/>
<source>Really change the key of host '%1'?</source>
<translation>Den Key von Host '%1' wirklich ändern?</translation>
</message>
<message>
- <location filename="overview.cpp" line="530"/>
+ <location filename="overview.cpp" line="547"/>
<source>The new key of this host could only be generated with %1 bits entropy. Store anyway?</source>
<translation>Der Key dieses Hosts konnte nur mit %1 Bits Entropie angelegt werde. Trotzdem speichern?</translation>
</message>
<message>
- <location filename="overview.cpp" line="541"/>
+ <location filename="overview.cpp" line="558"/>
<source>Import Key from File</source>
<translation>Key aus Datei importieren</translation>
</message>
<message>
- <location filename="overview.cpp" line="550"/>
+ <location filename="overview.cpp" line="567"/>
<source>Unable to open file %1 for reading: %2</source>
<translation>Datei %1 kann nicht zum Lesen geöffnet werden: %2</translation>
</message>
<message>
- <location filename="overview.cpp" line="562"/>
+ <location filename="overview.cpp" line="579"/>
<source>This is not a host key file.</source>
<translation>Dies ist keine Hostkeydatei.</translation>
</message>
<message>
- <location filename="overview.cpp" line="567"/>
+ <location filename="overview.cpp" line="584"/>
<source>This host key file does not contain a valid host name.</source>
<translation>Die Hostkeydatei enthält keinen gültigen Hostnamen.</translation>
</message>
<message>
- <location filename="overview.cpp" line="572"/>
+ <location filename="overview.cpp" line="589"/>
<source>This host key file does not contain a valid key.</source>
<translation>Diese Datei enthält keinen gültigen Hostkey.</translation>
</message>
<message>
- <location filename="overview.cpp" line="577"/>
+ <location filename="overview.cpp" line="594"/>
<source>The key check sum did not match. Please get a clean copy of the host key file.</source>
<translation>Die Checksumme dieser Datei ist fehlgeschlagen. Bitte besorgen Sie eine neue Kopie der Datei.</translation>
</message>
<message>
- <location filename="overview.cpp" line="595"/>
+ <location filename="overview.cpp" line="612"/>
<source>This host cannot be exported.</source>
<translation>Dieser Host kann nicht exportiert werden.</translation>
</message>
<message>
- <location filename="overview.cpp" line="600"/>
+ <location filename="overview.cpp" line="617"/>
<source>Export Key to File</source>
<translation>Hostkey als Datei speichern</translation>
</message>
<message>
- <location filename="overview.cpp" line="609"/>
+ <location filename="overview.cpp" line="626"/>
<source>Unable to open file %1 for writing: %2</source>
<translation>Datei %1 kann nicht zum Schreiben geöffnet werden: %2</translation>
</message>
<message>
- <location filename="overview.cpp" line="141"/>
+ <location filename="overview.cpp" line="146"/>
<source>Order Items</source>
<translation>Bestellung anlegen</translation>
</message>
<message>
- <location filename="overview.cpp" line="144"/>
+ <location filename="overview.cpp" line="149"/>
<source>Sell Items</source>
<translation>Verkaufen</translation>
</message>
<message>
- <location filename="overview.cpp" line="151"/>
+ <location filename="overview.cpp" line="156"/>
<source>Order List</source>
<translation>Bestellungsliste</translation>
</message>
<message>
- <location filename="overview.cpp" line="155"/>
+ <location filename="overview.cpp" line="160"/>
<source>-select mode-</source>
<translation>-Modus auswählen-</translation>
</message>
<message>
- <location filename="overview.cpp" line="156"/>
+ <location filename="overview.cpp" line="161"/>
<source>All Orders</source>
<translation>Alle Bestellungen</translation>
</message>
<message>
- <location filename="overview.cpp" line="157"/>
+ <location filename="overview.cpp" line="162"/>
<source>Open Orders</source>
<translation>Offene Bestellungen</translation>
</message>
<message>
- <location filename="overview.cpp" line="158"/>
+ <location filename="overview.cpp" line="163"/>
<source>Outstanding Payments</source>
<translation>Noch nicht bezahlt</translation>
</message>
<message>
- <location filename="overview.cpp" line="159"/>
+ <location filename="overview.cpp" line="164"/>
<source>Outstanding Refunds</source>
<translation>Offene Rückerstattungen</translation>
</message>
<message>
- <location filename="overview.cpp" line="164"/>
+ <location filename="overview.cpp" line="169"/>
<source>Payment</source>
<translation>Bezahlen</translation>
</message>
<message>
- <location filename="overview.cpp" line="165"/>
+ <location filename="overview.cpp" line="170"/>
<source>Refund</source>
<translation>Rückerstattung</translation>
</message>
<message>
- <location filename="overview.cpp" line="167"/>
+ <location filename="overview.cpp" line="172"/>
<source>Print Tickets</source>
<translation>Eintrittskarten drucken</translation>
</message>
<message>
- <location filename="overview.cpp" line="168"/>
+ <location filename="overview.cpp" line="173"/>
<source>Print Bill</source>
<translation>Rechnung drucken</translation>
</message>
<message>
- <location filename="overview.cpp" line="646"/>
+ <location filename="overview.cpp" line="663"/>
<source>Amount</source>
<translation>Anzahl</translation>
</message>
<message>
- <location filename="overview.cpp" line="666"/>
+ <location filename="overview.cpp" line="683"/>
<source>Select Event to order Ticket</source>
<translation>Bitte wählen Sie eine Verstaltung aus, um zu bestellen</translation>
</message>
<message>
- <location filename="overview.cpp" line="680"/>
+ <location filename="overview.cpp" line="697"/>
<source>Select</source>
<translation>Auswählen</translation>
</message>
<message>
- <location filename="overview.cpp" line="682"/>
+ <location filename="overview.cpp" line="699"/>
<source>Cancel</source>
<translation>Abbrechen</translation>
</message>
<message>
- <location filename="overview.cpp" line="717"/>
+ <location filename="overview.cpp" line="734"/>
<source>There is nothing in the order. Ignoring it.</source>
<translation>Bestellung ist leer. Vorgang abgebrochen.</translation>
</message>
<message>
- <location filename="overview.cpp" line="721"/>
+ <location filename="overview.cpp" line="738"/>
<source>Please chose a customer first!</source>
<translation>Bitte wählen Sie zunächst einen Kunden aus!</translation>
</message>
<message>
- <location filename="overview.cpp" line="757"/>
+ <location filename="overview.cpp" line="774"/>
<source>The request failed.</source>
<translation>Anfrage ist fehlgeschlagen.</translation>
</message>
<message>
- <location filename="overview.cpp" line="761"/>
+ <location filename="overview.cpp" line="778"/>
<source>A problem occurred during the order: %1</source>
<translation>Die Bestellung ist fehlgeschlagen: %1</translation>
</message>
<message>
- <location filename="overview.cpp" line="172"/>
+ <location filename="overview.cpp" line="177"/>
<source>Entrance</source>
<translation>Einlasskontrolle</translation>
</message>
<message>
- <location filename="overview.cpp" line="797"/>
+ <location filename="overview.cpp" line="814"/>
<source>Ticket Ok</source>
<translation>Eintrittskarte gültig</translation>
</message>
<message>
- <location filename="overview.cpp" line="801"/>
+ <location filename="overview.cpp" line="818"/>
<source>Ticket Already Used</source>
<translation>Die Eintrittkarte wurde bereits benutzt!</translation>
</message>
<message>
- <location filename="overview.cpp" line="805"/>
+ <location filename="overview.cpp" line="822"/>
<source>Ticket Not Paid</source>
<translation>Die Eintrittskarte ist noch nicht bezahlt!</translation>
</message>
+ <message>
+ <location filename="overview.cpp" line="101"/>
+ <source>Ticket Summary...</source>
+ <translation>Eintrittskartenübersicht...</translation>
+ </message>
</context>
<context>
<name>MPasswordChange</name>
<message>
- <location filename="overview.cpp" line="823"/>
+ <location filename="overview.cpp" line="840"/>
<source>Change my password</source>
<translation>Mein Passwort ändern</translation>
</message>
<message>
- <location filename="overview.cpp" line="825"/>
+ <location filename="overview.cpp" line="842"/>
<source>Reset password of user %1</source>
<translation>Passwort von Nutzer %1 setzen</translation>
</message>
<message>
- <location filename="overview.cpp" line="829"/>
+ <location filename="overview.cpp" line="846"/>
<source>Old Password:</source>
<translation>Altes Passwort:</translation>
</message>
<message>
- <location filename="overview.cpp" line="833"/>
+ <location filename="overview.cpp" line="850"/>
<source>New Password:</source>
<translation>Neues Passwort:</translation>
</message>
<message>
- <location filename="overview.cpp" line="836"/>
+ <location filename="overview.cpp" line="853"/>
<source>Repeat Password:</source>
<translation>Paswort wiederholen:</translation>
</message>
<message>
- <location filename="overview.cpp" line="844"/>
+ <location filename="overview.cpp" line="861"/>
<source>Set Password</source>
<translation>Passwort setzen</translation>
</message>
<message>
- <location filename="overview.cpp" line="846"/>
+ <location filename="overview.cpp" line="863"/>
<source>Cancel</source>
<translation>Abbrechen</translation>
</message>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS><TS version="1.1" language="de">
-<defaultcodec></defaultcodec>
<context>
<name>@default</name>
<message>
<translation>Des darfsde nisch. Da mussde den Baba Adminischdrador frachn.</translation>
</message>
<message>
- <location filename="../www/machine.php" line="274"/>
+ <location filename="../www/machine.php" line="280"/>
<source>Internal Error: unknown command, hiccup in code structure.</source>
<translation>Isch hab da een Broblem. Irschendwie gibsd das Gommando nur halb, aber och ni' rischdisch. Frach ma' den Brogrammierer.</translation>
</message>
<source>settemplate</source>
<translation>Vorlache erschdellen.</translation>
</message>
+ <message>
+ <location filename="../www/machine.php" line="23"/>
+ <source>eventsummary</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MCheckDialog</name>
</message>
</context>
<context>
+ <name>MEventSummary</name>
+ <message>
+ <location filename="eventsummary.cpp" line="36"/>
+ <source>Summary for Event %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="42"/>
+ <source>Title:</source>
+ <translation type="unfinished">Diddel:</translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="44"/>
+ <source>Artist:</source>
+ <translation type="unfinished">Günsdlor:</translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="46"/>
+ <source>Start:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="156"/>
+ <source>yyyy-MM-dd hh:mm ap</source>
+ <comment>Date+Time format for displaying event start time</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="49"/>
+ <source>Capacity:</source>
+ <translation type="unfinished">Magsimale Gäsde:</translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="51"/>
+ <source>Tickets currently reserved:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="53"/>
+ <source>Tickets currently cancelled:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="55"/>
+ <source>Tickets currently usable:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="57"/>
+ <source>Total Income:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="200"/>
+ <source>.</source>
+ <comment>decimal dot</comment>
+ <translation type="unfinished">,</translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="68"/>
+ <source>Price</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="68"/>
+ <source>Bought</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="68"/>
+ <source>Used</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="68"/>
+ <source>Unused</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="84"/>
+ <source>Print</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="86"/>
+ <source>Save as...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="eventsummary.cpp" line="88"/>
+ <source>Close</source>
+ <translation type="unfinished">Zumachn</translation>
+ </message>
+</context>
+<context>
<name>MKeyGen</name>
<message>
<location filename="keygen.cpp" line="86"/>
<context>
<name>MOverview</name>
<message>
- <location filename="overview.cpp" line="49"/>
+ <location filename="overview.cpp" line="50"/>
<source>&Session</source>
<translation>&Sidsung</translation>
</message>
<message>
- <location filename="overview.cpp" line="50"/>
+ <location filename="overview.cpp" line="51"/>
<source>&Re-Login</source>
<translation>&Noch'ma einloggn</translation>
</message>
<message>
- <location filename="overview.cpp" line="54"/>
+ <location filename="overview.cpp" line="55"/>
<source>&Close Session</source>
<translation>Sidsung &Zumachn</translation>
</message>
<message>
- <location filename="overview.cpp" line="56"/>
+ <location filename="overview.cpp" line="57"/>
<source>&Event</source>
<translation>&Veranschdaldung</translation>
</message>
<message>
- <location filename="overview.cpp" line="61"/>
+ <location filename="overview.cpp" line="62"/>
<source>&Customer</source>
<translation>&Gunde</translation>
</message>
<message>
- <location filename="overview.cpp" line="72"/>
+ <location filename="overview.cpp" line="73"/>
<source>C&onfigure</source>
<translation>G&onfiguriern</translation>
</message>
<message>
- <location filename="overview.cpp" line="79"/>
+ <location filename="overview.cpp" line="80"/>
<source>Events</source>
<translation>Veranschdaldungen</translation>
</message>
<message>
- <location filename="overview.cpp" line="609"/>
+ <location filename="overview.cpp" line="626"/>
<source>Warning</source>
<translation>Dumm gelaufen</translation>
</message>
<message>
- <location filename="overview.cpp" line="303"/>
+ <location filename="overview.cpp" line="308"/>
<source>I was unable to renew the login at the server, the error was: %1</source>
<translation>Isch gann de' Verbindung off'n gross'n Reschner nisch erneuern. Der will nisch weil: %1</translation>
</message>
<message>
- <location filename="overview.cpp" line="51"/>
+ <location filename="overview.cpp" line="52"/>
<source>&Offline mode</source>
<translation>&Ohne Neds und Dobbelden Boden</translation>
</message>
<translation type="obsolete">&Dedails anzeigen...</translation>
</message>
<message>
- <location filename="overview.cpp" line="59"/>
+ <location filename="overview.cpp" line="60"/>
<source>&New Event...</source>
<translation>Veranschdaldung &absach'n...</translation>
</message>
<message>
- <location filename="overview.cpp" line="62"/>
+ <location filename="overview.cpp" line="63"/>
<source>&Show all customers</source>
<translation>&Alle Gunden anzeigen</translation>
</message>
<message>
- <location filename="overview.cpp" line="64"/>
+ <location filename="overview.cpp" line="65"/>
<source>C&art</source>
<translation>Eing&aufswagen</translation>
</message>
<message>
- <location filename="overview.cpp" line="65"/>
+ <location filename="overview.cpp" line="66"/>
<source>Add &Ticket</source>
<translation>Ein&driddsgarde hinzufüchen</translation>
</message>
<message>
- <location filename="overview.cpp" line="66"/>
+ <location filename="overview.cpp" line="67"/>
<source>Add &Voucher</source>
<translation>&Gudschein hinzufüchen</translation>
</message>
<message>
- <location filename="overview.cpp" line="67"/>
+ <location filename="overview.cpp" line="68"/>
<source>&Remove Item</source>
<translation>Doch &ni' nehm'</translation>
</message>
<message>
- <location filename="overview.cpp" line="68"/>
+ <location filename="overview.cpp" line="69"/>
<source>&Abort Shopping</source>
<translation>&Eingauf Abbrechen</translation>
</message>
<message>
- <location filename="overview.cpp" line="70"/>
+ <location filename="overview.cpp" line="71"/>
<source>&Show all orders</source>
<translation>&Alle Beschdellungen anzeichen</translation>
</message>
<message>
- <location filename="overview.cpp" line="89"/>
+ <location filename="overview.cpp" line="90"/>
<source>New Event...</source>
<translation>Neue Veranschdaldung...</translation>
</message>
<message>
- <location filename="overview.cpp" line="162"/>
+ <location filename="overview.cpp" line="167"/>
<source>Details...</source>
<translation>Dedails anzeichen...</translation>
</message>
<message>
- <location filename="overview.cpp" line="96"/>
+ <location filename="overview.cpp" line="97"/>
<source>Order Ticket...</source>
<translation>Eindriddsgarde beschdellen...</translation>
</message>
<message>
- <location filename="overview.cpp" line="102"/>
+ <location filename="overview.cpp" line="107"/>
<source>Shopping Cart</source>
<translation>Eingaufswagen</translation>
</message>
<message>
- <location filename="overview.cpp" line="114"/>
+ <location filename="overview.cpp" line="119"/>
<source>Add Ticket</source>
<translation>Eindriddsgarde hinzufüchen</translation>
</message>
<message>
- <location filename="overview.cpp" line="116"/>
+ <location filename="overview.cpp" line="121"/>
<source>Add Voucher</source>
<translation>Gudschein hinzufüchen</translation>
</message>
<message>
- <location filename="overview.cpp" line="119"/>
+ <location filename="overview.cpp" line="124"/>
<source>Remove Item</source>
<translation>Doch ni' nehm'</translation>
</message>
<message>
- <location filename="overview.cpp" line="125"/>
+ <location filename="overview.cpp" line="130"/>
<source>Customer:</source>
<translation>Gunde:</translation>
</message>
<message>
- <location filename="overview.cpp" line="131"/>
+ <location filename="overview.cpp" line="136"/>
<source>Delivery Address:</source>
<translation>Adresse wo's Zeuch hin soll:</translation>
</message>
<message>
- <location filename="overview.cpp" line="134"/>
+ <location filename="overview.cpp" line="139"/>
<source>Comments:</source>
<translation>Wischdiches Gelaber und Gerede:</translation>
</message>
<translation type="obsolete">Beschdellung abschbeichern</translation>
</message>
<message>
- <location filename="overview.cpp" line="147"/>
+ <location filename="overview.cpp" line="152"/>
<source>Clear</source>
<translation>Wechwerfen und von vorne!</translation>
</message>
<message>
- <location filename="overview.cpp" line="646"/>
+ <location filename="overview.cpp" line="663"/>
<source>Start Time</source>
<translation>Anfangszeit</translation>
</message>
<message>
- <location filename="overview.cpp" line="646"/>
+ <location filename="overview.cpp" line="663"/>
<source>Title</source>
<translation>Diddel</translation>
</message>
<message>
- <location filename="overview.cpp" line="278"/>
+ <location filename="overview.cpp" line="283"/>
<source>ddd MMMM d yyyy, h:mm ap</source>
<comment>time format</comment>
<translation>ddd, d.M.yyyy hh:mm</translation>
</message>
<message>
- <location filename="overview.cpp" line="57"/>
+ <location filename="overview.cpp" line="58"/>
<source>&Update Event List</source>
<translation>&Voranschdaldungsliste nochma holen</translation>
</message>
<message>
- <location filename="overview.cpp" line="58"/>
+ <location filename="overview.cpp" line="59"/>
<source>&Show/Edit details...</source>
<translation>&Dedails anzeichen...</translation>
</message>
<message>
- <location filename="overview.cpp" line="180"/>
+ <location filename="overview.cpp" line="185"/>
<source>Users</source>
<translation>Nudsor</translation>
</message>
<message>
- <location filename="overview.cpp" line="188"/>
+ <location filename="overview.cpp" line="193"/>
<source>New User...</source>
<translation>Neier Nudsor...</translation>
</message>
<message>
- <location filename="overview.cpp" line="191"/>
+ <location filename="overview.cpp" line="196"/>
<source>Delete User...</source>
<translation>Nudsor löschen...</translation>
</message>
<message>
- <location filename="overview.cpp" line="195"/>
+ <location filename="overview.cpp" line="200"/>
<source>Description...</source>
<translation>Beschreibung...</translation>
</message>
<message>
- <location filename="overview.cpp" line="198"/>
+ <location filename="overview.cpp" line="203"/>
<source>Hosts...</source>
<translation>Reschnor...</translation>
</message>
<message>
- <location filename="overview.cpp" line="201"/>
+ <location filename="overview.cpp" line="206"/>
<source>Roles...</source>
<translation>Rollen...</translation>
</message>
<message>
- <location filename="overview.cpp" line="210"/>
+ <location filename="overview.cpp" line="215"/>
<source>Hosts</source>
<translation>Reschnor</translation>
</message>
<message>
- <location filename="overview.cpp" line="333"/>
+ <location filename="overview.cpp" line="350"/>
<source>Login Name</source>
<translation>Name zum Anmelden</translation>
</message>
<message>
- <location filename="overview.cpp" line="333"/>
+ <location filename="overview.cpp" line="350"/>
<source>Description</source>
<translation>Beschreibung</translation>
</message>
<message>
- <location filename="overview.cpp" line="348"/>
+ <location filename="overview.cpp" line="365"/>
<source>New User</source>
<translation>Neier Nudsor</translation>
</message>
<message>
- <location filename="overview.cpp" line="348"/>
+ <location filename="overview.cpp" line="365"/>
<source>Please enter new user name (only letters, digits, and underscore allowed):</source>
<translation>Bidde gib ma nen neien Nudsornam' ein (nur Buchschdaben, Ziffern und "_"):</translation>
</message>
<message>
- <location filename="overview.cpp" line="761"/>
+ <location filename="overview.cpp" line="778"/>
<source>Error</source>
<translation>Gans doller falschor Fehler</translation>
</message>
<message>
- <location filename="overview.cpp" line="353"/>
+ <location filename="overview.cpp" line="370"/>
<source>The user name must contain only letters, digits, and underscores and must be at least one character long!</source>
<translation>Dor Nudsorname darf nur Buchschdaben, Ziffern und "_" endhalden. Umlaude sind böse. Und mindesdens een Buchschdaben lang mussor och sein.</translation>
</message>
<message>
- <location filename="overview.cpp" line="388"/>
+ <location filename="overview.cpp" line="405"/>
<source>Edit Description</source>
<translation>Beschreibung ändorn</translation>
</message>
<message>
- <location filename="overview.cpp" line="388"/>
+ <location filename="overview.cpp" line="405"/>
<source>Descriptionof user %1:</source>
<translation>Beschreibung vom Nudsor %1:</translation>
</message>
<message>
- <location filename="overview.cpp" line="52"/>
+ <location filename="overview.cpp" line="53"/>
<source>Change my &Password</source>
<translation>Mei eechnes &Bassword ändorn</translation>
</message>
<message>
- <location filename="overview.cpp" line="204"/>
+ <location filename="overview.cpp" line="209"/>
<source>Set Password...</source>
<translation>Bassword sedsen...</translation>
</message>
<message>
- <location filename="overview.cpp" line="218"/>
+ <location filename="overview.cpp" line="223"/>
<source>New Host...</source>
<translation>Neier Reschnor...</translation>
</message>
<message>
- <location filename="overview.cpp" line="221"/>
+ <location filename="overview.cpp" line="226"/>
<source>Add This Host...</source>
<translation>Die Gisde hier hinzufüchen...</translation>
</message>
<message>
- <location filename="overview.cpp" line="224"/>
+ <location filename="overview.cpp" line="229"/>
<source>Delete Host...</source>
<translation>Reschnor löschen...</translation>
</message>
<message>
- <location filename="overview.cpp" line="228"/>
+ <location filename="overview.cpp" line="233"/>
<source>Generate New Key...</source>
<translation>Neien Schlüssel erzeuchen...</translation>
</message>
<message>
- <location filename="overview.cpp" line="231"/>
+ <location filename="overview.cpp" line="236"/>
<source>Import...</source>
<translation>Imbordieren...</translation>
</message>
<message>
- <location filename="overview.cpp" line="234"/>
+ <location filename="overview.cpp" line="239"/>
<source>Export...</source>
<translation>Eggsbordieren...</translation>
</message>
<message>
- <location filename="overview.cpp" line="357"/>
+ <location filename="overview.cpp" line="374"/>
<source>Password</source>
<translation>Bassword</translation>
</message>
<message>
- <location filename="overview.cpp" line="357"/>
+ <location filename="overview.cpp" line="374"/>
<source>Please enter an initial password for the user:</source>
<translation>Bidde gib ma een Bassword für den Nudsor ein:</translation>
</message>
<message>
- <location filename="overview.cpp" line="372"/>
+ <location filename="overview.cpp" line="389"/>
<source>Delete User?</source>
<translation>Nudsor löschen?</translation>
</message>
<message>
- <location filename="overview.cpp" line="372"/>
+ <location filename="overview.cpp" line="389"/>
<source>Really delete user '%1'?</source>
<translation>Nudsor '%1' wirklich löschen? Bissde Dir da och gans sischor?</translation>
</message>
<message>
- <location filename="overview.cpp" line="431"/>
+ <location filename="overview.cpp" line="448"/>
<source>Error setting password: %1</source>
<translation>Gann Bassword ni sedsen: %1</translation>
</message>
<message>
- <location filename="overview.cpp" line="446"/>
+ <location filename="overview.cpp" line="463"/>
<source>The password must be non-empty and both lines must match</source>
<translation>Das Bassword darf nisch leer sein und beide Basswordzeilen müssen gleisch sein.</translation>
</message>
<message>
- <location filename="overview.cpp" line="462"/>
+ <location filename="overview.cpp" line="479"/>
<source>Host Name</source>
<translation>Reschnorname</translation>
</message>
<message>
- <location filename="overview.cpp" line="462"/>
+ <location filename="overview.cpp" line="479"/>
<source>Host Key</source>
<translation>Reschnorschlüssel</translation>
</message>
<message>
- <location filename="overview.cpp" line="480"/>
+ <location filename="overview.cpp" line="497"/>
<source>Create New Host</source>
<translation>Neien Reschnor anlechen</translation>
</message>
<message>
- <location filename="overview.cpp" line="480"/>
+ <location filename="overview.cpp" line="497"/>
<source>Please enter a host name:</source>
<translation>Gib ma nen Nam' für de Gisde ein:</translation>
</message>
<message>
- <location filename="overview.cpp" line="488"/>
+ <location filename="overview.cpp" line="505"/>
<source>The key of this new host could only be generated with %1 bits entropy. Store anyway?</source>
<translation>Dor Schlüssel von der Gisde hat nur %1 zufällige Bids. Das is a bissl wenisch. Drodsdem schbeichorn?</translation>
</message>
<message>
- <location filename="overview.cpp" line="511"/>
+ <location filename="overview.cpp" line="528"/>
<source>Delete this Host?</source>
<translation>De Gisdge löschen?</translation>
</message>
<message>
- <location filename="overview.cpp" line="511"/>
+ <location filename="overview.cpp" line="528"/>
<source>Really delete host '%1'?</source>
<translation>De Gisde '%1' wirklisch löschen? Bissde da och sischor?</translation>
</message>
<message>
- <location filename="overview.cpp" line="525"/>
+ <location filename="overview.cpp" line="542"/>
<source>Change Host Key?</source>
<translation>Den Schlüssel von dem Reschnor ändorn?</translation>
</message>
<message>
- <location filename="overview.cpp" line="525"/>
+ <location filename="overview.cpp" line="542"/>
<source>Really change the key of host '%1'?</source>
<translation>Wirglich den Schlüssel von dem Reschnor '%1' ändorn? Gans sischor?</translation>
</message>
<message>
- <location filename="overview.cpp" line="530"/>
+ <location filename="overview.cpp" line="547"/>
<source>The new key of this host could only be generated with %1 bits entropy. Store anyway?</source>
<translation>Dor Schlüssel von der Gisde hat nur %1 zufällige Bids. Das is a bissl wenisch. Drodsdem schbeichorn?</translation>
</message>
<message>
- <location filename="overview.cpp" line="541"/>
+ <location filename="overview.cpp" line="558"/>
<source>Import Key from File</source>
<translation>Schlüssel aus nor Dadai holen</translation>
</message>
<message>
- <location filename="overview.cpp" line="550"/>
+ <location filename="overview.cpp" line="567"/>
<source>Unable to open file %1 for reading: %2</source>
<translation>Gann de Dadai %1 nisch lesen. Des iss jedsd geene Ordografieschwäche, sondern: %2</translation>
</message>
<message>
- <location filename="overview.cpp" line="562"/>
+ <location filename="overview.cpp" line="579"/>
<source>This is not a host key file.</source>
<translation>Das is abor doch gar ge Schlüssel! Willsde misch verarschen?</translation>
</message>
<message>
- <location filename="overview.cpp" line="567"/>
+ <location filename="overview.cpp" line="584"/>
<source>This host key file does not contain a valid host name.</source>
<translation>De Schlüsseldadai had nen gans seldsamen Reschnornamen da drin. Desdorweschen gannsch die ni nehm.</translation>
</message>
<message>
- <location filename="overview.cpp" line="572"/>
+ <location filename="overview.cpp" line="589"/>
<source>This host key file does not contain a valid key.</source>
<translation>De Dadai is a bissl gabudd. Die mussde nochmal holen, ich gann die so ned lesen.</translation>
</message>
<message>
- <location filename="overview.cpp" line="577"/>
+ <location filename="overview.cpp" line="594"/>
<source>The key check sum did not match. Please get a clean copy of the host key file.</source>
<translation>Isch hab da ma nachgereschned. De Scheggsumme vom Schlüssel is falsch. Das gannsch Dir so ni abnehm.</translation>
</message>
<message>
- <location filename="overview.cpp" line="595"/>
+ <location filename="overview.cpp" line="612"/>
<source>This host cannot be exported.</source>
<translation>Den Reschnor gannsch ni schbeichorn.</translation>
</message>
<message>
- <location filename="overview.cpp" line="600"/>
+ <location filename="overview.cpp" line="617"/>
<source>Export Key to File</source>
<translation>Schlüssel als Dadei ablechen</translation>
</message>
<message>
- <location filename="overview.cpp" line="609"/>
+ <location filename="overview.cpp" line="626"/>
<source>Unable to open file %1 for writing: %2</source>
<translation>Gann de Dadai %1 nicht zum Schreiben offmachen weil: %2</translation>
</message>
<message>
- <location filename="overview.cpp" line="141"/>
+ <location filename="overview.cpp" line="146"/>
<source>Order Items</source>
<translation>Ne Beschdellung anlegn.</translation>
</message>
<message>
- <location filename="overview.cpp" line="144"/>
+ <location filename="overview.cpp" line="149"/>
<source>Sell Items</source>
<translation>Vorkofen</translation>
</message>
<message>
- <location filename="overview.cpp" line="151"/>
+ <location filename="overview.cpp" line="156"/>
<source>Order List</source>
<translation>Beschdelllisde</translation>
</message>
<message>
- <location filename="overview.cpp" line="155"/>
+ <location filename="overview.cpp" line="160"/>
<source>-select mode-</source>
<translation>-wähl ma was aus-</translation>
</message>
<message>
- <location filename="overview.cpp" line="156"/>
+ <location filename="overview.cpp" line="161"/>
<source>All Orders</source>
<translation>Alle Beschdellungen</translation>
</message>
<message>
- <location filename="overview.cpp" line="157"/>
+ <location filename="overview.cpp" line="162"/>
<source>Open Orders</source>
<translation>Offene Beschdellungen</translation>
</message>
<message>
- <location filename="overview.cpp" line="158"/>
+ <location filename="overview.cpp" line="163"/>
<source>Outstanding Payments</source>
<translation>Wo noch ni bezahld is</translation>
</message>
<message>
- <location filename="overview.cpp" line="159"/>
+ <location filename="overview.cpp" line="164"/>
<source>Outstanding Refunds</source>
<translation>Wo was zurügerschdadded werden muss</translation>
</message>
<message>
- <location filename="overview.cpp" line="164"/>
+ <location filename="overview.cpp" line="169"/>
<source>Payment</source>
<translation>Bezahln</translation>
</message>
<message>
- <location filename="overview.cpp" line="165"/>
+ <location filename="overview.cpp" line="170"/>
<source>Refund</source>
<translation>Zurügerschdadden</translation>
</message>
<message>
- <location filename="overview.cpp" line="167"/>
+ <location filename="overview.cpp" line="172"/>
<source>Print Tickets</source>
<translation>Eindriddsgarde druggn</translation>
</message>
<message>
- <location filename="overview.cpp" line="168"/>
+ <location filename="overview.cpp" line="173"/>
<source>Print Bill</source>
<translation>Reschnung druggn</translation>
</message>
<message>
- <location filename="overview.cpp" line="646"/>
+ <location filename="overview.cpp" line="663"/>
<source>Amount</source>
<translation>Anzahl</translation>
</message>
<message>
- <location filename="overview.cpp" line="666"/>
+ <location filename="overview.cpp" line="683"/>
<source>Select Event to order Ticket</source>
<translation>Wähl ma ne Voranschdaldung aus um ne Garde zu beschdelln</translation>
</message>
<message>
- <location filename="overview.cpp" line="680"/>
+ <location filename="overview.cpp" line="697"/>
<source>Select</source>
<translation>Auswähln</translation>
</message>
<message>
- <location filename="overview.cpp" line="682"/>
+ <location filename="overview.cpp" line="699"/>
<source>Cancel</source>
<translation>Ni machen</translation>
</message>
<message>
- <location filename="overview.cpp" line="717"/>
+ <location filename="overview.cpp" line="734"/>
<source>There is nothing in the order. Ignoring it.</source>
<translation>Da is doch gar nischd drin. Isch mach das jedsd ni!</translation>
</message>
<message>
- <location filename="overview.cpp" line="721"/>
+ <location filename="overview.cpp" line="738"/>
<source>Please chose a customer first!</source>
<translation>Du mussd schon nen Gunden auswähln, sonsd wees isch doch ni wer's griechen soll!</translation>
</message>
<message>
- <location filename="overview.cpp" line="757"/>
+ <location filename="overview.cpp" line="774"/>
<source>The request failed.</source>
<translation>De Anfrache is schiefgegangen.</translation>
</message>
<message>
- <location filename="overview.cpp" line="761"/>
+ <location filename="overview.cpp" line="778"/>
<source>A problem occurred during the order: %1</source>
<translation>Isch hadde nen Broblem mit dor Beschdellung: %1</translation>
</message>
<message>
- <location filename="overview.cpp" line="172"/>
+ <location filename="overview.cpp" line="177"/>
<source>Entrance</source>
<translation>Einlassgondrolle</translation>
</message>
<message>
- <location filename="overview.cpp" line="797"/>
+ <location filename="overview.cpp" line="814"/>
<source>Ticket Ok</source>
<translation>Eindriddsgarde is in Ordnung</translation>
</message>
<message>
- <location filename="overview.cpp" line="801"/>
+ <location filename="overview.cpp" line="818"/>
<source>Ticket Already Used</source>
<translation>Die habsch schonmal gesehn, da will eener bedrüchen.</translation>
</message>
<message>
- <location filename="overview.cpp" line="805"/>
+ <location filename="overview.cpp" line="822"/>
<source>Ticket Not Paid</source>
<translation>Eindriddsgarde is nisch bedsahld. Schiggn ma' an de Gasse.</translation>
</message>
+ <message>
+ <location filename="overview.cpp" line="101"/>
+ <source>Ticket Summary...</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MPasswordChange</name>
<message>
- <location filename="overview.cpp" line="823"/>
+ <location filename="overview.cpp" line="840"/>
<source>Change my password</source>
<translation>Mei eechnes Bassword ändorn</translation>
</message>
<message>
- <location filename="overview.cpp" line="825"/>
+ <location filename="overview.cpp" line="842"/>
<source>Reset password of user %1</source>
<translation>Bassword vom Nudsor %1 zurügsedsen</translation>
</message>
<message>
- <location filename="overview.cpp" line="829"/>
+ <location filename="overview.cpp" line="846"/>
<source>Old Password:</source>
<translation>Aldes Bassword:</translation>
</message>
<message>
- <location filename="overview.cpp" line="833"/>
+ <location filename="overview.cpp" line="850"/>
<source>New Password:</source>
<translation>Neies Bassword:</translation>
</message>
<message>
- <location filename="overview.cpp" line="836"/>
+ <location filename="overview.cpp" line="853"/>
<source>Repeat Password:</source>
<translation>Nochma neies Bassword:</translation>
</message>
<message>
- <location filename="overview.cpp" line="844"/>
+ <location filename="overview.cpp" line="861"/>
<source>Set Password</source>
<translation>Bassword sedsen</translation>
</message>
<message>
- <location filename="overview.cpp" line="846"/>
+ <location filename="overview.cpp" line="863"/>
<source>Cancel</source>
<translation>Vorgisses, ni sedsen</translation>
</message>