From deb23548cec1e09659e78f12079c98e65be6ff21 Mon Sep 17 00:00:00 2001 From: Andrzej Rybczak Date: Wed, 9 Sep 2009 16:44:15 +0200 Subject: [PATCH] change TagEditor::Patterns from std::deque to std::list --- src/tag_editor.cpp | 18 +++++++----------- src/tag_editor.h | 4 ++-- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/src/tag_editor.cpp b/src/tag_editor.cpp index 91c09d92..b0ac1006 100644 --- a/src/tag_editor.cpp +++ b/src/tag_editor.cpp @@ -43,7 +43,7 @@ using Global::wFooter; TagEditor *myTagEditor = new TagEditor; const std::string TagEditor::PatternsFile = config_dir + "patterns.list"; -std::deque TagEditor::Patterns; +std::list TagEditor::Patterns; size_t TagEditor::LeftColumnWidth; size_t TagEditor::MiddleColumnWidth; @@ -377,7 +377,7 @@ void TagEditor::EnterPressed() FParser->AddSeparator(); FParser->AddOption("Recent patterns", 1, 1); FParser->AddSeparator(); - for (std::deque::const_iterator it = Patterns.begin(); it != Patterns.end(); ++it) + for (std::list::const_iterator it = Patterns.begin(); it != Patterns.end(); ++it) FParser->AddOption(*it); } @@ -458,14 +458,9 @@ void TagEditor::EnterPressed() } else if (success) { - for (size_t i = 0; i < Patterns.size(); ++i) - { - if (Patterns[i] == Config.pattern) - { - Patterns.erase(Patterns.begin()+i); - i--; - } - } + for (std::list::iterator it = Patterns.begin(); it != Patterns.end(); ++it) + if (*it == Config.pattern) + it = Patterns.erase(it); Patterns.insert(Patterns.begin(), Config.pattern); quit = 1; } @@ -1156,7 +1151,8 @@ void TagEditor::SavePatternList() std::ofstream output(PatternsFile.c_str()); if (output.is_open()) { - for (std::deque::const_iterator it = Patterns.begin(); it != Patterns.end() && it != Patterns.begin()+30; ++it) + std::list::const_iterator it = Patterns.begin(); + for (unsigned i = 30; it != Patterns.end() && i; ++it, --i) output << *it << std::endl; output.close(); } diff --git a/src/tag_editor.h b/src/tag_editor.h index 2e0a895b..fbc70393 100644 --- a/src/tag_editor.h +++ b/src/tag_editor.h @@ -27,7 +27,7 @@ #ifdef HAVE_TAGLIB_H -#include +#include // taglib headers #include "fileref.h" @@ -109,7 +109,7 @@ class TagEditor : public Screen std::string itsHighlightedDir; static const std::string PatternsFile; - static std::deque Patterns; + static std::list Patterns; static size_t MiddleColumnWidth; static size_t LeftColumnWidth;