From 74dc664d5f3c1bcd46148b762b670c629db0add3 Mon Sep 17 00:00:00 2001 From: Denis Khachko Date: Thu, 22 Sep 2016 14:12:58 +0300 Subject: [PATCH] Vodoley redraw timer --- src/actors/vodoley/vodoley.cpp | 10 ++++++++-- src/actors/vodoley/vodoley.h | 2 +- src/actors/vodoley/vodoleymodule.cpp | 9 +++++++++ src/actors/vodoley/vodoleymodule.h | 1 + 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/actors/vodoley/vodoley.cpp b/src/actors/vodoley/vodoley.cpp index a3702e69..fa02cfe0 100644 --- a/src/actors/vodoley/vodoley.cpp +++ b/src/actors/vodoley/vodoley.cpp @@ -661,8 +661,7 @@ void Vodoley::updateMenzur() Btext->setPos(145,15+(maxSize()-Bsize())*literSize); Ctext->setPos(255,15+(maxSize()-Csize())*literSize); - view->update(); - scene->update(); + mutex.unlock(); @@ -670,6 +669,13 @@ void Vodoley::updateMenzur() if(Csize()<1)emit CNull();else emit CNotNull(); }; +void Vodoley::redraw() +{ + mutex.lock(); + view->update(); + scene->update(); + mutex.unlock(); +} void Vodoley::updateNeedBirka() { diff --git a/src/actors/vodoley/vodoley.h b/src/actors/vodoley/vodoley.h index 40956dfd..eec98ebc 100644 --- a/src/actors/vodoley/vodoley.h +++ b/src/actors/vodoley/vodoley.h @@ -201,7 +201,7 @@ public slots: void FillC(); void MoveFromTo(uint from,uint to); - + void redraw(); signals: void Otkaz(QString msg); diff --git a/src/actors/vodoley/vodoleymodule.cpp b/src/actors/vodoley/vodoleymodule.cpp index 03684006..37cc01be 100644 --- a/src/actors/vodoley/vodoleymodule.cpp +++ b/src/actors/vodoley/vodoleymodule.cpp @@ -53,6 +53,9 @@ QString VodoleyModule::initialize(const QStringList &configurationParameters, co if (!configurationParameters.contains("tablesOnly")) { createGui(); createRescentMenu(); + + redrawTimer = new QTimer(this); + connect(redrawTimer,SIGNAL(timeout()), MainWindow, SLOT(redraw())); } return ""; @@ -82,6 +85,12 @@ QString VodoleyModule::initialize(const QStringList &configurationParameters, co using namespace ExtensionSystem; // not to write "ExtensionSystem::" each time in this method scope Q_UNUSED(old); // Remove this line on implementation Q_UNUSED(current); // Remove this line on implementation + MainWindow->redraw(); + if(current==GlobalState::GS_Running) + { + redrawTimer->start(100); + }else + redrawTimer->stop(); } /* public slot */ void VodoleyModule::loadActorData(QIODevice * source) diff --git a/src/actors/vodoley/vodoleymodule.h b/src/actors/vodoley/vodoleymodule.h index 9b38748b..198b0cc0 100644 --- a/src/actors/vodoley/vodoleymodule.h +++ b/src/actors/vodoley/vodoleymodule.h @@ -71,6 +71,7 @@ private: Vodoley *MainWindow; ExtensionSystem::SettingsPtr my_settings; QMenu * rescentMenu; + QTimer *redrawTimer; }; -- GitLab