[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-panel-devel
Subject:    D14426: [Folder View] Create KFilePlacesModel only when needed and listen for changes
From:       Kai Uwe Broulik <noreply () phabricator ! kde ! org>
Date:       2018-07-27 12:32:47
Message-ID: 8d7eb6a5c59b80263ea216f17be124b3 () localhost ! localdomain
[Download RAW message or body]

[Attachment #2 (text/plain)]

broulik created this revision.
broulik added reviewers: Plasma, hein.
Restricted Application added a project: Plasma.
Restricted Application added a subscriber: plasma-devel.
broulik requested review of this revision.

REVISION SUMMARY
  When no label is displayed, there's no point in creating a `KFilePlacesModel`
  Also, only emit a change for `displayLabel` when it actually changed.
  Moreover, listen to changes in the `KFilePlacesModel` and update the label if \
needed

TEST PLAN
  - My test partition still has its proper "Device" name (devices are populated \
deferred, so if we didn't listen for changes, creating a model and asking for \
                `closestItem` right away would return Root (`/media/foo` is closed to \
                `/`)
  - Reduces the number of `displayLabelChanged` emissions to half on startup
  - Added a Pictures folder view, renamed my Pictures place in Dolphin, label updated \
                immediately
  - Verified in GammaRay there's no `KFilePlacesModel` instance in plasmashell unless \
having a Folder View widget on desktop or panel (but not in the default containment \
case)

REPOSITORY
  R119 Plasma Desktop

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

AFFECTED FILES
  containments/desktop/plugins/folder/labelgenerator.cpp
  containments/desktop/plugins/folder/labelgenerator.h

To: broulik, #plasma, hein
Cc: plasma-devel, ragreen, Pitel, ZrenBot, lesliezhai, ali-mohamed, jensreuterberg, \
abetts, sebas, apol, mart


[Attachment #3 (text/html)]

<table><tr><td style="">broulik created this revision.<br />broulik added reviewers: \
Plasma, hein.<br />Restricted Application added a project: Plasma.<br />Restricted \
Application added a subscriber: plasma-devel.<br />broulik requested review of this \
revision. </td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; \
float: right; color: #464C5C; font-weight: bold; border-radius: 3px; \
background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); \
display: inline-block; border: 1px solid rgba(71,87,120,.2);" \
href="https://phabricator.kde.org/D14426">View Revision</a></tr></table><br \
/><div><strong>REVISION SUMMARY</strong><div><p>When no label is displayed, \
there&#039;s no point in creating a <tt style="background: #ebebeb; font-size: \
13px;">KFilePlacesModel</tt><br /> Also, only emit a change for <tt \
style="background: #ebebeb; font-size: 13px;">displayLabel</tt> when it actually \
changed.<br /> Moreover, listen to changes in the <tt style="background: #ebebeb; \
font-size: 13px;">KFilePlacesModel</tt> and update the label if \
needed</p></div></div><br /><div><strong>TEST PLAN</strong><div><ul \
class="remarkup-list"> <li class="remarkup-list-item">My test partition still has its \
proper &quot;Device&quot; name (devices are populated deferred, so if we didn&#039;t \
listen for changes, creating a model and asking for <tt style="background: #ebebeb; \
font-size: 13px;">closestItem</tt> right away would return Root (<tt \
style="background: #ebebeb; font-size: 13px;">/media/foo</tt> is closed to <tt \
style="background: #ebebeb; font-size: 13px;">/</tt>)</li> <li \
class="remarkup-list-item">Reduces the number of <tt style="background: #ebebeb; \
font-size: 13px;">displayLabelChanged</tt> emissions to half on startup</li> <li \
class="remarkup-list-item">Added a Pictures folder view, renamed my Pictures place in \
Dolphin, label updated immediately</li> <li class="remarkup-list-item">Verified in \
GammaRay there&#039;s no <tt style="background: #ebebeb; font-size: \
13px;">KFilePlacesModel</tt> instance in plasmashell unless having a Folder View \
widget on desktop or panel (but not in the default containment case)</li> \
</ul></div></div><br /><div><strong>REPOSITORY</strong><div><div>R119 Plasma \
Desktop</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a \
href="https://phabricator.kde.org/D14426">https://phabricator.kde.org/D14426</a></div></div><br \
/><div><strong>AFFECTED \
FILES</strong><div><div>containments/desktop/plugins/folder/labelgenerator.cpp<br /> \
containments/desktop/plugins/folder/labelgenerator.h</div></div></div><br \
/><div><strong>To: </strong>broulik, Plasma, hein<br /><strong>Cc: \
</strong>plasma-devel, ragreen, Pitel, ZrenBot, lesliezhai, ali-mohamed, \
jensreuterberg, abetts, sebas, apol, mart<br /></div>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic