org::kde::plasma::extras::PlaceholderMessage

Search for usage in LXR

org::kde::plasma::extras::PlaceholderMessage Class Reference

Inherits ColumnLayout.

Public Types

enum  Type { Actionable, Informational }
 

Properties

QQC2 Action
 
string explanation
 
string iconName
 
string text
 
int type
 

Detailed Description

A placeholder message indicating that a list view is empty.

Since
2.0 The message comprises a label with lightened text, an optional icon above the text, and an optional button below the text which can be used to easily show the user what to do next to add content to the view.

The top-level component is a ColumnLayout, so additional components items can simply be added as child items and they will be positioned sanely.

Example usage:

Shows how to use PlaceholderMessage to implement a "this view is empty" message
import QtQuick 2.12
import org.kde.plasma.extras 2.0 as PlasmaExtras
import org.kde.plasma.core 2.0 as PlasmaCore
ListView {
id: listView
model: [...]
delegate: [...]
PlasmaExtras.PlaceholderMessage {
anchors.centerIn: parent
width: parent.width - (PlasmaCore.Units.largeSpacing * 4)
visible: listView.count == 0
text: "There are no items in this list"
}
}
Shows how to use PlaceholderMessage to implement a "here's how to proceed" message
import QtQuick 2.12
import QtQuick.Controls 2.12 as QQC2
import org.kde.plasma.extras 2.0 as PlasmaExtras
import org.kde.plasma.core 2.0 as PlasmaCore
ListView {
id: listView
model: [...]
delegate: [...]
PlasmaExtras.PlaceholderMessage {
anchors.centerIn: parent
width: parent.width - (PlasmaCore.Units.largeSpacing * 4)
visible: listView.count == 0
text: "Add an item to proceed"
helpfulAction: QQC2.Action {
icon.name: "list-add"
text: "Add item..."
onTriggered: {
[...]
}
}
}
[...]
}
Shows how to use PlaceholderMessage to implement a "there was a problem here" message
import org.kde.plasma.components 3.0 as PlasmaComponents3
import org.kde.plasma.extras 2.0 as PlasmaExtras
import org.kde.plasma.core 2.0 as PlasmaCore
PlasmaComponents3.Page {
id: root
readonly property bool networkConnected: [...]
PlasmaExtras.PlaceholderMessage {
anchors.centerIn: parent
width: parent.width - (PlasmaCore.Units.largeSpacing * 4)
visible: root.networkConnected
iconName: "network-disconnect"
text: "Unable to load content
explanation: "Please try again later"
}
}
import org.kde.plasma.components 3.0 as PlasmaComponents3
import org.kde.plasma.extras 2.0 as PlasmaExtras
import org.kde.plasma.core 2.0 as PlasmaCore
Shows how to use PlaceholderMessage to implement a loading indicator
PlasmaComponents3.Page {
id: root
readonly property bool loading: [...]
readonly property int completionStatus: [...]
PlasmaExtras.PlaceholderMessage {
anchors.centerIn: parent
width: parent.width - (PlasmaCore.Units.largeSpacing * 4)
visible: root.loading
iconName: "my-awesome-app-icon"
text: "Loading this awesome app"
PlasmaComponents3.ProgressBar {
Layout.preferredWidth: PlasmaCore.Units.gridUnit * 20
value: root.completionStatus
from: 0
to: 100
}
}
}
import QtQuick.Controls 2.12 as QQC2
import org.kde.plasma.components 3.0 as PlasmaComponents3
import org.kde.plasma.extras 2.0 as PlasmaExtras
import org.kde.plasma.core 2.0 as PlasmaCore
Shows how to use PlaceholderMessage to implement a "Here's what you do next" button
PlasmaComponents3.Page {
id: root
PlasmaExtras.PlaceholderMessage {
anchors.centerIn: parent
width: parent.width - (PlasmaCore.Units.largeSpacing * 4)
visible: root.loading
helpfulAction: QQC2.Action {
icon.name: "list-add"
text: "Add item..."
onTriggered: {
[...]
}
}
}
}
Since
5.72

Definition at line 156 of file PlaceholderMessage.qml.

Property Documentation

◆ Action

QQC2 org::kde::plasma::extras::PlaceholderMessage::Action
read

helpfulAction: QtQuickControls2 Action An action that helps the user proceed.

Typically used to guide the user to the next step for adding content or items to an empty view.

Optional

Since
5.72

Definition at line 216 of file PlaceholderMessage.qml.

◆ explanation

string org::kde::plasma::extras::PlaceholderMessage::explanation
read

explanation: string Smaller explanatory text to show below the larger title-style text

Useful for providing a user-friendly explanation for how to proceed.

Optional; if not defined, the message will have no supplementary explanatory text.

Since
5.80

Definition at line 194 of file PlaceholderMessage.qml.

◆ iconName

string org::kde::plasma::extras::PlaceholderMessage::iconName
read

iconName: string The icon to show above the text label.

Optional Falls back to undefined if the specified icon is not valid or cannot be loaded.

Since
5.72
See also
Icon::source

Definition at line 206 of file PlaceholderMessage.qml.

◆ text

string org::kde::plasma::extras::PlaceholderMessage::text
read

text: string The text to show as a placeholder label

Optional; if not defined, the message will have no large text label text. If both text: and explanation: are omitted, the message will have no text and only an icon, action button, and/or other custom content.

Since
5.72

Definition at line 182 of file PlaceholderMessage.qml.

◆ type

int org::kde::plasma::extras::PlaceholderMessage::type
read

The type of the message.

This can be:

  • PlasmaExtras.PlaceholderMessage.Type.Actionable: Makes it more attention-getting. Useful when the user is expected to interact with the message.
  • PlasmaExtras.PlaceholderMessage.Type.Informational: Makes it less prominent. Useful when the message in only informational.

By default if an helpfulAction is provided this will be of type Actionable otherwise of type Informational.

Since
5.94

Definition at line 171 of file PlaceholderMessage.qml.


The documentation for this class was generated from the following file:
string text
text: string The text to show as a placeholder label
string iconName
iconName: string The icon to show above the text label.
QString message
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Tue Jun 6 2023 04:06:08 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.