diff --git a/src/components/RollingMessageWidget.cpp b/src/components/RollingMessageWidget.cpp index 5c46185..f9ae323 100644 --- a/src/components/RollingMessageWidget.cpp +++ b/src/components/RollingMessageWidget.cpp @@ -15,6 +15,7 @@ namespace { const int LABEL_MARGIN_LEFT = 5; const int LABEL_FONT_WIDTH = 16; const int MOVING_STEP = 2; + const char* HJ_TEXT="衡玖医疗科技——为女性提供更健康、更精准的乳腺诊断方案"; } RollingMessageWidget::RollingMessageWidget(QWidget *parent) @@ -24,6 +25,9 @@ RollingMessageWidget::RollingMessageWidget(QWidget *parent) { this->setFixedHeight(36); this->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Preferred); + mCurrentLabel->setText(HJ_TEXT); + QPoint p3 = {TOTAL_ROLL_DISTANCE + LABEL_MARGIN_LEFT, LABEL_MARGIN_TOP}; + mCurrentLabel->move(p3); } RollingMessageWidget::~RollingMessageWidget() { @@ -32,40 +36,48 @@ RollingMessageWidget::~RollingMessageWidget() { void RollingMessageWidget::timerEvent(QTimerEvent *e) { if (!this->isVisible()) return; - //滚动 - if (mRolling) { - //end rolling, reset next - if (mRolledDistance == TOTAL_ROLL_DISTANCE){ - mWaitStep = 0; - mRolling = false; - QPoint p3 = {TOTAL_ROLL_DISTANCE + LABEL_MARGIN_LEFT, LABEL_MARGIN_TOP}; - mCurrentLabel->move(p3); - std::swap(mCurrentLabel, mNextLabel); - return; - } - //rolling - mRolledDistance += 2; - QPoint p1 = {TOTAL_ROLL_DISTANCE + LABEL_MARGIN_LEFT - mRolledDistance, LABEL_MARGIN_TOP}; - mNextLabel->move(p1); - if (p1.x() - mCurrentLabel->geometry().x() <= mCurrentLabel->width() + 20) - { - QPoint p2 = {mCurrentLabel->geometry().x() - MOVING_STEP, LABEL_MARGIN_TOP}; - mCurrentLabel->move(p2); - } - return ; + if (mCurrentLabel->pos().x()> -450){ + QPoint p1 = {mCurrentLabel->pos().x()-2,mCurrentLabel->pos().y()}; + mCurrentLabel->move(p1); } else{ - - //有等待的高优先级消息时,不停顿 - if (mWaitStep == WAIT_TIMES || (mWaitPriorityCount > 0 && mWaitStep == WAIT_TIMES / 3)){ - mLocker.lock(); - mNextLabel->setText(getNextMessage()); - mNextLabel->setFixedWidth(mNextLabel->text().length() * LABEL_FONT_WIDTH); - mLocker.unlock(); - } else{ - mWaitStep++; - } + QPoint p3 = {TOTAL_ROLL_DISTANCE + LABEL_MARGIN_LEFT, LABEL_MARGIN_TOP}; + mCurrentLabel->move(p3); } + // //滚动 + // if (mRolling) { + // //end rolling, reset next + // if (mRolledDistance == TOTAL_ROLL_DISTANCE){ + // mWaitStep = 0; + // mRolling = false; + // QPoint p3 = {TOTAL_ROLL_DISTANCE + LABEL_MARGIN_LEFT, LABEL_MARGIN_TOP}; + // mCurrentLabel->move(p3); + // std::swap(mCurrentLabel, mNextLabel); + // return; + // } + // //rolling + // mRolledDistance += 2; + // QPoint p1 = {TOTAL_ROLL_DISTANCE + LABEL_MARGIN_LEFT - mRolledDistance, LABEL_MARGIN_TOP}; + // mNextLabel->move(p1); + // if (p1.x() - mCurrentLabel->geometry().x() <= mCurrentLabel->width() + 20) + // { + // QPoint p2 = {mCurrentLabel->geometry().x() - MOVING_STEP, LABEL_MARGIN_TOP}; + // mCurrentLabel->move(p2); + // } + // return ; + // } + // else{ + + // //有等待的高优先级消息时,不停顿 + // if (mWaitStep == WAIT_TIMES || (mWaitPriorityCount > 0 && mWaitStep == WAIT_TIMES / 3)){ + // mLocker.lock(); + // mNextLabel->setText(getNextMessage()); + // mNextLabel->setFixedWidth(mNextLabel->text().length() * LABEL_FONT_WIDTH); + // mLocker.unlock(); + // } else{ + // mWaitStep++; + // } + // } } void RollingMessageWidget::setMessageList(const QStringList &message) { @@ -158,13 +170,13 @@ void RollingMessageWidget::initDelay() mCurrentLabel->setFixedHeight(30); mCurrentLabel->show(); mCurrentLabel->move(p1); - mCurrentLabel->setText(tr("Message of warn!")); + // mCurrentLabel->setText(tr("Message of warn!")); mCurrentLabel->setFixedWidth(mCurrentLabel->text().length() * LABEL_FONT_WIDTH); QPoint p2 = {TOTAL_ROLL_DISTANCE + LABEL_MARGIN_LEFT, LABEL_MARGIN_TOP}; mNextLabel->setFixedHeight(30); mNextLabel->show(); mNextLabel->move(p2); - mNextLabel->setText(tr("Message2 of warn!")); + // mNextLabel->setText(tr("Message2 of warn!")); mNextLabel->setFixedWidth(mNextLabel->text().length() * LABEL_FONT_WIDTH); mTimerId = startTimer(40); mInitFlag = true; diff --git a/src/forms/TopBarWidget.cpp b/src/forms/TopBarWidget.cpp index 853b40b..f75451e 100644 --- a/src/forms/TopBarWidget.cpp +++ b/src/forms/TopBarWidget.cpp @@ -73,7 +73,7 @@ TopBarWidget::TopBarWidget(QWidget *parent, Qt::WindowFlags f) : QWidget(parent, l->setMargin(0); auto w = new RollingMessageWidget(this); - w->setMessageList(GUIErrorLW::getWARNMessages()); + // w->setMessageList(GUIErrorLW::getWARNMessages()); w->setObjectName("borderWidget"); l->addWidget(w); connect(EventCenter::Default(), &EventCenter::ResponseDeviceTemperature, [=](QObject*, QObject* msg) { @@ -82,18 +82,18 @@ TopBarWidget::TopBarWidget(QWidget *parent, Qt::WindowFlags f) : QWidget(parent, QString* s = (QString*)msg; lockIcon->setText(QString("%1%2").arg(*s).arg(tr("°C"))); }); - connect(EventCenter::Default(), &EventCenter::WarnStateFlagChange, [=](QObject*, QObject* msg) { - QVariant* var = (QVariant*)msg; - int v = var->toInt(); - int f = 0x00000001; - for (int i = 0; i < 32; ++i) { - int d = (f<updateMessagePriority(i,1); - } else{ - if (w)w->updateMessagePriority(i,-1); - } - } - }); + // connect(EventCenter::Default(), &EventCenter::WarnStateFlagChange, [=](QObject*, QObject* msg) { + // QVariant* var = (QVariant*)msg; + // int v = var->toInt(); + // int f = 0x00000001; + // for (int i = 0; i < 32; ++i) { + // int d = (f<updateMessagePriority(i,1); + // } else{ + // if (w)w->updateMessagePriority(i,-1); + // } + // } + // }); }