Creates operator() for Account and remove sortAccounts

This commit is contained in:
Grégory Soutadé 2011-08-14 18:29:18 +02:00
parent bf25a10326
commit 6596097f72
3 changed files with 15 additions and 37 deletions

View File

@ -193,7 +193,7 @@ void KissCount::UpdateAccount(Account& ac)
_user->_accounts[i] = ac;
if (ac._default)
std::sort(_user->_accounts.begin(), _user->_accounts.end(), sortAccounts);
std::sort(_user->_accounts.begin(), _user->_accounts.end(), Account());
}
void KissCount::DeleteAccount(Account& ac, const wxString& replacement)

View File

@ -1,34 +0,0 @@
/*
Copyright 2010-2011 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/>.
*/
#include "Account.h"
bool sortAccounts(Account ac1, Account ac2)
{
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;
return (ac1.name.Cmp(ac2.name) < 0);
}

View File

@ -31,8 +31,20 @@ struct Account {
bool _default;
bool is_owner;
bool _virtual;
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;
return (ac1.name.Cmp(ac2.name) < 0);
}
};
bool sortAccounts(Account ac1, Account ac2);
#endif