Warning, /graphics/kphotoalbum/AndroidRemoteControl/qml/ImageDetails.qml is written in an unsupported language. File is not indexed.
0001 /* SPDX-FileCopyrightText: 2014 Jesper K. Pedersen <blackie@kde.org> 0002 0003 SPDX-License-Identifier: GPL-2.0-or-later 0004 */ 0005 0006 import QtQuick 2.0 0007 0008 Item { 0009 id: root 0010 property int imageId 0011 onImageIdChanged: { 0012 if (visible) 0013 _remoteInterface.requestDetails(imageId) 0014 } 0015 0016 visible: false 0017 opacity: visible ? 1 : 0 0018 Behavior on opacity { NumberAnimation { duration: 200 } } 0019 0020 width: rect.width 0021 height: Math.min(_screenInfo.viewHeight, rect.height) 0022 anchors.centerIn: parent 0023 0024 Flickable { 0025 contentWidth: rect.width 0026 contentHeight: rect.height 0027 anchors.fill: parent 0028 0029 Rectangle { 0030 id: rect 0031 width: visible ? column.width + 40 : 0 0032 height: visible ? column.height + 40 : 0 0033 color: "#AA000000" 0034 0035 MouseArea { 0036 anchors.fill: parent 0037 // Just eat all events, so a click outside a link doesn't go to next page 0038 } 0039 0040 Column { 0041 id: column 0042 0043 x: 20 0044 y: 20 0045 spacing: 15 0046 0047 Text { 0048 text: "<b>Date</b>: " + _imageDetails.date 0049 color: "white" 0050 } 0051 Repeater { 0052 model: _imageDetails.categories 0053 Text { 0054 text: "<b>" + modelData + "</b>: " + items(modelData) + _imageDetails.dummy 0055 color: "white" 0056 linkColor: "white" 0057 onLinkActivated: { hide(); _remoteInterface.activateSearch(link) } 0058 wrapMode: Text.Wrap 0059 width: column.width 0060 } 0061 } 0062 Text { 0063 text: "<b>File name</b>: " + _imageDetails.fileName 0064 color: "white" 0065 } 0066 0067 Text { 0068 visible: _imageDetails.description !== "" 0069 width: Math.min(_screenInfo.viewWidth-200, implicitWidth) 0070 textFormat: Text.RichText 0071 text: "<b>Description</b>: " + _imageDetails.description.replace("\n","<br/>") 0072 color: "white" 0073 wrapMode: Text.Wrap 0074 } 0075 } 0076 0077 Behavior on width { 0078 NumberAnimation {duration: 100 } 0079 } 0080 Behavior on height { 0081 NumberAnimation {duration: 100 } 0082 } 0083 0084 SequentialAnimation { 0085 id: hideAnimation 0086 PropertyAnimation { 0087 target: root 0088 properties: "opacity" 0089 to: 0 0090 duration: 200 0091 } 0092 0093 // I need to remove the visibility otherwise it will still steal all the event. 0094 PropertyAction { 0095 target: root 0096 property: "visible" 0097 value: false 0098 } 0099 } 0100 } 0101 } 0102 Canvas { 0103 id:canvas 0104 anchors { right: parent.right; top: parent.top } 0105 width: 50 0106 height: 50 0107 onPaint: { 0108 var ctx = getContext("2d"); 0109 ctx.fillStyle = "#FFFFFF"; 0110 ctx.fillRect(0,0,width,height) 0111 ctx.lineWidth = 5 0112 ctx.moveTo(0,0) 0113 ctx.lineTo(width,height) 0114 ctx.moveTo(0,height) 0115 ctx.lineTo(width,0) 0116 ctx.stroke() 0117 } 0118 0119 MouseArea { 0120 x: -50; y: -50 0121 width: parent.width+100 0122 height: parent.height+100 0123 onClicked: hide() 0124 } 0125 } 0126 0127 function items(category) { 0128 var result 0129 var list = _imageDetails.itemsOfCategory(category) 0130 for (var i=0; i<list.length; ++i ) { 0131 var url=category + ";;;"+ list[i] 0132 var link = "<a href=\"" + url + "\">" + list[i] + "</a>" 0133 var age = _imageDetails.age(category, list[i]) 0134 if (age) 0135 link += age 0136 if (result) 0137 result = result + ", " + link 0138 else 0139 result = link 0140 } 0141 return result 0142 } 0143 0144 function hide() { 0145 hideAnimation.restart() 0146 } 0147 0148 function show() { 0149 _remoteInterface.requestDetails(imageId) 0150 visible = true 0151 } 0152 }