mirror of
https://bitbucket.org/smil3y/kde-playground.git
synced 2025-02-24 02:42:51 +00:00
147 lines
4.7 KiB
QML
147 lines
4.7 KiB
QML
![]() |
/*
|
||
|
Copyright (C) 2010 Klarälvdalens Datakonsult AB,
|
||
|
a KDAB Group company, info@kdab.net,
|
||
|
author Stephen Kelly <stephen@kdab.com>
|
||
|
|
||
|
This library is free software; you can redistribute it and/or modify it
|
||
|
under the terms of the GNU Library General Public License as published by
|
||
|
the Free Software Foundation; either version 2 of the License, or (at your
|
||
|
option) any later version.
|
||
|
|
||
|
This library is distributed in the hope that it will be useful, but WITHOUT
|
||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
||
|
License for more details.
|
||
|
|
||
|
You should have received a copy of the GNU Library General Public License
|
||
|
along with this library; see the file COPYING.LIB. If not, write to the
|
||
|
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||
|
02110-1301, USA.
|
||
|
*/
|
||
|
|
||
|
import Qt 4.7
|
||
|
import org.kde 4.5
|
||
|
import org.kde.akonadi 4.5
|
||
|
|
||
|
Item {
|
||
|
id : _top
|
||
|
property alias breadcrumbComponentFactory : breadcrumbView.breadcrumbComponentFactory
|
||
|
|
||
|
property int indentation : 35
|
||
|
|
||
|
property alias topDelegate : breadcrumbView.topDelegate
|
||
|
property alias breadcrumbDelegate : breadcrumbView.breadcrumbDelegate
|
||
|
property alias selectedItemDelegate : breadcrumbView.selectedItemDelegate
|
||
|
property alias childItemsDelegate : breadcrumbView.childItemsDelegate
|
||
|
property alias multipleSelectionText : breadcrumbView.multipleSelectionText
|
||
|
|
||
|
property alias itemHeight : breadcrumbView.itemHeight
|
||
|
property alias _transitionSelect : breadcrumbView._transitionSelect
|
||
|
|
||
|
property alias hasChildren : breadcrumbView.hasChildren
|
||
|
property alias hasSelection : breadcrumbView.hasSelection
|
||
|
property alias hasBreadcrumbs : breadcrumbView.hasBreadcrumbs
|
||
|
|
||
|
property alias numBreadcrumbs : breadcrumbView.numBreadcrumbs
|
||
|
property alias numSelected : breadcrumbView.numSelected
|
||
|
|
||
|
property alias breadcrumbSelectionModel : breadcrumbView.breadcrumbSelectionModel
|
||
|
property alias selectedItemSelectionModel : breadcrumbView.selectedItemSelectionModel
|
||
|
property alias childSelectionModel : breadcrumbView.childSelectionModel
|
||
|
|
||
|
|
||
|
property alias showCheckboxes : breadcrumbView.showCheckboxes
|
||
|
property alias checkable : breadcrumbView.checkable
|
||
|
property alias showUnread : breadcrumbView.showUnread
|
||
|
|
||
|
property bool clickToBulkAction : true
|
||
|
|
||
|
signal selectedClicked()
|
||
|
signal homeClicked()
|
||
|
|
||
|
Item {
|
||
|
id :dragOverlay
|
||
|
anchors.fill : parent
|
||
|
}
|
||
|
|
||
|
Connections {
|
||
|
target: breadcrumbView
|
||
|
onHomeClicked: homeClicked()
|
||
|
}
|
||
|
|
||
|
BreadcrumbNavigationView {
|
||
|
id : breadcrumbView
|
||
|
anchors.fill : parent
|
||
|
|
||
|
property bool showCheckboxes : false
|
||
|
property bool checkable : false
|
||
|
property bool showUnread : false
|
||
|
|
||
|
topDelegate : Item {
|
||
|
clip: true
|
||
|
|
||
|
MouseArea {
|
||
|
anchors.fill: parent
|
||
|
onClicked: {
|
||
|
breadcrumbView._transitionSelect = -1;
|
||
|
breadcrumbView.state = "before_select_home";
|
||
|
}
|
||
|
}
|
||
|
Text {
|
||
|
id : textElement
|
||
|
x : 90
|
||
|
width: parent.width - 48 - 50
|
||
|
text : KDE.i18nc( "Go to the Home screen of the application", "Home")
|
||
|
color: "black"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
breadcrumbDelegate : CollectionDelegate {
|
||
|
indentation : _top.indentation
|
||
|
fullClickArea : true
|
||
|
dragParent : dragOverlay
|
||
|
height : itemHeight
|
||
|
checkModel : breadcrumbComponentFactory.qmlBreadcrumbCheckModel()
|
||
|
showUnread : breadcrumbView.showUnread
|
||
|
showCheckbox : breadcrumbView.showCheckboxes
|
||
|
checkable : breadcrumbView.checkable
|
||
|
onIndexSelected : {
|
||
|
breadcrumbTopLevel._transitionSelect = row;
|
||
|
breadcrumbTopLevel.state = "before_select_breadcrumb";
|
||
|
}
|
||
|
}
|
||
|
|
||
|
selectedItemDelegate : CollectionDelegate {
|
||
|
indentation : _top.indentation
|
||
|
height : itemHeight
|
||
|
dragParent : dragOverlay
|
||
|
selectedDelegate : true
|
||
|
checkModel : breadcrumbComponentFactory.qmlSelectedItemCheckModel()
|
||
|
showUnread : breadcrumbView.showUnread
|
||
|
showCheckbox : breadcrumbView.showCheckboxes
|
||
|
checkable : breadcrumbView.checkable
|
||
|
|
||
|
MouseArea {
|
||
|
anchors.fill : _top.clickToBulkAction ? parent : undefined
|
||
|
onClicked : selectedClicked();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
childItemsDelegate : CollectionDelegate {
|
||
|
indentation : _top.indentation
|
||
|
height : itemHeight
|
||
|
dragParent : dragOverlay
|
||
|
fullClickArea : true
|
||
|
showChildIndicator : true
|
||
|
checkModel : breadcrumbComponentFactory.qmlChildCheckModel()
|
||
|
showUnread : breadcrumbView.showUnread
|
||
|
showCheckbox : breadcrumbView.showCheckboxes
|
||
|
checkable : breadcrumbView.checkable
|
||
|
onIndexSelected : {
|
||
|
breadcrumbTopLevel._transitionSelect = row;
|
||
|
breadcrumbTopLevel.state = "before_select_child";
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|