feat: fix entryWidget button behaviour

This commit is contained in:
semenov
2025-08-15 14:19:33 +03:00
parent 0c805708ef
commit 87db4d0ef4
26 changed files with 5292 additions and 5219 deletions

View File

@@ -31,8 +31,8 @@ void CoreManager::initialize(WidgetManager *widgetManager,QThread *workerThread)
recognizeSystem->moveToThread(workerThread);
postProcessorSystem->moveToThread(workerThread);
hashComparer->moveToThread(workerThread);
versionContainer->moveToThread(workerThread); //проверить работоспособность
resourceManager->moveToThread(workerThread); //проверить работоспособность
// versionContainer->moveToThread(workerThread); //проверить работоспособность
// resourceManager->moveToThread(workerThread); //проверить работоспособность
workerThread->start();
//workerThread->setPriority(QThread::HighestPriority);
@@ -44,17 +44,24 @@ void CoreManager::initialize(WidgetManager *widgetManager,QThread *workerThread)
loadStaticData();
}
void CoreManager::start()
{
checkAppAvailable();
}
void CoreManager::loadStaticData()
{
ServerSettings *currentSettings = dataParser->getClientSettings();
setLanguage(currentSettings->Language);
setLocalVersion();
externalExecuter->setIsAutoStart(currentSettings->isAutoStart);
bool appAvailable = externalExecuter->findApp();
widgetManager->setAppAvailable(appAvailable);
emit sigSetLoadSettings(currentSettings);
}
void CoreManager::binding()
{
connect(recognizeSystem,&RecognizeSystem::sigSetInineDebug,widgetManager,&WidgetManager::slotInlineDebug,Qt::AutoConnection);
connect(recognizeSystem,&RecognizeSystem::sigAnimationActivated,widgetManager,&WidgetManager::slotActivateLoadAnimation,Qt::AutoConnection);
connect(this,&CoreManager::sigInitializeClient,client,&TCPClient::initialize,Qt::AutoConnection);
@@ -63,7 +70,7 @@ void CoreManager::binding()
connect(this,&CoreManager::sigSendCheckUpdate,sendSystem,&SendSystem::sendCheckHash,Qt::AutoConnection);
connect(this,&CoreManager::sigSendXMLAnswer,sendSystem,&SendSystem::xmlAnswer,Qt::AutoConnection);
connect(this,&CoreManager::sigSendAutorization,sendSystem,&SendSystem::sendClientAutorization);
connect(this,&CoreManager::sigSendCheckUpdate,updateController,&UpdateController::checkCanUpdate,Qt::AutoConnection);
connect(this,&CoreManager::sigSendUpdateToServer,updateController,&UpdateController::checkCanUpdate,Qt::AutoConnection);
connect(this,&CoreManager::sigGetConnected,client,&TCPClient::getIsConnected);
connect(this,&CoreManager::sigCalculateHash,updateController,&UpdateController::calculateCommonHash);
@@ -76,22 +83,24 @@ void CoreManager::binding()
connect(postProcessorSystem,&PostProcessorSystem::sigSaveLoginData,this,&CoreManager::checkLoginResult,Qt::AutoConnection);
connect(postProcessorSystem,&PostProcessorSystem::sigShowUpdateList,this,&CoreManager::checkUpdateInfo,Qt::AutoConnection);
connect(versionContainer,&VersionContainer::sigSetServerVersion,this,&CoreManager::setServerVersion);
connect(versionContainer,&VersionContainer::sigSetServerVersion,this,&CoreManager::setServerVersion,Qt::AutoConnection);
connect(recognizeSystem,&RecognizeSystem::sigUpdateBytesAvailable,this,&CoreManager::calcUpdateProgress,Qt::AutoConnection);
connect(recognizeSystem,&RecognizeSystem::sigLoadComplete,this,&CoreManager::loadComplete);
connect(recognizeSystem,&RecognizeSystem::sigNeedUpdate,this,&CoreManager::checkNeedUpdate);
connect(recognizeSystem,&RecognizeSystem::sigLoadComplete,this,&CoreManager::loadComplete,Qt::AutoConnection);
connect(recognizeSystem,&RecognizeSystem::sigNeedUpdate,this,&CoreManager::checkNeedUpdate,Qt::AutoConnection);
connect(recognizeSystem,&RecognizeSystem::sigCheckUpdate,this,&CoreManager::checkUpdate,Qt::AutoConnection);
connect(recognizeSystem,&RecognizeSystem::sigdRecalculateHashOnServerState,this,&CoreManager::recalculateState,Qt::AutoConnection);
connect(hashComparer,&HashComparer::sigCallCheck,this,&CoreManager::checkUpdate);
connect(hashComparer,&HashComparer::sigHaveDelta,this,&CoreManager::checkUpdateInfo);
connect(updateController,&UpdateController::sigUpdateComplete,widgetManager,&WidgetManager::setCompeteState);//ОПАСНОСТЬ
connect(updateController,&UpdateController::sigUpdateComplete,widgetManager,&WidgetManager::setCompeteState,Qt::AutoConnection);//ОПАСНОСТЬ
connect(updateController,&UpdateController::sigSendHashInfo,widgetManager->getMainWindow(),&MainWindow::updateInitInformation,Qt::AutoConnection);
connect(client,&TCPClient::sigConnectionState,widgetManager,&WidgetManager::setConnectionState,Qt::AutoConnection);//ОПАСНОСТЬ
connect(client,&TCPClient::sigServerDisconnect,widgetManager,&WidgetManager::setServerDisconnectState,Qt::AutoConnection);//ОПАСНОСТЬ
connect(sendSystem,&SendSystem::sigSend,this,&CoreManager::calcUpdateProgress);
connect(sendSystem,&SendSystem::sigSend,this,&CoreManager::calcUpdateProgress,Qt::AutoConnection);
connect(sendSystem,&SendSystem::sigGetXmlAnswer,dataParserOutput,&DataParserOutput::xmlAnswer_notify,Qt::DirectConnection);//ОПАСНОСТЬ
connect(dataParser,&DataParser::sigNotify,widgetManager->getNotifyController(),&NotifyController::showWarning,Qt::AutoConnection);//ОПАСНОСТЬ
@@ -184,6 +193,7 @@ void CoreManager::checkLoginResult(ServerAuthorization *auth)
{
if (auth->Result)
{
widgetManager->activateLoadingAnimation(true);
checkAccessType(auth->AccessType);
dataParserOutput->createAuthData(auth);
setLocalVersion();
@@ -194,7 +204,6 @@ void CoreManager::checkLoginResult(ServerAuthorization *auth)
{
widgetManager->setLoginFailed();
}
}
void CoreManager::tryLogin()
@@ -205,7 +214,7 @@ void CoreManager::tryLogin()
return;
}
widgetManager->getEntryWidget()->loginIsActive(false);
widgetManager->getEntryWidget()->showLoginWidget(false);
ClientAutorization *auth = widgetManager->getEntryWidget()->getAuthData();
dataParserOutput->createAuthMessage(auth);
emit sigSendAutorization();
@@ -213,10 +222,17 @@ void CoreManager::tryLogin()
void CoreManager::checkUpdate()
{
widgetManager->activateLoadingAnimation(true);
emit sigSendCheckUpdate();
widgetManager->getMainWindow()->setInlineDebug(tr("Проверка обновлений..."));
}
void CoreManager::recalculateState()
{
widgetManager->activateLoadingAnimation(true);
widgetManager->getMainWindow()->setInlineDebug(tr("Пересчет хэша на сервере..."));
}
void CoreManager::checkAccessType(const QString& accessType)
{
if (accessType == traineeTypeName)
@@ -257,6 +273,8 @@ void CoreManager::checkNeedUpdate(bool isNeedUpdate,quint64 size, quint64 fileCo
dataParserOutput->changeVersion(versionContainer->getServerVersionData());
setLocalVersion();
}
widgetManager->activateLoadingAnimation(false);
}
void CoreManager::calcUpdateProgress()
@@ -293,19 +311,21 @@ void CoreManager::loadComplete()
dataParserOutput->changeVersion(versionContainer->getServerVersionData());
setLocalVersion();
checkAutoStart();
widgetManager->getMainWindow()->setClientVersionName(versionContainer->getLocalVersion());
}
void CoreManager::loadToServer()
{
widgetManager->setSendFileToServerState();
emit sigSendCheckUpdate();
widgetManager->activateLoadingAnimation(true);
emit sigSendUpdateToServer();
}
void CoreManager::undoCurrentChanges()
{
isRecovery = true;
emit sigSendCheckUpdate();
widgetManager->setUndoCurrentChangesState();
emit sigSendCheckUpdate();
emit sigSendCommand(PacketType::TYPE_UPDATE);
//тут был таймер
isRecovery = false;
@@ -334,7 +354,7 @@ void CoreManager::saveServerSettingsWithConnect()
if(client->getIsConnected())
{
entryWidget->loginIsActive(true);
entryWidget->showLoginWidget(true);
widgetManager->getMainWindow()->showOfflineButton(true);
widgetManager->activateLoadingAnimation(false);
}
@@ -347,7 +367,7 @@ void CoreManager::saveServerSettingsWithConnect()
void CoreManager::checkAppAvailable()
{
bool isAvailable = externalExecuter->findApp();
widgetManager->activateStartButtons(isAvailable);
widgetManager->setAppAvailable(isAvailable);
}
void CoreManager::setLanguage(const QString& language)