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;
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::MiddleColumnWidth;
@@ -377,7 +377,7 @@ void TagEditor::EnterPressed()
FParser->AddSeparator();
FParser->AddOption("Recent patterns", 1, 1);
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);
}
@@ -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<std::string>::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<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.close();
}

View File

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