formzxsh.cpp 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  1. #include "formzxsh.h"
  2. #include "ui_formzxsh.h"
  3. FormZxsh::FormZxsh(QWidget *parent) :
  4. QWidget(parent),
  5. ui(new Ui::FormZxsh)
  6. {
  7. ui->setupUi(this);
  8. initVariables();
  9. initUI();
  10. }
  11. void FormZxsh::setAccountInfo(QMap<QString, QString> info)
  12. {
  13. if(info.size()>0)
  14. {
  15. connectSignals();
  16. if(!m_timer->isActive())
  17. {
  18. int interval = 5;
  19. m_timer->start(interval*1000);
  20. }
  21. }
  22. else
  23. {
  24. disconnectSignals();
  25. }
  26. m_formAccount->setAccountInfo(info);
  27. m_formCmdArea->setAccountInfo(info);
  28. m_formFree->setAccountInfo(info);
  29. m_formReserve->setAccountInfo(info);
  30. m_formHotArea->setAccountInfo(info);
  31. m_formAd->setAccountInfo(info);
  32. m_synczxsh->setAccountInfo(info);
  33. m_syncpackno->setAccountInfo(info);
  34. }
  35. FormZxsh::~FormZxsh()
  36. {
  37. m_timer->stop();
  38. m_synczxsh->abort();
  39. m_syncpackno->abort();
  40. m_synczxsh->wait();
  41. m_syncpackno->wait();
  42. delete m_timer;
  43. delete m_synczxsh;
  44. delete m_syncpackno;
  45. delete m_formAd;
  46. delete m_formFree;
  47. delete m_formReserve;
  48. delete m_formHotArea;
  49. delete m_formCmdArea;
  50. delete m_formAccount;
  51. delete ui;
  52. qDebug()<<QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")\
  53. <<"FormZxsh Destroyed.";
  54. }
  55. void FormZxsh::initVariables()
  56. {
  57. m_formAccount = new FormAccountInfo();
  58. m_formCmdArea = new FormCommandArea();
  59. m_formFree = new FormShkjFree();
  60. m_formReserve = new FormShkjReserve();
  61. m_formHotArea = new FormShkjHotArea();
  62. m_formAd = new FormAd();
  63. m_timer = new QTimer();
  64. m_synczxsh= new AutoSyncZxshData();
  65. m_syncpackno = new AutoSyncZxshSltPackno();
  66. connect(m_formAccount,SIGNAL(buttonLoginClick()),this,SIGNAL(buttonLoginClick()));
  67. connect(m_formFree,SIGNAL(dataDownload()),m_formAccount,SLOT(onDataUpdated()));
  68. }
  69. void FormZxsh::initUI()
  70. {
  71. ui->verticalLayoutAd->addWidget(m_formAd);
  72. ui->horizontalLayoutAccount->addWidget(m_formAccount);
  73. ui->horizontalLayoutCmd->addWidget(m_formCmdArea);
  74. ui->verticalLayoutFree->addWidget(m_formFree);
  75. ui->verticalLayoutReserve->addWidget(m_formReserve);
  76. ui->verticalLayoutHotArea->addWidget(m_formHotArea);
  77. }
  78. void FormZxsh::connectSignals()
  79. {
  80. connect(m_formCmdArea,SIGNAL(zxshDownDataUpdated()),m_formFree,SLOT(onDataUpdated()));
  81. connect(m_formCmdArea,SIGNAL(zxshReserveDataUpdated()),m_formReserve,SLOT(onDataUpdated()));
  82. connect(m_formCmdArea,SIGNAL(zxshDownDataUpdated()),this,SLOT(onZxshDown()));
  83. connect(m_formCmdArea,SIGNAL(zxshDownDataUpdated()),m_formAccount,SLOT(onDataUpdated()));
  84. connect(m_formCmdArea,SIGNAL(zxshReserveDataUpdated()),this,SLOT(onZxshReserve()));
  85. connect(m_formCmdArea,SIGNAL(zxshDownDataUpdated()),m_formAccount,SLOT(onDataUpdated()));
  86. connect(m_formAd,SIGNAL(userStateChanged()),m_formAccount,SLOT(onDataUpdated()));
  87. connect(m_synczxsh,SIGNAL(dataSync()),m_formFree,SLOT(onDataUpdated()));
  88. connect(m_timer,SIGNAL(timeout()),this,SLOT(onTimeOut()));
  89. connect(this,SIGNAL(userStateChanged()),m_formAccount,SLOT(onDataUpdated()));
  90. connect(m_formReserve,SIGNAL(rowButtonClicked(QString,QString)),m_formCmdArea,SLOT(onRowButtonClicked(QString,QString)));
  91. connect(m_formHotArea,SIGNAL(rowButtonClicked(QString,QString)),m_formCmdArea,SLOT(onRowButtonClicked(QString,QString)));
  92. connect(m_formFree,SIGNAL(rowButtonClicked(QString,QString)),m_formCmdArea,SLOT(onRowButtonClicked(QString,QString)));
  93. }
  94. void FormZxsh::disconnectSignals()
  95. {
  96. disconnect(m_formCmdArea,SIGNAL(zxshDownDataUpdated()),m_formFree,SLOT(onDataUpdated()));
  97. disconnect(m_formCmdArea,SIGNAL(zxshReserveDataUpdated()),m_formReserve,SLOT(onDataUpdated()));
  98. disconnect(m_formCmdArea,SIGNAL(shkjDataUpdated()),this,SLOT(onShkjUpload()));
  99. disconnect(m_formCmdArea,SIGNAL(zxshDownDataUpdated()),this,SLOT(onZxshDown()));
  100. disconnect(m_formCmdArea,SIGNAL(zxshReserveDataUpdated()),this,SLOT(onZxshReserve()));
  101. disconnect(m_formCmdArea,SIGNAL(zxshDownDataUpdated()),m_formAccount,SLOT(onDataUpdated()));
  102. disconnect(m_formAd,SIGNAL(userStateChanged()),m_formAccount,SLOT(onDataUpdated()));
  103. disconnect(m_synczxsh,SIGNAL(dataSync()),m_formFree,SLOT(onDataUpdated()));
  104. disconnect(m_timer,SIGNAL(timeout()),this,SLOT(onTimeOut()));
  105. disconnect(this,SIGNAL(userStateChanged()),m_formAccount,SLOT(onDataUpdated()));
  106. disconnect(m_formReserve,SIGNAL(rowButtonClicked(QString,QString)),m_formCmdArea,SLOT(onRowButtonClicked(QString,QString)));
  107. disconnect(m_formHotArea,SIGNAL(rowButtonClicked(QString,QString)),m_formCmdArea,SLOT(onRowButtonClicked(QString,QString)));
  108. disconnect(m_formFree,SIGNAL(rowButtonClicked(QString,QString)),m_formCmdArea,SLOT(onRowButtonClicked(QString,QString)));
  109. }
  110. void FormZxsh::onSyncPause()
  111. {
  112. m_synczxsh->setSkip(true);
  113. m_syncpackno->setSkip(true);
  114. }
  115. void FormZxsh::onSyncResume()
  116. {
  117. m_synczxsh->setSkip(false);
  118. m_syncpackno->setSkip(false);
  119. }
  120. void FormZxsh::onZxshDown()
  121. {
  122. ui->tabWidget->setCurrentIndex(0);
  123. }
  124. void FormZxsh::onZxshReserve()
  125. {
  126. ui->tabWidget->setCurrentIndex(2);
  127. }
  128. void FormZxsh::updateUserState()
  129. {
  130. emit userStateChanged();
  131. }
  132. void FormZxsh::stopService()
  133. {
  134. if(m_timer)
  135. {
  136. m_timer->stop();
  137. }
  138. if(m_synczxsh)
  139. {
  140. m_synczxsh->abort();
  141. m_synczxsh->wait();
  142. }
  143. if(m_syncpackno)
  144. {
  145. m_syncpackno->abort();
  146. m_syncpackno->wait();
  147. }
  148. }
  149. void FormZxsh::onTimeOut()
  150. {
  151. if(!m_synczxsh->isRunning())
  152. {
  153. m_synczxsh->start();
  154. }
  155. if(!m_syncpackno->isRunning())
  156. {
  157. m_syncpackno->start();
  158. }
  159. }