new screen with FBF status; call duration in call list; reverselookup.xml fixes
authorMichael Schmidt <drmichael@users.schwerkraft.elitedvb.net>
Thu, 21 May 2009 06:09:07 +0000 (06:09 +0000)
committerMichael Schmidt <drmichael@users.schwerkraft.elitedvb.net>
Thu, 21 May 2009 06:09:07 +0000 (06:09 +0000)
12 files changed:
fritzcall/po/FritzCall.pot
fritzcall/po/de.po
fritzcall/po/es.po
fritzcall/po/it.po
fritzcall/po/nl.po
fritzcall/po/tr.po
fritzcall/src/FritzOutlookCSV.py
fritzcall/src/Makefile.am
fritzcall/src/ldif.py
fritzcall/src/nrzuname.py
fritzcall/src/plugin.py
fritzcall/src/reverselookup.xml

index ca1ba87..4b438a7 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-07 17:05+0200\n"
+"POT-Creation-Date: 2009-05-19 17:24+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,6 +16,7 @@ msgstr ""
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
+#. TRANSLATORS: keep it short, this is a button
 #. TRANSLATORS: this is a help text, keep it short
 msgid "About FritzCall"
 msgstr ""
@@ -63,6 +64,9 @@ msgstr ""
 msgid "Cancel"
 msgstr ""
 
+msgid "Connected since"
+msgstr ""
+
 msgid "Connected to FRITZ!Box!"
 msgstr ""
 
@@ -97,6 +101,9 @@ msgstr ""
 msgid "Country"
 msgstr ""
 
+msgid "DECT phones registered"
+msgstr ""
+
 msgid "Debug"
 msgstr ""
 
@@ -163,6 +170,11 @@ msgstr ""
 msgid "FRITZ!Box FON address (Name or IP)"
 msgstr ""
 
+#. TRANSLATORS: keep it short, this is a button
+#. TRANSLATORS: this is a help text, keep it short
+msgid "FRITZ!Box Fon Status"
+msgstr ""
+
 #, python-format
 msgid "FRITZ!Box Login failed! - Error: %s"
 msgstr ""
@@ -188,9 +200,15 @@ msgstr ""
 msgid "Getting calls from FRITZ!Box..."
 msgstr ""
 
+msgid "Getting status from FRITZ!Box Fon..."
+msgstr ""
+
 msgid "Harddisk"
 msgstr ""
 
+msgid "IP Address:"
+msgstr ""
+
 #. TRANSLATORS: keep it short, this is a button
 msgid "Incoming"
 msgstr ""
@@ -221,6 +239,9 @@ msgstr ""
 msgid "MSN to show (separated by ,)"
 msgstr ""
 
+msgid "Mailbox"
+msgstr ""
+
 #. TRANSLATORS: keep it short, this is a button
 msgid "Missed"
 msgstr ""
@@ -238,9 +259,15 @@ msgstr ""
 msgid "New"
 msgstr ""
 
+msgid "No DECT phone registered"
+msgstr ""
+
 msgid "No entry selected"
 msgstr ""
 
+msgid "No mailbox active"
+msgstr ""
+
 msgid "No result from LDIF"
 msgstr ""
 
@@ -257,6 +284,12 @@ msgstr ""
 msgid "OK"
 msgstr ""
 
+msgid "One DECT phone registered"
+msgstr ""
+
+msgid "One mailbox active"
+msgstr ""
+
 #. TRANSLATORS: keep it short, this is a button
 msgid "Outgoing"
 msgstr ""
@@ -295,6 +328,10 @@ msgstr ""
 msgid "Read PhoneBook from FRITZ!Box"
 msgstr ""
 
+#. TRANSLATORS: keep it short, this is a button
+msgid "Reset"
+msgstr ""
+
 msgid "Reverse Lookup Caller ID (select country below)"
 msgstr ""
 
@@ -350,6 +387,14 @@ msgstr ""
 msgid "Timeout for Call Notifications (seconds)"
 msgstr ""
 
+#. TRANSLATORS: keep it short, this is a button
+msgid "Toggle Mailbox"
+msgstr ""
+
+#. TRANSLATORS: keep it short, this is a button
+msgid "Toggle WLAN"
+msgstr ""
+
 msgid "UNKNOWN"
 msgstr ""
 
@@ -386,6 +431,9 @@ msgstr ""
 msgid "done, using last list"
 msgstr ""
 
+msgid "encrypted"
+msgstr ""
+
 msgid "finishing"
 msgstr ""
 
@@ -401,9 +449,15 @@ msgstr ""
 msgid "login verification"
 msgstr ""
 
+msgid "mailboxes active"
+msgstr ""
+
 msgid "mobile"
 msgstr ""
 
+msgid "not encrypted"
+msgstr ""
+
 msgid "preparing"
 msgstr ""
 
index a72120c..741921a 100644 (file)
@@ -7,14 +7,15 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Enigma2 FritzCall Plugin\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-02 20:12+0200\n"
-"PO-Revision-Date: 2009-04-02 20:24+0200\n"
+"POT-Creation-Date: 2009-05-18 17:08+0200\n"
+"PO-Revision-Date: 2009-05-18 21:48+0200\n"
 "Last-Translator: Michael Schmidt <michael@schmidt-schmitten.com>\n"
 "Language-Team: german <de@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
+#. TRANSLATORS: keep it short, this is a button
 #. TRANSLATORS: this is a help text, keep it short
 msgid "About FritzCall"
 msgstr "FritzCall Plugin"
@@ -62,6 +63,9 @@ msgstr "Anrufanzeige"
 msgid "Cancel"
 msgstr "Abbruch"
 
+msgid "Connected since"
+msgstr "Verbunden seit"
+
 msgid "Connected to FRITZ!Box!"
 msgstr "Verbunden mit FRITZ!Box!"
 
@@ -102,6 +106,9 @@ msgstr "Konnte Eintrag in FRITZ!Box-Telefonbuch nicht lesen"
 msgid "Country"
 msgstr "Land"
 
+msgid "DECT phones registered"
+msgstr "Schnurlostelefone angemeldet"
+
 msgid "Debug"
 msgstr "Debug"
 
@@ -173,6 +180,11 @@ msgstr "Nebenstelle für Anrufe"
 msgid "FRITZ!Box FON address (Name or IP)"
 msgstr "FRITZ!Box FON Adresse (Name oder IP-Adresse)"
 
+#. TRANSLATORS: keep it short, this is a button
+#. TRANSLATORS: this is a help text, keep it short
+msgid "FRITZ!Box Fon Status"
+msgstr "FRITZ!Box Fon Status"
+
 #, python-format
 msgid "FRITZ!Box Login failed! - Error: %s"
 msgstr "FRITZ!Box Login fehlgeschlagen! - Fehler: %s"
@@ -198,9 +210,15 @@ msgstr "Deutschland"
 msgid "Getting calls from FRITZ!Box..."
 msgstr "Hole Liste der Anrufe von der FRITZ!Box..."
 
+msgid "Getting status from FRITZ!Box Fon..."
+msgstr "Hole Status von der FRITZ!Box..."
+
 msgid "Harddisk"
 msgstr "Festplatte"
 
+msgid "IP Address:"
+msgstr "IP Adresse:"
+
 #. TRANSLATORS: keep it short, this is a button
 msgid "Incoming"
 msgstr "Eingehend"
@@ -237,6 +255,9 @@ msgstr "Suchen"
 msgid "MSN to show (separated by ,)"
 msgstr "anzuzeigende MSNs (getrennt durch ,)"
 
+msgid "Mailbox"
+msgstr "Anrufbeantworter"
+
 #. TRANSLATORS: keep it short, this is a button
 msgid "Missed"
 msgstr "Verpasst"
@@ -254,9 +275,15 @@ msgstr "Name"
 msgid "New"
 msgstr "Neu"
 
+msgid "No DECT phone registered"
+msgstr "Kein Schnurlostelefon angemeldet"
+
 msgid "No entry selected"
 msgstr "Kein Eintrag ausgewählt"
 
+msgid "No mailbox active"
+msgstr "Kein Anrufbeantworter aktiv"
+
 msgid "No result from LDIF"
 msgstr "Kein Ergebnis von LDIF"
 
@@ -273,6 +300,12 @@ msgstr "Nummer"
 msgid "OK"
 msgstr "OK"
 
+msgid "One DECT phone registered"
+msgstr "Ein Schnurlostelefon angemeldet"
+
+msgid "One mailbox active"
+msgstr "Ein Anrufbeantworter aktiv"
+
 #. TRANSLATORS: keep it short, this is a button
 msgid "Outgoing"
 msgstr "Abgehend"
@@ -317,6 +350,10 @@ msgstr "Beenden"
 msgid "Read PhoneBook from FRITZ!Box"
 msgstr "Telefonbuch der FRITZ!Box auslesen"
 
+#. TRANSLATORS: keep it short, this is a button
+msgid "Reset"
+msgstr "Reset"
+
 msgid "Reverse Lookup Caller ID (select country below)"
 msgstr "Rückwärtssuche (bitte Land auswählen)"
 
@@ -372,6 +409,15 @@ msgstr "Niederlande"
 msgid "Timeout for Call Notifications (seconds)"
 msgstr "Anzeigedauer in Sekunden"
 
+# Toggle
+#. TRANSLATORS: keep it short, this is a button
+msgid "Toggle Mailbox"
+msgstr "Toggle AB"
+
+#. TRANSLATORS: keep it short, this is a button
+msgid "Toggle WLAN"
+msgstr "Toggle WLAN"
+
 msgid "UNKNOWN"
 msgstr "UNBEKANNT"
 
@@ -415,6 +461,9 @@ msgstr "fertig"
 msgid "done, using last list"
 msgstr "fertig, benutze letzte Liste"
 
+msgid "encrypted"
+msgstr "verschlüsselt"
+
 msgid "finishing"
 msgstr "Fertigstellung"
 
@@ -430,9 +479,15 @@ msgstr "Login OK"
 msgid "login verification"
 msgstr "Login Verifikation"
 
+msgid "mailboxes active"
+msgstr "Anrufbeantworter aktiv"
+
 msgid "mobile"
 msgstr "Handy"
 
+msgid "not encrypted"
+msgstr "nicht verschlüsselt"
+
 msgid "preparing"
 msgstr "Vorbereitung"
 
index 49a73f7..c0b1ad6 100644 (file)
@@ -2,13 +2,13 @@
 # Copyright (C) 2009 THE enigma'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the enigma package.
 # Automatically generated, 2009.
-# 
+#
 msgid ""
 msgstr ""
 "Project-Id-Version: enigma 2-plugins\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-07 17:05+0200\n"
-"PO-Revision-Date: 2009-01-09 18:07+0100\n"
+"POT-Creation-Date: 2009-05-18 17:08+0200\n"
+"PO-Revision-Date: 2009-05-19 17:11+0100\n"
 "Last-Translator: José Juan Zapater <josej@zapater.fdns.net>\n"
 "Language-Team: none\n"
 "MIME-Version: 1.0\n"
@@ -16,10 +16,10 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
+#. TRANSLATORS: keep it short, this is a button
 #. TRANSLATORS: this is a help text, keep it short
-#, fuzzy
 msgid "About FritzCall"
-msgstr "Configuración FritzCall"
+msgstr "Sobre FritzCall"
 
 #. TRANSLATORS: this is a help text, keep it short
 msgid "Add entry to phonebook"
@@ -64,6 +64,9 @@ msgstr "Monitorizar llamada"
 msgid "Cancel"
 msgstr "Cancelar"
 
+msgid "Connected since"
+msgstr "Conectado desde"
+
 msgid "Connected to FRITZ!Box!"
 msgstr "Conectado a FRITZ!Box!"
 
@@ -104,8 +107,11 @@ msgstr "No puedo analizar las entradas de la agenda de FRITZ!Box"
 msgid "Country"
 msgstr "País"
 
+msgid "DECT phones registered"
+msgstr "Teléfonos DECT registrados"
+
 msgid "Debug"
-msgstr ""
+msgstr "Testear"
 
 #. TRANSLATORS: keep it short, this is a button
 msgid "Delete"
@@ -115,9 +121,9 @@ msgstr "Borrar"
 msgid "Delete entry"
 msgstr "Borrar entrada"
 
-#, fuzzy, python-format
+#, python-format
 msgid "Dialling failed - Error: %s"
-msgstr "Falló la identificación a FRITZ!Box - Error: %s"
+msgstr "Falló la llamada - Error: %s"
 
 msgid "Display FRITZ!box-Fon calls on screen"
 msgstr "Visualizar llamadas FRITZ!Box-Fon en la pantalla"
@@ -175,6 +181,11 @@ msgstr "Número de extensión para iniciar la llamada"
 msgid "FRITZ!Box FON address (Name or IP)"
 msgstr "Dirección FRITZ!Box FON (Nombre o IP)"
 
+#. TRANSLATORS: keep it short, this is a button
+#. TRANSLATORS: this is a help text, keep it short
+msgid "FRITZ!Box Fon Status"
+msgstr "Estado de Fon FRITZ!Box"
+
 #, python-format
 msgid "FRITZ!Box Login failed! - Error: %s"
 msgstr "Falló la identificación a FRITZ!Box - Error: %s"
@@ -192,7 +203,7 @@ msgid "FritzCall Setup"
 msgstr "Configuración FritzCall"
 
 msgid "Full screen display"
