Additional fixes (for the Openmoko Freerunner notably)

This commit is contained in:
Pierre Pronchery 2011-10-31 02:11:52 +00:00
parent 30cf6ac183
commit 29ac2ebb26
4 changed files with 103 additions and 71 deletions

124
po/fr.po
View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Phone 0.0.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-10-31 01:13+0100\n"
"POT-Creation-Date: 2011-10-31 03:11+0100\n"
"PO-Revision-Date: 2010-04-24 02:07+0200\n"
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
"Language-Team: DeforaOS development (French) <devel-fr@lists.defora.org>\n"
@ -47,11 +47,11 @@ msgstr "Brouillons"
msgid "Trash"
msgstr "Corbeille"
#: ../src/phone.c:510 ../src/phone.c:2589
#: ../src/phone.c:510 ../src/phone.c:2591
msgid "System preferences"
msgstr "Préférences système"
#: ../src/phone.c:521 ../src/phone.c:2015
#: ../src/phone.c:521 ../src/phone.c:2017
msgid "Plug-ins"
msgstr "Greffons"
@ -100,240 +100,240 @@ msgstr "Appel sortant"
msgid "Call finished"
msgstr "Appel terminé"
#: ../src/phone.c:1475
#: ../src/phone.c:1476
msgid "_Answer"
msgstr "_Répondre"
#: ../src/phone.c:1480
#: ../src/phone.c:1481
msgid "_Hangup"
msgstr "Ra_ccrocher"
#: ../src/phone.c:1485
#: ../src/phone.c:1486
msgid "_Reject"
msgstr "Re_jeter"
#: ../src/phone.c:1505
#: ../src/phone.c:1507
msgid "Loudspeaker"
msgstr "Haut-parleur"
#: ../src/phone.c:1513
#: ../src/phone.c:1515
msgid "Mute microphone"
msgstr "Couper le microphone"
#: ../src/phone.c:1521
#: ../src/phone.c:1523
msgid "Show dialer"
msgstr "Afficher le cadran"
#: ../src/phone.c:1562
#: ../src/phone.c:1564
#, c-format
msgid "Enter %s"
msgstr "Entrer %s"
#: ../src/phone.c:1605
#: ../src/phone.c:1607
msgid "Enter"
msgstr "Entrer"
#: ../src/phone.c:1607
#: ../src/phone.c:1609
msgid "Skip"
msgstr "Ignorer"
#: ../src/phone.c:1635
#: ../src/phone.c:1637
msgid "Contacts"
msgstr "Contacts"
#: ../src/phone.c:1641 ../src/phone.c:1760 ../src/phone.c:1796
#: ../src/phone.c:1911 ../src/phone.c:2267
#: ../src/phone.c:1643 ../src/phone.c:1762 ../src/phone.c:1798
#: ../src/phone.c:1913 ../src/phone.c:2269
msgid "Call"
msgstr "Appeler"
#: ../src/phone.c:1647
#: ../src/phone.c:1649
msgid "Write"
msgstr "Écrire"
#: ../src/phone.c:1689 ../src/phone.c:2046 ../src/phone.c:2378
#: ../src/phone.c:1691 ../src/phone.c:2048 ../src/phone.c:2380
msgid "Name"
msgstr "Nom"
#: ../src/phone.c:1735
#: ../src/phone.c:1737
msgid "Dialer"
msgstr "Composer"
#: ../src/phone.c:1762
#: ../src/phone.c:1764
msgid "Hang up"
msgstr "Raccrocher"
#: ../src/phone.c:1790
#: ../src/phone.c:1792
msgid "Phone logs"
msgstr "Journal d'appels"
#: ../src/phone.c:1802
#: ../src/phone.c:1804
msgid "Message"
msgstr "Message"
#: ../src/phone.c:1833
#: ../src/phone.c:1835
msgid "Direction"
msgstr "Direction"
#: ../src/phone.c:1838 ../src/phone.c:1957
#: ../src/phone.c:1840 ../src/phone.c:1959
msgid "To/From"
msgstr "Vers/De"
#: ../src/phone.c:1844 ../src/phone.c:1965
#: ../src/phone.c:1846 ../src/phone.c:1967
msgid "Date"
msgstr "Date"
#: ../src/phone.c:1905
#: ../src/phone.c:1907
msgid "Messages"
msgstr "Messages"
#: ../src/phone.c:1916
#: ../src/phone.c:1918
msgid "New message"
msgstr "Nouveau message"
#: ../src/phone.c:1922 ../src/phone.c:2273
#: ../src/phone.c:1924 ../src/phone.c:2275
msgid "Reply"
msgstr "Répondre"
#: ../src/phone.c:2034
#: ../src/phone.c:2036
msgid "Enabled"
msgstr "Activé"
#: ../src/phone.c:2261
#: ../src/phone.c:2263
msgid "Read message"
msgstr "Lire le message"
#: ../src/phone.c:2279
#: ../src/phone.c:2281
msgid "Forward"
msgstr "Transmettre"
#: ../src/phone.c:2353
#: ../src/phone.c:2355
msgid "Phone settings"
msgstr "Paramètres du téléphone"
#: ../src/phone.c:2430
#: ../src/phone.c:2432
msgid "missed calls"
msgstr "appels manqués"
#: ../src/phone.c:2430
#: ../src/phone.c:2432
msgid "missed call"
msgstr "appel manqué"
#: ../src/phone.c:2439
#: ../src/phone.c:2441
msgid "new messages"
msgstr "nouveaux messages"
#: ../src/phone.c:2440
#: ../src/phone.c:2442
msgid "new message"
msgstr "nouveau message"
#: ../src/phone.c:2458 ../src/phone.c:3394 ../src/phone.c:3398
#: ../src/phone.c:2460 ../src/phone.c:3396 ../src/phone.c:3400
msgid "Information"
msgstr "Information"
#: ../src/phone.c:2468
#: ../src/phone.c:2470
msgid "Status"
msgstr "État"
#: ../src/phone.c:2492
#: ../src/phone.c:2494
msgid "_View"
msgstr "_Vue"
#: ../src/phone.c:2511
#: ../src/phone.c:2513
msgid "_Read"
msgstr "_Lire"
#: ../src/phone.c:2643
#: ../src/phone.c:2645
msgid "Open file..."
msgstr "Ouvrir fichier..."
#: ../src/phone.c:2814
#: ../src/phone.c:2816
msgid "Write message"
msgstr "Écrire un message"
#: ../src/phone.c:2820
#: ../src/phone.c:2822
msgid "Send"
msgstr "Envoyer"
#: ../src/phone.c:2826
#: ../src/phone.c:2828
msgid "Attach"
msgstr "Joindre"
#: ../src/phone.c:2942
#: ../src/phone.c:2944
msgid "Attach file..."
msgstr "Joindre un fichier..."
#: ../src/phone.c:3013
#: ../src/phone.c:3015
#, c-format
msgid "%d message%s, %d/%d characters"
msgstr "%d message%s, %d/%d caractères"
#: ../src/phone.c:3014
#: ../src/phone.c:3016
msgid "s"
msgstr "s"
#: ../src/phone.c:3078
#: ../src/phone.c:3080
msgid "Sending message..."
msgstr "Envoi du message..."
#: ../src/phone.c:3113
#: ../src/phone.c:3115
msgid "Outgoing"
msgstr "Sortant"
#: ../src/phone.c:3299
#: ../src/phone.c:3301
msgid "Operation in progress..."
msgstr "Opération en cours..."
#: ../src/phone.c:3339 ../src/phone.c:3343
#: ../src/phone.c:3341 ../src/phone.c:3345
msgid "Question"
msgstr "Question"
#: ../src/phone.c:3363 ../src/phone.c:3367
#: ../src/phone.c:3365 ../src/phone.c:3369
msgid "Error"
msgstr "Erreur"
#: ../src/phone.c:3599
#: ../src/phone.c:3601
msgid "Name: "
msgstr "Nom: "
#: ../src/phone.c:3608
#: ../src/phone.c:3610
msgid "Number: "
msgstr "Numéro: "
#: ../src/phone.c:3624
#: ../src/phone.c:3626
msgid "New contact"
msgstr "Nouveau contact"
#: ../src/phone.c:3626
#: ../src/phone.c:3628
msgid "Edit contact: "
msgstr "Modifier contact: "
#: ../src/phone.c:3653
#: ../src/phone.c:3655
msgid "The name cannot be empty"
msgstr "Le nom ne peut être vide"
#: ../src/phone.c:3658
#: ../src/phone.c:3660
msgid "The number cannot be empty"
msgstr "Le numéro ne peut être vide"
#: ../src/phone.c:3794
#: ../src/phone.c:3796
msgid "Message sent"
msgstr "Message envoyé"
#: ../src/phone.c:3822
#: ../src/phone.c:3824
#, c-format
msgid "Wrong %s"
msgstr "Mauvais %s"
#: ../src/phone.c:3831
#: ../src/phone.c:3833
#, c-format
msgid "%s is valid"
msgstr "%s valide"
#: ../src/phone.c:3898
#: ../src/phone.c:3900
msgid "Raw data (not shown)"
msgstr "Données brutes (non affichées)"
#: ../src/phone.c:3936
#: ../src/phone.c:3938
msgid "Message deleted"
msgstr "Message effacé"

