#include <QPixmap>
#include <QString>
-QPixmap code39(QString);
\ No newline at end of file
+/**Takes a string and converts it into a code-39 bar code.
+Code-39 allows letters (case-insensitive), digits, spaces and the special chars "-.$/+%".
+The bar code pixmap will be 1 pixel high and 16 pixels wide for each character (plus start/stop character and checksum character) - it needs to be scaled up to fit the intended size.*/
+QPixmap code39(QString);
--- /dev/null
+<!DOCTYPE RCC>
+<RCC version="1.0">
+ <qresource>
+ <file>icon.png</file>
+ </qresource>
+</RCC>
#include <QMessageBox>
#include <QHostInfo>
#include <QDir>
+#include <QIcon>
#include "keygen.h"
#include "mainwindow.h"
#include "hmac.h"
+#include "main.h"
+
+QString choseLanguage(bool warn)
+{
+ QString lang=QSettings().value("lang","--").toString();
+ if(lang=="--"){
+ lang=QLocale::system().name();
+ }
+ int cur=0;
+ QStringList langs;
+ langs<<"C - default";
+ QStringList files=QDir(QApplication::applicationDirPath()).entryList(QStringList()<<"smoke_*.qm", QDir::Files, QDir::Name);
+ for(int i=0;i<files.size();i++){
+ QString l=files[i].mid(6);
+ l.chop(3);
+ langs<<l;
+ if(l==lang)cur=langs.size()-1;
+ }
+ bool ok;
+ QString lc;
+ lc=QInputDialog::getItem(0,QApplication::translate("lang","Chose Language"),QApplication::translate("lang","Language:"),langs,cur,false,&ok);
+ if(ok){
+ lang=lc.split(' ').at(0);
+ QSettings().setValue("lang",lang);
+ if(warn)
+ QMessageBox::information(0,QApplication::translate("lang","Information"), QApplication::translate("lang","The changed language setting will only be active after restarting the application."));
+ }
+ return lang;
+}
int main(int argc,char**argv)
{
app.setOrganizationName("MagicSmoke");
app.setApplicationName("MagicSmoke");
+ //set icon
+ app.setWindowIcon(QIcon(":/icon.png"));
+
//install event filter for random generator
EFilter ef;
app.installEventFilter(&ef);
//try to find appropriate locale
QString lang=QSettings().value("lang","--").toString();
if(lang=="--"){
- lang=QLocale::system().name();
- int cur=0;
- QStringList langs;
- langs<<"C - default";
- QStringList files=QDir(app.applicationDirPath()).entryList(QStringList()<<"smoke_*.qm", QDir::Files, QDir::Name);
- for(int i=0;i<files.size();i++){
- QString l=files[i].mid(6);
- l.chop(3);
- langs<<l;
- if(l==lang)cur=langs.size()-1;
- }
- bool ok;
- QString lc;
- lc=QInputDialog::getItem(0,"Chose Language","Language:",langs,cur,false,&ok);
- if(&ok){
- lang=lc.split(' ').at(0);
- QSettings().setValue("lang",lang);
- }
+ lang=choseLanguage(false);
}
qDebug("Loading language %s",lang.toAscii().data());
QTranslator qttrans;
--- /dev/null
+//
+// C++ Interface: main
+//
+// Description:
+//
+//
+// Author: Konrad Rosenbaum <konrad@silmor.de>, (C) 2007
+//
+// Copyright: See README/COPYING files that come with this distribution
+//
+//
+
+QString choseLanguage(bool warn=true);
+
#include "keygen.h"
#include "webrequest.h"
#include "overview.h"
+#include "main.h"
#include <QHttp>
#include <QFile>
m->addSeparator();
m->addAction(tr("&Close Window"),this,SLOT(close()));
m=mb->addMenu(tr("&Configure"));
+ m->addAction(tr("&Language..."),this,SLOT(changeLang()));
//create central widget
QWidget *loginwidget;
gl->addWidget(lab=new QLabel(tr("Proxy Password:")),++lctr,0);
lab->setAlignment(Qt::AlignRight);
gl->addWidget(proxypass=new QLineEdit,lctr,1);
- password->setEchoMode(QLineEdit::Password);
+ proxypass->setEchoMode(QLineEdit::Password);
connect(useproxy,SIGNAL(toggled(bool)),proxyuser,SLOT(setEnabled(bool)));
connect(useproxy,SIGNAL(toggled(bool)),proxypass,SLOT(setEnabled(bool)));
QFrame*frm;
setEnabled(true);
}
+
+void MMainWindow::changeLang()
+{
+ choseLanguage();
+}
void saveProfile();
void newProfile();
void startLogin();
+ //settings
+ void changeLang();
};
#endif
#include <QStatusBar>
#include <QMenuBar>
#include <QMenu>
+#include <QBoxLayout>
+#include <QPushButton>
+#include <QTableView>
+#include <QLabel>
+#include <QTextEdit>
+#include <QFrame>
MOverview::MOverview(MWebRequest*mw,QString pk)
{
QMenuBar*mb=menuBar();
QMenu*m=mb->addMenu(tr("&Session"));
m->addAction(tr("&Re-Login"),this,SLOT(relogin()));
+ m->addAction(tr("&Offline mode"))->setEnabled(false);
m->addSeparator();
m->addAction(tr("&Close Session"),this,SLOT(close()));
m=mb->addMenu(tr("&Event"));
+ m->addAction(tr("&Show details..."));
+ m->addAction(tr("&New Event..."));
+ m->addAction(tr("&Cancel Event..."));
+
m=mb->addMenu(tr("&Customer"));
+ m->addAction(tr("&Show all customers"));
+
+ m=mb->addMenu(tr("C&art"));
+ m->addAction(tr("Add &Ticket"));
+ m->addAction(tr("Add &Voucher"));
+ m->addAction(tr("&Remove Item"));
+ m->addAction(tr("&Abort Shopping"));
+ m->addSeparator();
+ m->addAction(tr("&Show all orders"));
+
m=mb->addMenu(tr("C&onfigure"));
+
//tabs
setCentralWidget(tab=new QTabWidget);
- tab->addTab(new QWidget,tr("Events"));
- tab->addTab(new QWidget,tr("Customers"));
- tab->addTab(new QWidget,tr("Order"));
+ tab->addTab(eventtab=new QWidget,tr("Events"));
+ QVBoxLayout*vl;QHBoxLayout*hl;
+ eventtab->setLayout(hl=new QHBoxLayout);
+ hl->addWidget(new QTableView,10);
+ hl->addSpacing(5);
+ hl->addLayout(vl=new QVBoxLayout,0);
+ vl->addWidget(new QPushButton(tr("New Event...")),0);
+ vl->addWidget(new QPushButton(tr("Details...")),0);
+ vl->addSpacing(15);
+ vl->addWidget(new QPushButton(tr("Order Ticket...")),0);
+ vl->addStretch(10);
+
+ tab->addTab(carttab=new QWidget,tr("Shopping Cart"));
+ carttab->setLayout(vl=new QVBoxLayout);
+ vl->addLayout(hl=new QHBoxLayout);
+ QVBoxLayout*vl2;
+ hl->addLayout(vl2=new QVBoxLayout,1);
+ vl2->addWidget(new QTableView,10);
+ QHBoxLayout*hl2;
+ vl2->addLayout(hl2=new QHBoxLayout,0);
+ hl2->addStretch(10);
+ hl2->addWidget(new QPushButton(tr("Add Ticket")),0);
+ hl2->addWidget(new QPushButton(tr("Add Voucher")),0);
+ hl2->addWidget(new QPushButton(tr("Remove Item")),0);
+ QFrame*frm;
+ hl->addWidget(frm=new QFrame,0);
+ frm->setFrameShape(QFrame::VLine);
+ hl->addLayout(vl2=new QVBoxLayout,1);
+ vl2->addWidget(new QPushButton(tr("Customer:")),0);
+ vl2->addWidget(new QLabel("...blah\nPerson\nsomewhere"));
+ vl2->addWidget(frm=new QFrame,0);
+ frm->setFrameShape(QFrame::HLine);
+ vl2->addSpacing(10);
+ vl2->addWidget(new QLabel(tr("Delivery Address:")),0);
+ vl2->addWidget(new QTextEdit);
+ vl2->addSpacing(10);
+ vl2->addWidget(new QLabel(tr("Comments:")),0);
+ vl2->addWidget(new QTextEdit);
+ vl2->addStretch(10);
+ vl->addWidget(frm=new QFrame,0);
+ frm->setFrameShape(QFrame::HLine);
+ vl->addLayout(hl=new QHBoxLayout,0);
+ hl->addStretch(10);
+ hl->addWidget(new QPushButton(tr("Save Order")));
+ hl->addWidget(new QPushButton(tr("Clear")));
//status bar
statusBar()->setSizeGripEnabled(true);
MOverview(MWebRequest*,QString);
~MOverview();
protected:
+ /**handle closing the window: close the session too*/
void closeEvent(QCloseEvent*);
private slots:
+ /**try to log in again*/
void relogin();
private:
//my session object
QString profilekey;
//widgets
QTabWidget*tab;
+ QWidget*eventtab,*carttab;
};
#endif
webrequest.h \
overview.h
+RESOURCES += files.qrc
+
TRANSLATIONS = \
smoke_de.ts \
- smoke_de_SAX.ts
\ No newline at end of file
+ smoke_de_SAX.ts
+
+
+#include(zip/zip.pri)
<context>
<name>MMainWindow</name>
<message>
- <location filename="mainwindow.cpp" line="55"/>
+ <location filename="mainwindow.cpp" line="57"/>
<source>Profile:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="59"/>
+ <location filename="mainwindow.cpp" line="61"/>
<source>Alternate Hostname:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="62"/>
+ <location filename="mainwindow.cpp" line="64"/>
<source>Server URL:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="65"/>
+ <location filename="mainwindow.cpp" line="67"/>
<source>Proxy:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="86"/>
+ <location filename="mainwindow.cpp" line="88"/>
<source>Username:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="89"/>
+ <location filename="mainwindow.cpp" line="91"/>
<source>Password:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="177"/>
+ <location filename="mainwindow.cpp" line="179"/>
<source>New Profile</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="177"/>
+ <location filename="mainwindow.cpp" line="179"/>
<source>Please enter a profile name. It must be non-empty and must not be used yet:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="74"/>
+ <location filename="mainwindow.cpp" line="76"/>
<source>Proxy Username:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="77"/>
+ <location filename="mainwindow.cpp" line="79"/>
<source>Proxy Password:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="202"/>
+ <location filename="mainwindow.cpp" line="204"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="202"/>
+ <location filename="mainwindow.cpp" line="204"/>
<source>Unable to log in. Error: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="41"/>
+ <location filename="mainwindow.cpp" line="42"/>
<source>&File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="42"/>
+ <location filename="mainwindow.cpp" line="43"/>
<source>&New Profile...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="43"/>
+ <location filename="mainwindow.cpp" line="44"/>
<source>&Save Profile</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="45"/>
+ <location filename="mainwindow.cpp" line="46"/>
<source>&Close Window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="46"/>
+ <location filename="mainwindow.cpp" line="47"/>
<source>&Configure</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="96"/>
+ <location filename="mainwindow.cpp" line="98"/>
<source>new Profile</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="98"/>
+ <location filename="mainwindow.cpp" line="100"/>
<source>save Profile</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="101"/>
+ <location filename="mainwindow.cpp" line="103"/>
<source>Login</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="mainwindow.cpp" line="48"/>
+ <source>&Language...</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MOverview</name>
<message>
- <location filename="overview.cpp" line="31"/>
+ <location filename="overview.cpp" line="37"/>
<source>&Session</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="overview.cpp" line="32"/>
+ <location filename="overview.cpp" line="38"/>
<source>&Re-Login</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="overview.cpp" line="34"/>
+ <location filename="overview.cpp" line="41"/>
<source>&Close Session</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="overview.cpp" line="36"/>
+ <location filename="overview.cpp" line="43"/>
<source>&Event</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="overview.cpp" line="37"/>
+ <location filename="overview.cpp" line="48"/>
<source>&Customer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="overview.cpp" line="38"/>
+ <location filename="overview.cpp" line="59"/>
<source>C&onfigure</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="overview.cpp" line="41"/>
+ <location filename="overview.cpp" line="63"/>
<source>Events</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="overview.cpp" line="42"/>
- <source>Customers</source>
+ <location filename="overview.cpp" line="131"/>
+ <source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="overview.cpp" line="43"/>
- <source>Order</source>
+ <location filename="overview.cpp" line="131"/>
+ <source>I was unable to renew the login at the server, the error was: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="overview.cpp" line="67"/>
- <source>Warning</source>
+ <location filename="overview.cpp" line="39"/>
+ <source>&Offline mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="overview.cpp" line="67"/>
- <source>I was unable to renew the login at the server, the error was: %1</source>
+ <location filename="overview.cpp" line="44"/>
+ <source>&Show details...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="45"/>
+ <source>&New Event...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="46"/>
+ <source>&Cancel Event...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="49"/>
+ <source>&Show all customers</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="51"/>
+ <source>C&art</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="52"/>
+ <source>Add &Ticket</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="53"/>
+ <source>Add &Voucher</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="54"/>
+ <source>&Remove Item</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="55"/>
+ <source>&Abort Shopping</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="57"/>
+ <source>&Show all orders</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="69"/>
+ <source>New Event...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="70"/>
+ <source>Details...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="72"/>
+ <source>Order Ticket...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="75"/>
+ <source>Shopping Cart</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="84"/>
+ <source>Add Ticket</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="85"/>
+ <source>Add Voucher</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="86"/>
+ <source>Remove Item</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="91"/>
+ <source>Customer:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="96"/>
+ <source>Delivery Address:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="99"/>
+ <source>Comments:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="106"/>
+ <source>Save Order</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="107"/>
+ <source>Clear</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>initkey</name>
<message>
- <location filename="main.cpp" line="87"/>
+ <location filename="main.cpp" line="103"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="main.cpp" line="75"/>
+ <location filename="main.cpp" line="91"/>
<source>Magic Smoke needs a host key. You have to generate one before you can use the program.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="main.cpp" line="81"/>
+ <location filename="main.cpp" line="97"/>
<source>Enter Host Name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="main.cpp" line="82"/>
+ <location filename="main.cpp" line="98"/>
<source>Host name:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="main.cpp" line="87"/>
+ <location filename="main.cpp" line="103"/>
<source>Magic Smoke needs a host name. You have to configure one before you can use the program.</source>
<translation type="unfinished"></translation>
</message>
<context>
<name>initprofile</name>
<message>
- <location filename="main.cpp" line="96"/>
+ <location filename="main.cpp" line="112"/>
<source>default</source>
<comment>initial profile</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="main.cpp" line="97"/>
+ <location filename="main.cpp" line="113"/>
<source>Create Initial Profile</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="main.cpp" line="97"/>
+ <location filename="main.cpp" line="113"/>
<source>You need a profile to work with Magic Smoke. Magic Smoke will now create one for you. Please enter the name you wish to give this profile.</source>
<translation type="unfinished"></translation>
</message>
</context>
+<context>
+ <name>lang</name>
+ <message>
+ <location filename="main.cpp" line="51"/>
+ <source>Information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="51"/>
+ <source>The changed language setting will only be active after restarting the application.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="46"/>
+ <source>Chose Language</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="46"/>
+ <source>Language:</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
</TS>
<context>
<name>MMainWindow</name>
<message>
- <location filename="mainwindow.cpp" line="55"/>
+ <location filename="mainwindow.cpp" line="57"/>
<source>Profile:</source>
<translation>Brofiel:</translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="59"/>
+ <location filename="mainwindow.cpp" line="61"/>
<source>Alternate Hostname:</source>
<translation>Andror Reschnername:</translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="62"/>
+ <location filename="mainwindow.cpp" line="64"/>
<source>Server URL:</source>
<translation>URL vom diggen Reschnor:</translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="65"/>
+ <location filename="mainwindow.cpp" line="67"/>
<source>Proxy:</source>
<translation>Web-Broggsie:</translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="86"/>
+ <location filename="mainwindow.cpp" line="88"/>
<source>Username:</source>
<translation>Nudsorname:</translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="89"/>
+ <location filename="mainwindow.cpp" line="91"/>
<source>Password:</source>
<translation>Gans doll geheimer Gohd:</translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="177"/>
+ <location filename="mainwindow.cpp" line="179"/>
<source>New Profile</source>
<translation>Neues Brofiel</translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="177"/>
+ <location filename="mainwindow.cpp" line="179"/>
<source>Please enter a profile name. It must be non-empty and must not be used yet:</source>
<translation>Bidde gäben'se 'nen Namen für das neue Brofiel ein. Der darf noch ni' benudsd sein und leer darf'or och nedd sein:</translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="74"/>
+ <location filename="mainwindow.cpp" line="76"/>
<source>Proxy Username:</source>
<translation>Nudsername für'n Broggsie:</translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="77"/>
+ <location filename="mainwindow.cpp" line="79"/>
<source>Proxy Password:</source>
<translation>Geheimer Gohd für'n Broggsie:</translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="202"/>
+ <location filename="mainwindow.cpp" line="204"/>
<source>Warning</source>
<translation>Dumm gelaufen</translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="202"/>
+ <location filename="mainwindow.cpp" line="204"/>
<source>Unable to log in. Error: %1</source>
<translation>Isch gann nisch off'n gross'n Reschner. Der will nisch weil: %1</translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="41"/>
+ <location filename="mainwindow.cpp" line="42"/>
<source>&File</source>
<translation>&Dadai</translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="42"/>
+ <location filename="mainwindow.cpp" line="43"/>
<source>&New Profile...</source>
<translation>&Neues Brofiel</translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="43"/>
+ <location filename="mainwindow.cpp" line="44"/>
<source>&Save Profile</source>
<translation>Brofiel &schbeichorn</translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="45"/>
+ <location filename="mainwindow.cpp" line="46"/>
<source>&Close Window</source>
<translation>Fänsdor &zumach'n</translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="46"/>
+ <location filename="mainwindow.cpp" line="47"/>
<source>&Configure</source>
<translation>&Gonfiguriern</translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="96"/>
+ <location filename="mainwindow.cpp" line="98"/>
<source>new Profile</source>
<translation>Neues Brofiel</translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="98"/>
+ <location filename="mainwindow.cpp" line="100"/>
<source>save Profile</source>
<translation>Brofiel schbeichorn</translation>
</message>
<message>
- <location filename="mainwindow.cpp" line="101"/>
+ <location filename="mainwindow.cpp" line="103"/>
<source>Login</source>
<translation>Droff offn' Reschnor</translation>
</message>
+ <message>
+ <location filename="mainwindow.cpp" line="48"/>
+ <source>&Language...</source>
+ <translation>&Schbrache...</translation>
+ </message>
</context>
<context>
<name>MOverview</name>
<message>
- <location filename="overview.cpp" line="31"/>
+ <location filename="overview.cpp" line="37"/>
<source>&Session</source>
<translation>&Sidsung</translation>
</message>
<message>
- <location filename="overview.cpp" line="32"/>
+ <location filename="overview.cpp" line="38"/>
<source>&Re-Login</source>
<translation>&Noch'ma einloggn</translation>
</message>
<message>
- <location filename="overview.cpp" line="34"/>
+ <location filename="overview.cpp" line="41"/>
<source>&Close Session</source>
<translation>Sidsung &Zumachn</translation>
</message>
<message>
- <location filename="overview.cpp" line="36"/>
+ <location filename="overview.cpp" line="43"/>
<source>&Event</source>
<translation>&Veranschdaldung</translation>
</message>
<message>
- <location filename="overview.cpp" line="37"/>
+ <location filename="overview.cpp" line="48"/>
<source>&Customer</source>
<translation>&Gunde</translation>
</message>
<message>
- <location filename="overview.cpp" line="38"/>
+ <location filename="overview.cpp" line="59"/>
<source>C&onfigure</source>
<translation>G&onfiguriern</translation>
</message>
<message>
- <location filename="overview.cpp" line="41"/>
+ <location filename="overview.cpp" line="63"/>
<source>Events</source>
<translation>Veranschdaldungen</translation>
</message>
<message>
- <location filename="overview.cpp" line="42"/>
- <source>Customers</source>
- <translation>Gunden</translation>
- </message>
- <message>
- <location filename="overview.cpp" line="43"/>
- <source>Order</source>
- <translation>Beschdellung</translation>
- </message>
- <message>
- <location filename="overview.cpp" line="67"/>
+ <location filename="overview.cpp" line="131"/>
<source>Warning</source>
<translation>Dumm gelaufen</translation>
</message>
<message>
- <location filename="overview.cpp" line="67"/>
+ <location filename="overview.cpp" line="131"/>
<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="39"/>
+ <source>&Offline mode</source>
+ <translation>&Ohne Neds und Dobbelden Boden</translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="44"/>
+ <source>&Show details...</source>
+ <translation>&Dedails anzeigen...</translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="45"/>
+ <source>&New Event...</source>
+ <translation>&Neue Veranschdaldung...</translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="46"/>
+ <source>&Cancel Event...</source>
+ <translation>Veranschdaldung &absach'n...</translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="49"/>
+ <source>&Show all customers</source>
+ <translation>&Alle Gunden anzeigen</translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="51"/>
+ <source>C&art</source>
+ <translation>Eing&aufswagen</translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="52"/>
+ <source>Add &Ticket</source>
+ <translation>Ein&driddsgarde hinzufüchen</translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="53"/>
+ <source>Add &Voucher</source>
+ <translation>&Gudschein hinzufüchen</translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="54"/>
+ <source>&Remove Item</source>
+ <translation>Doch &ni' nehm'</translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="55"/>
+ <source>&Abort Shopping</source>
+ <translation>&Eingauf Abbrechen</translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="57"/>
+ <source>&Show all orders</source>
+ <translation>&Alle Beschdellungen anzeichen</translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="69"/>
+ <source>New Event...</source>
+ <translation>Neue Veranschdaldung...</translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="70"/>
+ <source>Details...</source>
+ <translation>Dedails anzeichen...</translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="72"/>
+ <source>Order Ticket...</source>
+ <translation>Eindriddsgarde beschdellen...</translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="75"/>
+ <source>Shopping Cart</source>
+ <translation>Eingaufswagen</translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="84"/>
+ <source>Add Ticket</source>
+ <translation>Eindriddsgarde hinzufüchen</translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="85"/>
+ <source>Add Voucher</source>
+ <translation>Gudschein hinzufüchen</translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="86"/>
+ <source>Remove Item</source>
+ <translation>Doch ni' nehm'</translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="91"/>
+ <source>Customer:</source>
+ <translation>Gunde:</translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="96"/>
+ <source>Delivery Address:</source>
+ <translation>Adresse wo's Zeuch hin soll:</translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="99"/>
+ <source>Comments:</source>
+ <translation>Wischdiches Gelaber und Gerede:</translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="106"/>
+ <source>Save Order</source>
+ <translation>Beschdellung abschbeichern</translation>
+ </message>
+ <message>
+ <location filename="overview.cpp" line="107"/>
+ <source>Clear</source>
+ <translation>Wechwerfen und von vorne!</translation>
+ </message>
</context>
<context>
<name>MWebRequest</name>
<context>
<name>initkey</name>
<message>
- <location filename="main.cpp" line="87"/>
+ <location filename="main.cpp" line="103"/>
<source>Warning</source>
<translation>Dumm gelaufen</translation>
</message>
<message>
- <location filename="main.cpp" line="75"/>
+ <location filename="main.cpp" line="91"/>
<source>Magic Smoke needs a host key. You have to generate one before you can use the program.</source>
<translation>Mädschig Schmohg brauchd 'nen Schlüssel. Desweschen isser beleidschd. Beim nächsden Schdard mussde ihn einen mach'n lass'n.</translation>
</message>
<message>
- <location filename="main.cpp" line="81"/>
+ <location filename="main.cpp" line="97"/>
<source>Enter Host Name</source>
<translation>Gombjudername eingäbn</translation>
</message>
<message>
- <location filename="main.cpp" line="82"/>
+ <location filename="main.cpp" line="98"/>
<source>Host name:</source>
<translation>Gombjudername:</translation>
</message>
<message>
- <location filename="main.cpp" line="87"/>
+ <location filename="main.cpp" line="103"/>
<source>Magic Smoke needs a host name. You have to configure one before you can use the program.</source>
<translation>Mädschig Schmohg brauchd 'nen Namen für diesen Gombjuder. Desweschen isser beleidschd. Beim nächsden Schdard mussde ihn eingäben. </translation>
</message>
<context>
<name>initprofile</name>
<message>
- <location filename="main.cpp" line="96"/>
+ <location filename="main.cpp" line="112"/>
<source>default</source>
<comment>initial profile</comment>
<translation>Schdandardbrofiel</translation>
</message>
<message>
- <location filename="main.cpp" line="97"/>
+ <location filename="main.cpp" line="113"/>
<source>Create Initial Profile</source>
<translation>Erschdes Brofiel anlechen</translation>
</message>
<message>
- <location filename="main.cpp" line="97"/>
+ <location filename="main.cpp" line="113"/>
<source>You need a profile to work with Magic Smoke. Magic Smoke will now create one for you. Please enter the name you wish to give this profile.</source>
<translation>Gugge, Du brauchsd sowas wie'n Brofiel. Mädschig Schmohg iss nedd und machd eens für Disch. Desderweschen brauchsde jedsd nur noch n Namen dafür eindibben.</translation>
</message>
</context>
+<context>
+ <name>lang</name>
+ <message>
+ <location filename="main.cpp" line="51"/>
+ <source>Information</source>
+ <translation>Informadschion</translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="51"/>
+ <source>The changed language setting will only be active after restarting the application.</source>
+ <translation>De Ändorung von dor Schbrache wird ersd wirgsam, wenn'de das Brogramm neu geschdarded hasd. S' is draurisch, aber wahr.</translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="46"/>
+ <source>Chose Language</source>
+ <translation>Schbrache Aussuch'n</translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="46"/>
+ <source>Language:</source>
+ <translation>Schbrache:</translation>
+ </message>
+</context>
</TS>