-msgstr ""
+msgstr "Visualización a pantalla completa"
 
 msgid "Germany"
 msgstr "Alemania"
@@ -200,9 +211,15 @@ msgstr "Alemania"
 msgid "Getting calls from FRITZ!Box..."
 msgstr "Consiguiendo llamadas desde FRITZ!Box..."
 
+msgid "Getting status from FRITZ!Box Fon..."
+msgstr "Consiguiendo estado desde Fon FRITZ!Box..."
+
 msgid "Harddisk"
 msgstr "Disco duro"
 
+msgid "IP Address:"
+msgstr "Dirección IP:"
+
 #. TRANSLATORS: keep it short, this is a button
 msgid "Incoming"
 msgstr "Entrada"
@@ -239,6 +256,9 @@ msgstr "Buscar"
 msgid "MSN to show (separated by ,)"
 msgstr "MSN a mostrar (separado por ,)"
 
+msgid "Mailbox"
+msgstr "Carpeta de correo"
+
 #. TRANSLATORS: keep it short, this is a button
 msgid "Missed"
 msgstr "Perdidas"
@@ -256,17 +276,23 @@ msgstr "Nombre"
 msgid "New"
 msgstr "Nuevo"
 
+msgid "No DECT phone registered"
+msgstr "No hay teléfono DECT registrado"
+
 msgid "No entry selected"
 msgstr "No hay entrada seleccionada"
 
+msgid "No mailbox active"
+msgstr "No cuenta de correo activa"
+
 msgid "No result from LDIF"
-msgstr ""
+msgstr "No hay resultado desde LDIF"
 
 msgid "No result from Outlook export"
-msgstr ""
+msgstr "No hay resultado desde la exportación de Outlook"
 
 msgid "No result from reverse lookup"
-msgstr ""
+msgstr "No hay resultado de resolución inversa"
 
 msgid "Number"
 msgstr "Número"
@@ -275,6 +301,12 @@ msgstr "Número"
 msgid "OK"
 msgstr "OK"
 
+msgid "One DECT phone registered"
+msgstr "Un teléfono DECT registrado"
+
+msgid "One mailbox active"
+msgstr "Una cuenta de correo activa"
+
 #. TRANSLATORS: keep it short, this is a button
 msgid "Outgoing"
 msgstr "Salida"
@@ -319,11 +351,15 @@ msgstr "Salir"
 msgid "Read PhoneBook from FRITZ!Box"
 msgstr "Leer Agenda desde FRITZ!Box"
 
+#. TRANSLATORS: keep it short, this is a button
+msgid "Reset"
+msgstr "Resetear"
+
 msgid "Reverse Lookup Caller ID (select country below)"
 msgstr "Búsqueda inversa del ID llamante (seleccionar país abajo)"
 
 msgid "Reverse searching..."
-msgstr ""
+msgstr "Búsqueda inversa..."
 
 #. TRANSLATORS: keep it short, this is a button
 msgid "Save"
@@ -341,10 +377,10 @@ msgid "Search phonebook"
 msgstr "Buscar agenda"
 
 msgid "Searching in LDIF..."
-msgstr ""
+msgstr "Buscando en LDIF..."
 
 msgid "Searching in Outlook export..."
-msgstr ""
+msgstr "Buscando en la exportación de Outlook..."
 
 msgid "Shortcut"
 msgstr "Acceso rápido"
@@ -374,6 +410,14 @@ msgstr "Holanda"
 msgid "Timeout for Call Notifications (seconds)"
 msgstr "Tiempo cumplido para Notificaciones de Llamadas (segundos)"
 
+#. TRANSLATORS: keep it short, this is a button
+msgid "Toggle Mailbox"
+msgstr "Marcar Cuenta de Correo"
+
+#. TRANSLATORS: keep it short, this is a button
+msgid "Toggle WLAN"
+msgstr "Marcar WLAN"
+
 msgid "UNKNOWN"
 msgstr "DESCONOCIDO"
 
@@ -414,6 +458,9 @@ msgstr "hecho"
 msgid "done, using last list"
 msgstr "hecho, usando la última lista"
 
+msgid "encrypted"
+msgstr "encriptado"
+
 msgid "finishing"
 msgstr "terminando"
 
@@ -429,9 +476,15 @@ msgstr "identificación ok"
 msgid "login verification"
 msgstr "verificación de entrada"
 
+msgid "mailboxes active"
+msgstr "cuentas activas"
+
 msgid "mobile"
 msgstr "móvil"
 
+msgid "not encrypted"
+msgstr "no encriptado"
+
 msgid "preparing"
 msgstr "preparando"
 
@@ -463,7 +516,6 @@ msgstr "trabajo"
 #~ "Posición en la agenda corrupta\n"
 #~ "para el número %d\n"
 #~ "Borrando."
-
 #~ msgid ""
 #~ "Do you really want to overwrite entry for %(number)s\n"
 #~ "\n"
@@ -480,3 +532,12 @@ msgstr "trabajo"
 #~ "con\n"
 #~ "\n"
 #~ "%(newname)s?"
+
+#, fuzzy
+#~ msgid "FRITZ!Box Fon has no mailbox"
+#~ msgstr "Estado de Fon FRITZ!Box"
+#~ msgid "WLAN off"
+#~ msgstr "WLAN apagado"
+#~ msgid "WLAN on"
+#~ msgstr "WLAN encendido"
+
index d53b213..171aa26 100644 (file)
@@ -4,8 +4,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: enigma2 FRITZ!Box plugin italian locale\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-07 17:05+0200\n"
-"PO-Revision-Date: 2009-02-24 14:42+0100\n"
+"POT-Creation-Date: 2009-05-19 10:02+0200\n"
+"PO-Revision-Date: 2009-05-20 22:13+0100\n"
 "Last-Translator: Spaeleus <spaeleus@croci.org>\n"
 "Language-Team: www.linsat.net <spaeleus@croci.org>\n"
 "MIME-Version: 1.0\n"
@@ -18,10 +18,10 @@ msgstr ""
 "X-Poedit-Basepath: /home/dario/Plugins/fritzcall\n"
 "X-Poedit-SearchPath-0: /home/dario/Plugins/fritzcall\n"
 
+#. TRANSLATORS: keep it short, this is a button
 #. TRANSLATORS: this is a help text, keep it short
-#, fuzzy
 msgid "About FritzCall"
-msgstr "Configurazione FritzCall"
+msgstr "Info su FritzCall"
 
 #. TRANSLATORS: this is a help text, keep it short
 msgid "Add entry to phonebook"
@@ -32,7 +32,7 @@ msgid "All"
 msgstr "Tutte"
 
 msgid "All calls"
-msgstr "Tutte le Chiamate"
+msgstr "Tutte le chiamate"
 
 msgid "Append shortcut number"
 msgstr "Aggiungere numero breve"
@@ -41,10 +41,10 @@ msgid "Append type of number"
 msgstr "Agg. il tipo di numero (casa,cell.,uff.)"
 
 msgid "Append vanity name"
-msgstr "Aggiungere nome 'Vanity'"
+msgstr "Aggiungere nome \"Vanity\""
 
 msgid "Areacode to add to Outgoing Calls (if necessary)"
-msgstr "Prefisso per le Chiamate in Uscita (se necessario)"
+msgstr "Prefisso per le chiamate in uscita (se necessario)"
 
 msgid "Austria"
 msgstr "Austria"
@@ -66,6 +66,9 @@ msgstr "Monitoraggio chiamate"
 msgid "Cancel"
 msgstr "Annullare"
 
+msgid "Connected since"
+msgstr "Connesso da"
+
 msgid "Connected to FRITZ!Box!"
 msgstr "Connesso alla FRITZ!Box!"
 
@@ -80,7 +83,7 @@ msgstr ""
 "Nuovo tentativo in corso..."
 
 msgid "Connecting to FRITZ!Box..."
-msgstr "Connessione alla FRITZ!Box in corso"
+msgstr "Connessione alla FRITZ!Box in corso..."
 
 #, python-format
 msgid ""
@@ -106,6 +109,9 @@ msgstr "Impossibile analizzare la voce nella Rubrica della FRITZ!Box!"
 msgid "Country"
 msgstr "Nazione"
 
+msgid "DECT phones registered"
+msgstr "Telefoni DECT registrati"
+
 msgid "Debug"
 msgstr "Debug"
 
@@ -122,15 +128,15 @@ msgid "Dialling failed - Error: %s"
 msgstr "Composizione fallita - Errore: %s"
 
 msgid "Display FRITZ!box-Fon calls on screen"
-msgstr "Visualizza le chiamate telef. sulla TV"
+msgstr "Visualizzare chiamate telef. sulla TV"
 
 #. TRANSLATORS: this is a help text, keep it short
 msgid "Display all calls"
-msgstr "Tutte le Chiamate"
+msgstr "Tutte le chiamate"
 
 #. TRANSLATORS: this is a help text, keep it short
 msgid "Display incoming calls"
-msgstr "Chiamate in Ingresso"
+msgstr "Chiamate in ingresso"
 
 #. TRANSLATORS: this is a help text, keep it short
 msgid "Display missed calls"
@@ -138,7 +144,7 @@ msgstr "Chiamate perse"
 
 #. TRANSLATORS: this is a help text, keep it short
 msgid "Display outgoing calls"
-msgstr "Chiamate in Uscita"
+msgstr "Chiamate in uscita"
 
 msgid "Do what?"
 msgstr "Che fare?"
@@ -177,6 +183,11 @@ msgstr "Numero apparecchio su cui indirizzare la chiamata"
 msgid "FRITZ!Box FON address (Name or IP)"
 msgstr "Indirizzo FRITZ!Box FON (Nome o IP)"
 
+#. TRANSLATORS: keep it short, this is a button
+#. TRANSLATORS: this is a help text, keep it short
+msgid "FRITZ!Box Fon Status"
+msgstr "Stato FRITZ!Box Fon"
+
 #, python-format
 msgid "FRITZ!Box Login failed! - Error: %s"
 msgstr "Login alla FRITZ!Box fallito! - Errore: %s"
@@ -202,9 +213,15 @@ msgstr "Germania"
 msgid "Getting calls from FRITZ!Box..."
 msgstr "Recupero chiamate dalla FRITZ!Box in corso"
 
+msgid "Getting status from FRITZ!Box Fon..."
+msgstr "Recupero stato dalla FRITZ!Box Fon in corso..."
+
 msgid "Harddisk"
 msgstr "Harddisk"
 
+msgid "IP Address:"
+msgstr "Indirizzo IP:"
+
 #. TRANSLATORS: keep it short, this is a button
 msgid "Incoming"
 msgstr "In Entr."
@@ -226,7 +243,7 @@ msgstr ""
 "a: %(phone)s"
 
 msgid "Incoming calls"
-msgstr "Chiamate in Ingresso"
+msgstr "Chiamate in entrata"
 
 msgid "Italy"
 msgstr "Italia"
@@ -241,9 +258,12 @@ msgstr "Lookup"
 msgid "MSN to show (separated by ,)"
 msgstr "MSN da mostrare (separare con ,)"
 
+msgid "Mailbox"
+msgstr "Casella di posta"
+
 #. TRANSLATORS: keep it short, this is a button
 msgid "Missed"
-msgstr "Ch. Perse"
+msgstr "Ch. perse"
 
 msgid "Missed calls"
 msgstr "Chiamate perse"
@@ -258,17 +278,23 @@ msgstr "Nome"
 msgid "New"
 msgstr "Nuovo"
 
+msgid "No DECT phone registered"
+msgstr "Nessun telefono DECT registrato"
+
 msgid "No entry selected"
 msgstr "Nessuna voce selezionata"
 
+msgid "No mailbox active"
+msgstr "Nessuna casella di posta attiva"
+
 msgid "No result from LDIF"
-msgstr "Ricerca in LDIF: Nessun Risultato!"
+msgstr "Ricerca in LDIF: nessun risultato!"
 
 msgid "No result from Outlook export"
-msgstr "Ricerca in Outlook  Export: Nessun Risultato!"
+msgstr "Ricerca in Outlook  export: nessun risultato!"
 
 msgid "No result from reverse lookup"
-msgstr "Ricerca Identificativo Chiamante: Nessun Risultato!"
+msgstr "Ricerca identificativo chiamante: nessun risultato!"
 
 msgid "Number"
 msgstr "Numero"
@@ -277,9 +303,15 @@ msgstr "Numero"
 msgid "OK"
 msgstr "OK"
 
+msgid "One DECT phone registered"
+msgstr "Un telefono DECT registrato"
+
+msgid "One mailbox active"
+msgstr "Una casella di posta attiva"
+
 #. TRANSLATORS: keep it short, this is a button
 msgid "Outgoing"
-msgstr "In Uscita"
+msgstr "In uscita"
 
 #, python-format
 msgid ""
@@ -298,17 +330,17 @@ msgstr ""
 "da: %(phone)s"
 
 msgid "Outgoing calls"
-msgstr "Chiamate in Uscita"
+msgstr "Chiamate in uscita"
 
 msgid "Password Accessing FRITZ!Box"
 msgstr "Password di accesso alla FRITZ!Box"
 
 #. TRANSLATORS: keep it short, this is a button
 msgid "Phone calls"
-msgstr "Ch. Telef."
+msgstr "Ch. telef."
 
 msgid "PhoneBook Location"
-msgstr "Posizione Rubrica"
+msgstr "Posizione rubrica"
 
 #. TRANSLATORS: keep it short, this is a button
 msgid "Phonebook"
