D8493: Make Folder View screen aware

Eike Hein noreply at phabricator.kde.org
Wed Nov 22 13:02:06 UTC 2017


hein added a comment.


  Modulo above edge-casey comments it looks good to me.

INLINE COMMENTS

> foldermodel.cpp:1324
> +        const QString name = item.url().toString();
> +        const int screen = m_screenMapper->screenForItem(name);
> +        // don't do anything if the folderview is not associated with a screen

You're not testing m_screenMapper!=nullptr here.

> foldermodel.cpp:1688
> +    if (m_screenMapper) {
> +        connect(m_screenMapper, &ScreenMapper::screensChanged, this, &FolderModel::invalidateFilter);
> +        connect(m_screenMapper, &ScreenMapper::screenMappingChanged, this, &FolderModel::invalidateFilter);

I know it's a very theoretical case, but you're not disconnecting from an old non-null ScreenMapper here.

You're also not calling invalidateFilter even though filterAcceptsRow uses the mapper. It's all a bit non-hygienic in the sense of "allow stuff to be set and reset in any order". Which can be somewhat important, especially as FolderModel doesn't inherit from QQmlParserStatus (hint: would be a great follow-up patch) and sometimes things can fall apart in config-dependent ways during initialization.

I'd appreciate a pass through this code for that concern for good Qt Quick hygiene.

REPOSITORY
  R119 Plasma Desktop

REVISION DETAIL
  https://phabricator.kde.org/D8493

To: amantia, #plasma, ervin, mlaurent, dvratil, hein, aacid, davidedmundson, apol, mwolff
Cc: anthonyfieroni, ngraham, mwolff, davidedmundson, broulik, mart, plasma-devel, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20171122/c0dc71aa/attachment.html>


More information about the Plasma-devel mailing list