Expose Blocking in the UI (initial version)

This commit is contained in:
Sarah Jamie Lewis 2019-08-06 19:14:40 -07:00
parent 1b54cf2a19
commit 9a4c24626d
14 changed files with 214 additions and 157 deletions

View File

@ -90,6 +90,7 @@ func AppEventListener(gcd *gothings.GrandCentralDispatcher, subscribed chan bool
DisplayName: displayName,
Image: cwutil.RandomProfileImage(contacts[i]),
Trusted: contact.Trusted,
Blocked: contact.Blocked,
Loading: false,
})
}

View File

@ -29,6 +29,7 @@ func PresencePoller(uiState *gothings.InterfaceState) {
0,
0,
c.Trusted,
c.Blocked,
false,
})

View File

@ -8,5 +8,6 @@ type Contact struct {
Badge int
Status int
Trusted bool
Blocked bool
Loading bool
}

View File

@ -30,8 +30,8 @@ type GrandCentralDispatcher struct {
_ string `property:"buildDate"`
// contact list stuff
_ func(handle, displayName, image, server string, badge, status int, trusted bool, loading bool) `signal:"AddContact"`
_ func(handle, displayName, image, server string, badge, status int, trusted bool, loading bool) `signal:"UpdateContact"`
_ func(handle, displayName, image, server string, badge, status int, trusted bool, blocked bool, loading bool) `signal:"AddContact"`
_ func(handle, displayName, image, server string, badge, status int, trusted bool, blocked bool, loading bool) `signal:"UpdateContact"`
_ func(handle, key, value string) `signal:"UpdateContactAttribute"`
// messages pane stuff
@ -56,6 +56,7 @@ type GrandCentralDispatcher struct {
// signals emitted from the ui (written in go, below)
_ func(message string, mid string) `signal:"sendMessage,auto"`
_ func(onion string) `signal:"blockPeer,auto"`
_ func(onion string) `signal:"loadMessagesPane,auto"`
_ func(signal string) `signal:"broadcast,auto"` // convenience relay signal
_ func(str string) `signal:"importString,auto"`
@ -170,6 +171,7 @@ func (this *GrandCentralDispatcher) loadMessagesPaneHelper(handle string) {
0,
false,
false,
false,
})
} else {
c.Badge = 0
@ -481,6 +483,15 @@ func (this *GrandCentralDispatcher) createGroup(server, groupName string) {
the.Peer.JoinServer(server)
}
func (this *GrandCentralDispatcher) blockPeer(onion string) {
err := the.Peer.BlockPeer(onion)
if err != nil {
this.InvokePopup("Error Blocking Peer: " + err.Error())
}
this.UIState.UpdateContact(onion)
}
func (this *GrandCentralDispatcher) inviteToGroup(onion, groupID string) {
err := the.Peer.InviteOnionToGroup(onion, groupID)
if err != nil {

View File

@ -29,7 +29,7 @@ func (this *InterfaceState) Acknowledge(mID string) {
func (this *InterfaceState) AddContact(c *gobjects.Contact) {
if len(c.Handle) == 32 { // ADD GROUP
if _, found := this.contacts.Load(c.Handle); !found {
this.parentGcd.AddContact(c.Handle, c.DisplayName, c.Image, c.Server, c.Badge, c.Status, c.Trusted, c.Loading)
this.parentGcd.AddContact(c.Handle, c.DisplayName, c.Image, c.Server, c.Badge, c.Status, c.Trusted, c.Blocked, c.Loading)
this.contacts.Store(c.Handle, c)
}
return
@ -41,7 +41,7 @@ func (this *InterfaceState) AddContact(c *gobjects.Contact) {
if _, found := this.contacts.Load(c.Handle); !found {
this.contacts.Store(c.Handle, c)
this.parentGcd.AddContact(c.Handle, c.DisplayName, c.Image, c.Server, c.Badge, c.Status, c.Trusted, false)
this.parentGcd.AddContact(c.Handle, c.DisplayName, c.Image, c.Server, c.Badge, c.Status, c.Trusted, c.Blocked, false)
if the.Peer.GetContact(c.Handle) == nil {
the.Peer.AddContact(c.DisplayName, c.Handle, c.Trusted)
go the.Peer.PeerWithOnion(c.Handle)
@ -67,6 +67,7 @@ func (this *InterfaceState) GetContact(handle string) *gobjects.Contact {
0,
group.Accepted,
false,
false,
})
} else {
log.Errorf("Attempting to add non existent group to ui %v", handle)
@ -86,6 +87,7 @@ func (this *InterfaceState) GetContact(handle string) *gobjects.Contact {
0,
0,
false,
contact.Blocked,
false,
})
} else if contact == nil {
@ -167,10 +169,14 @@ func (this *InterfaceState) GetMessages(handle string) []*gobjects.Message {
}
func (this *InterfaceState) UpdateContact(handle string) {
cif, found := this.contacts.Load(handle)
if found {
c := cif.(*gobjects.Contact)
this.parentGcd.UpdateContact(c.Handle, c.DisplayName, c.Image, c.Server, c.Badge, c.Status, c.Trusted, c.Loading)
contact := the.Peer.GetContact(handle)
if contact != nil {
cif, found := this.contacts.Load(handle)
if found {
c := cif.(*gobjects.Contact)
c.Blocked = contact.Blocked
this.parentGcd.UpdateContact(c.Handle, c.DisplayName, c.Image, c.Server, c.Badge, c.Status, c.Trusted, c.Blocked, c.Loading)
}
}
}

View File

@ -4,30 +4,30 @@
<context>
<name>AddGroupPane</name>
<message>
<location filename="../qml/panes/AddGroupPane.qml" line="17"/>
<location filename="../qml/panes/AddGroupPane.qml" line="19"/>
<source>create-group-title</source>
<translation>Gruppe Anlegen</translation>
</message>
<message>
<location filename="../qml/panes/AddGroupPane.qml" line="27"/>
<location filename="../qml/panes/AddGroupPane.qml" line="42"/>
<source>server-label</source>
<extracomment>Server label</extracomment>
<translation>Server</translation>
</message>
<message>
<location filename="../qml/panes/AddGroupPane.qml" line="38"/>
<location filename="../qml/panes/AddGroupPane.qml" line="53"/>
<source>group-name-label</source>
<extracomment>Group name label</extracomment>
<translation>Gruppenname</translation>
</message>
<message>
<location filename="../qml/panes/AddGroupPane.qml" line="45"/>
<location filename="../qml/panes/AddGroupPane.qml" line="60"/>
<source>default-group-name</source>
<extracomment>default suggested group name</extracomment>
<translation>Tolle Gruppe</translation>
</message>
<message>
<location filename="../qml/panes/AddGroupPane.qml" line="50"/>
<location filename="../qml/panes/AddGroupPane.qml" line="65"/>
<source>create-group-btn</source>
<extracomment>create group button</extracomment>
<translation>Anlegen</translation>
@ -36,18 +36,18 @@
<context>
<name>BulletinOverlay</name>
<message>
<location filename="../qml/overlays/BulletinOverlay.qml" line="181"/>
<location filename="../qml/overlays/BulletinOverlay.qml" line="204"/>
<source>new-bulletin-label</source>
<translation>Neue Meldung</translation>
</message>
<message>
<location filename="../qml/overlays/BulletinOverlay.qml" line="193"/>
<location filename="../qml/overlays/BulletinOverlay.qml" line="216"/>
<source>post-new-bulletin-label</source>
<extracomment>Post a new Bulletin Post</extracomment>
<translation>Neue Meldung veröffentlichen</translation>
</message>
<message>
<location filename="../qml/overlays/BulletinOverlay.qml" line="199"/>
<location filename="../qml/overlays/BulletinOverlay.qml" line="222"/>
<source>title-placeholder</source>
<extracomment>title place holder text</extracomment>
<translation>Titel...</translation>
@ -56,44 +56,44 @@
<context>
<name>GroupSettingsPane</name>
<message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="30"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="42"/>
<source>server-label</source>
<translation>Server</translation>
</message>
<message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="41"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="62"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="53"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="74"/>
<source>copy-btn</source>
<translation>Kopieren</translation>
</message>
<message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="51"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="63"/>
<source>invitation-label</source>
<translation>Einladung</translation>
</message>
<message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="72"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="84"/>
<source>group-name-label</source>
<translation>Gruppenname</translation>
</message>
<message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="81"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="93"/>
<source>save-btn</source>
<translation>Speichern</translation>
</message>
<message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="91"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="103"/>
<source>invite-to-group-label</source>
<extracomment>Invite someone to the group</extracomment>
<translation>In die Gruppe einladen</translation>
</message>
<message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="102"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="114"/>
<source>invite-btn</source>
<translation>Einladen</translation>
</message>
<message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="111"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="123"/>
<source>delete-btn</source>
<translation>Löschen</translation>
</message>
@ -101,19 +101,19 @@
<context>
<name>ListOverlay</name>
<message>
<location filename="../qml/overlays/ListOverlay.qml" line="162"/>
<location filename="../qml/overlays/ListOverlay.qml" line="184"/>
<source>add-list-item</source>
<extracomment>Add a New List Item</extracomment>
<translation>Liste hinzufügen</translation>
</message>
<message>
<location filename="../qml/overlays/ListOverlay.qml" line="174"/>
<location filename="../qml/overlays/ListOverlay.qml" line="196"/>
<source>add-new-item</source>
<extracomment>Add a new item to the list</extracomment>
<translation>Neues Listenelement hinzüfgen</translation>
</message>
<message>
<location filename="../qml/overlays/ListOverlay.qml" line="180"/>
<location filename="../qml/overlays/ListOverlay.qml" line="202"/>
<source>todo-placeholder</source>
<extracomment>Todo... placeholder text</extracomment>
<translation>noch zu erledigen</translation>
@ -131,24 +131,24 @@
<context>
<name>Message</name>
<message>
<location filename="../qml/widgets/Message.qml" line="55"/>
<location filename="../qml/widgets/Message.qml" line="56"/>
<source>dm-tooltip</source>
<extracomment>Click to DM</extracomment>
<translation>Klicken, um DM zu senden</translation>
</message>
<message>
<location filename="../qml/widgets/Message.qml" line="154"/>
<location filename="../qml/widgets/Message.qml" line="161"/>
<source>could-not-send-msg-error</source>
<extracomment>Could not send this message</extracomment>
<translation>Nachricht konnte nicht gesendet werden</translation>
</message>
<message>
<location filename="../qml/widgets/Message.qml" line="154"/>
<location filename="../qml/widgets/Message.qml" line="161"/>
<source>acknowledged-label</source>
<translation>bestätigt</translation>
</message>
<message>
<location filename="../qml/widgets/Message.qml" line="154"/>
<location filename="../qml/widgets/Message.qml" line="161"/>
<source>pending-label</source>
<translation>Bestätigung ausstehend</translation>
</message>
@ -224,33 +224,38 @@
<context>
<name>PeerSettingsPane</name>
<message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="29"/>
<location filename="../qml/panes/PeerSettingsPane.qml" line="42"/>
<source>address-label</source>
<translation>Adresse</translation>
</message>
<message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="40"/>
<location filename="../qml/panes/PeerSettingsPane.qml" line="53"/>
<source>copy-btn</source>
<translation>Kopieren</translation>
</message>
<message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="44"/>
<location filename="../qml/panes/PeerSettingsPane.qml" line="57"/>
<source>copied-to-clipboard-notification</source>
<extracomment>notification: copied to clipboard</extracomment>
<translation>in die Zwischenablage kopiert</translation>
</message>
<message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="51"/>
<location filename="../qml/panes/PeerSettingsPane.qml" line="64"/>
<source>display-name-label</source>
<translation>Angezeigter Name</translation>
</message>
<message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="60"/>
<location filename="../qml/panes/PeerSettingsPane.qml" line="73"/>
<source>save-btn</source>
<translation>speichern</translation>
</message>
<message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="71"/>
<location filename="../qml/panes/PeerSettingsPane.qml" line="85"/>
<source>block-btn</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="94"/>
<source>delete-btn</source>
<translation>löschen</translation>
</message>
@ -258,36 +263,36 @@
<context>
<name>SettingsPane</name>
<message>
<location filename="../qml/panes/SettingsPane.qml" line="18"/>
<location filename="../qml/panes/SettingsPane.qml" line="20"/>
<source>cwtch-settings-title</source>
<extracomment>Cwtch Settings title</extracomment>
<translation>Cwtch Einstellungen</translation>
</message>
<message>
<location filename="../qml/panes/SettingsPane.qml" line="28"/>
<location filename="../qml/panes/SettingsPane.qml" line="46"/>
<source>version %1 builddate %2</source>
<extracomment>Version: %1 Built on: %2</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/panes/SettingsPane.qml" line="35"/>
<location filename="../qml/panes/SettingsPane.qml" line="53"/>
<source>zoom-label</source>
<extracomment>Interface zoom (mostly affects text and button sizes)</extracomment>
<translation>Benutzeroberflächen-Zoom (betriftt hauptsächlich Text- und Knopgrößen)</translation>
</message>
<message>
<location filename="../qml/panes/SettingsPane.qml" line="52"/>
<location filename="../qml/panes/SettingsPane.qml" line="71"/>
<source>large-text-label</source>
<translation>Groß</translation>
</message>
<message>
<location filename="../qml/panes/SettingsPane.qml" line="58"/>
<location filename="../qml/panes/SettingsPane.qml" line="79"/>
<source>default-scaling-text</source>
<extracomment>&quot;Default size text (scale factor: &quot;</extracomment>
<translation>defaultmäßige Textgröße (Skalierungsfaktor:</translation>
</message>
<message>
<location filename="../qml/panes/SettingsPane.qml" line="62"/>
<location filename="../qml/panes/SettingsPane.qml" line="83"/>
<source>small-text-label</source>
<translation>Klein</translation>
</message>

Binary file not shown.

View File

@ -4,30 +4,30 @@
<context>
<name>AddGroupPane</name>
<message>
<location filename="../qml/panes/AddGroupPane.qml" line="17"/>
<location filename="../qml/panes/AddGroupPane.qml" line="19"/>
<source>create-group-title</source>
<translation>Create Group</translation>
</message>
<message>
<location filename="../qml/panes/AddGroupPane.qml" line="27"/>
<location filename="../qml/panes/AddGroupPane.qml" line="42"/>
<source>server-label</source>
<extracomment>Server label</extracomment>
<translation>Server</translation>
</message>
<message>
<location filename="../qml/panes/AddGroupPane.qml" line="38"/>
<location filename="../qml/panes/AddGroupPane.qml" line="53"/>
<source>group-name-label</source>
<extracomment>Group name label</extracomment>
<translation>Group name</translation>
</message>
<message>
<location filename="../qml/panes/AddGroupPane.qml" line="45"/>
<location filename="../qml/panes/AddGroupPane.qml" line="60"/>
<source>default-group-name</source>
<extracomment>default suggested group name</extracomment>
<translation>Awesome Group</translation>
</message>
<message>
<location filename="../qml/panes/AddGroupPane.qml" line="50"/>
<location filename="../qml/panes/AddGroupPane.qml" line="65"/>
<source>create-group-btn</source>
<extracomment>create group button</extracomment>
<translation>Create</translation>
@ -36,18 +36,18 @@
<context>
<name>BulletinOverlay</name>
<message>
<location filename="../qml/overlays/BulletinOverlay.qml" line="181"/>
<location filename="../qml/overlays/BulletinOverlay.qml" line="204"/>
<source>new-bulletin-label</source>
<translation>New Bulletin</translation>
</message>
<message>
<location filename="../qml/overlays/BulletinOverlay.qml" line="193"/>
<location filename="../qml/overlays/BulletinOverlay.qml" line="216"/>
<source>post-new-bulletin-label</source>
<extracomment>Post a new Bulletin Post</extracomment>
<translation>Post new bulletin</translation>
</message>
<message>
<location filename="../qml/overlays/BulletinOverlay.qml" line="199"/>
<location filename="../qml/overlays/BulletinOverlay.qml" line="222"/>
<source>title-placeholder</source>
<extracomment>title place holder text</extracomment>
<translation>title...</translation>
@ -56,44 +56,44 @@
<context>
<name>GroupSettingsPane</name>
<message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="30"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="42"/>
<source>server-label</source>
<translation>Server</translation>
</message>
<message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="41"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="62"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="53"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="74"/>
<source>copy-btn</source>
<translation>Copy</translation>
</message>
<message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="51"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="63"/>
<source>invitation-label</source>
<translation>Invitation</translation>
</message>
<message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="72"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="84"/>
<source>group-name-label</source>
<translation>Group Name</translation>
</message>
<message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="81"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="93"/>
<source>save-btn</source>
<translation>Save</translation>
</message>
<message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="91"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="103"/>
<source>invite-to-group-label</source>
<extracomment>Invite someone to the group</extracomment>
<translation>Invite to group</translation>
</message>
<message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="102"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="114"/>
<source>invite-btn</source>
<translation>Invite</translation>
</message>
<message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="111"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="123"/>
<source>delete-btn</source>
<translation>Delete</translation>
</message>
@ -101,19 +101,19 @@
<context>
<name>ListOverlay</name>
<message>
<location filename="../qml/overlays/ListOverlay.qml" line="162"/>
<location filename="../qml/overlays/ListOverlay.qml" line="184"/>
<source>add-list-item</source>
<extracomment>Add a New List Item</extracomment>
<translation>Add a New List Item</translation>
</message>
<message>
<location filename="../qml/overlays/ListOverlay.qml" line="174"/>
<location filename="../qml/overlays/ListOverlay.qml" line="196"/>
<source>add-new-item</source>
<extracomment>Add a new item to the list</extracomment>
<translation>Add a new item to the list</translation>
</message>
<message>
<location filename="../qml/overlays/ListOverlay.qml" line="180"/>
<location filename="../qml/overlays/ListOverlay.qml" line="202"/>
<source>todo-placeholder</source>
<extracomment>Todo... placeholder text</extracomment>
<translation>Todo...</translation>
@ -131,24 +131,24 @@
<context>
<name>Message</name>
<message>
<location filename="../qml/widgets/Message.qml" line="55"/>
<location filename="../qml/widgets/Message.qml" line="56"/>
<source>dm-tooltip</source>
<extracomment>Click to DM</extracomment>
<translation>Click to DM</translation>
</message>
<message>
<location filename="../qml/widgets/Message.qml" line="154"/>
<location filename="../qml/widgets/Message.qml" line="161"/>
<source>could-not-send-msg-error</source>
<extracomment>Could not send this message</extracomment>
<translation>Could not send this message</translation>
</message>
<message>
<location filename="../qml/widgets/Message.qml" line="154"/>
<location filename="../qml/widgets/Message.qml" line="161"/>
<source>acknowledged-label</source>
<translation>Acknowledged</translation>
</message>
<message>
<location filename="../qml/widgets/Message.qml" line="154"/>
<location filename="../qml/widgets/Message.qml" line="161"/>
<source>pending-label</source>
<translation>Pending</translation>
</message>
@ -224,33 +224,38 @@
<context>
<name>PeerSettingsPane</name>
<message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="29"/>
<location filename="../qml/panes/PeerSettingsPane.qml" line="42"/>
<source>address-label</source>
<translation>Address</translation>
</message>
<message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="40"/>
<location filename="../qml/panes/PeerSettingsPane.qml" line="53"/>
<source>copy-btn</source>
<translation>Copy</translation>
</message>
<message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="44"/>
<location filename="../qml/panes/PeerSettingsPane.qml" line="57"/>
<source>copied-to-clipboard-notification</source>
<extracomment>notification: copied to clipboard</extracomment>
<translation>Copied to Clipboard</translation>
</message>
<message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="51"/>
<location filename="../qml/panes/PeerSettingsPane.qml" line="64"/>
<source>display-name-label</source>
<translation>Display Name</translation>
</message>
<message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="60"/>
<location filename="../qml/panes/PeerSettingsPane.qml" line="73"/>
<source>save-btn</source>
<translation>Save</translation>
</message>
<message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="71"/>
<location filename="../qml/panes/PeerSettingsPane.qml" line="85"/>
<source>block-btn</source>
<translation>Block Peer</translation>
</message>
<message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="94"/>
<source>delete-btn</source>
<translation>Delete</translation>
</message>
@ -258,36 +263,36 @@
<context>
<name>SettingsPane</name>
<message>
<location filename="../qml/panes/SettingsPane.qml" line="18"/>
<location filename="../qml/panes/SettingsPane.qml" line="20"/>
<source>cwtch-settings-title</source>
<extracomment>Cwtch Settings title</extracomment>
<translation>Cwtch Settings</translation>
</message>
<message>
<location filename="../qml/panes/SettingsPane.qml" line="28"/>
<location filename="../qml/panes/SettingsPane.qml" line="46"/>
<source>version %1 builddate %2</source>
<extracomment>Version: %1 Built on: %2</extracomment>
<translation>Version: %1 Built on: %2</translation>
</message>
<message>
<location filename="../qml/panes/SettingsPane.qml" line="35"/>
<location filename="../qml/panes/SettingsPane.qml" line="53"/>
<source>zoom-label</source>
<extracomment>Interface zoom (mostly affects text and button sizes)</extracomment>
<translation>Interface zoom (mostly affects text and button sizes)</translation>
</message>
<message>
<location filename="../qml/panes/SettingsPane.qml" line="52"/>
<location filename="../qml/panes/SettingsPane.qml" line="71"/>
<source>large-text-label</source>
<translation>Large</translation>
</message>
<message>
<location filename="../qml/panes/SettingsPane.qml" line="58"/>
<location filename="../qml/panes/SettingsPane.qml" line="79"/>
<source>default-scaling-text</source>
<extracomment>&quot;Default size text (scale factor: &quot;</extracomment>
<translation>Default size text (scale factor:</translation>
</message>
<message>
<location filename="../qml/panes/SettingsPane.qml" line="62"/>
<location filename="../qml/panes/SettingsPane.qml" line="83"/>
<source>small-text-label</source>
<translation>Small</translation>
</message>

View File

@ -4,30 +4,30 @@
<context>
<name>AddGroupPane</name>
<message>
<location filename="../qml/panes/AddGroupPane.qml" line="17"/>
<location filename="../qml/panes/AddGroupPane.qml" line="19"/>
<source>create-group-title</source>
<translation>Créer un groupe</translation>
</message>
<message>
<location filename="../qml/panes/AddGroupPane.qml" line="27"/>
<location filename="../qml/panes/AddGroupPane.qml" line="42"/>
<source>server-label</source>
<extracomment>Server label</extracomment>
<translation>Serveur</translation>
</message>
<message>
<location filename="../qml/panes/AddGroupPane.qml" line="38"/>
<location filename="../qml/panes/AddGroupPane.qml" line="53"/>
<source>group-name-label</source>
<extracomment>Group name label</extracomment>
<translation>Groupe</translation>
</message>
<message>
<location filename="../qml/panes/AddGroupPane.qml" line="45"/>
<location filename="../qml/panes/AddGroupPane.qml" line="60"/>
<source>default-group-name</source>
<extracomment>default suggested group name</extracomment>
<translation>Un super groupe</translation>
</message>
<message>
<location filename="../qml/panes/AddGroupPane.qml" line="50"/>
<location filename="../qml/panes/AddGroupPane.qml" line="65"/>
<source>create-group-btn</source>
<extracomment>create group button</extracomment>
<translation>Créer</translation>
@ -36,18 +36,18 @@
<context>
<name>BulletinOverlay</name>
<message>
<location filename="../qml/overlays/BulletinOverlay.qml" line="181"/>
<location filename="../qml/overlays/BulletinOverlay.qml" line="204"/>
<source>new-bulletin-label</source>
<translation>Nouveau bulletin</translation>
</message>
<message>
<location filename="../qml/overlays/BulletinOverlay.qml" line="193"/>
<location filename="../qml/overlays/BulletinOverlay.qml" line="216"/>
<source>post-new-bulletin-label</source>
<extracomment>Post a new Bulletin Post</extracomment>
<translation>Envoyer un nouveau bulletin</translation>
</message>
<message>
<location filename="../qml/overlays/BulletinOverlay.qml" line="199"/>
<location filename="../qml/overlays/BulletinOverlay.qml" line="222"/>
<source>title-placeholder</source>
<extracomment>title place holder text</extracomment>
<translation>titre...</translation>
@ -56,44 +56,44 @@
<context>
<name>GroupSettingsPane</name>
<message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="30"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="42"/>
<source>server-label</source>
<translation>Serveur</translation>
</message>
<message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="41"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="62"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="53"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="74"/>
<source>copy-btn</source>
<translation>Copier</translation>
</message>
<message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="51"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="63"/>
<source>invitation-label</source>
<translation>Invitation</translation>
</message>
<message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="72"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="84"/>
<source>group-name-label</source>
<translation>Nom du groupe</translation>
</message>
<message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="81"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="93"/>
<source>save-btn</source>
<translation>Sauvegarder</translation>
</message>
<message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="91"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="103"/>
<source>invite-to-group-label</source>
<extracomment>Invite someone to the group</extracomment>
<translation>Inviter quelqu&apos;un</translation>
</message>
<message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="102"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="114"/>
<source>invite-btn</source>
<translation>Invitation</translation>
</message>
<message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="111"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="123"/>
<source>delete-btn</source>
<translation>Effacer</translation>
</message>
@ -101,19 +101,19 @@
<context>
<name>ListOverlay</name>
<message>
<location filename="../qml/overlays/ListOverlay.qml" line="162"/>
<location filename="../qml/overlays/ListOverlay.qml" line="184"/>
<source>add-list-item</source>
<extracomment>Add a New List Item</extracomment>
<translation>Ajouter un nouvel élément</translation>
</message>
<message>
<location filename="../qml/overlays/ListOverlay.qml" line="174"/>
<location filename="../qml/overlays/ListOverlay.qml" line="196"/>
<source>add-new-item</source>
<extracomment>Add a new item to the list</extracomment>
<translation>Ajouter un nouvel élément à la liste</translation>
</message>
<message>
<location filename="../qml/overlays/ListOverlay.qml" line="180"/>
<location filename="../qml/overlays/ListOverlay.qml" line="202"/>
<source>todo-placeholder</source>
<extracomment>Todo... placeholder text</extracomment>
<translation>A faire...</translation>
@ -131,24 +131,24 @@
<context>
<name>Message</name>
<message>
<location filename="../qml/widgets/Message.qml" line="55"/>
<location filename="../qml/widgets/Message.qml" line="56"/>
<source>dm-tooltip</source>
<extracomment>Click to DM</extracomment>
<translation>Envoyer un message privé</translation>
</message>
<message>
<location filename="../qml/widgets/Message.qml" line="154"/>
<location filename="../qml/widgets/Message.qml" line="161"/>
<source>could-not-send-msg-error</source>
<extracomment>Could not send this message</extracomment>
<translation>Impossible d&apos;envoyer ce message</translation>
</message>
<message>
<location filename="../qml/widgets/Message.qml" line="154"/>
<location filename="../qml/widgets/Message.qml" line="161"/>
<source>acknowledged-label</source>
<translation>Confirmé</translation>
</message>
<message>
<location filename="../qml/widgets/Message.qml" line="154"/>
<location filename="../qml/widgets/Message.qml" line="161"/>
<source>pending-label</source>
<translation>En attente</translation>
</message>
@ -224,33 +224,38 @@
<context>
<name>PeerSettingsPane</name>
<message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="29"/>
<location filename="../qml/panes/PeerSettingsPane.qml" line="42"/>
<source>address-label</source>
<translation>Adresse</translation>
</message>
<message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="40"/>
<location filename="../qml/panes/PeerSettingsPane.qml" line="53"/>
<source>copy-btn</source>
<translation>Copier</translation>
</message>
<message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="44"/>
<location filename="../qml/panes/PeerSettingsPane.qml" line="57"/>
<source>copied-to-clipboard-notification</source>
<extracomment>notification: copied to clipboard</extracomment>
<translation>Copié dans le presse-papier</translation>
</message>
<message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="51"/>
<location filename="../qml/panes/PeerSettingsPane.qml" line="64"/>
<source>display-name-label</source>
<translation>Pseudo</translation>
</message>
<message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="60"/>
<location filename="../qml/panes/PeerSettingsPane.qml" line="73"/>
<source>save-btn</source>
<translation>Sauvegarder</translation>
</message>
<message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="71"/>
<location filename="../qml/panes/PeerSettingsPane.qml" line="85"/>
<source>block-btn</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="94"/>
<source>delete-btn</source>
<translation>Effacer</translation>
</message>
@ -258,36 +263,36 @@
<context>
<name>SettingsPane</name>
<message>
<location filename="../qml/panes/SettingsPane.qml" line="18"/>
<location filename="../qml/panes/SettingsPane.qml" line="20"/>
<source>cwtch-settings-title</source>
<extracomment>Cwtch Settings title</extracomment>
<translation>Préférences Cwtch</translation>
</message>
<message>
<location filename="../qml/panes/SettingsPane.qml" line="28"/>
<location filename="../qml/panes/SettingsPane.qml" line="46"/>
<source>version %1 builddate %2</source>
<extracomment>Version: %1 Built on: %2</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/panes/SettingsPane.qml" line="35"/>
<location filename="../qml/panes/SettingsPane.qml" line="53"/>
<source>zoom-label</source>
<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>
</message>
<message>
<location filename="../qml/panes/SettingsPane.qml" line="52"/>
<location filename="../qml/panes/SettingsPane.qml" line="71"/>
<source>large-text-label</source>
<translation type="unfinished">Large</translation>
</message>
<message>
<location filename="../qml/panes/SettingsPane.qml" line="58"/>
<location filename="../qml/panes/SettingsPane.qml" line="79"/>
<source>default-scaling-text</source>
<extracomment>&quot;Default size text (scale factor: &quot;</extracomment>
<translation>Taille par défaut du texte (échelle:</translation>
</message>
<message>
<location filename="../qml/panes/SettingsPane.qml" line="62"/>
<location filename="../qml/panes/SettingsPane.qml" line="83"/>
<source>small-text-label</source>
<translation>Petit</translation>
</message>

View File

@ -4,30 +4,30 @@
<context>
<name>AddGroupPane</name>
<message>
<location filename="../qml/panes/AddGroupPane.qml" line="17"/>
<location filename="../qml/panes/AddGroupPane.qml" line="19"/>
<source>create-group-title</source>
<translation>Criar Grupo</translation>
</message>
<message>
<location filename="../qml/panes/AddGroupPane.qml" line="27"/>
<location filename="../qml/panes/AddGroupPane.qml" line="42"/>
<source>server-label</source>
<extracomment>Server label</extracomment>
<translation>Servidor</translation>
</message>
<message>
<location filename="../qml/panes/AddGroupPane.qml" line="38"/>
<location filename="../qml/panes/AddGroupPane.qml" line="53"/>
<source>group-name-label</source>
<extracomment>Group name label</extracomment>
<translation>Nome do grupo</translation>
</message>
<message>
<location filename="../qml/panes/AddGroupPane.qml" line="45"/>
<location filename="../qml/panes/AddGroupPane.qml" line="60"/>
<source>default-group-name</source>
<extracomment>default suggested group name</extracomment>
<translation>Grupo incrível</translation>
</message>
<message>
<location filename="../qml/panes/AddGroupPane.qml" line="50"/>
<location filename="../qml/panes/AddGroupPane.qml" line="65"/>
<source>create-group-btn</source>
<extracomment>create group button</extracomment>
<translation>Criar</translation>
@ -36,18 +36,18 @@
<context>
<name>BulletinOverlay</name>
<message>
<location filename="../qml/overlays/BulletinOverlay.qml" line="181"/>
<location filename="../qml/overlays/BulletinOverlay.qml" line="204"/>
<source>new-bulletin-label</source>
<translation>Novo Boletim</translation>
</message>
<message>
<location filename="../qml/overlays/BulletinOverlay.qml" line="193"/>
<location filename="../qml/overlays/BulletinOverlay.qml" line="216"/>
<source>post-new-bulletin-label</source>
<extracomment>Post a new Bulletin Post</extracomment>
<translation>Postar novo boletim</translation>
</message>
<message>
<location filename="../qml/overlays/BulletinOverlay.qml" line="199"/>
<location filename="../qml/overlays/BulletinOverlay.qml" line="222"/>
<source>title-placeholder</source>
<extracomment>title place holder text</extracomment>
<translation>título</translation>
@ -56,44 +56,44 @@
<context>
<name>GroupSettingsPane</name>
<message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="30"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="42"/>
<source>server-label</source>
<translation>Servidor</translation>
</message>
<message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="41"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="62"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="53"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="74"/>
<source>copy-btn</source>
<translation>Copiar</translation>
</message>
<message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="51"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="63"/>
<source>invitation-label</source>
<translation>Convite</translation>
</message>
<message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="72"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="84"/>
<source>group-name-label</source>
<translation>Nome do Grupo</translation>
</message>
<message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="81"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="93"/>
<source>save-btn</source>
<translation>Salvar</translation>
</message>
<message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="91"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="103"/>
<source>invite-to-group-label</source>
<extracomment>Invite someone to the group</extracomment>
<translation>Convidar ao grupo</translation>
</message>
<message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="102"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="114"/>
<source>invite-btn</source>
<translation>Convidar</translation>
</message>
<message>
<location filename="../qml/panes/GroupSettingsPane.qml" line="111"/>
<location filename="../qml/panes/GroupSettingsPane.qml" line="123"/>
<source>delete-btn</source>
<translation>Deletar</translation>
</message>
@ -101,19 +101,19 @@
<context>
<name>ListOverlay</name>
<message>
<location filename="../qml/overlays/ListOverlay.qml" line="162"/>
<location filename="../qml/overlays/ListOverlay.qml" line="184"/>
<source>add-list-item</source>
<extracomment>Add a New List Item</extracomment>
<translation>Adicionar Item à Lista</translation>
</message>
<message>
<location filename="../qml/overlays/ListOverlay.qml" line="174"/>
<location filename="../qml/overlays/ListOverlay.qml" line="196"/>
<source>add-new-item</source>
<extracomment>Add a new item to the list</extracomment>
<translation>Adicionar novo item à lista</translation>
</message>
<message>
<location filename="../qml/overlays/ListOverlay.qml" line="180"/>
<location filename="../qml/overlays/ListOverlay.qml" line="202"/>
<source>todo-placeholder</source>
<extracomment>Todo... placeholder text</extracomment>
<translation>Afazer</translation>
@ -131,24 +131,24 @@
<context>
<name>Message</name>
<message>
<location filename="../qml/widgets/Message.qml" line="55"/>
<location filename="../qml/widgets/Message.qml" line="56"/>
<source>dm-tooltip</source>
<extracomment>Click to DM</extracomment>
<translation>Clique para DM</translation>
</message>
<message>
<location filename="../qml/widgets/Message.qml" line="154"/>
<location filename="../qml/widgets/Message.qml" line="161"/>
<source>could-not-send-msg-error</source>
<extracomment>Could not send this message</extracomment>
<translation>Não deu para enviar esta mensagem</translation>
</message>
<message>
<location filename="../qml/widgets/Message.qml" line="154"/>
<location filename="../qml/widgets/Message.qml" line="161"/>
<source>acknowledged-label</source>
<translation>Confirmada</translation>
</message>
<message>
<location filename="../qml/widgets/Message.qml" line="154"/>
<location filename="../qml/widgets/Message.qml" line="161"/>
<source>pending-label</source>
<translation>Pendente</translation>
</message>
@ -224,33 +224,38 @@
<context>
<name>PeerSettingsPane</name>
<message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="29"/>
<location filename="../qml/panes/PeerSettingsPane.qml" line="42"/>
<source>address-label</source>
<translation>Endereço</translation>
</message>
<message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="40"/>
<location filename="../qml/panes/PeerSettingsPane.qml" line="53"/>
<source>copy-btn</source>
<translation>Copiar</translation>
</message>
<message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="44"/>
<location filename="../qml/panes/PeerSettingsPane.qml" line="57"/>
<source>copied-to-clipboard-notification</source>
<extracomment>notification: copied to clipboard</extracomment>
<translation>Copiado</translation>
</message>
<message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="51"/>
<location filename="../qml/panes/PeerSettingsPane.qml" line="64"/>
<source>display-name-label</source>
<translation>Nome de Exibição</translation>
</message>
<message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="60"/>
<location filename="../qml/panes/PeerSettingsPane.qml" line="73"/>
<source>save-btn</source>
<translation>Salvar</translation>
</message>
<message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="71"/>
<location filename="../qml/panes/PeerSettingsPane.qml" line="85"/>
<source>block-btn</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/panes/PeerSettingsPane.qml" line="94"/>
<source>delete-btn</source>
<translation>Deletar</translation>
</message>
@ -258,36 +263,36 @@
<context>
<name>SettingsPane</name>
<message>
<location filename="../qml/panes/SettingsPane.qml" line="18"/>
<location filename="../qml/panes/SettingsPane.qml" line="20"/>
<source>cwtch-settings-title</source>
<extracomment>Cwtch Settings title</extracomment>
<translation>Configurações do Cwtch</translation>
</message>
<message>
<location filename="../qml/panes/SettingsPane.qml" line="28"/>
<location filename="../qml/panes/SettingsPane.qml" line="46"/>
<source>version %1 builddate %2</source>
<extracomment>Version: %1 Built on: %2</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/panes/SettingsPane.qml" line="35"/>
<location filename="../qml/panes/SettingsPane.qml" line="53"/>
<source>zoom-label</source>
<extracomment>Interface zoom (mostly affects text and button sizes)</extracomment>
<translation>Zoom da interface (afeta principalmente tamanho de texto e botões)</translation>
</message>
<message>
<location filename="../qml/panes/SettingsPane.qml" line="52"/>
<location filename="../qml/panes/SettingsPane.qml" line="71"/>
<source>large-text-label</source>
<translation>Grande</translation>
</message>
<message>
<location filename="../qml/panes/SettingsPane.qml" line="58"/>
<location filename="../qml/panes/SettingsPane.qml" line="79"/>
<source>default-scaling-text</source>
<extracomment>&quot;Default size text (scale factor: &quot;</extracomment>
<translation>Texto tamanho padrão (fator de escala: </translation>
</message>
<message>
<location filename="../qml/panes/SettingsPane.qml" line="62"/>
<location filename="../qml/panes/SettingsPane.qml" line="83"/>
<source>small-text-label</source>
<translation>Pequeno</translation>
</message>

View File

@ -106,6 +106,7 @@ ColumnLayout {
displayName: _displayName
image: _image
trusted: true
blocked: false
background: false
}
}

View File

@ -79,6 +79,16 @@ ColumnLayout { // peerSettingsPane
}
}
SimpleButton {
icon: "solid/hand-paper"
text: qsTr("block-btn")
onClicked: {
gcd.blockPeer(txtOnion.text)
}
}
SimpleButton {
icon: "regular/trash-alt"
text: qsTr("delete-btn")

View File

@ -47,17 +47,18 @@ ColumnLayout {
Connections { // ADD/REMOVE CONTACT ENTRIES
target: gcd
onAddContact: function(handle, displayName, image, server, badge, status, trusted, loading) {
onAddContact: function(handle, displayName, image, server, badge, status, trusted, blocked, loading) {
contactsModel.append({
"_handle": handle,
"_displayName": displayName,
"_displayName": displayName + (blocked ? " (blocked)" : "" ),
"_image": image,
"_server": server,
"_badge": badge,
"_status": status,
"_trusted": trusted,
"_deleted": false,
"_loading": loading
"_loading": loading,
"_blocked": blocked
})
}
@ -88,6 +89,7 @@ ColumnLayout {
badge: _badge
status: _status
trusted: _trusted
blocked: _blocked
deleted: _deleted
loading: _loading
}

View File

@ -24,6 +24,7 @@ Item { // LOTS OF NESTING TO DEAL WITH QT WEIRDNESS, SORRY
property bool isActive
property bool isHover
property bool trusted
property bool blocked
property bool deleted
property bool loading
property alias status: imgProfile.status
@ -54,6 +55,7 @@ Item { // LOTS OF NESTING TO DEAL WITH QT WEIRDNESS, SORRY
anchors.verticalCenter: parent.verticalCenter
font.pixelSize: 16 * gcd.themeScale
font.italic: !trusted
font.strikeout: blocked
textFormat: Text.PlainText
//fontSizeMode: Text.HorizontalFit
elide: Text.ElideRight
@ -143,16 +145,18 @@ Item { // LOTS OF NESTING TO DEAL WITH QT WEIRDNESS, SORRY
isActive = false
}
onUpdateContact: function(_handle, _displayName, _image, _server, _badge, _status, _trusted, _loading) {
onUpdateContact: function(_handle, _displayName, _image, _server, _badge, _status, _trusted, _blocked, _loading) {
if (handle == _handle) {
displayName = _displayName
displayName = _displayName + (_blocked == true ? " (blocked)" : "")
image = _image
server = _server
badge = _badge
status = _status
trusted = _trusted
blocked = _blocked
loading = _loading
if (loading == true) {
loadingProgress.visible = true
loadingProgress.running = true