| 474 | } |
| 475 | |
| 476 | int CManager::SaveOperate(COperate *pOperate) |
| 477 | { |
| 478 | if(!pOperate) return -1; |
| 479 | |
| 480 | QString szFile = pOperate->GetSettingsFile(); |
| 481 | if(szFile.isEmpty()) |
| 482 | szFile = RabbitCommon::CDir::Instance()->GetDirUserData() |
| 483 | + QDir::separator() |
| 484 | + pOperate->Id() |
| 485 | + ".rrc"; |
| 486 | |
| 487 | QSettings set(szFile, QSettings::IniFormat); |
| 488 | CPlugin* pPlugin = nullptr; //pOperate->GetPlugin; |
| 489 | bool bRet = QMetaObject::invokeMethod( |
| 490 | pOperate, |
| 491 | "GetPlugin", |
| 492 | Qt::DirectConnection, |
| 493 | Q_RETURN_ARG(CPlugin*, pPlugin)); |
| 494 | if(!bRet || !pPlugin) |
| 495 | { |
| 496 | qCritical(log) << "Get plugin client fail"; |
| 497 | } |
| 498 | Q_ASSERT(pPlugin); |
| 499 | |
| 500 | set.setValue("Manage/FileVersion", m_FileVersion); |
| 501 | set.setValue("Plugin/ID", pPlugin->Id()); |
| 502 | set.setValue("Plugin/Protocol", pPlugin->Protocol()); |
| 503 | set.setValue("Plugin/Name", pPlugin->Name()); |
| 504 | int nRet = 0; |
| 505 | //nRet = pOperate->Save(szFile); |
| 506 | bRet = QMetaObject::invokeMethod( |
| 507 | pOperate, |
| 508 | "Save", |
| 509 | Qt::DirectConnection, |
| 510 | Q_RETURN_ARG(int, nRet), |
| 511 | Q_ARG(QString, szFile)); |
| 512 | if(!bRet) { |
| 513 | qCritical(log) << "Call pOperate->Save(szFile) fail."; |
| 514 | return -1; |
| 515 | } |
| 516 | if(nRet) { |
| 517 | qCritical(log) << "Save parameter fail" << nRet; |
| 518 | return -2; |
| 519 | } |
| 520 | |
| 521 | if(m_pParameterPlugin->GetGlobalParameters()->GetSaveSettingsType() |
| 522 | == CParameterGlobal::SaveSettingsType::Database && m_pDatabaseFile) { |
| 523 | qDebug(log) << "Save file to database"; |
| 524 | return m_pDatabaseFile->Save(szFile) ? 0 : -1; |
| 525 | } |
| 526 | |
| 527 | return 0; |
| 528 | } |
| 529 | |
| 530 | int CManager::LoadSettings(const QString szFile) |
| 531 | { |
no test coverage detected