On 2022.06.22 12:07, Thomas Baumgart via KMyMoney-devel wrote:
On Mittwoch, 22. Juni 2022 16:10:26 CEST Jack via KMyMoney-devel
wrote:
> On 6/22/22 02:18, Thomas Baumgart via KMyMoney-devel wrote:
> > On Dienstag, 21. Juni 2022 22:46:35 CEST Jack via KMyMoney-devel
wrote:
> >> I'm trying to find an way to easily switch between an investment
> >> account and it's brokerage account. I have figured out how to
test for
> >> the two types of accounts (testing the .accountType() or looking
for "
> >> (Brokerage)" at the end of the name.) However, I don't see any
way to
> >> look up an account by name. Does this actually require looping
through
> >> all accounts and testing if the name matches?
> >
> > In master you can do this:
> >
> > QString accountName;
> > auto account =
MyMoneyFile::instance()->accountsModel()->itemByName(accountName);
> >
> > or if you want to stick with the model type access to the data:
> >
> > auto idx =
MyMoneyFile::instance()->accountsModel()->indexByName(accountName);
> > auto name =
idx.data(eMyMoney::Model::AccountNameRole).toString();
> >
> > which in fact does the looping for you in
AccountsModel::indexListByName().
> >
> > Hope that helps.
>
> Thanks. Either of those is shorter than what I came up with,
although
> mine does seem to work (looking with gdb.)
>
> My current problem is that I'm trying to add a "go to brokerage"
line
> after the "go to account" and "go to payee" menu choices, but it is
not
> appearing in any of the menus (either main menu or context menu.) I
> can't find anywhere in the code where either of the old ones appears
> where I haven't added the new one, so I don't know what I am
missing.
Did you increase the version of the .rc menu file? Something that I
also run into myself.
I confirm that was the problem, so my changes now show up in the
appropriate menus.
OTOH, this could be much different in 5.1. I am not working on 5.1
anymore. Concentrate on master.
In the meantime I came across MyMoneyAccount::brokerageName() that
returns that constructed name for the brokerage account for an
account of type Investment. Not sure if that already exists in 5.1
though.
This now works, but I've got some tuning to do before I submit as an
MR. I think it's worth putting into 5.1 before adapting it to the new
ledger in master.
Jack