change TagEditor::Patterns from std::deque to std::list

This commit is contained in:
Andrzej Rybczak
2009-09-09 16:44:15 +02:00
parent 8dd2160a6b
commit deb23548ce
2 changed files with 9 additions and 13 deletions

View File

@@ -43,7 +43,7 @@ using Global::wFooter;
TagEditor *myTagEditor = new TagEditor; TagEditor *myTagEditor = new TagEditor;
const std::string TagEditor::PatternsFile = config_dir + "patterns.list"; const std::string TagEditor::PatternsFile = config_dir + "patterns.list";
std::deque<std::string> TagEditor::Patterns; std::list<std::string> TagEditor::Patterns;
size_t TagEditor::LeftColumnWidth; size_t TagEditor::LeftColumnWidth;
size_t TagEditor::MiddleColumnWidth; size_t TagEditor::MiddleColumnWidth;
@@ -377,7 +377,7 @@ void TagEditor::EnterPressed()
FParser->AddSeparator(); FParser->AddSeparator();
FParser->AddOption("Recent patterns", 1, 1); FParser->AddOption("Recent patterns", 1, 1);
FParser->AddSeparator(); FParser->AddSeparator();
for (std::deque<std::string>::const_iterator it = Patterns.begin(); it != Patterns.end(); ++it) for (std::list<std::string>::const_iterator it = Patterns.begin(); it != Patterns.end(); ++it)
FParser->AddOption(*it); FParser->AddOption(*it);
} }
@@ -458,14 +458,9 @@ void TagEditor::EnterPressed()
} }
else if (success) else if (success)
{ {
for (size_t i = 0; i < Patterns.size(); ++i) for (std::list<std::string>::iterator it = Patterns.begin(); it != Patterns.end(); ++it)
{ if (*it == Config.pattern)
if (Patterns[i] == Config.pattern) it = Patterns.erase(it);
{
Patterns.erase(Patterns.begin()+i);
i--;
}
}
Patterns.insert(Patterns.begin(), Config.pattern); Patterns.insert(Patterns.begin(), Config.pattern);
quit = 1; quit = 1;
} }
@@ -1156,7 +1151,8 @@ void TagEditor::SavePatternList()
std::ofstream output(PatternsFile.c_str()); std::ofstream output(PatternsFile.c_str());
if (output.is_open()) if (output.is_open())
{ {
for (std::deque<std::string>::const_iterator it = Patterns.begin(); it != Patterns.end() && it != Patterns.begin()+30; ++it) std::list<std::string>::const_iterator it = Patterns.begin();
for (unsigned i = 30; it != Patterns.end() && i; ++it, --i)
output << *it << std::endl; output << *it << std::endl;
output.close(); output.close();
} }

View File

@@ -27,7 +27,7 @@
#ifdef HAVE_TAGLIB_H #ifdef HAVE_TAGLIB_H
#include <deque> #include <list>
// taglib headers // taglib headers
#include "fileref.h" #include "fileref.h"
@@ -109,7 +109,7 @@ class TagEditor : public Screen<Window>
std::string itsHighlightedDir; std::string itsHighlightedDir;
static const std::string PatternsFile; static const std::string PatternsFile;
static std::deque<std::string> Patterns; static std::list<std::string> Patterns;
static size_t MiddleColumnWidth; static size_t MiddleColumnWidth;
static size_t LeftColumnWidth; static size_t LeftColumnWidth;