@@ -319,13 +351,17 @@ msgid "Quit"
 msgstr "Uscire"
 
 msgid "Read PhoneBook from FRITZ!Box"
-msgstr "Caricare la Rubrica dalla FRITZ!Box"
+msgstr "Caricare la rubrica dalla FRITZ!Box"
+
+#. TRANSLATORS: keep it short, this is a button
+msgid "Reset"
+msgstr "Reset"
 
 msgid "Reverse Lookup Caller ID (select country below)"
-msgstr "Identificativo Chiamante (Selezionare il Paese!)"
+msgstr "Identificativo chiamante (selezionare il Paese!)"
 
 msgid "Reverse searching..."
-msgstr "Ricerca Identificativo Chiamante..."
+msgstr "Ricerca identificativo chiamante..."
 
 #. TRANSLATORS: keep it short, this is a button
 msgid "Save"
@@ -346,7 +382,7 @@ msgid "Searching in LDIF..."
 msgstr "Ricerca in LDIF..."
 
 msgid "Searching in Outlook export..."
-msgstr "Ricerca in Outlook  Export..."
+msgstr "Ricerca in Outlook  export..."
 
 msgid "Shortcut"
 msgstr "Numero breve"
@@ -358,7 +394,7 @@ msgid "Show Outgoing Calls"
 msgstr "Mostrare le chiamate in uscita"
 
 msgid "Show after Standby"
-msgstr "Mostrare chiamate dopo lo Standby"
+msgstr "Mostrare chiamate dopo lo standby"
 
 #. TRANSLATORS: this is a help text, keep it short
 msgid "Show details of entry"
@@ -376,6 +412,14 @@ msgstr "Olanda"
 msgid "Timeout for Call Notifications (seconds)"
 msgstr "Ritardo notifica chiamate (secondi)"
 
+#. TRANSLATORS: keep it short, this is a button
+msgid "Toggle Mailbox"
+msgstr "Commutare casella di posta"
+
+#. TRANSLATORS: keep it short, this is a button
+msgid "Toggle WLAN"
+msgstr "Commutare WLAN"
+
 msgid "UNKNOWN"
 msgstr "SCONOSCIUTO"
 
@@ -383,7 +427,7 @@ msgid "USB Stick"
 msgstr "Penna USB"
 
 msgid "Use internal PhoneBook"
-msgstr "Usare la Rubrica interna"
+msgstr "Usare la rubrica interna"
 
 msgid "Vanity"
 msgstr "\"Vanity\""
@@ -404,7 +448,7 @@ msgstr ""
 
 #. TRANSLATORS: this is a help text, keep it short
 msgid "display calls"
-msgstr "Tutte le Chiamate"
+msgstr "Tutte le chiamate"
 
 #. TRANSLATORS: this is a help text, keep it short
 msgid "display phonebook"
@@ -416,6 +460,9 @@ msgstr "Fatto"
 msgid "done, using last list"
 msgstr "Fatto, sarà usata l'ultima lista"
 
+msgid "encrypted"
+msgstr "codificato"
+
 msgid "finishing"
 msgstr "Quasi terminato..."
 
@@ -426,14 +473,20 @@ msgid "login"
 msgstr "Login"
 
 msgid "login ok"
-msgstr "Login OK"
+msgstr "Login Ok"
 
 msgid "login verification"
-msgstr "Verifica Login"
+msgstr "Verifica login"
+
+msgid "mailboxes active"
+msgstr "caselle di posta attive"
 
 msgid "mobile"
 msgstr "Cellulare"
 
+msgid "not encrypted"
+msgstr "non codificato"
+
 msgid "preparing"
 msgstr "Preparazione in corso"
 
@@ -465,7 +518,6 @@ msgstr "Ufficio"
 #~ "Voce in rubrica corrotta\n"
 #~ "per il numero %d\n"
 #~ "Cancellazione in corso."
-
 #~ msgid ""
 #~ "Do you really want to overwrite entry for %(number)s\n"
 #~ "\n"
@@ -482,7 +534,6 @@ msgstr "Ufficio"
 #~ "con\n"
 #~ "\n"
 #~ "%(newname)s?"
-
 #~ msgid ""
 #~ "Do you want to add a phonebook entry for\n"
 #~ "\n"
@@ -491,9 +542,8 @@ msgstr "Ufficio"
 #~ "Cancellare la voce in rubrica per\n"
 #~ "\n"
 #~ "%s?"
-
 #~ msgid "Edit phonebook entry"
 #~ msgstr "Modificare voce rubrica"
-
 #~ msgid "business"
 #~ msgstr "Affari"
+
index 199c01d..55d82d4 100644 (file)
@@ -1,25 +1,26 @@
-# translation of nl.po to gerrit
+# translation of nl.po to
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 #
-# gerrit <gerrit@nedlinux.nl>, 2008.
+# gerrit <gerrit@nedlinux.nl>, 2008, 2009.
 msgid ""
 msgstr ""
 "Project-Id-Version: nl\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-07 17:05+0200\n"
-"PO-Revision-Date: 2009-01-31 10:55+0100\n"
-"Last-Translator: gerrit <gerrit@nedlinux.nl>\n"
-"Language-Team: gerrit <fy@li.org>\n"
+"POT-Creation-Date: 2009-05-18 17:08+0200\n"
+"PO-Revision-Date: 2009-05-19 17:58+0200\n"
+"Last-Translator: \n"
+"Language-Team:  <en@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
+#. TRANSLATORS: keep it short, this is a button
 #. TRANSLATORS: this is a help text, keep it short
-#, fuzzy
 msgid "About FritzCall"
-msgstr "Setup Fritzcall"
+msgstr "Over FritzCall"
 
 #. TRANSLATORS: this is a help text, keep it short
 msgid "Add entry to phonebook"
@@ -30,16 +31,16 @@ msgid "All"
 msgstr "Alles"
 
 msgid "All calls"
-msgstr "Alle telefoontjes"
+msgstr "Alle oproepen"
 
 msgid "Append shortcut number"
-msgstr "Snelkiesnummer toewijzen"
+msgstr "Snelkiesnummer toevoegen"
 
 msgid "Append type of number"
-msgstr "Nummersoort toewijzen"
+msgstr "Nummersoort toevoegen"
 
 msgid "Append vanity name"
-msgstr "Alias toewijzen"
+msgstr "Alias toevoegen"
 
 msgid "Areacode to add to Outgoing Calls (if necessary)"
 msgstr "Netnummer bij uitgaande gesprekken  (indien nodig)"
@@ -64,6 +65,9 @@ msgstr "Gespreksmonitoring"
 msgid "Cancel"
 msgstr "Annuleren"
 
+msgid "Connected since"
+msgstr "Verbonden sinds"
+
 msgid "Connected to FRITZ!Box!"
 msgstr "Verbonden met Fritzbox"
 
@@ -104,8 +108,11 @@ msgstr "Fout bij het verwerken van een FRITZ!Box telefoonboek regel"
 msgid "Country"
 msgstr "Land"
 
+msgid "DECT phones registered"
+msgstr "geregistreerde DECT telefoons"
+
 msgid "Debug"
-msgstr ""
+msgstr "Debug"
 
 #. TRANSLATORS: keep it short, this is a button
 msgid "Delete"
@@ -120,7 +127,7 @@ msgid "Dialling failed - Error: %s"
 msgstr "FRITZ!Box Login mislukt! - Error: %s"
 
 msgid "Display FRITZ!box-Fon calls on screen"
-msgstr "Laat FRITZ!Box-Fon gesprekken op het scherm zien"
+msgstr "Laat FRITZ!Box gesprekken op het scherm zien"
 
 #. TRANSLATORS: this is a help text, keep it short
 msgid "Display all calls"
@@ -139,7 +146,7 @@ msgid "Display outgoing calls"
 msgstr "Laat uitgaande gesprekken zien"
 
 msgid "Do what?"
-msgstr "Wat nu te doen..."
+msgstr "Wat te doen..."
 
 #, python-format
 msgid ""
@@ -161,7 +168,7 @@ msgstr "Bewerken"
 
 #. TRANSLATORS: this is a help text, keep it short
 msgid "Edit selected entry"
-msgstr "Gesel. regels bewerken"
+msgstr "Gesel. regel bewerken"
 
 msgid "Enter Search Terms"
 msgstr "Geef de zoekterm in"
@@ -173,7 +180,12 @@ msgid "Extension number to initiate call on"
 msgstr "Voorkies nummer voor een telefoonoproep"
 
 msgid "FRITZ!Box FON address (Name or IP)"
-msgstr "FRITZ!Box FON adres (Naam of IP)"
+msgstr "FRITZ!Box adres (Naam of IP)"
+
+#. TRANSLATORS: keep it short, this is a button
+#. TRANSLATORS: this is a help text, keep it short
+msgid "FRITZ!Box Fon Status"
+msgstr "FRITZ!Box Status"
 
 #, python-format
 msgid "FRITZ!Box Login failed! - Error: %s"
@@ -192,17 +204,23 @@ msgid "FritzCall Setup"
 msgstr "Setup Fritzcall"
 
 msgid "Full screen display"
-msgstr ""
+msgstr "Volledig scherm"
 
 msgid "Germany"
 msgstr "Duitsland"
 
 msgid "Getting calls from FRITZ!Box..."
-msgstr "Ontvangt een gesprek van de FRITZ!Box..."
+msgstr "Ontvangt gesprekken van de FRITZ!Box..."
+
+msgid "Getting status from FRITZ!Box Fon..."
+msgstr "Ophalen van status van de FRITZ!Box..."
 
 msgid "Harddisk"
 msgstr "Harde schijf"
 
+msgid "IP Address:"
+msgstr "IP Adres:"
+
 #. TRANSLATORS: keep it short, this is a button
 msgid "Incoming"
 msgstr "Binnenkomend"
@@ -239,6 +257,9 @@ msgstr "Zoek"
 msgid "MSN to show (separated by ,)"
 msgstr "Laat MSN zien (door een komma gescheiden)"
 
+msgid "Mailbox"
+msgstr "Mailbox"
+
 #. TRANSLATORS: keep it short, this is a button
 msgid "Missed"
 msgstr "Gemist"
@@ -256,17 +277,23 @@ msgstr "Naam"
 msgid "New"
 msgstr "Nieuw"
 
+msgid "No DECT phone registered"
+msgstr "Geen DECT telefoon geregistreerd"
+
 msgid "No entry selected"
 msgstr "Geen regel geselecteerd"
 
+msgid "No mailbox active"
+msgstr "Geen mailbox actief"
+
 msgid "No result from LDIF"
-msgstr ""
+msgstr "Geen resultaat uit LDIF"
 
 msgid "No result from Outlook export"
-msgstr ""
+msgstr "Geen Resultaat van Outlook export"
 
 msgid "No result from reverse lookup"
-msgstr ""
+msgstr "Geen resultaat uit omgekeerd zoeken"
 
 msgid "Number"
 msgstr "Nummer"
@@ -275,6 +302,12 @@ msgstr "Nummer"
 msgid "OK"
 msgstr "Ok"
 
+msgid "One DECT phone registered"
+msgstr "Eén DECT telefoon geregistreerd"
+
+msgid "One mailbox active"
+msgstr "Eén mailbox actief"
+
 #. TRANSLATORS: keep it short, this is a button
 msgid "Outgoing"
 msgstr "Uitgaand"
@@ -319,11 +352,15 @@ msgstr "Afbreken"
 msgid "Read PhoneBook from FRITZ!Box"
 msgstr "Lees telefoonboek van FRITZ!Box"
 
+#. TRANSLATORS: keep it short, this is a button
+msgid "Reset"
+msgstr "Reset"
+
 msgid "Reverse Lookup Caller ID (select country below)"
-msgstr "Omgekeerd zoeken van een beller ID"
+msgstr "Omgekeerd zoeken van een beller ID (select land hieronder)"
 
 msgid "Reverse searching..."
-msgstr ""
+msgstr "Zoekt omgekeerd..."
 
 #. TRANSLATORS: keep it short, this is a button
 msgid "Save"
@@ -341,10 +378,10 @@ msgid "Search phonebook"
 msgstr "Doorzoek het telefoonboek"
 
 msgid "Searching in LDIF..."
-msgstr ""
+msgstr "Zoekt in LDIF..."
 
 msgid "Searching in Outlook export..."
-msgstr ""
+msgstr "Zoekt in Outlook export..."
 
 msgid "Shortcut"
 msgstr "Snelkoppeling"
@@ -374,6 +411,14 @@ msgstr "Nederland"
 msgid "Timeout for Call Notifications (seconds)"
 msgstr "Timeout voor gespreksnotificatie (seconden)"
 
+#. TRANSLATORS: keep it short, this is a button
+msgid "Toggle Mailbox"
+msgstr "Mailbox Aan/Uit"
+
+#. TRANSLATORS: keep it short, this is a button
+msgid "Toggle WLAN"
+msgstr "WLAN Aan/Uit"
+
 msgid "UNKNOWN"
 msgstr "ONBEKEND"
 
@@ -404,11 +449,11 @@ msgstr ""
 
 #. TRANSLATORS: this is a help text, keep it short
 msgid "display calls"
-msgstr "laat de gesprekken zien"
+msgstr "Toon gesprekken"
 
 #. TRANSLATORS: this is a help text, keep it short
 msgid "display phonebook"
