> On April 28, 2014, 11:06 a.m., Mark Gaiser wrote: > > applets/systemtray/plugin/tasklistmodel.cpp, line 103 > > <https://git.reviewboard.kde.org/r/117813/diff/1/?file=268854#file268854line103> > > > > Remove, the model will notify QML. No need to do this yourself.
I have it as a property, so I need to tell Qt the property has changed. I could do connect(this, SIGNAL("rowsInserted(...), this, SIGNAL(rowCountChanged()); I could do connect(this, SIGNAL("rowsRemoved(...), this, SIGNAL(rowCountChanged()); + rowsMoved + layoutChanged + modelReset.. so I deemed this easier. > On April 28, 2014, 11:06 a.m., Mark Gaiser wrote: > > applets/systemtray/plugin/tasklistmodel.cpp, line 99 > > <https://git.reviewboard.kde.org/r/117813/diff/1/?file=268854#file268854line99> > > > > Are you sure this is ok? > > For example, if you add one row (and have none) this should translate > > to: > > beginInsertRows(QModelIndex(), 0, 1); > > > > I think you need something like: > > int startCount = (rowCount() - 1 >= 0) ? rowCount() : 0; > > beginInsertRows(QModelIndex(), startCount, startCount + 1); beginInsertRows(QModelIndex(), 0, 1) is saying you are inserting 2 rows, starting at 0 ending at 1. It's an annoying QAbstractItemModel API. - David ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/117813/#review56724 ----------------------------------------------------------- On April 27, 2014, 10:51 p.m., David Edmundson wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://git.reviewboard.kde.org/r/117813/ > ----------------------------------------------------------- > > (Updated April 27, 2014, 10:51 p.m.) > > > Review request for Plasma. > > > Repository: plasma-workspace > > > Description > ------- > > Port QQmlListProperty to QAbstractListModel. > QQmlListProperty only has a signal that the list has changed.This means when > used in a ListView every delegate has to be redone whenever a single item is > inserted or removed rather than just moved. > > Given TaskDelegate is not the simplest of things this has a performance gain, > most noticeably on startup. Also rather than sorting all items after an > insert items are inserted in the right place using qLowerBound. Now we have > the correct signals we can remove the compression, they won't add anything. > > > Other commits: > > Avoid constructing a QString for comparing, use QLatin1String for == > operators. > > Remove useless include > > Do not construct a map inside a lessThan function > > lessThan functions have to be fast. > Also Map -> Hash as we're not using order here. > > > Diffs > ----- > > applets/systemtray/package/contents/ui/ExpandedRepresentation.qml 2ef180b > applets/systemtray/package/contents/ui/PlasmoidItem.qml 0eb1687 > applets/systemtray/package/contents/ui/StatusNotifierItem.qml fc889a8 > applets/systemtray/package/contents/ui/TaskDelegate.qml 913d8f1 > applets/systemtray/package/contents/ui/TaskListDelegate.qml 5501e02 > applets/systemtray/plugin/CMakeLists.txt f6e23b4 > applets/systemtray/plugin/host.h 02c5bbe > applets/systemtray/plugin/host.cpp eafd0b6 > applets/systemtray/plugin/protocols/plasmoid/plasmoidtask.cpp 2b846f2 > applets/systemtray/plugin/tasklistmodel.h PRE-CREATION > applets/systemtray/plugin/tasklistmodel.cpp PRE-CREATION > > Diff: https://git.reviewboard.kde.org/r/117813/diff/ > > > Testing > ------- > > Seems to work :) > > see branch davidedmundson/faster_systray to test > > > Thanks, > > David Edmundson > >
_______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel