286 lines
6.1 KiB
C++
286 lines
6.1 KiB
C++
#ifndef ATBHMICONFIG_H
|
|
#define ATBHMICONFIG_H
|
|
|
|
#include <QObject>
|
|
#include <QSettings>
|
|
#include <ATBAPP.h>
|
|
#include "version.h"
|
|
|
|
|
|
/***************************************
|
|
* Sample configuration:
|
|
*
|
|
* [General]
|
|
* com_port_name=/dev/pts/16
|
|
* machine_nr=99
|
|
*
|
|
* suspend_methode=sysfs
|
|
* suspend_program=
|
|
* suspend_time=10
|
|
*
|
|
* touch_feedback=on
|
|
* touch_feedback_gpio=115 // 115 = beep; 121 = vibration motor
|
|
* touch_feedback_on_value=0 // 0 (buzzer) 1 (vibration)
|
|
* touch_feedback_off_value=1 // 1 (buzzer) 0 (vibration)
|
|
*
|
|
* log=on // loggin is on
|
|
*
|
|
* lang1=de_DE
|
|
* lang2=en_US
|
|
* lang3=fr_FR
|
|
* lang4=ja_JP
|
|
*
|
|
* textfile=HMI_Texte.xml
|
|
*
|
|
*/
|
|
|
|
|
|
enum class OOO_MODE : quint8;
|
|
|
|
|
|
class ATBHMIconfig : public QObject
|
|
{
|
|
Q_OBJECT
|
|
|
|
QString ComPortName;
|
|
|
|
QString SuspendMethode;
|
|
QString SuspendProgram;
|
|
QString SuspendTime;
|
|
|
|
QString SellTimeoutTime;
|
|
|
|
QString qmPath;
|
|
|
|
QString touch_feedback_gpio;
|
|
QString touch_feedback_on_value;
|
|
QString touch_feedback_off_value;
|
|
|
|
|
|
QString lang1;
|
|
QString lang2;
|
|
QString lang3;
|
|
QString lang4;
|
|
QString lang5;
|
|
|
|
quint8 useLanguage;
|
|
quint8 useVehicle;
|
|
quint8 useProduct;
|
|
quint8 usePayment;
|
|
|
|
QString country1;
|
|
QString country2;
|
|
QString country3;
|
|
QString country4;
|
|
QString country5;
|
|
|
|
QSettings *settings;
|
|
|
|
quint16 features;
|
|
static const quint16 featureMaskTF = 0x0001;
|
|
static const quint16 featureMaskLog = 0x0002;
|
|
static const quint16 featureMaskDC = 0x0004; // manuell display control, (in future deprecated)
|
|
static const quint16 featureMaskSusp = 0x0008; // manuell suspend control, (in future deprecated)
|
|
static const quint16 featureMaskStartButton = 0x0010;
|
|
static const quint16 featureMaskSelfOOO = 0x0020;
|
|
static const quint16 featureMaskDBusDisplayControl = 0x0040;
|
|
static const quint16 featureMaskDBusSuspendControl = 0x0080;
|
|
static const quint16 featureMaskShowParkingTime = 0x0100;
|
|
|
|
|
|
|
|
QString logfilename;
|
|
|
|
QString textfilename;
|
|
|
|
QString alternativeLogoFilename;
|
|
|
|
QString oooServiceNumber;
|
|
|
|
QString oooServiceEmail;
|
|
|
|
QString oooAlternativeLocation;
|
|
|
|
QString qrCodeLink;
|
|
|
|
QString lpLocalExample;
|
|
|
|
QString currencySymbol;
|
|
|
|
quint8 defaultLanguage;
|
|
|
|
|
|
bool HelpButtonUsed;
|
|
bool InfoButtonUsed;
|
|
bool DiscountUsed;
|
|
bool QRCodeReceiptUsed;
|
|
|
|
int ComBaudRate;
|
|
|
|
QString cust_nr;
|
|
QString group_nr;
|
|
QString zone_nr;
|
|
QString machine_nr;
|
|
bool validPSAconfig;
|
|
|
|
QByteArray characterSet;
|
|
|
|
PAYMENT_VARIANTS::CASH_VARIANT cashVariant;
|
|
|
|
// ErrorCode-mapping
|
|
QHash<QString,QString> errorTextHash;
|
|
|
|
public:
|
|
explicit ATBHMIconfig(QObject *parent = nullptr);
|
|
~ATBHMIconfig();
|
|
|
|
QSettings *getSettingsPtr();
|
|
const QSettings & getSettings();
|
|
|
|
void initEarly();
|
|
void initDefered();
|
|
|
|
QString getComPortName();
|
|
|
|
QString getSuspendMethode();
|
|
QString getSuspendProgram();
|
|
QString getSuspendTime();
|
|
|
|
QString getSellTimeoutTime();
|
|
|
|
quint32 getHMIScreenChangeTimeoutTime();
|
|
|
|
QString getQmPath();
|
|
|
|
QString getLang(int lang);
|
|
QString getCountry(int country);
|
|
bool isLanguageUsed(int lang);
|
|
|
|
bool isInfoButtonUsed();
|
|
bool isHelpButtonUsed();
|
|
|
|
bool isPaymentUsed(int payment);
|
|
bool isVehicleUsed(int vehicle);
|
|
bool isProductUsed(int product);
|
|
bool isProcductUsed(int product);
|
|
|
|
QString getTouchFeedbackGPIO();
|
|
QString getTouchFeedbackOnValue();
|
|
QString getTouchFeedbackOffValue();
|
|
|
|
bool hasFeatureTF(); // touch feedback
|
|
bool hasFeatureLog(); // log serial communication
|
|
bool hasFeatureDC(); // display control
|
|
bool hasFeatureStartButton(); // StartButton
|
|
bool hasFeatureSelfOOO(); // self ooo capability
|
|
bool hasFeatureDBusDisplayControl();
|
|
bool hasFeatureDBusSuspendControl();
|
|
bool hasFeatureShowParkingTime(); // show parking time in addition to parking end time
|
|
|
|
|
|
QString getTextfileName();
|
|
QString getAlternativeLogoFilename();
|
|
|
|
const QByteArray & getDefaultCharacterSet() const;
|
|
|
|
QString getOOOServiceNumber();
|
|
QString getOOOServiceEmail();
|
|
QString getOOOAlternativeLocation();
|
|
QString getLicensePlateExampleString();
|
|
QString getQrCodeLink();
|
|
|
|
const QString & getPaymentCurrencySymbol();
|
|
|
|
void setFeatureTF();
|
|
void unsetFeatureTF();
|
|
|
|
void setFeatureLog();
|
|
void unsetFeatureLog();
|
|
|
|
void setFeatureDC();
|
|
void unsetFeatureDC();
|
|
|
|
void setFeatureStartButton();
|
|
void unsetFeatureStartButton();
|
|
|
|
void setFeatureSelfOOO();
|
|
void unsetFeatureSelfOOO();
|
|
|
|
void setFeatureDBusDisplayControl();
|
|
void unsetFeatureDBusDisplayControl();
|
|
|
|
void setFeatureDBusSuspendControl();
|
|
void unsetFeatureDBusSuspendControl();
|
|
|
|
void setFeatureShowParkingTime();
|
|
void unsetFeatureShowParkingTime();
|
|
|
|
QString getLogFileName();
|
|
|
|
int getDefaultLanguage();
|
|
QStringList getConfiguredLanguages();
|
|
|
|
int getComBaudRate();
|
|
|
|
QString getErrorText(const QString & errorCode);
|
|
|
|
// machine configuration
|
|
QString & getCustNr();
|
|
QString & getGroupNr();
|
|
QString & getZoneNr();
|
|
QString & getMachineNr();
|
|
quint8 readPSAConfig();
|
|
|
|
PAYMENT_VARIANTS::CASH_VARIANT getCashVariant();
|
|
|
|
bool discountIsUsed();
|
|
bool qrCodeReceiptIsUsed();
|
|
|
|
// service programs
|
|
QString & getNetworkDiagTool();
|
|
//QString & getPTUConfig();
|
|
//QString & getPTUUpdate();
|
|
|
|
OOO_MODE getOOOMode();
|
|
|
|
QString getOOOModeString();
|
|
|
|
PAYMENT_POINTINTIME getPaymentPointInTime();
|
|
bool useHonestPayment();
|
|
|
|
QStringList configGroups;
|
|
|
|
private:
|
|
OOO_MODE oooMode;
|
|
|
|
PAYMENT_POINTINTIME paymentPointInTime;
|
|
bool honestPayment;
|
|
|
|
void privateReadInputDevices();
|
|
|
|
QString networkDiagToolName;
|
|
|
|
signals:
|
|
|
|
public slots:
|
|
void setDefaultLanguage(quint8 lang);
|
|
|
|
void setCustNr(const QString& cust_nr);
|
|
void setGroupNr(const QString& group_nr);
|
|
void setZoneNr(const QString& zone_nr);
|
|
void setMachineNr(const QString& machine_nr);
|
|
|
|
void reReadSettings();
|
|
};
|
|
|
|
|
|
|
|
|
|
enum class OOO_MODE : quint8 {
|
|
DEFAULT = 0,
|
|
USE_PARKDISK = 1,
|
|
USE_OTHER_MACHINE = 2
|
|
};
|
|
|
|
#endif // ATBHMICONFIG_H
|