KissCount/src/model/Account.hpp

58 lines
1.5 KiB
C++

/*
Copyright 2010-2012 Grégory Soutadé
This file is part of KissCount.
KissCount is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
KissCount is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with KissCount. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef ACCOUNT_H
#define ACCOUNT_H
struct Account {
int id;
QString name;
QString number;
bool shared;
bool blocked;
bool _default;
bool is_owner;
bool _virtual;
bool hidden;
bool operator() (const Account& ac1, const Account& ac2) const
{
if (ac1._default) return true;
if (ac2._default) return false;
if (!ac1.blocked && ac2.blocked) return true;
if (ac1.blocked && !ac2.blocked) return false;
if (!ac1._virtual && ac2._virtual) return true;
if (ac1._virtual && !ac2._virtual) return false;
if (!ac1.hidden && ac2.hidden) return true;
if (ac1.hidden && !ac2.hidden) return false;
return ac1.name < ac2.name;
}
bool operator == (int accountId)
{
return id == accountId;
}
};
#endif