adding bottom status bar for global network status #285

Merged
sarah merged 1 commits from :statusBar into master 2020-05-12 22:38:24 +00:00
24 changed files with 643 additions and 396 deletions

2
go.mod
View File

@ -4,7 +4,7 @@ go 1.12
require ( require (
cwtch.im/cwtch v0.3.11 cwtch.im/cwtch v0.3.11
git.openprivacy.ca/openprivacy/connectivity v1.1.1 git.openprivacy.ca/openprivacy/connectivity v1.1.4
git.openprivacy.ca/openprivacy/log v1.0.0 git.openprivacy.ca/openprivacy/log v1.0.0
github.com/gopherjs/gopherjs v0.0.0-20200209183636-89e6cbcd0b6d // indirect github.com/gopherjs/gopherjs v0.0.0-20200209183636-89e6cbcd0b6d // indirect
github.com/therecipe/qt v0.0.0-20191101232336-18864661ae4f github.com/therecipe/qt v0.0.0-20191101232336-18864661ae4f

40
go.sum
View File

@ -6,11 +6,21 @@ cwtch.im/tapir v0.1.15 h1:XSCWOvjmNkzMT2IceFgTBXWGKtYfr3a8o+La1s10OhE=
cwtch.im/tapir v0.1.15/go.mod h1:HzezugpEx+nZ3LdyDsl0w6n45IJYnOt8uqldkLWmaqs= cwtch.im/tapir v0.1.15/go.mod h1:HzezugpEx+nZ3LdyDsl0w6n45IJYnOt8uqldkLWmaqs=
cwtch.im/tapir v0.1.17 h1:2jVZUe1a88tMI4aJPvRTO4Id3NN3PsM62cT5lntEChk= cwtch.im/tapir v0.1.17 h1:2jVZUe1a88tMI4aJPvRTO4Id3NN3PsM62cT5lntEChk=
cwtch.im/tapir v0.1.17/go.mod h1:HzezugpEx+nZ3LdyDsl0w6n45IJYnOt8uqldkLWmaqs= cwtch.im/tapir v0.1.17/go.mod h1:HzezugpEx+nZ3LdyDsl0w6n45IJYnOt8uqldkLWmaqs=
cwtch.im/tapir v0.1.18 h1:Fs/jL9ZRyel/A1D/BYzIPEVQau8y5BJg44yA+GQDbSM=
cwtch.im/tapir v0.1.18/go.mod h1:/IrAI6CBHfgzsfgRT8WHVb1P9fCCz7+45hfsdkKn8Zg=
git.openprivacy.ca/openprivacy/connectivity v1.1.0/go.mod h1:4P8mirZZslKbo2zBrXXVjgEdqGwHo/6qoFBwFQW6d6E= git.openprivacy.ca/openprivacy/connectivity v1.1.0/go.mod h1:4P8mirZZslKbo2zBrXXVjgEdqGwHo/6qoFBwFQW6d6E=
git.openprivacy.ca/openprivacy/connectivity v1.1.1 h1:hKxBOmxP7Jdu3K1BJ93mRtKNiWUoP6YHt/o2snE2Z0w= git.openprivacy.ca/openprivacy/connectivity v1.1.1 h1:hKxBOmxP7Jdu3K1BJ93mRtKNiWUoP6YHt/o2snE2Z0w=
git.openprivacy.ca/openprivacy/connectivity v1.1.1/go.mod h1:4P8mirZZslKbo2zBrXXVjgEdqGwHo/6qoFBwFQW6d6E= git.openprivacy.ca/openprivacy/connectivity v1.1.1/go.mod h1:4P8mirZZslKbo2zBrXXVjgEdqGwHo/6qoFBwFQW6d6E=
git.openprivacy.ca/openprivacy/connectivity v1.1.2 h1:Bk8ul3+4/awpQGvskfLpp7/K3Lj8OAxBwlmQqeZy3Ok=
git.openprivacy.ca/openprivacy/connectivity v1.1.2/go.mod h1:4P8mirZZslKbo2zBrXXVjgEdqGwHo/6qoFBwFQW6d6E=
git.openprivacy.ca/openprivacy/connectivity v1.1.3 h1:iRGHS8RB4SZ9cjYK/yXt4R8PqQDVwwYJZ3iqe+w3IPE=
git.openprivacy.ca/openprivacy/connectivity v1.1.3/go.mod h1:4P8mirZZslKbo2zBrXXVjgEdqGwHo/6qoFBwFQW6d6E=
git.openprivacy.ca/openprivacy/connectivity v1.1.4 h1:/I9epvNNjM8rR/q5y9Y63D9/aPXpBFvngwNGLD8mvUk=
git.openprivacy.ca/openprivacy/connectivity v1.1.4/go.mod h1:4P8mirZZslKbo2zBrXXVjgEdqGwHo/6qoFBwFQW6d6E=
git.openprivacy.ca/openprivacy/libricochet-go v1.0.11 h1:C7QFFzG0p5XKu0zcOIdLGwEpA9uU0BceBM7CfVK5D40= git.openprivacy.ca/openprivacy/libricochet-go v1.0.11 h1:C7QFFzG0p5XKu0zcOIdLGwEpA9uU0BceBM7CfVK5D40=
git.openprivacy.ca/openprivacy/libricochet-go v1.0.11/go.mod h1:yTMps/ZpYS+BNBBvANsNAft28FXrBvFHQauMYNWPrwE= git.openprivacy.ca/openprivacy/libricochet-go v1.0.11/go.mod h1:yTMps/ZpYS+BNBBvANsNAft28FXrBvFHQauMYNWPrwE=
git.openprivacy.ca/openprivacy/libricochet-go v1.0.13 h1:Z86uL9K47onznY1wP1P/wWfWMbbyvk6xnCp94R180os=
git.openprivacy.ca/openprivacy/libricochet-go v1.0.13/go.mod h1:ZUuX1SOrgV4K18IEcp0hQJNPKszRr2oGb3UeK2iYe5U=
git.openprivacy.ca/openprivacy/log v1.0.0 h1:Rvqm1weUdR4AOnJ79b1upHCc9vC/QF1rhSD2Um7sr1Y= git.openprivacy.ca/openprivacy/log v1.0.0 h1:Rvqm1weUdR4AOnJ79b1upHCc9vC/QF1rhSD2Um7sr1Y=
git.openprivacy.ca/openprivacy/log v1.0.0/go.mod h1:gGYK8xHtndRLDymFtmjkG26GaMQNgyhioNS82m812Iw= git.openprivacy.ca/openprivacy/log v1.0.0/go.mod h1:gGYK8xHtndRLDymFtmjkG26GaMQNgyhioNS82m812Iw=
github.com/agl/ed25519 v0.0.0-20170116200512-5312a6153412 h1:w1UutsfOrms1J05zt7ISrnJIXKzwaspym5BTKGx93EI= github.com/agl/ed25519 v0.0.0-20170116200512-5312a6153412 h1:w1UutsfOrms1J05zt7ISrnJIXKzwaspym5BTKGx93EI=
@ -25,6 +35,9 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.3 h1:gyjaxf+svBWX08ZjK86iN9geUJF0H6gp2IRKX6Nf6/I= github.com/golang/protobuf v1.3.3 h1:gyjaxf+svBWX08ZjK86iN9geUJF0H6gp2IRKX6Nf6/I=
github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
github.com/golang/protobuf v1.3.5 h1:F768QJ1E9tib+q5Sc8MkdJi1RxLTbRcTf8LJV56aRls=
github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk=
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/gopherjs/gopherjs v0.0.0-20190411002643-bd77b112433e/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gopherjs/gopherjs v0.0.0-20190411002643-bd77b112433e/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/gopherjs/gopherjs v0.0.0-20191106031601-ce3c9ade29de h1:F7WD09S8QB4LrkEpka0dFPLSotH11HRpCsLIbIcJ7sU= github.com/gopherjs/gopherjs v0.0.0-20191106031601-ce3c9ade29de h1:F7WD09S8QB4LrkEpka0dFPLSotH11HRpCsLIbIcJ7sU=
github.com/gopherjs/gopherjs v0.0.0-20191106031601-ce3c9ade29de/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gopherjs/gopherjs v0.0.0-20191106031601-ce3c9ade29de/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
@ -43,10 +56,13 @@ github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84=
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
github.com/mattn/go-runewidth v0.0.6/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.6/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
github.com/mattn/go-runewidth v0.0.8/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.8/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
github.com/mattn/go-tty v0.0.3/go.mod h1:ihxohKRERHTVzN+aSVRwACLCeqIoZAWpoICkkvrWyR0= github.com/mattn/go-tty v0.0.3/go.mod h1:ihxohKRERHTVzN+aSVRwACLCeqIoZAWpoICkkvrWyR0=
github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643 h1:hLDRPB66XQT/8+wG9WsDpiCvZf1yKO7sz7scAjSlBa0= github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643 h1:hLDRPB66XQT/8+wG9WsDpiCvZf1yKO7sz7scAjSlBa0=
github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM=
@ -77,12 +93,14 @@ github.com/therecipe/qt/internal/binding/files/docs/5.13.0 v0.0.0-20191101232336
github.com/therecipe/qt/internal/binding/files/docs/5.13.0 v0.0.0-20191101232336-18864661ae4f/go.mod h1:mH55Ek7AZcdns5KPp99O0bg+78el64YCYWHiQKrOdt4= github.com/therecipe/qt/internal/binding/files/docs/5.13.0 v0.0.0-20191101232336-18864661ae4f/go.mod h1:mH55Ek7AZcdns5KPp99O0bg+78el64YCYWHiQKrOdt4=
github.com/therecipe/qt/internal/binding/files/docs/5.13.0 v0.0.0-20200126204426-5074eb6d8c41 h1:jTzKrQ6EIPvKw1B9/wwoKJLrXF+ManMsXoUzufxAdsg= github.com/therecipe/qt/internal/binding/files/docs/5.13.0 v0.0.0-20200126204426-5074eb6d8c41 h1:jTzKrQ6EIPvKw1B9/wwoKJLrXF+ManMsXoUzufxAdsg=
github.com/therecipe/qt/internal/binding/files/docs/5.13.0 v0.0.0-20200126204426-5074eb6d8c41/go.mod h1:mH55Ek7AZcdns5KPp99O0bg+78el64YCYWHiQKrOdt4= github.com/therecipe/qt/internal/binding/files/docs/5.13.0 v0.0.0-20200126204426-5074eb6d8c41/go.mod h1:mH55Ek7AZcdns5KPp99O0bg+78el64YCYWHiQKrOdt4=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
go.etcd.io/bbolt v1.3.3 h1:MUGmc65QhB3pIlaQ5bB4LwqSj6GIonVJXpZiaKNyaKk= go.etcd.io/bbolt v1.3.3 h1:MUGmc65QhB3pIlaQ5bB4LwqSj6GIonVJXpZiaKNyaKk=
go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
go.etcd.io/bbolt v1.3.4 h1:hi1bXHMVrlQh6WwxAy+qZCV/SYIlqo+Ushwdpa4tAKg= go.etcd.io/bbolt v1.3.4 h1:hi1bXHMVrlQh6WwxAy+qZCV/SYIlqo+Ushwdpa4tAKg=
go.etcd.io/bbolt v1.3.4/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= go.etcd.io/bbolt v1.3.4/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190418165655-df01cb2cc480/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= golang.org/x/crypto v0.0.0-20190418165655-df01cb2cc480/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200204104054-c9f3fb736b72 h1:+ELyKg6m8UBf0nPFSqD0mi7zUfwPyXo23HNjMnXPz7w= golang.org/x/crypto v0.0.0-20200204104054-c9f3fb736b72 h1:+ELyKg6m8UBf0nPFSqD0mi7zUfwPyXo23HNjMnXPz7w=
golang.org/x/crypto v0.0.0-20200204104054-c9f3fb736b72/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200204104054-c9f3fb736b72/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200206161412-a0c6ece9d31a h1:aczoJ0HPNE92XKa7DrIzkNN6esOKO2TBwiiYoKcINhA= golang.org/x/crypto v0.0.0-20200206161412-a0c6ece9d31a h1:aczoJ0HPNE92XKa7DrIzkNN6esOKO2TBwiiYoKcINhA=
@ -92,14 +110,24 @@ golang.org/x/crypto v0.0.0-20200210222208-86ce3cb69678 h1:wCWoJcFExDgyYx2m2hpHgw
golang.org/x/crypto v0.0.0-20200210222208-86ce3cb69678/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200210222208-86ce3cb69678/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200320181102-891825fb96df h1:lDWgvUvNnaTnNBc/dwOty86cFeKoKWbwy2wQj0gIxbU= golang.org/x/crypto v0.0.0-20200320181102-891825fb96df h1:lDWgvUvNnaTnNBc/dwOty86cFeKoKWbwy2wQj0gIxbU=
golang.org/x/crypto v0.0.0-20200320181102-891825fb96df/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200320181102-891825fb96df/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200420104511-884d27f42877 h1:IhZPbxNd1UjBCaD5AfpSSbJTRlp+ZSuyuH5uoksNS04=
golang.org/x/crypto v0.0.0-20200420104511-884d27f42877/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190420063019-afa5a82059c6/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190420063019-afa5a82059c6/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200202094626-16171245cfb2 h1:CCH4IOTTfewWjGOlSp+zGcjutRKlBEZQ6wTn8ozI/nI= golang.org/x/net v0.0.0-20200202094626-16171245cfb2 h1:CCH4IOTTfewWjGOlSp+zGcjutRKlBEZQ6wTn8ozI/nI=
golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200320181208-1c781a10960a h1:KaxWXSFrOaE2ptiOotI+zFdzHxBsg9MW6XfCv497IRo= golang.org/x/net v0.0.0-20200320181208-1c781a10960a h1:KaxWXSFrOaE2ptiOotI+zFdzHxBsg9MW6XfCv497IRo=
golang.org/x/net v0.0.0-20200320181208-1c781a10960a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200320181208-1c781a10960a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e h1:3G+cUijn7XD+S4eJFddp53Pv7+slrESplyjG25HgL+k=
golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@ -110,13 +138,25 @@ golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a h1:XCr/YX7O0uxRkLq2k1ApNQMim
golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5 h1:LfCXLvNmTYH9kEmVgqbnsWfruoXZIrh4YBgqVHtDvw0= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5 h1:LfCXLvNmTYH9kEmVgqbnsWfruoXZIrh4YBgqVHtDvw0=
golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200320181252-af34d8274f85 h1:fD99hd4ciR6T3oPhr2EkmuKe9oHixHx9Hj/hND89j3g= golang.org/x/sys v0.0.0-20200320181252-af34d8274f85 h1:fD99hd4ciR6T3oPhr2EkmuKe9oHixHx9Hj/hND89j3g=
golang.org/x/sys v0.0.0-20200320181252-af34d8274f85/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200320181252-af34d8274f85/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200331124033-c3d80250170d h1:nc5K6ox/4lTFbMVSL9WRR81ixkcwXThoiF6yf+R9scA=
golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/tools v0.0.0-20190420181800-aa740d480789 h1:FF0rjo15h51+N6642mf5S3QuplmKo2aCrJUYkHTx85s= golang.org/x/tools v0.0.0-20190420181800-aa740d480789 h1:FF0rjo15h51+N6642mf5S3QuplmKo2aCrJUYkHTx85s=
golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200420001825-978e26b7c37c/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

View File

@ -10,7 +10,6 @@ import (
"git.openprivacy.ca/openprivacy/log" "git.openprivacy.ca/openprivacy/log"
"os" "os"
"strconv" "strconv"
"time"
) )
func App(gcd *ui.GrandCentralDispatcher, subscribed chan bool, reloadingAccounts bool) { func App(gcd *ui.GrandCentralDispatcher, subscribed chan bool, reloadingAccounts bool) {
@ -19,55 +18,33 @@ func App(gcd *ui.GrandCentralDispatcher, subscribed chan bool, reloadingAccounts
the.AppBus.Subscribe(event.PeerError, q) the.AppBus.Subscribe(event.PeerError, q)
the.AppBus.Subscribe(event.AppError, q) the.AppBus.Subscribe(event.AppError, q)
the.AppBus.Subscribe(event.ACNStatus, q) the.AppBus.Subscribe(event.ACNStatus, q)
the.AppBus.Subscribe(event.NetworkStatus, q)
the.AppBus.Subscribe(event.ReloadDone, q) the.AppBus.Subscribe(event.ReloadDone, q)
subscribed <- true subscribed <- true
networkOffline := false
timeSinceLastSuccess := time.Unix(0, 0)
gcd.Loaded() gcd.Loaded()
for { for {
e := q.Next() e := q.Next()
switch e.EventType { switch e.EventType {
case event.NetworkStatus:
status := e.Data[event.Status]
if status == "Error" && !networkOffline {
networkOffline = true
// if it has been more that 5 minutes since we received any kind of success, then we should kill tor
// anything less that this i.e. transient networking failures, should allow us to reconnect without issue
if time.Now().Sub(timeSinceLastSuccess) > (time.Minute * 5) {
the.ACN.Restart()
}
}
if status == "Success" && networkOffline {
timeSinceLastSuccess = time.Now()
networkOffline = false
}
case event.ACNStatus: case event.ACNStatus:
progStr := e.Data[event.Progreess] progStr := e.Data[event.Progreess]
percent, _ := strconv.Atoi(progStr) progress, _ := strconv.Atoi(progStr)
message := e.Data[event.Status] message := e.Data[event.Status]
var statuscode int var statuscode int
if percent >= 0 && percent <= 25 { log.Debugf("ACNStatus: %d %v\n", progress, message)
Outdated
Review

debug

debug
statuscode = 1 if progress >= -2 && progress < 0 {
Outdated
Review

I like that "percent" can be -2!?

I like that "percent" can be -2!?
message = "Connecting to network"
} else if percent < 100 {
statuscode = 2
message = "Establishing Tor circuit"
} else if percent == 100 {
statuscode = 3
message = "tor appears to be running just fine!"
} else {
statuscode = 0 statuscode = 0
message = "can't find tor. is it running? is the controlport configured?" } else if progress >= 0 && progress < 50 {
statuscode = 1
} else if progress >= 50 && progress < 100 {
statuscode = 2
} else {
statuscode = 3
} }
gcd.TorStatus(statuscode, message) gcd.TorStatus(statuscode)
case event.PeerError: case event.PeerError:
// current only case // current only case

View File

@ -44,7 +44,6 @@ func PeerHandler(onion string, uiManager ui.Manager, subscribed chan bool) {
switch e.EventType { switch e.EventType {
case event.NetworkStatus: case event.NetworkStatus:
the.AppBus.Publish(*e)
if e.Data["Status"] == "Success" && networkOffline { if e.Data["Status"] == "Success" && networkOffline {
networkOffline = false networkOffline = false
// TODO we may have to reinitialize the peer // TODO we may have to reinitialize the peer

View File

@ -69,7 +69,7 @@ type GrandCentralDispatcher struct {
// profile-area stuff // profile-area stuff
_ func(name, onion, image, tag string) `signal:"UpdateMyProfile"` _ func(name, onion, image, tag string) `signal:"UpdateMyProfile"`
_ func(status int, str string) `signal:"TorStatus"` _ func(status int) `signal:"TorStatus"`
// settings helpers // settings helpers
_ func(str string) `signal:"InvokePopup"` _ func(str string) `signal:"InvokePopup"`
@ -572,7 +572,7 @@ func (this *GrandCentralDispatcher) setLocale(locale string) {
func (this *GrandCentralDispatcher) onActivate() { func (this *GrandCentralDispatcher) onActivate() {
log.Debugln("onActivate") log.Debugln("onActivate")
if the.CwtchApp != nil { if the.CwtchApp != nil {
the.CwtchApp.QueryACNStatus() go the.CwtchApp.QueryACNStatus()
} }
} }

Binary file not shown.

View File

@ -4,30 +4,29 @@
<context> <context>
<name>AddGroupPane</name> <name>AddGroupPane</name>
<message> <message>
<location filename="../qml/panes/AddGroupPane.qml" line="19"/>
<source>create-group-title</source> <source>create-group-title</source>
<translation>Gruppe Anlegen</translation> <translation type="vanished">Gruppe Anlegen</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/AddGroupPane.qml" line="42"/> <location filename="../qml/panes/AddGroupPane.qml" line="31"/>
<source>server-label</source> <source>server-label</source>
<extracomment>Server label</extracomment> <extracomment>Server label</extracomment>
<translation>Server</translation> <translation>Server</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/AddGroupPane.qml" line="53"/> <location filename="../qml/panes/AddGroupPane.qml" line="42"/>
<source>group-name-label</source> <source>group-name-label</source>
<extracomment>Group name label</extracomment> <extracomment>Group name label</extracomment>
<translation>Gruppenname</translation> <translation>Gruppenname</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/AddGroupPane.qml" line="60"/> <location filename="../qml/panes/AddGroupPane.qml" line="49"/>
<source>default-group-name</source> <source>default-group-name</source>
<extracomment>default suggested group name</extracomment> <extracomment>default suggested group name</extracomment>
<translation>Tolle Gruppe</translation> <translation>Tolle Gruppe</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/AddGroupPane.qml" line="65"/> <location filename="../qml/panes/AddGroupPane.qml" line="54"/>
<source>create-group-btn</source> <source>create-group-btn</source>
<extracomment>create group button</extracomment> <extracomment>create group button</extracomment>
<translation>Anlegen</translation> <translation>Anlegen</translation>
@ -155,44 +154,44 @@
<context> <context>
<name>GroupSettingsPane</name> <name>GroupSettingsPane</name>
<message> <message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="42"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="33"/>
<source>server-label</source> <source>server-label</source>
<translation>Server</translation> <translation>Server</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="53"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="44"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="74"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="65"/>
<source>copy-btn</source> <source>copy-btn</source>
<translation>Kopieren</translation> <translation>Kopieren</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="63"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="54"/>
<source>invitation-label</source> <source>invitation-label</source>
<translation>Einladung</translation> <translation>Einladung</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="84"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="75"/>
<source>group-name-label</source> <source>group-name-label</source>
<translation>Gruppenname</translation> <translation>Gruppenname</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="93"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="84"/>
<source>save-btn</source> <source>save-btn</source>
<translation>Speichern</translation> <translation>Speichern</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="103"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="94"/>
<source>invite-to-group-label</source> <source>invite-to-group-label</source>
<extracomment>Invite someone to the group</extracomment> <extracomment>Invite someone to the group</extracomment>
<translation>In die Gruppe einladen</translation> <translation>In die Gruppe einladen</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="114"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="105"/>
<source>invite-btn</source> <source>invite-btn</source>
<translation>Einladen</translation> <translation>Einladen</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="123"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="114"/>
<source>delete-btn</source> <source>delete-btn</source>
<translation>Löschen</translation> <translation>Löschen</translation>
</message> </message>
@ -200,7 +199,7 @@
<context> <context>
<name>InplaceEditText</name> <name>InplaceEditText</name>
<message> <message>
<location filename="../qml/widgets/InplaceEditText.qml" line="85"/> <location filename="../qml/widgets/InplaceEditText.qml" line="87"/>
<source>Update</source> <source>Update</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -244,18 +243,18 @@
<translation>Klicken, um DM zu senden</translation> <translation>Klicken, um DM zu senden</translation>
</message> </message>
<message> <message>
<location filename="../qml/widgets/Message.qml" line="162"/> <location filename="../qml/widgets/Message.qml" line="163"/>
<source>could-not-send-msg-error</source> <source>could-not-send-msg-error</source>
<extracomment>Could not send this message</extracomment> <extracomment>Could not send this message</extracomment>
<translation>Nachricht konnte nicht gesendet werden</translation> <translation>Nachricht konnte nicht gesendet werden</translation>
</message> </message>
<message> <message>
<location filename="../qml/widgets/Message.qml" line="162"/> <location filename="../qml/widgets/Message.qml" line="163"/>
<source>acknowledged-label</source> <source>acknowledged-label</source>
<translation>bestätigt</translation> <translation>bestätigt</translation>
</message> </message>
<message> <message>
<location filename="../qml/widgets/Message.qml" line="162"/> <location filename="../qml/widgets/Message.qml" line="163"/>
<source>pending-label</source> <source>pending-label</source>
<translation>Bestätigung ausstehend</translation> <translation>Bestätigung ausstehend</translation>
</message> </message>
@ -263,25 +262,22 @@
<context> <context>
<name>MyProfile</name> <name>MyProfile</name>
<message> <message>
<location filename="../qml/widgets/MyProfile.qml" line="186"/>
<source>copy-btn</source> <source>copy-btn</source>
<extracomment>Button for copying profile onion address to clipboard</extracomment> <extracomment>Button for copying profile onion address to clipboard</extracomment>
<translation>Kopieren</translation> <translation type="vanished">Kopieren</translation>
</message> </message>
<message> <message>
<location filename="../qml/widgets/MyProfile.qml" line="190"/>
<source>copied-clipboard-notification</source> <source>copied-clipboard-notification</source>
<extracomment>Copied to clipboard</extracomment> <extracomment>Copied to clipboard</extracomment>
<translation>in die Zwischenablage kopiert</translation> <translation type="vanished">in die Zwischenablage kopiert</translation>
</message> </message>
<message> <message>
<location filename="../qml/widgets/MyProfile.qml" line="220"/>
<source>new-group-btn</source> <source>new-group-btn</source>
<extracomment>create new group button</extracomment> <extracomment>create new group button</extracomment>
<translation>Neue Gruppe anlegen</translation> <translation type="vanished">Neue Gruppe anlegen</translation>
</message> </message>
<message> <message>
<location filename="../qml/widgets/MyProfile.qml" line="230"/> <location filename="../qml/widgets/MyProfile.qml" line="150"/>
<source>paste-address-to-add-contact</source> <source>paste-address-to-add-contact</source>
<extracomment>ex: &quot;... paste an address here to add a contact ...&quot;</extracomment> <extracomment>ex: &quot;... paste an address here to add a contact ...&quot;</extracomment>
<translation>Adresse hier hinzufügen, um einen Kontakt aufzunehmen</translation> <translation>Adresse hier hinzufügen, um einen Kontakt aufzunehmen</translation>
@ -290,84 +286,78 @@
<context> <context>
<name>OverlayPane</name> <name>OverlayPane</name>
<message> <message>
<location filename="../qml/panes/OverlayPane.qml" line="44"/> <location filename="../qml/panes/OverlayPane.qml" line="23"/>
<source>accept-group-invite-label</source> <source>accept-group-invite-label</source>
<extracomment>Do you want to accept the invitation to $GROUP</extracomment> <extracomment>Do you want to accept the invitation to $GROUP</extracomment>
<translation>Möchtest Du die Einladung annehmen</translation> <translation>Möchtest Du die Einladung annehmen</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/OverlayPane.qml" line="49"/> <location filename="../qml/panes/OverlayPane.qml" line="28"/>
<source>accept-group-btn</source> <source>accept-group-btn</source>
<extracomment>Accept group invite button</extracomment> <extracomment>Accept group invite button</extracomment>
<translation>Annehmen</translation> <translation>Annehmen</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/OverlayPane.qml" line="59"/> <location filename="../qml/panes/OverlayPane.qml" line="38"/>
<source>reject-group-btn</source> <source>reject-group-btn</source>
<extracomment>Reject Group invite button</extracomment> <extracomment>Reject Group invite button</extracomment>
<translation>Ablehnen</translation> <translation>Ablehnen</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/OverlayPane.qml" line="73"/> <location filename="../qml/panes/OverlayPane.qml" line="52"/>
<source>chat-btn</source> <source>chat-btn</source>
<translation>Chat</translation> <translation>Chat</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/OverlayPane.qml" line="80"/> <location filename="../qml/panes/OverlayPane.qml" line="59"/>
<source>lists-btn</source> <source>lists-btn</source>
<translation>Listen</translation> <translation>Listen</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/OverlayPane.qml" line="87"/> <location filename="../qml/panes/OverlayPane.qml" line="66"/>
<source>bulletins-btn</source> <source>bulletins-btn</source>
<translation>Meldungen</translation> <translation>Meldungen</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/OverlayPane.qml" line="94"/>
<source>puzzle-game-btn</source> <source>puzzle-game-btn</source>
<translation>Puzzlespiel</translation> <translation type="vanished">Puzzlespiel</translation>
</message> </message>
</context> </context>
<context> <context>
<name>PeerSettingsPane</name> <name>PeerSettingsPane</name>
<message> <message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="42"/> <location filename="../qml/panes/PeerSettingsPane.qml" line="38"/>
<source>address-label</source> <source>address-label</source>
<translation>Adresse</translation> <translation>Adresse</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="53"/> <location filename="../qml/panes/PeerSettingsPane.qml" line="48"/>
<source>copy-btn</source> <source>copy-btn</source>
<translation>Kopieren</translation> <translation>Kopieren</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="57"/> <location filename="../qml/panes/PeerSettingsPane.qml" line="51"/>
<source>copied-to-clipboard-notification</source> <source>copied-to-clipboard-notification</source>
<extracomment>notification: copied to clipboard</extracomment> <extracomment>notification: copied to clipboard</extracomment>
<translation>in die Zwischenablage kopiert</translation> <translation>in die Zwischenablage kopiert</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="64"/> <location filename="../qml/panes/PeerSettingsPane.qml" line="67"/>
<source>display-name-label</source> <source>display-name-label</source>
<translation>Angezeigter Name</translation> <translation>Angezeigter Name</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="73"/> <location filename="../qml/panes/PeerSettingsPane.qml" line="77"/>
<source>save-btn</source> <source>save-btn</source>
<translation>speichern</translation> <translation>speichern</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="99"/> <location filename="../qml/panes/PeerSettingsPane.qml" line="124"/>
<source>delete-btn</source> <source>delete-btn</source>
<translation>löschen</translation> <translation>löschen</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="85"/> <location filename="../qml/panes/PeerSettingsPane.qml" line="96"/>
<source>unblock-btn</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="85"/>
<source>block-btn</source> <source>block-btn</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -376,112 +366,102 @@
<name>ProfileAddEditPane</name> <name>ProfileAddEditPane</name>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="24"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="24"/>
<source>add-profile-title</source> <location filename="../qml/panes/ProfileAddEditPane.qml" line="95"/>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="24"/>
<source>edit-profile-title</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="32"/>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="103"/>
<source>default-profile-name</source> <source>default-profile-name</source>
<extracomment>default suggested profile name</extracomment> <extracomment>default suggested profile name</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="84"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="76"/>
<source>profile-onion-label</source> <source>profile-onion-label</source>
<extracomment>Onion</extracomment> <extracomment>Onion</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="95"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="87"/>
<source>profile-name</source> <source>profile-name</source>
<extracomment>Display name</extracomment> <extracomment>Display name</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="115"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="107"/>
<source>radio-use-password</source> <source>radio-use-password</source>
<extracomment>Password</extracomment> <extracomment>Password</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="125"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="117"/>
<source>radio-no-password</source> <source>radio-no-password</source>
<extracomment>Unencrypted (No password)</extracomment> <extracomment>Unencrypted (No password)</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="136"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="128"/>
<source>no-password-warning</source> <source>no-password-warning</source>
<extracomment>Not using a password on this account means that all data stored locally will not be encrypted</extracomment> <extracomment>Not using a password on this account means that all data stored locally will not be encrypted</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="143"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="135"/>
<source>current-password-label</source> <source>current-password-label</source>
<extracomment>Current Password</extracomment> <extracomment>Current Password</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="157"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="149"/>
<source>password1-label</source> <source>password1-label</source>
<extracomment>Password</extracomment> <extracomment>Password</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="177"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="169"/>
<source>password2-label</source> <source>password2-label</source>
<extracomment>Reenter password</extracomment> <extracomment>Reenter password</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="191"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="183"/>
<source>create-profile-btn</source> <source>create-profile-btn</source>
<extracomment>Create Profile || Save Profile</extracomment> <extracomment>Create Profile || Save Profile</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="191"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="183"/>
<source>save-profile-btn</source> <source>save-profile-btn</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="223"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="215"/>
<source>password-error-match</source> <source>password-error-match</source>
<extracomment>Passwords do not match</extracomment> <extracomment>Passwords do not match</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="231"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="223"/>
<source>password-change-error</source> <source>password-change-error</source>
<extracomment>Error changing password: Supplied password rejected</extracomment> <extracomment>Error changing password: Supplied password rejected</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="240"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="232"/>
<source>delete-profile-btn</source> <source>delete-profile-btn</source>
<extracomment>Delete Profile</extracomment> <extracomment>Delete Profile</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="253"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="245"/>
<source>delete-confirm-label</source> <source>delete-confirm-label</source>
<extracomment>Type DELETE to confirm</extracomment> <extracomment>Type DELETE to confirm</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="269"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="261"/>
<source>delete-profile-confirm-btn</source> <source>delete-profile-confirm-btn</source>
<extracomment>Really Delete Profile</extracomment> <extracomment>Really Delete Profile</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="275"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="267"/>
<source>delete-confirm-text</source> <source>delete-confirm-text</source>
<extracomment>DELETE</extracomment> <extracomment>DELETE</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -490,8 +470,7 @@
<context> <context>
<name>ProfileList</name> <name>ProfileList</name>
<message> <message>
<location filename="../qml/widgets/ProfileList.qml" line="88"/> <location filename="../qml/widgets/ProfileList.qml" line="106"/>
<location filename="../qml/widgets/ProfileList.qml" line="101"/>
<source>add-new-profile-btn</source> <source>add-new-profile-btn</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -499,19 +478,19 @@
<context> <context>
<name>ProfileManagerPane</name> <name>ProfileManagerPane</name>
<message> <message>
<location filename="../qml/panes/ProfileManagerPane.qml" line="26"/> <location filename="../qml/panes/ProfileManagerPane.qml" line="27"/>
<source>enter-profile-password</source> <source>enter-profile-password</source>
<extracomment>Please enter password:</extracomment> <extracomment>Please enter password:</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileManagerPane.qml" line="42"/> <location filename="../qml/panes/ProfileManagerPane.qml" line="43"/>
<source>error-0-profiles-loaded-for-password</source> <source>error-0-profiles-loaded-for-password</source>
<extracomment>0 profiles loaded with that password</extracomment> <extracomment>0 profiles loaded with that password</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileManagerPane.qml" line="52"/> <location filename="../qml/panes/ProfileManagerPane.qml" line="53"/>
<source>unlock</source> <source>unlock</source>
<extracomment>Unlock</extracomment> <extracomment>Unlock</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -520,51 +499,68 @@
<context> <context>
<name>SettingsPane</name> <name>SettingsPane</name>
<message> <message>
<location filename="../qml/panes/SettingsPane.qml" line="21"/>
<source>cwtch-settings-title</source> <source>cwtch-settings-title</source>
<extracomment>Cwtch Settings title</extracomment> <extracomment>Cwtch Settings title</extracomment>
<translation>Cwtch Einstellungen</translation> <translation type="vanished">Cwtch Einstellungen</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/SettingsPane.qml" line="54"/> <location filename="../qml/panes/SettingsPane.qml" line="42"/>
<source>zoom-label</source> <source>zoom-label</source>
<extracomment>Interface zoom (mostly affects text and button sizes)</extracomment> <extracomment>Interface zoom (mostly affects text and button sizes)</extracomment>
<translation>Benutzeroberflächen-Zoom (betriftt hauptsächlich Text- und Knopgrößen)</translation> <translation>Benutzeroberflächen-Zoom (betriftt hauptsächlich Text- und Knopgrößen)</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/SettingsPane.qml" line="90"/> <location filename="../qml/panes/SettingsPane.qml" line="78"/>
<source>large-text-label</source> <source>large-text-label</source>
<translation>Groß</translation> <translation>Groß</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/SettingsPane.qml" line="98"/> <location filename="../qml/panes/SettingsPane.qml" line="86"/>
<source>default-scaling-text</source> <source>default-scaling-text</source>
<extracomment>&quot;Default size text (scale factor: &quot;</extracomment> <extracomment>&quot;Default size text (scale factor: &quot;</extracomment>
<translation>defaultmäßige Textgröße (Skalierungsfaktor:</translation> <translation>defaultmäßige Textgröße (Skalierungsfaktor:</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/SettingsPane.qml" line="102"/> <location filename="../qml/panes/SettingsPane.qml" line="90"/>
<source>small-text-label</source> <source>small-text-label</source>
<translation>Klein</translation> <translation>Klein</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/SettingsPane.qml" line="47"/> <location filename="../qml/panes/SettingsPane.qml" line="35"/>
<source>version %1 builddate %2</source> <source>version %1 builddate %2</source>
<extracomment>Version: %1 Built on: %2</extracomment> <extracomment>Version: %1 Built on: %2</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/SettingsPane.qml" line="83"/> <location filename="../qml/panes/SettingsPane.qml" line="71"/>
<source>block-unknown-label</source> <source>block-unknown-label</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context> <context>
<name>StackToolbar</name> <name>Statusbar</name>
<message> <message>
<location filename="../qml/widgets/StackToolbar.qml" line="58"/> <location filename="../qml/widgets/Statusbar.qml" line="40"/>
<source>view-group-membership-tooltip</source> <source>network-status-disconnected</source>
<extracomment>View Group Membership</extracomment> <extracomment>Disconnected from the internet, check your connection</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/widgets/Statusbar.qml" line="45"/>
<source>network-status-attempting-tor</source>
<extracomment>Attempting to connect to Tor network</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/widgets/Statusbar.qml" line="50"/>
<source>network-status-connecting</source>
<extracomment>Connecting...</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/widgets/Statusbar.qml" line="55"/>
<source>network-status-online</source>
<extracomment>Online</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>

Binary file not shown.

View File

@ -4,30 +4,29 @@
<context> <context>
<name>AddGroupPane</name> <name>AddGroupPane</name>
<message> <message>
<location filename="../qml/panes/AddGroupPane.qml" line="19"/>
<source>create-group-title</source> <source>create-group-title</source>
<translation>Create Group</translation> <translation type="vanished">Create Group</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/AddGroupPane.qml" line="42"/> <location filename="../qml/panes/AddGroupPane.qml" line="31"/>
<source>server-label</source> <source>server-label</source>
<extracomment>Server label</extracomment> <extracomment>Server label</extracomment>
<translation>Server</translation> <translation>Server</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/AddGroupPane.qml" line="53"/> <location filename="../qml/panes/AddGroupPane.qml" line="42"/>
<source>group-name-label</source> <source>group-name-label</source>
<extracomment>Group name label</extracomment> <extracomment>Group name label</extracomment>
<translation>Group name</translation> <translation>Group name</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/AddGroupPane.qml" line="60"/> <location filename="../qml/panes/AddGroupPane.qml" line="49"/>
<source>default-group-name</source> <source>default-group-name</source>
<extracomment>default suggested group name</extracomment> <extracomment>default suggested group name</extracomment>
<translation>Awesome Group</translation> <translation>Awesome Group</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/AddGroupPane.qml" line="65"/> <location filename="../qml/panes/AddGroupPane.qml" line="54"/>
<source>create-group-btn</source> <source>create-group-btn</source>
<extracomment>create group button</extracomment> <extracomment>create group button</extracomment>
<translation>Create</translation> <translation>Create</translation>
@ -161,44 +160,44 @@ Right-click to reset.</translation>
<context> <context>
<name>GroupSettingsPane</name> <name>GroupSettingsPane</name>
<message> <message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="42"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="33"/>
<source>server-label</source> <source>server-label</source>
<translation>Server</translation> <translation>Server</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="53"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="44"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="74"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="65"/>
<source>copy-btn</source> <source>copy-btn</source>
<translation>Copy</translation> <translation>Copy</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="63"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="54"/>
<source>invitation-label</source> <source>invitation-label</source>
<translation>Invitation</translation> <translation>Invitation</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="84"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="75"/>
<source>group-name-label</source> <source>group-name-label</source>
<translation>Group Name</translation> <translation>Group Name</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="93"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="84"/>
<source>save-btn</source> <source>save-btn</source>
<translation>Save</translation> <translation>Save</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="103"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="94"/>
<source>invite-to-group-label</source> <source>invite-to-group-label</source>
<extracomment>Invite someone to the group</extracomment> <extracomment>Invite someone to the group</extracomment>
<translation>Invite to group</translation> <translation>Invite to group</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="114"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="105"/>
<source>invite-btn</source> <source>invite-btn</source>
<translation>Invite</translation> <translation>Invite</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="123"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="114"/>
<source>delete-btn</source> <source>delete-btn</source>
<translation>Delete</translation> <translation>Delete</translation>
</message> </message>
@ -206,7 +205,7 @@ Right-click to reset.</translation>
<context> <context>
<name>InplaceEditText</name> <name>InplaceEditText</name>
<message> <message>
<location filename="../qml/widgets/InplaceEditText.qml" line="85"/> <location filename="../qml/widgets/InplaceEditText.qml" line="87"/>
<source>Update</source> <source>Update</source>
<translation>Update</translation> <translation>Update</translation>
</message> </message>
@ -250,18 +249,18 @@ Right-click to reset.</translation>
<translation>Click to DM</translation> <translation>Click to DM</translation>
</message> </message>
<message> <message>
<location filename="../qml/widgets/Message.qml" line="162"/> <location filename="../qml/widgets/Message.qml" line="163"/>
<source>could-not-send-msg-error</source> <source>could-not-send-msg-error</source>
<extracomment>Could not send this message</extracomment> <extracomment>Could not send this message</extracomment>
<translation>Could not send this message</translation> <translation>Could not send this message</translation>
</message> </message>
<message> <message>
<location filename="../qml/widgets/Message.qml" line="162"/> <location filename="../qml/widgets/Message.qml" line="163"/>
<source>acknowledged-label</source> <source>acknowledged-label</source>
<translation>Acknowledged</translation> <translation>Acknowledged</translation>
</message> </message>
<message> <message>
<location filename="../qml/widgets/Message.qml" line="162"/> <location filename="../qml/widgets/Message.qml" line="163"/>
<source>pending-label</source> <source>pending-label</source>
<translation>Pending</translation> <translation>Pending</translation>
</message> </message>
@ -269,25 +268,22 @@ Right-click to reset.</translation>
<context> <context>
<name>MyProfile</name> <name>MyProfile</name>
<message> <message>
<location filename="../qml/widgets/MyProfile.qml" line="186"/>
<source>copy-btn</source> <source>copy-btn</source>
<extracomment>Button for copying profile onion address to clipboard</extracomment> <extracomment>Button for copying profile onion address to clipboard</extracomment>
<translation>Copy</translation> <translation type="vanished">Copy</translation>
</message> </message>
<message> <message>
<location filename="../qml/widgets/MyProfile.qml" line="190"/>
<source>copied-clipboard-notification</source> <source>copied-clipboard-notification</source>
<extracomment>Copied to clipboard</extracomment> <extracomment>Copied to clipboard</extracomment>
<translation>Copied to clipboard</translation> <translation type="vanished">Copied to clipboard</translation>
</message> </message>
<message> <message>
<location filename="../qml/widgets/MyProfile.qml" line="220"/>
<source>new-group-btn</source> <source>new-group-btn</source>
<extracomment>create new group button</extracomment> <extracomment>create new group button</extracomment>
<translation>Create new group</translation> <translation type="vanished">Create new group</translation>
</message> </message>
<message> <message>
<location filename="../qml/widgets/MyProfile.qml" line="230"/> <location filename="../qml/widgets/MyProfile.qml" line="150"/>
<source>paste-address-to-add-contact</source> <source>paste-address-to-add-contact</source>
<extracomment>ex: &quot;... paste an address here to add a contact ...&quot;</extracomment> <extracomment>ex: &quot;... paste an address here to add a contact ...&quot;</extracomment>
<translation>... paste an address here to add a contact...</translation> <translation>... paste an address here to add a contact...</translation>
@ -296,84 +292,82 @@ Right-click to reset.</translation>
<context> <context>
<name>OverlayPane</name> <name>OverlayPane</name>
<message> <message>
<location filename="../qml/panes/OverlayPane.qml" line="44"/> <location filename="../qml/panes/OverlayPane.qml" line="23"/>
<source>accept-group-invite-label</source> <source>accept-group-invite-label</source>
<extracomment>Do you want to accept the invitation to $GROUP</extracomment> <extracomment>Do you want to accept the invitation to $GROUP</extracomment>
<translation>Do you want to accept the invitation to</translation> <translation>Do you want to accept the invitation to</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/OverlayPane.qml" line="49"/> <location filename="../qml/panes/OverlayPane.qml" line="28"/>
<source>accept-group-btn</source> <source>accept-group-btn</source>
<extracomment>Accept group invite button</extracomment> <extracomment>Accept group invite button</extracomment>
<translation>Accept</translation> <translation>Accept</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/OverlayPane.qml" line="59"/> <location filename="../qml/panes/OverlayPane.qml" line="38"/>
<source>reject-group-btn</source> <source>reject-group-btn</source>
<extracomment>Reject Group invite button</extracomment> <extracomment>Reject Group invite button</extracomment>
<translation>Reject</translation> <translation>Reject</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/OverlayPane.qml" line="73"/> <location filename="../qml/panes/OverlayPane.qml" line="52"/>
<source>chat-btn</source> <source>chat-btn</source>
<translation>Chat</translation> <translation>Chat</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/OverlayPane.qml" line="80"/> <location filename="../qml/panes/OverlayPane.qml" line="59"/>
<source>lists-btn</source> <source>lists-btn</source>
<translation>Lists</translation> <translation>Lists</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/OverlayPane.qml" line="87"/> <location filename="../qml/panes/OverlayPane.qml" line="66"/>
<source>bulletins-btn</source> <source>bulletins-btn</source>
<translation>Bulletins</translation> <translation>Bulletins</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/OverlayPane.qml" line="94"/>
<source>puzzle-game-btn</source> <source>puzzle-game-btn</source>
<translation>Puzzle Game</translation> <translation type="vanished">Puzzle Game</translation>
</message> </message>
</context> </context>
<context> <context>
<name>PeerSettingsPane</name> <name>PeerSettingsPane</name>
<message> <message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="42"/> <location filename="../qml/panes/PeerSettingsPane.qml" line="38"/>
<source>address-label</source> <source>address-label</source>
<translation>Address</translation> <translation>Address</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="53"/> <location filename="../qml/panes/PeerSettingsPane.qml" line="48"/>
<source>copy-btn</source> <source>copy-btn</source>
<translation>Copy</translation> <translation>Copy</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="57"/> <location filename="../qml/panes/PeerSettingsPane.qml" line="51"/>
<source>copied-to-clipboard-notification</source> <source>copied-to-clipboard-notification</source>
<extracomment>notification: copied to clipboard</extracomment> <extracomment>notification: copied to clipboard</extracomment>
<translation>Copied to Clipboard</translation> <translation>Copied to Clipboard</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="64"/> <location filename="../qml/panes/PeerSettingsPane.qml" line="67"/>
<source>display-name-label</source> <source>display-name-label</source>
<translation>Display Name</translation> <translation>Display Name</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="73"/> <location filename="../qml/panes/PeerSettingsPane.qml" line="77"/>
<source>save-btn</source> <source>save-btn</source>
<translation>Save</translation> <translation>Save</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="85"/> <location filename="../qml/panes/PeerSettingsPane.qml" line="96"/>
<source>block-btn</source> <source>block-btn</source>
<translation>Block Peer</translation> <translation>Block Peer</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="85"/>
<source>unblock-btn</source> <source>unblock-btn</source>
<translation>Unblock Peer</translation> <translation type="vanished">Unblock Peer</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="99"/> <location filename="../qml/panes/PeerSettingsPane.qml" line="124"/>
<source>delete-btn</source> <source>delete-btn</source>
<translation>Delete</translation> <translation>Delete</translation>
</message> </message>
@ -381,113 +375,111 @@ Right-click to reset.</translation>
<context> <context>
<name>ProfileAddEditPane</name> <name>ProfileAddEditPane</name>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="24"/>
<source>add-profile-title</source> <source>add-profile-title</source>
<translation>Add new profile</translation> <translation type="vanished">Add new profile</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="24"/>
<source>edit-profile-title</source> <source>edit-profile-title</source>
<translation>Edit Profile</translation> <translation type="vanished">Edit Profile</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="95"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="87"/>
<source>profile-name</source> <source>profile-name</source>
<extracomment>Display name</extracomment> <extracomment>Display name</extracomment>
<translation>Display name</translation> <translation>Display name</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="32"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="24"/>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="103"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="95"/>
<source>default-profile-name</source> <source>default-profile-name</source>
<extracomment>default suggested profile name</extracomment> <extracomment>default suggested profile name</extracomment>
<translation>Alice</translation> <translation>Alice</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="84"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="76"/>
<source>profile-onion-label</source> <source>profile-onion-label</source>
<extracomment>Onion</extracomment> <extracomment>Onion</extracomment>
<translation>Onion</translation> <translation>Onion</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="115"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="107"/>
<source>radio-use-password</source> <source>radio-use-password</source>
<extracomment>Password</extracomment> <extracomment>Password</extracomment>
<translation>Password</translation> <translation>Password</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="125"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="117"/>
<source>radio-no-password</source> <source>radio-no-password</source>
<extracomment>Unencrypted (No password)</extracomment> <extracomment>Unencrypted (No password)</extracomment>
<translation>Unencrypted (No password)</translation> <translation>Unencrypted (No password)</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="136"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="128"/>
<source>no-password-warning</source> <source>no-password-warning</source>
<extracomment>Not using a password on this account means that all data stored locally will not be encrypted</extracomment> <extracomment>Not using a password on this account means that all data stored locally will not be encrypted</extracomment>
<translation>Not using a password on this account means that all data stored locally will not be encrypted</translation> <translation>Not using a password on this account means that all data stored locally will not be encrypted</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="143"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="135"/>
<source>current-password-label</source> <source>current-password-label</source>
<extracomment>Current Password</extracomment> <extracomment>Current Password</extracomment>
<translation>Current Password</translation> <translation>Current Password</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="157"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="149"/>
<source>password1-label</source> <source>password1-label</source>
<extracomment>Password</extracomment> <extracomment>Password</extracomment>
<translation>Password</translation> <translation>Password</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="177"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="169"/>
<source>password2-label</source> <source>password2-label</source>
<extracomment>Reenter password</extracomment> <extracomment>Reenter password</extracomment>
<translation>Reenter password</translation> <translation>Reenter password</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="191"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="183"/>
<source>create-profile-btn</source> <source>create-profile-btn</source>
<extracomment>Create Profile || Save Profile</extracomment> <extracomment>Create Profile || Save Profile</extracomment>
<translation>Create Profile</translation> <translation>Create Profile</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="191"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="183"/>
<source>save-profile-btn</source> <source>save-profile-btn</source>
<translation>Save Profile</translation> <translation>Save Profile</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="223"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="215"/>
<source>password-error-match</source> <source>password-error-match</source>
<extracomment>Passwords do not match</extracomment> <extracomment>Passwords do not match</extracomment>
<translation>Passwords do not match</translation> <translation>Passwords do not match</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="231"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="223"/>
<source>password-change-error</source> <source>password-change-error</source>
<extracomment>Error changing password: Supplied password rejected</extracomment> <extracomment>Error changing password: Supplied password rejected</extracomment>
<translation>Error changing password: Supplied password rejected</translation> <translation>Error changing password: Supplied password rejected</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="240"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="232"/>
<source>delete-profile-btn</source> <source>delete-profile-btn</source>
<extracomment>Delete Profile</extracomment> <extracomment>Delete Profile</extracomment>
<translation>Delete Profile</translation> <translation>Delete Profile</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="253"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="245"/>
<source>delete-confirm-label</source> <source>delete-confirm-label</source>
<extracomment>Type DELETE to confirm</extracomment> <extracomment>Type DELETE to confirm</extracomment>
<translation>Type DELETE to confirm</translation> <translation>Type DELETE to confirm</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="269"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="261"/>
<source>delete-profile-confirm-btn</source> <source>delete-profile-confirm-btn</source>
<extracomment>Really Delete Profile</extracomment> <extracomment>Really Delete Profile</extracomment>
<translation>Really Delete Profile</translation> <translation>Really Delete Profile</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="275"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="267"/>
<source>delete-confirm-text</source> <source>delete-confirm-text</source>
<extracomment>DELETE</extracomment> <extracomment>DELETE</extracomment>
<translation>DELETE</translation> <translation>DELETE</translation>
@ -496,8 +488,7 @@ Right-click to reset.</translation>
<context> <context>
<name>ProfileList</name> <name>ProfileList</name>
<message> <message>
<location filename="../qml/widgets/ProfileList.qml" line="88"/> <location filename="../qml/widgets/ProfileList.qml" line="106"/>
<location filename="../qml/widgets/ProfileList.qml" line="101"/>
<source>add-new-profile-btn</source> <source>add-new-profile-btn</source>
<translation>Add new profile</translation> <translation>Add new profile</translation>
</message> </message>
@ -505,19 +496,19 @@ Right-click to reset.</translation>
<context> <context>
<name>ProfileManagerPane</name> <name>ProfileManagerPane</name>
<message> <message>
<location filename="../qml/panes/ProfileManagerPane.qml" line="26"/> <location filename="../qml/panes/ProfileManagerPane.qml" line="27"/>
<source>enter-profile-password</source> <source>enter-profile-password</source>
<extracomment>Please enter password:</extracomment> <extracomment>Please enter password:</extracomment>
<translation>Please enter password</translation> <translation>Please enter password</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileManagerPane.qml" line="42"/> <location filename="../qml/panes/ProfileManagerPane.qml" line="43"/>
<source>error-0-profiles-loaded-for-password</source> <source>error-0-profiles-loaded-for-password</source>
<extracomment>0 profiles loaded with that password</extracomment> <extracomment>0 profiles loaded with that password</extracomment>
<translation>0 profiles loaded with that password</translation> <translation>0 profiles loaded with that password</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileManagerPane.qml" line="52"/> <location filename="../qml/panes/ProfileManagerPane.qml" line="53"/>
<source>unlock</source> <source>unlock</source>
<extracomment>Unlock</extracomment> <extracomment>Unlock</extracomment>
<translation>Unlock</translation> <translation>Unlock</translation>
@ -526,41 +517,40 @@ Right-click to reset.</translation>
<context> <context>
<name>SettingsPane</name> <name>SettingsPane</name>
<message> <message>
<location filename="../qml/panes/SettingsPane.qml" line="21"/>
<source>cwtch-settings-title</source> <source>cwtch-settings-title</source>
<extracomment>Cwtch Settings title</extracomment> <extracomment>Cwtch Settings title</extracomment>
<translation>Cwtch Settings</translation> <translation type="vanished">Cwtch Settings</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/SettingsPane.qml" line="47"/> <location filename="../qml/panes/SettingsPane.qml" line="35"/>
<source>version %1 builddate %2</source> <source>version %1 builddate %2</source>
<extracomment>Version: %1 Built on: %2</extracomment> <extracomment>Version: %1 Built on: %2</extracomment>
<translation>Version: %1 Built on: %2</translation> <translation>Version: %1 Built on: %2</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/SettingsPane.qml" line="54"/> <location filename="../qml/panes/SettingsPane.qml" line="42"/>
<source>zoom-label</source> <source>zoom-label</source>
<extracomment>Interface zoom (mostly affects text and button sizes)</extracomment> <extracomment>Interface zoom (mostly affects text and button sizes)</extracomment>
<translation>Interface zoom (mostly affects text and button sizes)</translation> <translation>Interface zoom (mostly affects text and button sizes)</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/SettingsPane.qml" line="83"/> <location filename="../qml/panes/SettingsPane.qml" line="71"/>
<source>block-unknown-label</source> <source>block-unknown-label</source>
<translation>Block Unknown Peers</translation> <translation>Block Unknown Peers</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/SettingsPane.qml" line="90"/> <location filename="../qml/panes/SettingsPane.qml" line="78"/>
<source>large-text-label</source> <source>large-text-label</source>
<translation>Large</translation> <translation>Large</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/SettingsPane.qml" line="98"/> <location filename="../qml/panes/SettingsPane.qml" line="86"/>
<source>default-scaling-text</source> <source>default-scaling-text</source>
<extracomment>&quot;Default size text (scale factor: &quot;</extracomment> <extracomment>&quot;Default size text (scale factor: &quot;</extracomment>
<translation>Default size text (scale factor:</translation> <translation>Default size text (scale factor:</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/SettingsPane.qml" line="102"/> <location filename="../qml/panes/SettingsPane.qml" line="90"/>
<source>small-text-label</source> <source>small-text-label</source>
<translation>Small</translation> <translation>Small</translation>
</message> </message>
@ -568,10 +558,36 @@ Right-click to reset.</translation>
<context> <context>
<name>StackToolbar</name> <name>StackToolbar</name>
<message> <message>
<location filename="../qml/widgets/StackToolbar.qml" line="58"/>
<source>view-group-membership-tooltip</source> <source>view-group-membership-tooltip</source>
<extracomment>View Group Membership</extracomment> <extracomment>View Group Membership</extracomment>
<translation>View Group Membership</translation> <translation type="vanished">View Group Membership</translation>
</message>
</context>
<context>
<name>Statusbar</name>
<message>
<location filename="../qml/widgets/Statusbar.qml" line="40"/>
<source>network-status-disconnected</source>
<extracomment>Disconnected from the internet, check your connection</extracomment>
<translation>Disconnected from the internet, check your connection</translation>
</message>
<message>
<location filename="../qml/widgets/Statusbar.qml" line="45"/>
<source>network-status-attempting-tor</source>
<extracomment>Attempting to connect to Tor network</extracomment>
<translation>Attempting to connect to Tor network</translation>
</message>
<message>
<location filename="../qml/widgets/Statusbar.qml" line="50"/>
<source>network-status-connecting</source>
<extracomment>Connecting...</extracomment>
<translation>Connecting to network and peers...</translation>
</message>
<message>
<location filename="../qml/widgets/Statusbar.qml" line="55"/>
<source>network-status-online</source>
<extracomment>Online</extracomment>
<translation>Online</translation>
</message> </message>
</context> </context>
</TS> </TS>

Binary file not shown.

View File

@ -4,30 +4,29 @@
<context> <context>
<name>AddGroupPane</name> <name>AddGroupPane</name>
<message> <message>
<location filename="../qml/panes/AddGroupPane.qml" line="19"/>
<source>create-group-title</source> <source>create-group-title</source>
<translation>Créer un groupe</translation> <translation type="vanished">Créer un groupe</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/AddGroupPane.qml" line="42"/> <location filename="../qml/panes/AddGroupPane.qml" line="31"/>
<source>server-label</source> <source>server-label</source>
<extracomment>Server label</extracomment> <extracomment>Server label</extracomment>
<translation>Serveur</translation> <translation>Serveur</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/AddGroupPane.qml" line="53"/> <location filename="../qml/panes/AddGroupPane.qml" line="42"/>
<source>group-name-label</source> <source>group-name-label</source>
<extracomment>Group name label</extracomment> <extracomment>Group name label</extracomment>
<translation>Groupe</translation> <translation>Groupe</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/AddGroupPane.qml" line="60"/> <location filename="../qml/panes/AddGroupPane.qml" line="49"/>
<source>default-group-name</source> <source>default-group-name</source>
<extracomment>default suggested group name</extracomment> <extracomment>default suggested group name</extracomment>
<translation>Un super groupe</translation> <translation>Un super groupe</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/AddGroupPane.qml" line="65"/> <location filename="../qml/panes/AddGroupPane.qml" line="54"/>
<source>create-group-btn</source> <source>create-group-btn</source>
<extracomment>create group button</extracomment> <extracomment>create group button</extracomment>
<translation>Créer</translation> <translation>Créer</translation>
@ -155,44 +154,44 @@
<context> <context>
<name>GroupSettingsPane</name> <name>GroupSettingsPane</name>
<message> <message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="42"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="33"/>
<source>server-label</source> <source>server-label</source>
<translation>Serveur</translation> <translation>Serveur</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="53"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="44"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="74"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="65"/>
<source>copy-btn</source> <source>copy-btn</source>
<translation>Copier</translation> <translation>Copier</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="63"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="54"/>
<source>invitation-label</source> <source>invitation-label</source>
<translation>Invitation</translation> <translation>Invitation</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="84"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="75"/>
<source>group-name-label</source> <source>group-name-label</source>
<translation>Nom du groupe</translation> <translation>Nom du groupe</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="93"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="84"/>
<source>save-btn</source> <source>save-btn</source>
<translation>Sauvegarder</translation> <translation>Sauvegarder</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="103"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="94"/>
<source>invite-to-group-label</source> <source>invite-to-group-label</source>
<extracomment>Invite someone to the group</extracomment> <extracomment>Invite someone to the group</extracomment>
<translation>Inviter quelqu&apos;un</translation> <translation>Inviter quelqu&apos;un</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="114"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="105"/>
<source>invite-btn</source> <source>invite-btn</source>
<translation>Invitation</translation> <translation>Invitation</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="123"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="114"/>
<source>delete-btn</source> <source>delete-btn</source>
<translation>Effacer</translation> <translation>Effacer</translation>
</message> </message>
@ -200,7 +199,7 @@
<context> <context>
<name>InplaceEditText</name> <name>InplaceEditText</name>
<message> <message>
<location filename="../qml/widgets/InplaceEditText.qml" line="85"/> <location filename="../qml/widgets/InplaceEditText.qml" line="87"/>
<source>Update</source> <source>Update</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -244,18 +243,18 @@
<translation>Envoyer un message privé</translation> <translation>Envoyer un message privé</translation>
</message> </message>
<message> <message>
<location filename="../qml/widgets/Message.qml" line="162"/> <location filename="../qml/widgets/Message.qml" line="163"/>
<source>could-not-send-msg-error</source> <source>could-not-send-msg-error</source>
<extracomment>Could not send this message</extracomment> <extracomment>Could not send this message</extracomment>
<translation>Impossible d&apos;envoyer ce message</translation> <translation>Impossible d&apos;envoyer ce message</translation>
</message> </message>
<message> <message>
<location filename="../qml/widgets/Message.qml" line="162"/> <location filename="../qml/widgets/Message.qml" line="163"/>
<source>acknowledged-label</source> <source>acknowledged-label</source>
<translation>Confirmé</translation> <translation>Confirmé</translation>
</message> </message>
<message> <message>
<location filename="../qml/widgets/Message.qml" line="162"/> <location filename="../qml/widgets/Message.qml" line="163"/>
<source>pending-label</source> <source>pending-label</source>
<translation>En attente</translation> <translation>En attente</translation>
</message> </message>
@ -263,25 +262,22 @@
<context> <context>
<name>MyProfile</name> <name>MyProfile</name>
<message> <message>
<location filename="../qml/widgets/MyProfile.qml" line="186"/>
<source>copy-btn</source> <source>copy-btn</source>
<extracomment>Button for copying profile onion address to clipboard</extracomment> <extracomment>Button for copying profile onion address to clipboard</extracomment>
<translation>Copier</translation> <translation type="vanished">Copier</translation>
</message> </message>
<message> <message>
<location filename="../qml/widgets/MyProfile.qml" line="190"/>
<source>copied-clipboard-notification</source> <source>copied-clipboard-notification</source>
<extracomment>Copied to clipboard</extracomment> <extracomment>Copied to clipboard</extracomment>
<translation>Copié dans le presse-papier</translation> <translation type="vanished">Copié dans le presse-papier</translation>
</message> </message>
<message> <message>
<location filename="../qml/widgets/MyProfile.qml" line="220"/>
<source>new-group-btn</source> <source>new-group-btn</source>
<extracomment>create new group button</extracomment> <extracomment>create new group button</extracomment>
<translation>Créer un nouveau groupe</translation> <translation type="vanished">Créer un nouveau groupe</translation>
</message> </message>
<message> <message>
<location filename="../qml/widgets/MyProfile.qml" line="230"/> <location filename="../qml/widgets/MyProfile.qml" line="150"/>
<source>paste-address-to-add-contact</source> <source>paste-address-to-add-contact</source>
<extracomment>ex: &quot;... paste an address here to add a contact ...&quot;</extracomment> <extracomment>ex: &quot;... paste an address here to add a contact ...&quot;</extracomment>
<translation>... coller une adresse ici pour ajouter un contact...</translation> <translation>... coller une adresse ici pour ajouter un contact...</translation>
@ -290,84 +286,78 @@
<context> <context>
<name>OverlayPane</name> <name>OverlayPane</name>
<message> <message>
<location filename="../qml/panes/OverlayPane.qml" line="44"/> <location filename="../qml/panes/OverlayPane.qml" line="23"/>
<source>accept-group-invite-label</source> <source>accept-group-invite-label</source>
<extracomment>Do you want to accept the invitation to $GROUP</extracomment> <extracomment>Do you want to accept the invitation to $GROUP</extracomment>
<translation>Voulez-vous accepter l&apos;invitation au groupe</translation> <translation>Voulez-vous accepter l&apos;invitation au groupe</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/OverlayPane.qml" line="49"/> <location filename="../qml/panes/OverlayPane.qml" line="28"/>
<source>accept-group-btn</source> <source>accept-group-btn</source>
<extracomment>Accept group invite button</extracomment> <extracomment>Accept group invite button</extracomment>
<translation>Accepter</translation> <translation>Accepter</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/OverlayPane.qml" line="59"/> <location filename="../qml/panes/OverlayPane.qml" line="38"/>
<source>reject-group-btn</source> <source>reject-group-btn</source>
<extracomment>Reject Group invite button</extracomment> <extracomment>Reject Group invite button</extracomment>
<translation>Refuser</translation> <translation>Refuser</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/OverlayPane.qml" line="73"/> <location filename="../qml/panes/OverlayPane.qml" line="52"/>
<source>chat-btn</source> <source>chat-btn</source>
<translation>Discuter</translation> <translation>Discuter</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/OverlayPane.qml" line="80"/> <location filename="../qml/panes/OverlayPane.qml" line="59"/>
<source>lists-btn</source> <source>lists-btn</source>
<translation>Listes</translation> <translation>Listes</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/OverlayPane.qml" line="87"/> <location filename="../qml/panes/OverlayPane.qml" line="66"/>
<source>bulletins-btn</source> <source>bulletins-btn</source>
<translation>Bulletins</translation> <translation>Bulletins</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/OverlayPane.qml" line="94"/>
<source>puzzle-game-btn</source> <source>puzzle-game-btn</source>
<translation>Puzzle</translation> <translation type="vanished">Puzzle</translation>
</message> </message>
</context> </context>
<context> <context>
<name>PeerSettingsPane</name> <name>PeerSettingsPane</name>
<message> <message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="42"/> <location filename="../qml/panes/PeerSettingsPane.qml" line="38"/>
<source>address-label</source> <source>address-label</source>
<translation>Adresse</translation> <translation>Adresse</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="53"/> <location filename="../qml/panes/PeerSettingsPane.qml" line="48"/>
<source>copy-btn</source> <source>copy-btn</source>
<translation>Copier</translation> <translation>Copier</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="57"/> <location filename="../qml/panes/PeerSettingsPane.qml" line="51"/>
<source>copied-to-clipboard-notification</source> <source>copied-to-clipboard-notification</source>
<extracomment>notification: copied to clipboard</extracomment> <extracomment>notification: copied to clipboard</extracomment>
<translation>Copié dans le presse-papier</translation> <translation>Copié dans le presse-papier</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="64"/> <location filename="../qml/panes/PeerSettingsPane.qml" line="67"/>
<source>display-name-label</source> <source>display-name-label</source>
<translation>Pseudo</translation> <translation>Pseudo</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="73"/> <location filename="../qml/panes/PeerSettingsPane.qml" line="77"/>
<source>save-btn</source> <source>save-btn</source>
<translation>Sauvegarder</translation> <translation>Sauvegarder</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="99"/> <location filename="../qml/panes/PeerSettingsPane.qml" line="124"/>
<source>delete-btn</source> <source>delete-btn</source>
<translation>Effacer</translation> <translation>Effacer</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="85"/> <location filename="../qml/panes/PeerSettingsPane.qml" line="96"/>
<source>unblock-btn</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="85"/>
<source>block-btn</source> <source>block-btn</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -376,112 +366,102 @@
<name>ProfileAddEditPane</name> <name>ProfileAddEditPane</name>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="24"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="24"/>
<source>add-profile-title</source> <location filename="../qml/panes/ProfileAddEditPane.qml" line="95"/>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="24"/>
<source>edit-profile-title</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="32"/>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="103"/>
<source>default-profile-name</source> <source>default-profile-name</source>
<extracomment>default suggested profile name</extracomment> <extracomment>default suggested profile name</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="84"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="76"/>
<source>profile-onion-label</source> <source>profile-onion-label</source>
<extracomment>Onion</extracomment> <extracomment>Onion</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="95"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="87"/>
<source>profile-name</source> <source>profile-name</source>
<extracomment>Display name</extracomment> <extracomment>Display name</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="115"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="107"/>
<source>radio-use-password</source> <source>radio-use-password</source>
<extracomment>Password</extracomment> <extracomment>Password</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="125"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="117"/>
<source>radio-no-password</source> <source>radio-no-password</source>
<extracomment>Unencrypted (No password)</extracomment> <extracomment>Unencrypted (No password)</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="136"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="128"/>
<source>no-password-warning</source> <source>no-password-warning</source>
<extracomment>Not using a password on this account means that all data stored locally will not be encrypted</extracomment> <extracomment>Not using a password on this account means that all data stored locally will not be encrypted</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="143"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="135"/>
<source>current-password-label</source> <source>current-password-label</source>
<extracomment>Current Password</extracomment> <extracomment>Current Password</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="157"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="149"/>
<source>password1-label</source> <source>password1-label</source>
<extracomment>Password</extracomment> <extracomment>Password</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="177"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="169"/>
<source>password2-label</source> <source>password2-label</source>
<extracomment>Reenter password</extracomment> <extracomment>Reenter password</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="191"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="183"/>
<source>create-profile-btn</source> <source>create-profile-btn</source>
<extracomment>Create Profile || Save Profile</extracomment> <extracomment>Create Profile || Save Profile</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="191"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="183"/>
<source>save-profile-btn</source> <source>save-profile-btn</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="223"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="215"/>
<source>password-error-match</source> <source>password-error-match</source>
<extracomment>Passwords do not match</extracomment> <extracomment>Passwords do not match</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="231"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="223"/>
<source>password-change-error</source> <source>password-change-error</source>
<extracomment>Error changing password: Supplied password rejected</extracomment> <extracomment>Error changing password: Supplied password rejected</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="240"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="232"/>
<source>delete-profile-btn</source> <source>delete-profile-btn</source>
<extracomment>Delete Profile</extracomment> <extracomment>Delete Profile</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="253"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="245"/>
<source>delete-confirm-label</source> <source>delete-confirm-label</source>
<extracomment>Type DELETE to confirm</extracomment> <extracomment>Type DELETE to confirm</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="269"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="261"/>
<source>delete-profile-confirm-btn</source> <source>delete-profile-confirm-btn</source>
<extracomment>Really Delete Profile</extracomment> <extracomment>Really Delete Profile</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="275"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="267"/>
<source>delete-confirm-text</source> <source>delete-confirm-text</source>
<extracomment>DELETE</extracomment> <extracomment>DELETE</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -490,8 +470,7 @@
<context> <context>
<name>ProfileList</name> <name>ProfileList</name>
<message> <message>
<location filename="../qml/widgets/ProfileList.qml" line="88"/> <location filename="../qml/widgets/ProfileList.qml" line="106"/>
<location filename="../qml/widgets/ProfileList.qml" line="101"/>
<source>add-new-profile-btn</source> <source>add-new-profile-btn</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -499,19 +478,19 @@
<context> <context>
<name>ProfileManagerPane</name> <name>ProfileManagerPane</name>
<message> <message>
<location filename="../qml/panes/ProfileManagerPane.qml" line="26"/> <location filename="../qml/panes/ProfileManagerPane.qml" line="27"/>
<source>enter-profile-password</source> <source>enter-profile-password</source>
<extracomment>Please enter password:</extracomment> <extracomment>Please enter password:</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileManagerPane.qml" line="42"/> <location filename="../qml/panes/ProfileManagerPane.qml" line="43"/>
<source>error-0-profiles-loaded-for-password</source> <source>error-0-profiles-loaded-for-password</source>
<extracomment>0 profiles loaded with that password</extracomment> <extracomment>0 profiles loaded with that password</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileManagerPane.qml" line="52"/> <location filename="../qml/panes/ProfileManagerPane.qml" line="53"/>
<source>unlock</source> <source>unlock</source>
<extracomment>Unlock</extracomment> <extracomment>Unlock</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -520,51 +499,68 @@
<context> <context>
<name>SettingsPane</name> <name>SettingsPane</name>
<message> <message>
<location filename="../qml/panes/SettingsPane.qml" line="21"/>
<source>cwtch-settings-title</source> <source>cwtch-settings-title</source>
<extracomment>Cwtch Settings title</extracomment> <extracomment>Cwtch Settings title</extracomment>
<translation>Préférences Cwtch</translation> <translation type="vanished">Préférences Cwtch</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/SettingsPane.qml" line="54"/> <location filename="../qml/panes/SettingsPane.qml" line="42"/>
<source>zoom-label</source> <source>zoom-label</source>
<extracomment>Interface zoom (mostly affects text and button sizes)</extracomment> <extracomment>Interface zoom (mostly affects text and button sizes)</extracomment>
<translation>Interface zoom (essentiellement la taille du texte et des composants de l&apos;interface)</translation> <translation>Interface zoom (essentiellement la taille du texte et des composants de l&apos;interface)</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/SettingsPane.qml" line="90"/> <location filename="../qml/panes/SettingsPane.qml" line="78"/>
<source>large-text-label</source> <source>large-text-label</source>
<translation type="unfinished">Large</translation> <translation type="unfinished">Large</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/SettingsPane.qml" line="98"/> <location filename="../qml/panes/SettingsPane.qml" line="86"/>
<source>default-scaling-text</source> <source>default-scaling-text</source>
<extracomment>&quot;Default size text (scale factor: &quot;</extracomment> <extracomment>&quot;Default size text (scale factor: &quot;</extracomment>
<translation>Taille par défaut du texte (échelle:</translation> <translation>Taille par défaut du texte (échelle:</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/SettingsPane.qml" line="102"/> <location filename="../qml/panes/SettingsPane.qml" line="90"/>
<source>small-text-label</source> <source>small-text-label</source>
<translation>Petit</translation> <translation>Petit</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/SettingsPane.qml" line="47"/> <location filename="../qml/panes/SettingsPane.qml" line="35"/>
<source>version %1 builddate %2</source> <source>version %1 builddate %2</source>
<extracomment>Version: %1 Built on: %2</extracomment> <extracomment>Version: %1 Built on: %2</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/SettingsPane.qml" line="83"/> <location filename="../qml/panes/SettingsPane.qml" line="71"/>
<source>block-unknown-label</source> <source>block-unknown-label</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context> <context>
<name>StackToolbar</name> <name>Statusbar</name>
<message> <message>
<location filename="../qml/widgets/StackToolbar.qml" line="58"/> <location filename="../qml/widgets/Statusbar.qml" line="40"/>
<source>view-group-membership-tooltip</source> <source>network-status-disconnected</source>
<extracomment>View Group Membership</extracomment> <extracomment>Disconnected from the internet, check your connection</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/widgets/Statusbar.qml" line="45"/>
<source>network-status-attempting-tor</source>
<extracomment>Attempting to connect to Tor network</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/widgets/Statusbar.qml" line="50"/>
<source>network-status-connecting</source>
<extracomment>Connecting...</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/widgets/Statusbar.qml" line="55"/>
<source>network-status-online</source>
<extracomment>Online</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>

Binary file not shown.

View File

@ -4,30 +4,29 @@
<context> <context>
<name>AddGroupPane</name> <name>AddGroupPane</name>
<message> <message>
<location filename="../qml/panes/AddGroupPane.qml" line="19"/>
<source>create-group-title</source> <source>create-group-title</source>
<translation>Criar Grupo</translation> <translation type="vanished">Criar Grupo</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/AddGroupPane.qml" line="42"/> <location filename="../qml/panes/AddGroupPane.qml" line="31"/>
<source>server-label</source> <source>server-label</source>
<extracomment>Server label</extracomment> <extracomment>Server label</extracomment>
<translation>Servidor</translation> <translation>Servidor</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/AddGroupPane.qml" line="53"/> <location filename="../qml/panes/AddGroupPane.qml" line="42"/>
<source>group-name-label</source> <source>group-name-label</source>
<extracomment>Group name label</extracomment> <extracomment>Group name label</extracomment>
<translation>Nome do grupo</translation> <translation>Nome do grupo</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/AddGroupPane.qml" line="60"/> <location filename="../qml/panes/AddGroupPane.qml" line="49"/>
<source>default-group-name</source> <source>default-group-name</source>
<extracomment>default suggested group name</extracomment> <extracomment>default suggested group name</extracomment>
<translation>Grupo incrível</translation> <translation>Grupo incrível</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/AddGroupPane.qml" line="65"/> <location filename="../qml/panes/AddGroupPane.qml" line="54"/>
<source>create-group-btn</source> <source>create-group-btn</source>
<extracomment>create group button</extracomment> <extracomment>create group button</extracomment>
<translation>Criar</translation> <translation>Criar</translation>
@ -155,44 +154,44 @@
<context> <context>
<name>GroupSettingsPane</name> <name>GroupSettingsPane</name>
<message> <message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="42"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="33"/>
<source>server-label</source> <source>server-label</source>
<translation>Servidor</translation> <translation>Servidor</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="53"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="44"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="74"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="65"/>
<source>copy-btn</source> <source>copy-btn</source>
<translation>Copiar</translation> <translation>Copiar</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="63"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="54"/>
<source>invitation-label</source> <source>invitation-label</source>
<translation>Convite</translation> <translation>Convite</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="84"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="75"/>
<source>group-name-label</source> <source>group-name-label</source>
<translation>Nome do Grupo</translation> <translation>Nome do Grupo</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="93"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="84"/>
<source>save-btn</source> <source>save-btn</source>
<translation>Salvar</translation> <translation>Salvar</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="103"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="94"/>
<source>invite-to-group-label</source> <source>invite-to-group-label</source>
<extracomment>Invite someone to the group</extracomment> <extracomment>Invite someone to the group</extracomment>
<translation>Convidar ao grupo</translation> <translation>Convidar ao grupo</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="114"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="105"/>
<source>invite-btn</source> <source>invite-btn</source>
<translation>Convidar</translation> <translation>Convidar</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="123"/> <location filename="../qml/panes/GroupSettingsPane.qml" line="114"/>
<source>delete-btn</source> <source>delete-btn</source>
<translation>Deletar</translation> <translation>Deletar</translation>
</message> </message>
@ -200,7 +199,7 @@
<context> <context>
<name>InplaceEditText</name> <name>InplaceEditText</name>
<message> <message>
<location filename="../qml/widgets/InplaceEditText.qml" line="85"/> <location filename="../qml/widgets/InplaceEditText.qml" line="87"/>
<source>Update</source> <source>Update</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -244,18 +243,18 @@
<translation>Clique para DM</translation> <translation>Clique para DM</translation>
</message> </message>
<message> <message>
<location filename="../qml/widgets/Message.qml" line="162"/> <location filename="../qml/widgets/Message.qml" line="163"/>
<source>could-not-send-msg-error</source> <source>could-not-send-msg-error</source>
<extracomment>Could not send this message</extracomment> <extracomment>Could not send this message</extracomment>
<translation>Não deu para enviar esta mensagem</translation> <translation>Não deu para enviar esta mensagem</translation>
</message> </message>
<message> <message>
<location filename="../qml/widgets/Message.qml" line="162"/> <location filename="../qml/widgets/Message.qml" line="163"/>
<source>acknowledged-label</source> <source>acknowledged-label</source>
<translation>Confirmada</translation> <translation>Confirmada</translation>
</message> </message>
<message> <message>
<location filename="../qml/widgets/Message.qml" line="162"/> <location filename="../qml/widgets/Message.qml" line="163"/>
<source>pending-label</source> <source>pending-label</source>
<translation>Pendente</translation> <translation>Pendente</translation>
</message> </message>
@ -263,25 +262,22 @@
<context> <context>
<name>MyProfile</name> <name>MyProfile</name>
<message> <message>
<location filename="../qml/widgets/MyProfile.qml" line="186"/>
<source>copy-btn</source> <source>copy-btn</source>
<extracomment>Button for copying profile onion address to clipboard</extracomment> <extracomment>Button for copying profile onion address to clipboard</extracomment>
<translation>Copiar</translation> <translation type="vanished">Copiar</translation>
</message> </message>
<message> <message>
<location filename="../qml/widgets/MyProfile.qml" line="190"/>
<source>copied-clipboard-notification</source> <source>copied-clipboard-notification</source>
<extracomment>Copied to clipboard</extracomment> <extracomment>Copied to clipboard</extracomment>
<translation>Copiado</translation> <translation type="vanished">Copiado</translation>
</message> </message>
<message> <message>
<location filename="../qml/widgets/MyProfile.qml" line="220"/>
<source>new-group-btn</source> <source>new-group-btn</source>
<extracomment>create new group button</extracomment> <extracomment>create new group button</extracomment>
<translation>Criar novo grupo</translation> <translation type="vanished">Criar novo grupo</translation>
</message> </message>
<message> <message>
<location filename="../qml/widgets/MyProfile.qml" line="230"/> <location filename="../qml/widgets/MyProfile.qml" line="150"/>
<source>paste-address-to-add-contact</source> <source>paste-address-to-add-contact</source>
<extracomment>ex: &quot;... paste an address here to add a contact ...&quot;</extracomment> <extracomment>ex: &quot;... paste an address here to add a contact ...&quot;</extracomment>
<translation> cole um endereço aqui para adicionar um contato</translation> <translation> cole um endereço aqui para adicionar um contato</translation>
@ -290,84 +286,78 @@
<context> <context>
<name>OverlayPane</name> <name>OverlayPane</name>
<message> <message>
<location filename="../qml/panes/OverlayPane.qml" line="44"/> <location filename="../qml/panes/OverlayPane.qml" line="23"/>
<source>accept-group-invite-label</source> <source>accept-group-invite-label</source>
<extracomment>Do you want to accept the invitation to $GROUP</extracomment> <extracomment>Do you want to accept the invitation to $GROUP</extracomment>
<translation>Você quer aceitar o convite para</translation> <translation>Você quer aceitar o convite para</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/OverlayPane.qml" line="49"/> <location filename="../qml/panes/OverlayPane.qml" line="28"/>
<source>accept-group-btn</source> <source>accept-group-btn</source>
<extracomment>Accept group invite button</extracomment> <extracomment>Accept group invite button</extracomment>
<translation>Aceitar</translation> <translation>Aceitar</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/OverlayPane.qml" line="59"/> <location filename="../qml/panes/OverlayPane.qml" line="38"/>
<source>reject-group-btn</source> <source>reject-group-btn</source>
<extracomment>Reject Group invite button</extracomment> <extracomment>Reject Group invite button</extracomment>
<translation>Recusar</translation> <translation>Recusar</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/OverlayPane.qml" line="73"/> <location filename="../qml/panes/OverlayPane.qml" line="52"/>
<source>chat-btn</source> <source>chat-btn</source>
<translation>Chat</translation> <translation>Chat</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/OverlayPane.qml" line="80"/> <location filename="../qml/panes/OverlayPane.qml" line="59"/>
<source>lists-btn</source> <source>lists-btn</source>
<translation>Listas</translation> <translation>Listas</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/OverlayPane.qml" line="87"/> <location filename="../qml/panes/OverlayPane.qml" line="66"/>
<source>bulletins-btn</source> <source>bulletins-btn</source>
<translation>Boletins</translation> <translation>Boletins</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/OverlayPane.qml" line="94"/>
<source>puzzle-game-btn</source> <source>puzzle-game-btn</source>
<translation>Jogo de Adivinhação</translation> <translation type="vanished">Jogo de Adivinhação</translation>
</message> </message>
</context> </context>
<context> <context>
<name>PeerSettingsPane</name> <name>PeerSettingsPane</name>
<message> <message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="42"/> <location filename="../qml/panes/PeerSettingsPane.qml" line="38"/>
<source>address-label</source> <source>address-label</source>
<translation>Endereço</translation> <translation>Endereço</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="53"/> <location filename="../qml/panes/PeerSettingsPane.qml" line="48"/>
<source>copy-btn</source> <source>copy-btn</source>
<translation>Copiar</translation> <translation>Copiar</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="57"/> <location filename="../qml/panes/PeerSettingsPane.qml" line="51"/>
<source>copied-to-clipboard-notification</source> <source>copied-to-clipboard-notification</source>
<extracomment>notification: copied to clipboard</extracomment> <extracomment>notification: copied to clipboard</extracomment>
<translation>Copiado</translation> <translation>Copiado</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="64"/> <location filename="../qml/panes/PeerSettingsPane.qml" line="67"/>
<source>display-name-label</source> <source>display-name-label</source>
<translation>Nome de Exibição</translation> <translation>Nome de Exibição</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="73"/> <location filename="../qml/panes/PeerSettingsPane.qml" line="77"/>
<source>save-btn</source> <source>save-btn</source>
<translation>Salvar</translation> <translation>Salvar</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="99"/> <location filename="../qml/panes/PeerSettingsPane.qml" line="124"/>
<source>delete-btn</source> <source>delete-btn</source>
<translation>Deletar</translation> <translation>Deletar</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="85"/> <location filename="../qml/panes/PeerSettingsPane.qml" line="96"/>
<source>unblock-btn</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="85"/>
<source>block-btn</source> <source>block-btn</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -376,112 +366,102 @@
<name>ProfileAddEditPane</name> <name>ProfileAddEditPane</name>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="24"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="24"/>
<source>add-profile-title</source> <location filename="../qml/panes/ProfileAddEditPane.qml" line="95"/>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="24"/>
<source>edit-profile-title</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="32"/>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="103"/>
<source>default-profile-name</source> <source>default-profile-name</source>
<extracomment>default suggested profile name</extracomment> <extracomment>default suggested profile name</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="84"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="76"/>
<source>profile-onion-label</source> <source>profile-onion-label</source>
<extracomment>Onion</extracomment> <extracomment>Onion</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="95"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="87"/>
<source>profile-name</source> <source>profile-name</source>
<extracomment>Display name</extracomment> <extracomment>Display name</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="115"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="107"/>
<source>radio-use-password</source> <source>radio-use-password</source>
<extracomment>Password</extracomment> <extracomment>Password</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="125"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="117"/>
<source>radio-no-password</source> <source>radio-no-password</source>
<extracomment>Unencrypted (No password)</extracomment> <extracomment>Unencrypted (No password)</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="136"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="128"/>
<source>no-password-warning</source> <source>no-password-warning</source>
<extracomment>Not using a password on this account means that all data stored locally will not be encrypted</extracomment> <extracomment>Not using a password on this account means that all data stored locally will not be encrypted</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="143"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="135"/>
<source>current-password-label</source> <source>current-password-label</source>
<extracomment>Current Password</extracomment> <extracomment>Current Password</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="157"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="149"/>
<source>password1-label</source> <source>password1-label</source>
<extracomment>Password</extracomment> <extracomment>Password</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="177"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="169"/>
<source>password2-label</source> <source>password2-label</source>
<extracomment>Reenter password</extracomment> <extracomment>Reenter password</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="191"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="183"/>
<source>create-profile-btn</source> <source>create-profile-btn</source>
<extracomment>Create Profile || Save Profile</extracomment> <extracomment>Create Profile || Save Profile</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="191"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="183"/>
<source>save-profile-btn</source> <source>save-profile-btn</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="223"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="215"/>
<source>password-error-match</source> <source>password-error-match</source>
<extracomment>Passwords do not match</extracomment> <extracomment>Passwords do not match</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="231"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="223"/>
<source>password-change-error</source> <source>password-change-error</source>
<extracomment>Error changing password: Supplied password rejected</extracomment> <extracomment>Error changing password: Supplied password rejected</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="240"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="232"/>
<source>delete-profile-btn</source> <source>delete-profile-btn</source>
<extracomment>Delete Profile</extracomment> <extracomment>Delete Profile</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="253"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="245"/>
<source>delete-confirm-label</source> <source>delete-confirm-label</source>
<extracomment>Type DELETE to confirm</extracomment> <extracomment>Type DELETE to confirm</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="269"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="261"/>
<source>delete-profile-confirm-btn</source> <source>delete-profile-confirm-btn</source>
<extracomment>Really Delete Profile</extracomment> <extracomment>Really Delete Profile</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileAddEditPane.qml" line="275"/> <location filename="../qml/panes/ProfileAddEditPane.qml" line="267"/>
<source>delete-confirm-text</source> <source>delete-confirm-text</source>
<extracomment>DELETE</extracomment> <extracomment>DELETE</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -490,8 +470,7 @@
<context> <context>
<name>ProfileList</name> <name>ProfileList</name>
<message> <message>
<location filename="../qml/widgets/ProfileList.qml" line="88"/> <location filename="../qml/widgets/ProfileList.qml" line="106"/>
<location filename="../qml/widgets/ProfileList.qml" line="101"/>
<source>add-new-profile-btn</source> <source>add-new-profile-btn</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -499,19 +478,19 @@
<context> <context>
<name>ProfileManagerPane</name> <name>ProfileManagerPane</name>
<message> <message>
<location filename="../qml/panes/ProfileManagerPane.qml" line="26"/> <location filename="../qml/panes/ProfileManagerPane.qml" line="27"/>
<source>enter-profile-password</source> <source>enter-profile-password</source>
<extracomment>Please enter password:</extracomment> <extracomment>Please enter password:</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileManagerPane.qml" line="42"/> <location filename="../qml/panes/ProfileManagerPane.qml" line="43"/>
<source>error-0-profiles-loaded-for-password</source> <source>error-0-profiles-loaded-for-password</source>
<extracomment>0 profiles loaded with that password</extracomment> <extracomment>0 profiles loaded with that password</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/ProfileManagerPane.qml" line="52"/> <location filename="../qml/panes/ProfileManagerPane.qml" line="53"/>
<source>unlock</source> <source>unlock</source>
<extracomment>Unlock</extracomment> <extracomment>Unlock</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -520,51 +499,68 @@
<context> <context>
<name>SettingsPane</name> <name>SettingsPane</name>
<message> <message>
<location filename="../qml/panes/SettingsPane.qml" line="21"/>
<source>cwtch-settings-title</source> <source>cwtch-settings-title</source>
<extracomment>Cwtch Settings title</extracomment> <extracomment>Cwtch Settings title</extracomment>
<translation>Configurações do Cwtch</translation> <translation type="vanished">Configurações do Cwtch</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/SettingsPane.qml" line="54"/> <location filename="../qml/panes/SettingsPane.qml" line="42"/>
<source>zoom-label</source> <source>zoom-label</source>
<extracomment>Interface zoom (mostly affects text and button sizes)</extracomment> <extracomment>Interface zoom (mostly affects text and button sizes)</extracomment>
<translation>Zoom da interface (afeta principalmente tamanho de texto e botões)</translation> <translation>Zoom da interface (afeta principalmente tamanho de texto e botões)</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/SettingsPane.qml" line="90"/> <location filename="../qml/panes/SettingsPane.qml" line="78"/>
<source>large-text-label</source> <source>large-text-label</source>
<translation>Grande</translation> <translation>Grande</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/SettingsPane.qml" line="98"/> <location filename="../qml/panes/SettingsPane.qml" line="86"/>
<source>default-scaling-text</source> <source>default-scaling-text</source>
<extracomment>&quot;Default size text (scale factor: &quot;</extracomment> <extracomment>&quot;Default size text (scale factor: &quot;</extracomment>
<translation>Texto tamanho padrão (fator de escala: </translation> <translation>Texto tamanho padrão (fator de escala: </translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/SettingsPane.qml" line="102"/> <location filename="../qml/panes/SettingsPane.qml" line="90"/>
<source>small-text-label</source> <source>small-text-label</source>
<translation>Pequeno</translation> <translation>Pequeno</translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/SettingsPane.qml" line="47"/> <location filename="../qml/panes/SettingsPane.qml" line="35"/>
<source>version %1 builddate %2</source> <source>version %1 builddate %2</source>
<extracomment>Version: %1 Built on: %2</extracomment> <extracomment>Version: %1 Built on: %2</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/panes/SettingsPane.qml" line="83"/> <location filename="../qml/panes/SettingsPane.qml" line="71"/>
<source>block-unknown-label</source> <source>block-unknown-label</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context> <context>
<name>StackToolbar</name> <name>Statusbar</name>
<message> <message>
<location filename="../qml/widgets/StackToolbar.qml" line="58"/> <location filename="../qml/widgets/Statusbar.qml" line="40"/>
<source>view-group-membership-tooltip</source> <source>network-status-disconnected</source>
<extracomment>View Group Membership</extracomment> <extracomment>Disconnected from the internet, check your connection</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/widgets/Statusbar.qml" line="45"/>
<source>network-status-attempting-tor</source>
<extracomment>Attempting to connect to Tor network</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/widgets/Statusbar.qml" line="50"/>
<source>network-status-connecting</source>
<extracomment>Connecting...</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/widgets/Statusbar.qml" line="55"/>
<source>network-status-online</source>
<extracomment>Online</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>

View File

@ -238,6 +238,7 @@ func loadACN() {
var err error var err error
the.ACN, err = tor.NewTorACN(the.CwtchDir, torpath) the.ACN, err = tor.NewTorACN(the.CwtchDir, torpath)
if err != nil { if err != nil {
// TODO: turn into UI error: status panel?
log.Errorf("Could not start Tor: %v", err) log.Errorf("Could not start Tor: %v", err)
os.Exit(1) os.Exit(1)
} }

View File

@ -34,6 +34,8 @@
<file>qml/widgets/RadioButton.qml</file> <file>qml/widgets/RadioButton.qml</file>
<file>qml/widgets/Button.qml</file> <file>qml/widgets/Button.qml</file>
<file>qml/widgets/TextField.qml</file> <file>qml/widgets/TextField.qml</file>
<file>qml/widgets/Toolbar.qml</file>
<file>qml/widgets/Statusbar.qml</file>
<file>qml/widgets/controls/Loader.qml</file> <file>qml/widgets/controls/Loader.qml</file>
<file>qml/widgets/controls/Variables.qml</file> <file>qml/widgets/controls/Variables.qml</file>
<file>i18n/translation_de.qm</file> <file>i18n/translation_de.qm</file>

View File

@ -101,7 +101,7 @@ ApplicationWindow {
currentIndex: 1 currentIndex: 1
anchors.right: parent.right anchors.right: parent.right
anchors.left: parent.left anchors.left: parent.left
anchors.bottom: parent.bottom anchors.bottom: statusbar.top
anchors.top: toolbar.bottom anchors.top: toolbar.bottom
readonly property int splashPane: 0 readonly property int splashPane: 0
@ -212,6 +212,8 @@ ApplicationWindow {
} }
} }
focus: true focus: true
Keys.onPressed: { Keys.onPressed: {
if (event.key == Qt.Key_Back) { if (event.key == Qt.Key_Back) {
@ -220,7 +222,7 @@ ApplicationWindow {
} }
} }
onCurrentIndexChanged : updateToolbar() onCurrentIndexChanged : { updateToolbar(); statusbar.resetHeight() }
@ -252,6 +254,10 @@ ApplicationWindow {
Component.onCompleted: updateToolbar() Component.onCompleted: updateToolbar()
} }
Statusbar {
id: statusbar
}
function backFn() { function backFn() {
if (parentStack.currentIndex == parentStack.managementPane) { if (parentStack.currentIndex == parentStack.managementPane) {
androidCwtchActivity.rootHomeButtonHandle() androidCwtchActivity.rootHomeButtonHandle()

View File

@ -11,7 +11,7 @@ import "../widgets" as Widgets
import "../styles" import "../styles"
import "../theme" import "../theme"
Column { // peerSettingsPane ColumnLayout { // peerSettingsPane
id: root id: root
anchors.fill: parent anchors.fill: parent
property bool blocked property bool blocked

View File

@ -37,4 +37,13 @@ ThemeType {
toggleOffColor: mauvePurple toggleOffColor: mauvePurple
toolbarIconColor: whitePurple toolbarIconColor: whitePurple
statusbarDisconnectedInternetColor: whitePurple
statusbarDisconnectedInternetFontColor: deepPurple
statusbarDisconnectedTorColor: darkGrayPurple
statusbarDisconnectedTorFontColor: whitePurple
statusbarConnectingColor: deepPurple
statusbarConnectingFontColor: whitePurple
statusbarOnlineColor: mauvePurple
statusbarOnlineFontColor: whitePurple
} }

View File

@ -37,4 +37,13 @@ ThemeType {
toggleOffColor: purple toggleOffColor: purple
toolbarIconColor: darkPurple toolbarIconColor: darkPurple
statusbarDisconnectedInternetColor: softPurple
statusbarDisconnectedInternetFontColor: darkPurple
statusbarDisconnectedTorColor: purple
statusbarDisconnectedTorFontColor: darkPurple
statusbarConnectingColor: greyPurple
statusbarConnectingFontColor: whitePurple
statusbarOnlineColor: darkPurple
statusbarOnlineFontColor: whitePurple
} }

View File

@ -33,6 +33,15 @@ Item {
readonly property color toolbarIconColor: theme.toolbarIconColor readonly property color toolbarIconColor: theme.toolbarIconColor
readonly property color statusbarDisconnectedInternetColor: theme.statusbarDisconnectedInternetColor
readonly property color statusbarDisconnectedInternetFontColor: theme.statusbarDisconnectedInternetFontColor
readonly property color statusbarDisconnectedTorFontColor: theme.statusbarDisconnectedTorFontColor
readonly property color statusbarDisconnectedTorColor: theme.statusbarDisconnectedTorColor
readonly property color statusbarConnectingColor: theme.statusbarConnectingColor
readonly property color statusbarConnectingFontColor: theme.statusbarConnectingFontColor
readonly property color statusbarOnlineColor: theme.statusbarOnlineColor
readonly property color statusbarOnlineFontColor: theme.statusbarOnlineFontColor
readonly property int headerSize: 50 readonly property int headerSize: 50
readonly property int usernameSize: 30 readonly property int usernameSize: 30
readonly property int tabSize: 25 readonly property int tabSize: 25
@ -40,6 +49,7 @@ Item {
readonly property int secondaryTextSize: 20 // address readonly property int secondaryTextSize: 20 // address
readonly property int chatMetaTextSize: 15 readonly property int chatMetaTextSize: 15
readonly property int badgeTextSize: 12 readonly property int badgeTextSize: 12
readonly property int statusTextSize: 12
readonly property int sidePaneMinSize: 700 readonly property int sidePaneMinSize: 700
readonly property int doublePaneMinSize: 1000 readonly property int doublePaneMinSize: 1000

View File

@ -29,6 +29,15 @@ QtObject {
property color toolbarIconColor: "red" property color toolbarIconColor: "red"
property color statusbarDisconnectedInternetColor: "red"
property color statusbarDisconnectedInternetFontColor: "red"
property color statusbarDisconnectedTorFontColor: "red"
property color statusbarDisconnectedTorColor: "red"
property color statusbarConnectingColor: "red"
property color statusbarConnectingFontColor: "red"
property color statusbarOnlineColor: "red"
property color statusbarOnlineFontColor: "red"
// ... more to come // ... more to come

View File

@ -170,10 +170,5 @@ Item {
} }
onResetProfile: { realignProfile() } onResetProfile: { realignProfile() }
/*onTorStatus: function(code, str) {
rectTorStatus.code = code
rectTorStatus.message = str
}*/
} }
} }

186
qml/widgets/Statusbar.qml Normal file
View File

@ -0,0 +1,186 @@
import QtQuick 2.7
import QtQuick.Controls 2.4
import "." as Widgets
import "../theme"
// Statusbar is a app wide 10-25 tall bar that should be place at the bottom of the app that gives network health information
Outdated
Review

We should get better at documenting these widgets.

We should get better at documenting these widgets.
// it changes color and text/icon message based on network health. when netowrk is not healthy it is always in fullsized mode
// when network is health it reduces to a minimal color strip unless mouse overed / clicked to reveal the text/icons
Rectangle {
id: statusbar
property int status: statusDisconnectedInternet
readonly property int statusDisconnectedInternet: 0
readonly property int statusDisconnectedTor: 1
readonly property int statusConnecting: 2
readonly property int statusOnline: 3
readonly property int openHeight: 25
readonly property int hideHeight: 10
property bool isHover: false
height: openHeight
anchors.bottom: parent.bottom
anchors.left: parent.left
anchors.right: parent.right
Text {
id: statusMessage
opacity: 0
anchors.right: networkStatus.left
anchors.verticalCenter: parent.verticalCenter
anchors.rightMargin: 5 * gcd.themeScale
font.pixelSize: Theme.statusTextSize * gcd.themeScale
}
Icon {
id: networkStatus
opacity: 0
anchors.right: connectionStatus.left
anchors.verticalCenter: parent.verticalCenter
anchors.rightMargin: 5 * gcd.themeScale
height: 18
width: 18
}
Icon {
id: connectionStatus
opacity: 0
anchors.right: parent.right
anchors.verticalCenter: parent.verticalCenter
anchors.rightMargin: 10 * gcd.themeScale
height: 18 * gcd.themeScale
width: 18 * gcd.themeScale
}
function changeStatus() {
if (status == statusDisconnectedInternet) {
statusbar.color = Theme.statusbarDisconnectedInternetColor
statusMessage.color = Theme.statusbarDisconnectedInternetFontColor
networkStatus.iconColor = Theme.statusbarDisconnectedInternetFontColor
networkStatus.source = gcd.assetPath + "core/signal_cellular_off-24px.svg"
connectionStatus.iconColor = Theme.statusbarDisconnectedInternetFontColor
connectionStatus.source = gcd.assetPath + "core/syncing-03.svg"
//: Disconnected from the internet, check your connection
statusMessage.text = qsTr("network-status-disconnected")
show()
} else if (status == statusDisconnectedTor) {
statusbar.color = Theme.statusbarDisconnectedTorColor
statusMessage.color = Theme.statusbarDisconnectedTorFontColor
networkStatus.iconColor = Theme.statusbarDisconnectedTorFontColor
networkStatus.source = gcd.assetPath + "core/signal_cellular_connected_no_internet_4_bar-24px.svg"
connectionStatus.iconColor = Theme.statusbarDisconnectedTorFontColor
connectionStatus.source = gcd.assetPath + "core/syncing-03.svg"
//: Attempting to connect to Tor network
statusMessage.text = qsTr("network-status-attempting-tor")
show()
} else if (status == statusConnecting) {
statusbar.color = Theme.statusbarConnectingColor
statusMessage.color = Theme.statusbarConnectingFontColor
networkStatus.iconColor = Theme.statusbarConnectingFontColor
networkStatus.source = gcd.assetPath + "core/signal_cellular_connected_no_internet_4_bar-24px.svg"
connectionStatus.iconColor = Theme.statusbarConnectingFontColor
connectionStatus.source = gcd.assetPath + "core/syncing-02.svg"
//: Connecting...
statusMessage.text = qsTr("network-status-connecting")
show()
} else {
statusbar.color = Theme.statusbarOnlineColor
statusMessage.color = Theme.statusbarOnlineFontColor
networkStatus.iconColor = Theme.statusbarOnlineFontColor
networkStatus.source = gcd.assetPath + "core/signal_cellular_4_bar-24px.svg"
connectionStatus.iconColor = Theme.statusbarOnlineFontColor
connectionStatus.source = gcd.assetPath + "core/syncing-01.svg"
//: Online
statusMessage.text = qsTr("network-status-online")
hide()
}
}
MouseArea {
id: ma
anchors.fill: parent
hoverEnabled: true
SequentialAnimation {
id: showAnim
PropertyAnimation { id: openStatus; target: statusbar; property: "height"; to: openHeight}
ParallelAnimation {
PropertyAnimation { id: showStatus; target: statusMessage; property: "opacity"; to: 1}
PropertyAnimation { id: showNetIcon; target: networkStatus; property: "opacity"; to: 1}
PropertyAnimation { id: showConnIcon; target: connectionStatus; property: "opacity"; to: 1}
}
}
SequentialAnimation {
id: hideAnim
ParallelAnimation {
PropertyAnimation { id: hideStatus; target: statusMessage; property: "opacity"; to: 0}
PropertyAnimation { id: hideNetIcon; target: networkStatus; property: "opacity"; to: 0}
PropertyAnimation { id: hideConnIcon; target: connectionStatus; property: "opacity"; to: 0}
}
PropertyAnimation { id: closeStatus; target: statusbar; property: "height"; to: hideHeight; duration: 200 }
}
onEntered: {
isHover = true
show()
}
onExited: {
isHover = false
hide()
}
onPressed: {
isHover = true
show()
}
onReleased: {
isHover = false
hide()
}
}
function resetHeight() {
if (isHover || status != statusOnline) {
height = openHeight
} else {
height = hideHeight
}
}
function show() {
if (isHover || status != statusOnline) {
hideAnim.stop()
showAnim.start()
}
}
function hide() {
if (!isHover && status == statusOnline) {
showAnim.stop()
hideAnim.start()
}
}
onStatusChanged: { changeStatus() }
Component.onCompleted: { resetHeight() }
Connections {
target: gcd
onTorStatus: function(code) {
status = code
}
}
}

View File

@ -7,7 +7,7 @@ import "../theme"
// perform any additional operations needed to define the behavior of the toggle switch // perform any additional operations needed to define the behavior of the toggle switch
Switch { Switch {
property bool isToggled property bool isToggled
property var onToggled: function () { console.log("In Superclass") }; property var onToggled: function () { console.log("In Superclass") };
style: SwitchStyle { style: SwitchStyle {
handle: Rectangle { handle: Rectangle {