@@ -424,8 +424,21 @@ int MainWindow::Initial()
424424 }
425425 m_Manager.EnumPlugins (this );
426426
427- if (m_Manager.GetGlobalParameters ())
427+ if (m_Manager.GetGlobalParameters ()) {
428+ // m_Parameter.SetGlobalParameters(m_Manager.GetGlobalParameters());
429+ bool bRet = QMetaObject::invokeMethod (
430+ &m_Parameter,
431+ " SetGlobalParameters" ,
432+ Qt::DirectConnection,
433+ Q_ARG (CParameterGlobal*, m_Manager.GetGlobalParameters ()));
434+ if (!bRet) {
435+ szErr = tr (" Failed to set global parameters" );
436+ qCritical (log) << szErr;
437+ nRet = -1 ;
438+ break ;
439+ }
428440 m_Parameter.m_Database = m_Manager.GetGlobalParameters ()->m_Database ;
441+ }
429442
430443 if (m_pRecent) {
431444 szMsg = tr (" Load list recent dock ......" );
@@ -450,6 +463,18 @@ int MainWindow::Initial()
450463 for (auto it = recents.rbegin (); it != recents.rend (); it++) {
451464 m_pRecentMenu->addRecentFile (it->GetFile (), it->szName , it->icon );
452465 }
466+ m_pRecentMenu->slotShowFileEixst (
467+ m_Parameter.GetGlobalParameters ()->GetSaveSettingsType () == CParameterGlobal::File);
468+ bool check = connect (
469+ m_Parameter.GetGlobalParameters (),
470+ &CParameterGlobal::sigSaveSettingsTypeChanged,
471+ m_pRecentMenu, [this ]() {
472+ if (!(m_pRecentMenu && m_Parameter.GetGlobalParameters ()))
473+ return ;
474+ m_pRecentMenu->slotShowFileEixst (
475+ m_Parameter.GetGlobalParameters ()->GetSaveSettingsType () == CParameterGlobal::File);
476+ });
477+ Q_ASSERT (check);
453478 }
454479 }
455480
0 commit comments