Merge lp:~mzanetti/telegram-app/listitem into lp:telegram-app

Proposed by Michael Zanetti
Status: Merged
Approved by: MichaƂ Karnicki
Approved revision: 160
Merged at revision: 157
Proposed branch: lp:~mzanetti/telegram-app/listitem
Merge into: lp:telegram-app
Diff against target: 858 lines (+41/-683)
9 files modified
telegram/app/qml/AccountMessageList.qml (+36/-34)
telegram/app/qml/InstallStickerDialog.qml (+2/-2)
telegram/app/qml/components/AccountPanelItem.qml (+0/-2)
telegram/app/qml/components/MessagesListItem.qml (+3/-5)
telegram/app/qml/components/listitems/ImageWithFallback.qml (+0/-46)
telegram/app/qml/components/listitems/ListItemWithActions.qml (+0/-515)
telegram/app/qml/components/listitems/ListItemWithActionsCheckBox.qml (+0/-25)
telegram/app/qml/components/listitems/ProgressionVisual.qml (+0/-52)
telegram/app/telegram.qrc (+0/-2)
To merge this branch: bzr merge lp:~mzanetti/telegram-app/listitem
Reviewer Review Type Date Requested Status
Michael Zanetti Abstain
Review via email: mp+287545@code.launchpad.net

Commit message

update MessageListItem to uitk ListItem

This replaces the last occurance of the custom ListItemWithAction
so that one can be dropped. This seems to help a little with
scrolling performance and also fixes some listview contentY placement
issues.

To post a comment you must log in.
Revision history for this message
Michael Zanetti (mzanetti) wrote :

just found an issue... clicking images is broken

review: Needs Fixing
Revision history for this message
Michael Zanetti (mzanetti) wrote :

> just found an issue... clicking images is broken

fixed

review: Abstain
Revision history for this message
Andrea Bernabei (faenil) wrote :

lgtm

lp:~mzanetti/telegram-app/listitem updated
160. By Michael Zanetti

