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

List:       kde-panel-devel
Subject:    D13793: [Icons KCM] Load preview pixmaps for animation on-demand and cache them
From:       David Edmundson <noreply () phabricator ! kde ! org>
Date:       2018-06-29 10:32:25
Message-ID: 78ab02554abbaaaa6d87645b93bcb74a () localhost ! localdomain
[Download RAW message or body]

[Attachment #2 (text/plain)]

davidedmundson added inline comments.

INLINE COMMENTS

> main.cpp:484
> {
> +    const QString cacheKey = themeName + QLatin1Char('@') + QString::number(size) \
> + QLatin1Char('@') + QString::number(dpr,'f',1) + QLatin1Char('@') + \
> QString::number(limit); +

so if you request previewIcons with a limit of 6 then request again with a limit of \
12 you're duplicating the first 6 in another cache.

If you're going to have this limit, would having a cache per icon then building the \
list on every invocation would be cleander?

(would also allow use of QPixmapCache which has a nice auto-expunge)

REPOSITORY
  R119 Plasma Desktop

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

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


[Attachment #3 (text/html)]

<table><tr><td style="">davidedmundson added inline comments.
</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/D13793">View Revision</a></tr></table><br \
/><div><strong>INLINE COMMENTS</strong><div><div style="margin: 6px 0 12px 0;"><div \
style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; \
background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 \
1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; \
overflow: hidden;"><a style="float: right; text-decoration: none;" \
href="https://phabricator.kde.org/D13793#inline-72574">View Inline</a><span \
style="color: #4b4d51; font-weight: bold;">main.cpp:484</span></div> <div \
style="font: 11px/15px &quot;Menlo&quot;, &quot;Consolas&quot;, &quot;Monaco&quot;, \
monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div \
style="padding: 0 8px; margin: 0 4px; "><span class="p">{</span> </div><div \
style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span \
style="color: #aa4000">const</span> <span class="n">QString</span> <span \
class="n">cacheKey</span> <span style="color: #aa2211">=</span> <span \
class="n">themeName</span> <span style="color: #aa2211">+</span> <span \
class="n">QLatin1Char</span><span class="p">(</span><span style="color: \
#766510">&#39;@&#39;</span><span class="p">)</span> <span style="color: \
#aa2211">+</span> <span class="n">QString</span><span style="color: \
#aa2211">::</span><span class="n">number</span><span class="p">(</span><span \
class="n">size</span><span class="p">)</span> <span style="color: #aa2211">+</span> \
<span class="n">QLatin1Char</span><span class="p">(</span><span style="color: \
#766510">&#39;@&#39;</span><span class="p">)</span> <span style="color: \
#aa2211">+</span> <span class="n">QString</span><span style="color: \
#aa2211">::</span><span class="n">number</span><span class="p">(</span><span \
class="n">dpr</span><span class="p">,</span><span style="color: \
#766510">&#39;f&#39;</span><span class="p">,</span><span style="color: \
#601200">1</span><span class="p">)</span> <span style="color: #aa2211">+</span> <span \
class="n">QLatin1Char</span><span class="p">(</span><span style="color: \
#766510">&#39;@&#39;</span><span class="p">)</span> <span style="color: \
#aa2211">+</span> <span class="n">QString</span><span style="color: \
#aa2211">::</span><span class="n">number</span><span class="p">(</span><span \
class="n">limit</span><span class="p">);</span> </div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">so \
if you request previewIcons with a limit of 6 then request again with a limit of 12 \
you&#039;re duplicating the first 6 in another cache.</p>

<p style="padding: 0; margin: 8px;">If you&#039;re going to have this limit, would \
having a cache per icon then building the list on every invocation would be \
cleander?</p>

<p style="padding: 0; margin: 8px;">(would also allow use of QPixmapCache which has a \
nice auto-expunge)</p></div></div></div></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/D13793">https://phabricator.kde.org/D13793</a></div></div><br \
/><div><strong>To: </strong>broulik, Plasma, mart<br /><strong>Cc: \
</strong>davidedmundson, mart, plasma-devel, ragreen, Pitel, ZrenBot, lesliezhai, \
ali-mohamed, jensreuterberg, abetts, sebas, apol<br /></div>



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

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