diff --git a/src/qtgui/advsearch_w.cpp b/src/qtgui/advsearch_w.cpp index 0cabbebe..5a736738 100644 --- a/src/qtgui/advsearch_w.cpp +++ b/src/qtgui/advsearch_w.cpp @@ -86,7 +86,7 @@ void AdvSearch::init() // Create preconfigured clauses for (unsigned int i = 0; i < iclausescnt; i++) { - addClause(initclausetypes[i]); + addClause(initclausetypes[i], false); } // Tune initial state according to last saved { @@ -97,7 +97,7 @@ void AdvSearch::init() (*cit)->tpChange(prefs.advSearchClauses[i]); cit++; } else { - addClause(prefs.advSearchClauses[i]); + addClause(prefs.advSearchClauses[i], false); } } } @@ -158,18 +158,17 @@ void AdvSearch::saveCnf() { // Save my state prefs.advSearchClauses.clear(); - for (vector::iterator cit = m_clauseWins.begin(); - cit != m_clauseWins.end(); cit++) { - prefs.advSearchClauses.push_back((*cit)->sTpCMB->currentIndex()); + for (const auto& clause : m_clauseWins) { + prefs.advSearchClauses.push_back(clause->sTpCMB->currentIndex()); } } -void AdvSearch::addClause() +void AdvSearch::addClause(bool updsaved) { - addClause(0); + addClause(0, updsaved); } -void AdvSearch::addClause(int tp) +void AdvSearch::addClause(int tp, bool updsaved) { SearchClauseW *w = new SearchClauseW(clauseFRM); m_clauseWins.push_back(w); @@ -181,9 +180,12 @@ void AdvSearch::addClause(int tp) } else { delClausePB->setEnabled(false); } + if (updsaved) { + saveCnf(); + } } -void AdvSearch::delClause() +void AdvSearch::delClause(bool updsaved) { if (m_clauseWins.size() <= iclausescnt) return; @@ -194,6 +196,9 @@ void AdvSearch::delClause() } else { delClausePB->setEnabled(false); } + if (updsaved) { + saveCnf(); + } } void AdvSearch::delAFiltypPB_clicked() diff --git a/src/qtgui/advsearch_w.h b/src/qtgui/advsearch_w.h index 581bf442..32d63491 100644 --- a/src/qtgui/advsearch_w.h +++ b/src/qtgui/advsearch_w.h @@ -59,9 +59,9 @@ public slots: virtual void fromSearch(std::shared_ptr sdata); virtual void browsePB_clicked(); virtual void saveFileTypes(); - virtual void delClause(); - virtual void addClause(); - virtual void addClause(int); + virtual void delClause(bool updsaved=true); + virtual void addClause(bool updsaved=true); + virtual void addClause(int, bool updsaved=true); virtual void slotHistoryNext(); virtual void slotHistoryPrev();