#4949 Recently used files : Use string list serializer

This commit is contained in:
Magne Sjaastad 2019-10-29 14:23:01 +01:00
parent facfd062dc
commit 350a812634
2 changed files with 18 additions and 16 deletions

View File

@ -20,11 +20,11 @@
#include "RiaFilePathTools.h"
#include "RiaGuiApplication.h"
#include "RiaStringListSerializer.h"
#include <QAction>
#include <QFileInfo>
#include <QMessageBox>
#include <QSettings>
//--------------------------------------------------------------------------------------------------
///
@ -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 );

View File

@ -49,6 +49,8 @@ private:
void updateActions();
void removeFileName( const QString& fileName );
static QString registryKey();
private:
int m_maxActionCount;