On Mon, Nov 1, 2010 at 9:55 PM, Edward K. Ream <edream...@gmail.com> wrote:
> I would appreciate it if you would try out the new code and report an > ui issues that bother you. Don't worry too much about speed: we both > expect that QCompleter might help with that. - I can't choose a completion I want without typing (I expect to be able to navigate up/down and select the one I like) - I type c.get and press ctrl+space. Then, I try to move left/right with cursor keys, but can't. I can't move up/down either, I'm totally stuck at that line - I type c.get, ctrl + space, O. this expands to getOpenWithExt immediately, without me explicitly selecting it (pressing Enter). This is contrary to how autocompletion works everywhere else. I would expect to get only one completion, getOpenWithExt, but it should not be expanded "by force" - I type c.frame. + ctrl+space. Not useful results. Please don't take these examples as a suggestion to fix the existing completer. It's now better than ever before (because you can trigger it intuitively now, perhaps people will actually discover it), but it's not yet the desired final state IMHO... > >> Try to see whether QCompleter does enough on its own, so >> that you don't need to deal with backspaces etc. > > This is a *very* complicated subject. Without going into details, I > shall certainly investigate all possible simplifications that > QCompleter *might* offer. In particular, the model passed to > QCompleter *might* give us both simplicity and speed. > > The point is this: the present code shows in detail exactly what must > (**somehow**) happen. There are many complications **in the design** > that must be handled (again somehow) in the QCompleter code. Imo, > there is no point in guessing how the new code will turn out--there > are way too many details to sort out. > > In other words, the present code presents a **design target**. The > task is to hit that target with the simplest possible code. Imo, we > are at the stage where serious experimentation at the code level with > QCompleter can now begin. > >> The important key to >> handle is Enter to finally choose a completion. And of course >> ctrl+space to trigger the completer. > > Noted. > >> - Could you simplify it so that it would only handle simple things >> like the ones in defineObjectDict? > > The present code would not be substantially simpler if it were > restricted to just a few objects. That's the beauty of loops :-) > >> There is tons of complex code in >> there that will probably become redundant as we move on to ctags etc. > > It will certainly change. Whether the complex code will go away is an > open question. The point of today's work is to avoid answering such > questions for a little while longer. > > Imo, moving to ctags has the potential to change *everything* behind > the scenes. Presumably, the ui would remain the same, or nearly so. > Support for QCompleter can probably happen "soon", but moving to ctags > almost certainly will not happen until after 4.8 final. > >> Supporting the simple cases ("live" objects) means that it will be >> instant in speed, without any caching. > > The present speed is good enough, imo. It is certainly good enough > for a design target. > >> - Don't bother with making ctrl+space configurable in leosettings ;-). > > It would be harder *not* to make it configurable. > > Edward > > -- > You received this message because you are subscribed to the Google Groups > "leo-editor" group. > To post to this group, send email to leo-edi...@googlegroups.com. > To unsubscribe from this group, send email to > leo-editor+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/leo-editor?hl=en. > > -- Ville M. Vainio @@ Forum Nokia -- You received this message because you are subscribed to the Google Groups "leo-editor" group. To post to this group, send email to leo-edi...@googlegroups.com. To unsubscribe from this group, send email to leo-editor+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/leo-editor?hl=en.