Heads up, working on autocompletion and breadcrumbbar!

Marco Martin notmart at gmail.com
Mon Jan 16 21:19:08 UTC 2012


On Monday 16 January 2012, Mark wrote:
> On Mon, Jan 16, 2012 at 9:40 PM, Marco Martin <notmart at gmail.com> wrote:
> > On Saturday 14 January 2012, Mark wrote:
> > > Hi,
> > > 
> > > This is just a mail to inform people that I'm working on auto
> > > completion for QML.
> > > Initially this was meant for my Breadcrumbbar that i'm also making for
> > 
> > QML,
> > 
> > > but after making the completion logic in C++ i figured that i might as
> > 
> > well
> > 
> > > make a generic version that can be used to autocomplete about anything.
> > > 
> > > Work log (AutoComplete):
> > > - C++ side auto completion: done
> > > - Auto completion QML component (AutoCompleter): todo
> > > - Ability to use "AutoCompleter" with TextField and a "dropdown" (where
> > 
> > is
> > 
> > > that QML plasma component?): todo
> > 
> > comboboxes aren't supported at the moment, no
> > 
> > good job on the autocompletition tough
> > that should be provided transparently in textfield i think..
> > 
> > Thanx, but remember that only the C++ side works at the moment, there is
> 
> nothing for it in QML.. Yet!
> 
> > still wondering how to do that, if try to stick with the desktop
> > components implementation that can still change every day or trying
> > something new altogether
> 
> I would go for an API like this (just doing it out of my head..):
> 
> AutoCompleter
> {
>   id: autoCompleter
> }
> 
> TextField
> {
>   completer: autoCompleter
> }

what is the advantage of declaring autocompleter independent and outside the 
textfield?

(apart being close to impossible to make a c++ based component private :/)

 
> > > Work log (BreadcrumbBar):
> > > - C++ side: 90% done (uses the C++ AutoComplete as described above
> > > along with KIO)
> > > - Binding it to QML: todo
> > > - BreadcrumbBar qml side: 90% done (no auto completion in it yet and
> > 
> > there
> > 
> > > is no theme for it)
> > > 
> > > My goal with the breadcrumbbar is to make it work exactly like the bar
> > > in Dolphin. Only then written in QML and with fancy animations and
> > > that is working really well at the moment ^_^
> > 
> > what i am wondering a bit is the exact use case for it.
> > since plasmoids are usually intended to be really simple uis, this seems
> > quite
> > complex.
> > 
> > and i'm not saying that is not useful per se. i'm just wondering what was
> > your
> > use case.
> > 
> > do you have a plasmoid that would use that? if so, should maybe be its
> > private
> > component for a while untilthere is a good use case to share it with
> > others and thus put it in an extended components library..
> 
> You really want to know that do you..
> Oke, this element is - at the moment - for pure selfish reasons. In the
> longer term i want to make a very fancy QML only file browser (see it like
> dolphin on steroids that themselves are on steroids ^_-) and for that i
> need a breadcrumbbar. Please don't tell me "don't do it" or whatever. It's
> just a technological idea i'm having that i'm trying to make piece by
> piece.

nono, not telling to not do it, au contraire, could be a very interesting 
thing ;)

i'm just trying to see if kde-runtime is the right place for such a component, 
since its use case is mostly that application, and a full, real application 
even, as opposed to plasmoids that really really should stay simple (many of 
them are already way too much complicated i think)

so, i really think that at the moment that component should be used privately 
by the application and eventually made public when will come the time to have 
components for full desktop applications (and *will* come)
that's not to discourage, is just about putting the things in the right place, 
because as soon you put an extra component in an import you commit maintaining 
it for the years to come, maintaining source compatibility as well (means for 
instance that you won't be able to rename anything, to remove a method, to 
change a property, for at least 2 years or so)

> For example, i want to be able to make this a real app:
> http://fc01.deviantart.net/fs70/f/2011/269/d/7/explorer_mockup_by_ap_graphi
> k-d2nmjj4.png though
> that has some usability issues ;)

has usability issues of course, is drawn really well tough ;) would be nice 
seeing experiments like that

> But there is a usecase for it! Just look at kickoff-qml. That app is using
> a breadcrumbbar and now we already have 2 apps with breadcrumbs and 2
> different breadcrumbbar types: dolphin and kickoff-qml. Who knows how many

plasma widgets and qwidgets are designed and meant to be different.
that's another reason why components for applications and plasmoids shouldn't 
mix.

also, in kickof the breadcrumb bar should be much simpler than your use case i 
think (no kio support for instance)

Cheers,
Marco Martin


More information about the Plasma-devel mailing list