-msgstr "laat het telefoonboek zien"
+msgstr "Toon telefoonboek"
 
 msgid "done"
 msgstr "klaar"
@@ -416,8 +461,11 @@ msgstr "klaar"
 msgid "done, using last list"
 msgstr "klaar, gebruikt nu de laatste lijst"
 
+msgid "encrypted"
+msgstr "gecodeerd"
+
 msgid "finishing"
-msgstr "beëindigen"
+msgstr "wordt beëindigd"
 
 msgid "home"
 msgstr "home"
@@ -431,9 +479,15 @@ msgstr "login ok"
 msgid "login verification"
 msgstr "login verificatie"
 
+msgid "mailboxes active"
+msgstr "mailboxen actief"
+
 msgid "mobile"
 msgstr "mobiel"
 
+msgid "not encrypted"
+msgstr "ongecodeerd "
+
 msgid "preparing"
 msgstr "aan het voorbereiden"
 
@@ -452,25 +506,8 @@ msgid "show each call"
 msgstr "alle gesprekken tonen"
 
 msgid "show nothing"
-msgstr "laat niets zien"
+msgstr "niets weergeven"
 
 msgid "work"
 msgstr "werk"
 
-#~ msgid ""
-#~ "Do you really want to overwrite entry for %(number)s\n"
-#~ "\n"
-#~ "%(name)s\n"
-#~ "\n"
-#~ "with\n"
-#~ "\n"
-#~ "%(newname)s?"
-#~ msgstr ""
-#~ "Wilt u echt onderstaande regel overschrijven\n"
-#~ "%(number)s\n"
-#~ "\n"
-#~ "%(name)s\n"
-#~ "\n"
-#~ "met\n"
-#~ "\n"
-#~ "%(newname)s"
index e11a993..9629e0d 100644 (file)
@@ -3,8 +3,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Enigma2 FritzCall Plugin Turkish Locale\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-07 17:05+0200\n"
-"PO-Revision-Date: 2009-04-20 02:00+0200\n"
+"POT-Creation-Date: 2009-05-18 17:08+0200\n"
+"PO-Revision-Date: 2009-05-20 17:25+0200\n"
 "Last-Translator: Zülfikar VEYİSOĞLU <z.veyisoglu@hobiagaci.com>\n"
 "Language-Team: Zülfikar VEYİSOĞLU <z.veyisoglu@hobiagaci.com>\n"
 "MIME-Version: 1.0\n"
@@ -14,9 +14,10 @@ msgstr ""
 "X-Poedit-Country: TURKEY\n"
 "X-Poedit-SourceCharset: utf-8\n"
 
+#. TRANSLATORS: keep it short, this is a button
 #. TRANSLATORS: this is a help text, keep it short
 msgid "About FritzCall"
-msgstr "FritzCall Hakkında"
+msgstr "FritzCall hakkında"
 
 #. TRANSLATORS: this is a help text, keep it short
 msgid "Add entry to phonebook"
@@ -61,6 +62,9 @@ msgstr "Çağrı görüntüleme"
 msgid "Cancel"
 msgstr "Vazgeç"
 
+msgid "Connected since"
+msgstr "Bağlanılan saat"
+
 msgid "Connected to FRITZ!Box!"
 msgstr "FRITZ!Box'a bağlanıldı!"
 
@@ -101,6 +105,9 @@ msgstr "FRITZ!Box rehber kaydı ayrıştırılamıyor"
 msgid "Country"
 msgstr "Ülke"
 
+msgid "DECT phones registered"
+msgstr "DECT telefon tanıtılmış"
+
 msgid "Debug"
 msgstr "Hata ayıklama"
 
@@ -172,6 +179,11 @@ msgstr "Dış hatta ulaşmak için çevrilen numara"
 msgid "FRITZ!Box FON address (Name or IP)"
 msgstr "FRITZ!Box adresi (isim yada IP)"
 
+#. TRANSLATORS: keep it short, this is a button
+#. TRANSLATORS: this is a help text, keep it short
+msgid "FRITZ!Box Fon Status"
+msgstr "FRITZ!Box Fon Durumu"
+
 #, python-format
 msgid "FRITZ!Box Login failed! - Error: %s"
 msgstr "FRITZ!Box oturumu başlatılamadı! - Hata: %s"
@@ -197,9 +209,15 @@ msgstr "Almanya"
 msgid "Getting calls from FRITZ!Box..."
 msgstr "Aramalar FRITZ!Box'tan alınıyor..."
 
+msgid "Getting status from FRITZ!Box Fon..."
+msgstr "Durum bilgisi FRITZ!Box'tan alınıyor..."
+
 msgid "Harddisk"
 msgstr "Sabit disk"
 
+msgid "IP Address:"
+msgstr "IP Adresi:"
+
 #. TRANSLATORS: keep it short, this is a button
 msgid "Incoming"
 msgstr "Gelen"
@@ -236,6 +254,9 @@ msgstr "Sorgula"
 msgid "MSN to show (separated by ,)"
 msgstr "MSN göster (virgülle ayrılmış)"
 
+msgid "Mailbox"
+msgstr "Posta kutusu"
+
 #. TRANSLATORS: keep it short, this is a button
 msgid "Missed"
 msgstr "Cevapsız"
@@ -253,9 +274,15 @@ msgstr "Ad"
 msgid "New"
 msgstr "Yeni"
 
+msgid "No DECT phone registered"
+msgstr "DECT telefon tanıtılmamış"
+
 msgid "No entry selected"
 msgstr "Seçim yapılmadı"
 
+msgid "No mailbox active"
+msgstr "Etkin posta kutusu yok"
+
 msgid "No result from LDIF"
 msgstr "LDIF içeriğinde sonuç bulunamadı"
 
@@ -272,6 +299,12 @@ msgstr "Numara"
 msgid "OK"
 msgstr "Tamam"
 
+msgid "One DECT phone registered"
+msgstr "Bir DECT telefon tanıtılmış"
+
+msgid "One mailbox active"
+msgstr "Bir posta kutusu etkin"
+
 #. TRANSLATORS: keep it short, this is a button
 msgid "Outgoing"
 msgstr "Giden"
@@ -316,6 +349,10 @@ msgstr "Çık"
 msgid "Read PhoneBook from FRITZ!Box"
 msgstr "FRITZ!Box telefon rehberini oku"
 
+#. TRANSLATORS: keep it short, this is a button
+msgid "Reset"
+msgstr "Sıfırla"
+
 msgid "Reverse Lookup Caller ID (select country below)"
 msgstr "Arayan kimliğini hizmet sağlayıcıdan sorgula (ülke seçin)"
 
@@ -371,6 +408,14 @@ msgstr "Hollanda"
 msgid "Timeout for Call Notifications (seconds)"
 msgstr "Arama uyarıları için zaman aşımı süresi (saniye)"
 
+#. TRANSLATORS: keep it short, this is a button
+msgid "Toggle Mailbox"
+msgstr "Posta kutusu aç/kapat"
+
+#. TRANSLATORS: keep it short, this is a button
+msgid "Toggle WLAN"
+msgstr "WLAN aç/kapat"
+
 msgid "UNKNOWN"
 msgstr "BİLİNMİYOR"
 
@@ -411,6 +456,9 @@ msgstr "tamamlandı"
 msgid "done, using last list"
 msgstr "tamamlandı, son liste kullanıyor"
 
+msgid "encrypted"
+msgstr "şifrelenmiş"
+
 msgid "finishing"
 msgstr "sonlandırılıyor"
 
@@ -426,9 +474,15 @@ msgstr "oturum açıldı"
 msgid "login verification"
 msgstr "oturum doğrulama"
 
+msgid "mailboxes active"
+msgstr "posta kutusu etkin"
+
 msgid "mobile"
 msgstr "cep"
 
+msgid "not encrypted"
+msgstr "şifrelenmemiş"
+
 msgid "preparing"
 msgstr "hazırlanıyor"
 
@@ -453,21 +507,19 @@ msgid "work"
 msgstr "iş"
 
 #~ msgid ""
-#~ "Do you really want to overwrite entry for %(number)s\n"
-#~ "\n"
-#~ "%(name)s\n"
+#~ "Call\n"
 #~ "\n"
-#~ "with\n"
+#~ "%s(number)\n"
 #~ "\n"
-#~ "%(newname)s?"
+#~ "%s(name)?"
 #~ msgstr ""
-#~ "%(number)s için tanımladığınız\n"
-#~ "\n"
-#~ "%(name)s kaydını\n"
+#~ "%s(number)\n"
 #~ "\n"
-#~ "%(newname)s olarak\n"
+#~ "%s(name)\n"
 #~ "\n"
-#~ "değiştirmek istiyor musunuz?"
+#~ "aransın mı?"
+#~ msgid "Can't create PhoneBook.txt"
+#~ msgstr "PhoneBook.txt oluşturulamıyor"
 #~ msgid ""
 #~ "Corrupt phonebook entry\n"
 #~ "for number %d\n"
@@ -477,17 +529,21 @@ msgstr "iş"
 #~ "bozuk rehber kaydı\n"
 #~ "siliniyor."
 #~ msgid ""
-#~ "Call\n"
+#~ "Do you really want to overwrite entry for %(number)s\n"
 #~ "\n"
-#~ "%s(number)\n"
+#~ "%(name)s\n"
 #~ "\n"
-#~ "%s(name)?"
+#~ "with\n"
+#~ "\n"
+#~ "%(newname)s?"
 #~ msgstr ""
-#~ "%s(number)\n"
+#~ "%(number)s için tanımladığınız\n"
 #~ "\n"
-#~ "%s(name)\n"
+#~ "%(name)s kaydını\n"
 #~ "\n"
-#~ "aransın mı?"
+#~ "%(newname)s olarak\n"
+#~ "\n"
+#~ "değiştirmek istiyor musunuz?"
 #~ msgid ""
 #~ "Do you want to add a phonebook entry\n"
 #~ "\n"
@@ -512,14 +568,6 @@ msgstr "iş"
 #~ "%s kaydını\n"
 #~ "\n"
 #~ "rehbere eklemek istiyor musunuz?"
-#~ msgid "Reverse lookup for "
-#~ msgstr "Hizmet sağlayıcıdan isim sorgula : "
-#~ msgid "Reverse lookup not successful"
-#~ msgstr "İsim sorgulama başarısız"
-#~ msgid "Reverse lookup successful"
-#~ msgstr "İsim sorgulama başarılı"
-#~ msgid "Can't create PhoneBook.txt"
-#~ msgstr "PhoneBook.txt oluşturulamıyor"
 
 #, fuzzy
 #~ msgid ""
@@ -533,3 +581,17 @@ msgstr "iş"
 #~ msgid "Edit phonebook entry"
 #~ msgstr "Rehber kaydını düzelt"
 
+#, fuzzy
+#~ msgid "FRITZ!Box Fon has no mailbox"
+#~ msgstr "FRITZ!Box Fon Durumu"
+#~ msgid "Reverse lookup for "
+#~ msgstr "Hizmet sağlayıcıdan isim sorgula : "
+#~ msgid "Reverse lookup not successful"
+#~ msgstr "İsim sorgulama başarısız"
+#~ msgid "Reverse lookup successful"
+#~ msgstr "İsim sorgulama başarılı"
+#~ msgid "WLAN off"
+#~ msgstr "WLAN kapat"
+#~ msgid "WLAN on"
+#~ msgstr "WLAN aç"
+
index 52f9c60..67c5b86 100644 (file)
@@ -1,4 +1,4 @@
-# -*- coding: utf-8 -*-
+# -*- coding: utf-8 -*-
 #===============================================================================
 # $Author$
 # $Revision$
index 1c7dc42..b689799 100644 (file)
@@ -1,7 +1,5 @@
-SUBDIRS = images
-
 installdir = /usr/lib/enigma2/python/Plugins/Extensions/FritzCall
 
-install_PYTHON = *.py
-install_DATA = plugin.png reverselookup.xml maintainer.info
+install_PYTHON = __init__.py plugin.py
+install_DATA = plugin.png reverselookup.xml
 
