Project

General

Profile

Download (1.33 KB) Statistics
| Branch: | Revision:
#include <algorithm>

#include "Catalog.h"

Catalog::Catalog()
{
// Temporarily fill the catalog with some test data
/*
{"Target", "baranovich@gmail.com\nF-B-3-7"},
{"United", "david.sorber@gmail.com\nF-B-3-7"},
{"Pepco", "david.sorber@gmail.com\nNZ-98-O"},
{"Washington Gas", "baranovich@gmail.com\nS-N-718"}
*/
m_catalog.push_back({"Target", "baranovich@gmail.com\nF-B-3-7"});
m_catalog.push_back({"United", "david.sorber@gmail.com\nF-B-3-7"});
m_catalog.push_back({"Pepco", "david.sorber@gmail.com\nNZ-98-O"});
m_catalog.push_back({"Washington Gas", "baranovich@gmail.com\nS-N-718"});

// Sort the catalog (A -> Z) for display purposes
std::sort(
m_catalog.begin(),
m_catalog.end(),
[](auto const& lhs, auto const& rhs)
{
return lhs.getLcKey() < rhs.getLcKey();
});

}

Catalog::~Catalog()
{
}

void Catalog::setAllVisible()
{
for (auto& item : m_catalog)
{
item.setVisibilty(true);
}
}

void Catalog::filter(const std::string& criteria)
{
// TODO: would be nice if there were a more efficient way to do this
for (auto& item : m_catalog)
{
if (item.match(criteria))
{
item.setVisibilty(true);
}
else
{
item.setVisibilty(false);
}
}
}
(1-1/5)