2022-12-17 GnuCash IRC logs
01:13:14 <chris> jralls fwiw wrt #1442 I wouldn't have much bandwidth to refactor further; it is more robust and solves the latest fee bug that CDB-Man has found
01:23:20 *** NoobAlice has quit IRC
01:34:18 *** fell has quit IRC
01:35:38 *** fell has joined #gnucash
01:35:38 *** ChanServ sets mode: +o fell
02:43:09 <chris> jralls: although it looks complicated with two large structs, the structs are being reused piecemeal. I can add more comments if this will help. I certainly won't have bandwidth to change it much further.
03:05:13 <chris> CDB-Man: somewhere within 797796 will be the "ideal" book that you'll want to be able to recreate with the assistant; I'll make sure it can be done in #1442
03:06:44 <chris> #1442 is an internal heavy refactoring which makes the code much more tight. data validation into a std::vector<StockTransactionSplitInfo>, and the latter reused to both populate the final table and to create the splits
03:07:12 <chris> therefore no more "final table is OK but the transaction is Garbage" bug
04:05:21 *** bertbob has quit IRC
04:06:57 *** bertbob has joined #gnucash
04:06:58 *** ChanServ sets mode: +v bertbob
04:36:17 *** gjanssens has joined #gnucash
04:36:18 *** ChanServ sets mode: +o gjanssens
04:36:42 <gjanssens> .
04:36:42 <gncbot> gjanssens: Sent 9 hours and 53 minutes ago: <jralls> Now for the KDE autocomplete problem I propose to commit your usleep(1000); at gnucash-sheet.c#1839 as I think that's the most specific place that fixes the problem. That will get the KDE users back in business and we can continue to dig into it later.
05:35:59 <gjanssens> jralls: agree to add the usleep(1000) as a stop-gap measure
05:36:45 <gjanssens> The longer-term fix IMO should involve a bit of redesign.
05:37:21 <gjanssens> It has bothered me since I ported the register code to GtkLayout that GncSheet is so heavily involved in text handling.
05:38:11 <gjanssens> In the original design (based on gnome-canvas) this may have made sense, as Gtk was very much abstracted away in that design.
05:38:52 <gjanssens> We were in a hurry back then so I cut some corners, by sticking mostly to the original design.
05:39:33 <gjanssens> However looking at all of this now, I believe *a lot* could be simplified by just putting Gtk widgets front and center.
05:40:14 <gjanssens> There really aren't that many: the two primarily involved here are a GtkLayout and a GtkEntry.
05:41:57 <gjanssens> GtkEntry provides very detailed ways of managing text entry and autocompletion. I really think it would simplify a lot if we rewrote the quickfill machinery to become a GtkEntryCompletion
05:42:55 <gjanssens> It's stable, modern day and well tested Gtk functionality.
05:44:17 <gjanssens> The redesign it involves is to make the GtkEntry the primary keyboard input handler. If it receives keyboard input that is meant to switch to other cells (tabs, return,...) it should pass this to the GtkLayout to handle navigation.
05:45:07 <gjanssens> It's currently the other way around: the GtkLayout takes all keyboard input, filters on navigation keys and then starts manipulating the GtkEntry for autocompletion.
05:45:21 <gjanssens> Seems more complicated to me.
05:47:13 <gjanssens> Of course considering the spaghetti this code has become, what is a relatively simple change in concept has far reaching consequences in practice.
05:48:28 <gjanssens> The whole abstraction of cell types in the register and the "gnome-" gui implementations on top of this are fairly inverse to the model Gtk uses.
05:49:43 <gjanssens> I have a feeling that getting a GtkEntryCompletion in place will likely challenge this abstract model.
05:50:51 <gjanssens> Anyway, enough brain dumping. As usual there's plenty of itch here, but not enough time to spend on fixing it myself :(
05:51:32 <gjanssens> I am curious though how you see this, considering you have been fixing plenty of text entry issues over the years.
06:34:28 <chris> jralls: re: investment-lots.scm does call the options api deprecated in 5.x; however there's not a lot of documentation about the new api. Would it be reasonable to ask him to use the new api?
07:17:19 *** gjanssens has quit IRC
08:38:06 *** gjanssens has joined #gnucash
08:38:06 *** ChanServ sets mode: +o gjanssens
09:03:36 *** gjanssens has quit IRC
09:50:14 *** palerider has joined #gnucash
09:53:22 *** palerider has left #gnucash
11:12:47 *** NoobAlice has joined #gnucash
11:53:09 *** aj has quit IRC
11:55:01 *** aj has joined #gnucash
11:55:01 *** ChanServ sets mode: +v aj
12:06:42 *** gjanssens has joined #gnucash
12:06:42 *** ChanServ sets mode: +o gjanssens
12:10:22 *** CaptainPi has joined #gnucash
12:23:37 *** CaptainPi has quit IRC
12:37:36 *** CaptainPi has joined #gnucash
12:37:36 *** ChanServ sets mode: +v CaptainPi
12:37:42 *** phebus has quit IRC
12:39:05 <CaptainPi> I would like to have "month / jear" text in terminated transfer as "purpose of use"
12:39:32 <CaptainPi> where month and year are variables and change each month and year
12:39:35 <CaptainPi> is it possible?
12:52:31 *** phebus has joined #gnucash
12:52:31 *** ChanServ sets mode: +v phebus
12:53:30 <warlord> CaptainPi, I'm not sure I understand what you're asking for. Could you please expand on your question?
13:00:12 *** bertbob has quit IRC
13:00:14 <CaptainPi> i have german gnucash, so i hope my translation is correct
13:01:07 <CaptainPi> I would like in my money transfer of july to have for e.g. 07/2022
13:01:21 <CaptainPi> and in august 2023 it will be 08/2023
13:02:47 <CaptainPi> since it is a dauer transfer i would like gnucash to fillout the values of the month and year automatically
13:02:53 <CaptainPi> is this possible?
13:04:04 *** ChanServ sets mode: +v NoobAlice
13:04:31 *** bertbob has joined #gnucash
13:04:32 *** ChanServ sets mode: +v bertbob
13:09:13 <NoobAlice> CaptainPi: You can make a scheduled transaction (wiederkehrende Buchungen maybe?) that will use variables to let you pick amount and other numbers based on that amount for each month. But variables are only for the money amounts, not for descriptions.
13:10:07 <NoobAlice> CaptainPi: What I do is have a scheduled transaction that happens the first day of each month and make the description "Recording transfer for month beginning this date."
13:12:45 <NoobAlice> If I was recording income minus 5% tax, I could have a scheduled transaction could have lines of Credit Income "amount", Debit Bank "amount*.95", and Debit Tax Expense "amount*.05"
13:13:19 <NoobAlice> This is the English page. I can't find a German page with this example. https://wiki.gnucash.org/wiki/Scheduled_Transactions#Variables_and_Formulas
13:16:38 <NoobAlice> Oh, sorry, looks like "Terminierte Buchungen" is the German terms to use.
13:16:59 <CaptainPi> yes, this is the correct translation :)
13:17:49 <CaptainPi> i setup the start date and the end date
13:18:18 <CaptainPi> nether the less, i am searching for the possibility to have variables in the description text
13:18:30 <NoobAlice> I think you cannot do it.
13:18:54 <jralls> gjanssens, I heartily agree about using Gtk's text completion in place of the current quickfill model *provided* it can also do chris's list of completions feature in master *and* be done in a way that doesn't commit us to Gtk forever. But do you anticipate having time to work on a major change like that?
13:19:14 <CaptainPi> something like "salery of ... [month] / [year]"
13:19:23 <NoobAlice> I sometimes do a description of "YEAR MONTH payment for services", but that is a reminder to me to fix it myself.
13:19:31 <NoobAlice> It will not be automatic.
13:20:04 <CaptainPi> thanks, so i will add it to wish list :)
13:20:12 <NoobAlice> Okay
13:21:04 <NoobAlice> In Preferences, there is a checkbox to Review Created Transactions. Then they always are a new tab/window so you remember to fix the descriptions.
13:23:40 <NoobAlice> CaptainPi: Do you want screenshots to see what I mean?
13:23:56 <CaptainPi> why not, could be nice
13:24:57 <jralls> gjanssens, on the matter of the location of the usleep(1000) call in gnucash_sheet_set_entry_selection I wonder if the optimizer might have been messing with you and reordering the function so that the sleep was always happening before the gtk_editable_select_region call.
13:28:26 <NoobAlice> CaptainPi: First this: https://i.imgur.com/ZEJyTg1.png
13:28:38 <NoobAlice> Then this https://i.imgur.com/UGKZjOV.png
13:32:34 <CaptainPi> thanks, i activated it
13:32:40 <NoobAlice> :)
13:33:53 *** CaptainPi has quit IRC
13:34:22 <gjanssens> jralls: as I said, no I don't have time :(
13:36:34 <jralls> Didn't think so. Maybe you could put a note about that on https://wiki.gnucash.org/wiki/Roadmap so that we don't completely forget about it.
13:38:29 <jralls> There's already a Register Rewrite section there that includes a not about reworking to use GooCanvas or a direct Cairo surface. You've already done the rework.
14:05:43 *** gjanssens has quit IRC
14:29:56 *** jervin has joined #gnucash
16:18:20 *** jervin has quit IRC
16:46:41 <chris> jralls: g_utf8_normalize returns a NEW char*
16:52:19 <chris> jralls: don't forget to g_free norm_match_string and norm_imp_string
17:51:20 *** jervin has joined #gnucash
18:35:30 <jralls> chris, Oops, thanks!
18:58:14 *** gour has quit IRC
19:17:06 *** jervin has quit IRC
19:17:09 *** jervin has joined #gnucash
19:57:06 *** AdrienM has quit IRC
20:23:46 *** AdrienM has joined #gnucash
20:23:46 *** ChanServ sets mode: +v AdrienM
22:49:02 *** jervin has quit IRC