1.0.4-1
Merge Co-Authored-By: molan-git <molan-git@users.noreply.github.com>
This commit is contained in:
parent
15653a90a3
commit
45ba338259
35 changed files with 1590 additions and 1626 deletions
|
@ -114,4 +114,4 @@ TRANSLATIONS += translations/harbour-tooter-pl.ts
|
|||
TRANSLATIONS += translations/harbour-tooter-ru.ts
|
||||
TRANSLATIONS += translations/harbour-tooter-sr.ts
|
||||
TRANSLATIONS += translations/harbour-tooter-sv.ts
|
||||
TRANSLATIONS += translations/harbour-tooter-zh.ts
|
||||
TRANSLATIONS += translations/harbour-tooter-zh_CN.ts
|
||||
|
|
14
qml/images/emojiselect.svg
Normal file
14
qml/images/emojiselect.svg
Normal file
|
@ -0,0 +1,14 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
|
||||
<title>Artboard 1</title>
|
||||
<g>
|
||||
<rect width="64" height="64" fill="#fff" fill-opacity="0"/>
|
||||
<path d="M32,56.55A24.55,24.55,0,1,1,56.55,32,24.58,24.58,0,0,1,32,56.55Zm0-47A22.45,22.45,0,1,0,54.45,32,22.48,22.48,0,0,0,32,9.55Z" fill="#fff" opacity="0.6" style="isolation: isolate"/>
|
||||
</g>
|
||||
<g opacity="0.39">
|
||||
<g>
|
||||
<path d="M45.42,29a1.49,1.49,0,0,1-1.49-1.49,3,3,0,1,0-6,0,1.49,1.49,0,0,1-3,0,6,6,0,1,1,11.92,0A1.49,1.49,0,0,1,45.42,29Z" fill="#fff"/>
|
||||
<path d="M27.53,29A1.49,1.49,0,0,1,26,27.51a3,3,0,1,0-6,0,1.49,1.49,0,0,1-3,0,6,6,0,1,1,11.92,0A1.49,1.49,0,0,1,27.53,29Z" fill="#fff"/>
|
||||
</g>
|
||||
<path d="M47.85,37.16a1.48,1.48,0,0,0-1.27-.71H17.42a1.49,1.49,0,0,0-1.33,2.16,17.84,17.84,0,0,0,31.81,0A1.5,1.5,0,0,0,47.85,37.16Z" fill="#fff"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 886 B |
|
@ -1,19 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="15 0 60 60" enable-background="new 15 0 60 60" xml:space="preserve">
|
||||
<g>
|
||||
<circle fill="none" stroke="#FFFFFF" stroke-width="2" stroke-miterlimit="10" cx="45" cy="30" r="23.4"/>
|
||||
|
||||
<ellipse opacity="0.6" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-miterlimit="10" enable-background="new " cx="45" cy="30" rx="12.4" ry="23.4"/>
|
||||
<path opacity="0.6" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-miterlimit="10" enable-background="new " d="
|
||||
M61.5,13.4c-2.6,4.1-9.5,6.9-16.5,6.9s-13.9-2.8-16.5-6.9"/>
|
||||
<path opacity="0.6" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-miterlimit="10" enable-background="new " d="
|
||||
M28.5,46.6c2.6-4.1,9.5-6.9,16.5-6.9s13.9,2.8,16.5,6.9"/>
|
||||
|
||||
<line opacity="0.6" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-miterlimit="10" enable-background="new " x1="21.6" y1="30" x2="68.4" y2="30"/>
|
||||
|
||||
<line opacity="0.6" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-miterlimit="10" enable-background="new " x1="45" y1="6.6" x2="45" y2="53.4"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.4 KiB |
|
@ -1,37 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 64 64" enable-background="new 0 0 64 64" xml:space="preserve">
|
||||
<path id="Home" fill="none" stroke="#FFFFFF" stroke-width="3" stroke-linejoin="round" stroke-miterlimit="10" d="M28.8,8.2L9,24.2
|
||||
c-0.3,0.3-0.5,0.7-0.5,1.1v30.2c0,0.8,0.7,1.5,1.5,1.5h13.2c0.8,0,1.5-0.7,1.5-1.5V36.4c0-0.8,0.7-1.5,1.5-1.5h11.8
|
||||
c0.8,0,1.5,0.7,1.5,1.5v19.1c0,0.8,0.7,1.5,1.5,1.5h13.2c0.8,0,1.5-0.7,1.5-1.5V25.3c0-0.4-0.2-0.9-0.5-1.1l-19.7-16
|
||||
C33.4,6.6,30.6,6.6,28.8,8.2z"/>
|
||||
<g id="Local" display="none">
|
||||
|
||||
<circle display="inline" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-linejoin="round" stroke-miterlimit="10" cx="32" cy="27.8" r="7.4"/>
|
||||
<path display="inline" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-linejoin="round" stroke-miterlimit="10" d="M32,7.2
|
||||
c11.4,0,20.6,9.2,20.6,20.6c0,3-0.6,5.8-1.8,8.4c-0.9,2.1-2.2,4-3.8,5.7l-15,15l-15-15c-1.6-1.7-2.9-3.6-3.8-5.7
|
||||
c-1.1-2.6-1.8-5.4-1.8-8.4C11.4,16.4,20.6,7.2,32,7.2z"/>
|
||||
</g>
|
||||
<g id="Federation" display="none">
|
||||
<circle display="inline" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-miterlimit="10" cx="32" cy="32" r="25"/>
|
||||
|
||||
<ellipse display="inline" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-miterlimit="10" cx="32" cy="32" rx="13.2" ry="25"/>
|
||||
<path display="inline" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-miterlimit="10" d="M49.6,14.3
|
||||
c-2.8,4.4-10.1,7.4-17.6,7.4s-14.8-3-17.6-7.4"/>
|
||||
<path display="inline" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-miterlimit="10" d="M14.4,49.7
|
||||
c2.8-4.4,10.1-7.4,17.6-7.4s14.8,3,17.6,7.4"/>
|
||||
<line display="inline" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-miterlimit="10" x1="7" y1="32" x2="57" y2="32"/>
|
||||
<line display="inline" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-miterlimit="10" x1="32" y1="7" x2="32" y2="57"/>
|
||||
</g>
|
||||
<g id="Search" display="none">
|
||||
|
||||
<circle display="inline" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-linejoin="round" stroke-miterlimit="10" cx="29.1" cy="29.1" r="20.6"/>
|
||||
|
||||
<line display="inline" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-linejoin="round" stroke-miterlimit="10" x1="55.5" y1="55.5" x2="43.8" y2="43.8"/>
|
||||
</g>
|
||||
<path id="Notification_1_" display="none" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M44,53.3c2,2.3,4.9,3.7,8.2,3.7c2.2,0,4.2-0.6,5.9-1.8c-3.4-1.9-5.8-5.3-6.5-9.3c2.7-4,4.2-8.8,4.2-13.9c0-13.8-11.2-25-25-25
|
||||
s-25,11.2-25,25s11.2,25,25,25C35.7,57,40.2,55.6,44,53.3z"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 2.8 KiB |
|
@ -1,39 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="15 0 60 60" enable-background="new 15 0 60 60" xml:space="preserve">
|
||||
<path id="Home" display="none" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M57,7.7l-18.6,15c-0.3,0.3-0.5,0.7-0.5,1V52c0,0.8,0.7,1.4,1.4,1.4h12.4c0.8,0,1.4-0.7,1.4-1.4V34.1c0-0.7,0.7-1.4,1.4-1.4h11.1
|
||||
c0.8,0,1.4,0.7,1.4,1.4V52c0,0.8,0.7,1.4,1.4,1.4h12.4c0.8,0,1.4-0.7,1.4-1.4V23.7c0-0.4-0.2-0.8-0.5-1l-18.5-15
|
||||
C61.3,6.2,58.7,6.2,57,7.7z"/>
|
||||
<g>
|
||||
|
||||
<circle opacity="0.6" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-linejoin="round" stroke-miterlimit="10" enable-background="new " cx="45" cy="26" r="6.9"/>
|
||||
<path fill="none" stroke="#FFFFFF" stroke-width="2" stroke-linejoin="round" stroke-miterlimit="10" d="M45,6.8
|
||||
c10.7,0,19.3,8.6,19.3,19.3c0,2.8-0.6,5.4-1.7,7.9c-0.8,2-2.1,3.8-3.6,5.3l-14,14L31,39.3c-1.5-1.6-2.7-3.4-3.6-5.3
|
||||
c-1-2.4-1.7-5.1-1.7-7.9C25.8,15.4,34.3,6.8,45,6.8z"/>
|
||||
</g>
|
||||
<g id="Federation" display="none">
|
||||
<circle display="inline" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-miterlimit="10" cx="60" cy="30" r="23.4"/>
|
||||
|
||||
<ellipse display="inline" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-miterlimit="10" cx="60" cy="30" rx="12.4" ry="23.4"/>
|
||||
<path display="inline" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-miterlimit="10" d="M76.5,13.4
|
||||
c-2.6,4.1-9.5,6.9-16.5,6.9s-13.9-2.8-16.5-6.9"/>
|
||||
<path display="inline" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-miterlimit="10" d="M43.5,46.6
|
||||
c2.6-4.1,9.5-6.9,16.5-6.9s13.9,2.8,16.5,6.9"/>
|
||||
|
||||
<line display="inline" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-miterlimit="10" x1="36.6" y1="30" x2="83.4" y2="30"/>
|
||||
|
||||
<line display="inline" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-miterlimit="10" x1="60" y1="6.6" x2="60" y2="53.4"/>
|
||||
</g>
|
||||
<g id="Search" display="none">
|
||||
|
||||
<circle display="inline" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-linejoin="round" stroke-miterlimit="10" cx="57.3" cy="27.3" r="19.3"/>
|
||||
|
||||
<line display="inline" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-linejoin="round" stroke-miterlimit="10" x1="82" y1="52" x2="71.1" y2="41.1"/>
|
||||
</g>
|
||||
<path id="Notification_1_" display="none" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M71.3,50c1.9,2.2,4.6,3.5,7.7,3.5c2.1,0,3.9-0.6,5.5-1.7c-3.2-1.8-5.4-5-6.1-8.7c2.5-3.8,3.9-8.2,3.9-13c0-12.9-10.5-23.4-23.4-23.4
|
||||
S35.4,17.1,35.4,30s10.5,23.4,23.4,23.4C63.5,53.4,67.7,52.1,71.3,50z"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 2.8 KiB |
|
@ -1,15 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 36 36" enable-background="new 0 0 36 36" xml:space="preserve">
|
||||
<g>
|
||||
<g>
|
||||
<path fill="#FFFFFF" d="M23.1,5.9C19.2,2,12.8,2,8.9,5.9C5,9.8,5,16.1,8.9,20.1c3.9,3.9,10.2,3.9,14.1,0C27,16.1,27,9.8,23.1,5.9z
|
||||
M21.6,18.6c-3.1,3.1-8.2,3.1-11.3,0c-3.1-3.1-3.1-8.2,0-11.3c3.1-3.1,8.2-3.1,11.3,0C24.8,10.4,24.8,15.5,21.6,18.6z M19,32h-2
|
||||
v-6h-2v6h-2c-0.6,0-1,0.4-1,1c0,0.6,0.4,1,1,1h6c0.6,0,1-0.4,1-1C20,32.4,19.6,32,19,32z"/>
|
||||
</g>
|
||||
</g>
|
||||
<path fill="#FFFFFF" d="M15.9,28c-3.9,0-7.7-1.5-10.6-4.4c-0.4-0.4-0.4-1,0-1.4c0.4-0.4,1-0.4,1.4,0c5.1,5.1,13.5,5,18.5,0
|
||||
c5-5,5-13.4,0-18.5c-0.4-0.4-0.4-1,0-1.4c0.4-0.4,1-0.4,1.4,0c5.9,5.9,5.9,15.4,0,21.3C23.7,26.5,19.8,28,15.9,28z"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 1 KiB |
|
@ -1,39 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="18.9 0 60 60" enable-background="new 18.9 0 60 60" xml:space="preserve">
|
||||
<path id="Home" display="none" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M42,7.7l-18.6,15c-0.3,0.3-0.5,0.7-0.5,1V52c0,0.8,0.7,1.4,1.4,1.4h12.4c0.8,0,1.4-0.7,1.4-1.4V34.1c0-0.7,0.7-1.4,1.4-1.4h11.1
|
||||
c0.8,0,1.4,0.7,1.4,1.4V52c0,0.8,0.7,1.4,1.4,1.4h12.4c0.8,0,1.4-0.7,1.4-1.4V23.7c0-0.4-0.2-0.8-0.5-1l-18.5-15
|
||||
C46.3,6.2,43.7,6.2,42,7.7z"/>
|
||||
<g id="Local" display="none">
|
||||
|
||||
<circle display="inline" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-linejoin="round" stroke-miterlimit="10" cx="45" cy="26.1" r="6.9"/>
|
||||
<path display="inline" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-linejoin="round" stroke-miterlimit="10" d="M45,6.8
|
||||
c10.7,0,19.3,8.6,19.3,19.3c0,2.8-0.6,5.4-1.7,7.9c-0.8,2-2.1,3.8-3.6,5.3L45,53.3L30.9,39.3c-1.5-1.6-2.7-3.4-3.6-5.3
|
||||
c-1-2.4-1.7-5.1-1.7-7.9C25.7,15.4,34.3,6.8,45,6.8z"/>
|
||||
</g>
|
||||
<g id="Federation" display="none">
|
||||
<circle display="inline" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-miterlimit="10" cx="45" cy="30" r="23.4"/>
|
||||
|
||||
<ellipse display="inline" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-miterlimit="10" cx="45" cy="30" rx="12.4" ry="23.4"/>
|
||||
<path display="inline" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-miterlimit="10" d="M61.5,13.4
|
||||
c-2.6,4.1-9.5,6.9-16.5,6.9s-13.9-2.8-16.5-6.9"/>
|
||||
<path display="inline" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-miterlimit="10" d="M28.5,46.6
|
||||
c2.6-4.1,9.5-6.9,16.5-6.9s13.9,2.8,16.5,6.9"/>
|
||||
|
||||
<line display="inline" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-miterlimit="10" x1="21.6" y1="30" x2="68.4" y2="30"/>
|
||||
|
||||
<line display="inline" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-miterlimit="10" x1="45" y1="6.6" x2="45" y2="53.4"/>
|
||||
</g>
|
||||
<g>
|
||||
|
||||
<circle opacity="0.6" fill="none" stroke="#FFFFFF" stroke-width="3" stroke-linejoin="round" stroke-miterlimit="10" cx="46.2" cy="27.3" r="19.3"/>
|
||||
|
||||
<line fill="none" stroke="#FFFFFF" stroke-width="3" stroke-linejoin="round" stroke-miterlimit="10" x1="70.9" y1="52" x2="60.9" y2="42"/>
|
||||
</g>
|
||||
<path id="Notification_1_" display="none" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M56.3,50c1.9,2.2,4.6,3.5,7.7,3.5c2.1,0,3.9-0.6,5.5-1.7c-3.2-1.8-5.4-5-6.1-8.7c2.5-3.8,3.9-8.2,3.9-13c0-12.9-10.5-23.4-23.4-23.4
|
||||
S20.4,17.1,20.4,30s10.5,23.4,23.4,23.4C48.5,53.4,52.7,52.1,56.3,50z"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 2.8 KiB |
|
@ -60,6 +60,7 @@ WorkerScript.onMessage = function(msg) {
|
|||
} else if(msg.action === "notifications") {
|
||||
// notification
|
||||
//console.log("Is notification... parsing...")
|
||||
console.log(JSON.stringify(data[i]))
|
||||
item = parseNotification(data[i]);
|
||||
items.push(item)
|
||||
|
||||
|
@ -81,7 +82,7 @@ WorkerScript.onMessage = function(msg) {
|
|||
console.log("descendants")
|
||||
for (var j = 0; j < data[i].length; j ++) {
|
||||
item = parseToot(data[i][j]);
|
||||
item['id'] = item['status_id']
|
||||
item['id'] = item['status_id'];
|
||||
if (typeof item['attachments'] === "undefined")
|
||||
item['attachments'] = [];
|
||||
items.push(item)
|
||||
|
@ -148,12 +149,20 @@ function parseNotification(data){
|
|||
};
|
||||
switch (item['type']){
|
||||
case "mention":
|
||||
if (!data.status) {
|
||||
break;
|
||||
}
|
||||
|
||||
item = parseToot(data.status)
|
||||
item['typeIcon'] = "image://theme/icon-s-retweet"
|
||||
item['typeIcon'] = "image://theme/icon-s-alarm"
|
||||
item['type'] = "mention";
|
||||
break;
|
||||
case "reblog":
|
||||
if (!data.status) {
|
||||
break;
|
||||
}
|
||||
|
||||
item = parseToot(data.status)
|
||||
item = parseAccounts(item, "reblog_", data["account"])
|
||||
item = parseAccounts(item, "", data["status"]["account"])
|
||||
|
@ -162,6 +171,10 @@ function parseNotification(data){
|
|||
item['typeIcon'] = "image://theme/icon-s-retweet"
|
||||
break;
|
||||
case "favourite":
|
||||
if (!data.status) {
|
||||
break;
|
||||
}
|
||||
|
||||
item = parseToot(data.status)
|
||||
item = parseAccounts(item, "reblog_", data["account"])
|
||||
item = parseAccounts(item, "", data["status"]["account"])
|
||||
|
|
|
@ -1,284 +0,0 @@
|
|||
/****************************************************************************************
|
||||
**
|
||||
** Copyright (C) 2013 Jolla Ltd.
|
||||
** Contact: Raine Makelainen <raine.makelainen@jollamobile.com>
|
||||
** All rights reserved.
|
||||
**
|
||||
** This file is part of Sailfish Silica UI component package.
|
||||
**
|
||||
** You may use this file under the terms of BSD license as follows:
|
||||
**
|
||||
** Redistribution and use in source and binary forms, with or without
|
||||
** modification, are permitted provided that the following conditions are met:
|
||||
** * Redistributions of source code must retain the above copyright
|
||||
** notice, this list of conditions and the following disclaimer.
|
||||
** * Redistributions in binary form must reproduce the above copyright
|
||||
** notice, this list of conditions and the following disclaimer in the
|
||||
** documentation and/or other materials provided with the distribution.
|
||||
** * Neither the name of the Jolla Ltd nor the
|
||||
** names of its contributors may be used to endorse or promote products
|
||||
** derived from this software without specific prior written permission.
|
||||
**
|
||||
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
** DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR
|
||||
** ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
**
|
||||
****************************************************************************************/
|
||||
|
||||
import QtQuick 2.0
|
||||
import QtWebKit 3.0
|
||||
import Sailfish.Silica 1.0
|
||||
|
||||
Page {
|
||||
id: browser
|
||||
property string href;
|
||||
property bool screenReaderMode: true
|
||||
property bool loaded: false
|
||||
property string articleContent: ""
|
||||
property string articleTitle: ""
|
||||
property string articleDate: ""
|
||||
property string articleImage: ""
|
||||
onLoadedChanged: {
|
||||
pullDownMenu.busy = pullDownMenu2.busy = !loaded
|
||||
}
|
||||
onStatusChanged: {
|
||||
if (status === PageStatus.Active) {
|
||||
fetchData();
|
||||
}
|
||||
|
||||
}
|
||||
onScreenReaderModeChanged: {
|
||||
loaded = false;
|
||||
fetchData();
|
||||
}
|
||||
|
||||
allowedOrientations: Orientation.All
|
||||
function fetchData(){
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open("GET", "https://mercury.postlight.com/parser?url="+href, true);
|
||||
xhr.onreadystatechange = function() {
|
||||
if ( xhr.readyState === xhr.DONE ) {
|
||||
if ( xhr.status === 200 ) {
|
||||
console.log(xhr.responseText)
|
||||
var response = JSON.parse(xhr.responseText);
|
||||
//if (response.date_published)
|
||||
//articleDate = new Date(response.date_published.replace(/^(\w+) (\w+) (\d+) ([\d:]+) \+0000 (\d+)$/,"$1, $2 $3 $5 $4 GMT"));
|
||||
if (response.title)
|
||||
articleTitle = response.title;
|
||||
if (response.lead_image_url)
|
||||
articleImage = response.lead_image_url
|
||||
if (response.content)
|
||||
articleContent = response.content;
|
||||
if (response.content && response.lead_image_url)
|
||||
articleContent = articleContent.replace(articleImage, "")
|
||||
} else {
|
||||
|
||||
}
|
||||
loaded = true;
|
||||
}
|
||||
}
|
||||
xhr.setRequestHeader("Content-Type", 'application/json');
|
||||
xhr.setRequestHeader("x-api-key", 'uakC11NlSubREs1r5NjkOCS1NJEkwti6DnDutcYC');
|
||||
|
||||
if (screenReaderMode)
|
||||
xhr.send();
|
||||
else
|
||||
webView.url = 'https://mercury.postlight.com/amp?url='+href
|
||||
}
|
||||
|
||||
|
||||
|
||||
BusyIndicator {
|
||||
id: loading
|
||||
size: BusyIndicatorSize.Large
|
||||
anchors.centerIn: parent
|
||||
running: !loaded
|
||||
}
|
||||
|
||||
SilicaWebView {
|
||||
enabled: !screenReaderMode
|
||||
visible: !screenReaderMode
|
||||
id: webView
|
||||
anchors {
|
||||
fill: parent
|
||||
}
|
||||
|
||||
PullDownMenu {
|
||||
id: pullDownMenu
|
||||
MenuItem {
|
||||
text: qsTr("Open in Browser")
|
||||
onClicked: {
|
||||
Qt.openUrlExternally(href);
|
||||
}
|
||||
}
|
||||
MenuItem {
|
||||
text: screenReaderMode ? qsTr("Web mode") : qsTr("Reading mode")
|
||||
onClicked: {
|
||||
screenReaderMode = !screenReaderMode
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
opacity: 0
|
||||
onLoadingChanged: {
|
||||
switch (loadRequest.status)
|
||||
{
|
||||
case WebView.LoadSucceededStatus:
|
||||
opacity = 1
|
||||
loaded = true;
|
||||
break
|
||||
case WebView.LoadFailedStatus:
|
||||
opacity = 0
|
||||
loaded = true;
|
||||
viewPlaceHolder.errorString = loadRequest.errorString
|
||||
break
|
||||
default:
|
||||
opacity = 0
|
||||
loaded = false;
|
||||
break
|
||||
}
|
||||
}
|
||||
FadeAnimation on opacity {}
|
||||
}
|
||||
ViewPlaceholder {
|
||||
id: viewPlaceHolder
|
||||
property string errorString
|
||||
enabled: webView.opacity === 0 && loaded && !screenReaderMode
|
||||
text: errorString
|
||||
hintText: "Check network connectivity and pull down to reload"
|
||||
}
|
||||
|
||||
|
||||
|
||||
SilicaFlickable {
|
||||
visible: screenReaderMode
|
||||
enabled: screenReaderMode
|
||||
anchors {
|
||||
fill: parent
|
||||
}
|
||||
contentHeight: article.height
|
||||
VerticalScrollDecorator {}
|
||||
PullDownMenu {
|
||||
id: pullDownMenu2
|
||||
MenuItem {
|
||||
text: qsTr("Copy URL")
|
||||
onClicked: Clipboard.text = href
|
||||
}
|
||||
MenuItem {
|
||||
text: qsTr("Open in Browser")
|
||||
onClicked: Qt.openUrlExternally(href);
|
||||
}
|
||||
MenuItem {
|
||||
text: screenReaderMode ? qsTr("Web mode") : qsTr("Reading mode")
|
||||
onClicked: {
|
||||
screenReaderMode = !screenReaderMode
|
||||
}
|
||||
}
|
||||
}
|
||||
Column {
|
||||
|
||||
id: article
|
||||
width: parent.width
|
||||
|
||||
Rectangle {
|
||||
height: Theme.itemSizeExtraSmall/3
|
||||
width: parent.width
|
||||
opacity: 0
|
||||
}
|
||||
|
||||
Label {
|
||||
id: title
|
||||
text: articleTitle
|
||||
font.pixelSize: Theme.fontSizeLarge
|
||||
color: Theme.highlightColor
|
||||
textFormat: Text.StyledText
|
||||
wrapMode: Text.WordWrap
|
||||
font.bold: true
|
||||
anchors {
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
leftMargin: Theme.paddingLarge
|
||||
rightMargin: Theme.paddingLarge
|
||||
}
|
||||
}
|
||||
Label {
|
||||
id: date
|
||||
visible: articleDate !== ""
|
||||
text: articleDate
|
||||
font.pixelSize: Theme.fontSizeExtraSmall
|
||||
color: Theme.secondaryColor
|
||||
anchors {
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
topMargin: Theme.paddingSmall
|
||||
bottomMargin: Theme.paddingSmall
|
||||
leftMargin: Theme.paddingLarge
|
||||
rightMargin: Theme.paddingLarge
|
||||
}
|
||||
}
|
||||
Rectangle {
|
||||
height: image.visible ? Theme.itemSizeExtraSmall/3 : 0
|
||||
width: parent.width
|
||||
opacity: 0
|
||||
}
|
||||
Image {
|
||||
id: image
|
||||
visible: articleImage !== "" ? true : false
|
||||
source: articleImage
|
||||
width: parent.width
|
||||
height: Theme.itemSizeExtraLarge
|
||||
fillMode: Image.PreserveAspectCrop
|
||||
anchors {
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
}
|
||||
BusyIndicator {
|
||||
size: BusyIndicatorSize.Small
|
||||
anchors.centerIn: parent
|
||||
running: parent.status != Image.Ready
|
||||
}
|
||||
|
||||
onStatusChanged: if (image.status === Image.Ready) {
|
||||
var ratio = image.sourceSize.width/image.sourceSize.height
|
||||
height = width / ratio
|
||||
}
|
||||
}
|
||||
Rectangle {
|
||||
height: image.visible ? Theme.itemSizeExtraSmall/3 : 0
|
||||
width: parent.width
|
||||
opacity: 0
|
||||
}
|
||||
Label {
|
||||
id: content
|
||||
readonly property string _linkStyle: "<style>a:link { color: " + Theme.primaryColor + "; } h1, h2, h3, h4 { color: " + Theme.highlightColor + "; } img { margin: "+Theme.paddingLarge+" 0; width: 100\%}</style>"
|
||||
textFormat: Text.RichText
|
||||
text: _linkStyle + articleContent;
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
color: Theme.secondaryColor
|
||||
wrapMode: Text.WordWrap
|
||||
anchors {
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
topMargin: image.visible ? Theme.paddingSmall : Theme.paddingLarge
|
||||
leftMargin: Theme.paddingLarge
|
||||
rightMargin: Theme.paddingLarge
|
||||
bottomMargin: Theme.paddingLarge
|
||||
}
|
||||
|
||||
}
|
||||
Rectangle {
|
||||
height: Theme.itemSizeExtraSmall/3
|
||||
width: parent.width
|
||||
opacity: 0
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -6,32 +6,37 @@ import "./components/"
|
|||
|
||||
Page {
|
||||
id: conversationPage
|
||||
property string type;
|
||||
property string type
|
||||
property alias title: header.title
|
||||
property alias description: header.description
|
||||
property alias avatar: header.image
|
||||
property string suggestedUser: ""
|
||||
property ListModel suggestedModel;
|
||||
property ListModel suggestedModel
|
||||
property string toot_id: ""
|
||||
property int tootMaxChar: 500;
|
||||
property ListModel mdl;
|
||||
property ListModel mdl
|
||||
allowedOrientations: Orientation.All
|
||||
onSuggestedUserChanged: {
|
||||
console.log(suggestedUser)
|
||||
suggestedModel = Qt.createQmlObject('import QtQuick 2.0; ListModel { }', Qt.application, 'InternalQmlObject');
|
||||
predictionList.visible = false;
|
||||
suggestedModel = Qt.createQmlObject(
|
||||
'import QtQuick 2.0; ListModel { }',
|
||||
Qt.application, 'InternalQmlObject'
|
||||
)
|
||||
predictionList.visible = false
|
||||
if (suggestedUser.length > 0) {
|
||||
var msg = {
|
||||
'action' : 'accounts/search',
|
||||
'method' : 'GET',
|
||||
'model' : suggestedModel,
|
||||
'mode' : "append",
|
||||
'params' : [ {name: "q", data: suggestedUser} ],
|
||||
|
||||
'conf' : Logic.conf
|
||||
};
|
||||
worker.sendMessage(msg);
|
||||
predictionList.visible = true;
|
||||
"action": 'accounts/search',
|
||||
"method": 'GET',
|
||||
"model": suggestedModel,
|
||||
"mode": "append",
|
||||
"params": [{
|
||||
"name": "q",
|
||||
"data": suggestedUser
|
||||
}],
|
||||
"conf": Logic.conf
|
||||
}
|
||||
worker.sendMessage(msg)
|
||||
predictionList.visible = true
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -59,7 +64,7 @@ Page {
|
|||
header: PageHeader {
|
||||
title: qsTr("Conversation")
|
||||
}
|
||||
clip: true;
|
||||
clip: true
|
||||
anchors {
|
||||
top: parent.top
|
||||
bottom: panel.top
|
||||
|
@ -74,21 +79,21 @@ Page {
|
|||
text: Format.formatDate(section, Formatter.DateMedium)
|
||||
}
|
||||
}
|
||||
delegate: VisualContainer {}
|
||||
delegate: VisualContainer {
|
||||
}
|
||||
onCountChanged: {
|
||||
if (mdl)
|
||||
for (var i = 0; i < mdl.count; i++){
|
||||
for (var i = 0; i < mdl.count; i++) {
|
||||
if (mdl.get(i).status_id === toot_id) {
|
||||
console.log(mdl.get(i).status_id)
|
||||
positionViewAtIndex(i, ListView.Center )
|
||||
positionViewAtIndex(i, ListView.Center)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Rectangle {
|
||||
id: predictionList
|
||||
visible: false;
|
||||
visible: false
|
||||
anchors.bottom: panel.top
|
||||
anchors.left: parent.left
|
||||
anchors.right: panel.right
|
||||
|
@ -102,20 +107,24 @@ Page {
|
|||
|
||||
delegate: ItemUser {
|
||||
onClicked: {
|
||||
var start = toot.cursorPosition;
|
||||
while(toot.text[start] !== "@" && start > 0){
|
||||
start--;
|
||||
var start = toot.cursorPosition
|
||||
while (toot.text[start] !== "@" && start > 0) {
|
||||
start--
|
||||
}
|
||||
textOperations.text = toot.text
|
||||
textOperations.cursorPosition = toot.cursorPosition
|
||||
textOperations.moveCursorSelection(start-1,TextInput.SelectWords)
|
||||
toot.text = textOperations.text.substring(0, textOperations.selectionStart) + ' @'+model.account_acct + ' ' + textOperations.text.substring(textOperations.selectionEnd).trim()
|
||||
textOperations.moveCursorSelection(start - 1, TextInput.SelectWords)
|
||||
toot.text = textOperations.text.substring(0, textOperations.selectionStart)
|
||||
+ ' @'
|
||||
+ model.account_acct
|
||||
+ ' '
|
||||
+ textOperations.text.substring(textOperations.selectionEnd).trim()
|
||||
|
||||
toot.cursorPosition = toot.text.indexOf('@'+model.account_acct)
|
||||
toot.cursorPosition = toot.text.indexOf('@' + model.account_acct)
|
||||
}
|
||||
}
|
||||
onCountChanged: {
|
||||
positionViewAtIndex(suggestedModel.count-1, ListView.End )
|
||||
positionViewAtIndex(suggestedModel.count - 1, ListView.End)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -130,7 +139,9 @@ Page {
|
|||
}
|
||||
|
||||
width: parent.width
|
||||
height: progressBar.height + toot.height + (mediaModel.count ? uploadedImages.height : 0) + btnContentWarning.height + Theme.paddingMedium + (warningContent.visible ? warningContent.height : 0)
|
||||
height: progressBar.height + toot.height + (mediaModel.count ? uploadedImages.height : 0)
|
||||
+ btnContentWarning.height + Theme.paddingMedium
|
||||
+ (warningContent.visible ? warningContent.height : 0)
|
||||
dock: Dock.Bottom
|
||||
Rectangle {
|
||||
width: parent.width
|
||||
|
@ -145,7 +156,7 @@ Page {
|
|||
}
|
||||
Rectangle {
|
||||
id: progressBar
|
||||
width: toot.text.length ? panel.width*(toot.text.length/tootMaxChar) : 0;
|
||||
width: toot.text.length ? panel.width * (toot.text.length / tootMaxChar) : 0
|
||||
|
||||
height: Theme.itemSizeSmall * 0.05
|
||||
color: Theme.highlightBackgroundColor
|
||||
|
@ -159,7 +170,7 @@ Page {
|
|||
TextField {
|
||||
id: warningContent
|
||||
visible: false
|
||||
height: visible ? implicitHeight : 0;
|
||||
height: visible ? implicitHeight : 0
|
||||
anchors {
|
||||
top: parent.top
|
||||
topMargin: Theme.paddingMedium
|
||||
|
@ -168,7 +179,9 @@ Page {
|
|||
}
|
||||
autoScrollEnabled: true
|
||||
labelVisible: false
|
||||
placeholderText: qsTr("Content warning!")
|
||||
placeholderText: qsTr("Write your warning here")
|
||||
placeholderColor: palette.highlightColor
|
||||
color: palette.highlightColor
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
EnterKey.onClicked: {
|
||||
//tweet()
|
||||
|
@ -191,9 +204,13 @@ Page {
|
|||
autoScrollEnabled: true
|
||||
labelVisible: false
|
||||
//focus: true
|
||||
text: description !== "" && (description.charAt(0) == '@' || description.charAt(0) == '#') ? description+' ' : ''
|
||||
height: implicitHeight
|
||||
text: description !== "" && (description.charAt(0) == '@'
|
||||
|| description.charAt(
|
||||
0) == '#') ? description + ' ' : ''
|
||||
height: Math.max(270, Math.min(900, implicitHeight))
|
||||
//height: implicitHeight
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
placeholderText: qsTr("What's on your mind?")
|
||||
EnterKey.onClicked: {
|
||||
//tweet()
|
||||
}
|
||||
|
@ -201,12 +218,14 @@ Page {
|
|||
textOperations.text = toot.text
|
||||
textOperations.cursorPosition = toot.cursorPosition
|
||||
textOperations.selectWord()
|
||||
textOperations.select(textOperations.selectionStart ? textOperations.selectionStart-1 : 0, textOperations.selectionEnd)
|
||||
textOperations.select(
|
||||
textOperations.selectionStart ? textOperations.selectionStart - 1 : 0,
|
||||
textOperations.selectionEnd)
|
||||
//console.log(textOperations.text.substr(textOperations.selectionStart, textOperations.selectionEnd))
|
||||
console.log(toot.text.length)
|
||||
suggestedUser = ""
|
||||
if (textOperations.selectedText.charAt(0) === "@") {
|
||||
suggestedUser = textOperations.selectedText.trim().substring(1);
|
||||
suggestedUser = textOperations.selectedText.trim().substring(1)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -218,18 +237,18 @@ Page {
|
|||
}
|
||||
|
||||
anchors {
|
||||
top: warningContent.bottom
|
||||
bottom: bottom.top
|
||||
right: parent.right
|
||||
rightMargin: Theme.paddingSmall
|
||||
}
|
||||
icon.source: "image://theme/icon-s-mms?" + (pressed
|
||||
? Theme.highlightColor
|
||||
: (warningContent.visible ? Theme.secondaryHighlightColor : Theme.primaryColor))
|
||||
icon.source: "../../qml/images/emojiselect.svg" + (pressed ? Theme.highlightColor : (warningContent.visible ? Theme.secondaryHighlightColor : Theme.primaryColor))
|
||||
onClicked: pageStack.push(firstWizardPage)
|
||||
}
|
||||
SilicaGridView {
|
||||
id: uploadedImages
|
||||
width: parent.width
|
||||
anchors.top: bottom.toot
|
||||
anchors.bottom: parent.bottom
|
||||
height: mediaModel.count ? Theme.itemSizeSmall : 0
|
||||
model: mediaModel
|
||||
|
@ -239,7 +258,9 @@ Page {
|
|||
id: myDelegate
|
||||
width: uploadedImages.cellWidth
|
||||
height: uploadedImages.cellHeight
|
||||
RemorseItem { id: remorse }
|
||||
RemorseItem {
|
||||
id: remorse
|
||||
}
|
||||
Image {
|
||||
anchors.fill: parent
|
||||
fillMode: Image.PreserveAspectCrop
|
||||
|
@ -250,18 +271,34 @@ Page {
|
|||
var idx = index
|
||||
console.log(idx)
|
||||
//mediaModel.remove(idx)
|
||||
remorse.execute(myDelegate, qsTr("Delete"), function() { mediaModel.remove(idx) } )
|
||||
remorse.execute(myDelegate, qsTr("Delete"), function () {
|
||||
mediaModel.remove(idx)
|
||||
})
|
||||
}
|
||||
}
|
||||
add: Transition {
|
||||
NumberAnimation { property: "opacity"; from: 0; to: 1.0; duration: 800 }
|
||||
NumberAnimation {
|
||||
property: "opacity"
|
||||
from: 0
|
||||
to: 1.0
|
||||
duration: 800
|
||||
}
|
||||
}
|
||||
|
||||
remove: Transition {
|
||||
NumberAnimation { property: "opacity"; from: 1.0; to: 0; duration: 800 }
|
||||
NumberAnimation {
|
||||
property: "opacity"
|
||||
from: 1.0
|
||||
to: 0
|
||||
duration: 800
|
||||
}
|
||||
}
|
||||
displaced: Transition {
|
||||
NumberAnimation { properties: "x,y"; duration: 800; easing.type: Easing.InOutBack }
|
||||
NumberAnimation {
|
||||
properties: "x,y"
|
||||
duration: 800
|
||||
easing.type: Easing.InOutBack
|
||||
}
|
||||
}
|
||||
}
|
||||
IconButton {
|
||||
|
@ -272,9 +309,8 @@ Page {
|
|||
left: parent.left
|
||||
leftMargin: Theme.paddingMedium
|
||||
}
|
||||
icon.source: "image://theme/icon-s-high-importance?" + (pressed
|
||||
? Theme.highlightColor
|
||||
: (warningContent.visible ? Theme.secondaryHighlightColor : Theme.primaryColor))
|
||||
icon.source: "image://theme/icon-s-warning?"
|
||||
+ (pressed ? Theme.highlightColor : (warningContent.visible ? Theme.secondaryHighlightColor : Theme.primaryColor))
|
||||
onClicked: warningContent.visible = !warningContent.visible
|
||||
}
|
||||
IconButton {
|
||||
|
@ -285,112 +321,114 @@ Page {
|
|||
left: btnContentWarning.right
|
||||
leftMargin: Theme.paddingSmall
|
||||
}
|
||||
icon.source: "image://theme/icon-s-attach?" + (pressed
|
||||
? Theme.highlightColor
|
||||
: (warningContent.visible ? Theme.secondaryHighlightColor : Theme.primaryColor))
|
||||
icon.source: "image://theme/icon-s-attach?"
|
||||
+ (pressed ? Theme.highlightColor : (warningContent.visible ? Theme.secondaryHighlightColor : Theme.primaryColor))
|
||||
onClicked: {
|
||||
btnAddImage.enabled = false;
|
||||
var once = true;
|
||||
var imagePicker = pageStack.push("Sailfish.Pickers.ImagePickerPage", { "allowedOrientations" : Orientation.All });
|
||||
btnAddImage.enabled = false
|
||||
var once = true
|
||||
var imagePicker = pageStack.push("Sailfish.Pickers.ImagePickerPage", {"allowedOrientations": Orientation.All})
|
||||
imagePicker.selectedContentChanged.connect(function () {
|
||||
var imagePath = imagePicker.selectedContent;
|
||||
var imagePath = imagePicker.selectedContent
|
||||
console.log(imagePath)
|
||||
imageUploader.setUploadUrl(Logic.conf.instance + "/api/v1/media")
|
||||
imageUploader.setFile(imagePath);
|
||||
imageUploader.setAuthorizationHeader(Logic.conf.api_user_token);
|
||||
imageUploader.upload();
|
||||
});
|
||||
imageUploader.setFile(imagePath)
|
||||
imageUploader.setAuthorizationHeader(Logic.conf.api_user_token)
|
||||
imageUploader.upload()
|
||||
})
|
||||
}
|
||||
}
|
||||
ImageUploader {
|
||||
id: imageUploader
|
||||
|
||||
onProgressChanged: {
|
||||
console.log("progress "+progress)
|
||||
uploadProgress.width = parent.width*progress
|
||||
console.log("progress " + progress)
|
||||
uploadProgress.width = parent.width * progress
|
||||
}
|
||||
|
||||
onSuccess: {
|
||||
uploadProgress.width =0
|
||||
console.log(replyData);
|
||||
uploadProgress.width = 0
|
||||
console.log(replyData)
|
||||
|
||||
mediaModel.append(JSON.parse(replyData))
|
||||
|
||||
|
||||
}
|
||||
|
||||
onFailure: {
|
||||
uploadProgress.width =0
|
||||
btnAddImage.enabled = true;
|
||||
uploadProgress.width = 0
|
||||
btnAddImage.enabled = true
|
||||
console.log(status)
|
||||
console.log(statusText)
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
ComboBox {
|
||||
id: privacy
|
||||
anchors {
|
||||
top: toot.bottom
|
||||
topMargin: -Theme.paddingSmall*2
|
||||
topMargin: -Theme.paddingSmall * 2
|
||||
left: btnAddImage.right
|
||||
right: btnSend.left
|
||||
}
|
||||
menu: ContextMenu {
|
||||
MenuItem { text: qsTr("public") }
|
||||
MenuItem { text: qsTr("unlisted") }
|
||||
MenuItem { text: qsTr("followers only") }
|
||||
MenuItem { text: qsTr("direct") }
|
||||
MenuItem {
|
||||
text: qsTr("Public")
|
||||
}
|
||||
MenuItem {
|
||||
text: qsTr("Unlisted")
|
||||
}
|
||||
MenuItem {
|
||||
text: qsTr("Followers-only")
|
||||
}
|
||||
MenuItem {
|
||||
text: qsTr("Direct")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
IconButton {
|
||||
id: btnSend
|
||||
icon.source: "image://theme/icon-m-enter?" + (pressed
|
||||
? Theme.highlightColor
|
||||
: Theme.primaryColor)
|
||||
icon.source: "image://theme/icon-m-send?"
|
||||
+ (pressed ? Theme.highlightColor : Theme.primaryColor)
|
||||
anchors {
|
||||
top: toot.bottom
|
||||
right: parent.right
|
||||
rightMargin: Theme.paddingLarge
|
||||
rightMargin: Theme.paddingSmall
|
||||
}
|
||||
enabled: toot.text !== "" && toot.text.length < tootMaxChar
|
||||
enabled: toot.text !== "" && toot.text.length < tootMaxChar && uploadProgress.width == 0
|
||||
onClicked: {
|
||||
var visibility = [ "public", "unlisted", "private", "direct"];
|
||||
var media_ids = [];
|
||||
for(var k = 0; k < mediaModel.count; k++){
|
||||
var visibility = ["public", "unlisted", "private", "direct"]
|
||||
var media_ids = []
|
||||
for (var k = 0; k < mediaModel.count; k++) {
|
||||
console.log(mediaModel.get(k).id)
|
||||
media_ids.push(mediaModel.get(k).id)
|
||||
}
|
||||
|
||||
var msg = {
|
||||
'action' : 'statuses',
|
||||
'method' : 'POST',
|
||||
'model' : mdl,
|
||||
'mode' : "append",
|
||||
'params' : {
|
||||
"action": 'statuses',
|
||||
"method": 'POST',
|
||||
"model": mdl,
|
||||
"mode": "append",
|
||||
"params": {
|
||||
"status": toot.text,
|
||||
"visibility": visibility[privacy.currentIndex],
|
||||
"media_ids": media_ids
|
||||
},
|
||||
'conf' : Logic.conf
|
||||
};
|
||||
"conf": Logic.conf
|
||||
}
|
||||
if (toot_id)
|
||||
msg.params['in_reply_to_id'] = (toot_id)+""
|
||||
msg.params['in_reply_to_id'] = (toot_id) + ""
|
||||
|
||||
if (warningContent.visible && warningContent.text.length > 0){
|
||||
if (warningContent.visible && warningContent.text.length > 0) {
|
||||
msg.params['sensitive'] = 1
|
||||
msg.params['spoiler_text'] = warningContent.text
|
||||
}
|
||||
|
||||
worker.sendMessage(msg);
|
||||
worker.sendMessage(msg)
|
||||
warningContent.text = ""
|
||||
toot.text = ""
|
||||
mediaModel.clear()
|
||||
pageStack.pop()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Rectangle {
|
||||
id: uploadProgress
|
||||
color: Theme.highlightBackgroundColor
|
||||
|
@ -402,45 +440,46 @@ Page {
|
|||
Component.onCompleted: {
|
||||
toot.cursorPosition = toot.text.length
|
||||
if (mdl.count > 0) {
|
||||
var setIndex = 0;
|
||||
switch (mdl.get(0).status_visibility){
|
||||
var setIndex = 0
|
||||
switch (mdl.get(0).status_visibility) {
|
||||
case "unlisted":
|
||||
setIndex = 1;
|
||||
break;
|
||||
setIndex = 1
|
||||
break
|
||||
case "private":
|
||||
setIndex = 2;
|
||||
break;
|
||||
setIndex = 2
|
||||
break
|
||||
case "direct":
|
||||
privacy.enabled = false;
|
||||
setIndex = 3;
|
||||
break;
|
||||
privacy.enabled = false
|
||||
setIndex = 3
|
||||
break
|
||||
default:
|
||||
privacy.enabled = true;
|
||||
setIndex = 0;
|
||||
privacy.enabled = true
|
||||
setIndex = 0
|
||||
}
|
||||
privacy.currentIndex = setIndex;
|
||||
privacy.currentIndex = setIndex
|
||||
}
|
||||
|
||||
console.log(JSON.stringify())
|
||||
|
||||
worker.sendMessage({
|
||||
'action' : 'statuses/'+mdl.get(0).status_id+'/context',
|
||||
'method' : 'GET',
|
||||
'model' : mdl,
|
||||
'params' : { },
|
||||
'conf' : Logic.conf
|
||||
});
|
||||
"action": 'statuses/' + mdl.get(0).status_id + '/context',
|
||||
"method": 'GET',
|
||||
"model": mdl,
|
||||
"params": { },
|
||||
"conf": Logic.conf
|
||||
})
|
||||
}
|
||||
Component {
|
||||
id: firstWizardPage
|
||||
|
||||
Dialog {
|
||||
id: emoticonsDialog
|
||||
canAccept: false; //selector.currentIndex >= 0
|
||||
//acceptDestination: conversationPage
|
||||
canAccept: false //selector.currentIndex >= 0
|
||||
|
||||
//acceptDestination: conversationPage
|
||||
onAcceptPendingChanged: {
|
||||
if (acceptPending) {
|
||||
|
||||
// Tell the destination page what the selected category is
|
||||
// acceptDestinationInstance.category = selector.value
|
||||
}
|
||||
|
@ -515,7 +554,6 @@ Page {
|
|||
ListElement { section: "smileys"; glyph: "🙎" }
|
||||
ListElement { section: "smileys"; glyph: "🙏" }
|
||||
|
||||
|
||||
ListElement { section: "Transport and map"; glyph: "🚀" }
|
||||
ListElement { section: "Transport and map"; glyph: "🚃" }
|
||||
ListElement { section: "Transport and map"; glyph: "🚀" }
|
||||
|
@ -561,11 +599,6 @@ Page {
|
|||
ListElement { section: "Horoscope Signs"; glyph: "♑" }
|
||||
ListElement { section: "Horoscope Signs"; glyph: "♒" }
|
||||
ListElement { section: "Horoscope Signs"; glyph: "♓" }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
delegate: BackgroundItem {
|
||||
width: gridView.cellWidth
|
||||
|
@ -578,11 +611,12 @@ Page {
|
|||
}
|
||||
onClicked: {
|
||||
var cursorPosition = toot.cursorPosition
|
||||
toot.text = toot.text.substring(0, cursorPosition) + model.glyph + toot.text.substring(cursorPosition)
|
||||
toot.cursorPosition = cursorPosition+model.glyph.length
|
||||
emoticonsDialog.canAccept = true;
|
||||
toot.text = toot.text.substring(
|
||||
0, cursorPosition) + model.glyph + toot.text.substring(
|
||||
cursorPosition)
|
||||
toot.cursorPosition = cursorPosition + model.glyph.length
|
||||
emoticonsDialog.canAccept = true
|
||||
emoticonsDialog.accept()
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -69,10 +69,11 @@ Page {
|
|||
onOpenDrawer: infoPanel.open = setDrawer
|
||||
}
|
||||
MyList{
|
||||
id: tlPublic;
|
||||
title: qsTr("Federated")
|
||||
type: "timelines/public"
|
||||
mdl: Logic.modelTLpublic
|
||||
id: tlNotifications;
|
||||
title: qsTr("Notifications")
|
||||
type: "notifications"
|
||||
notifier: true
|
||||
mdl: Logic.modelTLnotifications
|
||||
width: parent.itemWidth
|
||||
height: parent.itemHeight
|
||||
onOpenDrawer: infoPanel.open = setDrawer
|
||||
|
@ -88,11 +89,10 @@ Page {
|
|||
onOpenDrawer: infoPanel.open = setDrawer
|
||||
}
|
||||
MyList{
|
||||
id: tlNotifications;
|
||||
title: qsTr("Notifications")
|
||||
type: "notifications"
|
||||
notifier: true
|
||||
mdl: Logic.modelTLnotifications
|
||||
id: tlPublic;
|
||||
title: qsTr("Federated")
|
||||
type: "timelines/public"
|
||||
mdl: Logic.modelTLpublic
|
||||
width: parent.itemWidth
|
||||
height: parent.itemHeight
|
||||
onOpenDrawer: infoPanel.open = setDrawer
|
||||
|
@ -185,7 +185,7 @@ Page {
|
|||
delegate: ItemUser {
|
||||
onClicked: {
|
||||
pageStack.push(Qt.resolvedUrl("Profile.qml"), {
|
||||
"displayname": model.account_username,
|
||||
"display_name": model.account_display_name,
|
||||
"username": model.account_acct,
|
||||
"user_id": model.account_id,
|
||||
"profileImage": model.account_avatar
|
||||
|
@ -260,8 +260,13 @@ Page {
|
|||
slideshow.positionViewAtIndex(4, ListView.SnapToItem)
|
||||
navigation.navigateTo('search')
|
||||
|
||||
} else if (test.length === 4 && test[3][0] === "@" ) {
|
||||
tlSearch.search = decodeURIComponent("@"+test[3].substring(1)+"@"+test[2])
|
||||
slideshow.positionViewAtIndex(4, ListView.SnapToItem)
|
||||
navigation.navigateTo('search')
|
||||
|
||||
} else {
|
||||
pageStack.push(Qt.resolvedUrl("Browser.qml"), {"href" : href})
|
||||
Qt.openUrlExternally(href);
|
||||
}
|
||||
}
|
||||
Component.onCompleted: {
|
||||
|
|
|
@ -6,7 +6,7 @@ import QtGraphicalEffects 1.0
|
|||
|
||||
Page {
|
||||
property ListModel tweets;
|
||||
property string displayname : "";
|
||||
property string display_name : "";
|
||||
property string username : "";
|
||||
property string profileImage : "";
|
||||
property int user_id;
|
||||
|
@ -16,8 +16,9 @@ Page {
|
|||
property int favourites_count;
|
||||
property int reblogs_count;
|
||||
property int count_moments;
|
||||
property string profile_background : "";
|
||||
property string profile_background: "";
|
||||
property string note: "";
|
||||
property string url: "";
|
||||
|
||||
property bool locked : false;
|
||||
property date created_at;
|
||||
|
@ -39,7 +40,7 @@ Page {
|
|||
followers_count = messageObject.data.followers_count
|
||||
following_count = messageObject.data.following_count
|
||||
username = messageObject.data.acct
|
||||
displayname = messageObject.data.display_name
|
||||
display_name = messageObject.data.display_name
|
||||
profileImage = messageObject.data.avatar_static
|
||||
|
||||
var msg = {
|
||||
|
@ -68,9 +69,10 @@ Page {
|
|||
following_count = messageObject.data
|
||||
break;
|
||||
case 'acct':
|
||||
//username = messageObject.data
|
||||
// line below was commented out, reason unknown
|
||||
// username = messageObject.data
|
||||
break;
|
||||
case 'locked':
|
||||
case 'locked':m
|
||||
locked = messageObject.data
|
||||
break;
|
||||
case 'created_at':
|
||||
|
@ -82,6 +84,9 @@ Page {
|
|||
case 'note':
|
||||
note = messageObject.data
|
||||
break;
|
||||
case 'url':
|
||||
url = messageObject.data
|
||||
break;
|
||||
case 'following':
|
||||
following = messageObject.data
|
||||
followers_count = followers_count + (following ? 1 : - 1)
|
||||
|
@ -135,7 +140,7 @@ Page {
|
|||
id: list
|
||||
header: ProfileHeader {
|
||||
id: header
|
||||
title: displayname
|
||||
title: display_name
|
||||
description: '@'+username
|
||||
image: profileImage
|
||||
}
|
||||
|
@ -238,10 +243,65 @@ Page {
|
|||
}
|
||||
|
||||
}
|
||||
/*ExpandingSection {
|
||||
title: "Tweets"
|
||||
ExpandingSection {
|
||||
title: qsTr("Bio")
|
||||
content.sourceComponent: Column {
|
||||
spacing: Theme.paddingMedium
|
||||
anchors.bottomMargin: Theme.paddingLarge
|
||||
Text {
|
||||
x: Theme.horizontalPageMargin
|
||||
width: parent.width - ( 2 * Theme.horizontalPageMargin )
|
||||
id: txtnote
|
||||
text: note
|
||||
font.pixelSize: Theme.fontSizeExtraSmall
|
||||
color: Theme.secondaryColor
|
||||
linkColor: Theme.secondaryHighlightColor
|
||||
wrapMode: Text.Wrap
|
||||
anchors {
|
||||
horizontalCenter: parent.horizontalCenter
|
||||
}
|
||||
onLinkActivated: {
|
||||
var test = link.split("/")
|
||||
console.log(link)
|
||||
console.log(JSON.stringify(test))
|
||||
console.log(JSON.stringify(test.length))
|
||||
|
||||
}*/
|
||||
if (test.length === 5 && (test[3] === "tags" || test[3] === "tag") ) {
|
||||
pageStack.pop(pageStack.find(function(page) {
|
||||
var check = page.isFirstPage === true;
|
||||
if (check)
|
||||
page.onLinkActivated(link)
|
||||
return check;
|
||||
}));
|
||||
send(link)
|
||||
|
||||
} else if (test.length === 4 && test[3][0] === "@" ) {
|
||||
tlSearch.search = decodeURIComponent("@"+test[3].substring(1)+"@"+test[2])
|
||||
slideshow.positionViewAtIndex(4, ListView.SnapToItem)
|
||||
navigation.navigateTo('search')
|
||||
|
||||
} else {
|
||||
Qt.openUrlExternally(link);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Column {
|
||||
spacing: Theme.paddingMedium
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
Button {
|
||||
id: btnUrl
|
||||
text: qsTr("Open Profile in Browser")
|
||||
onClicked: {
|
||||
Qt.openUrlExternally(url);
|
||||
}
|
||||
}
|
||||
}
|
||||
Label {
|
||||
text: " "
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -102,32 +102,38 @@ Page {
|
|||
}
|
||||
ListElement {
|
||||
name: "Miodrag Nikolić"
|
||||
desc: "visual identity"
|
||||
desc: qsTr("Visual identity")
|
||||
mastodon: ""
|
||||
mail: "micotakis@gmail.com"
|
||||
}
|
||||
ListElement {
|
||||
name: "molan"
|
||||
desc: qsTr("Development and maintenence")
|
||||
mastodon: ""
|
||||
mail: "mol_an@sunrise.ch"
|
||||
}
|
||||
ListElement {
|
||||
name: "Quentin PAGÈS / Quenti ♏"
|
||||
desc: "Occitan & French translation"
|
||||
desc: qsTr("Occitan & French translation")
|
||||
mastodon: "Quenti@framapiaf.org"
|
||||
mail: ""
|
||||
}
|
||||
ListElement {
|
||||
name: "André Koot"
|
||||
desc: "Dutch translation"
|
||||
desc: qsTr("Dutch translation")
|
||||
mastodon: "meneer@mastodon.social"
|
||||
mail: "https://twitter.com/meneer"
|
||||
}
|
||||
ListElement {
|
||||
name: "Carlos Gonzalez / Caballlero"
|
||||
desc: "Español translation"
|
||||
name: "CarmenFdez"
|
||||
desc: qsTr("Spanish translation")
|
||||
mastodon: ""
|
||||
mail: "carlosgonz@protonmail.com"
|
||||
mail: ""
|
||||
}
|
||||
|
||||
ListElement {
|
||||
name: "Mohamed-Touhami MAHDI"
|
||||
desc: "Added README file"
|
||||
desc: qsTr("Added README file")
|
||||
mastodon: "dragnucs@touha.me"
|
||||
mail: "touhami@touha.me"
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@ BackgroundItem {
|
|||
MouseArea {
|
||||
anchors.fill: parent
|
||||
onClicked: pageStack.push(Qt.resolvedUrl("./../Profile.qml"), {
|
||||
"displayname": model.account_username,
|
||||
"display_name": model.account_display_name,
|
||||
"username": model.account_acct,
|
||||
"user_id": model.account_id,
|
||||
"profileImage": model.account_avatar
|
||||
|
@ -60,7 +60,7 @@ BackgroundItem {
|
|||
}
|
||||
}
|
||||
onClicked: openUser({
|
||||
"displayname": model.account_username,
|
||||
"display_name": model.account_display_name,
|
||||
"username": model.account_acct,
|
||||
"user_id": model.account_id,
|
||||
"profileImage": model.account_avatar
|
||||
|
|
|
@ -15,38 +15,33 @@ SilicaGridView {
|
|||
id: listModel
|
||||
ListElement {
|
||||
icon: "image://theme/icon-m-home"
|
||||
//icon: "../../images/home.svg"
|
||||
slug: "home"
|
||||
name: "Home"
|
||||
active: true
|
||||
unread: false
|
||||
}
|
||||
ListElement {
|
||||
//icon: "image://theme/icon-m-region"
|
||||
icon: "../../images/federated.svg"
|
||||
slug: "federated"
|
||||
name: "Federated"
|
||||
icon: "image://theme/icon-m-alarm"
|
||||
slug: "notifications"
|
||||
name: "Notifications"
|
||||
active: false
|
||||
unread: false
|
||||
}
|
||||
ListElement {
|
||||
//icon: "image://theme/icon-m-sailfish"
|
||||
icon: "../../images/local.svg"
|
||||
icon: "image://theme/icon-m-whereami"
|
||||
slug: "local"
|
||||
name: "Local"
|
||||
active: false
|
||||
unread: false
|
||||
}
|
||||
ListElement {
|
||||
icon: "image://theme/icon-m-alarm"
|
||||
//icon: "../../images/notification.svg"
|
||||
slug: "notifications"
|
||||
name: "Notifications"
|
||||
icon: "image://theme/icon-m-website"
|
||||
slug: "federated"
|
||||
name: "Federated"
|
||||
active: false
|
||||
unread: false
|
||||
}
|
||||
ListElement {
|
||||
icon: "image://theme/icon-m-search"
|
||||
//icon: "../../images/search.svg"
|
||||
slug: "search"
|
||||
name: "Search"
|
||||
active: false
|
||||
|
|
|
@ -19,7 +19,7 @@ Item {
|
|||
}*/
|
||||
Rectangle {
|
||||
anchors.fill: parent
|
||||
opacity: 0.1
|
||||
opacity: 0.2
|
||||
gradient: Gradient {
|
||||
GradientStop { position: 0.0; color: Theme.highlightBackgroundColor }
|
||||
GradientStop { position: 1.0; color: Theme.highlightBackgroundColor }
|
||||
|
@ -51,7 +51,7 @@ Item {
|
|||
id: ttl
|
||||
text: title
|
||||
height: contentHeight
|
||||
color: Theme.highlightColor
|
||||
color: Theme.primaryColor
|
||||
font.pixelSize: Theme.fontSizeLarge
|
||||
font.family: Theme.fontFamilyHeading
|
||||
horizontalAlignment: Text.AlignRight
|
||||
|
@ -61,7 +61,7 @@ Item {
|
|||
Label {
|
||||
height: description === "" ? 0 : contentHeight
|
||||
text: description
|
||||
color: Theme.secondaryHighlightColor
|
||||
color: Theme.primaryColor
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
font.family: Theme.fontFamilyHeading
|
||||
horizontalAlignment: Text.AlignRight
|
||||
|
|
|
@ -63,7 +63,7 @@ BackgroundItem {
|
|||
anchors.fill: parent
|
||||
onClicked: {
|
||||
pageStack.push(Qt.resolvedUrl("../Profile.qml"), {
|
||||
"displayname": account_display_name,
|
||||
"display_name": account_display_name,
|
||||
"username": account_username,
|
||||
"profileImage": account_avatar
|
||||
})
|
||||
|
@ -164,7 +164,7 @@ BackgroundItem {
|
|||
|
||||
send(link)
|
||||
} else {
|
||||
pageStack.push(Qt.resolvedUrl("../Browser.qml"), {"href" : link})
|
||||
Qt.openUrlExternally(link);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -55,7 +55,7 @@ BackgroundItem {
|
|||
anchors.fill: parent
|
||||
onClicked: {
|
||||
pageStack.push(Qt.resolvedUrl("../Profile.qml"), {
|
||||
"displayname": model.account_username,
|
||||
"display_name": model.account_display_name,
|
||||
"username": model.account_acct,
|
||||
"user_id": model.account_id,
|
||||
"profileImage": model.account_avatar
|
||||
|
@ -134,13 +134,12 @@ BackgroundItem {
|
|||
}));
|
||||
send(link)
|
||||
} else if (test.length === 4 && test[3][0] === "@" ) {
|
||||
pageStack.push(Qt.resolvedUrl("../Profile.qml"), {
|
||||
"name": "",
|
||||
"username": test[3].substring(1)+"@"+test[2],
|
||||
"profileImage": ""
|
||||
})
|
||||
tlSearch.search = decodeURIComponent("@"+test[3].substring(1)+"@"+test[2])
|
||||
slideshow.positionViewAtIndex(4, ListView.SnapToItem)
|
||||
navigation.navigateTo('search')
|
||||
|
||||
} else {
|
||||
pageStack.push(Qt.resolvedUrl("../Browser.qml"), {"href" : link})
|
||||
Qt.openUrlExternally(link);
|
||||
}
|
||||
}
|
||||
text: content.replace(new RegExp("<a ", 'g'), '<a style="text-decoration: none; color:'+(pressed ? Theme.secondaryColor : Theme.highlightColor)+'" ')
|
||||
|
|
|
@ -1,6 +1,39 @@
|
|||
* Wed Apr 15 2020 Dusko Angirevic <dysko@me.com> 1.0.4-0
|
||||
- Login bugfix merge request
|
||||
- Updated translations
|
||||
* Thu Apr 16 2020 Dusko Angirevic <dysko@me.com> 1.0.4-1
|
||||
- Merge with molan code
|
||||
|
||||
* Tue Feb 04 2020 molan <mol_an@sunrise.ch> 1.0.3-8
|
||||
- Fix for broken translations
|
||||
- Updated Spanish translation
|
||||
|
||||
* Mon Feb 03 2020 molan <mol_an@sunrise.ch> 1.0.3-7
|
||||
- Updated translations for new language strings
|
||||
|
||||
* Thu Jan 30 2020 molan <mol_an@sunrise.ch> 1.0.3-6
|
||||
- Workaround for opening user profiles in toots
|
||||
- Show profile descriptions (Bio) with option to open them in Browser
|
||||
- Updated and improved UI for Conversation page
|
||||
- Indication for sending toot (move back to previous page)
|
||||
- New arrangement of main pages (like used in Mastodon websites and other apps)
|
||||
- Small UI and text/label changes
|
||||
|
||||
* Thu Jan 16 2020 molan <mol_an@sunrise.ch> 1.0.3-5 [fork of Tooter 1.0.3]
|
||||
- Fix for broken profile pages when clicking on usernames in toots
|
||||
- Fixed navigation icons for inverted ambiences
|
||||
- Updated Chinese translation (thanks to dashinfantry)
|
||||
|
||||
* Wed Jan 15 2020 molan <mol_an@sunrise.ch> 1.0.3-4 [fork of Tooter 1.0.3]
|
||||
- Website links in toots now open directly in browser since the web scraper service which was used before is discontinued
|
||||
- Profile page now shows full display name in title instead of user name
|
||||
- Changed send, content warning and add emoji icon in Conversation page for clarification
|
||||
- Small update to Chinese translation (thanks to dashinfantry)
|
||||
- Completed German and French translations
|
||||
|
||||
* Mon Jan 06 2020 molan <mol_an@sunrise.ch> 1.0.3-3 [fork of Tooter 1.0.3]
|
||||
- Update and rename harbour-tooter-zh.ts to harbour-tooter-zh_CN.ts (thanks to dashinfantry)
|
||||
|
||||
* Sat Dec 28 2019 molan <mol_an@sunrise.ch> 1.0.3-1 [fork of Tooter 1.0.3]
|
||||
- Fixed broken Mastodon login (app built with Sailfish SDK 2.4)
|
||||
- Fixed crash on certain notifications
|
||||
|
||||
* Sun Jan 27 2019 Dusko Angirevic <dysko@me.com> 1.0.3-0
|
||||
- Remorse popup added for account removal
|
||||
|
|
|
@ -14,7 +14,7 @@ Name: harbour-tooter
|
|||
%{?qtc_builddir:%define _builddir %qtc_builddir}
|
||||
Summary: Tooter
|
||||
Version: 1.0.4
|
||||
Release: 0
|
||||
Release: 1
|
||||
Group: Qt/Qt
|
||||
License: LICENSE
|
||||
URL: http://example.org/
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
Name: harbour-tooter
|
||||
Summary: Tooter
|
||||
Version: 1.0.4
|
||||
Release: 0
|
||||
Release: 1
|
||||
# The contents of the Group field should be one of the groups listed here:
|
||||
# https://github.com/mer-tools/spectacle/blob/master/data/GROUPS
|
||||
Group: Qt/Qt
|
||||
|
|
|
@ -20,51 +20,12 @@
|
|||
<translation>hat gesagt</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Browser</name>
|
||||
<message>
|
||||
<source>Open in Browser</source>
|
||||
<translation>Öffne in Browser</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Web mode</source>
|
||||
<translation>Web-Modus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reading mode</source>
|
||||
<translation>Lese-Modus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy URL</source>
|
||||
<translation>Kopiere URL</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Conversation</name>
|
||||
<message>
|
||||
<source>Conversation</source>
|
||||
<translation>Konversation</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Content warning!</source>
|
||||
<translation>Inhaltswarnung!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>public</source>
|
||||
<translation>öffentlich</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>unlisted</source>
|
||||
<translation>nicht aufgeführt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>followers only</source>
|
||||
<translation>nur Follower</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>direct</source>
|
||||
<translation>direkt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete</source>
|
||||
<translation>Löschen</translation>
|
||||
|
@ -77,6 +38,30 @@
|
|||
<source>Tap to insert</source>
|
||||
<translation>Tippen um einzufügen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Write your warning here</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>What's on your mind?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Public</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlisted</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Followers-only</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Direct</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImageFullScreen</name>
|
||||
|
@ -230,6 +215,14 @@
|
|||
<source>Followers</source>
|
||||
<translation>Anhänger</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bio</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Profile in Browser</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Settings</name>
|
||||
|
@ -277,6 +270,30 @@
|
|||
<source>UI/UX design and development</source>
|
||||
<translation>UI/UX Design und Implementierung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Visual identity</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Occitan & French translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dutch translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Spanish translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Added README file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Development and maintenence</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Toot</name>
|
||||
|
|
|
@ -20,51 +20,12 @@
|
|||
<translation>είπε</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Browser</name>
|
||||
<message>
|
||||
<source>Open in Browser</source>
|
||||
<translation>Άνοιγμα στον φυλλομετρητή</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Web mode</source>
|
||||
<translation>Λειτουργία ιστού</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reading mode</source>
|
||||
<translation>Λειτουργία ανάγνωσης</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy URL</source>
|
||||
<translation>Αντιγραφή διεύθυνσης URL</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Conversation</name>
|
||||
<message>
|
||||
<source>Conversation</source>
|
||||
<translation>Συνομιλία</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Content warning!</source>
|
||||
<translation>Προειδοποίηση περιεχομένου!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>public</source>
|
||||
<translation>δημόσιο</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>unlisted</source>
|
||||
<translation>μη καταχωρημένο</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>followers only</source>
|
||||
<translation>μόνο αυτοί που σας ακολουθούν</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>direct</source>
|
||||
<translation>απευθείας</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete</source>
|
||||
<translation>Διαγραφή</translation>
|
||||
|
@ -77,6 +38,30 @@
|
|||
<source>Tap to insert</source>
|
||||
<translation>Κτυπήστε για εισαγωγή</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Write your warning here</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>What's on your mind?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Public</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlisted</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Followers-only</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Direct</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImageFullScreen</name>
|
||||
|
@ -230,6 +215,14 @@
|
|||
<source>Followers</source>
|
||||
<translation>Σας ακολουθούν</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bio</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Profile in Browser</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Settings</name>
|
||||
|
@ -277,6 +270,30 @@
|
|||
<source>UI/UX design and development</source>
|
||||
<translation>UI/UX σχεδιασμός και ανάπτυξη</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Visual identity</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Occitan & French translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dutch translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Spanish translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Added README file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Development and maintenence</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Toot</name>
|
||||
|
|
|
@ -20,51 +20,12 @@
|
|||
<translation>dijo</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Browser</name>
|
||||
<message>
|
||||
<source>Open in Browser</source>
|
||||
<translation>Abrir en navegador</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Web mode</source>
|
||||
<translation>Modo Web</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reading mode</source>
|
||||
<translation>Modo lectura</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy URL</source>
|
||||
<translation>Copiar URL</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Conversation</name>
|
||||
<message>
|
||||
<source>Conversation</source>
|
||||
<translation>Conversación</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Content warning!</source>
|
||||
<translation>Advertencia de contenido</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>public</source>
|
||||
<translation>público</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>unlisted</source>
|
||||
<translation>sin federar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>followers only</source>
|
||||
<translation>sólo seguidores</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>direct</source>
|
||||
<translation>directo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete</source>
|
||||
<translation>Borrar</translation>
|
||||
|
@ -77,6 +38,30 @@
|
|||
<source>Tap to insert</source>
|
||||
<translation>Toca para insertar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Write your warning here</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>What's on your mind?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Public</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlisted</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Followers-only</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Direct</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImageFullScreen</name>
|
||||
|
@ -230,6 +215,14 @@
|
|||
<source>Followers</source>
|
||||
<translation>Seguidores</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bio</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Profile in Browser</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Settings</name>
|
||||
|
@ -277,6 +270,30 @@
|
|||
<source>UI/UX design and development</source>
|
||||
<translation>Diseño UI/UX y desarrollo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Visual identity</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Occitan & French translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dutch translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Spanish translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Added README file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Development and maintenence</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Toot</name>
|
||||
|
|
|
@ -20,51 +20,12 @@
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Browser</name>
|
||||
<message>
|
||||
<source>Open in Browser</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Web mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reading mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Conversation</name>
|
||||
<message>
|
||||
<source>Conversation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Content warning!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>public</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>unlisted</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>followers only</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>direct</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -77,6 +38,30 @@
|
|||
<source>Tap to insert</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Write your warning here</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>What's on your mind?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Public</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlisted</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Followers-only</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Direct</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImageFullScreen</name>
|
||||
|
@ -230,6 +215,14 @@
|
|||
<source>Followers</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bio</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Profile in Browser</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Settings</name>
|
||||
|
@ -277,6 +270,30 @@
|
|||
<source>UI/UX design and development</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Visual identity</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Occitan & French translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dutch translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Spanish translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Added README file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Development and maintenence</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Toot</name>
|
||||
|
|
|
@ -20,51 +20,12 @@
|
|||
<translation>a dit</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Browser</name>
|
||||
<message>
|
||||
<source>Open in Browser</source>
|
||||
<translation>Ouvrir dans le navigateur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Web mode</source>
|
||||
<translation>Vue internet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reading mode</source>
|
||||
<translation>Mode lecture</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy URL</source>
|
||||
<translation>Copier l'URL</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Conversation</name>
|
||||
<message>
|
||||
<source>Conversation</source>
|
||||
<translation>Conversation</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Content warning!</source>
|
||||
<translation>Contenu sensible !</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>public</source>
|
||||
<translation>public</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>unlisted</source>
|
||||
<translation>non listé</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>followers only</source>
|
||||
<translation>abonnés seulement</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>direct</source>
|
||||
<translation>direct</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete</source>
|
||||
<translation>Supprimer</translation>
|
||||
|
@ -77,6 +38,30 @@
|
|||
<source>Tap to insert</source>
|
||||
<translation>Appuyez pour insérer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Write your warning here</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>What's on your mind?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Public</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlisted</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Followers-only</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Direct</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImageFullScreen</name>
|
||||
|
@ -230,6 +215,14 @@
|
|||
<source>Followers</source>
|
||||
<translation>Abonnés</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bio</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Profile in Browser</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Settings</name>
|
||||
|
@ -277,6 +270,30 @@
|
|||
<source>UI/UX design and development</source>
|
||||
<translation>design et développement de l'interface</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Visual identity</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Occitan & French translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dutch translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Spanish translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Added README file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Development and maintenence</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Toot</name>
|
||||
|
|
|
@ -20,51 +20,12 @@
|
|||
<translation>zei</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Browser</name>
|
||||
<message>
|
||||
<source>Open in Browser</source>
|
||||
<translation>Openen in browser</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Web mode</source>
|
||||
<translation>Webmodus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reading mode</source>
|
||||
<translation>Leesmodus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy URL</source>
|
||||
<translation>Kopieer URL</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Conversation</name>
|
||||
<message>
|
||||
<source>Conversation</source>
|
||||
<translation>Gesprek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Content warning!</source>
|
||||
<translation>Gevoelige inhoud!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>public</source>
|
||||
<translation>openbaar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>unlisted</source>
|
||||
<translation>niet op lijst</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>followers only</source>
|
||||
<translation>alleen volgers</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>direct</source>
|
||||
<translation>direct</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete</source>
|
||||
<translation>Verwijderen</translation>
|
||||
|
@ -77,6 +38,30 @@
|
|||
<source>Tap to insert</source>
|
||||
<translation>Tikken om in te voegen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Write your warning here</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>What's on your mind?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Public</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlisted</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Followers-only</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Direct</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImageFullScreen</name>
|
||||
|
@ -230,6 +215,14 @@
|
|||
<source>Followers</source>
|
||||
<translation>Volgers</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bio</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Profile in Browser</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Settings</name>
|
||||
|
@ -277,6 +270,30 @@
|
|||
<source>UI/UX design and development</source>
|
||||
<translation>UI/UX ontwerp en ontwikkeling</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Visual identity</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Occitan & French translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dutch translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Spanish translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Added README file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Development and maintenence</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Toot</name>
|
||||
|
|
|
@ -20,51 +20,12 @@
|
|||
<translation>zei</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Browser</name>
|
||||
<message>
|
||||
<source>Open in Browser</source>
|
||||
<translation>Openen in browser</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Web mode</source>
|
||||
<translation>Webmodus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reading mode</source>
|
||||
<translation>Leesmodus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy URL</source>
|
||||
<translation>URL kopiëren</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Conversation</name>
|
||||
<message>
|
||||
<source>Conversation</source>
|
||||
<translation>Gesprek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Content warning!</source>
|
||||
<translation>Gevoeligen inhoud!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>public</source>
|
||||
<translation>openbaar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>unlisted</source>
|
||||
<translation>niet op lijst</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>followers only</source>
|
||||
<translation>alleen volgers</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>direct</source>
|
||||
<translation>direct</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete</source>
|
||||
<translation>Verwijderen</translation>
|
||||
|
@ -77,6 +38,30 @@
|
|||
<source>Tap to insert</source>
|
||||
<translation>Tikt voor in te voegen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Write your warning here</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>What's on your mind?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Public</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlisted</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Followers-only</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Direct</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImageFullScreen</name>
|
||||
|
@ -230,6 +215,14 @@
|
|||
<source>Followers</source>
|
||||
<translation>Volgers</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bio</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Profile in Browser</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Settings</name>
|
||||
|
@ -277,6 +270,30 @@
|
|||
<source>UI/UX design and development</source>
|
||||
<translation>UI/UX-ontwerp en -ontwikkeling</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Visual identity</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Occitan & French translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dutch translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Spanish translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Added README file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Development and maintenence</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Toot</name>
|
||||
|
|
|
@ -20,51 +20,12 @@
|
|||
<translation>a dich</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Browser</name>
|
||||
<message>
|
||||
<source>Open in Browser</source>
|
||||
<translation>Dobrir dins lo navigator</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Web mode</source>
|
||||
<translation>Mòde Web</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reading mode</source>
|
||||
<translation>Mòde lectura</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy URL</source>
|
||||
<translation>Copiar l'URL</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Conversation</name>
|
||||
<message>
|
||||
<source>Conversation</source>
|
||||
<translation>Discutida</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Content warning!</source>
|
||||
<translation>Contengut sensible !</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>public</source>
|
||||
<translation>public</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>unlisted</source>
|
||||
<translation>pas listat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>followers only</source>
|
||||
<translation>seguidors solament</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>direct</source>
|
||||
<translation>dirècte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete</source>
|
||||
<translation>Escafar</translation>
|
||||
|
@ -77,6 +38,30 @@
|
|||
<source>Tap to insert</source>
|
||||
<translation>Tustejar per inserir</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Write your warning here</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>What's on your mind?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Public</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlisted</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Followers-only</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Direct</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImageFullScreen</name>
|
||||
|
@ -230,6 +215,14 @@
|
|||
<source>Followers</source>
|
||||
<translation>Seguidors</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bio</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Profile in Browser</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Settings</name>
|
||||
|
@ -277,6 +270,30 @@
|
|||
<source>UI/UX design and development</source>
|
||||
<translation>UI/UX design e desvlopament</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Visual identity</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Occitan & French translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dutch translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Spanish translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Added README file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Development and maintenence</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Toot</name>
|
||||
|
|
|
@ -20,51 +20,12 @@
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Browser</name>
|
||||
<message>
|
||||
<source>Open in Browser</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Web mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reading mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Conversation</name>
|
||||
<message>
|
||||
<source>Conversation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Content warning!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>public</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>unlisted</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>followers only</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>direct</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -77,6 +38,30 @@
|
|||
<source>Tap to insert</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Write your warning here</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>What's on your mind?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Public</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlisted</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Followers-only</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Direct</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImageFullScreen</name>
|
||||
|
@ -230,6 +215,14 @@
|
|||
<source>Followers</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bio</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Profile in Browser</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Settings</name>
|
||||
|
@ -277,6 +270,30 @@
|
|||
<source>UI/UX design and development</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Visual identity</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Occitan & French translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dutch translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Spanish translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Added README file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Development and maintenence</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Toot</name>
|
||||
|
|
|
@ -20,51 +20,12 @@
|
|||
<translation>сказал</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Browser</name>
|
||||
<message>
|
||||
<source>Open in Browser</source>
|
||||
<translation>Открыть в браузере</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Web mode</source>
|
||||
<translation>Веб-режим</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reading mode</source>
|
||||
<translation>Режим чтения</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy URL</source>
|
||||
<translation>Копировать URL</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Conversation</name>
|
||||
<message>
|
||||
<source>Conversation</source>
|
||||
<translation>Беседа</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Content warning!</source>
|
||||
<translation>Предупреждение о содержании!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>public</source>
|
||||
<translation>публика</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>unlisted</source>
|
||||
<translation>не указан</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>followers only</source>
|
||||
<translation>только последователи</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>direct</source>
|
||||
<translation>непосредственный</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete</source>
|
||||
<translation>Удалить</translation>
|
||||
|
@ -77,6 +38,30 @@
|
|||
<source>Tap to insert</source>
|
||||
<translation>Нажмите, чтобы вставить</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Write your warning here</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>What's on your mind?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Public</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlisted</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Followers-only</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Direct</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImageFullScreen</name>
|
||||
|
@ -230,6 +215,14 @@
|
|||
<source>Followers</source>
|
||||
<translation>Читают</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bio</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Profile in Browser</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Settings</name>
|
||||
|
@ -277,6 +270,30 @@
|
|||
<source>UI/UX design and development</source>
|
||||
<translation>Дизайн и разработка UI / UX</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Visual identity</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Occitan & French translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dutch translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Spanish translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Added README file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Development and maintenence</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Toot</name>
|
||||
|
|
|
@ -20,51 +20,12 @@
|
|||
<translation>каже</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Browser</name>
|
||||
<message>
|
||||
<source>Open in Browser</source>
|
||||
<translation>Отвори у прегледнику веба</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Web mode</source>
|
||||
<translation>Прегледник веба</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reading mode</source>
|
||||
<translation>Мод за читање</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy URL</source>
|
||||
<translation>Kopiraj link</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Conversation</name>
|
||||
<message>
|
||||
<source>Conversation</source>
|
||||
<translation>Разговор</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Content warning!</source>
|
||||
<translation>Упозорење на садржај</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>public</source>
|
||||
<translation>јавно</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>unlisted</source>
|
||||
<translation>не приказано</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>followers only</source>
|
||||
<translation>само за пратиоце</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>direct</source>
|
||||
<translation>директна порука</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete</source>
|
||||
<translation>Обриши</translation>
|
||||
|
@ -77,6 +38,30 @@
|
|||
<source>Tap to insert</source>
|
||||
<translation>Тапни за убацивање</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Write your warning here</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>What's on your mind?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Public</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlisted</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Followers-only</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Direct</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImageFullScreen</name>
|
||||
|
@ -230,6 +215,14 @@
|
|||
<source>Followers</source>
|
||||
<translation>Пратиоци</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bio</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Profile in Browser</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Settings</name>
|
||||
|
@ -277,6 +270,30 @@
|
|||
<source>UI/UX design and development</source>
|
||||
<translation>интерфејс дизајн и развој</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Visual identity</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Occitan & French translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dutch translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Spanish translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Added README file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Development and maintenence</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Toot</name>
|
||||
|
|
|
@ -20,51 +20,12 @@
|
|||
<translation>sade</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Browser</name>
|
||||
<message>
|
||||
<source>Open in Browser</source>
|
||||
<translation>Öppna i webbläsare</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Web mode</source>
|
||||
<translation>Webbläge</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reading mode</source>
|
||||
<translation>Läsläge</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy URL</source>
|
||||
<translation>Kopiera URL</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Conversation</name>
|
||||
<message>
|
||||
<source>Conversation</source>
|
||||
<translation>Konversation</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Content warning!</source>
|
||||
<translation>Innehållsvarning!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>public</source>
|
||||
<translation>publik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>unlisted</source>
|
||||
<translation>olistad</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>followers only</source>
|
||||
<translation>endast följare</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>direct</source>
|
||||
<translation>direkt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete</source>
|
||||
<translation>Radera</translation>
|
||||
|
@ -77,6 +38,30 @@
|
|||
<source>Tap to insert</source>
|
||||
<translation>Tryck för att infoga</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Write your warning here</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>What's on your mind?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Public</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlisted</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Followers-only</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Direct</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImageFullScreen</name>
|
||||
|
@ -230,6 +215,14 @@
|
|||
<source>Followers</source>
|
||||
<translation>Följare</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bio</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Profile in Browser</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Settings</name>
|
||||
|
@ -277,6 +270,30 @@
|
|||
<source>UI/UX design and development</source>
|
||||
<translation>UI/UX design och utveckling</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Visual identity</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Occitan & French translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dutch translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Spanish translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Added README file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Development and maintenence</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Toot</name>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="zh">
|
||||
<TS version="2.1" language="zh_CN">
|
||||
<context>
|
||||
<name>API</name>
|
||||
<message>
|
||||
|
@ -13,30 +13,11 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>boosted</source>
|
||||
<translation>推出的</translation>
|
||||
<translation>推起的</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>said</source>
|
||||
<translation>说的</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Browser</name>
|
||||
<message>
|
||||
<source>Open in Browser</source>
|
||||
<translation>在浏览器打开</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Web mode</source>
|
||||
<translation>网页模式</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reading mode</source>
|
||||
<translation>阅读模式</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy URL</source>
|
||||
<translation>复制链接</translation>
|
||||
<translation>说过</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -45,26 +26,6 @@
|
|||
<source>Conversation</source>
|
||||
<translation>对话</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Content warning!</source>
|
||||
<translation>内容警告</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>public</source>
|
||||
<translation>公共区域</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>unlisted</source>
|
||||
<translation>未列的</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>followers only</source>
|
||||
<translation>仅关注者</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>direct</source>
|
||||
<translation>直接</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete</source>
|
||||
<translation>删除</translation>
|
||||
|
@ -75,7 +36,31 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Tap to insert</source>
|
||||
<translation>点击插入</translation>
|
||||
<translation>点击以插入</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Write your warning here</source>
|
||||
<translation>在此编写你的警告信息</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Public</source>
|
||||
<translation>公共区域</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlisted</source>
|
||||
<translation>不公开</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Followers-only</source>
|
||||
<translation>仅关注者</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Direct</source>
|
||||
<translation>私信</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>What's on your mind?</source>
|
||||
<translation>有何想法?</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -89,7 +74,7 @@
|
|||
<name>ImageUploader</name>
|
||||
<message>
|
||||
<source>The file %1 does not exists</source>
|
||||
<translation>文件%1 不存在</translation>
|
||||
<translation>文件 %1 不存在</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -100,18 +85,18 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Instance</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter an Mastodon instance URL</source>
|
||||
<translation>输入一个Mastodon链接实例</translation>
|
||||
<translation>实例</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mastodon is a free, open-source social network. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. Pick a server that you trust — whichever you choose, you can interact with everyone else. Anyone can run their own Mastodon instance and participate in the social network seamlessly.</source>
|
||||
<translation>Mastodon 是一个免费且开源的社交网络。一个去中心化的商业平台的替代品,帮助你避免某个公司垄断你的通讯方式的风险。选取一个你信任的服务器,无论你选择什么,你都可以和其它任何人互动。任何人都能运行他们的Mastodon 实例并且无缝加入此社交网络。</translation>
|
||||
<translation>Mastodon 是一个自由且开源的社交网络。一个去中心化的商业平台的替代品。它能够避免某个公司垄断你的通讯方式的风险。选择一个你所信任的服务器——无论你选择什么,你都可以和其他人进行互动。任何人都能运行他们自己的 Mastodon 实例,然后无缝加入社交网站。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reload</source>
|
||||
<translation>重新加载</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter an Mastodon instance URL</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
|
@ -150,7 +135,7 @@
|
|||
<name>MiniStatus</name>
|
||||
<message>
|
||||
<source>boosted</source>
|
||||
<translation>推出的</translation>
|
||||
<translation>推起的</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>favourited</source>
|
||||
|
@ -177,18 +162,18 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>please wait...</source>
|
||||
<translation>请等候......</translation>
|
||||
<translation>稍等片刻......</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Profile</name>
|
||||
<message>
|
||||
<source>Unfollow</source>
|
||||
<translation>未关注</translation>
|
||||
<translation>取消关注</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Follow request sent!</source>
|
||||
<translation>关注请求已寄出</translation>
|
||||
<translation>已寄出关注请求!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Following</source>
|
||||
|
@ -230,6 +215,14 @@
|
|||
<source>Followers</source>
|
||||
<translation>关注者</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bio</source>
|
||||
<translation>简介</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Profile in Browser</source>
|
||||
<translation>在浏览器打开个人简介</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Settings</name>
|
||||
|
@ -239,50 +232,74 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Remove Account</source>
|
||||
<translation>删除账户</translation>
|
||||
<translation>移除账号</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add Account</source>
|
||||
<translation>添加账户</translation>
|
||||
<translation>添加账号</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Deauthorize this app and remove your account</source>
|
||||
<translation>取消授权此应用并且移除你的账户</translation>
|
||||
<translation>取消授权此软件并移除你的账号</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Authorize this app to use your Mastodon account in your behalf</source>
|
||||
<translation>授权应用使用你信任的Mastodon账户</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Load images in toots</source>
|
||||
<translation>加载嘟嘟的图片</translation>
|
||||
<translation>授权此软件使用你的 Mastodon 账号</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable this option if you want to preserve your data connection</source>
|
||||
<translation>如果想要保护你的数据连接,取消此操作</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Translate</source>
|
||||
<translation>翻译</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use Transifex to help with app translation to your language</source>
|
||||
<translation>使用Transifex 以帮助翻译成你使用的语言</translation>
|
||||
<translation>如果你想保护你的数据连接,请禁用此选项</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Credits</source>
|
||||
<translation>信用</translation>
|
||||
<translation>信誉</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>UI/UX design and development</source>
|
||||
<translation>UI/UX 设计和开发</translation>
|
||||
<translation>UI/UX设计及开发</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Visual identity</source>
|
||||
<translation>视觉识别</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Occitan & French translation</source>
|
||||
<translation>奥克西坦语及法语翻译</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dutch translation</source>
|
||||
<translation>尼德兰语翻译</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Spanish translation</source>
|
||||
<translation>西班牙语翻译</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Added README file</source>
|
||||
<translation>添加 README 文件</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Load images in toots</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Translate</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use Transifex to help with app translation to your language</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Development and maintenence</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Toot</name>
|
||||
<message>
|
||||
<source>boosted</source>
|
||||
<translation>推出的</translation>
|
||||
<translation>推起的</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>favourited</source>
|
||||
|
@ -297,19 +314,19 @@
|
|||
<name>VisualContainer</name>
|
||||
<message>
|
||||
<source>Unboost</source>
|
||||
<translation>取消推出</translation>
|
||||
<translation>取消推起</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Boost</source>
|
||||
<translation>推出</translation>
|
||||
<translation>推起</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unfavorite</source>
|
||||
<translation>取消收藏</translation>
|
||||
<translation>取消关注</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Favorite</source>
|
||||
<translation>收藏</translation>
|
||||
<translation>关注</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
|
@ -20,51 +20,12 @@
|
|||
<translation>said</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Browser</name>
|
||||
<message>
|
||||
<source>Open in Browser</source>
|
||||
<translation>Open in Browser</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Web mode</source>
|
||||
<translation>Web mode</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reading mode</source>
|
||||
<translation>Reading mode</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy URL</source>
|
||||
<translation>Copy URL</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Conversation</name>
|
||||
<message>
|
||||
<source>Conversation</source>
|
||||
<translation>Conversation</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Content warning!</source>
|
||||
<translation>Content warning!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>public</source>
|
||||
<translation>public</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>unlisted</source>
|
||||
<translation>unlisted</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>followers only</source>
|
||||
<translation>followers only</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>direct</source>
|
||||
<translation>direct</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete</source>
|
||||
<translation>Delete</translation>
|
||||
|
@ -77,6 +38,30 @@
|
|||
<source>Tap to insert</source>
|
||||
<translation>Tap to insert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Write your warning here</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>What's on your mind?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Public</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlisted</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Followers-only</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Direct</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImageFullScreen</name>
|
||||
|
@ -230,6 +215,14 @@
|
|||
<source>Followers</source>
|
||||
<translation>Followers</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bio</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Profile in Browser</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Settings</name>
|
||||
|
@ -277,6 +270,30 @@
|
|||
<source>UI/UX design and development</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Visual identity</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Occitan & French translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dutch translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Spanish translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Added README file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Development and maintenence</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Toot</name>
|
||||
|
|
Loading…
Reference in a new issue