<table><tr><td style="">sitter created this revision.<br />Herald added a project: Plasma.<br />Herald added a subscriber: plasma-devel.<br />sitter 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/D27061">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>... and doesn't require lots of maintenance!<br />
this targets 5.18 but is kind of unfortunate because it needs a bunch of<br />
new strings as no existing strings provide what is needed here.</p>

<p>the previous module was super broken in various ways.<br />
in the interest of maintainability I've thrown everything out and replaced<br />
it with 2 core features which require only modeling code on the KInfoCenter<br />
end and provide actually (possibly) useful functionality to the design<br />
personas of plasma.</p>

<p>there is now a single page which contains two table views:</p>

<p>a) Exports: this is a simple table of shares "exported" from the host. the</p>

<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">data for this comes from KSambaShare in KIOCore. this is the same API
used by dolphin to create new shares, so the data will be consistent
and the API needs maintaining anyway</pre></div>

<p>b) Imports: simple table of shares "imported" (i.e. mounted) onto the host.</p>

<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">the data for this comes from solid</pre></div>

<p>both are backed by models, with an eye towards a future port to qml (out of<br />
scope since I want this fixed for 5.18)</p>

<p>all previous functionality was removed, in part because it was doing CLI<br />
parsing, some of the parsing was broken, some of the CLI tools couldn't<br />
even run as !root, log parsing could use incorrect paths on existing users,<br />
log parsing has nothing to parse with samba defaults, log parsing didn't<br />
implement per-host log file support (current default in samba), log parsing<br />
didn't correctly implement per-user-config-log-file support.<br />
in short: there was not a single feature that worked properly.</p>

<p>BUG: 411433<br />
BUG: 374141<br />
BUG: 325951</p></div></div><br /><div><strong>TEST PLAN</strong><div><h2 class="remarkup-header">exports</h2>

<ul class="remarkup-list">
<li class="remarkup-list-item">nothing when nothing is exported</li>
<li class="remarkup-list-item">changing exports via dolphin is immediately reflected in the kcm</li>
<li class="remarkup-list-item">export data is valid</li>
</ul>

<h2 class="remarkup-header">imports</h2>

<ul class="remarkup-list">
<li class="remarkup-list-item">nothing when nothing is mounted</li>
<li class="remarkup-list-item">(un)mounting a cifs updates the view immediately</li>
<li class="remarkup-list-item">data is valid</li>
</ul></div></div><br /><div><strong>REPOSITORY</strong><div><div>R102 KInfoCenter</div></div></div><br /><div><strong>BRANCH</strong><div><div>smb</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D27061">https://phabricator.kde.org/D27061</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>LICENSES/GPL-2.0-only.txt<br />
LICENSES/GPL-2.0-or-later.txt<br />
LICENSES/GPL-3.0-only.txt<br />
LICENSES/LicenseRef-KDE-Accepted-GPL.txt<br />
LICENSES/MIT.txt<br />
Modules/samba/CMakeLists.txt<br />
Modules/samba/autotests/CMakeLists.txt<br />
Modules/samba/autotests/ksambasharemodeltest.cpp<br />
Modules/samba/autotests/smbmountmodeltest.cpp<br />
Modules/samba/kcmsambaimports.cpp<br />
Modules/samba/kcmsambaimports.h<br />
Modules/samba/kcmsambalog.cpp<br />
Modules/samba/kcmsambalog.h<br />
Modules/samba/kcmsambastatistics.cpp<br />
Modules/samba/kcmsambastatistics.h<br />
Modules/samba/ksambasharemodel.cpp<br />
Modules/samba/ksambasharemodel.h<br />
Modules/samba/ksmbstatus.cpp<br />
Modules/samba/ksmbstatus.h<br />
Modules/samba/main.cpp<br />
Modules/samba/smbmountmodel.cpp<br />
Modules/samba/smbmountmodel.h</div></div></div><br /><div><strong>To: </strong>sitter<br /><strong>Cc: </strong>plasma-devel, Orage, LeGast00n, The-Feren-OS-Dev, jraleigh, zachus, fbampaloukas, GB_2, ragreen, ZrenBot, ngraham, alexeymin, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra, mart<br /></div>