]> git.vomp.tv Git - vompclient-marten.git/commitdiff
Finnish and French added, Timers screen code
authorChris Tallon <chris@vomp.tv>
Tue, 3 Jan 2006 23:53:42 +0000 (23:53 +0000)
committerChris Tallon <chris@vomp.tv>
Tue, 3 Jan 2006 23:53:42 +0000 (23:53 +0000)
language-data.h
rectimer.cc
rectimer.h
vdr.cc
vdr.h
vrecordinglist.cc
vtimerlist.cc
vtimerlist.h
vwelcome.cc
vwelcome.h

index 23182e7aad01fe65b09cfb7e7a5f74a929aa48c4..437b9f8e3d5d72bff68f3129327ddc20b676f79f 100644 (file)
-/*
- * language_data.h: Internationalization
- *
- * This code is taken from the VDR project and modified for VOMP.
- * See the main source file 'vdr.c' for original copyright information.
- * Modifications (C) 2005 D Pickles.
-
-    This file is part of VOMP.
-
-    VOMP is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    VOMP is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with VOMP; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-*/
-
-/*
- * How to add a new language:
- *
- * 1. Announce your translation action on the VOMP forum
- *    to avoid duplicate work.
- * 2. Increase the value of 'NUM_LANGUAGES' below.
- * 3. Insert a new line in the 'Languages' array containing the name of your
- *    language IN YOUR LANGUAGE, so 'Italiano' not 'Italian' for example.
- *    Append your language after the last existing language
- *    but before the 'test' language
- * 4. Insert a new line in the charSets array containing the name of the character
- *    set needed for your language. Note that at present only ISO8859-1 is
- *    supported
- * 5. Insert a new line in the languageCodes array containing the 3-letter
- *    abbreviation(s) for your language as used in the channels.conf.
- * 6. Insert a line in every member of the 'Phrases[]' array,
- *    containing the translated text for your language. You can use the 'test'
- *    language to see where the phrases appear on the screen.
- * 7. If your language requires a character set other than the default iso8859-1
- *    then work will be needed elsewhere in vomp to manage multiple font files.
- * 8. Compile VOMP and test the new language by switching to it
- *    in the "Options" menu.
- * 9. Send the modified files to Chris to have it included in the next version.
- *
- * In case an English phrase is used in more than one context (and might need
- * different translations in other languages) it can be preceeded with an
- * arbitrary string to describe its context, separated from the actual phrase
- * by a '$' character (see for instance "Button$Stop" vs. "Stop").
- * Of course this means that no English phrase may contain the '$' character!
- * If this should ever become necessary, the existing '$' would have to be
- * replaced with something different...
- */
-
-#ifdef I18N_HEADER
-
-#define NUM_LANGUAGES 5
-#define DEFAULT_LANGUAGE_INDEX 0
-
-#else
-
-// The names of the languages (English MUST be first!):
-const char* const I18n::Languages[] =
-{
-  "English",
-  "Deutsch", // German by André Jagusch
-  "Svenska", // Swedish by Lars Fredriksson
-  "Magyar",  // Hungarian by Pák Gergely
-  "Test"
-};
-
-// The character set needed for each language:
-const char* const I18n::charSets[] =
-{
-  "iso8859-1",
-  "iso8859-1",
-  "iso8859-1",
-  "iso8859-1",
-  "iso8859-1"
-};
-
-// The 3-letter names of the language (this MUST be the third phrase!):
-const char* const I18n::languageCodes[] =
-{
-  "eng,dos",
-  "deu,ger",
-  "sve,swe",
-  "hun",
-  "tst,xxx"
-};
-
-// The phrases to be translated:
-const I18n::tI18nPhrase I18n::Phrases[] =
-{
-  // Menu titles:
-  { "VDR",
-    "VDR",
-    "VDR",
-    "VDR",
-    "VDR",
-  },
-  { "Schedule",
-    "Programm",
-    "Program",
-    "Müsor",
-    "0",
-  },
-  // Welcome screen
-  { "Welcome",
-    "Willkommen",
-    "Välkommen",
-    "Üdvözöljük",
-    "1",
-  },
-  { "1. Live TV",
-    "1. Fernsehen",
-    "1. TV",
-    "1. TV",
-    "2",
-  },
-  { "2. Radio",
-    "2. Radio",
-    "2. Radio",
-    "2. Rádió",
-    "3",
-  },
-  { "3. Recordings",
-    "3. Aufnahmen",
-    "3. Inspelningar",
-    "3. Felvételek",
-    "4",
-  },
-  { "4. Options",
-    "4. Einstellungen",
-    "4. Inställningar",
-    "4. Beállítások",
-    "5",
-  },
-  { "5. Stand by",
-    "5. Stand-by",
-    "5. Stäng av",
-    "5. Készenlét",
-    "6",
-  },
-  { "6. Reboot",
-    "6. Neustart",
-    "6. Starta om",
-    "6. Újraindítás",
-    "7",
-  },
-  { "Downloading recordings list",
-    "Lade die Aufnahmen-Liste",
-    "Laddar lista över inspelningar",
-    "Felvétellista letöltése",
-    "8",
-  },
-  // Recordings list
-  { "Recordings - %s",
-    "Aufnahmen - %s",
-    "Inspelningar - %s",
-    "Felvételek - %s",
-    "9 - %s",
-  },
-  { "Recordings",
-    "Aufnahmen",
-    "Inspelningar",
-    "Felvételek",
-    "10",
-  },
-  { "<dir> %lu\t%s",
-    "<dir> %lu\t%s",
-    "<dir> %lu\t%s",
-    "<dir> %lu\t%s",
-    "11 %lu\t%s",
-  },
-  { "[ok] = menu",
-    "[ok] = Menü",
-    "[ok] = meny",
-    "[ok] = menü",
-    "12",
-  },
-  { "%lu%% used, %iGB free",
-    "%lu%% belegt, %iGB frei",
-    "%lu% använt, %iGB ledigt",
-    "%lu% felhasznált, %iGB szabad",
-    "13 %lu%% %i",
-  },
-  { "%i to %i of %i", // Also used in channels list
-    "%i bis %i (von %i)",
-    "%i av %i till %i",
-    "%i - %i (összesen %i)",
-    "14 %i %i %i",
-  },
-  // Question
-  { "Yes",
-    "Ja",
-    "Ja",
-    "Igen",
-    "15",
-  },
-  { "No",
-    "Nein",
-    "Nej",
-    "Nem",
-    "16",
-  },
-  // Recording Menu
-  { "Programme menu",
-    "Programm-Menü",
-    "Programmeny",
-    "Müsor menü",
-    "17",
-  },
-  { "Play",
-    "Wiedergeben",
-    "Spela upp",
-    "Lejátszás",
-    "18",
-  },
-  { "Resume",
-    "Fortsetzen",
-    "Återuppta",
-    "Folytatás",
-    "19",
-  },
-  { "Summary",
-    "Inhalt",
-    "Sammanfattning",
-    "Tartalom",
-    "20",
-  },
-  { "Delete",
-    "Löschen",
-    "Ta bort",
-    "Törlés",
-    "21",
-  },
-  { "Programme summary",
-    "Programminhalt",
-    "Programsammanfattning",
-    "Müsor tartalom",
-    "22",
-  },
-  { "Summary unavailable",
-    "Inhalt nicht verfügbar",
-    "Ingen sammanfattning tillgänglig",
-    "Tartalom nem elérhetö",
-    "23",
-  },
-  { "Delete recording",
-    "Aufnahme löschen",
-    "Ta bort inspelning",
-    "Felvétel törlése",
-    "24",
-  },
-  { "Are you sure you want to delete this recording?",
-    "Sind Sie sich sicher, dass Sie diese Aufnahme löschen möchten?",
-    "Är du säker att du vill ta bort den här inspelningen",
-    "Biztosan törölni szeretné ezt a felvételt?",
-    "25",
-  },
-  // Server select
-  { "Choose a VDR server",
-    "Wählen Sie einen VDR-Server",
-    "Välj VDR server",
-    "Válasszon egy VDR szervert",
-    "26",
-  },
-
-  // Option menus
-  { "Options",
-    "Einstellungen",
-    "Inställningar",
-    "Beállitások",
-    "27",
-  },
-  { "TV connection type",
-    "TV-Anschlußart",
-    "Typ av TV-anslutning",
-    "TV csatlakozás tipusa",
-    "28",
-  },
-  { "Remote control type",
-    "Fernbedienungstyp",
-    "Fjärrkontroll",
-    "Távirányitó tipusa",
-    "29",
-  },
-  { "TV aspect ratio",
-    "Seitenverhältnis",
-    "TV-format",
-    "TV képformátum",
-    "30",
-  },
-  { "16:9 on 4:3 display mode",
-    "16:9 auf 4:3-Modus",
-    "16:9 på 4:3-skärm",
-    "16:9 a 4:3-as képernyön",
-    "30a",
-  },
-  { "Power state after bootup",
-    "Einschalten nach Neustart",
-    "Läge efter strömborfall",
-    "Bekapcsolás utáni állapot",
-    "31",
-  },
-  { "Display channels",
-    "Kanäle anzeigen",
-    "Visa kanaler",
-    "Csatornák megjelenítése",
-    "32",
-  },
-  { "Language",
-    "Sprache",
-    "Språk",
-    "Nyelv",
-    "33",
-  },
-  { "Press back to exit, <, > or [ok] to change",
-    "Zum Verlassen back drücken, <, > oder [ok] zum Wechseln",
-    "Tryck [back] för att avsluta, eller [ok] för att ändra",
-    "[back] gombbal kilép, [<], [>] vagy [ok] gombbal választ",
-    "34",
-  },
-  { "VDR-Pri 0=OK !See forums!",
-    "VDR-Pri 0=OK !Siehe Forum!",
-    "VDR-Prio 0=OK !Se forum!",
-    "VDR-Pri 0=OK !lásd. fórum!",
-    "34a",
-  },
-  // Option choices
-  { "Old",
-    "Alt",
-    "Gammal modell",
-    "Régi",
-    "35",
-  },
-  { "New",
-    "Neu",
-    "Ny modell",
-    "Új",
-    "36",
-  },
-  { "RGB+composite",
-    "RGB+composite",
-    "RGB+komposit",
-    "RGB+composite",
-    "37",
-  },
-  { "S-Video",
-    "S-Video",
-    "S-Video",
-    "S-Video",
-    "38",
-  },
-  { "Chop sides",
-    "Seiten abschneiden",
-    "Ta bort på sidorna",
-    "Szélek levágva",
-    "39",
-  },
-  { "Letterbox",
-    "Letterbox",
-    "Letterbox",
-    "Letterbox",
-    "40",
-  },
-  { "Last state",
-    "Letzter Zustand",
-    "Återgå til senaste läge",
-    "Utolsó állapot",
-    "41",
-  },
-  { "All",
-    "Alle",
-    "Alla",
-    "Összes",
-    "42",
-  },
-  { "FTA only",
-    "nur FTA",
-    "Endast FTA",
-    "Csak FTA",
-    "43",
-  },
-  { "On",
-    "An",
-    "På",
-    "Be",
-    "44",
-  },
-  { "Off",
-    "Aus",
-    "Av",
-    "Ki",
-    "45",
-  },
-
-  // Channel Lists
-  { "Channels",
-    "Fernsehkanäle",
-    "Kanaler",
-    "Csatornák",
-    "46",
-  },
-  { "Radio Stations",
-    "Radiokanäle",
-    "Radiostationer",
-    "Rádiócsatornák",
-    "47",
-  },
-  // Banners
-  { "No channel data available",
-    "Keine Daten für diesen Kanal verfügbar",
-    "Ingen programinformation tillgänglig",
-    "Csatorna-adatok nem állnak rendelkezésre",
-    "48",
-  },
-  { "info",
-    "Info",
-    "Info",
-    "Infó",
-    "49",
-  },
-  { "info",
-    "Info",
-    "Info",
-    "Infó",
-    "50",
-  },
-  { "Channel unavailable",
-    "Kanal nicht verfügbar",
-    "Kanalen är inte tillgänglig",
-    "A csatorna nem elérhetö",
-    "51",
-  },
-  // Connect screen
-  { "Locating server",
-    "Lokalisiere Server",
-    "Letar efter server",
-    "Szerver keresése",
-    "52",
-  },
-  { "Connecting to VDR",
-    "Verbinde zum VDR",
-    "Ansluter till VDR",
-    "Csatlakozás a VDR-hez",
-    "53",
-  },
-  { "Login failed",
-    "Login fehlgeschlagen",
-    "Inloggning misslycklades",
-    "Bejelentkezés sikertelen",
-    "54",
-  },
-  { "Connection failed",
-    "Verbindung fehlgeschlagen",
-    "Anslutning misslyckades",
-    "Kapcsolódás sikertelen",
-    "55",
-  },
-  // Command
-  { "Connected, loading config",
-    "Verbunden, lade Einstellungen",
-    "Ansluten, laddar konfigurering",
-    "Kapcsolódva, beállitások betöltése",
-    "56",
-  },
-  // EPG
-  { "EPG",
-    "EPG",
-    "EPG",
-    "EPG",
-    "57",
-  },
-  { "OK",
-    "OK",
-    "OK",
-    "OK",
-    "57.5",
-  },
-  { "Page up",
-    "Seite hoch",
-    "",
-    "Visszalapozás",
-    "58",
-  },
-  { "Page down",
-    "Seite runter",
-    "",
-    "Elörelapozás",
-    "59",
-  },
-  { "-24 hours",
-    "-24 Std.",
-    "",
-    "-24 óra",
-    "60",
-  },
-  { "+24 hours",
-    "+24 Std.",
-    "",
-    "+24 óra",
-    "61",
-  },
-  { "Go: Preview",
-    "Go: Vorschau",
-    "",
-    "",
-    "61.5",
-  },
-  { "Guide / Back: Close",
-    "Back: EPG schließen",
-    "",
-    "Guide / Back: Bezárás",
-    "62",
-  },
-  { "Rec: Set timer",
-    "Rec: Aufnahme programmieren",
-    "",
-    "Rec: Felvétel beállítása",
-    "63",
-  },
-  { "Sel channel",
-    "Umschalten",
-    "",
-    "Csatornaválasztás",
-    "64",
-  },
-  { "There are no programme details available for this period",
-    "Es sind keine Programminformationen für diesen Zeitraum verfügbar",
-    "",
-    "Nincs programinformáció ehhez az idöszakhoz",
-    "65",
-  },
-  { "No programme details",
-    "Keine Programminformation",
-    "",
-    "Nincs programinformáció",
-    "66",
-  },
- // End marker.
-  { NULL }
-};
-
-#endif
+/*\r
+ * language_data.h: Internationalization\r
+ *\r
+ * This code is taken from the VDR project and modified for VOMP.\r
+ * See the main source file 'vdr.c' for original copyright information.\r
+ * Modifications (C) 2005 D Pickles.\r
+\r
+    This file is part of VOMP.\r
+\r
+    VOMP is free software; you can redistribute it and/or modify\r
+    it under the terms of the GNU General Public License as published by\r
+    the Free Software Foundation; either version 2 of the License, or\r
+    (at your option) any later version.\r
+\r
+    VOMP is distributed in the hope that it will be useful,\r
+    but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+    GNU General Public License for more details.\r
+\r
+    You should have received a copy of the GNU General Public License\r
+    along with VOMP; if not, write to the Free Software\r
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
+*/\r
+\r
+/*\r
+ * How to add a new language:\r
+ *\r
+ * 1. Announce your translation action on the VOMP forum\r
+ *    to avoid duplicate work.\r
+ * 2. Increase the value of 'NUM_LANGUAGES' below.\r
+ * 3. Insert a new line in the 'Languages' array containing the name of your\r
+ *    language IN YOUR LANGUAGE, so 'Italiano' not 'Italian' for example.\r
+ *    Append your language after the last existing language\r
+ *    but before the 'test' language\r
+ * 4. Insert a new line in the charSets array containing the name of the character\r
+ *    set needed for your language. Note that at present only ISO8859-1 is\r
+ *    supported\r
+ * 5. Insert a new line in the languageCodes array containing the 3-letter\r
+ *    abbreviation(s) for your language as used in the channels.conf.\r
+ * 6. Insert a line in every member of the 'Phrases[]' array,\r
+ *    containing the translated text for your language. You can use the 'test'\r
+ *    language to see where the phrases appear on the screen.\r
+ * 7. If your language requires a character set other than the default iso8859-1\r
+ *    then work will be needed elsewhere in vomp to manage multiple font files.\r
+ * 8. Compile VOMP and test the new language by switching to it\r
+ *    in the "Options" menu.\r
+ * 9. Send the modified files to Chris to have it included in the next version.\r
+ *\r
+ * In case an English phrase is used in more than one context (and might need\r
+ * different translations in other languages) it can be preceeded with an\r
+ * arbitrary string to describe its context, separated from the actual phrase\r
+ * by a '$' character (see for instance "Button$Stop" vs. "Stop").\r
+ * Of course this means that no English phrase may contain the '$' character!\r
+ * If this should ever become necessary, the existing '$' would have to be\r
+ * replaced with something different...\r
+ */\r
+\r
+#ifdef I18N_HEADER\r
+\r
+#define NUM_LANGUAGES 7\r
+#define DEFAULT_LANGUAGE_INDEX 0\r
+\r
+#else\r
+\r
+// The names of the languages (English MUST be first!):\r
+const char* const I18n::Languages[] =\r
+{\r
+  "English",\r
+  "Deutsch",  // German by André Jagusch\r
+  "Svenska",  // Swedish by Lars Fredriksson\r
+  "Magyar",   // Hungarian by Pák Gergely\r
+  "Suomi",    // Finnish by Kimmo Lahdensivu\r
+  "Francais", // French by jtk\r
+  "Test"\r
+};\r
+\r
+// The character set needed for each language:\r
+const char* const I18n::charSets[] =\r
+{\r
+  "iso8859-1",\r
+  "iso8859-1",\r
+  "iso8859-1",\r
+  "iso8859-1",\r
+  "iso8859-1",\r
+  "iso8859-1",\r
+  "iso8859-1"\r
+};\r
+\r
+// The 3-letter names of the language (this MUST be the third phrase!):\r
+const char* const I18n::languageCodes[] =\r
+{\r
+  "eng,dos",\r
+  "deu,ger",\r
+  "sve,swe",\r
+  "hun",\r
+  "fin",\r
+  "fre",\r
+  "tst,xxx"\r
+};\r
+\r
+// The phrases to be translated:\r
+const I18n::tI18nPhrase I18n::Phrases[] =\r
+{\r
+  // Menu titles:\r
+  { "VDR",\r
+    "VDR",\r
+    "VDR",\r
+    "VDR",\r
+    "VDR",\r
+    "VDR",\r
+    "VDR",\r
+  },\r
+  // Welcome screen\r
+  { "Welcome",\r
+    "Willkommen",\r
+    "Välkommen",\r
+    "Tervetuloa",\r
+    "Üdvözöljük",\r
+    "Bonjour",\r
+    "1",\r
+  },\r
+  { "1. Live TV",\r
+    "1. Fernsehen",\r
+    "1. TV",\r
+    "1. TV",\r
+    "1. TV",\r
+    "1. TV en direct",\r
+    "2",\r
+  },\r
+  { "2. Radio",\r
+    "2. Radio",\r
+    "2. Radio",\r
+    "2. Rádió",\r
+    "2. Radio",\r
+    "2. Radio",\r
+    "3",\r
+  },\r
+  { "3. Recordings",\r
+    "3. Aufnahmen",\r
+    "3. Inspelningar",\r
+    "3. Felvételek",\r
+    "3. Tallenteet",\r
+    "3. Enregistrements",\r
+    "4",\r
+  },\r
+  { "4. Timers",\r
+    "",\r
+    "",\r
+    "",\r
+    "",\r
+    "",\r
+    "5",\r
+  },\r
+  { "5. Options",\r
+    "5. Einstellungen",\r
+    "5. Inställningar",\r
+    "5. Beállítások",\r
+    "5. Asetukset",\r
+    "5. Options",\r
+    "6",\r
+  },\r
+  { "6. Reboot",\r
+    "6. Neustart",\r
+    "6. Starta om",\r
+    "6. Újraindítás",\r
+    "6. Uudelleenkäynnistys",\r
+    "6. Redemarrer",\r
+    "7",\r
+  },\r
+  { "Downloading recordings list",\r
+    "Lade die Aufnahmen-Liste",\r
+    "Laddar lista över inspelningar",\r
+    "Felvétellista letöltése",\r
+    "Ladataan tallennelistaa",\r
+    "Recuperer liste enregistrements",\r
+    "8",\r
+  },\r
+  // Recordings list\r
+  { "Recordings - %s",\r
+    "Aufnahmen - %s",\r
+    "Inspelningar - %s",\r
+    "Felvételek - %s",\r
+    "Tallenteet - %s",\r
+    "Enregistrements - %s",\r
+    "9 - %s",\r
+  },\r
+  { "Recordings",\r
+    "Aufnahmen",\r
+    "Inspelningar",\r
+    "Felvételek",\r
+    "Tallenteet",\r
+    "Enregistrements",\r
+    "10",\r
+  },\r
+  { "<dir> %lu\t%s",\r
+    "<dir> %lu\t%s",\r
+    "<dir> %lu\t%s",\r
+    "<dir> %lu\t%s",\r
+    "<dir> %lu\t%s",\r
+    "<dir> %lu\t%s",\r
+    "11 %lu\t%s",\r
+  },\r
+  { "[ok] = menu",\r
+    "[ok] = Menü",\r
+    "[ok] = meny",\r
+    "[ok] = menü",\r
+    "[ok] = menu",\r
+    "[ok] = valikko",\r
+    "12",\r
+  },\r
+  { "%lu%% used, %iGB free",\r
+    "%lu%% belegt, %iGB frei",\r
+    "%lu%% använt, %iGB ledigt",\r
+    "%lu%% felhasznált, %iGB szabad",\r
+    "%lu%% käytetty, %iGt vapaana",\r
+    "%lu%% utilise, %iGB libre",\r
+    "13 %lu%% %i",\r
+  },\r
+  { "%i to %i of %i", // Also used in channels list\r
+    "%i bis %i (von %i)",\r
+    "%i av %i till %i",\r
+    "%i - %i (összesen %i)",\r
+    "%i - %i (yhteensä %i)",\r
+    "%i de %i a %i",\r
+    "14 %i %i %i",\r
+  },\r
+  // Question\r
+  { "Yes",\r
+    "Ja",\r
+    "Ja",\r
+    "Igen",\r
+    "Kyllä",\r
+    "Oui",\r
+    "15",\r
+  },\r
+  { "No",\r
+    "Nein",\r
+    "Nej",\r
+    "Nem",\r
+    "Ei",\r
+    "Non",\r
+    "16",\r
+  },\r
+  // Recording Menu\r
+  { "Programme menu",\r
+    "Programm-Menü",\r
+    "Programmeny",\r
+    "Müsor menü",\r
+    "Ohjelmavalikko",\r
+    "Menu Programation",\r
+    "17",\r
+  },\r
+  { "Play",\r
+    "Wiedergeben",\r
+    "Spela upp",\r
+    "Lejátszás",\r
+    "Näytä",\r
+    "Jouer",\r
+    "18",\r
+  },\r
+  { "Resume",\r
+    "Fortsetzen",\r
+    "Återuppta",\r
+    "Folytatás",\r
+    "Jatka",\r
+    "Reprendre",\r
+    "19",\r
+  },\r
+  { "Summary",\r
+    "Inhalt",\r
+    "Sammanfattning",\r
+    "Tartalom",\r
+    "Yhteenveto",\r
+    "Resume",\r
+    "20",\r
+  },\r
+  { "Delete",\r
+    "Löschen",\r
+    "Ta bort",\r
+    "Törlés",\r
+    "Poista",\r
+    "Supprimer",\r
+    "21",\r
+  },\r
+  { "Programme summary",\r
+    "Programminhalt",\r
+    "Programsammanfattning",\r
+    "Müsor tartalom",\r
+    "Ohjelmayhteenveto",\r
+    "Sommaire programmes",\r
+    "22",\r
+  },\r
+  { "Summary unavailable",\r
+    "Inhalt nicht verfügbar",\r
+    "Ingen sammanfattning tillgänglig",\r
+    "Tartalom nem elérhetö",\r
+    "Yhteenvetoa ei saatavissa",\r
+    "Sommaire indisponible",\r
+    "23",\r
+  },\r
+  { "Delete recording",\r
+    "Aufnahme löschen",\r
+    "Ta bort inspelning",\r
+    "Felvétel törlése",\r
+    "Poista tallenne",\r
+    "Effacer enregistrement",\r
+    "24",\r
+  },\r
+  { "Are you sure you want to delete this recording?",\r
+    "Sind Sie sich sicher, dass Sie diese Aufnahme löschen möchten?",\r
+    "Är du säker att du vill ta bort den här inspelningen",\r
+    "Biztosan törölni szeretné ezt a felvételt?",\r
+    "Oletko varma, että haluat poistaa tämän tallenteen?",\r
+    "Etes-vous sur de vouloir supprimer cet enregistrement?",\r
+    "25",\r
+  },\r
+  // Server select\r
+  { "Choose a VDR server",\r
+    "Wählen Sie einen VDR-Server",\r
+    "Välj VDR server",\r
+    "Válasszon egy VDR szervert",\r
+    "Valitse VDR-palvelin",\r
+    "Choisir une serveur VDR",\r
+    "26",\r
+  },\r
+\r
+  // Option menus\r
+  { "Options",\r
+    "Einstellungen",\r
+    "Inställningar",\r
+    "Beállitások",\r
+    "Asetukset",\r
+    "Options",\r
+    "27",\r
+  },\r
+  { "TV connection type",\r
+    "TV-Anschlußart",\r
+    "Typ av TV-anslutning",\r
+    "TV csatlakozás tipusa",\r
+    "TV-liityntä",\r
+    "Type de connection TV",\r
+    "28",\r
+  },\r
+  { "Remote control type",\r
+    "Fernbedienungstyp",\r
+    "Fjärrkontroll",\r
+    "Távirányitó tipusa",\r
+    "Kauko-ohjaimen tyyppi",\r
+    "Type telecommande",\r
+    "29",\r
+  },\r
+  { "TV aspect ratio",\r
+    "Seitenverhältnis",\r
+    "TV-format",\r
+    "TV képformátum",\r
+    "Kuvasuhde",\r
+    "Rapport TV",\r
+    "30",\r
+  },\r
+  { "16:9 on 4:3 display mode",\r
+    "16:9 auf 4:3-Modus",\r
+    "16:9 på 4:3-skärm",\r
+    "16:9 a 4:3-as képernyön",\r
+    "16:9 kuvasuhde 4:3 TV:ssä",\r
+    "16:9 sur affichage 4:3",\r
+    "30a",\r
+  },\r
+  { "Power state after bootup",\r
+    "Einschalten nach Neustart",\r
+    "Läge efter strömborfall",\r
+    "Bekapcsolás utáni állapot",\r
+    "Tila käynnistyksen jälkeen",\r
+    "Marche apres demarrage",\r
+    "31",\r
+  },\r
+  { "Display channels",\r
+    "Kanäle anzeigen",\r
+    "Visa kanaler",\r
+    "Csatornák megjelenítése",\r
+    "Näytä kanavat",\r
+    "Afficher chaines",\r
+    "32",\r
+  },\r
+  { "Language",\r
+    "Sprache",\r
+    "Språk",\r
+    "Nyelv",\r
+    "Kieli",\r
+    "Langue",\r
+    "33",\r
+  },\r
+  { "Press back to exit, <, > or [ok] to change",\r
+    "Zum Verlassen back drücken, <, > oder [ok] zum Wechseln",\r
+    "Tryck [back] för att avsluta, eller [ok] för att ändra",\r
+    "[back] gombbal kilép, [<], [>] vagy [ok] gombbal választ",\r
+    "Paina [back] poistuaksesi, <, > tao [ok] muuttaaksesi",\r
+    "Appuyer retour pour sortir <, > ou [ok] pour valider",\r
+    "34",\r
+  },\r
+  { "VDR-Pri 0=OK !See forums!",\r
+    "VDR-Pri 0=OK !Siehe Forum!",\r
+    "VDR-Prio 0=OK !Se forum!",\r
+    "VDR-Pri 0=OK !lásd. fórum!",\r
+    "VDR-Pri 0=OK !Lue forumit!",\r
+    "VDR-Pri 0=OK !Voir forums!",\r
+    "34a",\r
+  },\r
+  // Option choices\r
+  { "Old",\r
+    "Alt",\r
+    "Gammal modell",\r
+    "Régi",\r
+    "Vanha",\r
+    "Vieux",\r
+    "35",\r
+  },\r
+  { "New",\r
+    "Neu",\r
+    "Ny modell",\r
+    "Új",\r
+    "Uusi",\r
+    "Nouveau",\r
+    "36",\r
+  },\r
+  { "RGB+composite",\r
+    "RGB+composite",\r
+    "RGB+komposit",\r
+    "RGB+composite",\r
+    "RGB+komposiitti",\r
+    "RGB+composite",\r
+    "37",\r
+  },\r
+  { "S-Video",\r
+    "S-Video",\r
+    "S-Video",\r
+    "S-Video",\r
+    "S-Video",\r
+    "S-Video",\r
+    "38",\r
+  },\r
+  { "Chop sides",\r
+    "Seiten abschneiden",\r
+    "Ta bort på sidorna",\r
+    "Szélek levágva",\r
+    "Leikkaa sivut",\r
+    "Couper bords",\r
+    "39",\r
+  },\r
+  { "Letterbox",\r
+    "Letterbox",\r
+    "Letterbox",\r
+    "Letterbox",\r
+    "Letterbox",\r
+    "Letterbox",\r
+    "40",\r
+  },\r
+  { "Last state",\r
+    "Letzter Zustand",\r
+    "Återgå til senaste läge",\r
+    "Utolsó állapot",\r
+    "Edellinen tila",\r
+    "Etat precedent",\r
+    "41",\r
+  },\r
+  { "All",\r
+    "Alle",\r
+    "Alla",\r
+    "Összes",\r
+    "Kaikki",\r
+    "Tout",\r
+    "42",\r
+  },\r
+  { "FTA only",\r
+    "nur FTA",\r
+    "Endast FTA",\r
+    "Csak FTA",\r
+    "Vain FTA",\r
+    "FTA seulement",\r
+    "43",\r
+  },\r
+  { "On",\r
+    "An",\r
+    "På",\r
+    "Be",\r
+    "Päällä",\r
+    "On",\r
+    "44",\r
+  },\r
+  { "Off",\r
+    "Aus",\r
+    "Av",\r
+    "Ki",\r
+    "Poissa",\r
+    "Off",\r
+    "45",\r
+  },\r
+\r
+  // Channel Lists\r
+  { "Channels",\r
+    "Fernsehkanäle",\r
+    "Kanaler",\r
+    "Csatornák",\r
+    "Kanavat",\r
+    "Chaines",\r
+    "46",\r
+  },\r
+  { "Radio Stations",\r
+    "Radiokanäle",\r
+    "Radiostationer",\r
+    "Rádiócsatornák",\r
+    "Radiokanavat",\r
+    "Stations Radio",\r
+    "47",\r
+  },\r
+  // Banners\r
+  { "No channel data available",\r
+    "Keine Daten für diesen Kanal verfügbar",\r
+    "Ingen programinformation tillgänglig",\r
+    "Csatorna-adatok nem állnak rendelkezésre",\r
+    "Kanavatietoa ei saatavilla",\r
+    "Pas de chaines disponibles",\r
+    "48",\r
+  },\r
+  { "info",\r
+    "Info",\r
+    "Info",\r
+    "Infó",\r
+    "Info",\r
+    "Info",\r
+    "49",\r
+  },\r
+  { "Channel unavailable",\r
+    "Kanal nicht verfügbar",\r
+    "Kanalen är inte tillgänglig",\r
+    "A csatorna nem elérhetö",\r
+    "Kanava ei saatavilla",\r
+    "Chaine indisponible",\r
+    "51",\r
+  },\r
+  // Connect screen\r
+  { "Locating server",\r
+    "Lokalisiere Server",\r
+    "Letar efter server",\r
+    "Szerver keresése",\r
+    "Etsitään palvelinta",\r
+    "Recherche serveur",\r
+    "52",\r
+  },\r
+  { "Connecting to VDR",\r
+    "Verbinde zum VDR",\r
+    "Ansluter till VDR",\r
+    "Csatlakozás a VDR-hez",\r
+    "Yhdistetään VDR:ään",\r
+    "Connection au VDR",\r
+    "53",\r
+  },\r
+  { "Login failed",\r
+    "Login fehlgeschlagen",\r
+    "Inloggning misslycklades",\r
+    "Bejelentkezés sikertelen",\r
+    "Sisäänkirjautuminen epäonnistui",\r
+    "Echec de login",\r
+    "54",\r
+  },\r
+  { "Connection failed",\r
+    "Verbindung fehlgeschlagen",\r
+    "Anslutning misslyckades",\r
+    "Kapcsolódás sikertelen",\r
+    "Yhteys epäonnistui",\r
+    "Echec de connection",\r
+    "55",\r
+  },\r
+  // Command\r
+  { "Connected, loading config",\r
+    "Verbunden, lade Einstellungen",\r
+    "Ansluten, laddar konfigurering",\r
+    "Kapcsolódva, beállitások betöltése",\r
+    "Yhdistetty, ladataan konfiguraatiota",\r
+    "Connecte, chargement configuration",\r
+    "56",\r
+  },\r
+  // EPG\r
+  { "EPG",\r
+    "EPG",\r
+    "EPG",\r
+    "EPG",\r
+    "EPG",\r
+    "EPG",\r
+    "57",\r
+  },\r
+  { "OK",\r
+    "OK",\r
+    "OK",\r
+    "OK",\r
+    "OK",\r
+    "OK",\r
+    "57.5",\r
+  },\r
+  { "Page up",\r
+    "Seite hoch",\r
+    "Föregående sida",\r
+    "Visszalapozás",\r
+    "Seuraava sivu",\r
+    "Haut de page",\r
+    "58",\r
+  },\r
+  { "Page down",\r
+    "Seite runter",\r
+    "Nästa sida",\r
+    "Elörelapozás",\r
+    "Edellinen sivu",\r
+    "Bas de page",\r
+    "59",\r
+  },\r
+  { "-24 hours",\r
+    "-24 Std.",\r
+    "-24 timmar",\r
+    "-24 óra",\r
+    "-24 tuntia",\r
+    "-24 heures",\r
+    "60",\r
+  },\r
+  { "+24 hours",\r
+    "+24 Std.",\r
+    "+24 timmar",\r
+    "+24 óra",\r
+    "+24 tuntia",\r
+    "+24 heures",\r
+    "61",\r
+  },\r
+  { "Go: Preview",\r
+    "Go: Vorschau",\r
+    "Go: Visa",\r
+    "",\r
+    "Go: Esikatselu",\r
+    "Go: apercu",\r
+    "61.5",\r
+  },\r
+  { "Guide / Back: Close",\r
+    "Back: EPG schließen",\r
+    "Guide / Back: Stäng",\r
+    "Guide / Back: Bezárás",\r
+    "Guide / Back: Sulje",\r
+    "Guide / Back: Fermer",\r
+    "62",\r
+  },\r
+  { "Rec: Set timer",\r
+    "Rec: Aufnahme programmieren",\r
+    "Rec: Programmera timer",\r
+    "Rec: Felvétel beállítása",\r
+    "Rec: Aseta ajastus",\r
+    "Rec: Definir heure",\r
+    "63",\r
+  },\r
+  { "Sel channel",\r
+    "Umschalten",\r
+    "Välj kanal",\r
+    "Csatornaválasztás",\r
+    "Valitse kanava",\r
+    "Selection chaine",\r
+    "64",\r
+  },\r
+  { "There are no programme details available for this period",\r
+    "Es sind keine Programminformationen für diesen Zeitraum verfügbar",\r
+    "Det finns ingen programinforamtion för denna period",\r
+    "Nincs programinformáció ehhez az idöszakhoz",\r
+    "Tälle ajanjaksolle ei saatavilla ohjelmatietoja",\r
+    "Aucune information sur le programme pour cette periode",\r
+    "65",\r
+  },\r
+  { "No programme details",\r
+    "Keine Programminformation",\r
+    "Ingen programinformation tillgänglig",\r
+    "Nincs programinformáció",\r
+    "Ei ohjelmatietoja",\r
+    "Pas de detail du programme",\r
+    "66",\r
+  },\r
+ // End marker.\r
+  { NULL }\r
+};\r
+\r
+#endif\r
index 9211fd7591cdcbd7750f7627692881494b97e86b..d6742c03641516de7bb1c34bf494b2da43927fe4 100644 (file)
@@ -35,10 +35,45 @@ RecTimer::RecTimer()
   summary = NULL;
 
   index = -1;
