mirror of
https://invent.kde.org/marcoa/shift-shell.git
synced 2026-07-31 16:54:46 +00:00
take contacts from kpeople
This commit is contained in:
parent
6972b67c18
commit
af40bd64b1
2 changed files with 102 additions and 1 deletions
|
|
@ -44,6 +44,9 @@ install(DIRECTORY compositor/
|
||||||
PATTERN Messages.sh EXCLUDE
|
PATTERN Messages.sh EXCLUDE
|
||||||
PATTERN dummydata EXCLUDE)
|
PATTERN dummydata EXCLUDE)
|
||||||
|
|
||||||
|
kpackage_install_package(phonebook org.kde.phone.phonebook genericqml)
|
||||||
|
install(FILES phonebook/metadata.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} RENAME org.kde.phone.dialer.desktop)
|
||||||
|
|
||||||
add_subdirectory(bin)
|
add_subdirectory(bin)
|
||||||
add_subdirectory(qmlcomponents)
|
add_subdirectory(qmlcomponents)
|
||||||
add_subdirectory(services)
|
add_subdirectory(services)
|
||||||
|
|
|
||||||
|
|
@ -19,12 +19,110 @@
|
||||||
|
|
||||||
import QtQuick 2.0
|
import QtQuick 2.0
|
||||||
import QtQuick.Layouts 1.1
|
import QtQuick.Layouts 1.1
|
||||||
|
import org.kde.people 1.0 as KPeople
|
||||||
|
import org.kde.kquickcontrolsaddons 2.0 as KQuickControlsAddons
|
||||||
import org.kde.plasma.core 2.0 as PlasmaCore
|
import org.kde.plasma.core 2.0 as PlasmaCore
|
||||||
import org.kde.plasma.components 2.0 as PlasmaComponents
|
import org.kde.plasma.components 2.0 as PlasmaComponents
|
||||||
|
import org.kde.plasma.extras 2.0 as PlasmaExtras
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
PlasmaComponents.Label {
|
PlasmaComponents.Label {
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
text: i18n("No contacts")
|
text: i18n("No contacts")
|
||||||
|
visible: contactsModel.count == 0
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
ColumnLayout {
|
||||||
|
anchors.fill: parent
|
||||||
|
//visible: contactsModel.count > 0
|
||||||
|
|
||||||
|
PlasmaComponents.ToolBar {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
tools: RowLayout {
|
||||||
|
id: toolBarLayout
|
||||||
|
PlasmaComponents.TextField {
|
||||||
|
id: searchField
|
||||||
|
clearButtonShown: true
|
||||||
|
Layout.fillWidth: true
|
||||||
|
Layout.fillHeight: true
|
||||||
|
placeholderText: i18n("Search...")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
PlasmaExtras.ScrollArea {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
Layout.fillHeight: true
|
||||||
|
ListView {
|
||||||
|
id: view
|
||||||
|
model: PlasmaCore.SortFilterModel {
|
||||||
|
id: filterModel
|
||||||
|
sourceModel: KPeople.PersonsModel {
|
||||||
|
id: contactsModel
|
||||||
|
}
|
||||||
|
sortRole: "display"
|
||||||
|
filterRole: "display"
|
||||||
|
filterRegExp: ".*"+searchField.text+".*"
|
||||||
|
sortOrder: Qt.AscendingOrder
|
||||||
|
}
|
||||||
|
section {
|
||||||
|
property: "display"
|
||||||
|
criteria: ViewSection.FirstCharacter
|
||||||
|
delegate: PlasmaComponents.ListItem {
|
||||||
|
id: sectionItem
|
||||||
|
sectionDelegate: true
|
||||||
|
PlasmaComponents.Label {
|
||||||
|
text: section
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
delegate: PlasmaComponents.ListItem {
|
||||||
|
RowLayout {
|
||||||
|
id: delegateLayout
|
||||||
|
|
||||||
|
KQuickControlsAddons.QPixmapItem {
|
||||||
|
id: avatarLabel
|
||||||
|
|
||||||
|
Layout.minimumWidth: units.iconSizes.medium
|
||||||
|
Layout.maximumWidth: Layout.minimumWidth
|
||||||
|
Layout.minimumHeight: Layout.minimumWidth
|
||||||
|
Layout.maximumHeight: Layout.minimumWidth
|
||||||
|
|
||||||
|
pixmap: model.decoration
|
||||||
|
fillMode: ExtraComponents.QPixmapItem.PreserveAspectFit
|
||||||
|
smooth: true
|
||||||
|
}
|
||||||
|
|
||||||
|
ColumnLayout {
|
||||||
|
Layout.fillHeight: true
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
PlasmaComponents.Label {
|
||||||
|
id: nickLabel
|
||||||
|
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
text: model.display
|
||||||
|
elide: Text.ElideRight
|
||||||
|
}
|
||||||
|
|
||||||
|
PlasmaComponents.Label {
|
||||||
|
id: dataLabel
|
||||||
|
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
text: "605-909-123"
|
||||||
|
elide: Text.ElideRight
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
MouseArea {
|
||||||
|
anchors.fill: parent
|
||||||
|
onClicked: call(12345)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue