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