improve hiding of the divider

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'telegram/app/qml/AccountMessageList.qml'
2--- telegram/app/qml/AccountMessageList.qml 2016-02-29 10:22:26 +0000
3+++ telegram/app/qml/AccountMessageList.qml 2016-03-01 11:29:27 +0000
4@@ -228,48 +228,51 @@
5 visibleNames: isChat
6 opacity: filterId == user.id || filterId == -1 ? 1 : 0.1
7
8- leftSideActions: [
9- Action {
10- iconName: "delete"
11- text: i18n.tr("Delete")
12- onTriggered: telegram.deleteMessages([item.id])
13- }
14- ]
15+ leadingActions: ListItemActions {
16+ actions: [
17+ Action {
18+ iconName: "delete"
19+ text: i18n.tr("Delete")
20+ onTriggered: telegram.deleteMessages([item.id])
21+ }
22+ ]
23+ }
24
25- rightSideActions: [
26+ trailingActions: ListItemActions {
27 // TODO resend action
28- Action {
29- iconName: "edit-copy"
30- text: i18n.tr("Copy")
31- visible: !message_item.hasMedia
32- onTriggered: Clipboard.push(item.message)
33- },
34- Action {
35- iconName: "info"
36- text: i18n.tr("Sticker Pack info")
37- visible: message_item.isSticker && telegramObject.documentStickerId(message_item.media.document) !== 0
38- onTriggered: {
39- sticker_installer.doc = message_item.media.document
40- telegramObject.getStickerSet(sticker_installer.doc)
41+ actions: [
42+ Action {
43+ iconName: "edit-copy"
44+ text: i18n.tr("Copy")
45+ visible: !message_item.hasMedia
46+ onTriggered: Clipboard.push(item.message)
47+ },
48+ Action {
49+ iconName: "info"
50+ text: i18n.tr("Sticker Pack info")
51+ visible: message_item.isSticker && telegramObject.documentStickerId(message_item.media.document) !== 0
52+ onTriggered: {
53+ sticker_installer.doc = message_item.media.document
54+ telegramObject.getStickerSet(sticker_installer.doc)
55+ }
56+ },
57+ Action {
58+ iconName: "next"
59+ text: i18n.tr("Forward")
60+ visible: enchat == telegramObject.nullEncryptedChat
61+ onTriggered: forwardMessages([message.id])
62 }
63- },
64- Action {
65- iconName: "next"
66- text: i18n.tr("Forward")
67- visible: enchat == telegramObject.nullEncryptedChat
68- onTriggered: forwardMessages([message.id])
69- }
70-
71- ]
72+ ]
73+ }
74
75 selected: mlist.isSelected(message_item)
76- selectionMode: mlist.isInSelectionMode
77+ selectMode: mlist.isInSelectionMode
78
79 onDialogRequest: acc_msg_list.dialogRequest(dialog)
80 onTagSearchRequest: acc_msg_list.tagSearchRequest(tag)
81 onMessageFocusRequest: focusOnMessage(msgId)
82
83- onItemPressAndHold: {
84+ onPressAndHold: {
85 mlist.clearSelection();
86 mlist.startSelection();
87 if (mlist.isInSelectionMode) {
88@@ -277,7 +280,7 @@
89 }
90 }
91
92- onItemClicked: {
93+ onClicked: {
94 console.log("on item clicked");
95 if (mlist.isInSelectionMode) {
96 if (selected) {
97@@ -287,7 +290,6 @@
98 }
99 }
100
101- mouse.accepted = true;
102 message_item.click();
103 }
104
105
106=== modified file 'telegram/app/qml/InstallStickerDialog.qml'
107--- telegram/app/qml/InstallStickerDialog.qml 2016-02-29 10:32:35 +0000
108+++ telegram/app/qml/InstallStickerDialog.qml 2016-03-01 11:29:27 +0000
109@@ -65,7 +65,7 @@
110
111 UC.Button {
112 text: i18n.tr("Install")
113- color: UT.UbuntuColors.blue
114+ color: UC.UbuntuColors.blue
115 onClicked: {
116 telegram.installStickerSet(root.stickerSet)
117 PopupUtils.close(root)
118@@ -73,7 +73,7 @@
119 }
120 UC.Button {
121 text: i18n.tr("Close")
122- color: UT.UbuntuColors.orange
123+ color: UC.UbuntuColors.orange
124 onClicked: PopupUtils.close(root)
125 }
126 }
127
128=== modified file 'telegram/app/qml/components/AccountPanelItem.qml'
129--- telegram/app/qml/components/AccountPanelItem.qml 2015-10-02 11:59:49 +0000
130+++ telegram/app/qml/components/AccountPanelItem.qml 2016-03-01 11:29:27 +0000
131@@ -17,8 +17,6 @@
132 import QtQuick 2.4
133 import Ubuntu.Components 1.3
134
135-import "./listitems"
136-
137 ListItem {
138 id: item
139
140
141=== modified file 'telegram/app/qml/components/MessagesListItem.qml'
142--- telegram/app/qml/components/MessagesListItem.qml 2016-02-29 10:22:26 +0000
143+++ telegram/app/qml/components/MessagesListItem.qml 2016-03-01 11:29:27 +0000
144@@ -6,19 +6,16 @@
145
146 import "qrc:/qml"
147 import "qrc:/qml/components"
148-import "qrc:/qml/components/listitems"
149 import "qrc:/qml/js/colors.js" as Colors
150 import "../js/avatar.js" as Avatar
151 import "../js/ba-linkify.js" as BaLinkify
152
153-ListItemWithActions {
154+ListItem {
155 id: message_item
156 width: 100
157 height: (logicalHeight > minimumHeight) ? logicalHeight : minimumHeight
158 clip: true
159-
160- color: Qt.rgba(0, 0, 0, 0)
161- selectedColor: Qt.rgba(0, 0, 0, 0.2)
162+ divider.visible: false
163
164 property real messageFrameX: back_rect.x
165 property real messageFrameY: back_rect.y
166@@ -95,6 +92,7 @@
167 anchors {
168 top: frame_row.top
169 leftMargin: units.dp(4)
170+ topMargin: units.gu(.5)
171 }
172 height: units.gu(5)
173 visible: message_item.visibleNames && !message.out
174
175=== removed directory 'telegram/app/qml/components/listitems'
176=== removed file 'telegram/app/qml/components/listitems/ImageWithFallback.qml'
177--- telegram/app/qml/components/listitems/ImageWithFallback.qml 2015-09-22 09:57:07 +0000
178+++ telegram/app/qml/components/listitems/ImageWithFallback.qml 1970-01-01 00:00:00 +0000
179@@ -1,46 +0,0 @@
180-/*
181- * Copyright 2012 Canonical Ltd.
182- *
183- * This program is free software; you can redistribute it and/or modify
184- * it under the terms of the GNU Lesser General Public License as published by
185- * the Free Software Foundation; version 3.
186- *
187- * This program is distributed in the hope that it will be useful,
188- * but WITHOUT ANY WARRANTY; without even the implied warranty of
189- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
190- * GNU Lesser General Public License for more details.
191- *
192- * You should have received a copy of the GNU Lesser General Public License
193- * along with this program. If not, see <http://www.gnu.org/licenses/>.
194- */
195-
196-import QtQuick 2.0
197-
198-Image {
199- id: image
200-
201- property url fallbackSource
202- property bool fallbackRequired: false
203-
204- function isSourceDefined(sourceUrl) {
205- return sourceUrl != "" && sourceUrl != undefined
206- }
207-
208- function tryLoadingFallbackSource() {
209- if (isSourceDefined(fallbackSource)) {
210- source = fallbackSource
211- }
212- }
213-
214- function checkStatus() {
215- if (!isSourceDefined(source) || (status == Image.Error && source != fallbackSource)) {
216- fallbackRequired = true
217- tryLoadingFallbackSource()
218- }
219- }
220-
221- onSourceChanged: fallbackRequired = false
222- onFallbackSourceChanged: if (fallbackRequired) tryLoadingFallbackSource()
223- onStatusChanged: checkStatus()
224- Component.onCompleted: checkStatus()
225-}
226
227=== removed file 'telegram/app/qml/components/listitems/ListItemWithActions.qml'
228--- telegram/app/qml/components/listitems/ListItemWithActions.qml 2015-09-25 14:00:07 +0000
229+++ telegram/app/qml/components/listitems/ListItemWithActions.qml 1970-01-01 00:00:00 +0000
230@@ -1,515 +0,0 @@
231-/*
232- * Copyright (C) 2012-2014 Canonical, Ltd.
233- *
234- * This program is free software; you can redistribute it and/or modify
235- * it under the terms of the GNU General Public License as published by
236- * the Free Software Foundation; version 3.
237- *
238- * This program is distributed in the hope that it will be useful,
239- * but WITHOUT ANY WARRANTY; without even the implied warranty of
240- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
241- * GNU General Public License for more details.
242- *
243- * You should have received a copy of the GNU General Public License
244- * along with this program. If not, see <http://www.gnu.org/licenses/>.
245- */
246-
247-import QtQuick 2.2
248-import QtFeedback 5.0
249-import Ubuntu.Components 1.1
250-import Ubuntu.Components.ListItems 1.0 as ListItem
251-
252-Item {
253- id: root
254-
255- property list<Action> leftSideActions
256- property list<Action> rightSideActions
257- property double defaultHeight: units.gu(8)
258- property bool locked: false
259- property Action activeAction: null
260- property var activeItem: null
261- property bool triggerActionOnMouseRelease: false
262- property color color: Theme.palette.normal.background
263- property color selectedColor: "#E6E6E6"
264- property bool selected: false
265- property bool selectionMode: false
266- property alias pressed: mouseArea.pressed
267- property alias showDivider: divider.visible
268- property alias internalAnchors: mainContents.anchors
269- default property alias contents: mainContents.children
270-
271- readonly property double actionWidth: units.gu(4)
272- readonly property double actionThreshold: actionWidth * 0.4
273- readonly property double threshold: actionWidth * 0.8
274- readonly property string swipeState: main.x == 0 ? "Normal" : main.x > 0 ? "LeftToRight" : "RightToLeft"
275- readonly property alias swipping: mainItemMoving.running
276- readonly property bool _showActions: mouseArea.pressed || swipeState != "Normal" || swipping
277-
278- /* internal */
279- property var _visibleLeftSideActions: filterVisibleActions(leftSideActions)
280- property var _visibleRightSideActions: filterVisibleActions(rightSideActions)
281-
282- /* Remember to mouse.accepted = true when managing this component */
283- signal itemClicked(var mouse)
284- signal itemPressAndHold(var mouse)
285-
286- function returnToBoundsRTL(direction) {
287- var actionFullWidth = actionWidth + units.gu(2)
288-
289- // go back to normal state if swipping reverse
290- if (direction === "LTR") {
291- updatePosition(0)
292- return
293- } else if (!triggerActionOnMouseRelease) {
294- updatePosition(-rightActionsView.width + units.gu(2))
295- return
296- }
297-
298- var xOffset = Math.abs(main.x)
299- var index = Math.min(Math.floor(xOffset / actionFullWidth), _visibleRightSideActions.length)
300- var newX = 0
301- if (index === _visibleRightSideActions.length) {
302- newX = -(rightActionsView.width - units.gu(2))
303- } else if (index >= 1) {
304- newX = -(actionFullWidth * index)
305- }
306- updatePosition(newX)
307- }
308-
309- function returnToBoundsLTR(direction) {
310- var actionFullWidth = actionWidth + units.gu(2)
311-
312- // go back to normal state if swipping reverse
313- if (direction === "RTL") {
314- updatePosition(0)
315- return
316- } else if (!triggerActionOnMouseRelease) {
317- updatePosition(leftActionView.width - units.gu(2))
318- return
319- }
320-
321- var xOffset = Math.abs(main.x)
322- var index = Math.min(Math.floor(xOffset / actionFullWidth), _visibleLeftSideActions.length)
323- var newX = 0
324- if (index === _visibleLeftSideActions.length) {
325- newX = leftActionView.width - units.gu(2)
326- } else if (index >= 1) {
327- newX = actionFullWidth * index
328- }
329- updatePosition(newX)
330- }
331-
332- function returnToBounds(direction) {
333- if (main.x < 0) {
334- returnToBoundsRTL(direction)
335- } else if (main.x > 0) {
336- returnToBoundsLTR(direction)
337- } else {
338- updatePosition(0)
339- }
340- }
341-
342- function contains(item, point, marginX) {
343- var itemStartX = item.x - marginX
344- var itemEndX = item.x + item.width + marginX
345- return (point.x >= itemStartX) && (point.x <= itemEndX) &&
346- (point.y >= item.y) && (point.y <= (item.y + item.height));
347- }
348-
349- function getActionAt(point) {
350- if (contains(leftActionView, point, 0)) {
351- var newPoint = root.mapToItem(leftActionView, point.x, point.y)
352- for (var i = 0; i < leftActionsRepeater.count; i++) {
353- var child = leftActionsRepeater.itemAt(i)
354- if (contains(child, newPoint, units.gu(3))) {
355- return i
356- }
357- }
358- } else if (contains(rightActionsView, point, 0)) {
359- var newPoint = root.mapToItem(rightActionsView, point.x, point.y)
360- for (var i = 0; i < rightActionsRepeater.count; i++) {
361- var child = rightActionsRepeater.itemAt(i)
362- if (contains(child, newPoint, units.gu(3))) {
363- return i
364- }
365- }
366- }
367- return -1
368- }
369-
370- function updateActiveAction() {
371- if (triggerActionOnMouseRelease &&
372- (main.x <= -(root.actionWidth + units.gu(2))) &&
373- (main.x > -(rightActionsView.width - units.gu(2)))) {
374- var actionFullWidth = actionWidth + units.gu(2)
375- var xOffset = Math.abs(main.x)
376- var index = Math.min(Math.floor(xOffset / actionFullWidth), _visibleRightSideActions.length)
377- index = index - 1
378- if (index > -1) {
379- root.activeItem = rightActionsRepeater.itemAt(index)
380- root.activeAction = root._visibleRightSideActions[index]
381- }
382- } else {
383- root.activeAction = null
384- }
385- }
386-
387- function resetSwipe() {
388- main.x = 0
389- }
390-
391- function filterVisibleActions(actions) {
392- var visibleActions = []
393- for(var i = 0; i < actions.length; i++) {
394- var action = actions[i]
395- if (action.visible) {
396- visibleActions.push(action)
397- }
398- }
399- return visibleActions
400- }
401-
402- function updatePosition(pos) {
403- if (!root.triggerActionOnMouseRelease && (pos !== 0)) {
404- mouseArea.state = pos > 0 ? "RightToLeft" : "LeftToRight"
405- } else {
406- mouseArea.state = ""
407- }
408- main.x = pos
409- }
410-
411- states: [
412- State {
413- name: "select"
414- when: selectionMode || selected
415- PropertyChanges {
416- target: selectionIcon
417- source: Qt.resolvedUrl("ListItemWithActionsCheckBox.qml")
418- anchors.leftMargin: units.gu(2)
419- }
420- PropertyChanges {
421- target: root
422- locked: true
423- }
424- PropertyChanges {
425- target: main
426- x: 0
427- }
428- }
429- ]
430-
431- height: defaultHeight
432- clip: height !== defaultHeight
433- HapticsEffect {
434- id: clickEffect
435- attackIntensity: 0.0
436- attackTime: 50
437- intensity: 1.0
438- duration: 10
439- fadeTime: 50
440- fadeIntensity: 0.0
441- }
442-
443- Rectangle {
444- id: leftActionView
445-
446- anchors {
447- top: parent.top
448- bottom: parent.bottom
449- right: main.left
450- }
451- visible: _visibleLeftSideActions.length > 0
452- width: leftActionsRepeater.count > 0 ? leftActionsRepeater.count * (root.actionWidth + units.gu(2)) + root.actionThreshold + units.gu(3) : 0
453- color: "#eef32c36" // UbuntuColors.red with alpha
454-
455- Row {
456- anchors{
457- top: parent.top
458- bottom: parent.bottom
459- right: parent.right
460- rightMargin: units.gu(1)
461- }
462- spacing: 0
463- Repeater {
464- id: leftActionsRepeater
465-
466- model: _showActions ? _visibleLeftSideActions : []
467- Item {
468- property alias image: img
469-
470- height: leftActionView.height
471- width: root.actionWidth + units.gu(2)
472-
473- Icon {
474- id: img
475-
476- anchors.centerIn: parent
477- width: units.gu(3)
478- height: units.gu(3)
479- name: modelData.iconName
480- color: "white"
481- }
482- }
483- }
484- }
485- }
486-
487- Rectangle {
488- id: rightActionsView
489-
490- anchors {
491- top: main.top
492- left: main.right
493- bottom: main.bottom
494- }
495- visible: _visibleRightSideActions.length > 0
496- width: rightActionsRepeater.count > 0 ? rightActionsRepeater.count * (root.actionWidth + units.gu(2)) + root.actionThreshold + units.gu(3) : 0
497- color: "white"
498- Row {
499- anchors{
500- top: parent.top
501- bottom: parent.bottom
502- left: parent.left
503- leftMargin: units.gu(1)
504- }
505- spacing: 0
506- Repeater {
507- id: rightActionsRepeater
508-
509- model: _showActions ? _visibleRightSideActions : []
510- Item {
511- property alias image: img
512-
513- height: rightActionsView.height
514- width: root.actionWidth + units.gu(2)
515-
516- Icon {
517- id: img
518-
519- anchors.centerIn: parent
520- width: units.gu(3)
521- height: units.gu(3)
522- name: modelData.iconName
523- color: root.activeAction === modelData ? UbuntuColors.lightAubergine : UbuntuColors.lightGrey
524- }
525- }
526- }
527- }
528- }
529-
530- Rectangle {
531- id: main
532- objectName: "mainItem"
533-
534- anchors {
535- top: parent.top
536- bottom: parent.bottom
537- }
538-
539- width: parent.width
540- color: root.selected ? root.selectedColor : root.color
541-
542- Loader {
543- id: selectionIcon
544-
545- anchors {
546- left: main.left
547- verticalCenter: main.verticalCenter
548- }
549- width: (status === Loader.Ready) ? item.implicitWidth : 0
550- visible: (status === Loader.Ready) && (item.width === item.implicitWidth)
551- Behavior on width {
552- NumberAnimation {
553- duration: UbuntuAnimation.SnapDuration
554- }
555- }
556- }
557-
558- Item {
559- id: mainContents
560-
561- anchors {
562- left: selectionIcon.right
563- top: parent.top
564- topMargin: units.gu(1)
565- right: parent.right
566- bottom: parent.bottom
567- bottomMargin: units.gu(1)
568- }
569- }
570-
571- Behavior on x {
572- UbuntuNumberAnimation {
573- id: mainItemMoving
574-
575- easing.type: Easing.OutElastic
576- duration: UbuntuAnimation.SlowDuration
577- }
578- }
579-
580- Behavior on color {
581- ColorAnimation {}
582- }
583- }
584-
585- SequentialAnimation {
586- id: triggerAction
587-
588- property var currentItem: root.activeItem ? root.activeItem.image : null
589-
590- running: false
591- ParallelAnimation {
592- UbuntuNumberAnimation {
593- target: triggerAction.currentItem
594- property: "opacity"
595- from: 1.0
596- to: 0.0
597- duration: UbuntuAnimation.SlowDuration
598- easing { type: Easing.InOutBack; }
599- }
600- UbuntuNumberAnimation {
601- target: triggerAction.currentItem
602- properties: "width, height"
603- from: units.gu(3)
604- to: root.actionWidth
605- duration: UbuntuAnimation.SlowDuration
606- easing { type: Easing.InOutBack; }
607- }
608- }
609- PropertyAction {
610- target: triggerAction.currentItem
611- properties: "width, height"
612- value: units.gu(3)
613- }
614- PropertyAction {
615- target: triggerAction.currentItem
616- properties: "opacity"
617- value: 1.0
618- }
619- ScriptAction {
620- script: {
621- root.activeAction.triggered(root)
622- mouseArea.state = ""
623- }
624- }
625- PauseAnimation {
626- duration: 500
627- }
628- UbuntuNumberAnimation {
629- target: main
630- property: "x"
631- to: 0
632- }
633- }
634-
635- MouseArea {
636- id: mouseArea
637-
638- propagateComposedEvents: true
639- property bool locked: root.locked || ((root._visibleLeftSideActions === null) && (root._visibleRightSideActions.count === 0))
640- property bool manual: false
641- property string direction: "None"
642- property real lastX: -1
643-
644- anchors.fill: parent
645- z: -100
646-
647- drag {
648- target: locked ? null : main
649- axis: Drag.XAxis
650- minimumX: rightActionsView.visible ? -(rightActionsView.width) : 0
651- maximumX: leftActionView.visible ? leftActionView.width : 0
652- threshold: root.threshold
653- }
654-
655- states: [
656- State {
657- name: "LeftToRight"
658- PropertyChanges {
659- target: mouseArea
660- drag.maximumX: 0
661- }
662- },
663- State {
664- name: "RightToLeft"
665- PropertyChanges {
666- target: mouseArea
667- drag.minimumX: 0
668- }
669- }
670- ]
671-
672- onMouseXChanged: {
673- var offset = (lastX - mouseX)
674- if (Math.abs(offset) <= root.threshold) {
675- return
676- }
677- lastX = mouseX
678- direction = offset > 0 ? "RTL" : "LTR";
679- }
680-
681- onPressed: {
682- lastX = mouse.x
683- }
684-
685- onReleased: {
686- if (root.triggerActionOnMouseRelease && root.activeAction) {
687- triggerAction.start()
688- } else {
689- root.returnToBounds(direction)
690- root.activeAction = null
691- }
692- lastX = -1
693- direction = "None"
694- }
695-
696- onClicked: {
697- mouse.accepted = false
698- clickEffect.start()
699- if (main.x === 0) {
700- root.itemClicked(mouse)
701- } else if (main.x > 0) {
702- var actionIndex = getActionAt(Qt.point(mouse.x, mouse.y))
703- if (actionIndex !== -1) {
704- root.activeItem = leftActionsRepeater.itemAt(actionIndex)
705- root.activeAction = root._visibleLeftSideActions[actionIndex]
706- triggerAction.start()
707- return
708- }
709- } else {
710- var actionIndex = getActionAt(Qt.point(mouse.x, mouse.y))
711- if (actionIndex !== -1) {
712- root.activeItem = rightActionsRepeater.itemAt(actionIndex)
713- root.activeAction = root._visibleRightSideActions[actionIndex]
714- triggerAction.start()
715- return
716- }
717- }
718- root.resetSwipe()
719- }
720-
721- onPositionChanged: {
722- if (mouseArea.pressed) {
723- updateActiveAction()
724- }
725- }
726-
727- onPressAndHold: {
728- if (main.x === 0) {
729- root.itemPressAndHold(mouse)
730- }
731- }
732- }
733-
734- ListItem.ThinDivider {
735- id: divider
736- visible: false
737- width: parent.width + units.gu(4)
738- anchors {
739- left: parent.left
740- right: parent.right
741- bottom: parent.bottom
742- bottomMargin: units.gu(-0.1)
743- }
744- }
745-}
746
747=== removed file 'telegram/app/qml/components/listitems/ListItemWithActionsCheckBox.qml'
748--- telegram/app/qml/components/listitems/ListItemWithActionsCheckBox.qml 2015-09-22 09:57:07 +0000
749+++ telegram/app/qml/components/listitems/ListItemWithActionsCheckBox.qml 1970-01-01 00:00:00 +0000
750@@ -1,25 +0,0 @@
751-/*
752- * Copyright (C) 2012-2014 Canonical, Ltd.
753- *
754- * This program is free software; you can redistribute it and/or modify
755- * it under the terms of the GNU General Public License as published by
756- * the Free Software Foundation; version 3.
757- *
758- * This program is distributed in the hope that it will be useful,
759- * but WITHOUT ANY WARRANTY; without even the implied warranty of
760- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
761- * GNU General Public License for more details.
762- *
763- * You should have received a copy of the GNU General Public License
764- * along with this program. If not, see <http://www.gnu.org/licenses/>.
765- */
766-
767-import QtQuick 2.2
768-import Ubuntu.Components 1.1
769-
770-CheckBox {
771- checked: root.selected
772- width: implicitWidth
773- // disable item mouse area to avoid conflicts with parent mouse area
774- __mouseArea.enabled: false
775-}
776
777=== removed file 'telegram/app/qml/components/listitems/ProgressionVisual.qml'
778--- telegram/app/qml/components/listitems/ProgressionVisual.qml 2015-09-22 09:57:07 +0000
779+++ telegram/app/qml/components/listitems/ProgressionVisual.qml 1970-01-01 00:00:00 +0000
780@@ -1,52 +0,0 @@
781-/*
782- * Copyright 2012 Canonical Ltd.
783- *
784- * This program is free software; you can redistribute it and/or modify
785- * it under the terms of the GNU Lesser General Public License as published by
786- * the Free Software Foundation; version 3.
787- *
788- * This program is distributed in the hope that it will be useful,
789- * but WITHOUT ANY WARRANTY; without even the implied warranty of
790- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
791- * GNU Lesser General Public License for more details.
792- *
793- * You should have received a copy of the GNU Lesser General Public License
794- * along with this program. If not, see <http://www.gnu.org/licenses/>.
795- */
796-
797-import QtQuick 2.0
798-
799-// Internal helper class for the visuals of
800-// the progression symbol.
801-Item {
802- id: progressionVisual
803-
804- width: progressIcon.width + (showSplit ? splitMargin + progressionDivider.width : 0)
805-
806- property bool showSplit: false
807- property real splitMargin
808-
809- Image {
810- id: progressIcon
811- source: "artwork/ListItemProgressionArrow.png"
812- anchors {
813- verticalCenter: parent.verticalCenter
814- right: parent.right
815- }
816-
817- opacity: enabled ? 1.0 : 0.5
818- }
819-
820- Image {
821- id: progressionDivider
822- visible: progressionVisual.showSplit
823- anchors {
824- top: parent.top
825- bottom: parent.bottom
826- right: progressIcon.left
827- rightMargin: splitMargin
828- }
829- source: "artwork/ListItemDividerVertical.png"
830- opacity: enabled ? 1.0 : 0.5
831- }
832-}
833
834=== removed directory 'telegram/app/qml/components/listitems/artwork'
835=== removed file 'telegram/app/qml/components/listitems/artwork/ListItemDivider24px@8.png'
836Binary files telegram/app/qml/components/listitems/artwork/ListItemDivider24px@8.png 2015-09-22 09:57:07 +0000 and telegram/app/qml/components/listitems/artwork/ListItemDivider24px@8.png 1970-01-01 00:00:00 +0000 differ
837=== removed file 'telegram/app/qml/components/listitems/artwork/ListItemDivider6px@8.png'
838Binary files telegram/app/qml/components/listitems/artwork/ListItemDivider6px@8.png 2015-09-22 09:57:07 +0000 and telegram/app/qml/components/listitems/artwork/ListItemDivider6px@8.png 1970-01-01 00:00:00 +0000 differ
839=== removed file 'telegram/app/qml/components/listitems/artwork/ListItemDividerHorizontal@18.png'
840Binary files telegram/app/qml/components/listitems/artwork/ListItemDividerHorizontal@18.png 2015-09-22 09:57:07 +0000 and telegram/app/qml/components/listitems/artwork/ListItemDividerHorizontal@18.png 1970-01-01 00:00:00 +0000 differ
841=== removed file 'telegram/app/qml/components/listitems/artwork/ListItemDividerVertical@18.png'
842Binary files telegram/app/qml/components/listitems/artwork/ListItemDividerVertical@18.png 2015-09-22 09:57:07 +0000 and telegram/app/qml/components/listitems/artwork/ListItemDividerVertical@18.png 1970-01-01 00:00:00 +0000 differ
843=== removed file 'telegram/app/qml/components/listitems/artwork/ListItemProgressionArrow@8.png'
844Binary files telegram/app/qml/components/listitems/artwork/ListItemProgressionArrow@8.png 2015-09-22 09:57:07 +0000 and telegram/app/qml/components/listitems/artwork/ListItemProgressionArrow@8.png 1970-01-01 00:00:00 +0000 differ
845=== removed file 'telegram/app/qml/components/listitems/artwork/delete@8.png'
846Binary files telegram/app/qml/components/listitems/artwork/delete@8.png 2015-09-22 09:57:07 +0000 and telegram/app/qml/components/listitems/artwork/delete@8.png 1970-01-01 00:00:00 +0000 differ
847=== modified file 'telegram/app/telegram.qrc'
848--- telegram/app/telegram.qrc 2016-02-29 10:22:26 +0000
849+++ telegram/app/telegram.qrc 2016-03-01 11:29:27 +0000
850@@ -62,8 +62,6 @@
851 <file>qml/components/TelegramContactsListItem.qml</file>
852 <file>qml/components/TelegramHeader.qml</file>
853 <file>qml/components/TelegramPage.qml</file>
854- <file>qml/components/listitems/ListItemWithActions.qml</file>
855- <file>qml/components/listitems/ListItemWithActionsCheckBox.qml</file>
856 <file>qml/js/avatar.js</file>
857 <file>qml/js/ba-linkify.js</file>
858 <file>qml/js/colors.js</file>

Subscribers

People subscribed via source and target branches

to status/vote changes: