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) void CGeneralSettingsPage::resizeEvent(QGraphicsSceneResizeEvent *event)
{ {
Q_UNUSED(event) Q_UNUSED(event)
@ -141,38 +155,11 @@ void CGeneralSettingsPage::ButtonClicked(CTextButtonWidget *BtnPtr)
} }
else if(BtnPtr == mApplyDateTimeBtn) else if(BtnPtr == mApplyDateTimeBtn)
{ {
QDateTime DateTime; QDateTime DateTime;
DateTime.setTime(mTimeEdit->time()); DateTime.setTime(mTimeEdit->time());
DateTime.setDate(mCalendarWidget->selectedDate()); DateTime.setDate(mCalendarWidget->selectedDate());
CZTLog::instance()->AddLogString("Changement manuel de la date et l'heure",true);
mProgramHandle->SetSystemDateTime(&DateTime); 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) else if(BtnPtr == mPGValueSetBtn)
{ {
@ -195,10 +182,12 @@ void CGeneralSettingsPage::NetworkTimeChkBxClicked(int state)
if(state == Qt::Checked) if(state == Qt::Checked)
{ {
mApplyDateTimeBtn->hide(); mApplyDateTimeBtn->hide();
mProgramHandle->UseNetworkTime(true);
} }
else else
{ {
mApplyDateTimeBtn->show(); mApplyDateTimeBtn->show();
mProgramHandle->UseNetworkTime(false);
} }
} }

View File

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

View File

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

View File

@ -65,7 +65,7 @@ unsigned int CZTSettingsFileMgr::LoadSettings(CZTSettingsData *SettingsData)
*InputStream >> MagicNbr; *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"); CEngLog::instance()->AddLogString("Fichier de settings invalide (mauvais magic number). Chargement des paramètres par défaut");
LoadDefaultSettings(SettingsData); LoadDefaultSettings(SettingsData);
@ -80,6 +80,7 @@ unsigned int CZTSettingsFileMgr::LoadSettings(CZTSettingsData *SettingsData)
*InputStream >> SettingsData->mKeepMPM10Logs; *InputStream >> SettingsData->mKeepMPM10Logs;
*InputStream >> SettingsData->mKeepAllZT1Logs; *InputStream >> SettingsData->mKeepAllZT1Logs;
*InputStream >> SettingsData->mKeepAllZT2Logs; *InputStream >> SettingsData->mKeepAllZT2Logs;
*InputStream >> SettingsData->mUseNetworkTime;
SettingsFile->close(); SettingsFile->close();
@ -110,7 +111,7 @@ unsigned int CZTSettingsFileMgr::SaveSettings(CZTSettingsData *SettingsData)
QDataStream * OutputStream = new QDataStream(SettingsFile); QDataStream * OutputStream = new QDataStream(SettingsFile);
quint32 MagicNbr = 0xBAADCAFE + 1; quint32 MagicNbr = 0xBAADCAFE + 2;
*OutputStream << MagicNbr; *OutputStream << MagicNbr;
@ -123,6 +124,7 @@ unsigned int CZTSettingsFileMgr::SaveSettings(CZTSettingsData *SettingsData)
*OutputStream << SettingsData->mKeepMPM10Logs; *OutputStream << SettingsData->mKeepMPM10Logs;
*OutputStream << SettingsData->mKeepAllZT1Logs; *OutputStream << SettingsData->mKeepAllZT1Logs;
*OutputStream << SettingsData->mKeepAllZT2Logs; *OutputStream << SettingsData->mKeepAllZT2Logs;
*OutputStream << SettingsData->mUseNetworkTime;
SettingsFile->flush(); SettingsFile->flush();
SettingsFile->close(); SettingsFile->close();
@ -161,6 +163,8 @@ void CZTSettingsFileMgr::LoadDefaultSettings(CZTSettingsData *SettingsData)
SettingsData->mKeepAllZT1Logs = false; SettingsData->mKeepAllZT1Logs = false;
SettingsData->mKeepAllZT2Logs = false; SettingsData->mKeepAllZT2Logs = false;
SettingsData->mUseNetworkTime = false;
} }
void CZTSettingsFileMgr::SetStationName(QString StationName) void CZTSettingsFileMgr::SetStationName(QString StationName)
{ {
@ -225,6 +229,9 @@ void CZTSettingsFileMgr::LogSettings(CZTSettingsData *SettingsData, bool LogStat
stream << " Conserver LOGS ZT2 = " << SettingsData->mKeepAllZT2Logs; stream << " Conserver LOGS ZT2 = " << SettingsData->mKeepAllZT2Logs;
CZTLog::instance()->AddLogString(temp,true); CZTLog::instance()->AddLogString(temp,true);
temp.clear(); 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(RepoHasChanged()),mZTStateMachine,SLOT(ModbusCCANUpdate()));
connect(mModbusCCMgr,SIGNAL(ModbusCCConnected()),panel.mZTMainPage,SLOT(ModbusCCConnected())); connect(mModbusCCMgr,SIGNAL(ModbusCCConnected()),panel.mZTMainPage,SLOT(ModbusCCConnected()));
connect(mModbusCCMgr,SIGNAL(ModbusCCDisconnected()),panel.mZTMainPage,SLOT(ModbusCCDisconnected())); connect(mModbusCCMgr,SIGNAL(ModbusCCDisconnected()),panel.mZTMainPage,SLOT(ModbusCCDisconnected()));
connect(mModbusCCMgr,SIGNAL(ModbusDateTimeReceived(QDateTime*)),this,SLOT(ModbusDateTimeUpdate(QDateTime*)));
panel.mZTMainPage->ModbusCCDisconnected(); panel.mZTMainPage->ModbusCCDisconnected();
} }
else else
@ -585,6 +586,7 @@ unsigned int CZoneTest::InitZT()
mWelcomePagePtr->InsertTextBoxString(QString("Chargement des fichiers de passage de trains: OK")); mWelcomePagePtr->InsertTextBoxString(QString("Chargement des fichiers de passage de trains: OK"));
mZTStateMachine->SetAutoExportZT1CSV(mZTSettings->mAutoExportZT1CSV); mZTStateMachine->SetAutoExportZT1CSV(mZTSettings->mAutoExportZT1CSV);
mZTStateMachine->SetAutoExportZT2CSV(mZTSettings->mAutoExportZT2CSV); mZTStateMachine->SetAutoExportZT2CSV(mZTSettings->mAutoExportZT2CSV);
panel.mGeneralSettingsPage->UseNetworkTime(mZTSettings->mUseNetworkTime);
panel.mLogsListPage->BindPointers(mUSBDriveInterface); panel.mLogsListPage->BindPointers(mUSBDriveInterface);
mUSBDriveInterface->Start(); mUSBDriveInterface->Start();
// if(mDI710Module != 0) // if(mDI710Module != 0)
@ -1020,6 +1022,11 @@ void CZoneTest::CloseGeneralSettingsPage()
panel.mGeneralSettingsPage->hide(); panel.mGeneralSettingsPage->hide();
} }
void CZoneTest::UseNetworkTime(bool UseNetworkTime)
{
mZTSettings->mUseNetworkTime = UseNetworkTime;
mZTSettingsFileMgr.SaveSettings(mZTSettings);
}
///Messages from ZTLog viewer page ///Messages from ZTLog viewer page
void CZoneTest::ShowZTLogViewerPage() void CZoneTest::ShowZTLogViewerPage()
@ -1273,7 +1280,14 @@ void CZoneTest::ACPISocketEvent()
void CZoneTest::ModbusDateTimeUpdate(QDateTime *NewDateTime) 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) int CZoneTest::SetSystemDateTime(QDateTime *DateTime)

View File

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