+  directory = NULL;
+  name = NULL;
 }
 
 RecTimer::~RecTimer()
 {
-  if (file) delete[] file;
   if (summary) delete[] summary;
+  if (file) delete[] file;
+  if (directory) delete[] directory;
+  if (name) delete[] name;
+}
+
+bool RecTimer::operator< (const RecTimer& op2)
+{
+  return startTime < op2.startTime;
+}
+
+void RecTimer::setFile(const char* tFile)
+{
+  file = new char[strlen(tFile)+1];
+  strcpy(file, tFile);
+
+
+  char* sub = strstr(file, "~");
+
+  if (sub) // Its in a dir
+  {
+    directory = new char[sub - file + 1];
+    memcpy(directory, file, sub - file);
+    directory[sub - file] = '\0';
+
+    sub++;
+    int sublen = strlen(sub);
+    name = new char[sublen + 1];
+    strcpy(name, sub);
+  }
+  else
+  {
+    name = new char[strlen(file)+1];
+    strcpy(name, file);
+  }
 }
index 55a89446592a86f3d7caa46108a0cf150b095aeb..42ba46f2ecc3f5fab479ff371cb76514726ea86a 100644 (file)
@@ -22,6 +22,7 @@
 #define RECTIMER_H
 
 #include <stdio.h>
