Hopefully delete messages correctly
This commit is contained in:
parent
6cae6dcdef
commit
e9da2f8904
@ -67,6 +67,14 @@ typedef enum _ModemCallType
|
||||
MODEM_CALL_TYPE_DATA
|
||||
} ModemCallType;
|
||||
|
||||
typedef enum _ModemContactStatus
|
||||
{
|
||||
MODEM_CONTACT_STATUS_OFFLINE = 0,
|
||||
MODEM_CONTACT_STATUS_ONLINE,
|
||||
MODEM_CONTACT_STATUS_AWAY,
|
||||
MODEM_CONTACT_STATUS_IDLE
|
||||
} ModemContactStatus;
|
||||
|
||||
typedef enum _ModemMessageEncoding
|
||||
{
|
||||
MODEM_MESSAGE_ENCODING_NONE = 0,
|
||||
@ -137,6 +145,7 @@ typedef enum _ModemEventType
|
||||
MODEM_EVENT_TYPE_CONNECTION,
|
||||
MODEM_EVENT_TYPE_CONTACT,
|
||||
MODEM_EVENT_TYPE_MESSAGE,
|
||||
MODEM_EVENT_TYPE_MESSAGE_DELETED,
|
||||
MODEM_EVENT_TYPE_MESSAGE_SENT,
|
||||
MODEM_EVENT_TYPE_MODEL,
|
||||
MODEM_EVENT_TYPE_REGISTRATION,
|
||||
@ -198,6 +207,7 @@ typedef union _ModemEvent
|
||||
{
|
||||
ModemEventType type;
|
||||
unsigned int id;
|
||||
ModemContactStatus status;
|
||||
char const * name;
|
||||
char const * number;
|
||||
} contact;
|
||||
@ -216,12 +226,12 @@ typedef union _ModemEvent
|
||||
char const * content;
|
||||
} message;
|
||||
|
||||
/* MODEM_EVENT_TYPE_MESSAGE_SENT */
|
||||
/* MODEM_EVENT_TYPE_MESSAGE_DELETED, MODEM_EVENT_TYPE_MESSAGE_SENT */
|
||||
struct
|
||||
{
|
||||
ModemEventType type;
|
||||
unsigned int id;
|
||||
} message_sent;
|
||||
} message_deleted, message_sent;
|
||||
|
||||
/* MODEM_EVENT_TYPE_MODEL */
|
||||
struct
|
||||
@ -321,12 +331,12 @@ typedef union _ModemRequest
|
||||
unsigned int id;
|
||||
} contact, contact_delete;
|
||||
|
||||
/* MODEM_REQUEST_MESSAGE */
|
||||
/* MODEM_REQUEST_MESSAGE, MODEM_REQUEST_MESSAGE_DELETE */
|
||||
struct
|
||||
{
|
||||
ModemRequestType type;
|
||||
unsigned int id;
|
||||
} message;
|
||||
} message, message_delete;
|
||||
|
||||
/* MODEM_REQUEST_MESSAGE_SEND */
|
||||
struct
|
||||
|
154
po/fr.po
154
po/fr.po
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Phone 0.0.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-08-21 01:15+0200\n"
|
||||
"POT-Creation-Date: 2011-08-21 02:10+0200\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"
|
||||
@ -27,304 +27,308 @@ msgstr ""
|
||||
" -m\tNom du greffon modem à charger\n"
|
||||
" -r\tDélai entre deux tentatives d'accès au modem (ms)\n"
|
||||
|
||||
#: ../src/phone.c:332
|
||||
#: ../src/phone.c:333
|
||||
msgid "All"
|
||||
msgstr "Tous"
|
||||
|
||||
#: ../src/phone.c:333
|
||||
#: ../src/phone.c:334
|
||||
msgid "Inbox"
|
||||
msgstr "Reçus"
|
||||
|
||||
#: ../src/phone.c:334
|
||||
#: ../src/phone.c:335
|
||||
msgid "Sent"
|
||||
msgstr "Envoyés"
|
||||
|
||||
#: ../src/phone.c:335
|
||||
#: ../src/phone.c:336
|
||||
msgid "Drafts"
|
||||
msgstr "Brouillons"
|
||||
|
||||
#: ../src/phone.c:336
|
||||
#: ../src/phone.c:337
|
||||
msgid "Trash"
|
||||
msgstr "Corbeille"
|
||||
|
||||
#: ../src/phone.c:489 ../src/phone.c:2473
|
||||
#: ../src/phone.c:490 ../src/phone.c:2476
|
||||
msgid "System preferences"
|
||||
msgstr "Préférences système"
|
||||
|
||||
#: ../src/phone.c:500 ../src/phone.c:1902
|
||||
#: ../src/phone.c:501 ../src/phone.c:1905
|
||||
msgid "Plug-ins"
|
||||
msgstr "Greffons"
|
||||
|
||||
#: ../src/phone.c:665
|
||||
#: ../src/phone.c:666
|
||||
#, c-format
|
||||
msgid "Checking %s..."
|
||||
msgstr "Vérification %s..."
|
||||
|
||||
#: ../src/phone.c:728
|
||||
#: ../src/phone.c:729
|
||||
msgid "Delete this contact?"
|
||||
msgstr "Supprimer ce contact?"
|
||||
|
||||
#: ../src/phone.c:1030 ../src/phone.c:1195
|
||||
#: ../src/phone.c:1031 ../src/phone.c:1197
|
||||
msgid "Delete this message?"
|
||||
msgstr "Supprimer ce message?"
|
||||
|
||||
#: ../src/phone.c:1036 ../src/phone.c:1200
|
||||
#: ../src/phone.c:1037 ../src/phone.c:1202
|
||||
msgid "Deleting message..."
|
||||
msgstr "Suppression du message..."
|
||||
|
||||
#: ../src/phone.c:1296
|
||||
#: ../src/phone.c:1299
|
||||
msgid "Unknown contact"
|
||||
msgstr "Contact inconnu"
|
||||
|
||||
#: ../src/phone.c:1303
|
||||
#: ../src/phone.c:1306
|
||||
msgid "Unknown number"
|
||||
msgstr "Numéro inconnu"
|
||||
|
||||
#: ../src/phone.c:1315
|
||||
#: ../src/phone.c:1318
|
||||
msgid "In conversation"
|
||||
msgstr "En conversation"
|
||||
|
||||
#: ../src/phone.c:1326
|
||||
#: ../src/phone.c:1329
|
||||
msgid "Incoming call"
|
||||
msgstr "Appel entrant"
|
||||
|
||||
#: ../src/phone.c:1336
|
||||
#: ../src/phone.c:1339
|
||||
msgid "Outgoing call"
|
||||
msgstr "Appel sortant"
|
||||
|
||||
#: ../src/phone.c:1347
|
||||
#: ../src/phone.c:1350
|
||||
msgid "Call finished"
|
||||
msgstr "Appel terminé"
|
||||
|
||||
#: ../src/phone.c:1377
|
||||
#: ../src/phone.c:1380
|
||||
msgid "_Answer"
|
||||
msgstr "_Répondre"
|
||||
|
||||
#: ../src/phone.c:1382
|
||||
#: ../src/phone.c:1385
|
||||
msgid "_Hangup"
|
||||
msgstr "Ra_ccrocher"
|
||||
|
||||
#: ../src/phone.c:1387
|
||||
#: ../src/phone.c:1390
|
||||
msgid "_Reject"
|
||||
msgstr "Re_jeter"
|
||||
|
||||
#: ../src/phone.c:1407
|
||||
#: ../src/phone.c:1410
|
||||
msgid "Loudspeaker"
|
||||
msgstr "Haut-parleur"
|
||||
|
||||
#: ../src/phone.c:1415
|
||||
#: ../src/phone.c:1418
|
||||
msgid "Mute microphone"
|
||||
msgstr "Couper le microphone"
|
||||
|
||||
#: ../src/phone.c:1457
|
||||
#: ../src/phone.c:1460
|
||||
#, c-format
|
||||
msgid "Enter %s"
|
||||
msgstr "Entrer %s"
|
||||
|
||||
#: ../src/phone.c:1500
|
||||
#: ../src/phone.c:1503
|
||||
msgid "Enter"
|
||||
msgstr "Entrer"
|
||||
|
||||
#: ../src/phone.c:1502
|
||||
#: ../src/phone.c:1505
|
||||
msgid "Skip"
|
||||
msgstr "Ignorer"
|
||||
|
||||
#: ../src/phone.c:1530
|
||||
#: ../src/phone.c:1533
|
||||
msgid "Contacts"
|
||||
msgstr "Contacts"
|
||||
|
||||
#: ../src/phone.c:1536 ../src/phone.c:1647 ../src/phone.c:1683
|
||||
#: ../src/phone.c:1798 ../src/phone.c:2154
|
||||
#: ../src/phone.c:1539 ../src/phone.c:1650 ../src/phone.c:1686
|
||||
#: ../src/phone.c:1801 ../src/phone.c:2157
|
||||
msgid "Call"
|
||||
msgstr "Appeler"
|
||||
|
||||
#: ../src/phone.c:1542
|
||||
#: ../src/phone.c:1545
|
||||
msgid "Write"
|
||||
msgstr "Écrire"
|
||||
|
||||
#: ../src/phone.c:1576 ../src/phone.c:1933 ../src/phone.c:2265
|
||||
#: ../src/phone.c:1579 ../src/phone.c:1936 ../src/phone.c:2268
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#: ../src/phone.c:1622
|
||||
#: ../src/phone.c:1625
|
||||
msgid "Dialer"
|
||||
msgstr "Composer"
|
||||
|
||||
#: ../src/phone.c:1649
|
||||
#: ../src/phone.c:1652
|
||||
msgid "Hang up"
|
||||
msgstr "Raccrocher"
|
||||
|
||||
#: ../src/phone.c:1677
|
||||
#: ../src/phone.c:1680
|
||||
msgid "Phone logs"
|
||||
msgstr "Journal d'appels"
|
||||
|
||||
#: ../src/phone.c:1689
|
||||
#: ../src/phone.c:1692
|
||||
msgid "Message"
|
||||
msgstr "Message"
|
||||
|
||||
#: ../src/phone.c:1720
|
||||
#: ../src/phone.c:1723
|
||||
msgid "Direction"
|
||||
msgstr "Direction"
|
||||
|
||||
#: ../src/phone.c:1725 ../src/phone.c:1844
|
||||
#: ../src/phone.c:1728 ../src/phone.c:1847
|
||||
msgid "To/From"
|
||||
msgstr "Vers/De"
|
||||
|
||||
#: ../src/phone.c:1731 ../src/phone.c:1852
|
||||
#: ../src/phone.c:1734 ../src/phone.c:1855
|
||||
msgid "Date"
|
||||
msgstr "Date"
|
||||
|
||||
#: ../src/phone.c:1792
|
||||
#: ../src/phone.c:1795
|
||||
msgid "Messages"
|
||||
msgstr "Messages"
|
||||
|
||||
#: ../src/phone.c:1803
|
||||
#: ../src/phone.c:1806
|
||||
msgid "New message"
|
||||
msgstr "Nouveau message"
|
||||
|
||||
#: ../src/phone.c:1809 ../src/phone.c:2160
|
||||
#: ../src/phone.c:1812 ../src/phone.c:2163
|
||||
msgid "Reply"
|
||||
msgstr "Répondre"
|
||||
|
||||
#: ../src/phone.c:1921
|
||||
#: ../src/phone.c:1924
|
||||
msgid "Enabled"
|
||||
msgstr "Activé"
|
||||
|
||||
#: ../src/phone.c:2148
|
||||
#: ../src/phone.c:2151
|
||||
msgid "Read message"
|
||||
msgstr "Lire le message"
|
||||
|
||||
#: ../src/phone.c:2166
|
||||
#: ../src/phone.c:2169
|
||||
msgid "Forward"
|
||||
msgstr "Transmettre"
|
||||
|
||||
#: ../src/phone.c:2240
|
||||
#: ../src/phone.c:2243
|
||||
msgid "Phone settings"
|
||||
msgstr "Paramètres du téléphone"
|
||||
|
||||
#: ../src/phone.c:2317
|
||||
#: ../src/phone.c:2320
|
||||
msgid "missed calls"
|
||||
msgstr "appels manqués"
|
||||
|
||||
#: ../src/phone.c:2317
|
||||
#: ../src/phone.c:2320
|
||||
msgid "missed call"
|
||||
msgstr "appel manqué"
|
||||
|
||||
#: ../src/phone.c:2326
|
||||
#: ../src/phone.c:2329
|
||||
msgid "new messages"
|
||||
msgstr "nouveaux messages"
|
||||
|
||||
#: ../src/phone.c:2327
|
||||
#: ../src/phone.c:2330
|
||||
msgid "new message"
|
||||
msgstr "nouveau message"
|
||||
|
||||
#: ../src/phone.c:2345 ../src/phone.c:3250 ../src/phone.c:3254
|
||||
#: ../src/phone.c:2348 ../src/phone.c:3253 ../src/phone.c:3257
|
||||
msgid "Information"
|
||||
msgstr "Information"
|
||||
|
||||
#: ../src/phone.c:2355
|
||||
#: ../src/phone.c:2358
|
||||
msgid "Status"
|
||||
msgstr "État"
|
||||
|
||||
#: ../src/phone.c:2379
|
||||
#: ../src/phone.c:2382
|
||||
msgid "_View"
|
||||
msgstr "_Vue"
|
||||
|
||||
#: ../src/phone.c:2398
|
||||
#: ../src/phone.c:2401
|
||||
msgid "_Read"
|
||||
msgstr "_Lire"
|
||||
|
||||
#: ../src/phone.c:2499
|
||||
#: ../src/phone.c:2502
|
||||
msgid "Open file..."
|
||||
msgstr "Ouvrir fichier..."
|
||||
|
||||
#: ../src/phone.c:2685
|
||||
#: ../src/phone.c:2688
|
||||
msgid "Write message"
|
||||
msgstr "Écrire un message"
|
||||
|
||||
#: ../src/phone.c:2691
|
||||
#: ../src/phone.c:2694
|
||||
msgid "Send"
|
||||
msgstr "Envoyer"
|
||||
|
||||
#: ../src/phone.c:2697
|
||||
#: ../src/phone.c:2700
|
||||
msgid "Attach"
|
||||
msgstr "Joindre"
|
||||
|
||||
#: ../src/phone.c:2813
|
||||
#: ../src/phone.c:2816
|
||||
msgid "Attach file..."
|
||||
msgstr "Joindre un fichier..."
|
||||
|
||||
#: ../src/phone.c:2884
|
||||
#: ../src/phone.c:2887
|
||||
#, c-format
|
||||
msgid "%d message%s, %d/%d characters"
|
||||
msgstr "%d message%s, %d/%d caractères"
|
||||
|
||||
#: ../src/phone.c:2885
|
||||
#: ../src/phone.c:2888
|
||||
msgid "s"
|
||||
msgstr "s"
|
||||
|
||||
#: ../src/phone.c:2949
|
||||
#: ../src/phone.c:2952
|
||||
msgid "Sending message..."
|
||||
msgstr "Envoi du message..."
|
||||
|
||||
#: ../src/phone.c:2978
|
||||
#: ../src/phone.c:2981
|
||||
msgid "Outgoing"
|
||||
msgstr "Sortant"
|
||||
|
||||
#: ../src/phone.c:3164
|
||||
#: ../src/phone.c:3167
|
||||
msgid "Operation in progress..."
|
||||
msgstr "Opération en cours..."
|
||||
|
||||
#: ../src/phone.c:3202 ../src/phone.c:3206
|
||||
#: ../src/phone.c:3205 ../src/phone.c:3209
|
||||
msgid "Question"
|
||||
msgstr "Question"
|
||||
|
||||
#: ../src/phone.c:3226 ../src/phone.c:3230
|
||||
#: ../src/phone.c:3229 ../src/phone.c:3233
|
||||
msgid "Error"
|
||||
msgstr "Erreur"
|
||||
|
||||
#: ../src/phone.c:3456
|
||||
#: ../src/phone.c:3459
|
||||
msgid "Name: "
|
||||
msgstr "Nom: "
|
||||
|
||||
#: ../src/phone.c:3465
|
||||
#: ../src/phone.c:3468
|
||||
msgid "Number: "
|
||||
msgstr "Numéro: "
|
||||
|
||||
#: ../src/phone.c:3481
|
||||
#: ../src/phone.c:3484
|
||||
msgid "New contact"
|
||||
msgstr "Nouveau contact"
|
||||
|
||||
#: ../src/phone.c:3483
|
||||
#: ../src/phone.c:3486
|
||||
msgid "Edit contact: "
|
||||
msgstr "Modifier contact: "
|
||||
|
||||
#: ../src/phone.c:3510
|
||||
#: ../src/phone.c:3513
|
||||
msgid "The name cannot be empty"
|
||||
msgstr "Le nom ne peut être vide"
|
||||
|
||||
#: ../src/phone.c:3515
|
||||
#: ../src/phone.c:3518
|
||||
msgid "The number cannot be empty"
|
||||
msgstr "Le numéro ne peut être vide"
|
||||
|
||||
#: ../src/phone.c:3646
|
||||
#: ../src/phone.c:3653
|
||||
msgid "Message sent"
|
||||
msgstr "Message envoyé"
|
||||
|
||||
#: ../src/phone.c:3682
|
||||
#: ../src/phone.c:3689
|
||||
#, c-format
|
||||
msgid "Wrong %s"
|
||||
msgstr "Mauvais %s"
|
||||
|
||||
#: ../src/phone.c:3689
|
||||
#: ../src/phone.c:3696
|
||||
#, c-format
|
||||
msgid "%s is valid"
|
||||
msgstr "%s valide"
|
||||
|
||||
#: ../src/phone.c:3752
|
||||
#: ../src/phone.c:3759
|
||||
msgid "Raw data (not shown)"
|
||||
msgstr "Données brutes (non affichées)"
|
||||
|
||||
#: ../src/phone.c:3792
|
||||
msgid "Message deleted"
|
||||
msgstr "Message effacé"
|
||||
|
||||
#: ../src/phonectl.c:44
|
||||
msgid ""
|
||||
"Usage: phonectl -C\n"
|
||||
|
@ -208,6 +208,7 @@ int modem_request_type(Modem * modem, ModemRequestType type, ...)
|
||||
request.contact_delete.id = va_arg(ap, unsigned int);
|
||||
break;
|
||||
case MODEM_REQUEST_MESSAGE:
|
||||
case MODEM_REQUEST_MESSAGE_DELETE:
|
||||
request.message.id = va_arg(ap, unsigned int);
|
||||
break;
|
||||
case MODEM_REQUEST_MESSAGE_SEND:
|
||||
|
@ -48,6 +48,7 @@ static int _debug_init(ModemPlugin * modem);
|
||||
static int _debug_destroy(ModemPlugin * modem);
|
||||
static int _debug_start(ModemPlugin * modem, unsigned int retry);
|
||||
static int _debug_stop(ModemPlugin * modem);
|
||||
static int _debug_request(ModemPlugin * modem, ModemRequest * request);
|
||||
|
||||
/* accessors */
|
||||
static void _debug_set_status(ModemPlugin * modem, char const * status);
|
||||
@ -69,7 +70,7 @@ ModemPlugin plugin =
|
||||
_debug_destroy,
|
||||
_debug_start,
|
||||
_debug_stop,
|
||||
NULL,
|
||||
_debug_request,
|
||||
NULL,
|
||||
NULL
|
||||
};
|
||||
@ -126,7 +127,7 @@ static int _debug_init(ModemPlugin * modem)
|
||||
debug->folder = gtk_combo_box_new_text();
|
||||
gtk_combo_box_append_text(GTK_COMBO_BOX(debug->folder), "Unknown");
|
||||
gtk_combo_box_append_text(GTK_COMBO_BOX(debug->folder), "Inbox");
|
||||
gtk_combo_box_append_text(GTK_COMBO_BOX(debug->folder), "Outbox");
|
||||
gtk_combo_box_append_text(GTK_COMBO_BOX(debug->folder), "Sent");
|
||||
gtk_combo_box_append_text(GTK_COMBO_BOX(debug->folder), "Drafts");
|
||||
gtk_combo_box_append_text(GTK_COMBO_BOX(debug->folder), "Trash");
|
||||
gtk_combo_box_set_active(GTK_COMBO_BOX(debug->folder), 1);
|
||||
@ -215,6 +216,28 @@ static gboolean _stop_on_idle(gpointer data)
|
||||
}
|
||||
|
||||
|
||||
/* debug_request */
|
||||
static int _debug_request(ModemPlugin * modem, ModemRequest * request)
|
||||
{
|
||||
ModemEvent event;
|
||||
|
||||
if(request == NULL)
|
||||
return -1;
|
||||
memset(&event, 0, sizeof(event));
|
||||
switch(request->type)
|
||||
{
|
||||
case MODEM_REQUEST_MESSAGE_DELETE:
|
||||
event.type = MODEM_EVENT_TYPE_MESSAGE_DELETED;
|
||||
event.message_deleted.id = request->message_delete.id;
|
||||
modem->helper->event(modem->helper->modem, &event);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/* accessors */
|
||||
/* debug_set_status */
|
||||
static void _debug_set_status(ModemPlugin * modem, char const * status)
|
||||
|
@ -281,6 +281,8 @@ static HayesCommandStatus _on_request_generic(HayesCommand * command,
|
||||
HayesCommandStatus status, void * priv);
|
||||
static HayesCommandStatus _on_request_message(HayesCommand * command,
|
||||
HayesCommandStatus status, void * priv);
|
||||
static HayesCommandStatus _on_request_message_delete(HayesCommand * command,
|
||||
HayesCommandStatus status, void * priv);
|
||||
static HayesCommandStatus _on_request_message_list(HayesCommand * command,
|
||||
HayesCommandStatus status, void * priv);
|
||||
static HayesCommandStatus _on_request_message_send(HayesCommand * command,
|
||||
@ -494,6 +496,8 @@ static HayesRequestHandler _hayes_request_handlers[] =
|
||||
_on_request_contact_list },
|
||||
{ MODEM_REQUEST_MESSAGE, NULL,
|
||||
_on_request_message },
|
||||
{ MODEM_REQUEST_MESSAGE_DELETE, NULL,
|
||||
_on_request_message_delete },
|
||||
{ MODEM_REQUEST_MESSAGE_LIST, "AT+CMGL=4",
|
||||
_on_request_message_list },
|
||||
{ MODEM_REQUEST_MESSAGE_SEND, NULL,
|
||||
@ -609,6 +613,8 @@ static char * _request_attention_contact_list(ModemRequest * request);
|
||||
static char * _request_attention_gprs(ModemPlugin * modem,
|
||||
char const * username, char const * password);
|
||||
static char * _request_attention_message(ModemPlugin * modem, unsigned int id);
|
||||
static char * _request_attention_message_delete(ModemPlugin * modem,
|
||||
unsigned int id);
|
||||
static char * _request_attention_message_send(ModemPlugin * modem,
|
||||
char const * number, ModemMessageEncoding encoding,
|
||||
size_t length, char const * content);
|
||||
@ -697,6 +703,9 @@ static char * _request_attention(ModemPlugin * modem, ModemRequest * request)
|
||||
case MODEM_REQUEST_MESSAGE:
|
||||
return _request_attention_message(modem,
|
||||
request->message.id);
|
||||
case MODEM_REQUEST_MESSAGE_DELETE:
|
||||
return _request_attention_message_delete(modem,
|
||||
request->message.id);
|
||||
case MODEM_REQUEST_MESSAGE_SEND:
|
||||
return _request_attention_message_send(modem,
|
||||
request->message_send.number,
|
||||
@ -818,6 +827,19 @@ static char * _request_attention_message(ModemPlugin * modem, unsigned int id)
|
||||
return strdup(buf);
|
||||
}
|
||||
|
||||
static char * _request_attention_message_delete(ModemPlugin * modem,
|
||||
unsigned int id)
|
||||
{
|
||||
Hayes * hayes = modem->priv;
|
||||
char const cmd[] = "AT+CMGD=";
|
||||
char buf[32];
|
||||
|
||||
/* FIXME store in the command itself */
|
||||
hayes->events[MODEM_EVENT_TYPE_MESSAGE_DELETED].message_deleted.id = id;
|
||||
snprintf(buf, sizeof(buf), "%s%u", cmd, id);
|
||||
return strdup(buf);
|
||||
}
|
||||
|
||||
static char * _request_attention_message_send(ModemPlugin * modem,
|
||||
char const * number, ModemMessageEncoding encoding,
|
||||
size_t length, char const * content)
|
||||
@ -1049,6 +1071,7 @@ static int _hayes_trigger(ModemPlugin * modem, ModemEventType event)
|
||||
break;
|
||||
case MODEM_EVENT_TYPE_ERROR: /* do not make sense */
|
||||
case MODEM_EVENT_TYPE_MESSAGE:
|
||||
case MODEM_EVENT_TYPE_MESSAGE_DELETED:
|
||||
case MODEM_EVENT_TYPE_MESSAGE_SENT:
|
||||
ret = -1;
|
||||
break;
|
||||
@ -2332,6 +2355,21 @@ static HayesCommandStatus _on_request_message(HayesCommand * command,
|
||||
}
|
||||
|
||||
|
||||
/* on_request_message_delete */
|
||||
static HayesCommandStatus _on_request_message_delete(HayesCommand * command,
|
||||
HayesCommandStatus status, void * priv)
|
||||
{
|
||||
ModemPlugin * modem = priv;
|
||||
Hayes * hayes = modem->priv;
|
||||
ModemEvent * event = &hayes->events[MODEM_EVENT_TYPE_MESSAGE_DELETED];
|
||||
|
||||
if((status = _on_request_generic(command, status, priv)) != HCS_SUCCESS)
|
||||
return status;
|
||||
modem->helper->event(modem->helper->modem, event);
|
||||
return status;
|
||||
}
|
||||
|
||||
|
||||
/* on_request_message_list */
|
||||
static HayesCommandStatus _on_request_message_list(HayesCommand * command,
|
||||
HayesCommandStatus status, void * priv)
|
||||
@ -3130,6 +3168,7 @@ static void _on_trigger_cpbr(ModemPlugin * modem, char const * answer)
|
||||
free(hayes->contact_name);
|
||||
hayes->contact_name = strdup(name);
|
||||
event->contact.name = hayes->contact_name;
|
||||
event->contact.status = MODEM_CONTACT_STATUS_OFFLINE;
|
||||
/* send event */
|
||||
modem->helper->event(modem->helper->modem, event);
|
||||
}
|
||||
|
32
src/phone.c
32
src/phone.c
@ -132,6 +132,7 @@ typedef enum _PhoneSettingsColumn
|
||||
typedef enum _PhoneTrack
|
||||
{
|
||||
PHONE_TRACK_CODE_ENTERED = 0,
|
||||
PHONE_TRACK_MESSAGE_DELETED,
|
||||
PHONE_TRACK_MESSAGE_LIST,
|
||||
PHONE_TRACK_MESSAGE_SENT
|
||||
} PhoneTrack;
|
||||
@ -1034,6 +1035,7 @@ void phone_messages_delete_selected(Phone * phone)
|
||||
phone_show_read(phone, FALSE);
|
||||
phone->me_progress = _phone_create_progress(phone->me_window,
|
||||
_("Deleting message..."));
|
||||
_phone_track(phone, PHONE_TRACK_MESSAGE_DELETED, TRUE);
|
||||
modem_request_type(phone->modem, MODEM_REQUEST_MESSAGE_DELETE, index);
|
||||
}
|
||||
|
||||
@ -1198,6 +1200,7 @@ void phone_read_delete(Phone * phone)
|
||||
phone_show_read(phone, FALSE);
|
||||
phone->me_progress = _phone_create_progress(phone->me_window,
|
||||
_("Deleting message..."));
|
||||
_phone_track(phone, PHONE_TRACK_MESSAGE_DELETED, TRUE);
|
||||
modem_request_type(phone->modem, MODEM_REQUEST_MESSAGE_DELETE,
|
||||
phone->re_index);
|
||||
}
|
||||
@ -3610,6 +3613,7 @@ static void _modem_event_authentication(Phone * phone, ModemEvent * event);
|
||||
static void _modem_event_call(Phone * phone, ModemEvent * event);
|
||||
static void _modem_event_error(Phone * phone, ModemEvent * event);
|
||||
static void _modem_event_message(Phone * phone, ModemEvent * event);
|
||||
static void _modem_event_message_deleted(Phone * phone, ModemEvent * event);
|
||||
|
||||
static void _phone_modem_event(void * priv, ModemEvent * event)
|
||||
{
|
||||
@ -3639,6 +3643,9 @@ static void _phone_modem_event(void * priv, ModemEvent * event)
|
||||
case MODEM_EVENT_TYPE_MESSAGE:
|
||||
_modem_event_message(phone, event);
|
||||
break;
|
||||
case MODEM_EVENT_TYPE_MESSAGE_DELETED:
|
||||
_modem_event_message_deleted(phone, event);
|
||||
break;
|
||||
case MODEM_EVENT_TYPE_MESSAGE_SENT:
|
||||
_phone_track(phone, PHONE_TRACK_MESSAGE_SENT, FALSE);
|
||||
phone->wr_progress = _phone_progress_delete(
|
||||
@ -3762,6 +3769,29 @@ static void _modem_event_message(Phone * phone, ModemEvent * event)
|
||||
phone_show_status(phone, TRUE, 0, 1);
|
||||
}
|
||||
|
||||
static void _modem_event_message_deleted(Phone * phone, ModemEvent * event)
|
||||
{
|
||||
GtkTreeModel * model = GTK_TREE_MODEL(phone->me_store);
|
||||
GtkTreeIter iter;
|
||||
gboolean valid;
|
||||
unsigned int id;
|
||||
|
||||
for(valid = gtk_tree_model_get_iter_first(model, &iter); valid == TRUE;
|
||||
valid = gtk_tree_model_iter_next(model, &iter))
|
||||
{
|
||||
gtk_tree_model_get(model, &iter, PHONE_MESSAGE_COLUMN_ID, &id,
|
||||
-1);
|
||||
if(id == event->message_deleted.id)
|
||||
{
|
||||
gtk_list_store_remove(phone->me_store, &iter);
|
||||
break;
|
||||
}
|
||||
}
|
||||
_phone_track(phone, PHONE_TRACK_MESSAGE_DELETED, FALSE);
|
||||
phone->me_progress = _phone_progress_delete(phone->me_progress);
|
||||
_phone_info(phone, phone->me_window, _("Message deleted"), NULL);
|
||||
}
|
||||
|
||||
|
||||
/* phone_modem_event_authentication */
|
||||
static void _phone_modem_event_authentication(GtkWidget * widget, gint response,
|
||||
@ -3781,6 +3811,8 @@ static gboolean _phone_timeout_track(gpointer data)
|
||||
|
||||
if(phone->tracks[PHONE_TRACK_CODE_ENTERED])
|
||||
_phone_progress_pulse(phone->en_progress);
|
||||
if(phone->tracks[PHONE_TRACK_MESSAGE_DELETED])
|
||||
_phone_progress_pulse(phone->me_progress);
|
||||
if(phone->tracks[PHONE_TRACK_MESSAGE_LIST])
|
||||
{
|
||||
_phone_track(phone, PHONE_TRACK_MESSAGE_LIST, FALSE);
|
||||
|
Loading…
Reference in New Issue
Block a user