<table><tr><td style="">bruns added a comment.
</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/D28025">View Revision</a></tr></table><br /><div><div><blockquote style="border-left: 3px solid #8C98B8;
          color: #6B748C;
          font-style: italic;
          margin: 4px 0 12px 0;
          padding: 8px 12px;
          background-color: #F8F9FC;">
<div style="font-style: normal;
          padding-bottom: 4px;">In <a href="https://phabricator.kde.org/D28025#630882" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">D28025#630882</a>, <a href="https://phabricator.kde.org/p/ngraham/" style="
              border-color: #f1f7ff;
              color: #19558d;
              background-color: #f1f7ff;
                border: 1px solid transparent;
                border-radius: 3px;
                font-weight: bold;
                padding: 0 4px;">@ngraham</a> wrote:</div>
<div style="margin: 0;
          padding: 0;
          border: 0;
          color: rgb(107, 116, 140);"><blockquote style="border-left: 3px solid #8C98B8;
          color: #6B748C;
          font-style: italic;
          margin: 4px 0 12px 0;
          padding: 8px 12px;
          background-color: #F8F9FC;">
<div style="font-style: normal;
          padding-bottom: 4px;">In <a href="https://phabricator.kde.org/D28025#630849" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">D28025#630849</a>, <a href="https://phabricator.kde.org/p/bruns/" style="
              border-color: #f1f7ff;
              color: #19558d;
              background-color: #f1f7ff;
                border: 1px solid transparent;
                border-radius: 3px;
                font-weight: bold;
                padding: 0 4px;">@bruns</a> wrote:</div>
<div style="margin: 0;
          padding: 0;
          border: 0;
          color: rgb(107, 116, 140);"><p>Having only inclusion/exclusion is a temporary state. I plan to add more settings for each path, so having an "add" button for each possible state will no longer be feasible.</p>

<p>Also, "removing" a path from the "included"  list is not the same as excluding it - the state depends on the state of its next ancestor. This exact type of mixup has led to the messy state the current KCM is in.</p></div>
</blockquote>

<p>Then maybe we should rethink the UI, because that's what it currently suggests. What are the other states you're planning to add?</p></div>
</blockquote>

<p>Honestly, no, thats not what it suggests. It clearly tells if a folder should be searched (magnifying glass) or not (minus sign). Currently a checkbox would do, but thats a) not scalable b) non-obvious (does checked equal included or excluded)?</p>

<p>I have already mentioned meta-data vs full-text. Also file-name only is often wanted.</p>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><p>The Items are inspired by the Desktop Effects KCM. I have searched through the HIG for considerable time, unfortunately it lacks any specific information what to do, or any usable examples. If you can provide any examples where you think it is done the "right way (TM)", please go for it.</p></blockquote>

<p>Yeah, we need to add more examples and better guidance to the HIG for sure. However you must be looking at an old version of the Desktop Effects KCM because the git master version shows what I'm talking about:  <a href="https://phabricator.kde.org/F8185313" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">F8185313: Screenshot_20200319_161856.png</a></p>

<p>You can also look at the Desktop effects KCM, the Activities KCM, or Discover's Settings page.</p></blockquote>

<p>Lets see:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">Desktop Effects KCM:  It has 3 state checkboxes where this clearly violates HIG. The "Video" button is a toggle button, but to get its meaning you have to hover it for the tooltip. It has a "Get new Desktop Effects" button on the top button, which not only installs new effects, but must also be used to <strong>uninstall</strong> effects.</li>
<li class="remarkup-list-item">Activities: "Create New..." on the bottom <strong>right</strong> (HIG violation).</li>
</ul>

<p>So much for your poster childs ...</p>

<p>Yes, it does use custom buttons. The second one can be trivially replaced by a Kirigami.Action (or I could use "flat" style, and it would look and behave exactly like a Kirigami.Action, so no "custom button appearance" nor "behavior"). The "Enable/Disable indexing" button is custom. It can be trivially changed to a Kirigami.Action by moving the text to the tooltip, but IMHO thats much worse from a usability view.</p>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><p>The search/excluded icons are just the first implemented state column. There will be more columns. Having the full state in textual form for each entry will look awkward, and having it in textual form only will make it much harder to get the current state for a given path.</p>

<p>More fine granular settings have been requested several times. Having a content indexer run on ~/Downloads poses a security risk. Running full-text indexing on ~/Documents/MyCppProjects/ is definitely subject to a users preference, while most users would expect ~/Pictures/, ~/Videos/ and ~/Music/ to be scanned for metadata.</p>

<p>The current model and visual representation are complete nonsense, from a programmers as well as a users view. This definitely gets the model in a usable and extensible state, and shows the real state to the user (instead of showing some invented entries, and leaving out the other real half), and also makes it configurable. The important part here is the model. The view/delegate can be extended even by some person who is not familiar with baloo internals.</p></blockquote>

<p>In general I'm not a fan of patches that change both the backend and UI and say, "well, we can make a better UI later." Let's do it now, or we might forget to do it later, or do the backend bits in a way that make it impossible to do the UI in a user-friendly way. It wounds like what we really need here is a true multi-column table, like the one in the git master version of the System Tray applet.</p></blockquote>

<p>Thats not what I said. It has a sound model with this change. The model is extensible. The model represents the configuration correctly. Based on this model, everybody can polish the UI.</p>

<p>If you can provide a better model, a better UI, please do it. The new model and UI addresses all the complaints I am aware of.</p></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/D28025">https://phabricator.kde.org/D28025</a></div></div><br /><div><strong>To: </strong>bruns, Baloo, VDG, ngraham, mart<br /><strong>Cc: </strong>plasma-devel, Orage, LeGast00n, The-Feren-OS-Dev, cblack, jraleigh, zachus, fbampaloukas, GB_2, ragreen, ZrenBot, ngraham, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra, mart<br /></div>