index 9ae5152..5b02b0b 100644 (file)
@@ -1,4 +1,3 @@
-# -*- coding: utf-8 -*-
 """
 ldif - generate and parse LDIF data (see RFC 2849)
 
index 9769a3d..068eab4 100644 (file)
@@ -11,7 +11,7 @@ from twisted.web.client import getPage #@UnresolvedImport
 from twisted.internet import reactor #@UnresolvedImport
 
 try:
-       from . import debug
+       from . import debug #@UnresolvedImport
        def setDebug(what):
                pass
 except ValueError:
@@ -160,6 +160,12 @@ class ReverseLookupAndNotifier:
 
                self.countrycode = countrycode
 
+               if re.match('^\+', self.number):
+                       self.number = '00' + self.number[1:]
+
+               if self.number[:len(countrycode)] == countrycode:
+                       self.number = '0' + self.number[len(countrycode):]
+
                if number[0] != "0":
                        # self.caller = _("UNKNOWN")
                        self.notifyAndReset()
@@ -232,7 +238,7 @@ class ReverseLookupAndNotifier:
        def _gotPage(self, page):
                def cleanName(text):
                        try:
-                               item = text.replace("&nbsp;"," ").replace("</b>","").replace(","," ")
+                               item = text.replace("&nbsp;"," ").replace("</b>","").replace(","," ").replace('\n',' ').replace('\t',' ')
                                item = html2unicode(item).decode('iso-8859-1')
                                # item = html2unicode(item)
                                newitem = item.replace("  ", " ")
@@ -362,7 +368,7 @@ class ReverseLookupAndNotifier:
                if self.caller:
                        try:
                                # debug("2: " + repr(self.caller))
-                               self.caller = self.caller.encode(self.charset)
+                               self.caller = self.caller.encode(self.charset, 'replace')
                                # debug("3: " + repr(self.caller))
                        except:
                                debug("[ReverseLookupAndNotifier] cannot encode?!?!")
index cd6a16f..6a42801 100644 (file)
@@ -12,12 +12,13 @@ from Screens.InputBox import InputBox #@UnresolvedImport
 from Screens import Standby #@UnresolvedImport
 from Screens.HelpMenu import HelpableScreen #@UnresolvedImport
 
-from enigma import eListboxPythonMultiContent, gFont, RT_HALIGN_LEFT, RT_HALIGN_RIGHT #@UnresolvedImport
+from enigma import eTimer, eListboxPythonMultiContent, gFont, RT_HALIGN_LEFT, RT_HALIGN_RIGHT #@UnresolvedImport
 
 from Components.MenuList import MenuList #@UnresolvedImport
 from Components.ActionMap import ActionMap #@UnresolvedImport
 from Components.Label import Label #@UnresolvedImport
 from Components.Button import Button #@UnresolvedImport
+from Components.Pixmap import Pixmap #@UnresolvedImport
 from Components.config import config, ConfigSubsection, ConfigSelection, ConfigEnableDisable, getConfigListEntry, ConfigText, ConfigInteger #@UnresolvedImport
 try:
        from Components.config import ConfigPassword
@@ -122,7 +123,7 @@ def initDebug():
                pass
 
 class FritzAbout(Screen):
-       textFieldWidth = 250
+       textFieldWidth = scaleV(350,250)
        width = 5 + 150 + 20 + textFieldWidth + 5 + 175 + 5
        height = 5 + 175 + 5 + 25 + 5
        # TRANSLATORS: this is a window title. Avoid the use of non ascii chars
@@ -131,7 +132,7 @@ class FritzAbout(Screen):
                        <widget name="text" position="175,%d" size="%d,%d" font="Regular;%d" />
                        <ePixmap position="5,37" size="150,110" pixmap="%s" transparent="1" alphatest="blend" />
                        <ePixmap position="%d,5" size="175,175" pixmap="%s" transparent="1" alphatest="blend" />
-                       <widget name="url" position="10,185" size="%d,25" font="Regular;%d" />
+                       <widget name="url" position="20,185" size="%d,25" font="Regular;%d" />
                </screen>""" % (
                                                (DESKTOP_WIDTH - width) / 2, (DESKTOP_HEIGHT - height) / 2, # position
                                                width, height, # size
@@ -143,7 +144,7 @@ class FritzAbout(Screen):
                                                resolveFilename(SCOPE_PLUGINS, "Extensions/FritzCall/images/fritz.png"), # 150x110
                                                5 + 150 + 5 + textFieldWidth + 5, # qr code horizontal offset
                                                resolveFilename(SCOPE_PLUGINS, "Extensions/FritzCall/images/website.png"), # 175x175
-                                               width-20, # url width
+                                               width-40, # url width
                                                scaleV(24,21) # url font size
                                                )
 
@@ -165,7 +166,6 @@ class FritzAbout(Screen):
        def exit(self):
                self.close()
 
-
 class FritzCallFBF:
        def __init__(self):
                debug("[FritzCallFBF] __init__")
@@ -175,6 +175,14 @@ class FritzCallFBF:
                self.timestamp = 0
                self.callList = []
                self.callType = config.plugins.FritzCall.fbfCalls.value
+               self.hasMailbox = False
+               self.hasDect = False
+               self.getInfo(self.setProperties)
+
+       def setProperties(self, status):
+               (boxInfo, upTime, ipAddress, wlanState, wlanEncrypt, dslState, dslSpeed, tamActive, dectActive) = status #@UnusedVariable
+               self.hasMailbox = tamActive != None
+               self.hasDect = dectActive != None
 
        def notify(self, text):
                debug("[FritzCallFBF] notify")
@@ -379,12 +387,12 @@ class FritzCallFBF:
                        
                callList = []
                for line in lines:
-                       # debug(line
                        # Typ;Datum;Name;Rufnummer;Nebenstelle;Eigene Rufnummer;Dauer
-                       found = re.match("^(" + self.callType + ");([^;]*);([^;]*);([^;]*);([^;]*);([^;]*)", line)
+                       found = re.match("^(" + self.callType + ");([^;]*);([^;]*);([^;]*);([^;]*);([^;]*);([^;]*)", line)
                        if found:
                                direct = found.group(1)
                                date = found.group(2)
+                               length = found.group(7)
                                remote = _resolveNumber(found.group(4))
                                if not remote and direct != FBF_OUT_CALLS and found.group(3):
                                        remote = found.group(3)
@@ -403,7 +411,7 @@ class FritzCallFBF:
                                                number = number[5:]
                                if config.plugins.FritzCall.prefix.value and number and number[0] != '0':               # should only happen for outgoing
                                        number = config.plugins.FritzCall.prefix.value + number
-                               callList.append((number, date, here, direct, remote))
+                               callList.append((number, date, here, direct, remote, length))
 
                # debug("[FritzCallFBF] _gotPageCalls result:\n" + text
 
@@ -499,6 +507,199 @@ class FritzCallFBF:
                text = _("Dialling failed - Error: %s") % error
                self.notify(text)
 
+       def changeWLAN(self, statusWLAN):
+               ''' get status info from FBF '''
+               if not statusWLAN or (statusWLAN <> '1' and statusWLAN <> '0'):
+                       return
+               self.statusWLAN = statusWLAN
+               self.login(self._changeWLAN)
+               
+       def _changeWLAN(self, html=None):
+               url = "http://%s/cgi-bin/webcm" % config.plugins.FritzCall.hostname.value
+               parms = urlencode({
+                       'getpage':'../html/de/menus/menu2.html',
+                       'var:lang':'de',
+                       'var:pagename':'wlan',
+                       'var:menu':'wlan',
+                       'wlan:settings/ap_enabled':str(self.statusWLAN),
+                       })
+               debug("[FritzCallFBF] changeWLAN url: '" + url + "' parms: '" + parms + "'")
+               getPage(url,
+                       method="POST",
+                       agent="Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5",
+                       headers={
+                                       'Content-Type': "application/x-www-form-urlencoded",
+                                       'Content-Length': str(len(parms))},
+                       postdata=parms).addCallback(self._okChangeWLAN).addErrback(self._errorChangeWLAN)
+
+       def _okChangeWLAN(self, html):
+               debug("[FritzCallFBF] okDial")
+               linkP = open("/tmp/FritzCall_okChangeWLAN.htm", "w")
+               linkP.write(html)
+               linkP.close()
+
+       def _errorChangeWLAN(self, error):
+               debug("[FritzCallFBF] _errorChangeWLAN: $s" % error)
+               linkP = open("/tmp/FritzCall_errorChangeWLAN.htm", "w")
+               linkP.write(error)
+               linkP.close()
+
+       def changeMailbox(self, statusMailbox):
+               ''' switch mailbox on/off '''
+               debug("[FritzCallFBF] changeMailbox start")
+               if not statusMailbox or (statusMailbox <> '1' and statusMailbox <> '0'):
+                       return
+               self.statusMailbox = statusMailbox
+               self.login(self._changeMailbox)
+               
+       def _changeMailbox(self, html=None):
+               url = "http://%s/cgi-bin/webcm" % config.plugins.FritzCall.hostname.value
+               for i in ['0', '1', '2', '3', '4']:
+                       parms = urlencode({
+                               'tam:settings/TAM'+i+'/Active':self.statusMailbox,
+                               })
+                       debug("[FritzCallFBF] changeMailbox url: '" + url + "' parms: '" + parms + "'")
+                       getPage(url,
+                               method="POST",
+                               agent="Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5",
+                               headers={
+                                               'Content-Type': "application/x-www-form-urlencoded",
+                                               'Content-Length': str(len(parms))},
+                               postdata=parms)
+
+       def getInfo(self, callback):
+               ''' get status info from FBF '''
+               self.callback = callback
+               self.login(self._getInfo)
+               
+       def _getInfo(self, html=None):
+               # http://192.168.178.1/cgi-bin/webcm?getpage=../html/de/menus/menu2.html&var:lang=de&var:pagename=home&var:menu=home
+               url = "http://%s/cgi-bin/webcm" % config.plugins.FritzCall.hostname.value
+               parms = urlencode({
+                       'getpage':'../html/de/menus/menu2.html',
+                       'var:lang':'de',
+                       'var:pagename':'home',
+                       'var:menu':'home'
+                       })
+               debug("[FritzCallFBF] _getInfo url: '" + url + "' parms: '" + parms + "'")
+               getPage(url,
+                       method="POST",
+                       agent="Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5",
+                       headers={
+                                       'Content-Type': "application/x-www-form-urlencoded",
+                                       'Content-Length': str(len(parms))},
+                       postdata=parms).addCallback(self._okGetInfo).addErrback(self._errorGetInfo)
+
+       def _okGetInfo(self, html):
+               def readInfo(html):
+                       boxInfo = None
+                       upTime = None
+                       ipAddress = None
+                       wlanState = None
+                       wlanEncrypt = None
+                       dslState = None
+                       dslSpeed = None
+                       tamActive = None
+                       dectActive = None
+                       
+                       found = re.match('.*<table class="tborder" id="tProdukt">\s*<tr>\s*<td style="padding-top:2px;">([^<]*)</td>\s*<td style="padding-top:2px;text-align:right;">\s*([^\s]*)\s*</td>', html, re.S)
+                       if found:
+                               boxInfo = found.group(1)+ ', ' + found.group(2)
+                               boxInfo = boxInfo.replace('&nbsp;',' ')
+                               debug("[FritzCallFBF] _okGetInfo Boxinfo: " + boxInfo)
+                       else:
+                               found = re.match('.*<p class="ac">([^<]*)</p>', html, re.S)
+                               if found:
+                                       debug("[FritzCallFBF] _okGetInfo Boxinfo: " + found.group(1))
+                                       boxInfo = found.group(1)
+               
+                       found = re.match('.*if \(isNaN\(jetzt\)\)\s*return "";\s*var str = "([^"]*)";', html, re.S)
+                       if found:
+                               debug("[FritzCallFBF] _okGetInfo Uptime: " + found.group(1))
+                               upTime = found.group(1)
+                       else:
+                               found = re.match('.*str = g_pppSeit \+"([^<]*)<br>"\+mldIpAdr;', html, re.S)
+                               if found:
+                                       debug("[FritzCallFBF] _okGetInfo Uptime: " + found.group(1))
+                                       upTime = found.group(1)
+               
+                       found = re.match(".*IpAdrDisplay\('([.\d]+)'\)", html, re.S)
+                       if found:
+                               debug("[FritzCallFBF] _okGetInfo IpAdrDisplay: " + found.group(1))
+                               ipAddress = found.group(1)
+               
+                       found = re.match('.*function WlanStateLed \(state\){.*?return StateLed\("(\d+)"\);\s*}', html, re.S)
+                       if found:
+                               debug("[FritzCallFBF] _okGetInfo WlanState: " + found.group(1))
+                               wlanState = found.group(1)
+               
+                       found = re.match('.*var (?:g_)?encryption = "(\d+)";', html, re.S)
+                       if found:
+                               debug("[FritzCallFBF] _okGetInfo WlanEncrypt: " + found.group(1))
+                               wlanEncrypt = found.group(1)
+               
+                       found = re.match('.*function DslStateDisplay \(state\){\s*var state = "(\d+)";', html, re.S)
+                       if found:
+                               debug("[FritzCallFBF] _okGetInfo DslState: " + found.group(1))
+                               dslState = found.group(1)
+               
+                       found = re.match('.*function DslStateDisplay \(state\){\s*var state = "\d+";.*?if \("3130" != "0"\) str = "([^"]*)";', html, re.S)
+                       if found:
+                               debug("[FritzCallFBF] _okGetInfo DslSpeed: " + found.group(1).strip())
+                               dslSpeed = found.group(1).strip()
+               
+                       if html.find('g_tamActive') != -1:
+                               entries = re.compile('if \("1" == "1"\) {\s*g_tamActive \+= 1;\s*}', re.S).findall(html)
+                               tamActive = len(entries)
+                               debug("[FritzCallFBF] _okGetInfo tamActive: " + str(tamActive))
+               
+                       if html.find('countDect2') != -1:
+                               entries = re.compile('if \("1" == "1"\) countDect2\+\+;', re.S).findall(html)
+                               dectActive = len(entries)
+                               debug("[FritzCallFBF] _okGetInfo dectActive: " + str(dectActive))
+               
+                       return (boxInfo, upTime, ipAddress, wlanState, wlanEncrypt, dslState, dslSpeed, tamActive, dectActive)
+
+               debug("[FritzCallFBF] _okGetInfo")
+               # linkP = open("/tmp/FritzCall_okGetInfo.htm", "w")
+               # linkP.write(html)
+               # linkP.close()
+               info = readInfo(html)
+               self.setProperties(info)
+               self.callback(readInfo(html))
+
+       def _errorGetInfo(self, error):
+               debug("[FritzCallFBF] _errorGetInfo: $s" % error)
+               # linkP = open("/tmp/FritzCall_errorGetInfo.htm", "w")
+               # linkP.write(error)
+               # linkP.close()
+
+       def reset(self):
+               self.login(self._reset)
+
+       def _reset(self, html=None):
+               # POSTDATA=getpage=../html/reboot.html&errorpage=../html/de/menus/menu2.html&var:lang=de&var:pagename=home&var:errorpagename=home&var:menu=home&var:pagemaster=&time:settings/time=1242207340%2C-120&var:tabReset=0&logic:command/reboot=../gateway/commands/saveconfig.html
+               url = "http://%s/cgi-bin/webcm" % config.plugins.FritzCall.hostname.value
+               parms = urlencode({
+                       'getpage':'../html/reboot.html',
+                       # 'errorpage':'../html/de/menus/menu2.html',
+                       'var:lang':'de',
+                       'var:pagename':'reset',
+                       # 'var:errorpagename':'home',
+                       'var:menu':'system',
+                       # 'var:pagemaster':'',
+                       # 'var:tabReset':'0',
+                       'logic:command/reboot':'../gateway/commands/saveconfig.html'
+                       })
+               debug("[FritzCallFBF] _reset url: '" + url + "' parms: '" + parms + "'")
+               getPage(url,
+                       method="POST",
+                       agent="Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5",
+                       headers={
+                                       'Content-Type': "application/x-www-form-urlencoded",
+                                       'Content-Length': str(len(parms))},
+                       postdata=parms)
+
        def hangup(self):
                ''' hangup call on port; not used for now '''
                url = "http://%s/cgi-bin/webcm" % config.plugins.FritzCall.hostname.value
@@ -524,8 +725,247 @@ class FritzCallFBF:
 fritzbox = FritzCallFBF()
 
 
-class FritzDisplayCalls(Screen, HelpableScreen):
+class FritzMenu(Screen):
+       def __init__(self, session):
+               fontSize = scaleV(24,21) # indeed this is font size +2
+               noButtons = 2 # reset, wlan
+               if fritzbox.hasMailbox:
+                       noButtons += 1
+               width = max(DESKTOP_WIDTH - scaleH(500,250), noButtons*140+(noButtons+1)*10)
+               height = 5 + 2*fontSize + 10 + 2*fontSize + 10 + 2*fontSize + 10 + 40 + 5
+               if fritzbox.hasMailbox:
+                       height += fontSize
+               if fritzbox.hasDect:
+                       height += fontSize
+               buttonsGap = (width-noButtons*140)/(noButtons+1)
+               buttonsVPos = height-40-5
+               if fritzbox.hasMailbox:
+                       mailboxLine = """
+                               <widget name="FBFMailbox" position="%d,%d" size="%d,%d" font="Regular;%d" />
+                               <widget name="mailbox_inactive" pixmap="skin_default/buttons/button_green_off.png" position="%d,%d" size="15,16" transparent="1" alphatest="on"/>
+                               <widget name="mailbox_active" pixmap="skin_default/buttons/button_green.png" position="%d,%d" size="15,16" transparent="1" alphatest="on"/>
+                               <ePixmap position="%d,%d" zPosition="4" size="140,40" pixmap="skin_default/buttons/yellow.png" transparent="1" alphatest="on" />
+                               <widget name="key_yellow" position="%d,%d" zPosition="5" size="140,40" valign="center" halign="center" font="Regular;21" transparent="1" foregroundColor="white" shadowColor="black" shadowOffset="-1,-1" />
+                               """ % (
+                                               40, 5+2*fontSize+10+4*fontSize+10, # position mailbox
+                                               width-40-20, fontSize, # size mailbox
+                                               fontSize-2,
+                                               20, 5+2*fontSize+10+4*fontSize+10+(fontSize-16)/2, # position button mailbox
+                                               20, 5+2*fontSize+10+4*fontSize+10+(fontSize-16)/2, # position button mailbox
+                                               noButtons*buttonsGap+(noButtons-1)*140, buttonsVPos,
+                                               noButtons*buttonsGap+(noButtons-1)*140, buttonsVPos,
+                               )
+               else:
+                       mailboxLine = ""
+               if fritzbox.hasDect: # it is assumed here, that, when DECT, then also mailbox...
+                       dectLine = """
+                               <widget name="FBFDect" position="%d,%d" size="%d,%d" font="Regular;%d" />
+                               <widget name="dect_inactive" pixmap="skin_default/buttons/button_green_off.png" position="%d,%d" size="15,16" transparent="1" alphatest="on"/>
+                               <widget name="dect_active" pixmap="skin_default/buttons/button_green.png" position="%d,%d" size="15,16" transparent="1" alphatest="on"/>
+                               """ %(
+                                               40, 5+2*fontSize+10+5*fontSize+10, # position dect
+                                               width-40-20, fontSize, # size dect
+                                               fontSize-2,
+                                               20, 5+2*fontSize+10+5*fontSize+10+(fontSize-16)/2, # position button dect
+                                               20, 5+2*fontSize+10+5*fontSize+10+(fontSize-16)/2, # position button dect
+                               )
+               else:
+                       dectLine = ""
+       
+               self.skin = """
+                       <screen name="FritzMenu" position="%d,%d" size="%d,%d" title="%s" >
+                               <widget name="FBFInfo" position="%d,%d" size="%d,%d" font="Regular;%d" />
+                               <widget name="FBFInternet" position="%d,%d" size="%d,%d" font="Regular;%d" />
+                               <widget name="internet_inactive" pixmap="skin_default/buttons/button_green_off.png" position="%d,%d" size="15,16" transparent="1" alphatest="on"/>
+                               <widget name="internet_active" pixmap="skin_default/buttons/button_green.png" position="%d,%d" size="15,16" transparent="1" alphatest="on"/>
+                               <widget name="FBFDsl" position="%d,%d" size="%d,%d" font="Regular;%d" />
+                               <widget name="dsl_inactive" pixmap="skin_default/buttons/button_green_off.png" position="%d,%d" size="15,16" transparent="1" alphatest="on"/>
+                               <widget name="dsl_active" pixmap="skin_default/buttons/button_green.png" position="%d,%d" size="15,16" transparent="1" alphatest="on"/>
+                               <widget name="FBFWlan" position="%d,%d" size="%d,%d" font="Regular;%d" />
+                               <widget name="wlan_inactive" pixmap="skin_default/buttons/button_green_off.png" position="%d,%d" size="15,16" transparent="1" alphatest="on"/>
+                               <widget name="wlan_active" pixmap="skin_default/buttons/button_green.png" position="%d,%d" size="15,16" transparent="1" alphatest="on"/>
+                               %s
+                               %s
+                               <ePixmap position="%d,%d" zPosition="4" size="140,40" pixmap="skin_default/buttons/red.png" transparent="1" alphatest="on" />
+                               <widget name="key_red" position="%d,%d" zPosition="5" size="140,40" valign="center" halign="center" font="Regular;21" transparent="1" foregroundColor="white" shadowColor="black" shadowOffset="-1,-1" />
+                               <ePixmap position="%d,%d" zPosition="4" size="140,40" pixmap="skin_default/buttons/green.png" transparent="1" alphatest="on" />
+                               <widget name="key_green" position="%d,%d" zPosition="5" size="140,40" valign="center" halign="center" font="Regular;21" transparent="1" foregroundColor="white" shadowColor="black" shadowOffset="-1,-1" />
+                       </screen>""" % (
+                                               (DESKTOP_WIDTH - width) / 2, (DESKTOP_HEIGHT - height) / 2, # position
+                                               width, height, # size
+                                               _("FRITZ!Box Fon Status"),
+                                               40, 5, # position info
+                                               width-2*40, 2*fontSize, # size info
+                                               fontSize-2,
+                                               40, 5+2*fontSize+10, # position internet
+                                               width-40, 2*fontSize, # size internet
+                                               fontSize-2,
+                                               20, 5+2*fontSize+10+(fontSize-16)/2, # position button internet
+                                               20, 5+2*fontSize+10+(fontSize-16)/2, # position button internet
+                                               40, 5+2*fontSize+10+2*fontSize+10, # position dsl
+                                               width-40-20, fontSize, # size dsl
+                                               fontSize-2,
+                                               20, 5+2*fontSize+10+2*fontSize+10+(fontSize-16)/2, # position button dsl
+                                               20, 5+2*fontSize+10+2*fontSize+10+(fontSize-16)/2, # position button dsl
+                                               40, 5+2*fontSize+10+3*fontSize+10, # position wlan
+                                               width-40-20, fontSize, # size wlan
+                                               fontSize-2,
+                                               20, 5+2*fontSize+10+3*fontSize+10+(fontSize-16)/2, # position button wlan
+                                               20, 5+2*fontSize+10+3*fontSize+10+(fontSize-16)/2, # position button wlan
+                                               mailboxLine,
+                                               dectLine,
+                                               buttonsGap, buttonsVPos, buttonsGap, buttonsVPos,
+                                               buttonsGap+140+buttonsGap, buttonsVPos, buttonsGap+140+buttonsGap, buttonsVPos,
+                                               )
 
+               Screen.__init__(self, session)
+               # TRANSLATORS: keep it short, this is a button
+               self["key_red"] = Button(_("Reset"))
+               # TRANSLATORS: keep it short, this is a button
+               self["key_green"] = Button(_("Toggle WLAN"))
+               self.mailboxActive = False
+               if fritzbox.hasMailbox:
+                       # TRANSLATORS: keep it short, this is a button
+                       self["key_yellow"] = Button(_("Toggle Mailbox"))
+                       self["menuActions"] = ActionMap(["OkCancelActions", "ColorActions"],
+                                                                                       {
+                                                                                       "cancel": self.exit,
+                                                                                       "ok": self.exit,
+                                                                                       "red": self.reset,
+                                                                                       "green": self.toggleWlan,
+                                                                                       "yellow": self.toggleMailbox,
+                                                                                       }, -2)
+                       self["FBFMailbox"] = Label(_('Mailbox'))
+                       self["mailbox_inactive"] = Pixmap()
+                       self["mailbox_active"] = Pixmap()
+                       self["mailbox_active"].hide()
+               else:
+                       self["menuActions"] = ActionMap(["OkCancelActions", "ColorActions"],
+                                                                                       {
+                                                                                       "cancel": self.exit,
+                                                                                       "ok": self.exit,
+                                                                                       "red": self.toggleWlan,
+                                                                                       "green": self.reset,
+                                                                                       }, -2)
+               
+               self["FBFInfo"] = Label(_('Getting status from FRITZ!Box Fon...'))
+
+               self["FBFInternet"] = Label('Internet')
+               self["internet_inactive"] = Pixmap()
+               self["internet_active"] = Pixmap()
+               self["internet_active"].hide()
+
+               self["FBFDsl"] = Label('DSL')
+               self["dsl_inactive"] = Pixmap()
+               self["dsl_active"] = Pixmap()
+               self["dsl_active"].hide()
+
+               self["FBFWlan"] = Label('WLAN ')
+               self["wlan_inactive"] = Pixmap()
+               self["wlan_active"] = Pixmap()
+               self["wlan_active"].hide()
+               self.wlanActive = False
+
+               if fritzbox.hasDect: 
+                       self["FBFDect"] = Label('DECT')
+                       self["dect_inactive"] = Pixmap()
+                       self["dect_active"] = Pixmap()
+                       self["dect_active"].hide()
+
+               self.timer = eTimer()
+               self.timer.callback.append(self._getInfo)
+               self.onShown.append(lambda: self.timer.start(5000))
+               self._getInfo()
+
+       def _getInfo(self):
+               fritzbox.getInfo(self._fillMenu)
+
+       def _fillMenu(self, status):
+               (boxInfo, upTime, ipAddress, wlanState, wlanEncrypt, dslState, dslSpeed, tamActive, dectActive) = status
+               self.wlanActive = (wlanState == '1')
+               self.mailboxActive = False
+               self["FBFInfo"].setText(boxInfo.replace(', ', '\n'))
+               if ipAddress:
+                       if upTime:
+                               self["FBFInternet"].setText('Internet ' + _('IP Address:') + ' ' + ipAddress + '\n' + _('Connected since') + ' ' + upTime)
+                       else:
+                               self["FBFInternet"].setText('Internet ' + _('IP Address:') + ' ' + ipAddress)
+                       self["internet_inactive"].hide()
+                       self["internet_active"].show()
+               else:
+                       self["internet_active"].hide()
+                       self["internet_inactive"].show()
+               if dslState=='5':
+                       self["dsl_inactive"].hide()
+                       self["dsl_active"].show()
+               else:
+                       self["dsl_active"].hide()
+                       self["dsl_inactive"].show()
+               if dslSpeed:
+                       self["FBFDsl"].setText('DSL ' + dslSpeed)
+               if wlanState=='1':
+                       self["wlan_inactive"].hide()
+                       self["wlan_active"].show()
+                       if wlanEncrypt:
+                               if wlanEncrypt=='0':
+                                       self["FBFWlan"].setText('WLAN ' + _('not encrypted'))
+                               else:
+                                       self["FBFWlan"].setText('WLAN ' + _('encrypted'))
+               else:
+                       self["wlan_active"].hide()
+                       self["wlan_inactive"].show()
+
+               if fritzbox.hasMailbox:
+                       if  not tamActive or tamActive == 0:
+                               self.mailboxActive = False
+                               self["mailbox_active"].hide()
+                               self["mailbox_inactive"].show()
+                               self["FBFMailbox"].setText(_('No mailbox active'))
+                       else:
+                               self.mailboxActive = True
+                               self["mailbox_inactive"].hide()
+                               self["mailbox_active"].show()
+                               if tamActive == 1:
+                                       self["FBFMailbox"].setText(_('One mailbox active'))
+                               else:
+                                       self["FBFMailbox"].setText(str(tamActive) + ' ' + _('mailboxes active'))
+
+               if fritzbox.hasDect and dectActive:
+                       self["dect_inactive"].hide()
+                       self["dect_active"].show()
+                       if dectActive == 0:
+                               self["FBFDect"].setText(_('No DECT phone registered'))
+                       else:
+                               if dectActive == 1:
+                                       self["FBFDect"].setText(_('One DECT phone registered'))
+                               else:
+                                       self["FBFDect"].setText(str(dectActive) + ' ' + _('DECT phones registered'))
+
+       def reset(self):
+               fritzbox.reset()
+               fritzbox.getInfo(self._fillMenu)
+
+       def toggleWlan(self):
+               if self.wlanActive:
+                       fritzbox.changeWLAN('0')
+               else:
+                       fritzbox.changeWLAN('1')
+               fritzbox.getInfo(self._fillMenu)
+
+       def toggleMailbox(self):
+               if fritzbox.hasMailbox:
+                       if self.mailboxActive:
+                               fritzbox.changeMailbox('0')
+                       else:
+                               fritzbox.changeMailbox('1')
+                       fritzbox.getInfo(self._fillMenu)
+
+       def exit(self):
+               self.timer.stop()
+               self.close()
+
+
+class FritzDisplayCalls(Screen, HelpableScreen):
 
        def __init__(self, session, text=""):
                if config.plugins.FritzCall.fullscreen.value:
