> On Aug. 30, 2012, 12:17 p.m., Aurélien Gâteau wrote:
> > plasma/declarativeimports/qtextracomponents/fullmodelaccess.h, line 25
> > <http://git.reviewboard.kde.org/r/106272/diff/2/?file=82325#file82325line25>
> >
> >     I don't like the "FullModelAccess" name. It is a model, so to avoid 
> > confusion its name should end with "Model". It works like a proxy model, so 
> > I suggest renaming it to ColumnProxyModel.
> >     
> >     I am also wondering whether the code wouldn't be simpler if the class 
> > was inheriting from QAbstractProxyModel rather than QAbstractListModel. I 
> > think it would make it possible to remove:
> >     - data()
> >     - rowCount()
> >     - headerData()
> >     - sourceDestroyed()
> >     - sourceModel()
> 
> Marco Martin wrote:
>     +1 for ColumnProxyModel.
>     good also to put more emphasys on the columns rather than the possibility 
> to dive in the tree nodes, that is here only because visualdatamodel can't be 
> used in conjunction with other proxies, since doesn't inherit from qaim
> 
> Aleix Pol Gonzalez wrote:
>     I already tried that, but I didn't like it because it provides an API 
> that suggests that mapFrom/ToSource will work.
>     
>     Also reducing those won't help much. The big part of the code is the 
> forwarding of the signals and proxy models doesn't do that. I tried with 
> QIdentityProxyModel, but then it tries to forward all signals and we only 
> need some of them.
>     
>     Regarding the name, I like the addition of proxy, although I think it's 
> misleading if it doesn't inherit QAbstractProxyModel. I don't really like to 
> have "Column" there.
> 
> Aurélien Gâteau wrote:
>     > it provides an API that suggests that mapFrom/ToSource will work
>     
>     Isn't it the case? I would indeed expect mapFrom/ToSource to work. If 
> they don't work then I agree the class should not inherit from 
> QAbstractProxyModel, and should have "Proxy" in its name.
>     
>     > Regarding the name, I like the addition of proxy, although I think it's 
> misleading if it doesn't inherit QAbstractProxyModel. I don't really like to 
> have "Column" there.
>     
>     This model gives you access to one column of a multi-column model, which 
> can be a tree model or a list model, that is why I think "Column" should be 
> in the name, but maybe it will be more often used to access the first column 
> of a subtree within a tree model. If it cannot inherit from 
> QAbstractProxyModel I suggest ListSubModel or SubListModel.

Regarding Proxies:
well, in the proxy you have less items than in the source. That is all the 
other columns and tree branches don't have a representation so you keep 
returning invalid QModelIndex'es for those.

Regarding the name:
I think I'll change to ColumnProxyModel, I'm lacking any inspiration whatsoever 
in this regard and I don't want to stop this patch because of this :).


- Aleix


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/106272/#review18278
-----------------------------------------------------------


On Aug. 31, 2012, 3:45 p.m., Aleix Pol Gonzalez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/106272/
> -----------------------------------------------------------
> 
> (Updated Aug. 31, 2012, 3:45 p.m.)
> 
> 
> Review request for Plasma, Aurélien Gâteau and Marco Martin.
> 
> 
> Description
> -------
> 
> This patch adds a component called ListifyModel (yeah, I hate the name too). 
> The idea behind is to expose as a QAbstractListModel any part of a 
> QAbstractItemModel.
> 
> This solves the problem we have in QML given the limitation that ListView 
> only displays the first column of the root items. Here we can specify what 
> column we want and what root index we want to have.
> 
> 
> Diffs
> -----
> 
>   plasma/declarativeimports/qtextracomponents/CMakeLists.txt 05a1195 
>   plasma/declarativeimports/qtextracomponents/fullmodelaccess.h PRE-CREATION 
>   plasma/declarativeimports/qtextracomponents/fullmodelaccess.cpp 
> PRE-CREATION 
>   plasma/declarativeimports/qtextracomponents/qtextracomponentsplugin.cpp 
> 429282e 
>   plasma/declarativeimports/qtextracomponents/tests/CMakeLists.txt 
> PRE-CREATION 
>   plasma/declarativeimports/qtextracomponents/tests/fullmodelaccesstest.h 
> PRE-CREATION 
>   plasma/declarativeimports/qtextracomponents/tests/fullmodelaccesstest.cpp 
> PRE-CREATION 
> 
> Diff: http://git.reviewboard.kde.org/r/106272/diff/
> 
> 
> Testing
> -------
> 
> There's a passing unit test, albeit limited.
> I also tested it with a QML example I had with KPeople. If anybody is 
> interested I can provide it too.
> 
> 
> Thanks,
> 
> Aleix Pol Gonzalez
> 
>

_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel

Reply via email to