View File

@ -880,6 +880,12 @@ static char * _request_attention_call_hangup(ModemPlugin * modem)
_hayes_set_mode(modem, HAYES_MODE_INIT);
return NULL;
}
/* return "ATH" if currently ringing */
event = &hayes->events[MODEM_EVENT_TYPE_CALL];
if(event->call.direction == MODEM_CALL_DIRECTION_INCOMING
&& event->call.status == MODEM_CALL_STATUS_RINGING)
return strdup("ATH");
/* force all calls to terminate */
return strdup("AT+CHUP");
}
@ -2988,12 +2994,15 @@ static void _on_trigger_clip(ModemPlugin * modem, char const * answer)
/* on_trigger_cme_error */
static void _on_trigger_cme_error(ModemPlugin * modem, char const * answer)
{
ModemPluginHelper * helper = modem->helper;
Hayes * hayes = modem->priv;
/* XXX ugly */
HayesCommand * command = (hayes->queue != NULL) ? hayes->queue->data
: NULL;
unsigned int u;
HayesCommand * p;
ModemEvent * event;
ModemRequest request;
if(command != NULL)
_hayes_command_set_status(command, HCS_ERROR);
@ -3018,6 +3027,20 @@ static void _on_trigger_cme_error(ModemPlugin * modem, char const * answer)
hayes->source = g_timeout_add(1000,
_on_queue_timeout, modem);
break;
case 32: /* emergency calls only */
event = &hayes->events[MODEM_EVENT_TYPE_REGISTRATION];
free(hayes->registration_operator);
hayes->registration_operator = strdup("SOS");
event->registration._operator
= hayes->registration_operator;
event->registration.status
= MODEM_REGISTRATION_STATUS_REGISTERED;
helper->event(helper->modem, event);
/* verify the SIM card */
memset(&request, 0, sizeof(request));
request.type = HAYES_REQUEST_SIM_PIN_VALID;
_hayes_request(modem, &request);
break;
default: /* FIXME implement the rest */
case 4: /* operation not supported */
case 16: /* Incorrect SIM PUK */
@ -3561,6 +3584,7 @@ static void _on_trigger_cops(ModemPlugin * modem, char const * answer)
/* on_trigger_cpas */
static void _on_trigger_cpas(ModemPlugin * modem, char const * answer)
{
ModemPluginHelper * helper = modem->helper;
Hayes * hayes = modem->priv;
ModemEvent * event = &hayes->events[MODEM_EVENT_TYPE_CALL];
unsigned int u;
@ -3577,12 +3601,12 @@ static void _on_trigger_cpas(ModemPlugin * modem, char const * answer)
event->connection.connected = 0;
event->connection.in = 0;
event->connection.out = 0;
modem->helper->event(modem->helper->modem, event);
helper->event(helper->modem, event);
break;
case 3:
event->call.status = MODEM_CALL_STATUS_RINGING;
/* report event */
modem->helper->event(modem->helper->modem, event);
helper->event(helper->modem, event);
break;
case 4:
event->call.status = MODEM_CALL_STATUS_ACTIVE;
@ -3678,10 +3702,15 @@ static void _on_trigger_creg(ModemPlugin * modem, char const * answer)
ModemRequest request;
res = sscanf(answer, "%u,%u,%X,%X", &u[0], &u[1], &u[2], &u[3]);
if(res == 1)
res = sscanf(answer, "%u,\"%X\",\"%X\"", &u[1], &u[2], &u[3]);
else if(res == 2)
res = sscanf(answer, "%u,%u,\"%X\",\"%X\"", &u[0], &u[1], &u[2],
&u[3]);
else if(res == 3)
res = sscanf(answer, "%u,%X,%X", &u[1], &u[2], &u[3]);
if(res == 0)
return;
if(res == 1 || res == 3)
memmove(&u[1], u, sizeof(*u) * 3);
u[0] = event->registration.mode;
event->registration.roaming = 0;
switch(u[1])

View File

@ -1471,26 +1471,28 @@ static void _show_call_window(Phone * phone)
phone->ca_number = gtk_label_new(NULL);
gtk_box_pack_start(GTK_BOX(vbox), phone->ca_number, FALSE, TRUE, 0);
/* buttons */
hbox = gtk_hbox_new(FALSE, 4);
/* answer */
phone->ca_answer = _phone_create_button("call-start", _("_Answer"));
g_signal_connect_swapped(G_OBJECT(phone->ca_answer), "clicked",
G_CALLBACK(on_phone_call_answer), phone);
gtk_box_pack_start(GTK_BOX(vbox), phone->ca_answer, FALSE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(hbox), phone->ca_answer, TRUE, TRUE, 0);
/* hangup */
phone->ca_hangup = _phone_create_button("call-stop", _("_Hangup"));
g_signal_connect_swapped(G_OBJECT(phone->ca_hangup), "clicked",
G_CALLBACK(on_phone_call_hangup), phone);
gtk_box_pack_start(GTK_BOX(vbox), phone->ca_hangup, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(hbox), phone->ca_hangup, TRUE, TRUE, 0);
/* reject */
phone->ca_reject = _phone_create_button("call-stop", _("_Reject"));
g_signal_connect_swapped(G_OBJECT(phone->ca_reject), "clicked",
G_CALLBACK(on_phone_call_reject), phone);
gtk_box_pack_start(GTK_BOX(vbox), phone->ca_reject, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(hbox), phone->ca_reject, TRUE, TRUE, 0);
/* close */
phone->ca_close = gtk_button_new_from_stock(GTK_STOCK_CLOSE);
g_signal_connect_swapped(G_OBJECT(phone->ca_close), "clicked",
G_CALLBACK(on_phone_call_close), phone);
gtk_box_pack_start(GTK_BOX(vbox), phone->ca_close, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(hbox), phone->ca_close, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0);
/* volume bar */
hbox = gtk_hbox_new(FALSE, 4);
phone->ca_image = gtk_image_new_from_icon_name(

View File

@ -258,7 +258,8 @@ static int _event_modem_event(PhonePlugin * plugin, ModemEvent * event)
if(direction == MODEM_CALL_DIRECTION_INCOMING
&& status == MODEM_CALL_STATUS_RINGING)
_profiles_play(plugin, "ringtone", 10);
else if(status == MODEM_CALL_STATUS_NONE)
else if(status == MODEM_CALL_STATUS_NONE
|| status == MODEM_CALL_STATUS_ACTIVE)
_profiles_play(plugin, NULL, 0);
break;
default: