Merge remote-tracking branch 'origin' into aar64
This commit is contained in:
commit
b31e6243d5
|
@ -82,6 +82,7 @@ class CwtchFfi implements Cwtch {
|
||||||
Map<String, String> envVars = Platform.environment;
|
Map<String, String> envVars = Platform.environment;
|
||||||
if (Platform.isLinux) {
|
if (Platform.isLinux) {
|
||||||
home = (envVars['HOME'])!;
|
home = (envVars['HOME'])!;
|
||||||
|
bundledTor = "./tor";
|
||||||
} else if (Platform.isWindows) {
|
} else if (Platform.isWindows) {
|
||||||
home = (envVars['UserProfile'])!;
|
home = (envVars['UserProfile'])!;
|
||||||
bundledTor = "Tor\\Tor\\tor.exe";
|
bundledTor = "Tor\\Tor\\tor.exe";
|
||||||
|
|
|
@ -75,10 +75,12 @@
|
||||||
"invitation": "Einladung",
|
"invitation": "Einladung",
|
||||||
"invitationLabel": "Einladung",
|
"invitationLabel": "Einladung",
|
||||||
"inviteBtn": "Einladen",
|
"inviteBtn": "Einladen",
|
||||||
|
"inviteToGroup": "",
|
||||||
"inviteToGroupLabel": "In die Gruppe einladen",
|
"inviteToGroupLabel": "In die Gruppe einladen",
|
||||||
"joinGroup": "Gruppe beitreten",
|
"joinGroup": "Gruppe beitreten",
|
||||||
"joinGroupTab": "Einer Gruppe beitreten",
|
"joinGroupTab": "Einer Gruppe beitreten",
|
||||||
"largeTextLabel": "Groß",
|
"largeTextLabel": "Groß",
|
||||||
|
"leaveGroup": "",
|
||||||
"listsBtn": "Listen",
|
"listsBtn": "Listen",
|
||||||
"loadingTor": "Tor wird geladen...",
|
"loadingTor": "Tor wird geladen...",
|
||||||
"localeDe": "Deutsche",
|
"localeDe": "Deutsche",
|
||||||
|
@ -95,6 +97,7 @@
|
||||||
"newBulletinLabel": "Neue Meldung",
|
"newBulletinLabel": "Neue Meldung",
|
||||||
"newConnectionPaneTitle": "Neue Verbindung",
|
"newConnectionPaneTitle": "Neue Verbindung",
|
||||||
"newGroupBtn": "Neue Gruppe anlegen",
|
"newGroupBtn": "Neue Gruppe anlegen",
|
||||||
|
"newPassword": "",
|
||||||
"newProfile": "Neues Profil",
|
"newProfile": "Neues Profil",
|
||||||
"noPasswordWarning": "Wenn für dieses Konto kein Passwort verwendet wird, bedeutet dies, dass alle lokal gespeicherten Daten nicht verschlüsselt werden.",
|
"noPasswordWarning": "Wenn für dieses Konto kein Passwort verwendet wird, bedeutet dies, dass alle lokal gespeicherten Daten nicht verschlüsselt werden.",
|
||||||
"password": "Passwort",
|
"password": "Passwort",
|
||||||
|
@ -116,6 +119,7 @@
|
||||||
"puzzleGameBtn": "Puzzlespiel",
|
"puzzleGameBtn": "Puzzlespiel",
|
||||||
"radioNoPassword": "Unverschlüsselt (kein Passwort)",
|
"radioNoPassword": "Unverschlüsselt (kein Passwort)",
|
||||||
"radioUsePassword": "Passwort",
|
"radioUsePassword": "Passwort",
|
||||||
|
"reallyLeaveThisGroupPrompt": "",
|
||||||
"rejectGroupBtn": "Ablehnen",
|
"rejectGroupBtn": "Ablehnen",
|
||||||
"saveBtn": "Speichern",
|
"saveBtn": "Speichern",
|
||||||
"savePeerHistory": "Peer-Verlauf speichern",
|
"savePeerHistory": "Peer-Verlauf speichern",
|
||||||
|
@ -153,6 +157,7 @@
|
||||||
"versionTor": "Version %1 mit tor %2",
|
"versionTor": "Version %1 mit tor %2",
|
||||||
"viewGroupMembershipTooltip": "Gruppenmitgliedschaft anzeigen",
|
"viewGroupMembershipTooltip": "Gruppenmitgliedschaft anzeigen",
|
||||||
"viewServerInfo": "",
|
"viewServerInfo": "",
|
||||||
|
"yesLeave": "",
|
||||||
"yourDisplayName": "Ihr Anzeigename",
|
"yourDisplayName": "Ihr Anzeigename",
|
||||||
"yourProfiles": "Ihre Profile",
|
"yourProfiles": "Ihre Profile",
|
||||||
"yourServers": "Ihre Server",
|
"yourServers": "Ihre Server",
|
||||||
|
|
|
@ -75,10 +75,12 @@
|
||||||
"invitation": "Invitation",
|
"invitation": "Invitation",
|
||||||
"invitationLabel": "Invitation",
|
"invitationLabel": "Invitation",
|
||||||
"inviteBtn": "Invite",
|
"inviteBtn": "Invite",
|
||||||
|
"inviteToGroup": "You have been invited to join a group:",
|
||||||
"inviteToGroupLabel": "Invite to group",
|
"inviteToGroupLabel": "Invite to group",
|
||||||
"joinGroup": "Join group",
|
"joinGroup": "Join group",
|
||||||
"joinGroupTab": "Join a group",
|
"joinGroupTab": "Join a group",
|
||||||
"largeTextLabel": "Large",
|
"largeTextLabel": "Large",
|
||||||
|
"leaveGroup": "Leave This Conversation",
|
||||||
"listsBtn": "Lists",
|
"listsBtn": "Lists",
|
||||||
"loadingTor": "Loading tor...",
|
"loadingTor": "Loading tor...",
|
||||||
"localeDe": "Deutsche",
|
"localeDe": "Deutsche",
|
||||||
|
@ -95,6 +97,7 @@
|
||||||
"newBulletinLabel": "New Bulletin",
|
"newBulletinLabel": "New Bulletin",
|
||||||
"newConnectionPaneTitle": "New Connection",
|
"newConnectionPaneTitle": "New Connection",
|
||||||
"newGroupBtn": "Create new group",
|
"newGroupBtn": "Create new group",
|
||||||
|
"newPassword": "New Password",
|
||||||
"newProfile": "New Profile",
|
"newProfile": "New Profile",
|
||||||
"noPasswordWarning": "Not using a password on this account means that all data stored locally will not be encrypted",
|
"noPasswordWarning": "Not using a password on this account means that all data stored locally will not be encrypted",
|
||||||
"password": "Password",
|
"password": "Password",
|
||||||
|
@ -103,7 +106,7 @@
|
||||||
"passwordChangeError": "Error changing password: Supplied password rejected",
|
"passwordChangeError": "Error changing password: Supplied password rejected",
|
||||||
"passwordErrorEmpty": "Password cannot be empty",
|
"passwordErrorEmpty": "Password cannot be empty",
|
||||||
"passwordErrorMatch": "Passwords do not match",
|
"passwordErrorMatch": "Passwords do not match",
|
||||||
"pasteAddressToAddContact": "Paste a cwtch address here to add a new contact.",
|
"pasteAddressToAddContact": "Paste a cwtch address, invitation or key bundle here to add a new conversation",
|
||||||
"peerAddress": "Address",
|
"peerAddress": "Address",
|
||||||
"peerBlockedMessage": "Peer is blocked",
|
"peerBlockedMessage": "Peer is blocked",
|
||||||
"peerName": "Name",
|
"peerName": "Name",
|
||||||
|
@ -116,6 +119,7 @@
|
||||||
"puzzleGameBtn": "Puzzle Game",
|
"puzzleGameBtn": "Puzzle Game",
|
||||||
"radioNoPassword": "Unencrypted (No password)",
|
"radioNoPassword": "Unencrypted (No password)",
|
||||||
"radioUsePassword": "Password",
|
"radioUsePassword": "Password",
|
||||||
|
"reallyLeaveThisGroupPrompt": "Are you sure you want to leave this conversation? All messages and attributes will be deleted.",
|
||||||
"rejectGroupBtn": "Reject",
|
"rejectGroupBtn": "Reject",
|
||||||
"saveBtn": "Save",
|
"saveBtn": "Save",
|
||||||
"savePeerHistory": "Save Peer History",
|
"savePeerHistory": "Save Peer History",
|
||||||
|
@ -137,12 +141,12 @@
|
||||||
"successfullAddedContact": "Successfully added ",
|
"successfullAddedContact": "Successfully added ",
|
||||||
"themeDark": "Dark",
|
"themeDark": "Dark",
|
||||||
"themeLight": "Light",
|
"themeLight": "Light",
|
||||||
"titleManageContacts": "Manage Contacts",
|
"titleManageContacts": "Conversations",
|
||||||
"titleManageProfiles": "Manage Cwtch Profiles",
|
"titleManageProfiles": "Manage Cwtch Profiles",
|
||||||
"titleManageServers": "Manage Servers",
|
"titleManageServers": "Manage Servers",
|
||||||
"titlePlaceholder": "title...",
|
"titlePlaceholder": "title...",
|
||||||
"todoPlaceholder": "Todo...",
|
"todoPlaceholder": "Todo...",
|
||||||
"tooltipAddContact": "Add a new contact",
|
"tooltipAddContact": "Add a new contact or conversation",
|
||||||
"tooltipOpenSettings": "Open the settings pane",
|
"tooltipOpenSettings": "Open the settings pane",
|
||||||
"tooltipUnlockProfiles": "Unlock encrypted profiles by entering their password.",
|
"tooltipUnlockProfiles": "Unlock encrypted profiles by entering their password.",
|
||||||
"unblockBtn": "Unblock Peer",
|
"unblockBtn": "Unblock Peer",
|
||||||
|
@ -153,6 +157,7 @@
|
||||||
"versionTor": "Version %1 with tor %2",
|
"versionTor": "Version %1 with tor %2",
|
||||||
"viewGroupMembershipTooltip": "View Group Membership",
|
"viewGroupMembershipTooltip": "View Group Membership",
|
||||||
"viewServerInfo": "Server Info",
|
"viewServerInfo": "Server Info",
|
||||||
|
"yesLeave": "Yes, Leave This Conversation",
|
||||||
"yourDisplayName": "Your Display Name",
|
"yourDisplayName": "Your Display Name",
|
||||||
"yourProfiles": "Your Profiles",
|
"yourProfiles": "Your Profiles",
|
||||||
"yourServers": "Your Servers",
|
"yourServers": "Your Servers",
|
||||||
|
|
|
@ -75,10 +75,12 @@
|
||||||
"invitation": "Invitación",
|
"invitation": "Invitación",
|
||||||
"invitationLabel": "Invitación",
|
"invitationLabel": "Invitación",
|
||||||
"inviteBtn": "Invitar",
|
"inviteBtn": "Invitar",
|
||||||
|
"inviteToGroup": "",
|
||||||
"inviteToGroupLabel": "Invitar al grupo",
|
"inviteToGroupLabel": "Invitar al grupo",
|
||||||
"joinGroup": "Únete al grupo",
|
"joinGroup": "Únete al grupo",
|
||||||
"joinGroupTab": "Únete a un grupo",
|
"joinGroupTab": "Únete a un grupo",
|
||||||
"largeTextLabel": "Grande",
|
"largeTextLabel": "Grande",
|
||||||
|
"leaveGroup": "",
|
||||||
"listsBtn": "Listas",
|
"listsBtn": "Listas",
|
||||||
"loadingTor": "Cargando tor...",
|
"loadingTor": "Cargando tor...",
|
||||||
"localeDe": "Alemán",
|
"localeDe": "Alemán",
|
||||||
|
@ -95,6 +97,7 @@
|
||||||
"newBulletinLabel": "Nuevo Boletín",
|
"newBulletinLabel": "Nuevo Boletín",
|
||||||
"newConnectionPaneTitle": "Nueva conexión",
|
"newConnectionPaneTitle": "Nueva conexión",
|
||||||
"newGroupBtn": "Crear un nuevo grupo de chat",
|
"newGroupBtn": "Crear un nuevo grupo de chat",
|
||||||
|
"newPassword": "",
|
||||||
"newProfile": "Nuevo perfil",
|
"newProfile": "Nuevo perfil",
|
||||||
"noPasswordWarning": "No usar una contraseña para esta cuenta significa que los datos almacenados localmente no serán encriptados",
|
"noPasswordWarning": "No usar una contraseña para esta cuenta significa que los datos almacenados localmente no serán encriptados",
|
||||||
"password": "Contraseña",
|
"password": "Contraseña",
|
||||||
|
@ -116,6 +119,7 @@
|
||||||
"puzzleGameBtn": "Juego de rompecabezas",
|
"puzzleGameBtn": "Juego de rompecabezas",
|
||||||
"radioNoPassword": "Sin cifrado (sin contraseña)",
|
"radioNoPassword": "Sin cifrado (sin contraseña)",
|
||||||
"radioUsePassword": "Contraseña",
|
"radioUsePassword": "Contraseña",
|
||||||
|
"reallyLeaveThisGroupPrompt": "",
|
||||||
"rejectGroupBtn": "Rechazar",
|
"rejectGroupBtn": "Rechazar",
|
||||||
"saveBtn": "Guardar",
|
"saveBtn": "Guardar",
|
||||||
"savePeerHistory": "Guardar el historial con contacto",
|
"savePeerHistory": "Guardar el historial con contacto",
|
||||||
|
@ -153,6 +157,7 @@
|
||||||
"versionTor": "Versión %1 con tor %2",
|
"versionTor": "Versión %1 con tor %2",
|
||||||
"viewGroupMembershipTooltip": "Ver membresía del grupo",
|
"viewGroupMembershipTooltip": "Ver membresía del grupo",
|
||||||
"viewServerInfo": "Información del servidor",
|
"viewServerInfo": "Información del servidor",
|
||||||
|
"yesLeave": "",
|
||||||
"yourDisplayName": "Tu nombre de usuario",
|
"yourDisplayName": "Tu nombre de usuario",
|
||||||
"yourProfiles": "Tus perfiles",
|
"yourProfiles": "Tus perfiles",
|
||||||
"yourServers": "Tus servidores",
|
"yourServers": "Tus servidores",
|
||||||
|
|
|
@ -75,10 +75,12 @@
|
||||||
"invitation": "",
|
"invitation": "",
|
||||||
"invitationLabel": "Invitation",
|
"invitationLabel": "Invitation",
|
||||||
"inviteBtn": "Invitation",
|
"inviteBtn": "Invitation",
|
||||||
|
"inviteToGroup": "",
|
||||||
"inviteToGroupLabel": "Inviter quelqu'un",
|
"inviteToGroupLabel": "Inviter quelqu'un",
|
||||||
"joinGroup": "",
|
"joinGroup": "",
|
||||||
"joinGroupTab": "",
|
"joinGroupTab": "",
|
||||||
"largeTextLabel": "Large",
|
"largeTextLabel": "Large",
|
||||||
|
"leaveGroup": "",
|
||||||
"listsBtn": "Listes",
|
"listsBtn": "Listes",
|
||||||
"loadingTor": "",
|
"loadingTor": "",
|
||||||
"localeDe": "",
|
"localeDe": "",
|
||||||
|
@ -95,6 +97,7 @@
|
||||||
"newBulletinLabel": "Nouveau bulletin",
|
"newBulletinLabel": "Nouveau bulletin",
|
||||||
"newConnectionPaneTitle": "",
|
"newConnectionPaneTitle": "",
|
||||||
"newGroupBtn": "Créer un nouveau groupe",
|
"newGroupBtn": "Créer un nouveau groupe",
|
||||||
|
"newPassword": "",
|
||||||
"newProfile": "",
|
"newProfile": "",
|
||||||
"noPasswordWarning": "",
|
"noPasswordWarning": "",
|
||||||
"password": "",
|
"password": "",
|
||||||
|
@ -116,6 +119,7 @@
|
||||||
"puzzleGameBtn": "Puzzle",
|
"puzzleGameBtn": "Puzzle",
|
||||||
"radioNoPassword": "",
|
"radioNoPassword": "",
|
||||||
"radioUsePassword": "",
|
"radioUsePassword": "",
|
||||||
|
"reallyLeaveThisGroupPrompt": "",
|
||||||
"rejectGroupBtn": "Refuser",
|
"rejectGroupBtn": "Refuser",
|
||||||
"saveBtn": "Sauvegarder",
|
"saveBtn": "Sauvegarder",
|
||||||
"savePeerHistory": "",
|
"savePeerHistory": "",
|
||||||
|
@ -153,6 +157,7 @@
|
||||||
"versionTor": "",
|
"versionTor": "",
|
||||||
"viewGroupMembershipTooltip": "",
|
"viewGroupMembershipTooltip": "",
|
||||||
"viewServerInfo": "",
|
"viewServerInfo": "",
|
||||||
|
"yesLeave": "",
|
||||||
"yourDisplayName": "",
|
"yourDisplayName": "",
|
||||||
"yourProfiles": "",
|
"yourProfiles": "",
|
||||||
"yourServers": "",
|
"yourServers": "",
|
||||||
|
|
|
@ -75,10 +75,12 @@
|
||||||
"invitation": "Invito",
|
"invitation": "Invito",
|
||||||
"invitationLabel": "Invito",
|
"invitationLabel": "Invito",
|
||||||
"inviteBtn": "Invitare",
|
"inviteBtn": "Invitare",
|
||||||
|
"inviteToGroup": "",
|
||||||
"inviteToGroupLabel": "Invitare nel gruppo",
|
"inviteToGroupLabel": "Invitare nel gruppo",
|
||||||
"joinGroup": "Unisciti al gruppo",
|
"joinGroup": "Unisciti al gruppo",
|
||||||
"joinGroupTab": "Unisciti a un gruppo",
|
"joinGroupTab": "Unisciti a un gruppo",
|
||||||
"largeTextLabel": "Grande",
|
"largeTextLabel": "Grande",
|
||||||
|
"leaveGroup": "",
|
||||||
"listsBtn": "Liste",
|
"listsBtn": "Liste",
|
||||||
"loadingTor": "Caricamento di tor...",
|
"loadingTor": "Caricamento di tor...",
|
||||||
"localeDe": "Tedesco",
|
"localeDe": "Tedesco",
|
||||||
|
@ -95,6 +97,7 @@
|
||||||
"newBulletinLabel": "Nuovo bollettino",
|
"newBulletinLabel": "Nuovo bollettino",
|
||||||
"newConnectionPaneTitle": "Nuova connessione",
|
"newConnectionPaneTitle": "Nuova connessione",
|
||||||
"newGroupBtn": "Crea un nuovo gruppo",
|
"newGroupBtn": "Crea un nuovo gruppo",
|
||||||
|
"newPassword": "",
|
||||||
"newProfile": "Nuovo profilo",
|
"newProfile": "Nuovo profilo",
|
||||||
"noPasswordWarning": "Non utilizzare una password su questo account significa che tutti i dati archiviati localmente non verranno criptati",
|
"noPasswordWarning": "Non utilizzare una password su questo account significa che tutti i dati archiviati localmente non verranno criptati",
|
||||||
"password": "Password",
|
"password": "Password",
|
||||||
|
@ -116,6 +119,7 @@
|
||||||
"puzzleGameBtn": "Gioco di puzzle",
|
"puzzleGameBtn": "Gioco di puzzle",
|
||||||
"radioNoPassword": "Non criptato (senza password)",
|
"radioNoPassword": "Non criptato (senza password)",
|
||||||
"radioUsePassword": "Password",
|
"radioUsePassword": "Password",
|
||||||
|
"reallyLeaveThisGroupPrompt": "",
|
||||||
"rejectGroupBtn": "Rifiuta",
|
"rejectGroupBtn": "Rifiuta",
|
||||||
"saveBtn": "Salva",
|
"saveBtn": "Salva",
|
||||||
"savePeerHistory": "Salva cronologia peer",
|
"savePeerHistory": "Salva cronologia peer",
|
||||||
|
@ -153,6 +157,7 @@
|
||||||
"versionTor": "Versione %1 con tor %2",
|
"versionTor": "Versione %1 con tor %2",
|
||||||
"viewGroupMembershipTooltip": "Visualizza i membri del gruppo",
|
"viewGroupMembershipTooltip": "Visualizza i membri del gruppo",
|
||||||
"viewServerInfo": "Informazioni sul server",
|
"viewServerInfo": "Informazioni sul server",
|
||||||
|
"yesLeave": "",
|
||||||
"yourDisplayName": "Il tuo nome visualizzato",
|
"yourDisplayName": "Il tuo nome visualizzato",
|
||||||
"yourProfiles": "I tuoi profili",
|
"yourProfiles": "I tuoi profili",
|
||||||
"yourServers": "I tuoi server",
|
"yourServers": "I tuoi server",
|
||||||
|
|
|
@ -75,10 +75,12 @@
|
||||||
"invitation": "",
|
"invitation": "",
|
||||||
"invitationLabel": "Convite",
|
"invitationLabel": "Convite",
|
||||||
"inviteBtn": "Convidar",
|
"inviteBtn": "Convidar",
|
||||||
|
"inviteToGroup": "",
|
||||||
"inviteToGroupLabel": "Convidar ao grupo",
|
"inviteToGroupLabel": "Convidar ao grupo",
|
||||||
"joinGroup": "",
|
"joinGroup": "",
|
||||||
"joinGroupTab": "",
|
"joinGroupTab": "",
|
||||||
"largeTextLabel": "Grande",
|
"largeTextLabel": "Grande",
|
||||||
|
"leaveGroup": "",
|
||||||
"listsBtn": "Listas",
|
"listsBtn": "Listas",
|
||||||
"loadingTor": "",
|
"loadingTor": "",
|
||||||
"localeDe": "",
|
"localeDe": "",
|
||||||
|
@ -95,6 +97,7 @@
|
||||||
"newBulletinLabel": "Novo Boletim",
|
"newBulletinLabel": "Novo Boletim",
|
||||||
"newConnectionPaneTitle": "",
|
"newConnectionPaneTitle": "",
|
||||||
"newGroupBtn": "Criar novo grupo",
|
"newGroupBtn": "Criar novo grupo",
|
||||||
|
"newPassword": "",
|
||||||
"newProfile": "",
|
"newProfile": "",
|
||||||
"noPasswordWarning": "",
|
"noPasswordWarning": "",
|
||||||
"password": "",
|
"password": "",
|
||||||
|
@ -116,6 +119,7 @@
|
||||||
"puzzleGameBtn": "Jogo de Adivinhação",
|
"puzzleGameBtn": "Jogo de Adivinhação",
|
||||||
"radioNoPassword": "",
|
"radioNoPassword": "",
|
||||||
"radioUsePassword": "",
|
"radioUsePassword": "",
|
||||||
|
"reallyLeaveThisGroupPrompt": "",
|
||||||
"rejectGroupBtn": "Recusar",
|
"rejectGroupBtn": "Recusar",
|
||||||
"saveBtn": "Salvar",
|
"saveBtn": "Salvar",
|
||||||
"savePeerHistory": "",
|
"savePeerHistory": "",
|
||||||
|
@ -153,6 +157,7 @@
|
||||||
"versionTor": "",
|
"versionTor": "",
|
||||||
"viewGroupMembershipTooltip": "",
|
"viewGroupMembershipTooltip": "",
|
||||||
"viewServerInfo": "",
|
"viewServerInfo": "",
|
||||||
|
"yesLeave": "",
|
||||||
"yourDisplayName": "",
|
"yourDisplayName": "",
|
||||||
"yourProfiles": "",
|
"yourProfiles": "",
|
||||||
"yourServers": "",
|
"yourServers": "",
|
||||||
|
|
|
@ -47,7 +47,7 @@ class _ContactsViewState extends State<ContactsView> {
|
||||||
width: 10,
|
width: 10,
|
||||||
),
|
),
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Text("%1 » %2".replaceAll("%1", Provider.of<ProfileInfoState>(context).nickname).replaceAll("%2", "Contacts"),
|
child: Text("%1 » %2".replaceAll("%1", Provider.of<ProfileInfoState>(context).nickname).replaceAll("%2", AppLocalizations.of(context)!.titleManageContacts),
|
||||||
overflow: TextOverflow.ellipsis, style: TextStyle(color: Provider.of<Settings>(context).current().mainTextColor()))), //todo
|
overflow: TextOverflow.ellipsis, style: TextStyle(color: Provider.of<Settings>(context).current().mainTextColor()))), //todo
|
||||||
])),
|
])),
|
||||||
actions: [
|
actions: [
|
||||||
|
|
|
@ -141,7 +141,7 @@ class _GroupSettingsViewState extends State<GroupSettingsView> {
|
||||||
showAlertDialog(context);
|
showAlertDialog(context);
|
||||||
},
|
},
|
||||||
icon: Icon(Icons.delete),
|
icon: Icon(Icons.delete),
|
||||||
label: Text(AppLocalizations.of(context)!.deleteBtn),
|
label: Text(AppLocalizations.of(context)!.leaveGroup),
|
||||||
))
|
))
|
||||||
])
|
])
|
||||||
])))));
|
])))));
|
||||||
|
@ -166,7 +166,7 @@ class _GroupSettingsViewState extends State<GroupSettingsView> {
|
||||||
);
|
);
|
||||||
Widget continueButton = TextButton(
|
Widget continueButton = TextButton(
|
||||||
style: ButtonStyle(padding: MaterialStateProperty.all(EdgeInsets.all(20))),
|
style: ButtonStyle(padding: MaterialStateProperty.all(EdgeInsets.all(20))),
|
||||||
child: Text(AppLocalizations.of(context)!.deleteProfileConfirmBtn),
|
child: Text(AppLocalizations.of(context)!.yesLeave),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
var profileOnion = Provider.of<ContactInfoState>(context, listen: false).profileOnion;
|
var profileOnion = Provider.of<ContactInfoState>(context, listen: false).profileOnion;
|
||||||
var handle = Provider.of<ContactInfoState>(context, listen: false).onion;
|
var handle = Provider.of<ContactInfoState>(context, listen: false).onion;
|
||||||
|
@ -179,7 +179,7 @@ class _GroupSettingsViewState extends State<GroupSettingsView> {
|
||||||
|
|
||||||
// set up the AlertDialog
|
// set up the AlertDialog
|
||||||
AlertDialog alert = AlertDialog(
|
AlertDialog alert = AlertDialog(
|
||||||
title: Text(AppLocalizations.of(context)!.deleteProfileConfirmBtn),
|
title: Text(AppLocalizations.of(context)!.reallyLeaveThisGroupPrompt),
|
||||||
actions: [
|
actions: [
|
||||||
cancelButton,
|
cancelButton,
|
||||||
continueButton,
|
continueButton,
|
||||||
|
|
|
@ -5,6 +5,7 @@ import 'package:provider/provider.dart';
|
||||||
import '../main.dart';
|
import '../main.dart';
|
||||||
import '../model.dart';
|
import '../model.dart';
|
||||||
import 'package:intl/intl.dart';
|
import 'package:intl/intl.dart';
|
||||||
|
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||||
|
|
||||||
import '../settings.dart';
|
import '../settings.dart';
|
||||||
|
|
||||||
|
@ -56,9 +57,8 @@ class InvitationBubbleState extends State<InvitationBubble> {
|
||||||
//todo: get group name?
|
//todo: get group name?
|
||||||
messageStr = "You sent an invitation for " + (isGroup ? "a group" : Provider.of<MessageState>(context).message ?? "");
|
messageStr = "You sent an invitation for " + (isGroup ? "a group" : Provider.of<MessageState>(context).message ?? "");
|
||||||
} else {
|
} else {
|
||||||
messageStr = (isGroup ? "You have been invited to join " + (Provider.of<MessageState>(context).inviteNick ?? "") : "This is a contact suggestion for:") +
|
String joinGroup = AppLocalizations.of(context)!.inviteToGroup;
|
||||||
"\n" +
|
messageStr = (isGroup ? joinGroup + (Provider.of<MessageState>(context).inviteNick ?? "") : "This is a contact suggestion for:") + "\n" + (Provider.of<MessageState>(context).inviteTarget ?? "");
|
||||||
(Provider.of<MessageState>(context).inviteTarget ?? "");
|
|
||||||
}
|
}
|
||||||
var wdgMessage = Center(
|
var wdgMessage = Center(
|
||||||
widthFactor: 1,
|
widthFactor: 1,
|
||||||
|
@ -85,9 +85,13 @@ class InvitationBubbleState extends State<InvitationBubble> {
|
||||||
textAlign: fromMe ? TextAlign.right : TextAlign.left),
|
textAlign: fromMe ? TextAlign.right : TextAlign.left),
|
||||||
!fromMe
|
!fromMe
|
||||||
? SizedBox(width: 1, height: 1)
|
? SizedBox(width: 1, height: 1)
|
||||||
: Provider.of<MessageState>(context).ackd
|
: Padding(
|
||||||
? Icon(Icons.check_circle_outline, color: Provider.of<Settings>(context).theme.messageFromMeTextColor(), size: 12)
|
padding: EdgeInsets.all(1.0),
|
||||||
: Icon(Icons.hourglass_bottom_outlined, color: Provider.of<Settings>(context).theme.messageFromMeTextColor(), size: 12)
|
child: Provider.of<MessageState>(context).ackd == true
|
||||||
|
? Icon(Icons.check_circle_outline, color: Provider.of<Settings>(context).theme.messageFromMeTextColor(), size: 16)
|
||||||
|
: (Provider.of<MessageState>(context).error == true
|
||||||
|
? Icon(Icons.error_outline, color: Provider.of<Settings>(context).theme.messageFromMeTextColor(), size: 16)
|
||||||
|
: Icon(Icons.hourglass_bottom_outlined, color: Provider.of<Settings>(context).theme.messageFromMeTextColor(), size: 16)))
|
||||||
],
|
],
|
||||||
));
|
));
|
||||||
} else if (isAccepted) {
|
} else if (isAccepted) {
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
import 'package:cwtch/widgets/malformedbubble.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import '../model.dart';
|
import '../model.dart';
|
||||||
|
@ -63,23 +64,32 @@ class MessageBubbleState extends State<MessageBubble> {
|
||||||
textAlign: fromMe ? TextAlign.right : TextAlign.left),
|
textAlign: fromMe ? TextAlign.right : TextAlign.left),
|
||||||
!fromMe
|
!fromMe
|
||||||
? SizedBox(width: 1, height: 1)
|
? SizedBox(width: 1, height: 1)
|
||||||
: Provider.of<MessageState>(context).ackd == true
|
: Padding(
|
||||||
? Icon(Icons.check_circle_outline, color: Provider.of<Settings>(context).theme.messageFromMeTextColor(), size: 12)
|
padding: EdgeInsets.all(1.0),
|
||||||
: (Provider.of<MessageState>(context).error == true
|
child: Provider.of<MessageState>(context).ackd == true
|
||||||
? Icon(Icons.error_outline, color: Provider.of<Settings>(context).theme.messageFromMeTextColor(), size: 12)
|
? Icon(Icons.check_circle_outline, color: Provider.of<Settings>(context).theme.messageFromMeTextColor(), size: 16)
|
||||||
: Icon(Icons.hourglass_bottom_outlined, color: Provider.of<Settings>(context).theme.messageFromMeTextColor(), size: 12))
|
: (Provider.of<MessageState>(context).error == true
|
||||||
|
? Icon(Icons.error_outline, color: Provider.of<Settings>(context).theme.messageFromMeTextColor(), size: 16)
|
||||||
|
: Icon(Icons.hourglass_bottom_outlined, color: Provider.of<Settings>(context).theme.messageFromMeTextColor(), size: 16)))
|
||||||
],
|
],
|
||||||
));
|
));
|
||||||
|
|
||||||
|
var error = Provider.of<MessageState>(context).error;
|
||||||
|
|
||||||
return LayoutBuilder(builder: (context, constraints) {
|
return LayoutBuilder(builder: (context, constraints) {
|
||||||
//print(constraints.toString()+", "+constraints.maxWidth.toString());
|
//print(constraints.toString()+", "+constraints.maxWidth.toString());
|
||||||
return RepaintBoundary(
|
return RepaintBoundary(
|
||||||
child: Container(
|
child: Container(
|
||||||
child: Container(
|
child: Container(
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: fromMe ? Provider.of<Settings>(context).theme.messageFromMeBackgroundColor() : Provider.of<Settings>(context).theme.messageFromOtherBackgroundColor(),
|
color: error
|
||||||
|
? malformedColor
|
||||||
|
: (fromMe ? Provider.of<Settings>(context).theme.messageFromMeBackgroundColor() : Provider.of<Settings>(context).theme.messageFromOtherBackgroundColor()),
|
||||||
border: Border.all(
|
border: Border.all(
|
||||||
color: fromMe ? Provider.of<Settings>(context).theme.messageFromMeBackgroundColor() : Provider.of<Settings>(context).theme.messageFromOtherBackgroundColor(), width: 1),
|
color: error
|
||||||
|
? malformedColor
|
||||||
|
: (fromMe ? Provider.of<Settings>(context).theme.messageFromMeBackgroundColor() : Provider.of<Settings>(context).theme.messageFromOtherBackgroundColor()),
|
||||||
|
width: 1),
|
||||||
borderRadius: BorderRadius.only(
|
borderRadius: BorderRadius.only(
|
||||||
topLeft: Radius.circular(borderRadiousEh),
|
topLeft: Radius.circular(borderRadiousEh),
|
||||||
topRight: Radius.circular(borderRadiousEh),
|
topRight: Radius.circular(borderRadiousEh),
|
||||||
|
|
20
pubspec.lock
20
pubspec.lock
|
@ -14,7 +14,7 @@ packages:
|
||||||
name: args
|
name: args
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.0"
|
version: "2.1.1"
|
||||||
async:
|
async:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -77,7 +77,7 @@ packages:
|
||||||
name: dbus
|
name: dbus
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.5.0"
|
version: "0.5.1"
|
||||||
desktop_notifications:
|
desktop_notifications:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -142,7 +142,7 @@ packages:
|
||||||
name: glob
|
name: glob
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.1"
|
version: "1.2.0"
|
||||||
http:
|
http:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -199,6 +199,20 @@ packages:
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.0"
|
version: "1.0.0"
|
||||||
|
node_interop:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: node_interop
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.2.1"
|
||||||
|
node_io:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: node_io
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.1.1"
|
||||||
package_info_plus:
|
package_info_plus:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
|
|
@ -15,7 +15,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
|
||||||
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
|
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
|
||||||
# Read more about iOS versioning at
|
# Read more about iOS versioning at
|
||||||
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
||||||
version: 1.0.0+1
|
version: 1.0.0+2
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: ">=2.12.0 <3.0.0"
|
sdk: ">=2.12.0 <3.0.0"
|
||||||
|
|
Loading…
Reference in New Issue