@@ -541,17 +541,24 @@ void CMainWindow::ValidateLastDirs()
541541
542542void CMainWindow::LoadSettings ()
543543{
544+ QSettings::setDefaultFormat ( QSettings::IniFormat );
544545 QSettings settings;
545- settings.setDefaultFormat ( QSettings::IniFormat );
546546
547547 settings.beginGroup ( QStringLiteral ( " mainwindow" ) );
548548 this ->setGeometry (
549549 settings.value ( QStringLiteral ( " geometry" ), this ->geometry () )
550550 .value <QRect>() );
551- this ->m_RecentFileNames =
552- settings.value ( QStringLiteral ( " recentfiles" ) ).toStringList ();
553551 settings.endGroup ();
554552
553+ this ->m_RecentFileNames .clear ();
554+ int size = settings.beginReadArray ( QStringLiteral ( " recentfiles" ) );
555+ for (int i = 0 ; i < size; ++i)
556+ {
557+ settings.setArrayIndex ( i );
558+ this ->m_RecentFileNames .append ( settings.value ( QStringLiteral ( " path" ) ).toString () );
559+ }
560+ settings.endArray ();
561+
555562 settings.beginGroup ( QStringLiteral ( " settings" ) );
556563 this ->actionDecrypt_e_files ->setChecked (
557564 settings.value ( QStringLiteral ( " decryptedfiles" ), true ).toBool () );
@@ -577,15 +584,21 @@ void CMainWindow::PostLoadSettings()
577584
578585void CMainWindow::SaveSettings ()
579586{
587+ QSettings::setDefaultFormat ( QSettings::IniFormat );
580588 QSettings settings;
581- settings.setDefaultFormat ( QSettings::IniFormat );
582589
583590 settings.beginGroup ( QStringLiteral ( " mainwindow" ) );
584591 settings.setValue ( QStringLiteral ( " geometry" ), this ->geometry () );
585- settings.setValue ( QStringLiteral ( " recentfiles" ),
586- this ->m_RecentFileNames );
587592 settings.endGroup ();
588593
594+ settings.beginWriteArray ( QStringLiteral ( " recentfiles" ) );
595+ for (int i = 0 ; i < this ->m_RecentFileNames .size (); ++i)
596+ {
597+ settings.setArrayIndex ( i );
598+ settings.setValue ( QStringLiteral ( " path" ), this ->m_RecentFileNames .at (i) );
599+ }
600+ settings.endArray ();
601+
589602 settings.beginGroup ( QStringLiteral ( " settings" ) );
590603 settings.setValue ( QStringLiteral ( " decryptedfiles" ),
591604 this ->actionDecrypt_e_files ->isChecked () );
0 commit comments