David, Why do you not as a start change the tree view selection from single to multiple, you will see that in the dialog-import.glade file, that way you can select multiple lines. You will need to alter the selection call back as you need different functions that use a list of selected rows.
Bob On 12 August 2018 at 08:22, David Cousens <davidcous...@bigpond.com> wrote: > Hi, > > I raised the above bug as a feature request then I decided to try and > tackle > it myself. My concept was to have a popup menu activated by a right click > in > the matcher window area from which the user could enable and disable > multiple selection of transactions in the window and elect to assign a > transfer account to a selection of multiple rows. My reason for doing this > is I often have within an imported set of transactions, sets of multiple > transactions which have the same transfer account and processing an import > would be speeded up if these could be selected as a group and the the > transfer account selected and applied to the group. > > I now have a lot of the basic code in place to process a selection and to > create and view a popup menu, activate and disable multiple selection and > process a group of selected rows, partially tested but I have struck a > problem in that the GtkTreeView does not implement Ctrl-click selection in > the API and i am going to have to provide that myself. > > As far as I can see from the code in import-main-matcher.c GnuCash does not > seem to implement anything other than a mouse double click to select a > single row which is processed by the callback initiated by the TreeView > "row-activated" event. I.e. there is no selection by pressing "Enter" while > the focus is on a given row. > > My plan is to detect Ctrl-Left click (implemented) and use that to add rows > to the selection and then initiate the processing of the selection using > the > right click (implemented) popup menu. To do this, I have to detect a > GDK_BUTTON_PRESS event and then use the event->state to determine whether > Ctrl is pressed simultaneously (implemented) or whether the third mouse > button has been clicked (implemented) . This however appears to short > circuit the "row-activated" event detection by the GtkTreeView as it > detects > the sequence: > GDK_BUTTON_PRESS > GDK_BUTTON_RELEASE > GDK_BUTTON_PRESS > GDK_BUTTON_RELEASE if it occurs within 0.25 s > so I am going to have to provide my own double click detection within the > callback I use to process the initial button press. > > My question is is this. Is what I have outlined above likely to interfere > with any non mouse based selection of transactions for applying a transfer > account and does the approach seem reasonable? I can't see that occurring > in > the code for the main matcher, but I am a relative novice in using Gdk and > Gtk so I could be easily missing something. E.g. Up, Down keys to shift the > row focus and Enter to select for example. > > David Cousens. > > > > ----- > David Cousens > -- > Sent from: http://gnucash.1415818.n4.nabble.com/GnuCash-Dev-f1435356.html > _______________________________________________ > gnucash-devel mailing list > gnucash-devel@gnucash.org > https://lists.gnucash.org/mailman/listinfo/gnucash-devel > _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel