本文整理汇总了C++中MyMoneyFile::accountList方法的典型用法代码示例。如果您正苦于以下问题:C++ MyMoneyFile::accountList方法的具体用法?C++ MyMoneyFile::accountList怎么用?C++ MyMoneyFile::accountList使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MyMoneyFile
的用法示例。
在下文中一共展示了MyMoneyFile::accountList方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: addPricePair
void KEquityPriceUpdateDlg::addPricePair(const MyMoneySecurityPair& pair, bool dontCheckExistance)
{
MyMoneyFile* file = MyMoneyFile::instance();
QString symbol = QString("%1 > %2").arg(pair.first, pair.second);
QString id = QString("%1 %2").arg(pair.first, pair.second);
// Check that the pair does not already exist
if (lvEquityList->findItems(id, Qt::MatchExactly, ID_COL).empty()) {
const MyMoneyPrice &pr = file->price(pair.first, pair.second);
if (pr.source() != "KMyMoney") {
bool keep = true;
if ((pair.first == file->baseCurrency().id())
|| (pair.second == file->baseCurrency().id())) {
const QString& foreignCurrency = file->foreignCurrency(pair.first, pair.second);
// check that the foreign currency is still in use
QList<MyMoneyAccount>::const_iterator it_a;
QList<MyMoneyAccount> list;
file->accountList(list);
for (it_a = list.constBegin(); !dontCheckExistance && it_a != list.constEnd(); ++it_a) {
// if it's an account denominated in the foreign currency
// keep it
if (((*it_a).currencyId() == foreignCurrency)
&& !(*it_a).isClosed())
break;
// if it's an investment traded in the foreign currency
// keep it
if ((*it_a).isInvest() && !(*it_a).isClosed()) {
MyMoneySecurity sec = file->security((*it_a).currencyId());
if (sec.tradingCurrency() == foreignCurrency)
break;
}
}
// if it is in use, it_a is not equal to list.end()
if (it_a == list.constEnd() && !dontCheckExistance)
keep = false;
}
if (keep) {
QTreeWidgetItem* item = new QTreeWidgetItem();
item->setText(SYMBOL_COL, symbol);
item->setText(NAME_COL, i18n("%1 units in %2", pair.first, pair.second));
if (pr.isValid()) {
item->setText(PRICE_COL, pr.rate(pair.second).formatMoney(file->currency(pair.second).tradingSymbol(), KMyMoneyGlobalSettings::pricePrecision()));
item->setText(DATE_COL, pr.date().toString(Qt::ISODate));
}
item->setText(ID_COL, id);
item->setText(SOURCE_COL, "Yahoo Currency"); // This string value should not be localized
lvEquityList->invisibleRootItem()->addChild(item);
}
}
}
}
示例2: it
void KAccountTemplateSelector::Private::loadHierarchy(void)
{
m_templateHierarchy.clear();
QListViewItemIterator it(m_parent->m_groupList, QListViewItemIterator::Selected);
QListViewItem* it_v;
while((it_v = it.current()) != 0) {
m_templates[it_v->text(2)].hierarchy(m_templateHierarchy);
++it;
}
// I need to think about this some more. The code works and shows
// the current account hierarchy. It might be usefull, to show
// existing accounts dimmed and the new ones in bold or so.
#if 0
// add the hierarchy from the MyMoneyFile object
QValueList<MyMoneyAccount> aList;
QValueList<MyMoneyAccount>::const_iterator it_a;
MyMoneyFile* file = MyMoneyFile::instance();
file->accountList(aList);
if(aList.count() > 0) {
m_templateHierarchy[file->accountToCategory(file->asset().id(), true)] = 0;
m_templateHierarchy[file->accountToCategory(file->liability().id(), true)] = 0;
m_templateHierarchy[file->accountToCategory(file->income().id(), true)] = 0;
m_templateHierarchy[file->accountToCategory(file->expense().id(), true)] = 0;
m_templateHierarchy[file->accountToCategory(file->equity().id(), true)] = 0;
}
for(it_a = aList.begin(); it_a != aList.end(); ++it_a) {
m_templateHierarchy[file->accountToCategory((*it_a).id(), true)] = 0;
}
#endif
m_parent->m_accountList->clear();
QMap<QString, QListViewItem*>::iterator it_m;
QRegExp exp("(.*):(.*)");
for(it_m = m_templateHierarchy.begin(); it_m != m_templateHierarchy.end(); ++it_m) {
if(exp.search(it_m.key()) == -1) {
(*it_m) = new KListViewItem(m_parent->m_accountList, it_m.key());
} else {
(*it_m) = hierarchyItem(exp.cap(1), exp.cap(2));
}
(*it_m)->setOpen(true);
}
m_parent->m_description->clear();
if(m_parent->m_groupList->currentItem()) {
m_parent->m_description->setText(m_templates[m_parent->m_groupList->currentItem()->text(2)].longDescription());
}
}
示例3: addInvestment
void KEquityPriceUpdateDlg::addInvestment(const MyMoneySecurity& inv)
{
MyMoneyFile* file = MyMoneyFile::instance();
QString symbol = inv.tradingSymbol();
QString id = inv.id();
// Check that the pair does not already exist
if (lvEquityList->findItems(id, Qt::MatchExactly, ID_COL).empty()) {
// check that the security is still in use
QList<MyMoneyAccount>::const_iterator it_a;
QList<MyMoneyAccount> list;
file->accountList(list);
for (it_a = list.constBegin(); it_a != list.constEnd(); ++it_a) {
if ((*it_a).isInvest()
&& ((*it_a).currencyId() == inv.id())
&& !(*it_a).isClosed())
break;
}
// if it is in use, it_a is not equal to list.end()
if (it_a != list.constEnd()) {
QTreeWidgetItem* item = new QTreeWidgetItem();
item->setText(SYMBOL_COL, symbol);
item->setText(NAME_COL, inv.name());
MyMoneySecurity currency = file->currency(inv.tradingCurrency());
const MyMoneyPrice &pr = file->price(id.toUtf8(), inv.tradingCurrency());
if (pr.isValid()) {
item->setText(PRICE_COL, pr.rate(currency.id()).formatMoney(currency.tradingSymbol(), KMyMoneyGlobalSettings::pricePrecision()));
item->setText(DATE_COL, pr.date().toString(Qt::ISODate));
}
item->setText(ID_COL, id);
if (inv.value("kmm-online-quote-system") == "Finance::Quote")
item->setText(SOURCE_COL, QString("Finance::Quote %1").arg(inv.value("kmm-online-source")));
else
item->setText(SOURCE_COL, inv.value("kmm-online-source"));
lvEquityList->invisibleRootItem()->addChild(item);
// If this investment is denominated in a foreign currency, ensure that
// the appropriate price pair is also on the list
if (currency.id() != file->baseCurrency().id()) {
addPricePair(MyMoneySecurityPair(currency.id(), file->baseCurrency().id()));
}
}
}
}
示例4:
QValueList<MyMoneyAccount> MyMoneyForecast::accountList(void)
{
MyMoneyFile* file = MyMoneyFile::instance();
QValueList<MyMoneyAccount> accList;
QStringList emptyStringList;
//Get all accounts from the file and check if they are present
file->accountList(accList, emptyStringList, false);
QValueList<MyMoneyAccount>::iterator accList_t = accList.begin();
for(; accList_t != accList.end(); ) {
MyMoneyAccount acc = *accList_t;
if(!isForecastAccount( acc ) ) {
accList.remove(accList_t); //remove the account
accList_t = accList.begin();
} else {
++accList_t;
}
}
return accList;
}
示例5: loadAccounts
void KInstitutionsView::loadAccounts(void)
{
QMap<QString, bool> isOpen;
::timetrace("start load institutions view");
// remember the id of the current selected item
KMyMoneyAccountTreeBaseItem *item = m_accountTree->selectedItem();
QString selectedItemId = (item) ? item->id() : QString();
// keep a map of all 'expanded' accounts
QListViewItemIterator it_lvi(m_accountTree);
while(it_lvi.current()) {
item = dynamic_cast<KMyMoneyAccountTreeItem*>(it_lvi.current());
if(item && item->isOpen()) {
isOpen[item->id()] = true;
}
++it_lvi;
}
// remember the upper left corner of the viewport
QPoint startPoint = m_accountTree->viewportToContents(QPoint(0, 0));
// turn off updates to avoid flickering during reload
m_accountTree->setUpdatesEnabled(false);
// clear the current contents and recreate it
m_accountTree->clear();
m_accountMap.clear();
m_securityMap.clear();
m_transactionCountMap.clear();
MyMoneyFile* file = MyMoneyFile::instance();
QValueList<MyMoneyAccount> alist;
file->accountList(alist);
QValueList<MyMoneyAccount>::const_iterator it_a;
for(it_a = alist.begin(); it_a != alist.end(); ++it_a) {
m_accountMap[(*it_a).id()] = *it_a;
}
// we need to make sure we show stock accounts
// under the right institution (the one of the parent account)
QMap<QString, MyMoneyAccount>::iterator it_am;
for(it_am = m_accountMap.begin(); it_am != m_accountMap.end(); ++it_am) {
if((*it_am).isInvest()) {
(*it_am).setInstitutionId(m_accountMap[(*it_am).parentAccountId()].institutionId());
}
}
QValueList<MyMoneySecurity> slist = file->currencyList();
slist += file->securityList();
QValueList<MyMoneySecurity>::const_iterator it_s;
for(it_s = slist.begin(); it_s != slist.end(); ++it_s) {
m_securityMap[(*it_s).id()] = *it_s;
}
m_transactionCountMap = file->transactionCountMap();
m_accountTree->setBaseCurrency(file->baseCurrency());
// create the items
try {
const MyMoneySecurity& security = file->baseCurrency();
m_accountTree->setBaseCurrency(security);
MyMoneyInstitution none;
none.setName(i18n("Accounts with no institution assigned"));
KMyMoneyAccountTreeItem* noInstitutionItem = new KMyMoneyAccountTreeItem(m_accountTree, none);
noInstitutionItem->setPixmap(0,none.pixmap());
loadSubAccounts(noInstitutionItem, QString());
// hide it, if unused
noInstitutionItem->setVisible(noInstitutionItem->childCount() != 0);
bool showClosedAccounts = kmymoney2->toggleAction("view_show_all_accounts")->isChecked()
|| !KMyMoneyGlobalSettings::hideClosedAccounts();
QValueList<MyMoneyInstitution> list = file->institutionList();
QValueList<MyMoneyInstitution>::const_iterator it_i;
for(it_i = list.begin(); it_i != list.end(); ++it_i) {
KMyMoneyAccountTreeItem* item = new KMyMoneyAccountTreeItem(m_accountTree, *it_i);
item->setPixmap(0, none.pixmap());
loadSubAccounts(item, (*it_i).id());
if(!showClosedAccounts)
item->setVisible(item->childCount() != 0);
}
} catch(MyMoneyException *e) {
kdDebug(2) << "Problem in institutions view: " << e->what();
delete e;
}
// scan through the list of accounts and re-expand those that were
// expanded and re-select the one that was probably selected before
it_lvi = QListViewItemIterator(m_accountTree);
while(it_lvi.current()) {
item = dynamic_cast<KMyMoneyAccountTreeItem*>(it_lvi.current());
if(item) {
if(item->id() == selectedItemId)
m_accountTree->setSelected(item, true);
//.........这里部分代码省略.........