From 350a8126343a5342f64973e346a49e38dfef6d1a Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Tue, 29 Oct 2019 14:23:01 +0100 Subject: [PATCH] #4949 Recently used files : Use string list serializer --- .../RiuRecentFileActionProvider.cpp | 32 +++++++++---------- .../RiuRecentFileActionProvider.h | 2 ++ 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/ApplicationCode/UserInterface/RiuRecentFileActionProvider.cpp b/ApplicationCode/UserInterface/RiuRecentFileActionProvider.cpp index 5b5fd22ea4..630da25fdd 100644 --- a/ApplicationCode/UserInterface/RiuRecentFileActionProvider.cpp +++ b/ApplicationCode/UserInterface/RiuRecentFileActionProvider.cpp @@ -20,11 +20,11 @@ #include "RiaFilePathTools.h" #include "RiaGuiApplication.h" +#include "RiaStringListSerializer.h" #include #include #include -#include //-------------------------------------------------------------------------------------------------- /// @@ -46,14 +46,8 @@ RiuRecentFileActionProvider::~RiuRecentFileActionProvider() {} //-------------------------------------------------------------------------------------------------- void RiuRecentFileActionProvider::addFileName( const QString& fileName ) { - QSettings settings; - QStringList files = settings.value( "recentFileList" ).toStringList(); - files.removeAll( fileName ); - files.prepend( fileName ); - while ( files.size() > m_maxActionCount ) - files.removeLast(); - - settings.setValue( "recentFileList", files ); + RiaStringListSerializer stringListSerializer( registryKey() ); + stringListSerializer.addString( fileName, m_maxActionCount ); updateActions(); } @@ -63,22 +57,28 @@ void RiuRecentFileActionProvider::addFileName( const QString& fileName ) //-------------------------------------------------------------------------------------------------- void RiuRecentFileActionProvider::removeFileName( const QString& fileName ) { - QSettings settings; - QStringList files = settings.value( "recentFileList" ).toStringList(); - files.removeAll( fileName ); - - settings.setValue( "recentFileList", files ); + RiaStringListSerializer stringListSerializer( registryKey() ); + stringListSerializer.removeString( fileName ); updateActions(); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QString RiuRecentFileActionProvider::registryKey() +{ + return "recentFileList"; +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RiuRecentFileActionProvider::updateActions() { - QSettings settings; - QStringList files = settings.value( "recentFileList" ).toStringList(); + RiaStringListSerializer stringListSerializer( registryKey() ); + + QStringList files = stringListSerializer.textStrings(); int numRecentFiles = qMin( files.size(), m_maxActionCount ); diff --git a/ApplicationCode/UserInterface/RiuRecentFileActionProvider.h b/ApplicationCode/UserInterface/RiuRecentFileActionProvider.h index 33f4fe6c5c..9e7d945397 100644 --- a/ApplicationCode/UserInterface/RiuRecentFileActionProvider.h +++ b/ApplicationCode/UserInterface/RiuRecentFileActionProvider.h @@ -49,6 +49,8 @@ private: void updateActions(); void removeFileName( const QString& fileName ); + static QString registryKey(); + private: int m_maxActionCount;