+#include <string.h>
 
 #include "defines.h"
 
@@ -30,6 +31,11 @@ class RecTimer
   public:
     RecTimer();
     ~RecTimer();
+    void setFile(const char* tFile);
+
+    const char* getFile() { return file; }
+    const char* getDirectory() { return directory; }
+    const char* getName() { return name; }
 
     ULONG active;
     ULONG recording;
@@ -40,11 +46,21 @@ class RecTimer
     ULONG startTime;
     ULONG stopTime;
 
-    char* file;
     char* summary;
 
-
     int index;
+
+    bool operator< (const RecTimer& op2);
+
+  private:
+    char* file;
+    char* directory;
+    char* name;
 };
 
 #endif
+
+
+// File = orig VDR info = filename
+// Directory = Base Dir
+// Name = Prog name
\ No newline at end of file
diff --git a/vdr.cc b/vdr.cc
index 9eb4106823aa62ac917a1b76d4d652078ab5aaba..4f27a46ebc3406907d35e94e4d0f3e2d537d783c 100644 (file)
--- a/vdr.cc
+++ b/vdr.cc
@@ -828,6 +828,7 @@ RecTimerList* VDR::getRecTimersList()
   RecTimerList* recTimerList = new RecTimerList();
 
   RecTimer* newRecTimer;
