7import QtQuick.Controls as QQC2
8import org.kde.kirigami as Kirigami
9import org.kde.kosmindoormap
12Kirigami.SearchDialog {
16 property RoomModel roomModel
19 signal roomSelected(room: var)
21 width: Math.min(applicationWindow().width, Kirigami.Units.gridUnit * 24)
22 height: Math.min(applicationWindow().height, Kirigami.Units.gridUnit * 32)
24 searchFieldPlaceholderText: i18nd("kosmindoormap",
"Search room…")
25 model: RoomSortFilterProxyModel {
27 sourceModel: root.visible ? root.roomModel : null
33 required property QtObject model
34 width: ListView.view.width
37 if (model.name ===
"")
39 if (model.number ===
"")
41 return i18nd(
"kosmindoormap",
"%1 (%2)", model.name, model.number);
44 if (root.roomModel.buildingCount === 1)
45 return model.typeName;
46 if (model.typeName ===
"")
47 return model.levelLongName;
48 return i18nd(
"kosmindoormap",
"%1 (%2)", model.typeName, model.levelLongName);
52 root.roomSelected({ element: item.model.element,
level: item.model.level });
56 Keys.onPressed: (
event) => {
58 event.accepted =
true;
59 root.roomSelected({ element: item.model.element,
level: item.model.level });
65 section.property: root.roomModel.buildingCount !== 1 ?
"buildingName" :
"levelLongName"
66 section.delegate:
Kirigami.ListSectionHeader {
68 width: ListView.view.width
71 onTextChanged: roomSortModel.filterString = root.text
QString i18nd(const char *domain, const char *text, const TYPE &arg...)
AKONADI_CALENDAR_EXPORT KCalendarCore::Event::Ptr event(const Akonadi::Item &item)
QStringView level(QStringView ifopt)