root/src/Catalog.cc @ 5fa4a398
| 5fa4a398 | david.sorber | #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);
|
|||
}
|
|||
}
|
|||
}
|