+  char* tempString;
 
   while (packetPos < packetLength)
   {
@@ -841,17 +842,24 @@ RecTimerList* VDR::getRecTimersList()
     newRecTimer->startTime = extractULONG();
     newRecTimer->stopTime = extractULONG();
 
-    newRecTimer->file = extractString();
+    tempString = extractString();
+    newRecTimer->setFile(tempString);
+    delete[] tempString;
+
     newRecTimer->summary = extractString();
 
     recTimerList->push_back(newRecTimer);
     Log::getInstance()->log("VDR", Log::DEBUG, "TL: %lu %lu %lu %lu %lu %lu %lu %lu %s",
       newRecTimer->active, newRecTimer->recording, newRecTimer->pending, newRecTimer->priority, newRecTimer->lifeTime,
-      newRecTimer->channelNumber, newRecTimer->startTime, newRecTimer->stopTime, newRecTimer->file);
+      newRecTimer->channelNumber, newRecTimer->startTime, newRecTimer->stopTime, newRecTimer->getFile());
   }
 
   freePacket();
   pthread_mutex_unlock(&mutex);
 
+  // Sort the list
+
+  sort(recTimerList->begin(), recTimerList->end(), RecTimerSorter());
+
   return recTimerList;
 }
diff --git a/vdr.h b/vdr.h
index 21c4b8eeccefb18fb41439d703d323fe640098f7..bf3fec53c6667c8d27bc181c17ab83bffbeeb13c 100644 (file)
--- a/vdr.h
+++ b/vdr.h
@@ -25,6 +25,7 @@
 #include <time.h>
 #include <pthread.h>
 #include <vector>
