<table><tr><td style="">hein created this revision.<br />hein added reviewers: Kirigami, mart.<br />Restricted Application added a project: Kirigami.<br />Restricted Application added a subscriber: plasma-devel.<br />hein 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/D11663">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>InlineMessage can be used to show various messages to the user,<br />
without requiring the use of a dialog.</p>

<p>InlineMessage is analogous to KWidgetAddons' KMessageWidget and<br />
provides nearly the same API:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">Message type: Information (default), Positive, Warning or Error</li>
<li class="remarkup-list-item">Message text</li>
<li class="remarkup-list-item">Icon (optional)</li>
<li class="remarkup-list-item">Closable (optional, shows close button)</li>
<li class="remarkup-list-item">Actions list (shown as buttons)</li>
<li class="remarkup-list-item">Signals for link hover and link activation</li>
<li class="remarkup-list-item">Animation state</li>
</ul>

<p>It does not implement the 'wordWrap' property of KMessageWidget.<br />
Instead, wrapping the message text is always wrapped.</p>

<p>Further, unlike in KMessageWidget, actions buttons are added from<br />
left to right, not from right to left.</p>

<p>Additionally, it improves over KMessageWidget in two ways:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">If no icon is manually set, it shows an appropriate icon for the message type by default.</li>
<li class="remarkup-list-item">Overflow handling for many messages (à la the Card component).</li>
</ul>

<p>All properties are declared abstractly in the template and all<br />
visuals are implemented in the control, so that the style can<br />
optionally override the appearance fully.</p>

<p>This patch also adds an example page to the Gallery app which<br />
illustrates the various message types and features in an<br />
interactive manner.</p>

<p>Random notes:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">I would have preferred to make the template API completely abstract and had 'showCloseButton' as 'closable' originally but then changed it for consistency with the property in OverlaySheet.</li>
</ul></div></div><br /><div><strong>REPOSITORY</strong><div><div>R169 Kirigami</div></div></div><br /><div><strong>BRANCH</strong><div><div>master</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D11663">https://phabricator.kde.org/D11663</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>examples/galleryapp/CMakeLists.txt<br />
examples/galleryapp/resources.qrc<br />
examples/gallerydata/contents/ui/MainPage.qml<br />
examples/gallerydata/contents/ui/gallery/InlineMessagesGallery.qml<br />
kirigami.qrc<br />
src/controls/InlineMessage.qml<br />
src/controls/plugins.qmltypes<br />
src/controls/templates/InlineMessage.qml<br />
src/enums.h<br />
src/kirigamiplugin.cpp<br />
src/qmldir</div></div></div><br /><div><strong>To: </strong>hein, Kirigami, mart<br /><strong>Cc: </strong>plasma-devel, apol, davidedmundson, mart, hein<br /></div>