Merge lp:~tiagosh/messaging-app/unknown-attachments-delegate into lp:messaging-app

Proposed by Tiago Salem Herrmann
Status: Superseded
Proposed branch: lp:~tiagosh/messaging-app/unknown-attachments-delegate
Merge into: lp:messaging-app
Diff against target: 504 lines (+246/-54)
4 files modified
po/messaging-app.pot (+36/-29)
src/qml/MMS/MMSDefault.qml (+39/-18)
src/qml/MMSDelegate.qml (+6/-7)
src/qml/assets/transfer-unsupported01.svg (+165/-0)
To merge this branch: bzr merge lp:~tiagosh/messaging-app/unknown-attachments-delegate
Reviewer Review Type Date Requested Status
PS Jenkins bot continuous-integration Needs Fixing
Ubuntu Phablet Team Pending
Review via email: mp+251015@code.launchpad.net

This proposal has been superseded by a proposal from 2015-02-28.

Commit message

Enable MMSDefault for unknown attachment types

Description of the change

Enable MMSDefault for unknown attachment types

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
326. By Tiago Salem Herrmann

Change label according to the mime type.
update pot file

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)

Unmerged revisions

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'po/messaging-app.pot'
--- po/messaging-app.pot 2015-01-27 19:03:46 +0000
+++ po/messaging-app.pot 2015-02-27 21:42:15 +0000
@@ -8,7 +8,7 @@
8msgstr ""8msgstr ""
9"Project-Id-Version: PACKAGE VERSION\n"9"Project-Id-Version: PACKAGE VERSION\n"
10"Report-Msgid-Bugs-To: \n"10"Report-Msgid-Bugs-To: \n"
11"POT-Creation-Date: 2015-01-16 15:26-0200\n"11"POT-Creation-Date: 2015-02-27 18:40-0300\n"
12"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"12"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"13"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14"Language-Team: LANGUAGE <LL@li.org>\n"14"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -19,7 +19,7 @@
19"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"19"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
2020
21#. TRANSLATORS: %1 is the first recipient the message is sent to, %2 is the count of remaining recipients21#. TRANSLATORS: %1 is the first recipient the message is sent to, %2 is the count of remaining recipients
22#: ../src/qml/ThreadDelegate.qml:4522#: ../src/qml/ThreadDelegate.qml:51
23#, qt-format23#, qt-format
24msgid "%1 + %2"24msgid "%1 + %2"
25msgstr ""25msgstr ""
@@ -49,16 +49,11 @@
49msgid "+"49msgid "+"
50msgstr ""50msgstr ""
5151
52#. TRANSLATORS: this refers to creating a new contact
53#: ../src/qml/NewRecipientPage.qml:179
54msgid "+ Create New"
55msgstr ""
56
57#: ../src/qml/MessageInfoDialog.qml:6052#: ../src/qml/MessageInfoDialog.qml:60
58msgid "Accepted"53msgid "Accepted"
59msgstr ""54msgstr ""
6055
61#: ../src/qml/Messages.qml:47056#: ../src/qml/Messages.qml:563
62msgid "Add"57msgid "Add"
63msgstr ""58msgstr ""
6459
@@ -70,39 +65,43 @@
70msgid "All"65msgid "All"
71msgstr ""66msgstr ""
7267
73#: ../src/qml/ThreadDelegate.qml:7768#: ../src/qml/ThreadDelegate.qml:83
74#, qt-format69#, qt-format
75msgid "Attachment: %1 contact"70msgid "Attachment: %1 contact"
76msgid_plural "Attachments: %1 contacts"71msgid_plural "Attachments: %1 contacts"
77msgstr[0] ""72msgstr[0] ""
78msgstr[1] ""73msgstr[1] ""
7974
80#: ../src/qml/ThreadDelegate.qml:8075#: ../src/qml/ThreadDelegate.qml:86
81#, qt-format76#, qt-format
82msgid "Attachment: %1 file"77msgid "Attachment: %1 file"
83msgid_plural "Attachments: %1 files"78msgid_plural "Attachments: %1 files"
84msgstr[0] ""79msgstr[0] ""
85msgstr[1] ""80msgstr[1] ""
8681
87#: ../src/qml/ThreadDelegate.qml:7182#: ../src/qml/ThreadDelegate.qml:77
88#, qt-format83#, qt-format
89msgid "Attachment: %1 image"84msgid "Attachment: %1 image"
90msgid_plural "Attachments: %1 images"85msgid_plural "Attachments: %1 images"
91msgstr[0] ""86msgstr[0] ""
92msgstr[1] ""87msgstr[1] ""
9388
94#: ../src/qml/ThreadDelegate.qml:7489#: ../src/qml/ThreadDelegate.qml:80
95#, qt-format90#, qt-format
96msgid "Attachment: %1 video"91msgid "Attachment: %1 video"
97msgid_plural "Attachments: %1 videos"92msgid_plural "Attachments: %1 videos"
98msgstr[0] ""93msgstr[0] ""
99msgstr[1] ""94msgstr[1] ""
10095
101#: ../src/qml/Messages.qml:460 ../src/qml/Messages.qml:51496#: ../src/qml/MMS/MMSDefault.qml:28
97msgid "Audio attachment not supported"
98msgstr ""
99
100#: ../src/qml/Messages.qml:553 ../src/qml/Messages.qml:607
102msgid "Call"101msgid "Call"
103msgstr ""102msgstr ""
104103
105#: ../src/qml/MainPage.qml:84 ../src/qml/NewRecipientPage.qml:83104#: ../src/qml/MainPage.qml:85 ../src/qml/NewRecipientPage.qml:83
106msgid "Cancel"105msgid "Cancel"
107msgstr ""106msgstr ""
108107
@@ -113,15 +112,15 @@
113msgstr ""112msgstr ""
114113
115#: ../src/qml/Dialogs/NoSIMCardSelectedDialog.qml:30114#: ../src/qml/Dialogs/NoSIMCardSelectedDialog.qml:30
116#: ../src/qml/MessageInfoDialog.qml:137 ../src/qml/Messages.qml:266115#: ../src/qml/MessageInfoDialog.qml:137 ../src/qml/Messages.qml:359
117msgid "Close"116msgid "Close"
118msgstr ""117msgstr ""
119118
120#: ../src/qml/MainPage.qml:140119#: ../src/qml/MainPage.qml:141
121msgid "Compose a new message by swiping up from the bottom of the screen."120msgid "Compose a new message by swiping up from the bottom of the screen."
122msgstr ""121msgstr ""
123122
124#: ../src/qml/Messages.qml:524123#: ../src/qml/Messages.qml:617
125msgid "Contact"124msgid "Contact"
126msgstr ""125msgstr ""
127126
@@ -129,7 +128,7 @@
129msgid "Copy"128msgid "Copy"
130msgstr ""129msgstr ""
131130
132#: ../src/qml/MessageDelegateFactory.qml:42 ../src/qml/ThreadDelegate.qml:105131#: ../src/qml/MessageDelegateFactory.qml:42 ../src/qml/ThreadDelegate.qml:96
133msgid "Delete"132msgid "Delete"
134msgstr ""133msgstr ""
135134
@@ -157,6 +156,10 @@
157msgid "Favorites"156msgid "Favorites"
158msgstr ""157msgstr ""
159158
159#: ../src/qml/MMS/MMSDefault.qml:33
160msgid "File type not supported"
161msgstr ""
162
160#: ../src/qml/MessageInfoDialog.qml:101163#: ../src/qml/MessageInfoDialog.qml:101
161msgid "From"164msgid "From"
162msgstr ""165msgstr ""
@@ -166,7 +169,7 @@
166msgstr ""169msgstr ""
167170
168#. TRANSLATORS: %1 refers to the number of participants in a group chat171#. TRANSLATORS: %1 refers to the number of participants in a group chat
169#: ../src/qml/Messages.qml:154172#: ../src/qml/Messages.qml:247
170#, qt-format173#, qt-format
171msgid "Group (%1)"174msgid "Group (%1)"
172msgstr ""175msgstr ""
@@ -211,7 +214,7 @@
211msgid "Messaging application"214msgid "Messaging application"
212msgstr ""215msgstr ""
213216
214#: ../src/qml/MMSDelegate.qml:215217#: ../src/qml/MMSDelegate.qml:210
215msgid "Missing message data"218msgid "Missing message data"
216msgstr ""219msgstr ""
217220
@@ -219,7 +222,7 @@
219msgid "Myself"222msgid "Myself"
220msgstr ""223msgstr ""
221224
222#: ../src/qml/Messages.qml:157225#: ../src/qml/Messages.qml:250
223msgid "New Message"226msgid "New Message"
224msgstr ""227msgstr ""
225228
@@ -232,7 +235,7 @@
232msgid "No SIM card selected"235msgid "No SIM card selected"
233msgstr ""236msgstr ""
234237
235#: ../src/qml/Messages.qml:262238#: ../src/qml/Messages.qml:355
236msgid "No network"239msgid "No network"
237msgstr ""240msgstr ""
238241
@@ -259,7 +262,7 @@
259msgid "Received"262msgid "Received"
260msgstr ""263msgstr ""
261264
262#: ../src/qml/Messages.qml:216265#: ../src/qml/Messages.qml:309
263msgid "Remove"266msgid "Remove"
264msgstr ""267msgstr ""
265268
@@ -283,7 +286,7 @@
283msgid "Search"286msgid "Search"
284msgstr ""287msgstr ""
285288
286#: ../src/qml/MainPage.qml:53 ../src/qml/NewRecipientPage.qml:45289#: ../src/qml/MainPage.qml:54 ../src/qml/NewRecipientPage.qml:45
287msgid "Search..."290msgid "Search..."
288msgstr ""291msgstr ""
289292
@@ -293,7 +296,7 @@
293"choice in <a href=\"system_settings\">System Settings</a>."296"choice in <a href=\"system_settings\">System Settings</a>."
294msgstr ""297msgstr ""
295298
296#: ../src/qml/Messages.qml:846299#: ../src/qml/Messages.qml:974
297msgid "Send"300msgid "Send"
298msgstr ""301msgstr ""
299302
@@ -317,12 +320,12 @@
317msgid "Temporarily Failed"320msgid "Temporarily Failed"
318msgstr ""321msgstr ""
319322
320#: ../src/qml/Messages.qml:263323#: ../src/qml/Messages.qml:356
321#, qt-format324#, qt-format
322msgid "There is currently no network on %1"325msgid "There is currently no network on %1"
323msgstr ""326msgstr ""
324327
325#: ../src/qml/Messages.qml:263328#: ../src/qml/Messages.qml:356
326msgid "There is currently no network."329msgid "There is currently no network."
327msgstr ""330msgstr ""
328331
@@ -347,7 +350,7 @@
347msgstr ""350msgstr ""
348351
349#: ../src/qml/MMS/MMSContact.qml:83 ../src/qml/MMS/PreviewerContact.qml:27352#: ../src/qml/MMS/MMSContact.qml:83 ../src/qml/MMS/PreviewerContact.qml:27
350#: ../src/qml/Messages.qml:716353#: ../src/qml/Messages.qml:844
351msgid "Unknown contact"354msgid "Unknown contact"
352msgstr ""355msgstr ""
353356
@@ -355,7 +358,11 @@
355msgid "Video Preview"358msgid "Video Preview"
356msgstr ""359msgstr ""
357360
358#: ../src/qml/Messages.qml:816361#: ../src/qml/MMS/MMSDefault.qml:31
362msgid "Video attachment not supported"
363msgstr ""
364
365#: ../src/qml/Messages.qml:944
359msgid "Write a message..."366msgid "Write a message..."
360msgstr ""367msgstr ""
361368
362369
=== modified file 'src/qml/MMS/MMSDefault.qml'
--- src/qml/MMS/MMSDefault.qml 2014-08-11 22:59:14 +0000
+++ src/qml/MMS/MMSDefault.qml 2015-02-27 21:42:15 +0000
@@ -23,24 +23,45 @@
23MMSBase {23MMSBase {
24 id: defaultDelegate24 id: defaultDelegate
2525
26 anchors.left: parent.left26 property string unknownLabel: {
27 anchors.right: parent.right27 if (startsWith(attachment.contentType, "audio/") ) {
28 height: bubble.height + units.gu(1)28 return i18n.tr("Audio attachment not supported")
29 Item {29 root.textAttachements.push(attachment)
30 id: bubble30 } else if (startsWith(attachment.contentType, "video/")) {
31 return i18n.tr("Video attachment not supported")
32 }
33 return i18n.tr("File type not supported")
34 }
35 height: units.gu(15)
36 width: Math.max(unknownAttachmentLabel.paintedWidth+units.gu(2), units.gu(27))
37
38 Image {
39 id: unknownAttachmentImage
40 fillMode: Image.PreserveAspectFit
41 anchors.centerIn: shape
42 anchors.verticalCenterOffset: -unknownAttachmentLabel.height/2
43 smooth: true
44 source: Qt.resolvedUrl("../assets/transfer-unsupported01.svg")
45 asynchronous: false
46 height: Math.min(implicitHeight, units.gu(8))
47 width: Math.min(implicitWidth, units.gu(27))
48 cache: false
49 }
50
51 Label {
52 id: unknownAttachmentLabel
53 color: "gray"
54 text: unknownLabel
55 anchors.horizontalCenter: unknownAttachmentImage.horizontalCenter
56 anchors.top: unknownAttachmentImage.bottom
57 }
58
59 UbuntuShape {
60 id: shape
31 anchors.top: parent.top61 anchors.top: parent.top
32 width: label.width + units.gu(4)62 width: parent.width
33 height: label.height + units.gu(2)63 height: parent.height
3464 color: "gray"
35 Label {65 opacity: 0.2
36 id: label
37 text: attachment.attachmentId
38 anchors.centerIn: parent
39 anchors.horizontalCenterOffset: incoming ? units.gu(0.5) : -units.gu(0.5)
40 fontSize: "medium"
41 height: paintedHeight
42 color: textColor
43 opacity: incoming ? 1 : 0.9
44 }
45 }66 }
46}67}
4768
=== modified file 'src/qml/MMSDelegate.qml'
--- src/qml/MMSDelegate.qml 2015-02-09 20:35:33 +0000
+++ src/qml/MMSDelegate.qml 2015-02-27 21:42:15 +0000
@@ -80,7 +80,7 @@
80 "data": attachment,80 "data": attachment,
81 "delegateSource": "MMS/MMSImage.qml",81 "delegateSource": "MMS/MMSImage.qml",
82 })82 })
83 } else if (startsWith(attachment.contentType, "video/")) {83 //} else if (startsWith(attachment.contentType, "video/")) {
84 // TODO: implement proper video attachment support84 // TODO: implement proper video attachment support
85 // dataAttachments.push({type: "video",85 // dataAttachments.push({type: "video",
86 // data: attachment,86 // data: attachment,
@@ -88,11 +88,7 @@
88 // })88 // })
89 } else if (startsWith(attachment.contentType, "application/smil") ||89 } else if (startsWith(attachment.contentType, "application/smil") ||
90 startsWith(attachment.contentType, "application/x-smil")) {90 startsWith(attachment.contentType, "application/x-smil")) {
91 // TODO: implement support for this kind of attachment91 // smil files will always be ignored here
92 // dataAttachments.push({type: "application",
93 // data: attachment,
94 // delegateSource: "",
95 // })
96 } else if (startsWith(attachment.contentType, "text/vcard") ||92 } else if (startsWith(attachment.contentType, "text/vcard") ||
97 startsWith(attachment.contentType, "text/x-vcard")) {93 startsWith(attachment.contentType, "text/x-vcard")) {
98 root.dataAttachments.push({"type": "vcard",94 root.dataAttachments.push({"type": "vcard",
@@ -100,7 +96,10 @@
100 "delegateSource": "MMS/MMSContact.qml"96 "delegateSource": "MMS/MMSContact.qml"
101 })97 })
102 } else {98 } else {
103 console.log("No MMS render for " + attachment.contentType)99 root.dataAttachments.push({"type": "default",
100 "data": attachment,
101 "delegateSource": "MMS/MMSDefault.qml"
102 })
104 }103 }
105 }104 }
106 attachmentsRepeater.model = root.dataAttachments105 attachmentsRepeater.model = root.dataAttachments
107106
=== added file 'src/qml/assets/transfer-unsupported01.svg'
--- src/qml/assets/transfer-unsupported01.svg 1970-01-01 00:00:00 +0000
+++ src/qml/assets/transfer-unsupported01.svg 2015-02-27 21:42:15 +0000
@@ -0,0 +1,165 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3
4<svg
5 xmlns:dc="http://purl.org/dc/elements/1.1/"
6 xmlns:cc="http://creativecommons.org/ns#"
7 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8 xmlns:svg="http://www.w3.org/2000/svg"
9 xmlns="http://www.w3.org/2000/svg"
10 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12 width="90"
13 height="90"
14 id="svg4874"
15 version="1.1"
16 inkscape:version="0.91+devel r"
17 viewBox="0 0 90 90.000001"
18 sodipodi:docname="file-transfer-disabled.svg">
19 <defs
20 id="defs4876" />
21 <sodipodi:namedview
22 id="base"
23 pagecolor="#ffffff"
24 bordercolor="#666666"
25 borderopacity="1.0"
26 inkscape:pageopacity="0.0"
27 inkscape:pageshadow="2"
28 inkscape:zoom="4.0745362"
29 inkscape:cx="23.683672"
30 inkscape:cy="38.262018"
31 inkscape:document-units="px"
32 inkscape:current-layer="g4480"
33 showgrid="true"
34 showborder="true"
35 fit-margin-top="0"
36 fit-margin-left="0"
37 fit-margin-right="0"
38 fit-margin-bottom="0"
39 inkscape:snap-bbox="true"
40 inkscape:bbox-paths="true"
41 inkscape:bbox-nodes="true"
42 inkscape:snap-bbox-edge-midpoints="true"
43 inkscape:snap-bbox-midpoints="true"
44 inkscape:object-paths="true"
45 inkscape:snap-intersection-paths="true"
46 inkscape:object-nodes="true"
47 inkscape:snap-smooth-nodes="true"
48 inkscape:snap-midpoints="true"
49 inkscape:snap-object-midpoints="true"
50 inkscape:snap-center="true"
51 showguides="true"
52 inkscape:guide-bbox="true">
53 <inkscape:grid
54 type="xygrid"
55 id="grid5451"
56 empspacing="6" />
57 <sodipodi:guide
58 orientation="1,0"
59 position="6,77"
60 id="guide4063" />
61 <sodipodi:guide
62 orientation="1,0"
63 position="3,78"
64 id="guide4065" />
65 <sodipodi:guide
66 orientation="0,1"
67 position="55,84"
68 id="guide4067" />
69 <sodipodi:guide
70 orientation="0,1"
71 position="53,87"
72 id="guide4069" />
73 <sodipodi:guide
74 orientation="0,1"
75 position="20,3"
76 id="guide4071" />
77 <sodipodi:guide
78 orientation="0,1"
79 position="20,6"
80 id="guide4073" />
81 <sodipodi:guide
82 orientation="1,0"
83 position="87,7"
84 id="guide4075" />
85 <sodipodi:guide
86 orientation="1,0"
87 position="84,7"
88 id="guide4077" />
89 <sodipodi:guide
90 orientation="0,1"
91 position="58,81"
92 id="guide4074" />
93 <sodipodi:guide
94 orientation="1,0"
95 position="9,74"
96 id="guide4076" />
97 <sodipodi:guide
98 orientation="0,1"
99 position="21,9"
100 id="guide4078" />
101 <sodipodi:guide
102 orientation="1,0"
103 position="81,4"
104 id="guide4080" />
105 </sodipodi:namedview>
106 <metadata
107 id="metadata4879">
108 <rdf:RDF>
109 <cc:Work
110 rdf:about="">
111 <dc:format>image/svg+xml</dc:format>
112 <dc:type
113 rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
114 <dc:title></dc:title>
115 </cc:Work>
116 </rdf:RDF>
117 </metadata>
118 <g
119 inkscape:label="Layer 1"
120 inkscape:groupmode="layer"
121 id="layer1"
122 transform="translate(67.857146,-84.50504)">
123 <g
124 transform="matrix(0,-1,-1,0,373.50506,516.50504)"
125 id="g4845"
126 style="display:inline">
127 <g
128 transform="matrix(0,-1,-1,0,-173.6378,899.36221)"
129 id="g4480">
130 <rect
131 style="fill:none;stroke:none"
132 id="rect4512"
133 width="90"
134 height="90"
135 x="458"
136 y="-605.63782" />
137 <path
138 inkscape:connector-curvature="0"
139 id="path4527"
140 d="m 512,-589.6378 c -4.41826,0 -7.99998,3.58171 -7.99998,8.00001 0,4.41826 3.58172,7.99999 7.99998,7.99999 4.41827,0 8,-3.58173 8,-7.99999 0,-4.4183 -3.58173,-8.00001 -8,-8.00001 z"
141 style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6;marker:none;enable-background:accumulate" />
142 <path
143 inkscape:connector-curvature="0"
144 id="path4518"
145 d="M 488.66666,-580.74888 474,-552.6378 l 13.76342,0 21.681,0 -10.84065,-20.77774 -3.05556,5.85657 -6.88155,-13.18991 z"
146 style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6;marker:none;enable-background:accumulate" />
147 <path
148 style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;enable-background:accumulate"
149 d="M 6 6 L 6 72 L 45.480469 72 A 22.499983 22.499983 0 0 1 45 67.5 A 22.499983 22.499983 0 0 1 47.615234 57 L 12 57 L 12 12 L 66 12 L 66 45.052734 A 22.499983 22.499983 0 0 1 67.5 45 A 22.499983 22.499983 0 0 1 72 45.457031 L 72 6 L 6 6 z "
150 transform="translate(458,-605.6378)"
151 id="path4105" />
152 <path
153 style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#df382c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
154 d="M 67.5 51 A 16.499996 16.499996 0 0 0 51 67.5 A 16.499996 16.499996 0 0 0 67.5 84 A 16.499996 16.499996 0 0 0 84 67.5 A 16.499996 16.499996 0 0 0 67.5 51 z M 67.5 56 A 11.499993 11.499993 0 0 1 79 67.5 A 11.499993 11.499993 0 0 1 67.5 79 A 11.499993 11.499993 0 0 1 56 67.5 A 11.499993 11.499993 0 0 1 67.5 56 z "
155 transform="translate(458,-605.6378)"
156 id="path4200" />
157 <path
158 style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#df382c;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
159 d="m 515,-527.6378 21,-21"
160 id="path4192"
161 inkscape:connector-curvature="0" />
162 </g>
163 </g>
164 </g>
165</svg>

Subscribers

People subscribed via source and target branches