Modification de l'interface pour la synchro de la date & heure Modbus.

This commit is contained in:
zonetest 2017-07-20 10:23:10 -04:00
parent a3cde7b718
commit da697ff567
7 changed files with 45 additions and 31 deletions

Binary file not shown.

View File

@ -124,6 +124,20 @@ CGeneralSettingsPage::CGeneralSettingsPage(QGraphicsWidget *Parent)
}
void CGeneralSettingsPage::UseNetworkTime(bool UseNetworkTime)
{
if(UseNetworkTime == true)
{
mUseNetworkTimeChkBx->setChecked(Qt::Checked);
mApplyDateTimeBtn->hide();
}
else
{
mUseNetworkTimeChkBx->setChecked(Qt::Unchecked);
mApplyDateTimeBtn->show();
}
}
void CGeneralSettingsPage::resizeEvent(QGraphicsSceneResizeEvent *event)
{
Q_UNUSED(event)
@ -141,38 +155,11 @@ void CGeneralSettingsPage::ButtonClicked(CTextButtonWidget *BtnPtr)
}
else if(BtnPtr == mApplyDateTimeBtn)
{
QDateTime DateTime;
DateTime.setTime(mTimeEdit->time());
DateTime.setDate(mCalendarWidget->selectedDate());
CZTLog::instance()->AddLogString("Changement manuel de la date et l'heure",true);
mProgramHandle->SetSystemDateTime(&DateTime);
// time_t time_data = time(0);
// struct tm* tm_ptr = localtime(&time_data);
// tm_ptr->tm_min = mTimeEdit->time().minute();
// tm_ptr->tm_hour = mTimeEdit->time().hour();
// tm_ptr->tm_mday = mCalendarWidget->selectedDate().day();
// tm_ptr->tm_mon = mCalendarWidget->selectedDate().month()-1;
// tm_ptr->tm_year = mCalendarWidget->selectedDate().year()-1900;
// const struct timeval tv = {mktime(tm_ptr),0};
// if(settimeofday(&tv,0) < 0)
// {
// qDebug("Settimeofday failed");
// CZTLog::instance()->AddLogString("Échec du changement de la date & de l'heure",true);
// }
// else
// {
// if ( system("/sbin/hwclock --systohc") < 0 )
// {
// //qDebug("hwclock sync failed");
// CZTLog::instance()->AddLogString("Échec du changement de la date & de l'heure (hwsync failure)",true);
// }
// else
// CZTLog::instance()->AddLogString(QString().sprintf("Changement de date & heure: %s %s",mCalendarWidget->selectedDate().toString("yyyy/MM/dd").toUtf8().data(),mTimeEdit->time().toString("hh:mm").toUtf8().data()),true);
// }
}
else if(BtnPtr == mPGValueSetBtn)
{
@ -195,10 +182,12 @@ void CGeneralSettingsPage::NetworkTimeChkBxClicked(int state)
if(state == Qt::Checked)
{
mApplyDateTimeBtn->hide();
mProgramHandle->UseNetworkTime(true);
}
else
{
mApplyDateTimeBtn->show();
mProgramHandle->UseNetworkTime(false);
}
}

View File

@ -52,6 +52,7 @@ public:
CZoneTest *mProgramHandle;
void UseNetworkTime(bool UseNetworkTime);
virtual void resizeEvent(QGraphicsSceneResizeEvent *event);
virtual void mousePressEvent(QGraphicsSceneMouseEvent *event);
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
@ -67,6 +68,7 @@ private:
QTimeEdit *mTimeEdit;
QSpinBox *mPGTresholdValueSpinBox;
CTextButtonWidget *mPGValueSetBtn;
QGraphicsTextItem *mActualPGTresholdValueText;

View File

@ -327,6 +327,7 @@ class CZTSettingsData
bool mKeepMPM10Logs;
bool mKeepAllZT1Logs;
bool mKeepAllZT2Logs;
bool mUseNetworkTime;
};

View File

@ -65,7 +65,7 @@ unsigned int CZTSettingsFileMgr::LoadSettings(CZTSettingsData *SettingsData)
*InputStream >> MagicNbr;
if(MagicNbr != 0xBAADCAFE + 1)
if(MagicNbr != 0xBAADCAFE + 2)
{
CEngLog::instance()->AddLogString("Fichier de settings invalide (mauvais magic number). Chargement des paramètres par défaut");
LoadDefaultSettings(SettingsData);
@ -80,6 +80,7 @@ unsigned int CZTSettingsFileMgr::LoadSettings(CZTSettingsData *SettingsData)
*InputStream >> SettingsData->mKeepMPM10Logs;
*InputStream >> SettingsData->mKeepAllZT1Logs;
*InputStream >> SettingsData->mKeepAllZT2Logs;
*InputStream >> SettingsData->mUseNetworkTime;
SettingsFile->close();
@ -110,7 +111,7 @@ unsigned int CZTSettingsFileMgr::SaveSettings(CZTSettingsData *SettingsData)
QDataStream * OutputStream = new QDataStream(SettingsFile);
quint32 MagicNbr = 0xBAADCAFE + 1;
quint32 MagicNbr = 0xBAADCAFE + 2;
*OutputStream << MagicNbr;
@ -123,6 +124,7 @@ unsigned int CZTSettingsFileMgr::SaveSettings(CZTSettingsData *SettingsData)
*OutputStream << SettingsData->mKeepMPM10Logs;
*OutputStream << SettingsData->mKeepAllZT1Logs;
*OutputStream << SettingsData->mKeepAllZT2Logs;
*OutputStream << SettingsData->mUseNetworkTime;
SettingsFile->flush();
SettingsFile->close();
@ -161,6 +163,8 @@ void CZTSettingsFileMgr::LoadDefaultSettings(CZTSettingsData *SettingsData)
SettingsData->mKeepAllZT1Logs = false;
SettingsData->mKeepAllZT2Logs = false;
SettingsData->mUseNetworkTime = false;
}
void CZTSettingsFileMgr::SetStationName(QString StationName)
{
@ -225,6 +229,9 @@ void CZTSettingsFileMgr::LogSettings(CZTSettingsData *SettingsData, bool LogStat
stream << " Conserver LOGS ZT2 = " << SettingsData->mKeepAllZT2Logs;
CZTLog::instance()->AddLogString(temp,true);
temp.clear();
stream << QString().fromUtf8(" Utilisation de l'heure réseau = ") << SettingsData->mUseNetworkTime;
CZTLog::instance()->AddLogString(temp,true);
temp.clear();
}

View File

@ -507,6 +507,7 @@ unsigned int CZoneTest::InitZT()
// connect(mModbusCCMgr,SIGNAL(RepoHasChanged()),mZTStateMachine,SLOT(ModbusCCANUpdate()));
connect(mModbusCCMgr,SIGNAL(ModbusCCConnected()),panel.mZTMainPage,SLOT(ModbusCCConnected()));
connect(mModbusCCMgr,SIGNAL(ModbusCCDisconnected()),panel.mZTMainPage,SLOT(ModbusCCDisconnected()));
connect(mModbusCCMgr,SIGNAL(ModbusDateTimeReceived(QDateTime*)),this,SLOT(ModbusDateTimeUpdate(QDateTime*)));
panel.mZTMainPage->ModbusCCDisconnected();
}
else
@ -585,6 +586,7 @@ unsigned int CZoneTest::InitZT()
mWelcomePagePtr->InsertTextBoxString(QString("Chargement des fichiers de passage de trains: OK"));
mZTStateMachine->SetAutoExportZT1CSV(mZTSettings->mAutoExportZT1CSV);
mZTStateMachine->SetAutoExportZT2CSV(mZTSettings->mAutoExportZT2CSV);
panel.mGeneralSettingsPage->UseNetworkTime(mZTSettings->mUseNetworkTime);
panel.mLogsListPage->BindPointers(mUSBDriveInterface);
mUSBDriveInterface->Start();
// if(mDI710Module != 0)
@ -1020,6 +1022,11 @@ void CZoneTest::CloseGeneralSettingsPage()
panel.mGeneralSettingsPage->hide();
}
void CZoneTest::UseNetworkTime(bool UseNetworkTime)
{
mZTSettings->mUseNetworkTime = UseNetworkTime;
mZTSettingsFileMgr.SaveSettings(mZTSettings);
}
///Messages from ZTLog viewer page
void CZoneTest::ShowZTLogViewerPage()
@ -1273,7 +1280,14 @@ void CZoneTest::ACPISocketEvent()
void CZoneTest::ModbusDateTimeUpdate(QDateTime *NewDateTime)
{
if(mZTSettings->mUseNetworkTime == true)
{
if(*NewDateTime != QDateTime::currentDateTime())
{
CZTLog::instance()->AddLogString("Synchronisation de l'heure avec le SACL");
SetSystemDateTime(NewDateTime);
}
}
}
int CZoneTest::SetSystemDateTime(QDateTime *DateTime)

View File

@ -115,6 +115,7 @@ public:
void OpenGeneralSettingsPage();
void CloseGeneralSettingsPage();
void UseNetworkTime(bool UseNetworkTime);
void ShowZTLogViewerPage();
void HideZTLogViewerPage();