diff --git a/src/actors/vodoley/vodoley.cpp b/src/actors/vodoley/vodoley.cpp index a3702e695ae1d7ab14f53c9a4242c793e77ad854..fa02cfe0a4e7d1dbed04b5b68dfe14381eecb6bd 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 40956dfdc1065b4dcadf034e943596bacf5bc6cd..eec98ebc2524a139b3c393d8a521b73ff4902e68 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 03684006020c691bff8adb647102db3cd24c1a1f..37cc01bebb7d8671653c0e8824fc4cff068c944b 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 9b38748bedc483457919a30df6c0917b29a1907f..198b0cc0d77b8a59bc18b2d93188f7c6f69e1556 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; };