tdf#134280 set legal range for Epsilon level
Change-Id: If544da13913ab6ce84e934e351e4e2d78b6e1466
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97051
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
diff --git a/sc/source/ui/inc/solveroptions.hxx b/sc/source/ui/inc/solveroptions.hxx
index d58244e..48c58a6 100644
--- a/sc/source/ui/inc/solveroptions.hxx
+++ b/sc/source/ui/inc/solveroptions.hxx
@@ -103,6 +103,7 @@ public:
void SetOptionName( const OUString& rName );
void SetValue( sal_Int32 nValue );
void SetMax( sal_Int32 nValue );
sal_Int32 GetValue() const;
};
diff --git a/sc/source/ui/miscdlgs/solveroptions.cxx b/sc/source/ui/miscdlgs/solveroptions.cxx
index e22647b..0a70023 100644
--- a/sc/source/ui/miscdlgs/solveroptions.cxx
+++ b/sc/source/ui/miscdlgs/solveroptions.cxx
@@ -270,6 +270,8 @@ void ScSolverOptionsDialog::EditOption()
{
m_xIntDialog = std::make_shared<ScSolverIntegerDialog>(m_xDialog.get());
m_xIntDialog->SetOptionName( pStringItem->GetText() );
if (maProperties[nEntry].Name == "EpsilonLevel")
m_xIntDialog->SetMax(3);
m_xIntDialog->SetValue( pStringItem->GetIntValue() );
weld::DialogController::runAsync(m_xIntDialog, [nEntry, pStringItem, this](sal_Int32 nResult){
if (nResult == RET_OK)
@@ -349,6 +351,11 @@ void ScSolverIntegerDialog::SetValue( sal_Int32 nValue )
m_xNfValue->set_value( nValue );
}
void ScSolverIntegerDialog::SetMax( sal_Int32 nMax )
{
m_xNfValue->set_range(0, nMax);
}
sal_Int32 ScSolverIntegerDialog::GetValue() const
{
return m_xNfValue->get_value();