@@ -536,6 +976,8 @@ class FritzDisplayCalls(Screen, HelpableScreen):
                                backMainPng = DESKTOP_SKIN + "/menu/back-main.png"
                        elif os.path.exists(resolveFilename(SCOPE_SKIN_IMAGE, "Kerni-HD1/menu/back-main.png")):
                                backMainPng = "Kerni-HD1/menu/back-main.png"
+                       elif os.path.exists(resolveFilename(SCOPE_SKIN_IMAGE, "Kerni-HD1-picon/menu/back-main.png")):
+                               backMainPng = "Kerni-HD1-picon/menu/back-main.png"
                        if backMainPng:
                                        backMainLine = """<ePixmap position="0,0" zPosition="-10" size="%d,%d" pixmap="%s" transparent="1" />""" % (self.width, self.height, backMainPng)
                        else:
@@ -621,10 +1063,10 @@ class FritzDisplayCalls(Screen, HelpableScreen):
                                                        scaleH(290, 145), scaleV(525, 395), # widget green
                                                        scaleH(560, 285), scaleV(525, 395), # widget yellow
                                                        scaleH(830, 425), scaleV(525, 395), # widget blue
-                                                       scaleH(20, 5), scaleV(525, 395), scaleV(24, 21), # widget red
-                                                       scaleH(290, 145), scaleV(525, 395), scaleV(24, 21), # widget green
-                                                       scaleH(560, 285), scaleV(525, 395), scaleV(24, 21), # widget yellow
-                                                       scaleH(830, 425), scaleV(525, 395), scaleV(24, 21), # widget blue
+                                                       scaleH(20, 5), scaleV(525, 395), scaleV(22, 21), # widget red
+                                                       scaleH(290, 145), scaleV(525, 395), scaleV(22, 21), # widget green
+                                                       scaleH(560, 285), scaleV(525, 395), scaleV(22, 21), # widget yellow
+                                                       scaleH(830, 425), scaleV(525, 395), scaleV(22, 21), # widget blue
                                                                                                                )
 
                Screen.__init__(self, session)
@@ -701,7 +1143,7 @@ class FritzDisplayCalls(Screen, HelpableScreen):
                debug("[FritzDisplayCalls] gotCalls")
                self.updateStatus(self.header + " (" + str(len(callList)) + ")")
                sortlist = []
-               for (number, date, remote, direct, here) in callList:
+               for (number, date, remote, direct, here, length) in callList:
                        found = re.match("(\d\d.\d\d.)\d\d( \d\d:\d\d)", date)
                        if found: date = found.group(1) + found.group(2)
                        if direct == FBF_OUT_CALLS:
@@ -712,15 +1154,17 @@ class FritzDisplayCalls(Screen, HelpableScreen):
                                dir = LoadPixmap(resolveFilename(SCOPE_PLUGINS, "Extensions/FritzCall/images/callinfailed.png"))
                        dateFieldWidth = scaleH(150,100)
                        dirFieldWidth = 16
+                       lengthFieldWidth = scaleH(75,50)
                        remoteFieldWidth = scaleH(250,100)
                        scrollbarWidth = scaleH(90,45)
-                       fieldWidth = self.width -dateFieldWidth -5 -dirFieldWidth -5 -remoteFieldWidth -scrollbarWidth -5
+                       fieldWidth = self.width -dateFieldWidth -5 -dirFieldWidth -5 -lengthFieldWidth -5 -remoteFieldWidth -scrollbarWidth -5
                        # debug("[FritzDisplayCalls] gotCalls: d: %d; f: %d; d: %d; r: %d" %(dateFieldWidth, fieldWidth, dirFieldWidth, remoteFieldWidth))
                        sortlist.append([number,
                                                         (eListboxPythonMultiContent.TYPE_TEXT, 0, 0, dateFieldWidth, scaleV(24,20), 0, RT_HALIGN_LEFT, date),
                                                         (eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, dateFieldWidth+5, 0, dirFieldWidth, 16, dir),
                                                         (eListboxPythonMultiContent.TYPE_TEXT, dateFieldWidth+5+dirFieldWidth+5, 0, fieldWidth, scaleV(24,20), 0, RT_HALIGN_LEFT, here),
-                                                        (eListboxPythonMultiContent.TYPE_TEXT, dateFieldWidth+5+dirFieldWidth+5+fieldWidth+5, 0, remoteFieldWidth, scaleV(24,20), 0, RT_HALIGN_RIGHT, remote)
+                                                        (eListboxPythonMultiContent.TYPE_TEXT, dateFieldWidth+5+dirFieldWidth+5+fieldWidth+5, 0, lengthFieldWidth, scaleV(24,20), 0, RT_HALIGN_LEFT, length),
+                                                        (eListboxPythonMultiContent.TYPE_TEXT, dateFieldWidth+5+dirFieldWidth+5+fieldWidth+5+lengthFieldWidth+5, 0, remoteFieldWidth, scaleV(24,20), 0, RT_HALIGN_RIGHT, remote)
                                                         ])
 
                self["entries"].setList(sortlist)
@@ -1015,6 +1459,8 @@ class FritzCallPhonebook:
                                        backMainPng = DESKTOP_SKIN + "/menu/back-main.png"
                                elif os.path.exists(resolveFilename(SCOPE_SKIN_IMAGE, "Kerni-HD1/menu/back-main.png")):
                                        backMainPng = "Kerni-HD1/menu/back-main.png"
+                               elif os.path.exists(resolveFilename(SCOPE_SKIN_IMAGE, "Kerni-HD1-picon/menu/back-main.png")):
+                                       backMainPng = "Kerni-HD1-picon/menu/back-main.png"
                                if backMainPng:
                                        backMainLine = """<ePixmap position="0,0" zPosition="-10" size="%d,%d" pixmap="%s" transparent="1" />""" % (self.width, self.height, backMainPng)
                                else:
@@ -1091,10 +1537,10 @@ class FritzCallPhonebook:
                                                        scaleH(290, 145), scaleV(525, 395), # ePixmap green
                                                        scaleH(560, 285), scaleV(525, 395), # ePixmap yellow
                                                        scaleH(830, 425), scaleV(525, 395), # ePixmap blue
-                                                       scaleH(20, 5), scaleV(525, 395), scaleV(24, 21), # widget red
-                                                       scaleH(290, 145), scaleV(525, 395), scaleV(24, 21), # widget green
-                                                       scaleH(560, 285), scaleV(525, 395), scaleV(24, 21), # widget yellow
-                                                       scaleH(830, 425), scaleV(525, 395), scaleV(24, 21), # widget blue
+                                                       scaleH(20, 5), scaleV(525, 395), scaleV(22, 21), # widget red
+                                                       scaleH(290, 145), scaleV(525, 395), scaleV(22, 21), # widget green
+                                                       scaleH(560, 285), scaleV(525, 395), scaleV(22, 21), # widget yellow
+                                                       scaleH(830, 425), scaleV(525, 395), scaleV(22, 21), # widget blue
                                                        )
        
                        Screen.__init__(self, session)
@@ -1356,6 +1802,8 @@ class FritzCallSetup(Screen, ConfigListScreen, HelpableScreen):
                                backMainPng = DESKTOP_SKIN + "/menu/back-main.png"
                        elif os.path.exists(resolveFilename(SCOPE_SKIN_IMAGE, "Kerni-HD1/menu/back-main.png")):
                                backMainPng = "Kerni-HD1/menu/back-main.png"
+                       elif os.path.exists(resolveFilename(SCOPE_SKIN_IMAGE, "Kerni-HD1-picon/menu/back-main.png")):
+                               backMainPng = "Kerni-HD1-picon/menu/back-main.png"
                        if backMainPng:
                                backMainLine = """<ePixmap position="0,0" zPosition="-10" size="%d,%d" pixmap="%s" transparent="1" />""" % (self.width, self.height, backMainPng)
                        else:
@@ -1380,6 +1828,8 @@ class FritzCallSetup(Screen, ConfigListScreen, HelpableScreen):
                                        <ePixmap pixmap="skin_default/buttons/green.png"        position="%d,%d"        size="%d,%d" alphatest="on" />
                                        <ePixmap pixmap="skin_default/buttons/yellow.png"       position="%d,%d"        size="%d,%d" alphatest="on" />
                                        <ePixmap pixmap="skin_default/buttons/blue.png"         position="%d,%d"        size="%d,%d" alphatest="on" />
+                                       <ePixmap pixmap="skin_default/buttons/key_info.png"     position="%d,%d"        size="%d,%d" alphatest="on" />
+                                       <ePixmap pixmap="skin_default/buttons/key_menu.png"     position="%d,%d"        size="%d,%d" alphatest="on" />
                                        <widget name="key_red" position="%d,%d"                 size="%d,%d" zPosition="1" font="Regular;%d" halign="left" backgroundColor="black" transparent="1" />
                                        <widget name="key_green"  position="%d,%d"      size="%d,%d" zPosition="1" font="Regular;%d" halign="left" backgroundColor="black" transparent="1" />
                                        <widget name="key_yellow" position="%d,%d"      size="%d,%d" zPosition="1" font="Regular;%d" halign="left" backgroundColor="black" transparent="1" />
@@ -1393,18 +1843,21 @@ class FritzCallSetup(Screen, ConfigListScreen, HelpableScreen):
                                                                _("FritzCall Setup"), scaleH(500, XXX), scaleV(63, XXX), scaleH(330, XXX), scaleV(30, XXX), scaleV(27, XXX), # eLabel
                                                                scaleH(80, XXX), scaleV(150, XXX), scaleH(250, XXX), scaleV(200, XXX), scaleV(22, XXX), # consideration
                                                                scaleH(420, XXX), scaleV(125, XXX), scaleH(790, XXX), scaleV(428, XXX), # config
-                                                               scaleH(450, XXX), scaleV(588, XXX), scaleH(21, XXX), scaleV(21, XXX), # red
-                                                               scaleH(640, XXX), scaleV(588, XXX), scaleH(21, XXX), scaleV(21, XXX), # green
-                                                               scaleH(830, XXX), scaleV(588, XXX), scaleH(21, XXX), scaleV(21, XXX), # yellow
-                                                               scaleH(1020, XXX), scaleV(588, XXX), scaleH(21, XXX), scaleV(21, XXX), # blue
-                                                               scaleH(480, XXX), scaleV(587, XXX), scaleH(160, XXX), scaleV(22, XXX), scaleV(20, XXX), # red
-                                                               scaleH(670, XXX), scaleV(587, XXX), scaleH(160, XXX), scaleV(22, XXX), scaleV(20, XXX), # green
-                                                               scaleH(860, XXX), scaleV(587, XXX), scaleH(160, XXX), scaleV(22, XXX), scaleV(20, XXX), # yellow
-                                                               scaleH(1050, XXX), scaleV(587, XXX), scaleH(160, XXX), scaleV(22, XXX), scaleV(20, XXX), # blue
+                                                               scaleH(150, XXX), scaleV(588, XXX), scaleH(21, XXX), scaleV(21, XXX), # red
+                                                               scaleH(350, XXX), scaleV(588, XXX), scaleH(21, XXX), scaleV(21, XXX), # green
+                                                               scaleH(550, XXX), scaleV(588, XXX), scaleH(21, XXX), scaleV(21, XXX), # yellow
+                                                               scaleH(750, XXX), scaleV(588, XXX), scaleH(21, XXX), scaleV(21, XXX), # blue
+                                                               scaleH(1050, XXX), scaleV(586, XXX), scaleH(35, XXX), scaleV(24, XXX), # info
+                                                               scaleH(1150, XXX), scaleV(586, XXX), scaleH(35, XXX), scaleV(24, XXX), # menu
+                                                               scaleH(175, XXX), scaleV(587, XXX), scaleH(160, XXX), scaleV(22, XXX), scaleV(20, XXX), # red
+                                                               scaleH(375, XXX), scaleV(587, XXX), scaleH(160, XXX), scaleV(22, XXX), scaleV(20, XXX), # green
+                                                               scaleH(575, XXX), scaleV(587, XXX), scaleH(160, XXX), scaleV(22, XXX), scaleV(20, XXX), # yellow
+                                                               scaleH(775, XXX), scaleV(587, XXX), scaleH(160, XXX), scaleV(22, XXX), scaleV(20, XXX), # blue
                                                                scaleH(120, XXX), scaleV(430, XXX), scaleH(150, XXX), scaleV(110, XXX), resolveFilename(SCOPE_PLUGINS, "Extensions/FritzCall/images/fritz.png") # Fritz Logo size and pixmap
                                                                                                                                ) 
                else:
