2006/8/7, Matt Rogers <[EMAIL PROTECTED]>:
> On Monday 07 August 2006 01:12, Michel Hermier wrote:
> > 2006/8/7, Matt Rogers <[EMAIL PROTECTED]>:
> > > On Sunday 06 August 2006 02:09, Michel Hermier wrote:
> > > > 2006/8/6, Olivier Goffart <[EMAIL PROTECTED]>:
> > > > > Hello.
> > > > >
> > > > > So we are going soon or later to drop the Q3ListView stuff for the
> > > > > contactlist.
> > > > >
> > > > > I have made an experimental contactlist using QAbstractItemModel.
> > > > >
> > > > > I have to say i'm still not convinced  by the supposed advantage of
> > > > > QAbstractItemModel.
> > > > > We could as well use QTreeWidget,  and have subclass of
> > > > > QTreeWidgetItem for MetaContactLVI and GroupLVI like we have now.
> > > > > Could you explain me how having his own model is better ? thanks.
> > > >
> > > > This model is better in the seens that you divide the data, from it's
> > > > rendering. This way you can have multiple view using the same model
> > > > that are
> > > > affected when you affect one off the view.
> > > > If you look at one of the Qt model/view explanation, you'll see 2 file
> > > > list widgets.
> > > > When you select one item in the treeview, the selection also affect
> > > > the list view.
> > > >
> > > > So do we have a real interest in such features, I would say yes,
> > > > because you can also add some filter model layers. And this is
> > > > interesting by example for the chat lists. So we have one model for
> > > > the contact list, but we may make the view more precise for the chats,
> > > > making a *who is in this chat* filter, and then a sort by name filter.
> > > > Another thing, if we have a tree view model, we also can use it as a
> > > > list view model (limited to one column, and only thee first ?)
> > > >
> > > > And to conclude, the when the wiget interact with model, it knows when
> > > > to add/remove it's child Item, and we remove some memory management
> > > > problems ;) even if we have 10 views, the views will handle them for
> > > > us ;)
> > > >
> > > > > Anyway, i think that Kopete::ContactList (KCL) and ContactListModel
> > > > > (CLM) must be two separate class.
> > > >
> > > > I agree, due to the selection model (and maybe other), we must be able
> > > > to have multiple KCLM, refering to the KCL singleton.
> > >
> > > The views handle the selection. What are you talking about here?
> >
> > I speak about usability when you have multiple view of the contact
> > list model. One may have the contact list view in Kopete and in
> > another program (Kontact, plasmoid ...) When clicking on one of the
> > view the selections of other view should be affected I think.
>
> I disagree. Let's say that we have a plasmoid that gives us easy access to the
> kopete contact list running and we also have kopete running as well. They are
> two seperate entities. If I change the selection in the main application, as
> a user, I do not expect the selection to change in the plasmoid. IMHO, your
> idea above is actually worse for usability, but we should ask the usability
> people to know for sure. :)
>

Now that I think again I would say it's bad, anyway it doesn't have to
deal with model.
I first thougth the model was also handling the selection and I was wrong.

> >
> > > > > KCL, in libkopete, is the central storage class (in memory) which
> > > > > make the interface between protocols, plugins, and the contact list
> > > > > ui
> > > > >
> > > > > CLM is part of the contact list ui.  There is no reason to have it in
> > > > > libkopete, and let plugins see that.
> > > >
> > > > I would say that plugins have to see it. Like the main application.
> > > > Some plugins allow to refine their activity base on plugins account.
> > > > And it would be stupid that the plugins have to rewrite code to handle
> > > > such lists when we could reuse the libkopete ones ...
> > > >
> > > > > I'm not talking about the storage backend in this mail.
> > > > >
> > > > >
> > > > > Is my attached draft the way to go ?   Or am I completely wrong ?
> > > > > I'm still discovering the inter view stuff.
> > > >
> > > > For me what you wrote is the way to go. Only one final comment. Make
> > > > an intermediate Kopete::AbstractContactTreeViewModel, and use this
> > > > intermediate in all the views.
> > > > So that we could provide the real and direct
> > > > Kopete::ContactTreeViewModel and maybe somewhere else the
> > > > Kopete::DBusContactTreeView model (to finally allow remote view, for
> > > > cheap, and maybe even with the selection model updated every where)
> > > >
> > > > I don't want to start a troll for that again, but it would be great to
> > > > separate the ui code from the main code again. thougth it will
> > > > requires us some effforts. And maybe we should also go for the kcm way
> > > > in the protocols also. In fact protocols don't really need to know
> > > > about how it's data will be represented. (icon status should be left
> > > > to application decision and for the buddy pictures it can be handled
> > > > as raw data in the protocols)
> > >
> > > I'm sure a split between core/gui will happen eventually. Just be
> > > patient. --
> > > Matt
> _______________________________________________
> kopete-devel mailing list
> [email protected]
> https://mail.kde.org/mailman/listinfo/kopete-devel
>
_______________________________________________
kopete-devel mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/kopete-devel

Reply via email to