question on finding account id from name
Jack
ostroffjh at users.sourceforge.net
Wed Jun 22 15:10:26 BST 2022
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.
Jack
More information about the KMyMoney-devel
mailing list