On June 29, 2010, Thomas Fjellstrom wrote: > On June 29, 2010, Aaron J. Seigo wrote: > > On June 29, 2010, Thomas Fjellstrom wrote: > > > Basically the way the DataEngine is setup right now is each "Host > > > Source" is given a single Data Source, with a type of "source", and a > > > QStringList "hosts" property listing the hosts owned by this source. > > > After that each host that the host source provides is its own source > > > with a number of other properties (address, type, mac, name, isUp). > > > > so there are discovery mechanisms (zeroconf, e.g.) and hosts, correct? > > given discovery mechs d1, d2 and d3 and hosts h1..h6, the DataEngine > > looks something like this: > > > > d1 > > > > hosts = h1, h2 > > > > d2 > > > > hosts = h4, h5 > > > > d3 > > > > hosts = h6, h7 > > > > h1 > > > > address = > > type = > > mac = > > name = > > isUp = > > > > h2 > > > > address = > > type = > > mac = > > name = > > isUp = > > > > h3 > > > > address = > > type = > > mac = > > name = > > isUp = > > > > h4 > > > > address = > > type = > > mac = > > name = > > isUp = > > > > h5 > > > > address = > > type = > > mac = > > name = > > isUp = > > > > h6 > > > > address = > > type = > > mac = > > name = > > isUp = > > > > is there any reason not just just skip the d1, d2 and d3 sources and > > just list the hosts directly? does the visualiation need to list "all > > hosts that were found using libvirt" such that it warrants the above > > structure? > > It is not absolutely necessary. But I can see wanting to group by type. > I'm not sure you want your virtual machines mixed up with manual hosts, > or with the dynamic ones. I was also planning on adding a "cache source" > of sorts to remember hosts that the zeroconf or other dynamic sources > have forgotten about for one reason or another (ie: the machine is off, > but you may want to turn it back on from the plasmoid using WoL), but > you may not want to have them shown all the time. Imagine it displayed > using a layout similar to a tree, except without the branches or > anything. Just headers and items that collapse into the header on > command. > > > to me, it would seem more natural to just list the hosts and the > > visualization can initially iterate over all sources() and then connect > > to the sourceAdded and sourceRemoved signals to be notified when hosts > > come and go. > > > > that would resolve your issue fairly neatly? > > It is the first design I thought of. I'm not entirely convinced that > grouping is necessary, but if you have a lot of hosts, you may want to > hide entire groups of them. With libvirt and Zeroconf/DNDSD sources you > could easily have many tens, or hundreds of hosts just appear if you > walk into an office building, a data center, or you're sharing a busy > wifi network that happens to have wifi-separation turned off. And you > may also be interested in /some/ of those hosts but not all, so you may > not want to turn off the dynamic sources.
I think maybe if I can build some kind of SortFilterModel for a plasma widget, I can skip the discovery sources completely. Then the model/view bits can manage how things are grouped. I hope. -- Thomas Fjellstrom [email protected] _______________________________________________ Plasma-devel mailing list [email protected] https://mail.kde.org/mailman/listinfo/plasma-devel
