#4949 Summary Curve Filter Toolbar : Store recently used strings to registry

This commit is contained in:
Magne Sjaastad
2019-10-29 14:17:24 +01:00
parent ba89a60e8d
commit facfd062dc
5 changed files with 130 additions and 10 deletions

View File

@@ -21,6 +21,7 @@
#include "RiaApplication.h"
#include "RiaGuiApplication.h"
#include "RiaLogging.h"
#include "RiaStringListSerializer.h"
#include "RiaSummaryCurveDefinition.h"
#include "RifSummaryReaderInterface.h"
@@ -384,14 +385,10 @@ void RimSummaryPlotFilterTextCurveSetEditor::fieldChangedByUi( const caf::PdmFie
m_curveFilterText = curveFilterTextWithoutOutdatedLabel();
{
if ( m_historyItems.indexOf( m_curveFilterText ) == -1 )
{
m_historyItems.push_front( m_curveFilterText );
while ( m_historyItems.size() > 10 )
{
m_historyItems.pop_back();
}
}
RiaStringListSerializer stringListSerializer( curveFilterRecentlyUsedRegistryKey() );
int maxItemCount = 10;
stringListSerializer.addString( m_curveFilterText, maxItemCount );
}
m_curveFilterText.uiCapability()->updateConnectedEditors();
@@ -485,7 +482,9 @@ QList<caf::PdmOptionItemInfo>
if ( fieldNeedingOptions == &m_curveFilterText )
{
for ( const auto& s : m_historyItems )
RiaStringListSerializer stringListSerializer( curveFilterRecentlyUsedRegistryKey() );
for ( const auto& s : stringListSerializer.textStrings() )
{
options.push_back( caf::PdmOptionItemInfo( s, s ) );
}
@@ -607,3 +606,11 @@ QString RimSummaryPlotFilterTextCurveSetEditor::curveFilterTextWithoutOutdatedLa
return filterText;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RimSummaryPlotFilterTextCurveSetEditor::curveFilterRecentlyUsedRegistryKey()
{
return "curveFilterRecentlyUsedStrings";
}

View File

@@ -57,11 +57,13 @@ private:
std::vector<SummarySource*> selectedSummarySources() const;
QString curveFilterTextWithoutOutdatedLabel() const;
static QString curveFilterRecentlyUsedRegistryKey();
private:
caf::PdmPtrArrayField<SummarySource*> m_selectedSources;
caf::PdmField<QString> m_curveFilterLabelText;
caf::PdmField<QString> m_curveFilterText;
QStringList m_historyItems;
bool m_isFieldRecentlyChangedFromGui;
};