<table><tr><td style="">kossebau created this revision.<br />Restricted Application added a subscriber: kdevelop-devel.
</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/D6903" rel="noreferrer">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>Patch adds a plugin kdevsourceformatter, as currently needed<br />
to provide some per-project config pages. To ensure it is<br />
always available, "X-KDevelop-LoadMode": "AlwaysOn" is set.<br />
This plugin then provides the per-project config page<br />
for source formatters.</p>

<p>To reuse the code for selecting, editing, creating & deleting<br />
formatters, the respective code is factored out from<br />
the class KDevelop::SourceFormatterSettings<br />
into a new (exported) class KDevelop::SourceFormatterSelectionEdit,<br />
which is then used both from the global and the project config page.</p>

<p>To enable the SourceFormarController instance to take the per-project<br />
settings into account, the API of ISourceFormatterController is<br />
changed to always include the url of the object, so the project<br />
it belongs to can be estimated.</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>Changes to per-project settings are properly saved and restored in<br />
the UI.<br />
Source format controller takes settings of project into account<br />
if configured to do, both for snippets/line and whole files.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R33 KDevPlatform</div></div></div><br /><div><strong>BRANCH</strong><div><div>perprojectformatterconfig</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D6903" rel="noreferrer">https://phabricator.kde.org/D6903</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>interfaces/isourceformattercontroller.h<br />
plugins/CMakeLists.txt<br />
plugins/sourceformatter/CMakeLists.txt<br />
plugins/sourceformatter/Messages.sh<br />
plugins/sourceformatter/config/projectconfig.kcfg<br />
plugins/sourceformatter/config/projectconfig.kcfgc<br />
plugins/sourceformatter/config/projectconfigpage.cpp<br />
plugins/sourceformatter/config/projectconfigpage.h<br />
plugins/sourceformatter/config/projectconfigpage.ui<br />
plugins/sourceformatter/kdevsourceformatter.json<br />
plugins/sourceformatter/sourceformatterplugin.cpp<br />
plugins/sourceformatter/sourceformatterplugin.h<br />
shell/CMakeLists.txt<br />
shell/settings/sourceformattersettings.cpp<br />
shell/settings/sourceformattersettings.h<br />
shell/settings/sourceformattersettings.ui<br />
shell/sourceformattercontroller.cpp<br />
shell/sourceformattercontroller.h<br />
shell/sourceformatterselectionedit.cpp<br />
shell/sourceformatterselectionedit.h<br />
shell/sourceformatterselectionedit.ui</div></div></div><br /><div><strong>To: </strong>kossebau, KDevelop<br /><strong>Cc: </strong>kdevelop-devel<br /></div>