+#include <algorithm>
 
 #include "defines.h"
 #include "log.h"
@@ -44,6 +45,14 @@ typedef vector<Event*> EventList;
 typedef vector<Channel*> ChannelList;
 typedef vector<RecTimer*> RecTimerList;
 
+struct RecTimerSorter     // : public binary_function<double, double, bool>
+{
+  bool operator() (const RecTimer* a, const RecTimer* b)
+  {
+    return a->startTime < b->startTime;
+  }
+};
+
 class VDR
 {
 
index 452876aa366ee55d945a0f85f52946433d75fd2b..bd1575e115029c612d71a7534c220b80a9e286a0 100644 (file)
@@ -168,7 +168,7 @@ void VRecordingList::draw()
   w.setSurfaceOffset(150, 385);
   w.draw();
 
-  drawTextRJ("[ok] = menu", 560, 385, Colour::LIGHTTEXT);
+  drawTextRJ(tr("[ok] = menu"), 560, 385, Colour::LIGHTTEXT);
 
   // All static stuff done
 
index 2798bd7f61f6171d4add334bafa8fc3620cc7a00..ad4b2f310beadee5049049dbdc5024474f7a2001 100644 (file)
@@ -24,6 +24,11 @@ VTimerList::VTimerList(RecTimerList* trtl)
 {
   recTimerList = trtl;
 
+  clockRegion.x = 420;
+  clockRegion.y = 0;
+  clockRegion.w = 150;
+  clockRegion.h = 30;
+
   create(570, 420);
   if (Video::getInstance()->getFormat() == Video::PAL)
   {
@@ -63,10 +68,13 @@ VTimerList::~VTimerList()
 
 void VTimerList::drawData()
 {
-  char str[500];
+  char strA[300];
+  char strB[300];
+
+  struct tm* btime;
 
   sl.addColumn(0);
-  sl.addColumn(60);
+  sl.addColumn(110);
 
   RecTimer* recTimer;
   int first = 1;
@@ -74,12 +82,29 @@ void VTimerList::drawData()
   for (UINT i = 0; i < recTimerList->size(); i++)
   {
     recTimer = (*recTimerList)[i];
-    sprintf(str, "%u\t%s", i, recTimer->file);
-    recTimer->index = sl.addOption(str, first);
+    btime = localtime((time_t*)&recTimer->startTime);
+    strftime(strA, 299, "%d/%m %H:%M ", btime);
+    snprintf(strB, 299, "%s\t%s", strA, recTimer->getName());
+    recTimer->index = sl.addOption(strB, first);
     first = 0;
   }
 }
 
+void VTimerList::drawClock()
+{
+  // Blank the area first
+  rectangle(area.w - 150, 0, 150, 30, titleBarColour);
+
+  char timeString[20];
+  time_t t;
+  time(&t);
+  struct tm* tms = localtime(&t);
+  strftime(timeString, 19, "%d/%m %H:%M:%S", tms);
+  drawTextRJ(timeString, 560, 5, Colour::LIGHTTEXT);
+
+  Timers::getInstance()->setTimer(this, 1, t + 1);
+}
+
 void VTimerList::draw()
 {
   View::draw();
@@ -106,11 +131,10 @@ void VTimerList::draw()
   w.setSurfaceOffset(115, 385);
   w.draw();
 
-//  w.nextSymbol = WSymbol::PLAY;
-//  w.setSurfaceOffset(150, 385);
-//  w.draw();
+  drawTextRJ("[ok] = edit", 560, 385, Colour::LIGHTTEXT);
 
   doShowingBar();
+  drawClock();
 }
 
 void VTimerList::doShowingBar()
@@ -118,13 +142,18 @@ void VTimerList::doShowingBar()
   int topOption = sl.getTopOption() + 1;
   if (sl.getNumOptions() == 0) topOption = 0;
 
+  rectangle(220, 385, 180, 25, Colour::VIEWBACKGROUND);
   char showing[200];
   sprintf(showing, tr("%i to %i of %i"), topOption, sl.getBottomOption(), sl.getNumOptions());
-
-  rectangle(220, 385, 220+160, 385+25, Colour::VIEWBACKGROUND);
   drawText(showing, 220, 385, Colour::LIGHTTEXT);
 }
 
+void VTimerList::timercall(int clientReference)
+{
+  drawClock();
+  ViewMan::getInstance()->updateView(this, &clockRegion);
+}
+
 int VTimerList::handleCommand(int command)
 {
   switch(command)
index 57dae9dc838fcf46e2f0bf95e92c2fac66941678..9aff6c3863d5b727dea4359ed2009af93cd84f69 100644 (file)
@@ -34,8 +34,9 @@
 #include "colour.h"
 #include "video.h"
 #include "i18n.h"
+#include "timers.h"
 
-class VTimerList : public View
+class VTimerList : public View, public TimerReceiver
 {
   public:
     VTimerList(RecTimerList* rtl);
@@ -43,6 +44,8 @@ class VTimerList : public View
 
     int handleCommand(int command);
     void draw();
+    void timercall(int clientReference);
+    void drawClock();
 
   private:
     RecTimerList* recTimerList;
@@ -51,6 +54,8 @@ class VTimerList : public View
 
     void doShowingBar();
     void drawData();
+
+    Region clockRegion;
 };
 
 #endif
index 65b4a1711f1ea0c6707d81fac5831d1f21ac8852..5fa09a949133b0518c4897145d4cb11e5d8c336f 100644 (file)
@@ -65,8 +65,8 @@ void VWelcome::setup()
   sl.addOption(tr("1. Live TV"), 1);
   sl.addOption(tr("2. Radio"), 0);
   sl.addOption(tr("3. Recordings"), 0);
-  sl.addOption(tr("4. Options"), 0);
-  sl.addOption(tr("5. Stand by"), 0);
+  sl.addOption(tr("4. Timers"), 0);
+  sl.addOption(tr("5. Options"), 0);
   sl.addOption(tr("6. Reboot"), 0);
 }
 
@@ -142,15 +142,13 @@ int VWelcome::handleCommand(int command)
     }
     case Remote::FOUR:
     {
-      doOptions();
+      doTimersList();
       return 2;
     }
     case Remote::FIVE:
     {
-      Message* m = new Message(); // Must be done after this view deleted
-      m->message = Message::STANDBY;
-      Command::getInstance()->postMessageNoLock(m);
-      return 4;
+      doOptions();
+      return 2;
     }
     case Remote::SIX:
     {
@@ -176,15 +174,13 @@ int VWelcome::handleCommand(int command)
       }
       else if (option == 3)
       {
-        doOptions();
+        doTimersList();
         return 2;
       }
       else if (option == 4)
       {
-        Message* m = new Message(); // Must be done after this view deleted
-        m->message = Message::STANDBY;
-        Command::getInstance()->postMessageNoLock(m);
-        return 4;
+        doOptions();
+        return 2;
       }
       else if (option == 5)
       {
@@ -196,7 +192,6 @@ int VWelcome::handleCommand(int command)
 #ifdef DEV
     case Remote::NINE:
     {
-      doTimersList();
       return 2;
     }
 #endif
index 8192dc301af3e2deefcc3f3450b1bdd35d6464a9..4993ba519aaaecf9d662b7e01dcf680e7d3f25f2 100644 (file)
@@ -40,6 +40,7 @@
 #include "video.h"
 #include "voptions.h"
 #include "i18n.h"
+#include "timers.h"
 
 class VWelcome : public View, public TimerReceiver
 {