XTreeWidgetItem *XTreeWidgetItemProto::child(int idx) const { XTreeWidgetItem *item = qscriptvalue_cast<XTreeWidgetItem*>(thisObject()); if (item) return item->child(idx); return 0; }
void reconcileBankaccount::sReceiptsToggleCleared() { XTreeWidgetItem *item = (XTreeWidgetItem*)_receipts->currentItem(); XTreeWidgetItem *child = 0; bool setto = true; if(0 == item) return; _receipts->scrollToItem(item); if(item->altId() == 3) { setto = item->text(0) == tr("No"); for (int i = 0; i < item->childCount(); i++) { child = item->child(i); if(child->text(0) != (setto ? tr("Yes") : tr("No"))) { q.prepare("SELECT toggleBankrecCleared(:bankrecid, :source, :sourceid) AS cleared"); q.bindValue(":bankrecid", _bankrecid); q.bindValue(":sourceid", child->id()); if(child->altId()==1) q.bindValue(":source", "GL"); else if(child->altId()==2) q.bindValue(":source", "AD"); q.exec(); if(q.first()) child->setText(0, (q.value("cleared").toBool() ? tr("Yes") : tr("No") )); else if (q.lastError().type() != QSqlError::NoError) { systemError(this, q.lastError().databaseText(), __FILE__, __LINE__); return; } } } item->setText(0, (setto ? tr("Yes") : tr("No"))); } else { q.prepare("SELECT toggleBankrecCleared(:bankrecid, :source, :sourceid) AS cleared"); q.bindValue(":bankrecid", _bankrecid); q.bindValue(":sourceid", item->id()); if(item->altId()==1) q.bindValue(":source", "GL"); else if(item->altId()==2) q.bindValue(":source", "AD"); q.exec(); if(q.first()) { item->setText(0, (q.value("cleared").toBool() ? tr("Yes") : tr("No") )); item = (XTreeWidgetItem*)item->QTreeWidgetItem::parent(); if(item != 0 && item->altId() == 3) { setto = true; for (int i = 0; i < item->childCount(); i++) { setto = (setto && (item->child(i)->text(0) == tr("Yes"))); } item->setText(0, (setto ? tr("Yes") : tr("No"))); } } else { populate(); if (q.lastError().type() != QSqlError::NoError) { systemError(this, q.lastError().databaseText(), __FILE__, __LINE__); return; } } } }
void reconcileBankaccount::sReceiptsToggleCleared() { XSqlQuery reconcileReceiptsToggleCleared; XTreeWidgetItem *item = (XTreeWidgetItem*)_receipts->currentItem(); XTreeWidgetItem *child = 0; bool setto = true; if(0 == item) return; _receipts->scrollToItem(item); if(item->altId() == 9) { setto = item->text(0) == tr("No"); for (int i = 0; i < item->childCount(); i++) { child = item->child(i); if(child->text(0) != (setto ? tr("Yes") : tr("No"))) { double rate = QLocale().toDouble(child->text(6)); double baseamount = QLocale().toDouble(child->text(7)); double amount = QLocale().toDouble(child->text(8)); if (_allowEdit->isChecked() && child->text(0) != tr("Yes")) { ParameterList params; params.append("transtype", "receipt"); params.append("bankaccntid", _bankaccnt->id()); params.append("bankrecid", _bankrecid); params.append("sourceid", child->id()); if(child->altId()==1) params.append("source", "GL"); else if(child->altId()==2) params.append("source", "SL"); else if(child->altId()==3) params.append("source", "AD"); toggleBankrecCleared newdlg(this, "", TRUE); newdlg.set(params); newdlg.exec(); } else { reconcileReceiptsToggleCleared.prepare("SELECT toggleBankrecCleared(:bankrecid, :source, :sourceid, :currrate, :amount) AS cleared"); reconcileReceiptsToggleCleared.bindValue(":bankrecid", _bankrecid); reconcileReceiptsToggleCleared.bindValue(":sourceid", child->id()); if(child->altId()==1) reconcileReceiptsToggleCleared.bindValue(":source", "GL"); else if(child->altId()==2) reconcileReceiptsToggleCleared.bindValue(":source", "SL"); else if(child->altId()==3) reconcileReceiptsToggleCleared.bindValue(":source", "AD"); reconcileReceiptsToggleCleared.bindValue(":currrate", rate); reconcileReceiptsToggleCleared.bindValue(":amount", amount); reconcileReceiptsToggleCleared.exec(); if(reconcileReceiptsToggleCleared.first()) child->setText(0, (reconcileReceiptsToggleCleared.value("cleared").toBool() ? tr("Yes") : tr("No") )); else if (reconcileReceiptsToggleCleared.lastError().type() != QSqlError::NoError) { systemError(this, reconcileReceiptsToggleCleared.lastError().databaseText(), __FILE__, __LINE__); return; } } } } item->setText(0, (setto ? tr("Yes") : tr("No"))); populate(); } else { double rate = QLocale().toDouble(item->text(6)); double baseamount = QLocale().toDouble(item->text(7)); double amount = QLocale().toDouble(item->text(8)); if (_allowEdit->isChecked() && item->text(0) != tr("Yes")) { ParameterList params; params.append("transtype", "receipt"); params.append("bankaccntid", _bankaccnt->id()); params.append("bankrecid", _bankrecid); params.append("sourceid", item->id()); if(item->altId()==1) params.append("source", "GL"); else if(item->altId()==2) params.append("source", "SL"); else if(item->altId()==3) params.append("source", "AD"); toggleBankrecCleared newdlg(this, "", TRUE); newdlg.set(params); newdlg.exec(); populate(); } else { reconcileReceiptsToggleCleared.prepare("SELECT toggleBankrecCleared(:bankrecid, :source, :sourceid, :currrate, :amount) AS cleared"); reconcileReceiptsToggleCleared.bindValue(":bankrecid", _bankrecid); reconcileReceiptsToggleCleared.bindValue(":sourceid", item->id()); if(item->altId()==1) reconcileReceiptsToggleCleared.bindValue(":source", "GL"); else if(item->altId()==2) reconcileReceiptsToggleCleared.bindValue(":source", "SL"); else if(item->altId()==3) reconcileReceiptsToggleCleared.bindValue(":source", "AD"); reconcileReceiptsToggleCleared.bindValue(":currrate", rate); reconcileReceiptsToggleCleared.bindValue(":amount", amount); reconcileReceiptsToggleCleared.exec(); if(reconcileReceiptsToggleCleared.first()) { item->setText(0, (reconcileReceiptsToggleCleared.value("cleared").toBool() ? tr("Yes") : tr("No") )); item = (XTreeWidgetItem*)item->QTreeWidgetItem::parent(); if(item != 0 && item->altId() == 9) { setto = true; for (int i = 0; i < item->childCount(); i++) { setto = (setto && (item->child(i)->text(0) == tr("Yes"))); } item->setText(0, (setto ? tr("Yes") : tr("No"))); } } else { populate(); if (reconcileReceiptsToggleCleared.lastError().type() != QSqlError::NoError) { systemError(this, reconcileReceiptsToggleCleared.lastError().databaseText(), __FILE__, __LINE__); return; } } } } }