-                       self.width = scaleH(1100, 570)
+                       self.width = scaleH(20+4*(140+90)+2*(35+40)+20, 4*140+2*35)
+                       width = self.width
                        debug("[FritzCallSetup] width: " + str(self.width))
                        # TRANSLATORS: this is a window title. Avoid the use of non ascii chars
                        self.skin = """
@@ -1422,30 +1875,34 @@ class FritzCallSetup(Screen, ConfigListScreen, HelpableScreen):
                                <widget name="key_green" position="%d,%d" zPosition="5" size="140,40" valign="center" halign="center" font="Regular;%d" transparent="1" foregroundColor="white" shadowColor="black" shadowOffset="-1,-1" />
                                <widget name="key_yellow" position="%d,%d" zPosition="5" size="140,40" valign="center" halign="center" font="Regular;%d" transparent="1" foregroundColor="white" shadowColor="black" shadowOffset="-1,-1" />
                                <widget name="key_blue" position="%d,%d" zPosition="5" size="140,40" valign="center" halign="center" font="Regular;%d" transparent="1" foregroundColor="white" shadowColor="black" shadowOffset="-1,-1" />
+                               <ePixmap position="%d,%d" zPosition="4" size="35,25" pixmap="skin_default/buttons/key_info.png" transparent="1" alphatest="on" />
+                               <ePixmap position="%d,%d" zPosition="4" size="35,25" pixmap="skin_default/buttons/key_menu.png" transparent="1" alphatest="on" />
                                </screen>""" % (
-                                                       scaleH(90, 75), scaleV(100, 73), # position 
-                                                       scaleH(1100, 570), scaleV(560, 430), # size
+                                                       (DESKTOP_WIDTH-width)/2, scaleV(100, 73), # position 
+                                                       width, scaleV(560, 430), # size
                                                        _("FritzCall Setup") + 
                                                        " (" + "$Revision$"[1: - 1] + 
                                                        "$Date$"[7:23] + ")",
-                                                       scaleH(1100, 570), # eLabel width
+                                                       width, # eLabel width
                                                        scaleH(40, 20), scaleV(10, 5), # consideration position
-                                                       scaleH(1050, 530), scaleV(25, 45), # consideration size
+                                                       scaleH(width-80, width-40), scaleV(25, 45), # consideration size
                                                        scaleV(22, 20), # consideration font size
                                                        scaleV(40, 50), # eLabel position vertical
-                                                       scaleH(1100, 570), # eLabel width
+                                                       width, # eLabel width
                                                        scaleH(40, 5), scaleV(60, 57), # config position
-                                                       scaleH(1040, 560), scaleV(453, 328), # config size
+                                                       scaleH(width-80, width-10), scaleV(453, 328), # config size
                                                        scaleV(518, 390), # eLabel position vertical
-                                                       scaleH(1100, 570), # eLabel width
-                                                       scaleH(20, 5), scaleV(525, 395), # widget red
-                                                       scaleH(290, 145), scaleV(525, 395), # widget green
-                                                       scaleH(560, 285), scaleV(525, 395), # widget yellow
-                                                       scaleH(830, 425), scaleV(525, 395), # widget blue
-                                                       scaleH(20, 5), scaleV(525, 395), scaleV(24, 21), # widget red
-                                                       scaleH(290, 145), scaleV(525, 395), scaleV(24, 21), # widget green
-                                                       scaleH(560, 285), scaleV(525, 395), scaleV(24, 21), # widget yellow
-                                                       scaleH(830, 425), scaleV(525, 395), scaleV(24, 21), # widget blue
+                                                       width, # eLabel width
+                                                       scaleH(20, 0), scaleV(525, 395), # pixmap red
+                                                       scaleH(20+140+90, 140), scaleV(525, 395), # pixmap green
+                                                       scaleH(20+2*(140+90), 2*140), scaleV(525, 395), # pixmap yellow
+                                                       scaleH(20+3*(140+90), 3*140), scaleV(525, 395), # pixmap blue
+                                                       scaleH(20, 0), scaleV(525, 395), scaleV(21, 21), # pixmap red
+                                                       scaleH(20+(140+90), 140), scaleV(525, 395), scaleV(21, 21), # widget green
+                                                       scaleH(20+2*(140+90), 2*140), scaleV(525, 395), scaleV(21, 21), # widget yellow
+                                                       scaleH(20+3*(140+90), 3*140), scaleV(525, 395), scaleV(21, 21), # widget blue
+                                                       scaleH(20+4*(140+90), 4*140), scaleV(532, 402), # button info
+                                                       scaleH(20+4*(140+90)+(35+40), 4*140+35), scaleV(532, 402) # button menu
                                                                                                                )
 
                Screen.__init__(self, session)
@@ -1464,27 +1921,24 @@ class FritzCallSetup(Screen, ConfigListScreen, HelpableScreen):
                self["key_yellow"] = Button(_("Phone calls"))
                # TRANSLATORS: keep it short, this is a button
                self["key_blue"] = Button(_("Phonebook"))
+               # TRANSLATORS: keep it short, this is a button
+               self["key_info"] = Button(_("About FritzCall"))
+               # TRANSLATORS: keep it short, this is a button
+               self["key_menu"] = Button(_("FRITZ!Box Fon Status"))
 
-               self["setupActions"] = ActionMap(["SetupActions", "ColorActions", "MenuActions"],
+               self["setupActions"] = ActionMap(["ColorActions", "OkCancelActions", "MenuActions", "EPGSelectActions"],
                {
                        "red": self.cancel,
                        "green": self.save,
                        "yellow": self.displayCalls,
                        "blue": self.displayPhonebook,
                        "cancel": self.cancel,
-                       "save": self.save,
                        "ok": self.save,
-                       "menu": self.about,
+                       "menu": self.menu,
                        "info": self.about,
                }, - 2)
 
                # TRANSLATORS: this is a help text, keep it short
-               self.helpList.append((self["setupActions"], "SetupActions", [("ok", _("save and quit"))]))
-               # TRANSLATORS: this is a help text, keep it short
-               self.helpList.append((self["setupActions"], "SetupActions", [("save", _("save and quit"))]))
-               # TRANSLATORS: this is a help text, keep it short
-               self.helpList.append((self["setupActions"], "SetupActions", [("cancel", _("quit"))]))
-               # TRANSLATORS: this is a help text, keep it short
                self.helpList.append((self["setupActions"], "ColorActions", [("red", _("quit"))]))
                # TRANSLATORS: this is a help text, keep it short
                self.helpList.append((self["setupActions"], "ColorActions", [("green", _("save and quit"))]))
@@ -1493,9 +1947,13 @@ class FritzCallSetup(Screen, ConfigListScreen, HelpableScreen):
                # TRANSLATORS: this is a help text, keep it short
                self.helpList.append((self["setupActions"], "ColorActions", [("blue", _("display phonebook"))]))
                # TRANSLATORS: this is a help text, keep it short
-               self.helpList.append((self["setupActions"], "MenuActions", [("info", _("About FritzCall"))]))
+               self.helpList.append((self["setupActions"], "OkCancelActions", [("ok", _("save and quit"))]))
                # TRANSLATORS: this is a help text, keep it short
-               self.helpList.append((self["setupActions"], "MenuActions", [("menu", _("About FritzCall"))]))
+               self.helpList.append((self["setupActions"], "OkCancelActions", [("cancel", _("quit"))]))
+               # TRANSLATORS: this is a help text, keep it short
+               self.helpList.append((self["setupActions"], "MenuActions", [("menu", _("FRITZ!Box Fon Status"))]))
+               # TRANSLATORS: this is a help text, keep it short
+               self.helpList.append((self["setupActions"], "EPGSelectActions", [("info", _("About FritzCall"))]))
 
                ConfigListScreen.__init__(self, self.list, session=session)
                self.createSetup()
@@ -1578,6 +2036,8 @@ class FritzCallSetup(Screen, ConfigListScreen, HelpableScreen):
        def about(self):
                self.session.open(FritzAbout)
 
+       def menu(self):
+               self.session.open(FritzMenu)
 
 standbyMode = False
 
@@ -1864,6 +2324,9 @@ def displayCalls(session, servicelist=None):
 def displayPhonebook(session, servicelist=None):
        session.open(phonebook.FritzDisplayPhonebook)
 
+def displayFBFStatus(session, servicelist=None):
+       session.open(FritzMenu)
+
 def main(session):
        session.open(FritzCallSetup)
 
@@ -1889,7 +2352,9 @@ def Plugins(**kwargs):
        what = _("Display FRITZ!box-Fon calls on screen")
        what_calls = _("Phone calls")
        what_phonebook = _("Phonebook")
+       what_status = _("FRITZ!Box Fon Status")
        return [ PluginDescriptor(name="FritzCall", description=what, where=PluginDescriptor.WHERE_PLUGINMENU, icon="plugin.png", fnc=main),
                PluginDescriptor(name=what_calls, description=what_calls, where=PluginDescriptor.WHERE_EXTENSIONSMENU, fnc=displayCalls),
                PluginDescriptor(name=what_phonebook, description=what_phonebook, where=PluginDescriptor.WHERE_EXTENSIONSMENU, fnc=displayPhonebook),
+               PluginDescriptor(name=what_status, description=what_status, where=PluginDescriptor.WHERE_EXTENSIONSMENU, fnc=displayFBFStatus),
                PluginDescriptor(where=[PluginDescriptor.WHERE_SESSIONSTART, PluginDescriptor.WHERE_AUTOSTART], fnc=autostart) ]
index 893f80e..b130e8c 100644 (file)
                        <entry>
                                <name>&lt;h[1-9](?:&gt;&lt;a)?\sclass=&quot;fn&quot;[^&gt;]*&gt;([^&lt;]*)&lt;</name>
                                <street>&lt;span class=&quot;street-address&quot;&gt;([^&lt;]*)&lt;/span&gt;</street>
-                               <city>&lt;span class=&quot;locality&quot;&gt;([^&lt;]*)&lt;/span&gt;</city>
+                               <city>&lt;span class=&quot;locality&quot;&gt;(?:&lt;a href=[^&gt;]*&gt;)?([^&lt;]*)(?:&lt;/a&gt;)?&lt;/span&gt;</city>
                                <zipcode>&lt;span class=&quot;postal-code&quot;>([^&lt;]*)&lt;/span&gt;</zipcode>
                        </entry>
                </website>              
        <country code="+49">
                <website name="www.dasoertliche.de" url="http://dasoertliche.de/Controller?form_name=search_inv&amp;ph=$NUMBER" prefix="0">
                <entry>
+                       <name>class=&quot;preview&quot;&gt;([^&lt;]*)&lt;span class="preview_box"&gt;</name>
+                       <street>^\s*([^,&gt;]+),&amp;nbsp;\d{5}&amp;nbsp;[^&lt;]*&lt;/div&gt;</street>
+                       <city>^[^,]*,&amp;nbsp;\d{5}&amp;nbsp;([^&lt;]*)&lt;/div&gt;</city>
+                       <zipcode>^[^,]*,&amp;nbsp;(\d{5})&amp;nbsp;[^&lt;]*&lt;/div&gt;</zipcode>
+               </entry>
+               <entry>
                        <name>class=&quot;entry&quot;\s*(?:onmouseover=&quot;&quot;)?\s*&gt;([^&lt;]*)&lt;/a&gt;</name>
-                       <street>^\s*([^,&gt;]+),&amp;nbsp;\d{5}&amp;nbsp;[^&lt;]*&lt;br/&gt;</street>
-                       <city>^[^,]*,&amp;nbsp;\d{5}&amp;nbsp;([^&lt;]*)&lt;br/&gt;</city>
-                       <zipcode>^[^,]*,&amp;nbsp;(\d{5})&amp;nbsp;[^&lt;]*&lt;br/&gt;</zipcode>
+                       <street>^\s*([^,&gt;]+),&amp;nbsp;\d{5}&amp;nbsp;[^&lt;]*&lt;/div&gt;</street>
+                       <city>^[^,]*,&amp;nbsp;\d{5}&amp;nbsp;([^&lt;]*)&lt;/div&gt;</city>
+                       <zipcode>^[^,]*,&amp;nbsp;(\d{5})&amp;nbsp;[^&lt;]*&lt;/div&gt;</zipcode>
                </entry>
                </website>
                <website name="www.dastelefonbuch.de" url="http://www.dastelefonbuch.de/?sourceid=Mozilla-search&amp;cmd=search&amp;kw=$NUMBER" prefix="0">