@@ -434,7 +434,8 @@ Rectangle {
435 if (mouse.button & Qt.RightButton) { // context menu
435 if (mouse.button & Qt.RightButton) { // context menu
436 // Opening QuickList
436 // Opening QuickList
437− quickList.open(index);
437+ //quickList.open(index);
438+ tooltip.open(index);
@@ -634,7 +635,7 @@ Rectangle {
635 UbuntuShape {
636 UbuntuShape {
636 id: quickListShape
637 id: quickListShape
637− objectName: "quickListShape"
638+ //objectName: "quickListShape"
638 anchors.fill: quickList
639 anchors.fill: quickList
639 opacity: quickList.state === "open" ? 0.95 : 0
640 opacity: quickList.state === "open" ? 0.95 : 0
640 visible: opacity > 0
641 visible: opacity > 0
@@ -828,4 +829,106 @@ Rectangle {
835+ anchors.fill: tooltip
836+ opacity: tooltip.state === "open" ? 0.95 : 0
837+ visible: opacity > 0
838+ rotation: root.rotation
839+ aspect: UbuntuShape.Flat
841+ Behavior on opacity {
842+ UbuntuNumberAnimation {}
845+ source: ShaderEffectSource {
853+ rightMargin: -units.dp(4)
854+ verticalCenter: parent.verticalCenter
855+ verticalCenterOffset: -tooltip.offset * (root.inverted ? -1 : 1)
859+ source: "graphics/quicklist_tooltip.png"
867+ color: theme.palette.normal.background
868+ visible: tooltipShape.visible
870+ width: tooltipLabel.width
873+ y: itemCenter - (height / 2) + offset
874+ rotation: root.rotation
877+ left: root.inverted ? undefined : parent.right
878+ right: root.inverted ? parent.left : undefined
879+ margins: units.gu(1)
882+ property string text
885+ property int itemCenter: item ? root.mapFromItem(tooltip.item, 0, 0).y + (item.height / 2) + tooltip.item.offset : units.gu(1)
886+ property int offset: itemCenter + (height/2) + units.gu(1) > parent.height ? -itemCenter - (height/2) - units.gu(1) + parent.height :
887+ itemCenter - (height/2) < units.gu(1) ? (height/2) - itemCenter + units.gu(1) : 0
889+ // Because we're setting left/right anchors depending on orientation, it will break the
890+ // width setting after rotating twice. This makes sure we also re-apply width on rotation
891+ // width: root.inverted ? units.gu(30) : units.gu(30)
892+ height: tooltipLabel.height
893+ visible: tooltipShape.visible
895+ left: root.inverted ? undefined : parent.right
896+ right: root.inverted ? parent.left : undefined
897+ margins: units.gu(1)
899+ y: itemCenter - (height / 2) + offset
900+ rotation: root.rotation
902+ property string name
906+ property int itemCenter: item ? root.mapFromItem(tooltip.item, 0, 0).y + (item.height / 2) + tooltip.item.offset : units.gu(1)
907+ property int offset: itemCenter + (height/2) + units.gu(1) > parent.height ? -itemCenter - (height/2) - units.gu(1) + parent.height :
908+ itemCenter - (height/2) < units.gu(1) ? (height/2) - itemCenter + units.gu(1) : 0*/
910+ function open(index) {
912+ var itemPosition = index * launcherListView.itemHeight;
913+ var height = launcherListView.height - launcherListView.topMargin - launcherListView.bottomMargin
914+ item = launcherListView.itemAt(launcherListView.width / 2, itemPosition + launcherListView.itemHeight / 2);
915+ tooltip.text = launcherListView.model.get(index).name;
916+ tooltip.state = "open";
921+ //width: parent.width
922+ //anchors.fill: parent
923+ anchors.leftMargin: units.gu(2)
924+ anchors.rightMargin: units.gu(2)
925+ anchors.topMargin: units.gu(2)
926+ anchors.bottomMargin: units.gu(2)
927+ verticalAlignment: Label.AlignVCenter
930+ font.weight: Font.Medium
931+ color: theme.palette.normal.backgroundText