author | zautrix <zautrix> | 2004-11-07 19:40:36 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2004-11-07 19:40:36 (UTC) |
commit | 90e33436f6d1c502a5620760ac6592b9881ee4ab (patch) (unidiff) | |
tree | f493a1eeecd3dc8124bb4c0373b7bda9e85e9863 | |
parent | d90d17044d7daf6677074b0964d59f94407157d5 (diff) | |
download | kdepimpi-90e33436f6d1c502a5620760ac6592b9881ee4ab.zip kdepimpi-90e33436f6d1c502a5620760ac6592b9881ee4ab.tar.gz kdepimpi-90e33436f6d1c502a5620760ac6592b9881ee4ab.tar.bz2 |
compile fixes and translation updates
-rw-r--r-- | bin/kdepim/kaddressbook/frenchtranslation.txt | 741 | ||||
-rw-r--r-- | bin/kdepim/kopiemail/frenchtranslation.txt | 238 | ||||
-rw-r--r-- | bin/kdepim/korganizer/frenchtranslation.txt | 41 | ||||
-rw-r--r-- | kmicromail/composemail.cpp | 4 | ||||
-rw-r--r-- | kmicromail/libmailwrapper/genericwrapper.cpp | 2 | ||||
-rw-r--r-- | kmicromail/mainwindow.cpp | 1 |
6 files changed, 1017 insertions, 10 deletions
diff --git a/bin/kdepim/kaddressbook/frenchtranslation.txt b/bin/kdepim/kaddressbook/frenchtranslation.txt new file mode 100644 index 0000000..279d13b --- a/dev/null +++ b/bin/kdepim/kaddressbook/frenchtranslation.txt | |||
@@ -0,0 +1,741 @@ | |||
1 | { "file","fichier" }, | ||
2 | { "Choose one file","Choisir un fichier" }, | ||
3 | { "dir","Liste" }, | ||
4 | { "Choose a directory with may files","Choisir un dossier avec fichiers" }, | ||
5 | { "ldap","ldap" }, | ||
6 | { "No description available","Description non disponible" }, | ||
7 | { "Library files for "%1" not found in paths","Librairies "%1" non trouv�es dans le chemin" }, | ||
8 | { "qtopia","qtopia" }, | ||
9 | { "Qtopia PIM Addressbook.","Qtopia PIM Addressbook." }, | ||
10 | { "vCard","vCard" }, | ||
11 | { "vCard Format","vCard Format" }, | ||
12 | { "microkabcformat_binary","microkabcformat_binary" }, | ||
13 | { "Binary","Ex�cutable" }, | ||
14 | { "No description available.","Description non disponible." }, | ||
15 | { "Department","Service" }, | ||
16 | { "Profession","Profession" }, | ||
17 | { "Manager's name:","Sup�rieur:" }, | ||
18 | { "Assistant's name:","Assistant:" }, | ||
19 | { "Nick name:","Surnom:" }, | ||
20 | { "Spouse's name:","Conjoint:" }, | ||
21 | { "Children's names:","Nom des enfants:" }, | ||
22 | { "Office","Bureau" }, | ||
23 | { "IM Address","IM Addresse" }, | ||
24 | { "Anniversary","F�te" }, | ||
25 | { "Gender","Genre" }, | ||
26 | { "Children's names:","Noms des enfants:" }, | ||
27 | { "FreeBusyUrl","FreeBusyUrl" }, | ||
28 | { "ExternalID","ExternalID" }, | ||
29 | { "Resource loaded: '%1'","Ressource charg�e: '%1'" }, | ||
30 | { "Select View","Vue s�lectionn�e" }, | ||
31 | { "Modify View...","Vue modifi�e..." }, | ||
32 | { "Add View...","Ajouter vue..." }, | ||
33 | { "Delete View","D�truire vue" }, | ||
34 | { "Refresh View","Rafraichir vue" }, | ||
35 | { "Edit &Filters...","Editer &Filtres..." }, | ||
36 | { "Select Filter","Selectionner Filtre" }, | ||
37 | { "Style:","Style:" }, | ||
38 | { "HTML table style.","Style table HTML." }, | ||
39 | { "Default Table View","Vue table par d�faut" }, | ||
40 | { "Show Extension Bar","Montrer Barre d'extension" }, | ||
41 | { "None","Rien" }, | ||
42 | { "Name...","Nom..." }, | ||
43 | { "Role:","Poste:" }, | ||
44 | { "Organization:","Organisation:" }, | ||
45 | { "Formatted name:","Nom mis en forme:" }, | ||
46 | { "Edit Phone Numbers...","Editer Num�ros de Tel..." }, | ||
47 | { "Categories","Cat�gories" }, | ||
48 | { "Public","Publique" }, | ||
49 | { "Private","Priv�e" }, | ||
50 | { "Confidential","Confidentielle" }, | ||
51 | { "&General","&G�n�ral" }, | ||
52 | { "&Edit Addresses...","&Editer Adresses..." }, | ||
53 | { "Edit Address Book Filters","Editer les filtres du carnet d'adresses" }, | ||
54 | { "Edit Email Addresses...","Editer Adresses Email..." }, | ||
55 | { "Email:","Email:" }, | ||
56 | { "URL:","URL:" }, | ||
57 | { "&IM address:","&IM adresse:" }, | ||
58 | { "&Address","&Adresse" }, | ||
59 | { "Department:","Service:" }, | ||
60 | { "Office:","Bureau:" }, | ||
61 | { "Profession","Profession" }, | ||
62 | { "Assistant's Name","Assistant" }, | ||
63 | { "Manager's Name","Sup�rieur " }, | ||
64 | { "Spouse's Name","Conjoint" }, | ||
65 | { "Office","Bureau" }, | ||
66 | { "IM Address","IM Addresse" }, | ||
67 | { "Anniversary","F�te" }, | ||
68 | { "Gender","Genre" }, | ||
69 | { "Children","Enfant" }, | ||
70 | { "Birthday:","Naissance:" }, | ||
71 | { " Local Time"," Temps local" }, | ||
72 | { "Mon","Lun" }, | ||
73 | { "Tue","Mar" }, | ||
74 | { "Wed","Mer" }, | ||
75 | { "Thu","Jeu" }, | ||
76 | { "Fri","Ven" }, | ||
77 | { "Sat","Sam" }, | ||
78 | { "Sun","Dim" }, | ||
79 | { "January","Janvier" }, | ||
80 | { "February","F�vrier" }, | ||
81 | { "March","Mars" }, | ||
82 | { "April","Avril" }, | ||
83 | { "May","Mai" }, | ||
84 | { "June","Juin" }, | ||
85 | { "July","Juillet" }, | ||
86 | { "August","Ao�t" }, | ||
87 | { "September","Septembre" }, | ||
88 | { "October","Octobre" }, | ||
89 | { "November","Novembre" }, | ||
90 | { "December","Decembre" }, | ||
91 | { "tomorrow","demain" }, | ||
92 | { "today","aujourd'hui" }, | ||
93 | { "yesterday","hier" }, | ||
94 | { "Monday","Lundi" }, | ||
95 | { "Tuesday","Mardi" }, | ||
96 | { "Wednesday","Mercredi" }, | ||
97 | { "Thursday","Jeudi" }, | ||
98 | { "Friday","Vendredi" }, | ||
99 | { "Saturday","Samedi" }, | ||
100 | { "Sunday","Dimanche" }, | ||
101 | { "Anniversary:","F�te:" }, | ||
102 | { "Gender:","Genre:" }, | ||
103 | { "ALIEN (gender undefined)","ALIEN (genre non-d�fini)" }, | ||
104 | { "female","f�minin" }, | ||
105 | { "male","masculin" }, | ||
106 | { "&Details","&D�tails" }, | ||
107 | { "Note:","Note:" }, | ||
108 | { "&Notes","&Notes" }, | ||
109 | { "Use geo data","Donn�es g�ographiques" }, | ||
110 | { "Latitude:","Latitude:" }, | ||
111 | { "Longitude:","Longitude:" }, | ||
112 | { "Edit Geo Data...","Editer Donn�es g�o..." }, | ||
113 | { "Keys:","Touches:" }, | ||
114 | { "Add","Ajouter" }, | ||
115 | { "A&dd","&Ajouter" }, | ||
116 | { "&Modify","&Modifier" }, | ||
117 | { "Remove","Enlever" }, | ||
118 | { "E&xport","Export (&X)" }, | ||
119 | { "&Misc","&Divers" }, | ||
120 | { "Photo","Photo" }, | ||
121 | { "Store as URL","Enregistrer comme URL" }, | ||
122 | { "Logo","Logo" }, | ||
123 | { "&Images","&Images" }, | ||
124 | { "Home","Maison" }, | ||
125 | { "Work","Bureau" }, | ||
126 | { "Mobile","Mobile" }, | ||
127 | { "Fax","Fax" }, | ||
128 | { "Contact Editor","Editeur de Contact" }, | ||
129 | { "&Mail...","&Mail..." }, | ||
130 | { "&Print...","Imprimer..." }, | ||
131 | { "&Save","&Sauver" }, | ||
132 | { "&New Contact...","Nouveau Contact.(&N)." }, | ||
133 | { "Mail &vCard...","Mail vCard.(&V)." }, | ||
134 | { "Selected to phone","S�lection vers GSM" }, | ||
135 | { "Beam selected v&Card(s)","vCard(s) s�l�ctionn�(s) par IR (&C)" }, | ||
136 | { "&Beam personal vCard","vCard personnel par IR (&B) " }, | ||
137 | { "&Edit Contact...","Edition Contact.(&E)." }, | ||
138 | { "&Exit","Exit (&E)" }, | ||
139 | { "&Copy","Copier (&C)" }, | ||
140 | { "Cu&t","Couper (&T)" }, | ||
141 | { "&Paste","Coller (&P)" }, | ||
142 | { "Select &All","Tout s�lectionner (&A)" }, | ||
143 | { "&Undo","D�faire (&U)" }, | ||
144 | { "Undo Entry Edit","D�faire" }, | ||
145 | { "Re&do","Refaire (&D)" }, | ||
146 | { "Redo","Refaire" }, | ||
147 | { "&Delete Contact","Detruire Contact (&D)" }, | ||
148 | { "Configure &Resources...","Configurer Ressources.(&R)." }, | ||
149 | { "&Configure %1...","&Configurer %1..." }, | ||
150 | { "Configure S&hortcuts...","Configurer raccourci&s..." }, | ||
151 | { "Show Jump Bar","Voir barre" }, | ||
152 | { "Show Details","Voir d�tails" }, | ||
153 | { "Beam receive enabled","R�ception IR activ�e" }, | ||
154 | { "Set Who Am I",""Qui suis-je"" }, | ||
155 | { "Set Categories","Cat�gories" }, | ||
156 | { "Remove "voice"...","Supprimer "Bis"..." }, | ||
157 | { "Import from Outlook...","Import depuis Outlook..." }, | ||
158 | { "Licence","Licence" }, | ||
159 | { "Faq","Faq" }, | ||
160 | { "What's New?","What's New?" }, | ||
161 | { "Sync HowTo","Sync HowTo" }, | ||
162 | { "&About KAddressBook","&About KAddressBook" }, | ||
163 | { "Select Incremental Search Field","Recherche incr�mentale" }, | ||
164 | { "Synchronize","Synchroniser" }, | ||
165 | { "Configure...","Configurer..." }, | ||
166 | { "Enable Pi-Sync","Activer Pi-Sync" }, | ||
167 | { "Multiple sync","Multiple sync" }, | ||
168 | { "Import CSV List...","Import liste CSV..." }, | ||
169 | { "Export CSV List...","Export liste CSV.." }, | ||
170 | { "Import KDE 2 Addressbook...","Import KDE 2 Addressbook..." }, | ||
171 | { "Import vCard...","Import vCard..." }, | ||
172 | { "Export vCard 3.0...","Export vCard 3.0..." }, | ||
173 | { "Import Qtopia...","Import Qtopia..." }, | ||
174 | { "Export Qtopia...","Export Qtopia..." }, | ||
175 | { "Edit Contact","Editer Contact" }, | ||
176 | { "Ok","Ok" }, | ||
177 | { "Apply","Appliquer" }, | ||
178 | { "Cancel","Annuler" }, | ||
179 | { "KAddressbook/Pi","KAddressbook/Pi" }, | ||
180 | { "No Filter","Sans Filtre" }, | ||
181 | { "Given Name","Pr�nom" }, | ||
182 | { "Family Name","Nom de Famille" }, | ||
183 | { "Email Address","Adresse mail" }, | ||
184 | { "All Fields","Compl�te" }, | ||
185 | { "Question","Question" }, | ||
186 | { "After importing, phone numbers\nmay have two or more types.\n(E.g. work+voice)\nThese numbers are shown as "other".\nClick Yes to remove the voice type\nfrom numbers with more than one type.\n\nRemove voice type?","Apr�s l'importation\nvous pouvez avoir un ou plusieurs \ncat�gories de num�ros. (Ex. Bureau+Bis)\nCes num�ros sont affich�s comme "autres".\nValider "Oui" pour supprimer les "Bis"\ndes num�ros avec plus d'une cat�gorie.\n\nSupprimer "Bis" ?" }, | ||
187 | { "No","Non" }, | ||
188 | { "Yes","Oui" }, | ||
189 | { "Synchronization Preferences","Pr�f�rences de synchro." }, | ||
190 | { "Local device name:","Nom du p�riph�rique:" }, | ||
191 | { "New profile","Nouveau profil" }, | ||
192 | { "Clone profile","Copie de Profil" }, | ||
193 | { "Delete profile","Supprimer profil" }, | ||
194 | { "Profile:","Profil:" }, | ||
195 | { "Include in multiple ","Inclus dans multiple " }, | ||
196 | { "calendar ","calendrier " }, | ||
197 | { "addressbook ","agenda " }, | ||
198 | { "pwmanager","pwmanager" }, | ||
199 | { " sync"," sync" }, | ||
200 | { "Ask for preferences before sync","Choix des pr�f�rences avant sync" }, | ||
201 | { "Sync preferences","Pr�f�rences de synchro." }, | ||
202 | { "Take local entry on conflict","Priorit� aux entr�es locales" }, | ||
203 | { "Take remote entry on conflict","Priorit� aux entr�es distantes" }, | ||
204 | { "Take newest entry on conflict","Priorit� aux entr�es nouvelles" }, | ||
205 | { "Ask for every entry on conflict","Demander pour chaque nouvelle entr�e" }, | ||
206 | { "Force: Take local entry always","Force: toujours entr�es locales" }, | ||
207 | { "Force: Take remote entry always","Force: toujours entr�es distantes" }, | ||
208 | { "Show summary after sync","R�sum� apr�s synchro." }, | ||
209 | { "Write back synced data","R�-�criture donn�es synchronis�es" }, | ||
210 | { "-- Write back (on remote) existing entries only","-- Ecrire en retour (sur source distante) uniquement les entr�es existantes" }, | ||
211 | { "-- Write back (calendar) entries in future only","-- Ecrire en retour, uniquement des entr�es futures" }, | ||
212 | { "---- Max. weeks in future: ","---- Max. de semaines dans le futur: " }, | ||
213 | { "Profile kind","Type de profil" }, | ||
214 | { "Local file","Fichier local" }, | ||
215 | { "Pi-Sync ( direct Kx/Pi to Kx/Pi sync )","Pi-Sync ( direct Kx/Pi vers Kx/Pi sync )" }, | ||
216 | { "Remote file (w down/upload command)","Fichier distant (w down/upload commande)" }, | ||
217 | { "Mobile device (cell phone)","Mobile (GSM)" }, | ||
218 | { "I/O device: ","I/O device: " }, | ||
219 | { "Help...","Aide..." }, | ||
220 | { "Connection: ","Connection: " }, | ||
221 | { "Model(opt.): ","Model(opt.): " }, | ||
222 | { "Local file Cal:","Fichier local Cal:" }, | ||
223 | { "Local file ABook:","Fichier local ABook:" }, | ||
224 | { "Local file PWMgr:","Fichier local PWMgr:" }, | ||
225 | { "Choose...","Choisir..." }, | ||
226 | { "Addressbook file (*.vcf) is used by KA/Pi","Fichier agenda (*.vcf) est utilis� par KA/Pi" }, | ||
227 | { "Calendar:","Calendrier:" }, | ||
228 | { "AddressBook:","Agenda:" }, | ||
229 | { "PWManager:","PWManager:" }, | ||
230 | { "Pre sync (download) command:","Pre-sync (download) commande:" }, | ||
231 | { "Local temp file:","Fichier temporaire:" }, | ||
232 | { "Post sync (upload) command:","Post-sync (upload) commande:" }, | ||
233 | { "Addressbook file is used by KA/Pi","Fichier agenda est utilis� par KA/Pi" }, | ||
234 | { "Fill in default values for:","Compl�ter les valeurs par d�faut:" }, | ||
235 | { "ssh/scp","ssh/scp" }, | ||
236 | { "ftp","ftp" }, | ||
237 | ################# | ||
238 | { "Hint: Use $PWD$ for placeholder of password!","INFO: utiliser $PWD$ � la place du mdp!" }, | ||
239 | { "Password for remote access: (could be the same for each)","Password for remote access: (could be the same for each)" }, | ||
240 | { "Remote IP address: (could be the same for each)","Remote IP address: (could be the same for each)" }, | ||
241 | { "Remote port number: (should be different for each)","Remote port number: (should be different for each)" }, | ||
242 | { "command for downloading remote file to local device","command for downloading remote file to local device" }, | ||
243 | { "command for uploading local temp file to remote device","command for uploading local temp file to remote device" }, | ||
244 | { "Insert device where\nphone is connected. E.g.:\n","Insert device where\nphone is connected. E.g.:\n" }, | ||
245 | { "KDE-Pim sync config","KDE-Pim sync config" }, | ||
246 | { "Insert kind of connection,e.g.:\n","Insert kind of connection,e.g.:\n" }, | ||
247 | { "Recommended: Leave empty!\n(Such that model can\nbe auto detected)\nOr insert name of model:\n","Recommended: Leave empty!\n(Such that model can\nbe auto detected)\nOr insert name of model:\n" }, | ||
248 | ################# | ||
249 | { "KO/Pi config error","KO/Pi erreur de configuration" }, | ||
250 | { "Local device name undefined!\nPlease define device name!","Local device name undefined!\nPlease define device name!" }, | ||
251 | { "Edit Address Book Filters","Editer les filtres du carnet d'adresses" }, | ||
252 | { "&Add...","&Ajouter..." }, | ||
253 | { "&Edit...","&Editer..." }, | ||
254 | { "&Remove","Supp&rimer" }, | ||
255 | { "Modify View: ","Vue modifi�e: " }, | ||
256 | { "Fields","Champs" }, | ||
257 | { "Select Fields to Display","S�lection champs � afficher" }, | ||
258 | { "All","Tous" }, | ||
259 | { "Frequent","Fr�quent" }, | ||
260 | { "Address","Adresse" }, | ||
261 | { "Email","Email" }, | ||
262 | { "Personal","Personnel" }, | ||
263 | { "Organization","Organisation" }, | ||
264 | { "Custom","Libre" }, | ||
265 | { "&Selected\nfields:","Champ&s\ns�lectionn�s:" }, | ||
266 | { "Formatted Name","Nom mis en forme" }, | ||
267 | { "Additional Names","Alias" }, | ||
268 | { "Honorific Prefixes","Prefixes honoraires" }, | ||
269 | { "Honorific Suffixes","Suffixes honoraires" }, | ||
270 | { "Nick Name","Surnom" }, | ||
271 | { "Birthday","Naissance" }, | ||
272 | { "Home Address Street","Rue adresse personnelle" }, | ||
273 | { "Home Address Locality","Localit� adresse personnelle" }, | ||
274 | { "Home Address Region","R�gion adresse personnelle" }, | ||
275 | { "Home Address Postal Code","Code postal adresse personnelle" }, | ||
276 | { "Home Address Country","Pays adresse personnelle" }, | ||
277 | { "Home Address Label","Nom adresse personnelle" }, | ||
278 | { "Business Address Street","Rue adresse bureau" }, | ||
279 | { "Business Address Locality","Localit� adresse bureau" }, | ||
280 | { "Business Address Region","R�gion adresse bureau" }, | ||
281 | { "Business Address Postal Code","Code postal adresse bureau" }, | ||
282 | { "Business Address Country","Pays adresse bureau" }, | ||
283 | { "Business Address Label","Nom adresse bureau" }, | ||
284 | { "Home Phone","Tel. maison" }, | ||
285 | { "Business Phone","Tel. bureau" }, | ||
286 | { "Mobile Phone","Mobile" }, | ||
287 | { "Home Fax","Fax maison" }, | ||
288 | { "Business Fax","Fax bureau" }, | ||
289 | { "Car Phone","Tel. voiture" }, | ||
290 | { "ISDN","ISDN" }, | ||
291 | { "Pager","Pager" }, | ||
292 | { "Mail Client","Client Mail" }, | ||
293 | { "Title","Titre" }, | ||
294 | { "Role","R�le" }, | ||
295 | { "Note","Note" }, | ||
296 | { "URL","URL" }, | ||
297 | { "Resource","Ressource" }, | ||
298 | { "SIP","SIP" }, | ||
299 | { "Default Filter","Filtre par d�faut" }, | ||
300 | { "The default filter will be activated whenever this view is displayed. This feature allows you to configure views that only interact with certain types of information based on the filter. Once the view is activated, the filter can be changed at anytime.","Le filtre affich� par d�faut est activ� quand cette vue est affich�e. Cette fonctionnalit� vous permet de configurer des vues en int�raction avec certaines informations de bas�es sur le filtre. Une fois la vue activ�e, le filtre peut �tre chang� � loisir." }, | ||
301 | { "No default filter","Pas de filtre par d�faut" }, | ||
302 | { "Use last active filter","Utilisation dernier filtre" }, | ||
303 | { "Use filter:","Activer Filtre:" }, | ||
304 | { "Look & Feel","Look & Feel" }, | ||
305 | { "Row Separator","S�paration colonne" }, | ||
306 | { "Alternating backgrounds","Lignes altern�es" }, | ||
307 | { "Single line","Ligne simple" }, | ||
308 | { "Enable background image:","Activer image de fond:" }, | ||
309 | { "Enable contact tooltips","Activer infos. contact" }, | ||
310 | { "&Enable custom Colors","Activ&er couleurs perso." }, | ||
311 | { "&Colors","&Couleurs" }, | ||
312 | { "If custom colors are enabled, you may choose the colors for the view below. Otherwise colors from your current KDE color scheme are used.","If custom colors are enabled, you may choose the colors for the view below. Otherwise colors from your current KDE color scheme are used." }, | ||
313 | { "Double click or press RETURN on a item to select a color for the related strings in the view.","Double click or press RETURN on a item to select a color for the related strings in the view." }, | ||
314 | { "&Enable custom fonts","Activ&er polices perso." }, | ||
315 | { "&Text font:","Police du &texte:" }, | ||
316 | { "&Header font:","Police de Titre &H:" }, | ||
317 | { "If custom fonts are enabled, you may choose which fonts to use for this view below. Otherwise the default KDE font will be used, in bold style for the header and normal style for the data.","If custom fonts are enabled, you may choose which fonts to use for this view below. Otherwise the default KDE font will be used, in bold style for the header and normal style for the data." }, | ||
318 | { "&Fonts","Polices" }, | ||
319 | { "Background Color","Couleur de fond" }, | ||
320 | { "Text Color","Couleur du texte" }, | ||
321 | { "Header Background Color","Couleur du fond de titre" }, | ||
322 | { "Header Text Color","Couleur du titre" }, | ||
323 | { "Highlight Color","Couleur surlignage" }, | ||
324 | { "Highlighted Text Color","Couleur texte surlign�" }, | ||
325 | { "Alternating Background Color","Couleur du fond altern�" }, | ||
326 | { "Postal","Postale" }, | ||
327 | { "Dr.","Dr." }, | ||
328 | { "Miss","Mlle" }, | ||
329 | { "Mr.","M." }, | ||
330 | { "Mrs.","Mme." }, | ||
331 | { "Ms.","Mme." }, | ||
332 | { "Prof.","Prof." }, | ||
333 | { "I","I" }, | ||
334 | { "II","II" }, | ||
335 | { "III","III" }, | ||
336 | { "Jr.","Jr." }, | ||
337 | { "Sr.","Sr." }, | ||
338 | { "Name:","Nom:" }, | ||
339 | { "Documents","Documents" }, | ||
340 | { "Files","Fichiers" }, | ||
341 | { "File","Fichier" }, | ||
342 | { "Edit","Editer" }, | ||
343 | { "View","Vues" }, | ||
344 | { "Settings","Configurer" }, | ||
345 | { "All Files","Tout Fichier" }, | ||
346 | { "Name","Nom" }, | ||
347 | { "Size","Taille" }, | ||
348 | { "Date","Date" }, | ||
349 | { "Mime Type","Type Mime" }, | ||
350 | { "Geo Data Input","Donn�es G�o." }, | ||
351 | { "Sexagesimal","Sexagesimal" }, | ||
352 | { "North","Nord" }, | ||
353 | { "South","Sud" }, | ||
354 | { "East","Est" }, | ||
355 | { "West","Ouest" }, | ||
356 | { "Undefined","Ind�fini" }, | ||
357 | { "Edit Address","Modifier Adresse" }, | ||
358 | { "Street:","Rue:" }, | ||
359 | { "Post office box:","Bo�te postale:" }, | ||
360 | { "Locality:","Localit�:" }, | ||
361 | { "Region:","Region:" }, | ||
362 | { "Postal code:","Code postal:" }, | ||
363 | { "Country:","Pays:" }, | ||
364 | { "Afghanistan","Afghanistan" }, | ||
365 | { "Albania","Albanie" }, | ||
366 | { "Algeria","Algerie" }, | ||
367 | { "American Samoa","American Samoa" }, | ||
368 | { "Andorra","Andorre" }, | ||
369 | { "Angola","Angola" }, | ||
370 | { "Anguilla","Anguilla" }, | ||
371 | { "Antarctica","Antarctica" }, | ||
372 | { "Antigua and Barbuda","Antigua and Barbuda" }, | ||
373 | { "Argentina","Argentina" }, | ||
374 | { "Armenia","Armenia" }, | ||
375 | { "Aruba","Aruba" }, | ||
376 | { "Ashmore and Cartier Islands","Ashmore and Cartier Islands" }, | ||
377 | { "Australia","Australia" }, | ||
378 | { "Austria","Austria" }, | ||
379 | { "Azerbaijan","Azerbaijan" }, | ||
380 | { "Bahamas","Bahamas" }, | ||
381 | { "Bahrain","Bahrain" }, | ||
382 | { "Bangladesh","Bangladesh" }, | ||
383 | { "Barbados","Barbados" }, | ||
384 | { "Belarus","Belarus" }, | ||
385 | { "Belgium","Belgium" }, | ||
386 | { "Belize","Belize" }, | ||
387 | { "Benin","Benin" }, | ||
388 | { "Bermuda","Bermuda" }, | ||
389 | { "Bhutan","Bhutan" }, | ||
390 | { "Bolivia","Bolivia" }, | ||
391 | { "Bosnia and Herzegovina","Bosnia and Herzegovina" }, | ||
392 | { "Botswana","Botswana" }, | ||
393 | { "Brazil","Brazil" }, | ||
394 | { "Brunei","Brunei" }, | ||
395 | { "Bulgaria","Bulgaria" }, | ||
396 | { "Burkina Faso","Burkina Faso" }, | ||
397 | { "Burundi","Burundi" }, | ||
398 | { "Cambodia","Cambodia" }, | ||
399 | { "Cameroon","Cameroon" }, | ||
400 | { "Canada","Canada" }, | ||
401 | { "Cape Verde","Cape Verde" }, | ||
402 | { "Cayman Islands","Cayman Islands" }, | ||
403 | { "Central African Republic","Central African Republic" }, | ||
404 | { "Chad","Chad" }, | ||
405 | { "Chile","Chile" }, | ||
406 | { "China","China" }, | ||
407 | { "Colombia","Colombia" }, | ||
408 | { "Comoros","Comoros" }, | ||
409 | { "Congo","Congo" }, | ||
410 | { "Congo, Dem. Rep.","Congo, Dem. Rep." }, | ||
411 | { "Costa Rica","Costa Rica" }, | ||
412 | { "Croatia","Croatia" }, | ||
413 | { "Cuba","Cuba" }, | ||
414 | { "Cyprus","Cyprus" }, | ||
415 | { "Czech Republic","Czech Republic" }, | ||
416 | { "Denmark","Denmark" }, | ||
417 | { "Djibouti","Djibouti" }, | ||
418 | { "Dominica","Dominica" }, | ||
419 | { "Dominican Republic","Dominican Republic" }, | ||
420 | { "Ecuador","Ecuador" }, | ||
421 | { "Egypt","Egypt" }, | ||
422 | { "El Salvador","El Salvador" }, | ||
423 | { "Equatorial Guinea","Equatorial Guinea" }, | ||
424 | { "Eritrea","Eritrea" }, | ||
425 | { "Estonia","Estonia" }, | ||
426 | { "England","England" }, | ||
427 | { "Ethiopia","Ethiopia" }, | ||
428 | { "European Union","European Union" }, | ||
429 | { "Faroe Islands","Faroe Islands" }, | ||
430 | { "Fiji","Fiji" }, | ||
431 | { "Finland","Finland" }, | ||
432 | { "France","France" }, | ||
433 | { "French Polynesia","French Polynesia" }, | ||
434 | { "Gabon","Gabon" }, | ||
435 | { "Gambia","Gambia" }, | ||
436 | { "Georgia","Georgia" }, | ||
437 | { "Germany","Germany" }, | ||
438 | { "Ghana","Ghana" }, | ||
439 | { "Greece","Greece" }, | ||
440 | { "Greenland","Greenland" }, | ||
441 | { "Grenada","Grenada" }, | ||
442 | { "Guam","Guam" }, | ||
443 | { "Guatemala","Guatemala" }, | ||
444 | { "Guinea","Guinea" }, | ||
445 | { "Guinea-Bissau","Guinea-Bissau" }, | ||
446 | { "Guyana","Guyana" }, | ||
447 | { "Haiti","Haiti" }, | ||
448 | { "Honduras","Honduras" }, | ||
449 | { "Hong Kong","Hong Kong" }, | ||
450 | { "Hungary","Hungary" }, | ||
451 | { "Iceland","Iceland" }, | ||
452 | { "India","India" }, | ||
453 | { "Indonesia","Indonesia" }, | ||
454 | { "Iran","Iran" }, | ||
455 | { "Iraq","Iraq" }, | ||
456 | { "Ireland","Ireland" }, | ||
457 | { "Israel","Israel" }, | ||
458 | { "Italy","Italy" }, | ||
459 | { "Ivory Coast","Ivory Coast" }, | ||
460 | { "Jamaica","Jamaica" }, | ||
461 | { "Japan","Japan" }, | ||
462 | { "Jordan","Jordan" }, | ||
463 | { "Kazakhstan","Kazakhstan" }, | ||
464 | { "Kenya","Kenya" }, | ||
465 | { "Kiribati","Kiribati" }, | ||
466 | { "Korea, North","Korea, North" }, | ||
467 | { "Korea, South","Korea, South" }, | ||
468 | { "Kuwait","Kuwait" }, | ||
469 | { "Kyrgyzstan","Kyrgyzstan" }, | ||
470 | { "Laos","Laos" }, | ||
471 | { "Latvia","Latvia" }, | ||
472 | { "Lebanon","Lebanon" }, | ||
473 | { "Lesotho","Lesotho" }, | ||
474 | { "Liberia","Liberia" }, | ||
475 | { "Libya","Libya" }, | ||
476 | { "Liechtenstein","Liechtenstein" }, | ||
477 | { "Lithuania","Lithuania" }, | ||
478 | { "Luxembourg","Luxembourg" }, | ||
479 | { "Macau","Macau" }, | ||
480 | { "Madagascar","Madagascar" }, | ||
481 | { "Malawi","Malawi" }, | ||
482 | { "Malaysia","Malaysia" }, | ||
483 | { "Maldives","Maldives" }, | ||
484 | { "Mali","Mali" }, | ||
485 | { "Malta","Malta" }, | ||
486 | { "Marshall Islands","Marshall Islands" }, | ||
487 | { "Martinique","Martinique" }, | ||
488 | { "Mauritania","Mauritania" }, | ||
489 | { "Mauritius","Mauritius" }, | ||
490 | { "Mexico","Mexico" }, | ||
491 | { "Micronesia, Federated States Of","Micronesia, Federated States Of" }, | ||
492 | { "Moldova","Moldova" }, | ||
493 | { "Monaco","Monaco" }, | ||
494 | { "Mongolia","Mongolia" }, | ||
495 | { "Montserrat","Montserrat" }, | ||
496 | { "Morocco","Morocco" }, | ||
497 | { "Mozambique","Mozambique" }, | ||
498 | { "Myanmar","Myanmar" }, | ||
499 | { "Namibia","Namibia" }, | ||
500 | { "Nauru","Nauru" }, | ||
501 | { "Nepal","Nepal" }, | ||
502 | { "Netherlands","Netherlands" }, | ||
503 | { "Netherlands Antilles","Netherlands Antilles" }, | ||
504 | { "New Caledonia","New Caledonia" }, | ||
505 | { "New Zealand","New Zealand" }, | ||
506 | { "Nicaragua","Nicaragua" }, | ||
507 | { "Niger","Niger" }, | ||
508 | { "Nigeria","Nigeria" }, | ||
509 | { "Niue","Niue" }, | ||
510 | { "North Korea","North Korea" }, | ||
511 | { "Northern Ireland","Northern Ireland" }, | ||
512 | { "Northern Mariana Islands","Northern Mariana Islands" }, | ||
513 | { "Norway","Norway" }, | ||
514 | { "Oman","Oman" }, | ||
515 | { "Pakistan","Pakistan" }, | ||
516 | { "Palau","Palau" }, | ||
517 | { "Palestinian","Palestinian" }, | ||
518 | { "Panama","Panama" }, | ||
519 | { "Papua New Guinea","Papua New Guinea" }, | ||
520 | { "Paraguay","Paraguay" }, | ||
521 | { "Peru","Peru" }, | ||
522 | { "Philippines","Philippines" }, | ||
523 | { "Poland","Poland" }, | ||
524 | { "Portugal","Portugal" }, | ||
525 | { "Puerto Rico","Puerto Rico" }, | ||
526 | { "Qatar","Qatar" }, | ||
527 | { "Romania","Romania" }, | ||
528 | { "Russia","Russia" }, | ||
529 | { "Rwanda","Rwanda" }, | ||
530 | { "St. Kitts and Nevis","St. Kitts and Nevis" }, | ||
531 | { "St. Lucia","St. Lucia" }, | ||
532 | { "St. Vincent and the Grenadines","St. Vincent and the Grenadines" }, | ||
533 | { "San Marino","San Marino" }, | ||
534 | { "Sao Tome and Principe","Sao Tome and Principe" }, | ||
535 | { "Saudi Arabia","Saudi Arabia" }, | ||
536 | { "Senegal","Senegal" }, | ||
537 | { "Serbia & Montenegro","Serbia & Montenegro" }, | ||
538 | { "Seychelles","Seychelles" }, | ||
539 | { "Sierra Leone","Sierra Leone" }, | ||
540 | { "Singapore","Singapore" }, | ||
541 | { "Slovakia","Slovakia" }, | ||
542 | { "Slovenia","Slovenia" }, | ||
543 | { "Solomon Islands","Solomon Islands" }, | ||
544 | { "Somalia","Somalia" }, | ||
545 | { "South Africa","South Africa" }, | ||
546 | { "South Korea","South Korea" }, | ||
547 | { "Spain","Spain" }, | ||
548 | { "Sri Lanka","Sri Lanka" }, | ||
549 | { "Sudan","Sudan" }, | ||
550 | { "Suriname","Suriname" }, | ||
551 | { "Swaziland","Swaziland" }, | ||
552 | { "Sweden","Sweden" }, | ||
553 | { "Switzerland","Switzerland" }, | ||
554 | { "Syria","Syria" }, | ||
555 | { "Taiwan","Taiwan" }, | ||
556 | { "Tajikistan","Tajikistan" }, | ||
557 | { "Tanzania","Tanzania" }, | ||
558 | { "Thailand","Thailand" }, | ||
559 | { "Tibet","Tibet" }, | ||
560 | { "Togo","Togo" }, | ||
561 | { "Tonga","Tonga" }, | ||
562 | { "Trinidad and Tobago","Trinidad and Tobago" }, | ||
563 | { "Tunisia","Tunisia" }, | ||
564 | { "Turkey","Turkey" }, | ||
565 | { "Turkmenistan","Turkmenistan" }, | ||
566 | { "Turks and Caicos Islands","Turks and Caicos Islands" }, | ||
567 | { "Tuvalu","Tuvalu" }, | ||
568 | { "Uganda ","Uganda " }, | ||
569 | { "Ukraine","Ukraine" }, | ||
570 | { "United Arab Emirates","United Arab Emirates" }, | ||
571 | { "United Kingdom","United Kingdom" }, | ||
572 | { "United States","United States" }, | ||
573 | { "Uruguay","Uruguay" }, | ||
574 | { "Uzbekistan","Uzbekistan" }, | ||
575 | { "Vanuatu","Vanuatu" }, | ||
576 | { "Vatican City","Vatican City" }, | ||
577 | { "Venezuela","Venezuela" }, | ||
578 | { "Vietnam","Vietnam" }, | ||
579 | { "Western Samoa","Western Samoa" }, | ||
580 | { "Yemen","Yemen" }, | ||
581 | { "Yugoslavia","Yugoslavia" }, | ||
582 | { "Zaire","Zaire" }, | ||
583 | { "Zambia","Zambia" }, | ||
584 | { "Zimbabwe","Zimbabwe" }, | ||
585 | { "This is the preferred address","Adresse pr�f�r�e" }, | ||
586 | { "New...","Nouveau..." }, | ||
587 | { "Change Type","Changer type" }, | ||
588 | { "Edit Address Type","Editer type d'adresse" }, | ||
589 | { "Address Types","Types d'adresse" }, | ||
590 | { "Domestic","Personnelle" }, | ||
591 | { "International","Internationale" }, | ||
592 | { "Parcel","Livraison" }, | ||
593 | { "Edit Contact Name","Editer nom du contact" }, | ||
594 | { "Honorific prefixes:","Pr�fixe honoraire:" }, | ||
595 | { "Given name:","Pr�nom:" }, | ||
596 | { "Additional names:","Alias:" }, | ||
597 | { "Family names:","Noms de famille:" }, | ||
598 | { "Honorific suffixes:","Suffixes honoraires:" }, | ||
599 | { "Parse name automatically","Mise en forme automatique" }, | ||
600 | { "Edit Phone Numbers","Editer Num�ros de Tel." }, | ||
601 | { "Number","Num�ro" }, | ||
602 | { "Type","Type" }, | ||
603 | { "Edit Phone Number","Editer Num�ro de Tel." }, | ||
604 | { "Number:","Num�ro:" }, | ||
605 | { "This is the preferred phone number","Num�ro de Tel. pr�f�r�" }, | ||
606 | { "Types","Types" }, | ||
607 | { "Messenger","Messenger" }, | ||
608 | { "Other","Autre" }, | ||
609 | { "Video","Video" }, | ||
610 | { "Mailbox","Bo�te mail" }, | ||
611 | { "Modem","Modem" }, | ||
612 | { "Car","Auto" }, | ||
613 | { "PCS","PCS" }, | ||
614 | { "Category","Cat�gorie" }, | ||
615 | { "Select Categories","Cat�gories s�lectionn�es" }, | ||
616 | { " &Deselect All "," &D�selectionn�es toutes " }, | ||
617 | { " &Edit Categories "," &Editer Cat�gories " }, | ||
618 | { " &Manage new categories... "," Gestion nlles. cat�gories... " }, | ||
619 | { "&OK","&OK" }, | ||
620 | { "&Cancel","&Annuler" }, | ||
621 | { "Configure","Configurer" }, | ||
622 | { "Default","D�faut" }, | ||
623 | { "Addressbook","Agenda" }, | ||
624 | { "Details view font","Police par d�faut" }, | ||
625 | { "phone:123","Tel.:123" }, | ||
626 | { "Search only after <return> key pressed","Recherche seulement apr�s avoir valid� par <enter>" }, | ||
627 | { "Honor KDE single click","Honorer le simple click de KDE" }, | ||
628 | { "Automatic name parsing for new addressees","Analyse automatique des noms pour les nouvelles adresses" }, | ||
629 | { "Display List and Details at once (restart)","Display List and Details at once (restart)" }, | ||
630 | { "Ask for quit when closing Ka/Pi","Confirmation avant de quitter Ka/Pi" }, | ||
631 | { "General","General" }, | ||
632 | { "Extensions (restart)","Extensions (restart)" }, | ||
633 | { "Description","Description" }, | ||
634 | { "Extensions","Extensions" }, | ||
635 | { "Prefixes","Prefixes" }, | ||
636 | { "Inclusions","Inclusions" }, | ||
637 | { "Suffixes","Suffixes" }, | ||
638 | { "Default formatted name:","Mise en forme par d�faut:" }, | ||
639 | { "Empty","Vide" }, | ||
640 | { "Simple Name","Simple Name" }, | ||
641 | { "Full Name","Full Name" }, | ||
642 | { "Reverse Name","Reverse Name" }, | ||
643 | { "Contact","Contact" }, | ||
644 | { "Global","Global" }, | ||
645 | { "Phone","Phone" }, | ||
646 | { "SMS","SMS" }, | ||
647 | { "Language:(needs restart)","Langage:(red�marrage)" }, | ||
648 | { "English","Anglais" }, | ||
649 | { "German","Allemand" }, | ||
650 | { "French","Fran�ais" }, | ||
651 | { "Italian","Italien" }, | ||
652 | { "User defined (usertranslation.txt)","D�fini par l'utilisateur (usertranslation.txt)" }, | ||
653 | { "Time Format(nr):","Format Temps(nr):" }, | ||
654 | { "24:00","24:00" }, | ||
655 | { "12:00am","12:00am" }, | ||
656 | { "Week starts on Sunday","Semaine d�marre le Dimanche" }, | ||
657 | { "Locale","Locale" }, | ||
658 | { "Date Format:","Date Format:" }, | ||
659 | { "24.03.2004 (%d.%m.%Y|%A %d %B %Y)","24.03.2004 (%d.%m.%Y|%A %d %B %Y)" }, | ||
660 | { "03.24.2004 (%m.%d.%Y|%A %B %d %Y)","03.24.2004 (%m.%d.%Y|%A %B %d %Y)" }, | ||
661 | { "2004-03-24 (%Y-%m-%d|%A %Y %B %d)","2004-03-24 (%Y-%m-%d|%A %Y %B %d)" }, | ||
662 | { "User defined","D�fini par l'utilisateur" }, | ||
663 | { "User long date:","Date longue:" }, | ||
664 | { "User short date:","Date courte:" }, | ||
665 | { "Monday 19 April 2004: %A %d %B %Y","Lundi 19 avril 2004: %A %d %B %Y" }, | ||
666 | { "Mon 19.04.04: %a %d.%m.%y","Lun 19.04.04: %a %d.%m.%y" }, | ||
667 | { "Mon, 19.Apr.04: %a, %d.%b.%y","Lun, 19.Avr.04: %a, %d.%b.%y" }, | ||
668 | { "Date Format","Format Date" }, | ||
669 | { "Timezone:","Fuseau horaire :" }, | ||
670 | { "Add 30 min to selected Timezone","Ajout de 30 min au fuseau s�lectionn�" }, | ||
671 | { "Timezone has daylight saving","La zone a une heure d'�t�" }, | ||
672 | { "Actual start and end is the\nsunday before this date.","Le d�but et la fin de cette\np�riode est le dimanche pr�c�dent la date." }, | ||
673 | { "The year in the date is ignored.","L'ann�e dans cette date est ignor�e." }, | ||
674 | { "Daylight start:","Heure d'�t� - d�part :" }, | ||
675 | { "Daylight end:","Heure d'�t� - fin :" }, | ||
676 | { "Time Zone","Fuseau horaire" }, | ||
677 | { "Mon","Lun" }, | ||
678 | { "Time Zone","Fuseau horaire" }, | ||
679 | { "Used Mail Client","Client mail utilis�" }, | ||
680 | { "Channel:","Canal:" }, | ||
681 | { "Message:","Message:" }, | ||
682 | { "Parameters:","Param�tres:" }, | ||
683 | { "HINT: Delimiter=; Name=%1,Email=%2","INFO: Delimiteur=; Nom=%1,Email=%2" }, | ||
684 | { "extra Message:","Message supp.:" }, | ||
685 | { "extra Parameters:","Param�tres supp.:" }, | ||
686 | { "HINT: Emails=%1,Attachments=%2","INFO: Emails=%1,Pi�ce jointe=%2" }, | ||
687 | { "External Apps.","Prog.externes" }, | ||
688 | { "Used %1 Client","Utiliser comme Client %1" }, | ||
689 | { "No email client installed","Pas de client mail install�" }, | ||
690 | { "Userdefined email client","Client mail ind�fini" }, | ||
691 | { "OM/Pi email client","OM/Pi Client mail" }, | ||
692 | { "Close KA/Pi?","Fermer KA/Pi?" }, | ||
693 | { "\nChanges will be saved!","\nModifications seront sauv�es!" }, | ||
694 | { "Yes!","Yes!" }, | ||
695 | { "There was an error while attempting to save\n the address book. Please check that some \nother application is not using it. ","Il y a eu une erreur pendant la sauvegarde\n du carnet d'adresses. Merci de v�rifier\nsi aucune autre application ne l'utilise. " }, | ||
696 | { "Saving addressbook ... ","Sauvegarde Carnet d'adresses ... " }, | ||
697 | { "Addressbook saved!","Carnet d'adresses sauv�!" }, | ||
698 | { "Default Table View","Vue Table par d�faut" }, | ||
699 | { "Merge and Remove","Fusion et Suppression" }, | ||
700 | { "Merge","Fusion" }, | ||
701 | { "Merge Contacts Editor","Fusion de contacts similaires" }, | ||
702 | { "New List...","Nouvelle liste..." }, | ||
703 | { "Rename List...","Renomer liste..." }, | ||
704 | { "Remove List","Supprimer liste" }, | ||
705 | { "Add Contact","Ajouter contact" }, | ||
706 | { "Change Email...","Changer Email..." }, | ||
707 | { "Remove Contact","Supprimer contact" }, | ||
708 | { "Use Preferred","Pr�f�r�" }, | ||
709 | { "Distribution List Editor","Editeur de liste de distribution" }, | ||
710 | { "Choose which contacts to export","Choisir contacts � exporter" }, | ||
711 | { "Which contacts do you want to export?","Quels contacts voulez-vous exporter ?" }, | ||
712 | { "Contact Selection","S�lection de Contact" }, | ||
713 | { "&All","Tous (&A)" }, | ||
714 | { "Export the entire address book","Export du carnet d'adresses complet" }, | ||
715 | { "&Selected","&Selectionn�" }, | ||
716 | { "Only export contacts selected in KAddressBook.\nThis option is disabled if no contacts are selected.","Only export contacts selected in KAddressBook.\nThis option is disabled if no contacts are selected." }, | ||
717 | { "By matching &filter","Affichage filtr� (&F)" }, | ||
718 | { "Only export contacts matching the selected filter.\nThis option is disabled if you haven't defined any filters","Only export contacts matching the selected filter.\nThis option is disabled if you haven't defined any filters" }, | ||
719 | { "By Cate&gories","Par Cat�gories" }, | ||
720 | { "Only export contacts who are members of a category that is checked on the list to the left.\nThis option is disabled if you have no categories.","Only export contacts who are members of a category that is checked on the list to the left.\nThis option is disabled if you have no categories." }, | ||
721 | { "Select a filter to decide which contacts to export.","Select a filter to decide which contacts to export." }, | ||
722 | { "Check the categories whose members you want to export.","Check the categories whose members you want to export." }, | ||
723 | { "Sorting","Trier" }, | ||
724 | { "Criterion:","Crit�re:" }, | ||
725 | { "Order:","Ordre:" }, | ||
726 | { "Ascending","Ascendant" }, | ||
727 | { "Descending","Descendant" }, | ||
728 | { "Save file","Sauver" }, | ||
729 | { "Error","Erreur" }, | ||
730 | { "Unable to export contacts.","Impossible d'exporter les contacts." }, | ||
731 | { "\nNo unsaved changes detected!\nNothing will be saved!","\nPas de modification � sauvegarder!" }, | ||
732 | { "Search:","Recherche:"} | ||
733 | { "Email address:","Email:" } | ||
734 | { "Set Standard","Par d�faut" }, | ||
735 | { "Remove sync info","Supprimer infos. synchro." }, | ||
736 | { "For all profiles","Pour tous les profils" }, | ||
737 | { "","" }, | ||
738 | { "","" }, | ||
739 | { "","" }, | ||
740 | { "","" }, | ||
741 | { "","" }, | ||
diff --git a/bin/kdepim/kopiemail/frenchtranslation.txt b/bin/kdepim/kopiemail/frenchtranslation.txt new file mode 100644 index 0000000..50bf02e --- a/dev/null +++ b/bin/kdepim/kopiemail/frenchtranslation.txt | |||
@@ -0,0 +1,238 @@ | |||
1 | { "Language:(needs restart)","Langage:(red�marrage)" }, | ||
2 | { "English","Anglais" }, | ||
3 | { "German","Allemand" }, | ||
4 | { "French","Fran�ais" }, | ||
5 | { "Italian","Italien" }, | ||
6 | { "User defined (usertranslation.txt)","D�fini par l'utilisateur (usertranslation.txt)" }, | ||
7 | { "Time Format(nr):","Format Temps(nr):" }, | ||
8 | { "24:00","24:00" }, | ||
9 | { "12:00am","12:00am" }, | ||
10 | { "Week starts on Sunday","Semaine d�marre le Dimanche" }, | ||
11 | { "Locale","Locale" }, | ||
12 | { "Date Format:","Date Format:" }, | ||
13 | { "24.03.2004 (%d.%m.%Y|%A %d %B %Y)","24.03.2004 (%d.%m.%Y|%A %d %B %Y)" }, | ||
14 | { "03.24.2004 (%m.%d.%Y|%A %B %d %Y)","03.24.2004 (%m.%d.%Y|%A %B %d %Y)" }, | ||
15 | { "2004-03-24 (%Y-%m-%d|%A %Y %B %d)","2004-03-24 (%Y-%m-%d|%A %Y %B %d)" }, | ||
16 | { "User defined","D�fini par l'utilisateur" }, | ||
17 | { "User long date:","Date longue :" }, | ||
18 | { "User short date:","Date courte :" }, | ||
19 | { "Monday 19 April 2004: %A %d %B %Y","Lundi 19 avril 2004: %A %d %B %Y" }, | ||
20 | { "Mon 19.04.04: %a %d.%m.%y","Lun 19.04.04: %a %d.%m.%y" }, | ||
21 | { "Mon, 19.Apr.04: %a, %d.%b.%y","Lun, 19.Avr.04: %a, %d.%b.%y" }, | ||
22 | { "Date Format","Format Date" }, | ||
23 | { "Timezone:","Fuseau horaire :" }, | ||
24 | { "Add 30 min to selected Timezone","Ajout de 30 min au fuseau s�lectionn�" }, | ||
25 | { "Timezone has daylight saving","La zone a une heure d'�t�" }, | ||
26 | { "Actual start and end is the\nsunday before this date.","Le d�but et la fin de cette\np�riode est un dimanche." }, | ||
27 | { "The year in the date is ignored.","L'ann�e dans cette date est ignor�e." }, | ||
28 | { "Daylight start:","Heure d'�t� - d�part :" }, | ||
29 | { "Daylight end:","Heure d'�t� - fin :" }, | ||
30 | { "Time Zone","Fuseau horaire" }, | ||
31 | { "Mon","Lun" }, | ||
32 | { "Tue","Mar" }, | ||
33 | { "Wed","Mer" }, | ||
34 | { "Thu","Jeu" }, | ||
35 | { "Fri","Ven" }, | ||
36 | { "Sat","Sam" }, | ||
37 | { "Sun","Dim" }, | ||
38 | { "January","Janvier" }, | ||
39 | { "February","F�vrier" }, | ||
40 | { "March","Mars" }, | ||
41 | { "April","Avril" }, | ||
42 | { "May","Mai" }, | ||
43 | { "June","Juin" }, | ||
44 | { "July","Juillet" }, | ||
45 | { "August","Ao�t" }, | ||
46 | { "September","Septembre" }, | ||
47 | { "October","Octobre" }, | ||
48 | { "November","Novembre" }, | ||
49 | { "December","Decembre" }, | ||
50 | { "tomorrow","demain" }, | ||
51 | { "today","aujourd'hui" }, | ||
52 | { "yesterday","hier" }, | ||
53 | { "Monday","Lundi" }, | ||
54 | { "Tuesday","Mardi" }, | ||
55 | { "Wednesday","Mercredi" }, | ||
56 | { "Thursday","Jeudi" }, | ||
57 | { "Friday","Vendredi" }, | ||
58 | { "Saturday","Samedi" }, | ||
59 | { "Sunday","Dimanche" }, | ||
60 | { "Used Mail Client","Client mail utilis�" }, | ||
61 | { "Channel:","Canal:" }, | ||
62 | { "Message:","Message:" }, | ||
63 | { "Parameters:","Param�tres:" }, | ||
64 | { "HINT: Delimiter=; Name=%1,Email=%2","INFO: Delimiteur=; Nom=%1,Email=%2" }, | ||
65 | { "extra Message:","Message supp.:" }, | ||
66 | { "extra Parameters:","Param�tres supp.:" }, | ||
67 | { "HINT: Emails=%1,Attachments=%2","INFO: Emails=%1,Pi�ce jointe=%2" }, | ||
68 | { "External Apps.","Prog.externes" }, | ||
69 | { "+01:00 Europa/Oslo(CET)","+01:00 Europe/Oslo(CET)" }, | ||
70 | { "Used %1 Client","Utiliser comme Client %1" }, | ||
71 | { "No email client installed","Pas de client mail install�" }, | ||
72 | { "Userdefined email client","Client mail ind�fini" }, | ||
73 | { "OM/Pi email client","OM/Pi Client mail" }, | ||
74 | { "Delete","D�truire" }, | ||
75 | { "New","Nouveau" }, | ||
76 | { "Edit","Editer" }, | ||
77 | { "Close","Fermer" }, | ||
78 | { "Size","Taille" }, | ||
79 | { "Date","Date" }, | ||
80 | { "Please set at","Bitte einstellen in" }, | ||
81 | { "Settings@General TAB","Configuration@g�n�rale TAB" }, | ||
82 | { "KOpieMail/Pi","KOpieMail/Pi" }, | ||
83 | { "Mail","Mail" }, | ||
84 | { "Settings","Configuration" }, | ||
85 | { "Get all new mails","Relever tous les messages" }, | ||
86 | { "Get new messages","Relever nouveaux messages" }, | ||
87 | { "Compose new mail","R�diger nouveau message" }, | ||
88 | { "Send queued mails","Envoi des messages en attente" }, | ||
89 | { "Show/Hide folders","Montrer/Cacher dossiers" }, | ||
90 | { "Drafts","Brouillons" } | ||
91 | { "Delete Mail","D�truire messages" }, | ||
92 | { "Edit settings","Configurer OM/Pi" }, | ||
93 | { "Configure accounts","Configurer comptes" }, | ||
94 | { "Mailbox","Bo�te" }, | ||
95 | { "Subject","Sujet" }, | ||
96 | { "Sender","Exp�diteur" }, | ||
97 | { "Size","Taille" }, | ||
98 | { "Date","Date" }, | ||
99 | { "Close","Fermer" }, | ||
100 | { "Help","Aide" }, | ||
101 | { "About","A propos" }, | ||
102 | { "Licence","Licence" }, | ||
103 | { "LibEtPan Licence","LibEtPan Licence" }, | ||
104 | { "Settings - some need a restart (nr)","Configuration - peut n�cessiter un red�marrage (nr)" }, | ||
105 | { "HINT: Separate multiple\neMail addresses by ";"","INFO: S�parer les adresses par ";"" }, | ||
106 | { "Ignore above settings and\nuse KA/Pi "Who am I" instead!","Ignorer les r�glages et utiliser\n"Qui suis-je !" de KA/Pi" }, | ||
107 | { "View mail as html","Afficher en html" }, | ||
108 | { "Send mails later","Envoyer plus tard" }, | ||
109 | { "Application(nr)","Application (nr)" }, | ||
110 | { "OK","OK" }, | ||
111 | { "Choose...","Choisir..." } | ||
112 | { "Fonts","Polices" } | ||
113 | { "Mail","Message" } | ||
114 | { "Generel","G�n�ral" } | ||
115 | { "Full &name:"," Nom complet:" } | ||
116 | { "E&mail address:","Adresse mail:" } | ||
117 | { "Compose mail:","R�daction message:" }, | ||
118 | { "Dear Mr.","Cher M." }, | ||
119 | { "Read mail:","Lecture message:" }, | ||
120 | { "Hello","Bonjour" }, | ||
121 | { "Configure Accounts","Configurer Comptes" }, | ||
122 | { "Name of the Account","Nom du compte" }, | ||
123 | { "News","Groupes de discussion" }, | ||
124 | { "Account","Compte" }, | ||
125 | { "%1 groups subscribed","%1 Abonnements" } | ||
126 | { "Type","Type" }, | ||
127 | { "<p>Please select an account.</p>","<p>Merci de choisir un compte.</p>" }, | ||
128 | { "Error","Erreur" }, | ||
129 | { "Configure NNTP","Configurer News" }, | ||
130 | { "Port","Port :" }, | ||
131 | { "Server","Serveur :" }, | ||
132 | { "Use SSL","Utiliser SSL" }, | ||
133 | { "User","User :" }, | ||
134 | { "Password","Password :" }, | ||
135 | { "Use Login","Login" }, | ||
136 | { "Newsgroup","Newsgroup" }, | ||
137 | { "Get newsgroup list from server","R�cup�rer la liste de groupes depuis le serveur" }, | ||
138 | { "Filter:","Filtre:" }, | ||
139 | { "Show subscribed","Abonnements" }, | ||
140 | { "Groups","Groupe(s) de discussion" }, | ||
141 | { "Configure IMAP","Configurer IMAP" }, | ||
142 | { "Use secure sockets:","Utiliser un compte s�curis� :" }, | ||
143 | { "ssh $SERVER exec","ssh $SERVER exec" }, | ||
144 | { "Prefix","Prefixe" }, | ||
145 | { "Local storage folder:","Dossier de stockage :" }, | ||
146 | { "Get only messages smaller","R�cup�rer uniquement les mails inf�rieurs � :" }, | ||
147 | { "kB","kB" }, | ||
148 | { "Leave Messages on Server","Laisser les messages sur le serveur" }, | ||
149 | { "Configure POP3","Configurer POP3" }, | ||
150 | { "ssh $SERVER exec imapd","ssh $SERVER exec imapd" }, | ||
151 | { "Configure SMTP","Configurer SMTP" }, | ||
152 | { "Name of the SMTP Server","Nom des serveurs SMTP" }, | ||
153 | { "Port of the SMTP Server","Port des serveurs SMTP" }, | ||
154 | { "Fetching folder list","Hole Verzeichnis Liste" }, | ||
155 | { "Fetch ","Hole " }, | ||
156 | { "Fetching header list","Hole Titel Liste" }, | ||
157 | { "Mailbox has %1 mails","La Bo�te contient %1 Messages" }, | ||
158 | { "Read this mail","Lire ce message" }, | ||
159 | { "Move/Copy this mail","Copier/D�placer ce message" }, | ||
160 | { "Delete this mail","D�truire ce message" }, | ||
161 | { "Move/Copy all selected mail","Copier/D�placer tous les messages choisis" }, | ||
162 | { "Delete all selected mails","D�truire tous les messages choisis" }, | ||
163 | { "Clear selection","D�selectionner" }, | ||
164 | { "Reply","R�pondre" }, | ||
165 | { "Forward","Faire suivre" }, | ||
166 | { "Attachments","Pi�ce jointe" }, | ||
167 | { "Show Html","Afficher en html" }, | ||
168 | { "Description","Description" }, | ||
169 | { "Filename","Nom de fichier" }, | ||
170 | { "E-Mail by %1","Envoy� par %1" }, | ||
171 | { "Cc","Copie" }, | ||
172 | { "To","A : " }, | ||
173 | { "From","De : " }, | ||
174 | { "Select Addressee","Choisir une adresse" } | ||
175 | { "<p>Do you really want to delete this mail? <br><br>","<p>Voulez-vous vraiment d�truire ce message ? <br><br>" }, | ||
176 | { "Mailbox has %1 mail(s)","La Bo�te contient %1 message(s)" }, | ||
177 | { "Move/Copie all mails","Copier/D�placer tous les messages" }, | ||
178 | { "Delete all mails","D�truire tous les messages" }, | ||
179 | { "Create new subfolder","Cr�er un sous-dossier" }, | ||
180 | { "Delete folder","D�truire le dossier" }, | ||
181 | { "Refresh folder list","Rafraichir la liste" }, | ||
182 | { "Create new folder","Cr�er un nouveau dossier" }, | ||
183 | { "Disconnect","D�connecter" }, | ||
184 | { "Set offline","Hors-connexion" }, | ||
185 | { "Set online","Connecter" } | ||
186 | { "Select target box","Choisir la bo�te de r�ception" }, | ||
187 | { "<b>Store mail(s) to</b>","<b>Stocker le(s) message(s) dans</b>" }, | ||
188 | { "Folder:","Dossier:" }, | ||
189 | { "Account:","Compte:" }, | ||
190 | { "Prefix will prepend, do not enter","Pr�fixe sera rajout�, inutile l'�crire!" }, | ||
191 | { "Move mail(s)","D�placer message(s)" }, | ||
192 | { "apply only to mails smaller","appliquer uniquement sur les messages plus petits" }, | ||
193 | { "only mails smaller","Seulement messages inf�rieurs �:" | ||
194 | { " kB"," kB" }, | ||
195 | { " message %1 of %2"," message %1 de %2" }, | ||
196 | { "Copying...","Copie en cours..." }, | ||
197 | { "Copy message %1 of %2","Copie message %1 de %2" }, | ||
198 | { "Do you really want to delete\nall selected mails?","Voulez-vous vraiment d�truire\ntous les messages s�lectionn�s?" }, | ||
199 | { "Delete All Mails","Suppression de tous les messages" }, | ||
200 | { "Deleting ...","Destruction en cours..." }, | ||
201 | { "Delete message %1 of %2","Destruction message %1 de %2" }, | ||
202 | { "Compose Message","R�daction Message" }, | ||
203 | { "Reply-To","R�pondre" }, | ||
204 | { "BCC","BCC" }, | ||
205 | { "Signature","Signature" }, | ||
206 | { "CC","Copie" }, | ||
207 | { "Options","Options" }, | ||
208 | { "Delete File","D�truire fichier" }, | ||
209 | { "Add File","Ajouter fichier" }, | ||
210 | { "Attachment","Pi�ce jointe" }, | ||
211 | { "send later","envoyer plus tard" }, | ||
212 | { "use:","via : " }, | ||
213 | { "Save","Sauver" }, | ||
214 | { "Name","Nom" }, | ||
215 | { "No Receiver spezified","Pas de destinataire sp�cifi�" }, | ||
216 | { "Sending mail","Mail en cours d'envoi" }, | ||
217 | { "No","Non" }, | ||
218 | { "Yes","Oui" }, | ||
219 | { "Store message into drafts?\n","Sauvegarder\ncomme brouillon ?" }, | ||
220 | { "Store message?","Sauvegarder message ?" }, | ||
221 | { "Select Type","Choix du type" }, | ||
222 | { "Select Account Type","Choix du type de compte" }, | ||
223 | { "IMAP","IMAP (stock� sur serveur)" }, | ||
224 | { "POP3","POP3 (r�ception)" }, | ||
225 | { "SMTP","SMTP (envoi)" }, | ||
226 | { "<p>Do you really want to delete the selected Account?</p>","<p>Voulez-vous vraiment d�truire\nle compte s�lectionn�?</p>" }, | ||
227 | { "Question","Question" }, | ||
228 | { "Send this message?","Envoyer ce message?" }, | ||
229 | { "Stop editing message","Arr�t de l'�dition" }, | ||
230 | { "Sending mail %1 of %2","Envoi du message %1 de %2" }, | ||
231 | { "%1 of %2 bytes send","%1 de %2 bytes envoy�s" }, | ||
232 | { "Refresh header list","Actualiser la liste d'ent�tes" }, | ||
233 | { "","" }, | ||
234 | { "","" }, | ||
235 | { "","" }, | ||
236 | { "","" }, | ||
237 | { "","" }, | ||
238 | { "","" }, | ||
diff --git a/bin/kdepim/korganizer/frenchtranslation.txt b/bin/kdepim/korganizer/frenchtranslation.txt index fc783fa..fb073cd 100644 --- a/bin/kdepim/korganizer/frenchtranslation.txt +++ b/bin/kdepim/korganizer/frenchtranslation.txt | |||
@@ -1,838 +1,859 @@ | |||
1 | |||
1 | { "10 minutes","10 minutes", }, | 2 | { "10 minutes","10 minutes", }, |
2 | { "10th","10" }, | 3 | { "10th","10" }, |
3 | { "11th","11" }, | 4 | { "11th","11" }, |
4 | { "12 pm Format","Format 12h" }, | 5 | { "12 pm Format","Format 12h" }, |
5 | { "12th","12" }, | 6 | { "12th","12" }, |
6 | { "13th","13" }, | 7 | { "13th","13" }, |
7 | { "14th","14" }, | 8 | { "14th","14" }, |
8 | { "15th","15" }, | 9 | { "15th","15" }, |
9 | { "16th","16" }, | 10 | { "16th","16" }, |
10 | { "17th","17" }, | 11 | { "17th","17" }, |
11 | { "18th","18" }, | 12 | { "18th","18" }, |
12 | { "19th","19" }, | 13 | { "19th","19" }, |
13 | { "1 Day","1 jour" }, | 14 | { "1 Day","1 jour" }, |
14 | { "1 h","1 h" }, | 15 | { "1 h","1 h" }, |
15 | { "1 (high)","1 (haut)" }, | 16 | { "1 (high)","1 (haut)" }, |
16 | { "5 (low)","5 (bas)" }, | 17 | { "5 (low)","5 (bas)" }, |
17 | { "1st","1er" }, | 18 | { "1st","1er" }, |
18 | { "20th","20" }, | 19 | { "20th","20" }, |
19 | { "21st","21" }, | 20 | { "21st","21" }, |
20 | { "22nd","22" }, | 21 | { "22nd","22" }, |
21 | { "23rd","23" }, | 22 | { "23rd","23" }, |
22 | { "24:00 Hour Format","Format 24h" }, | 23 | { "24:00 Hour Format","Format 24h" }, |
23 | { "24th","24" }, | 24 | { "24th","24" }, |
24 | { "25th","25" }, | 25 | { "25th","25" }, |
25 | { "26th","26" }, | 26 | { "26th","26" }, |
26 | { "27th","27" }, | 27 | { "27th","27" }, |
27 | { "28th","28" }, | 28 | { "28th","28" }, |
28 | { "29th","29" }, | 29 | { "29th","29" }, |
29 | { "2nd","2" }, | 30 | { "2nd","2" }, |
30 | { "30 minutes","30 Minutes" }, | 31 | { "30 minutes","30 Minutes" }, |
31 | { "30th","30" }, | 32 | { "30th","30" }, |
32 | { "31st","31" }, | 33 | { "31st","31" }, |
33 | { "3rd","3" }, | 34 | { "3rd","3" }, |
34 | { "4th","4" }, | 35 | { "4th","4" }, |
35 | { "5 (lowest)","5 (mini)" }, | 36 | { "5 (lowest)","5 (mini)" }, |
36 | { "5th","5" }, | 37 | { "5th","5" }, |
37 | { "6th","6" }, | 38 | { "6th","6" }, |
38 | { "7th","7" }, | 39 | { "7th","7" }, |
39 | { "8th","8" }, | 40 | { "8th","8" }, |
40 | { "9th","9" }, | 41 | { "9th","9" }, |
41 | { "About...","A Propos..." }, | 42 | { "About...","A Propos..." }, |
42 | { "&Accept","V&Alider" }, | 43 | { "&Accept","V&Alider" }, |
43 | { "Accept","Valider" }, | 44 | { "Accept","Valider" }, |
44 | { "Accept A&ll","Tout Va&lider" }, | 45 | { "Accept A&ll","Tout Va&lider" }, |
45 | { "Access:",":" }, | 46 | { "Access:",":" }, |
46 | { "A corresponding event is missing in your calendar!","Un �v�nement correspondant manque dans votre calendrier!" }, | 47 | { "A corresponding event is missing in your calendar!","Un �v�nement correspondant manque dans votre calendrier!" }, |
47 | { "Actions","Actions" }, | 48 | { "Actions","Actions" }, |
48 | { "Add Filter","Ajout Filtre" }, | 49 | { "Add Filter","Ajout Filtre" }, |
49 | { "&Add","&Ajouter" }, | 50 | { "&Add","&Ajouter" }, |
50 | { "Add","Ajouter" }, | 51 | { "Add","Ajouter" }, |
51 | { "Additional email addresses:","autres emails:" }, | 52 | { "Additional email addresses:","autres emails:" }, |
52 | { "Additional email address:","autre email:" }, | 53 | { "Additional email address:","autre email:" }, |
53 | { "&Addressbook","c&arnet d'adresses" }, | 54 | { "&Addressbook","c&arnet d'adresses" }, |
54 | { "Address &Book...","carnet d'adresses &B" }, | 55 | { "Address &Book...","carnet d'adresses &B" }, |
55 | { "Agenda Size","Taille Agenda" }, | 56 | { "Agenda Size","Taille Agenda" }, |
56 | { "Agenda Size:","Taille de l'Agenda:" }, | 57 | { "Agenda Size:","Taille de l'Agenda:" }, |
57 | { "Agenda view:","Vue Agenda:" }, | 58 | { "Agenda view:","Vue Agenda:" }, |
58 | { "Agenda view background color:","Couleur de fond de la Vue Agenda:" }, | 59 | { "Agenda view background color:","Couleur de fond de la Vue Agenda:" }, |
59 | { "Alarm","Alarme" }, | 60 | { "Alarm","Alarme" }, |
60 | { "All attendees","Tous les Participants" }, | 61 | { "All attendees","Tous les Participants" }, |
61 | { "AllDayAgenda Height:","Hauteur de l'affichage journ�e:" }, | 62 | { "AllDayAgenda Height:","Hauteur de l'affichage journ�e:" }, |
62 | { "Allday","Journ�e" }, | 63 | { "Allday","Journ�e" }, |
63 | { "Anonymous","Anonyme" }, | 64 | { "Anonymous","Anonyme" }, |
64 | { "Apply","Appliquer" }, | 65 | { "Apply","Appliquer" }, |
65 | { "Apr","Avr" }, | 66 | { "Apr","Avr" }, |
66 | { "April","Avril" }, | 67 | { "April","Avril" }, |
67 | {"Ask for every entry on conflict","Demander pour chaque entr�e en conflit"}, | 68 | {"Ask for every entry on conflict","Demander pour chaque entr�e en conflit"}, |
68 | { "Ask for preferences before syncing","Demander les pr�fs. avant la synchro" }, | 69 | { "Ask for preferences before syncing","Demander les pr�fs. avant la synchro" }, |
69 | { "Ask for quit when closing KO/Pi","Confirmer avant de fermer KO/Pi" }, | 70 | { "Ask for quit when closing KO/Pi","Confirmer avant de fermer KO/Pi" }, |
70 | { "Attendees","Participants" }, | 71 | { "Attendees","Participants" }, |
71 | { "Aug","Ao�t" }, | 72 | { "Aug","Ao�t" }, |
72 | { "August","Ao�t" }, | 73 | { "August","Ao�t" }, |
73 | { "Auto-Save","Sauvegarde Auto" }, | 74 | { "Auto-Save","Sauvegarde Auto" }, |
74 | { "Auto save delay in minutes:","Fr�quence de sauvegarde (min):" }, | 75 | { "Auto save delay in minutes:","Fr�quence de sauvegarde (min):" }, |
75 | { "Auto saving...","Sauvegarde Automatique..." }, | 76 | { "Auto saving...","Sauvegarde Automatique..." }, |
76 | { "Begin on:","D�but le:" }, | 77 | { "Begin on:","D�but le:" }, |
77 | { "Begins on: %1","D�but le: %1" }, | 78 | { "Begins on: %1","D�but le: %1" }, |
78 | { "<b>From:</b> %1 <b>To:</b> %2","<b>De:</b> %1 <b>�:</b> %2" }, | 79 | { "<b>From:</b> %1 <b>To:</b> %2","<b>De:</b> %1 <b>�:</b> %2" }, |
79 | { "Bigger","Tr�s grand" }, | 80 | { "Bigger","Tr�s grand" }, |
80 | { "Biggest","Maxi" }, | 81 | { "Biggest","Maxi" }, |
81 | { "Big","Grand" }, | 82 | { "Big","Grand" }, |
82 | { "<b>On:</b> %1","<b>�:</b> %1" }, | 83 | { "<b>On:</b> %1","<b>�:</b> %1" }, |
83 | { "<b>On:</b> %1 <b>From:S</b> %2 <b>To:</b> %3","<b>Le:</b> %1 <b>de:S</b> %2 <b>�:</b> %3" }, | 84 | { "<b>On:</b> %1 <b>From:S</b> %2 <b>To:</b> %3","<b>Le:</b> %1 <b>de:S</b> %2 <b>�:</b> %3" }, |
84 | { "<b>Original event:</b><p>","<b>Ev�nement source:</b><p>" }, | 85 | { "<b>Original event:</b><p>","<b>Ev�nement source:</b><p>" }, |
85 | { " - both are modified after last sync"," - Les deux ont eu des modif. apr�s la derni�re synchro" }, | 86 | { " - both are modified after last sync"," - Les deux ont eu des modif. apr�s la derni�re synchro" }, |
86 | { "Busy","Occup�" }, | 87 | { "Busy","Occup�" }, |
87 | { "&Cancel","Annuler &C" }, | 88 | { "&Cancel","Annuler &C" }, |
88 | { "Cancel","Annuler" }, | 89 | { "Cancel","Annuler" }, |
89 | { "Cannot delete To-Do\nwhich has children.","Impossible d'efacer une t�che qui a des d�pendances" }, | 90 | { "Cannot delete To-Do\nwhich has children.","Impossible d'efacer une t�che qui a des d�pendances" }, |
90 | { "Cannot delete To-Do which has children.","Impossible d'efacer une t�che qui � des d�pendances" }, | 91 | { "Cannot delete To-Do which has children.","Impossible d'efacer une t�che qui � des d�pendances" }, |
91 | { "Can't generate mail:\nNo event selected.","G�n�ration du mail impossible: pas d'�v�nement s�lectionn�." }, | 92 | { "Can't generate mail:\nNo event selected.","G�n�ration du mail impossible: pas d'�v�nement s�lectionn�." }, |
92 | { "Categories...","Cat�gories..." }, | 93 | { "Categories...","Cat�gories..." }, |
93 | { "Categories","Cat�gories" }, | 94 | { "Categories","Cat�gories" }, |
94 | { "Category","Cat�gorie" }, | 95 | { "Category","Cat�gorie" }, |
95 | { "Center View","Centrer" }, | 96 | { "Center View","Centrer" }, |
96 | { "Change","�ndere" }, | 97 | { "Change","�ndere" }, |
97 | { "Cinema","Cin�ma" }, | 98 | { "Cinema","Cin�ma" }, |
98 | { "Click to add a new Todo","Cliquer pour ajouter nouvelle une t�che" }, | 99 | { "Click to add a new Todo","Cliquer pour ajouter nouvelle une t�che" }, |
99 | { "Clone Item","Cloner Objet" }, | 100 | { "Clone Item","Cloner Objet" }, |
100 | { "&Close","Fermer &C" }, | 101 | { "&Close","Fermer &C" }, |
101 | { "Close","Fermer" }, | 102 | { "Close","Fermer" }, |
102 | { "Close this dialog to abort deletion!","Fermer cette fen�tre pour annuler la suppression!" }, | 103 | { "Close this dialog to abort deletion!","Fermer cette fen�tre pour annuler la suppression!" }, |
103 | { "Colors","Couleurs" }, | 104 | { "Colors","Couleurs" }, |
104 | { "completed","Achev�" }, | 105 | { "completed","Achev�" }, |
105 | { "completed on %1","Achev� � %1" }, | 106 | { "completed on %1","Achev� � %1" }, |
106 | { "Complete","Finir" }, | 107 | { "Complete","Finir" }, |
107 | { "Confidential","Confidentiel" }, | 108 | { "Confidential","Confidentiel" }, |
108 | { "Configure...","Configurer..." }, | 109 | { "Configure...","Configurer..." }, |
109 | { "Confirm &deletes","Confirmer l'effacement" }, | 110 | { "Confirm &deletes","Confirmer l'effacement" }, |
110 | { "Couldn't load calendar\n '%1'.","impossible de charger le calendrier '%1'." }, | 111 | { "Couldn't load calendar\n '%1'.","impossible de charger le calendrier '%1'." }, |
111 | { "Counter-event Viewer","Compteur de Rdv." }, | 112 | { "Counter-event Viewer","Compteur de Rdv." }, |
112 | { "Daily ending hour:","Fin de journ�e:" }, | 113 | { "Daily ending hour:","Fin de journ�e:" }, |
113 | { "Daily starting hour:","D�but de journ�e:" }, | 114 | { "Daily starting hour:","D�but de journ�e:" }, |
114 | { "Daily","Quotidien" }, | 115 | { "Daily","Quotidien" }, |
115 | { "Date Format","Format de date" }, | 116 | { "Date Format","Format de date" }, |
116 | { "Date Format:","Format de date:" }, | 117 | { "Date Format:","Format de date:" }, |
117 | { "DateNavigator:(nr)","Calendrier" }, | 118 | { "DateNavigator:(nr)","Calendrier" }, |
118 | { "Dates: ","Dates: " }, | 119 | { "Dates: ","Dates: " }, |
119 | { "Date && Time","Date && Heure" }, | 120 | { "Date && Time","Date && Heure" }, |
120 | { "Day begins at:","Le jour commence �:" }, | 121 | { "Day begins at:","Le jour commence �:" }, |
121 | { "Days in Next-X-Days:","Jours dans "Prochains jours":" }, | 122 | { "Days in Next-X-Days:","Jours dans "Prochains jours":" }, |
122 | { "Days in What's Next:","Jours dans "A venir...":" }, | 123 | { "Days in What's Next:","Jours dans "A venir...":" }, |
123 | { "day(s)","Jours(s)" }, | 124 | { "day(s)","Jours(s)" }, |
124 | { "Days to show in Next-X-Days view:","Jours dans la vue des prochains jours:" }, | 125 | { "Days to show in Next-X-Days view:","Jours dans la vue des prochains jours:" }, |
125 | { "day","Jour" }, | 126 | { "day","Jour" }, |
126 | { "Dec","Dec" }, | 127 | { "Dec","Dec" }, |
127 | { "December","Decembre" }, | 128 | { "December","Decembre" }, |
128 | { "Default alarm time:","Alarme par d�faut:" }, | 129 | { "Default alarm time:","Alarme par d�faut:" }, |
129 | { "Default appointment time:","Rendez vous par d�faut:" }, | 130 | { "Default appointment time:","Rendez vous par d�faut:" }, |
130 | { "Default event color:","Couleur de l'�venemment par. def.:" }, | 131 | { "Default event color:","Couleur de l'�venemment par. def.:" }, |
131 | { "Default","Standard" }, | 132 | { "Default","Standard" }, |
132 | { "Def. duration of new app.:","Dur�e normale d'un RdV:" }, | 133 | { "Def. duration of new app.:","Dur�e normale d'un RdV:" }, |
133 | { "Delete all completed To-Dos?","Effacer toutes les t�ches achev�es?" }, | 134 | { "Delete all completed To-Dos?","Effacer toutes les t�ches achev�es?" }, |
134 | { "Delete All","Tout Effacer" }, | 135 | { "Delete All","Tout Effacer" }, |
135 | { "Delete all selected","Effacer la selection" }, | 136 | { "Delete all selected","Effacer la selection" }, |
136 | { "Delete Current","Effacer courant" }, | 137 | { "Delete Current","Effacer courant" }, |
137 | { "Delete Event...","Effacer Ev�nement..." }, | 138 | { "Delete Event...","Effacer Ev�nement..." }, |
138 | { "Delete Event","Effacer Ev�nement" }, | 139 | { "Delete Event","Effacer Ev�nement" }, |
139 | { "&Delete","&Effacer &D" }, | 140 | { "&Delete","Effacer" }, |
140 | { "Delete...","Effacer..." }, | 141 | { "Delete...","Effacer..." }, |
141 | { "Delete","Effacer" }, | 142 | { "Delete","Effacer" }, |
142 | { "Delete Todo...","Effacer T�che..." }, | 143 | { "Delete Todo...","Effacer T�che..." }, |
143 | { "Delete To-Do","Effacer T�che" }, | 144 | { "Delete To-Do","Effacer T�che" }, |
144 | { "Deleting item %d ...","Effacer l'objet %d..." }, | 145 | { "Deleting item %d ...","Effacer l'objet %d..." }, |
145 | { "Descriptions","Descriptions" }, | 146 | { "Descriptions","Descriptions" }, |
146 | { "Deselect All","Tout D�selectionner" }, | 147 | { "Deselect All","Tout D�selectionner" }, |
147 | { "Details","Details" }, | 148 | { "Details","Details" }, |
148 | { "Dinner","Diner" }, | 149 | { "Dinner","Diner" }, |
149 | { "Do you really want\nto close KO/Pi?","Voulez vous vraiment quitter KO/PI?" }, | 150 | { "Do you really want\nto close KO/Pi?","Voulez vous vraiment quitter KO/PI?" }, |
150 | { "Due Date","Fin" }, | 151 | { "Due Date","Fin" }, |
151 | { "Due: ","Fin: "}, | 152 | { "Due: ","Fin: "}, |
152 | { "Due Time","Fin le" }, | 153 | { "Due Time","Fin le" }, |
153 | { "Due:","Fin:"}, | 154 | { "Due:","Fin:"}, |
154 | { "Duration: ","Dur�e: " }, | 155 | { "Duration: ","Dur�e: " }, |
155 | { "Edit...","Modifier..." }, | 156 | { "&Edit...","Modifier..." }, |
156 | { "Edit","Modifier" }, | 157 | { "Edit","Modifier" }, |
157 | { "Edit Event...","Modifier Ev�nement..." }, | 158 | { "Edit Event...","Modifier Ev�nement..." }, |
158 | { "Edit Event","Modifier Ev�nement" }, | 159 | { "Edit Event","Modifier Ev�nement" }, |
159 | { "Edit exceptions","Modifier exceptions" }, | 160 | { "Edit exceptions","Modifier exceptions" }, |
160 | { "EditorBox:","Fen�tre d'�dition:" }, | 161 | { "EditorBox:","Fen�tre d'�dition:" }, |
161 | { "Edit Recurrence Range","Modifier la fr�quence" }, | 162 | { "Edit Recurrence Range","Modifier la fr�quence" }, |
162 | { "Edit Todo...","Modifier T�che..." }, | 163 | { "Edit Todo...","Modifier T�che..." }, |
163 | { "Edit To-Do","Modifier T�che" }, | 164 | { "Edit To-Do","Modifier T�che" }, |
164 | { "E&mail address:","E&mail:" }, | 165 | { "E&mail address:","E&mail:" }, |
165 | { "(EmptyEmail)","(PasDEmail)" }, | 166 | { "(EmptyEmail)","(PasDEmail)" }, |
166 | { "(EmptyName)","(SansNom)" }, | 167 | { "(EmptyName)","(SansNom)" }, |
167 | { "Enable Recurrence","Activer la p�riodicit�" }, | 168 | { "Enable Recurrence","Activer la p�riodicit�" }, |
168 | { "End after","Fin apr�s"}, | 169 | { "End after","Fin apr�s"}, |
169 | { "End by:","Fini le"}, | 170 | { "End by:","Fini le"}, |
170 | { "End Date","Date de fin" }, | 171 | { "End Date","Date de fin" }, |
171 | { "End:","Fin:" }, | 172 | { "End:","Fin:" }, |
172 | { "End Time","heure de fin" }, | 173 | { "End Time","heure de fin" }, |
173 | { "English","Anglais" }, | 174 | { "English","Anglais" }, |
174 | { "Event","Ev�nement" }, | 175 | { "Event","Ev�nement" }, |
175 | { "Event list","Liste Even..." }, | 176 | { "Event list","Liste Even..." }, |
176 | { "Events","Ev�nements" }, | 177 | { "Events","Ev�nements" }, |
177 | { "Event Viewer:","Voir Rdv:" }, | 178 | { "Event Viewer:","Voir Rdv:" }, |
178 | { "every","Tous les" }, | 179 | { "every","Tous les" }, |
179 | { "Exceptions...","Exceptions..." }, | 180 | { "Exceptions...","Exceptions..." }, |
180 | { "Exceptions","Exceptions" }, | 181 | { "Exceptions","Exceptions" }, |
181 | { "Exclude holidays","Exclure les cong�s" }, | 182 | { "Exclude holidays","Exclure les cong�s" }, |
182 | { "Exclude Saturdays","Exclure les samedis" }, | 183 | { "Exclude Saturdays","Exclure les samedis" }, |
183 | { "Feb","Fev" }, | 184 | { "Feb","Fev" }, |
184 | { "February","Fevrier" }, | 185 | { "February","Fevrier" }, |
185 | { "&Find","chercher &F" }, | 186 | { "&Find","chercher &F" }, |
186 | { "Fonts","Polices" }, | 187 | { "Fonts","Polices" }, |
187 | { "Force take local entry always","Priorit� aux objets locaux" }, | 188 | { "Force take local entry always","Priorit� aux objets locaux" }, |
188 | { "Force take remote entry always","Priorit� aux objets distants"}, | 189 | { "Force take remote entry always","Priorit� aux objets distants"}, |
189 | { "Free","Libre" }, | 190 | { "Free","Libre" }, |
190 | { "Friday","Vendredi" }, | 191 | { "Friday","Vendredi" }, |
191 | { "Fri","Ven" }, | 192 | { "Fri","Ven" }, |
192 | { "From:","De:" }, | 193 | { "From:","De:" }, |
193 | { "Full &name:","&Nom et pr�nom:" }, | 194 | { "Full &name:","&Nom et pr�nom:" }, |
194 | { "General","General" }, | 195 | { "General","General" }, |
195 | { "German","Allemand" }, | 196 | { "German","Allemand" }, |
196 | { "Gifts","Cadeaux" }, | 197 | { "Gifts","Cadeaux" }, |
197 | { "Go to Today","-> Aujourd'hui" }, | 198 | { "Go to Today","-> Aujourd'hui" }, |
198 | { "Help","Aide" }, | 199 | { "Help","Aide" }, |
199 | { "Hide Dates","Cacher les Dates" }, | 200 | { "Hide Dates","Cacher les Dates" }, |
200 | { "Highlight color:","S�lection:" }, | 201 | { "Highlight color:","S�lection:" }, |
201 | { "Holiday color:","Cong�s:" }, | 202 | { "Holiday color:","Cong�s:" }, |
202 | { "hour(s)","heure(s)" }, | 203 | { "hour(s)","heure(s)" }, |
203 | { "In %1 days: ","Dans %1 jours: " }, | 204 | { "In %1 days: ","Dans %1 jours: " }, |
204 | { "Incomplete Todo:","t�ches en cours:" }, | 205 | { "Incomplete Todo:","t�ches en cours:" }, |
205 | { "Information","Information" }, | 206 | { "Information","Information" }, |
206 | { "Invalid search expression,\ncannot perform ","Recherche impossible:\nexpression incorrecte" }, | 207 | { "Invalid search expression,\ncannot perform ","Recherche impossible:\nexpression incorrecte" }, |
207 | { "Jan","Jan" }, | 208 | { "Jan","Jan" }, |
208 | { "January","Janvier" }, | 209 | { "January","Janvier" }, |
209 | { "JournalView:","Journal:" }, | 210 | { "JournalView:","Journal:" }, |
210 | { "Journals","Journaux" }, | 211 | { "Journals","Journaux" }, |
211 | { "Jul","Jul" }, | 212 | { "Jul","Jul" }, |
212 | { "July","Juillet" }, | 213 | { "July","Juillet" }, |
213 | { "Jump to date","Aller � la date" }, | 214 | { "Jump to date","Aller � la date" }, |
214 | { "June","Juin" }, | 215 | { "June","Juin" }, |
215 | { "Jun","Jun" }, | 216 | { "Jun","Jun" }, |
216 | { "Key Bindings...","Raccoucis..." }, | 217 | { "Key Bindings...","Raccoucis..." }, |
217 | { "Kids","Enfants" }, | 218 | { "Kids","Enfants" }, |
218 | { "Known Problems...","Probl�mes connus..." }, | 219 | { "Known Problems...","Probl�mes connus..." }, |
219 | { "KO/Pi Find ","Recherche KO/Pi " }, | 220 | { "KO/Pi Find ","Recherche KO/Pi " }, |
220 | { "KO/Pi Find: ","Recherche : " }, | 221 | { "KO/Pi Find: ","Recherche : " }, |
221 | { "KO/Pi is starting ... "," D�marrage de KO/Pi ... le temps d'un caf� ..." }, | 222 | { "KO/Pi is starting ... "," D�marrage de KO/Pi ... le temps d'un caf� ..." }, |
222 | { "Language:(needs restart)","Langue (red�marrage!)" }, | 223 | { "Language:(needs restart)","Langue (red�marrage!)" }, |
223 | { "Language:","Langue" }, | 224 | { "Language:","Langue" }, |
224 | { "Large","Moyen +" }, | 225 | { "Large","Moyen +" }, |
225 | { "List View:","Liste:" }, | 226 | { "List View:","Liste:" }, |
226 | { "List View","Liste" }, | 227 | { "List View","Liste" }, |
227 | { "Load/Save","Charger/Enreg..." }, | 228 | { "Load/Save","Charger/Enreg..." }, |
228 | { "Load Template","Charger Mod�le" }, | 229 | { "Load Template","Charger Mod�le" }, |
229 | { "Locale","Traduction" }, | 230 | { "Locale","Traduction" }, |
230 | { "Local temp file:","donn�es temp.:" }, | 231 | { "Local temp file:","donn�es temp.:" }, |
231 | { "Location: ","Lieu: " }, | 232 | { "Location: ","Lieu: " }, |
232 | { "Location:","Lieu:" }, | 233 | { "Location:","Lieu:" }, |
233 | { "Mail client","Client Mail" }, | 234 | { "Mail client","Client Mail" }, |
234 | { "Mail Client","Client Mail" }, | 235 | { "Mail Client","Client Mail" }, |
235 | { "March","Mars" }, | 236 | { "March","Mars" }, |
236 | { "Mar","Mar" }, | 237 | { "Mar","Mar" }, |
237 | { "May","Mai" }, | 238 | { "May","Mai" }, |
238 | { "M. Bains line:","Ligne M. Bains:" }, | 239 | { "M. Bains line:","Ligne M. Bains:" }, |
239 | { "Medium","Moyen -" }, | 240 | { "Medium","Moyen -" }, |
240 | { "Method","Methode" }, | 241 | { "Method","Methode" }, |
241 | { "minute(s)","Minute(s)" }, | 242 | { "minute(s)","Minute(s)" }, |
242 | { "Monday","Lundi" }, | 243 | { "Monday","Lundi" }, |
243 | { "Mon","Lu" }, | 244 | { "Mon","Lu" }, |
244 | { "Monthly","Mensuel" }, | 245 | { "Monthly","Mensuel" }, |
245 | { "Month not long enough","Le mois est trop court" }, | 246 | { "Month not long enough","Le mois est trop court" }, |
246 | { "month(s)","Mois" }, | 247 | { "month(s)","Mois" }, |
247 | { "Month view:","Vue Mensuelle:" }, | 248 | { "Month view:","Vue Mensuelle:" }, |
248 | { "Month view uses category colors","Utiliser les couleurs des cat. dans la vue mensuelle" }, | 249 | { "Month view uses category colors","Utiliser les couleurs des cat. dans la vue mensuelle" }, |
249 | { "Todo view uses category colors","Utiliser les couleurs des cat. dans la vue des t�ches" }, | 250 | { "Todo view uses category colors","Utiliser les couleurs des cat. dans la vue des t�ches" }, |
250 | { "Move &Down","&Descendre" }, | 251 | { "Move &Down","&Descendre" }, |
251 | { "Move &Up","Monter &U" }, | 252 | { "Move &Up","Monter &U" }, |
252 | { "Name:","Nom:" }, | 253 | { "Name:","Nom:" }, |
253 | { "Name","Nom" }, | 254 | { "Name","Nom" }, |
254 | { "\nAre you sure you want\nto delete this event?","\nConfirmez vous la suppression \nde l'�v�nement?" }, | 255 | { "\nAre you sure you want\nto delete this event?","\nConfirmez vous la suppression \nde l'�v�nement?" }, |
255 | { "%n Days","%n Jours" }, | 256 | { "%n Days","%n Jours" }, |
256 | { "Never","Jameais" }, | 257 | { "Never","Jameais" }, |
257 | { "New event...","Nouv. Even..." }, | 258 | { "New event...","Nouv. Even..." }, |
258 | { "New event","Nouv. Even" }, | 259 | { "New event","Nouv. Even" }, |
259 | { "New Event...","Nouv. Even..." }, | 260 | { "New Event...","Nouv. Even..." }, |
260 | { "New Events/Todos should","Nouv. Even/T�che doivent" }, | 261 | { "New Events/Todos should","Nouv. Even/T�che doivent" }, |
261 | { "&New","&Nouveau" }, | 262 | { "&New","&Nouveau" }, |
262 | { "New","Nouveau", }, | 263 | { "New","Nouveau", }, |
263 | { "New Sub-Todo...","Nouv Sous-T�che..." }, | 264 | { "New Sub-Todo...","Nouv Sous-T�che..." }, |
264 | { "New Todo...","Nouv T�che..." }, | 265 | { "New Todo...","Nouv T�che..." }, |
265 | { "Next Alarm: ","Prochaine Sonnerie: ", }, | 266 | { "Next Alarm: ","Prochaine Sonnerie: ", }, |
266 | { "&Next Day","&prochai&n Jour", }, | 267 | { "&Next Day","&prochai&n Jour", }, |
267 | { "Next days view uses full window","Prochains jours sur toute la fen�tre" }, | 268 | { "Next days view uses full window","Prochains jours sur toute la fen�tre" }, |
268 | { "Next month","Prochain mois" }, | 269 | { "Next month","Prochain mois" }, |
269 | { "&Next Week","prochai&ne semaine" }, | 270 | { "&Next Week","prochai&ne semaine" }, |
270 | { "Next year","Prochaine Ann�e" }, | 271 | { "Next year","Prochaine Ann�e" }, |
271 | { "Next Year","Prochaine Ann�e" }, | 272 | { "Next Year","Prochaine Ann�e" }, |
272 | { "%n h","%n h" }, | 273 | { "%n h","%n h" }, |
273 | { "No ending date","Pas de date de fin" }, | 274 | { "No ending date","Pas de date de fin" }, |
274 | { "No event, nothing to do.","Pas d'�v�nement, pas de t�che" }, | 275 | { "No event, nothing to do.","Pas d'�v�nement, pas de t�che" }, |
275 | { "No event selected.","Aucun �v�nement s�lectionn�" }, | 276 | { "No event selected.","Aucun �v�nement s�lectionn�" }, |
276 | { "No","Non" }, | 277 | { "No","Non" }, |
277 | { "No program set","Aucun Programme choisi", }, | 278 | { "No program set","Aucun Programme choisi", }, |
278 | { "Normal","Moyen" }, | 279 | { "Normal","Moyen" }, |
279 | { "[No selection]","Aucune s�lection", }, | 280 | { "[No selection]","Aucune s�lection", }, |
280 | { "No sound set","Pas de son choisi", }, | 281 | { "No sound set","Pas de son choisi", }, |
281 | { "no time ","pas d'heure", }, | 282 | { "no time ","pas d'heure", }, |
282 | { "no time","pas d'heure", }, | 283 | { "no time","pas d'heure", }, |
283 | { "No Time","pas d'heure" }, | 284 | { "No Time","pas d'heure" }, |
284 | { "November","Novembre" }, | 285 | { "November","Novembre" }, |
285 | { "Nov","Nov", }, | 286 | { "Nov","Nov", }, |
286 | { "\nThis event recurs\nover multiple dates.\n","\nCet Ev�nement est p�riodique.\n" }, | 287 | { "\nThis event recurs\nover multiple dates.\n","\nCet Ev�nement est p�riodique.\n" }, |
287 | { "occurrence(s)","occurrence(s)" }, | 288 | { "occurrence(s)","occurrence(s)" }, |
288 | { "October","Octobre" }, | 289 | { "October","Octobre" }, |
289 | { "Oct","Oct", }, | 290 | { "Oct","Oct", }, |
290 | { "O-due!","�-f�llig! " }, | 291 | { "O-due!","�-f�llig! " }, |
291 | { "&OK","&OK" }, | 292 | { "&OK","&OK" }, |
292 | { "Ok+Show!","Ok+Afficher" }, | 293 | { "Ok+Show!","Ok+Afficher" }, |
293 | { "Organizer: %1","Organisateur %1" }, | 294 | { "Organizer: %1","Organisateur %1" }, |
294 | { "Organizer","Organisateur" }, | 295 | { "Organizer","Organisateur" }, |
295 | { "Owner: ","Propri�taire: " }, | 296 | { "Owner: ","Propri�taire: " }, |
296 | { "Owner:","Propri�taire:" }, | 297 | { "Owner:","Propri�taire:" }, |
297 | { "<p><b>Priority:</b> %2</p>","<p><b>Priorit�:</b> %2</p>" }, | 298 | { "<p><b>Priority:</b> %2</p>","<p><b>Priorit�:</b> %2</p>" }, |
298 | { "Pick a date to display","Choisir un jour � afficher" }, | 299 | { "Pick a date to display","Choisir un jour � afficher" }, |
299 | { "Please specify a valid due date.","Sp�cifiez une date de fin valide."}, | 300 | { "Please specify a valid due date.","Sp�cifiez une date de fin valide."}, |
300 | { "Please specify a valid end date, for example '%1'.","Sp�cifiez une date de fin valide. ex:'%1'." }, | 301 | { "Please specify a valid end date, for example '%1'.","Sp�cifiez une date de fin valide. ex:'%1'." }, |
301 | { "Please specify a valid start date.","Sp�cifiez une date de d�but valide." }, | 302 | { "Please specify a valid start date.","Sp�cifiez une date de d�but valide." }, |
302 | { "Please specify a valid start date, for example '%1'.","Sp�cifiez une date de d�but valide. ex:'%1'." }, | 303 | { "Please specify a valid start date, for example '%1'.","Sp�cifiez une date de d�but valide. ex:'%1'." }, |
303 | { "Please specify a valid start time.","Sp�cifiez une date de d�but valide"}, | 304 | { "Please specify a valid start time.","Sp�cifiez une date de d�but valide"}, |
304 | { "Please specify a valid start time, for example '%1'.","Sp�cifiez une date de d�but valide. ex:'%1'." }, | 305 | { "Please specify a valid start time, for example '%1'.","Sp�cifiez une date de d�but valide. ex:'%1'." }, |
305 | { "Preferences - some settings need a restart (nr)","Pr�f�rence - certains r�glages n�cessitent un red�marrage (bn)" }, | 306 | { "Preferences - some settings need a restart (nr)","Pr�f�rence - certains r�glages n�cessitent un red�marrage (bn)" }, |
306 | { "&Previous Day","Jour pr�c�dent" }, | 307 | { "&Previous Day","Jour pr�c�dent" }, |
307 | { "Previous month","Mois pr�c�dent" }, | 308 | { "Previous month","Mois pr�c�dent" }, |
308 | { "Previous Month","Mois pr�c�dent" }, | 309 | { "Previous Month","Mois pr�c�dent" }, |
309 | { "&Previous Week","Semaine pr�c�dente" }, | 310 | { "&Previous Week","Semaine pr�c�dente" }, |
310 | { "Previous year","Ann�e Pr�c�dente" }, | 311 | { "Previous year","Ann�e Pr�c�dente" }, |
311 | { "Previous Year","Ann�e Pr�c�dente" }, | 312 | { "Previous Year","Ann�e Pr�c�dente" }, |
312 | { "Printing","Imprimer" }, | 313 | { "Printing","Imprimer" }, |
313 | { "&Print...","Im&primer" }, | 314 | { "&Print...","Im&primer" }, |
314 | { "Print","Impression" }, | 315 | { "Print","Impression" }, |
315 | { "Print calendar...","Imprimer calendrier..." }, | 316 | { "Print calendar...","Imprimer calendrier..." }, |
316 | { "View Type","Type de vue"}, | 317 | { "View Type","Type de vue"}, |
317 | { "Print day","Jour" }, | 318 | { "Print day","Jour" }, |
318 | { "Print week","Semaine" }, | 319 | { "Print week","Semaine" }, |
319 | { "Print month","Mois" }, | 320 | { "Print month","Mois" }, |
320 | { "Print todos","T�ches" }, | 321 | { "Print todos","T�ches" }, |
321 | { "&Setup Printer...","Imprimante&s" }, | 322 | { "&Setup Printer...","Imprimante&s" }, |
322 | { "Date & Time Range","Date et interval" }, | 323 | { "Date & Time Range","Date et interval" }, |
323 | { "Start month:","Mois d�part:" }, | 324 | { "Start month:","Mois d�part:" }, |
324 | { "End month:","Mois fin:" }, | 325 | { "End month:","Mois fin:" }, |
325 | { "Print week numbers","Imprimer les num�ros de semaine" }, | 326 | { "Print week numbers","Imprimer les num�ros de semaine" }, |
326 | { "Include todos that are due on the printed day(s)","Inclure les t�ches li�es au(x) jour(s) imprim�(s)" }, | 327 | { "Include todos that are due on the printed day(s)","Inclure les t�ches li�es au(x) jour(s) imprim�(s)" }, |
327 | { "Priority:","Priorit�:" }, | 328 | { "Priority:","Priorit�:" }, |
328 | { "Private","Priv�" }, | 329 | { "Private","Priv�" }, |
329 | { "Proceed","Lancer" }, | 330 | { "Proceed","Lancer" }, |
330 | { "Public","Public" }, | 331 | { "Public","Public" }, |
331 | { "Purge","Entferne" }, | 332 | { "Purge","Entferne" }, |
332 | { "Purge Completed","Effacer les T�ches achev�es" }, | 333 | { "Purge Completed","Effacer les T�ches achev�es" }, |
333 | { "Purge To-Dos","Effacer les T�ches" }, | 334 | { "Purge To-Dos","Effacer les T�ches" }, |
334 | { "read-only","lecture seule" }, | 335 | { "read-only","lecture seule" }, |
335 | { "Recur every","Tous les " }, | 336 | { "Recur every","Tous les " }, |
336 | { "Recur in the month of","Reproduit au mois de" }, | 337 | { "Recur in the month of","Reproduit au mois de" }, |
337 | { "Recur on the","Reproduit le" }, | 338 | { "Recur on the","Reproduit le" }, |
338 | { "Recur on this day","Reproduit durant ce jour" }, | 339 | { "Recur on this day","Reproduit durant ce jour" }, |
339 | { "Recurrence Range...","Fr�quence..." }, | 340 | { "Recurrence Range...","Fr�quence..." }, |
340 | { "Recurrence Range","Fr�quence" }, | 341 | { "Recurrence Range","Fr�quence" }, |
341 | { "Recurrence Rule","R�gle de p�riodicit�" }, | 342 | { "Recurrence Rule","R�gle de p�riodicit�" }, |
342 | { "Recurrence","P�riodicit�" }, | 343 | { "Recurrence","P�riodicit�" }, |
343 | { "Recurs","Periode" }, | 344 | { "Recurs","Periode" }, |
344 | {"&Reject","&Rejetter"}, | 345 | {"&Reject","&Rejetter"}, |
345 | { "Reminder:","Rappel:" }, | 346 | { "Reminder:","Rappel:" }, |
346 | { "Rem.:","Rappel:" }, | 347 | { "Rem.:","Rappel:" }, |
347 | { "Rem.","Rappel:" }, | 348 | { "Rem.","Rappel:" }, |
348 | { "Remote file:","Fichier Distant:"}, | 349 | { "Remote file:","Fichier Distant:"}, |
349 | { "Remote IP:","IP Distante:" }, | 350 | { "Remote IP:","IP Distante:" }, |
350 | { "Remote syncing (via ssh/scp) network settings ","Synchro Distante (via ssh/scp) Param�tres r�seau" }, | 351 | { "Remote syncing (via ssh/scp) network settings ","Synchro Distante (via ssh/scp) Param�tres r�seau" }, |
351 | { "Remote user:","Utilisateur Dist."}, | 352 | { "Remote user:","Utilisateur Dist."}, |
352 | { "&Remove","efface&r" }, | 353 | { "&Remove","efface&r" }, |
353 | { "Remove","effacer" }, | 354 | { "Remove","effacer" }, |
354 | { "Request response","Demander une r�ponse" }, | 355 | { "Request response","Demander une r�ponse" }, |
355 | { "Role:","R�le:" }, | 356 | { "Role:","R�le:" }, |
356 | { "Role","R�le" }, | 357 | { "Role","R�le" }, |
357 | { "Sat","Sa" }, | 358 | { "Sat","Sa" }, |
358 | { "Saturday","Samedi" }, | 359 | { "Saturday","Samedi" }, |
359 | { "Search for:","Rechercher:" }, | 360 | { "Search for:","Rechercher:" }, |
360 | { "Search In","chercher dans" }, | 361 | { "Search In","chercher dans" }, |
361 | { "Search...","Chercher..." }, | 362 | { "Search...","Chercher..." }, |
362 | { "Search","Chercher" }, | 363 | { "Search","Chercher" }, |
363 | { "Select Addresses","Selectionner Adresses" }, | 364 | { "Select Addresses","Selectionner Adresses" }, |
364 | { "Select all","Tout s�lectionner" }, | 365 | { "Select all","Tout s�lectionner" }, |
365 | { "Select a month","Choisir Mois" }, | 366 | { "Select a month","Choisir Mois" }, |
366 | { "Select a week","Choisir Semaine" }, | 367 | { "Select a week","Choisir Semaine" }, |
367 | { "Select a year","Choisir ann�e" }, | 368 | { "Select a year","Choisir ann�e" }, |
368 | { "Send directly","Envoyer Directement" }, | 369 | { "Send directly","Envoyer Directement" }, |
369 | { "&Send Messages","envoyer les me&ssages", }, | 370 | { "&Send Messages","envoyer les me&ssages", }, |
370 | { "Sep","Sep" }, | 371 | { "Sep","Sep" }, |
371 | { "September","Septembre" }, | 372 | { "September","Septembre" }, |
372 | { "Shopping","Courses" }, | 373 | { "Shopping","Courses" }, |
373 | { "Use short date in (WN/E) view","Date abr�g�e dans la vue (WN/E)" }, | 374 | { "Use short date in (WN/E) view","Date abr�g�e dans la vue (WN/E)" }, |
374 | { "Show Dates","Voir dates" }, | 375 | { "Show Dates","Voir dates" }, |
375 | { "Show events that recur daily in date nav.","Voir les �ven. quotidiens dans le calendrier" }, | 376 | { "Show events that recur daily in date nav.","Voir les �ven. quotidiens dans le calendrier" }, |
376 | { "Show Event...","Voir �ven..." }, | 377 | { "Show Event...","Voir �ven..." }, |
377 | { "Show ev. that recur weekly in date nav.","Voir les �ven. hebdo. dans le calendrier" }, | 378 | { "Show ev. that recur weekly in date nav.","Voir les �ven. hebdo. dans le calendrier" }, |
378 | { "Show Marcus Bains line","Voir la ligne Marcus Bains" }, | 379 | { "Show Marcus Bains line","Voir la ligne Marcus Bains" }, |
379 | { "Show summary after syncing","Voir r�sum� apr�s la Synchro" }, | 380 | { "Show summary after syncing","Voir r�sum� apr�s la Synchro" }, |
380 | { "Show time as:","Heure:" }, | 381 | { "Show time as:","Heure:" }, |
381 | { "Show Todo...","Voir t�che..." }, | 382 | { "Show Todo...","Voir t�che..." }, |
382 | { "Show topmost todo prios in What's Next:","Afficher T�ches prio dans 'A venir':"}, | 383 | { "Show topmost todo prios in What's Next:","Afficher T�ches prio dans 'A venir':"}, |
383 | { "Show topmost todo prios in What Next:","Afficher T�ches prio dans 'A venir':"}, | 384 | { "Show topmost todo prios in What Next:","Afficher T�ches prio dans 'A venir':"}, |
384 | { "Show vertical screen (Needs restart)","Affichage Vertical (red�marrage!)" }, | 385 | { "Show vertical screen (Needs restart)","Affichage Vertical (red�marrage!)" }, |
385 | { "&Show","&Voir &I" }, | 386 | { "&Show","&Voir" }, |
386 | { "Show...","Voir..." }, | 387 | { "Show...","Voir..." }, |
387 | { "Show","Voir" }, | 388 | { "Show","Voir" }, |
388 | { "Small","Petit" }, | 389 | { "Small","Petit" }, |
389 | { "Sorry","D�sol�" }, | 390 | { "Sorry","D�sol�" }, |
390 | {"Sorry, the copy command failed!\nCommand was:\n","D�sol�,\n erreur dans la commande:\n"}, | 391 | {"Sorry, the copy command failed!\nCommand was:\n","D�sol�,\n erreur dans la commande:\n"}, |
391 | { "Start:","D�marrer:" }, | 392 | { "Start:","D�marrer:" }, |
392 | { "Start Date","Date D�but" }, | 393 | { "Start Date","Date D�but" }, |
393 | { "Start date: %1","Date D�but: %1" }, | 394 | { "Start date: %1","Date D�but: %1" }, |
394 | { "Start Time","Heure d�but" }, | 395 | { "Start Time","Heure d�but" }, |
395 | { "Status:","Etat:" }, | 396 | { "Status:","Etat:" }, |
396 | { "Status","Etat:" }, | 397 | { "Status","Etat:" }, |
397 | { "Summaries","Titre" }, | 398 | { "Summaries","Titre" }, |
398 | { "Summary:","Titre:" }, | 399 | { "Summary:","Titre:" }, |
399 | { "Summary","Titre" }, | 400 | { "Summary","Titre" }, |
400 | { "Sunday","Dimanche" }, | 401 | { "Sunday","Dimanche" }, |
401 | { "Sun","Dim" }, | 402 | { "Sun","Dim" }, |
402 | { "Sync preferences:","Prefs Synchro" }, | 403 | { "Sync preferences:","Prefs Synchro" }, |
403 | { "Sync Prefs","Prefs Synchro" }, | 404 | { "Sync Prefs","Prefs Synchro" }, |
404 | { "Syncronize","Synchroniser" }, | 405 | { "Syncronize","Synchroniser" }, |
405 | { "Take local entry on conflict","Conflit: prendre les objets locaux " }, | 406 | { "Take local entry on conflict","Conflit: prendre les objets locaux " }, |
406 | { "Take newest entry on conflict","Conflit: prendre les objets les plus r�cents" }, | 407 | { "Take newest entry on conflict","Conflit: prendre les objets les plus r�cents" }, |
407 | { "Take remote entry on conflict","Conflit: prendre les objets distants" }, | 408 | { "Take remote entry on conflict","Conflit: prendre les objets distants" }, |
408 | { "Template '%1' does not contain a valid Todo.","Le mod�le '%1' ne contient pas de t�che valide" }, | 409 | { "Template '%1' does not contain a valid Todo.","Le mod�le '%1' ne contient pas de t�che valide" }, |
409 | { "Template does not contain a valid Event.","Le mod�le '%1' ne contient pas d'even. valide" }, | 410 | { "Template does not contain a valid Event.","Le mod�le '%1' ne contient pas d'even. valide" }, |
410 | { "Template...","Mod�le..." }, | 411 | { "Template...","Mod�le..." }, |
411 | { "This day","Ce jour" }, | 412 | { "This day","Ce jour" }, |
412 | { "This is an experimental feature. ","Fonction experimentale" }, | 413 | { "This is an experimental feature. ","Fonction experimentale" }, |
413 | { "This item will be\npermanently deleted.","Cet objet sera\nd�truit." }, | 414 | { "This item will be\npermanently deleted.","Cet objet sera\nd�truit." }, |
414 | { "This item will be permanently deleted.", "Cet objet sera d�truit" }, | 415 | { "This item will be permanently deleted.", "Cet objet sera d�truit" }, |
415 | { "Thu","Jeu" }, | 416 | { "Thu","Jeu" }, |
416 | { "Thursday","Jeudi" }, | 417 | { "Thursday","Jeudi" }, |
417 | { "Time associated","Heure associ�e" }, | 418 | { "Time associated","Heure associ�e" }, |
418 | { "Time bar:","Barre des heures:" }, | 419 | { "Time bar:","Barre des heures:" }, |
419 | { "Time && Date","Date && Heure" }, | 420 | { "Time && Date","Date && Heure" }, |
420 | { "Time Format","Format heure" }, | 421 | { "Time Format","Format heure" }, |
421 | { "Time Format(nr):","Format heure (red�marrage!)" }, | 422 | { "Time Format(nr):","Format heure (red�marrage!)" }, |
422 | { "Date Labels:","Etiquettes date:" }, | 423 | { "Date Labels:","Etiquettes date:" }, |
423 | { "Time: ","Heure: " }, | 424 | { "Time: ","Heure: " }, |
424 | { "Timezone:","P�riode:" }, | 425 | { "Timezone:","Fuseau horaire :" }, |
425 | { "Tiny","Tr�s petit" }, | 426 | { "Tiny","Tr�s petit" }, |
426 | { "To: ","�: " }, | 427 | { "To: ","�: " }, |
427 | { "To:","�:" }, | 428 | { "To:","�:" }, |
428 | { "Today: ","Aujourd'hui: " }, | 429 | { "Today: ","Aujourd'hui: " }, |
429 | { "Todo due today color:","Couleurs des t�ches du jour" }, | 430 | { "Todo due today color:","Couleurs des t�ches du jour" }, |
430 | { "To-do items:","T�ches:" }, | 431 | { "To-do items:","T�ches:" }, |
431 | { "Todo overdue color:","Couleurs des taches en retard " }, | 432 | { "Todo overdue color:","Couleurs des taches en retard " }, |
432 | { "Todo","T�che" }, | 433 | { "Todo","T�che" }, |
433 | { "Todo Viewer","Visualisation" }, | 434 | { "Todo Viewer","Visualisation" }, |
434 | { "To-do view shows completed Todos","Voir les T�ches achev�es dans la liste" }, | 435 | { "To-do view shows completed Todos","Voir les T�ches achev�es dans la liste" }, |
435 | { "ToDoView:","Liste des t�ches:" }, | 436 | { "ToDoView:","Liste des t�ches:" }, |
436 | { "Toggle Alarm","Sonnerie" }, | 437 | { "Toggle Alarm","Sonnerie" }, |
437 | { "Toggle Allday","Afficher Journ�e" }, | 438 | { "Toggle Allday","Afficher Journ�e" }, |
438 | { "Tomorrow: ","Demain: " }, | 439 | { "Tomorrow: ","Demain: " }, |
439 | { "Tue","Mar" }, | 440 | { "Tue","Mar" }, |
440 | { "Tuesday","Mardi" }, | 441 | { "Tuesday","Mardi" }, |
441 | { "Two entries are in conflict, if: ","deux objets sont en conflit si:" }, | 442 | { "Two entries are in conflict, if: ","deux objets sont en conflit si:" }, |
442 | { "Unable to find template '%1'.","mod�le '%1' introuvable." }, | 443 | { "Unable to find template '%1'.","mod�le '%1' introuvable." }, |
443 | { "Unknown","Inconnu" }, | 444 | { "Unknown","Inconnu" }, |
444 | { "Up","Monter" }, | 445 | { "Up","Monter" }, |
445 | { "Use password (if not, ask when syncing)","mot de passe: (demand� sinon � la synchro)" }, | 446 | { "Use password (if not, ask when syncing)","mot de passe: (demand� sinon � la synchro)" }, |
446 | { "User defined","Choix utilisateur" }, | 447 | { "User defined","Choix utilisateur" }, |
447 | { "User long date:","Format Dates longues:" }, | 448 | { "User long date:","Format Dates longues:" }, |
448 | { "User short date:","Format Dates courtes:" }, | 449 | { "User short date:","Format Dates courtes:" }, |
449 | { "What's Next","A venir..." }, | 450 | { "What's Next","A venir..." }, |
450 | { "View","Vue" }, | 451 | { "View","Vue" }, |
451 | { "View Fonts","Voir police" }, | 452 | { "View Fonts","Voir police" }, |
452 | { "Views","Vues" }, | 453 | { "Views","Vues" }, |
453 | { "Wed","Mer" }, | 454 | { "Wed","Mer" }, |
454 | { "Wednesday","Mercredi" }, | 455 | { "Wednesday","Mercredi" }, |
455 | { "Week %1","Semaine %1" }, | 456 | { "Week %1","Semaine %1" }, |
456 | { "Weekly","Hebdomadaire" }, | 457 | { "Weekly","Hebdomadaire" }, |
457 | { "Week starts on Sunday","La semaine commence Dim." }, | 458 | { "Week starts on Sunday","La semaine commence Dim." }, |
458 | { "What's Next View:","Vue "A venir..." " }, | 459 | { "What's Next View:","Vue "A venir..." " }, |
459 | { "What's Next ?","A venir..." }, | 460 | { "What's Next ?","A venir..." }, |
460 | { "Working Hours","Horaires de travail" }, | 461 | { "Working Hours","Horaires de travail" }, |
461 | { "Working hours color:","Couleur des heures de travail:" }, | 462 | { "Working hours color:","Couleur des heures de travail:" }, |
462 | { "Write back existing entries only","Ne r��crire que les objets existants" }, | 463 | { "Write back existing entries only","Ne r��crire que les objets existants" }, |
463 | { "Write back synced file","Ne r��crire que les objets synchronis�s" }, | 464 | { "Write back synced file","Ne r��crire que les objets synchronis�s" }, |
464 | { "Yearly","Annuel" }, | 465 | { "Yearly","Annuel" }, |
465 | { "year(s)","ann�e(s)" }, | 466 | { "year(s)","ann�e(s)" }, |
466 | { "Yes","Oui" }, | 467 | { "Yes","Oui" }, |
467 | { "You have %d item(s) selected.\n","%d Objets s�lectionn�s.\n" }, | 468 | { "You have %d item(s) selected.\n","%d Objets s�lectionn�s.\n" }, |
468 | { "You have to restart KOrganizer for this setting to take effect.","Vous devez red�marrer KO/Pi pour que ces modifications prennent effet." }, | 469 | { "You have to restart KOrganizer for this setting to take effect.","Vous devez red�marrer KO/Pi pour que ces modifications prennent effet." }, |
469 | { "week(s) on:","Semaine(s) le: " }, | 470 | { "week(s) on:","Semaine(s) le: " }, |
470 | { "Full menu bar(nr)","Barre menu compl�te" }, | 471 | { "Full menu bar(nr)","Barre menu compl�te" }, |
471 | { "Timezone has daylight saving","Utilisation heure d'�t�" }, | 472 | { "Timezone has daylight saving","Utilisation heure d'�t�" }, |
472 | { "Actual start and end is the\nsunday before this date.","Date de d�part est le\ndimanche pr�c�dent." }, | 473 | { "Actual start and end is the\nsunday before this date.","Le d�but et la fin de cette\np�riode est le dimanche pr�c�dent la date.." }, |
473 | { "The year in the date is ignored.","L'ann�e de cette date est ignor�e." }, | 474 | { "The year in the date is ignored.","L'ann�e de cette date est ignor�e." }, |
474 | { "Daylight start:","Heure d'�t� � partir:" }, | 475 | { "Daylight start:","Heure d'�t� � partir:" }, |
475 | { "Daylight end:","Heure d'hiver � partir:" }, | 476 | { "Daylight end:","Heure d'hiver � partir:" }, |
476 | { "Time Zone","Heure de" }, | 477 | { "Add 30 min to selected Timezone","Ajout de 30 min au fuseau s�lectionn�" }, |
478 | { "Used Mail Client","Client mail utilis�" }, | ||
479 | { "Channel:","Canal:" }, | ||
480 | { "Message:","Message:" }, | ||
481 | { "Parameters:","Param�tres:" }, | ||
482 | { "HINT: Delimiter=; Name=%1,Email=%2","INFO: Delimiteur=; Nom=%1,Email=%2" }, | ||
483 | { "extra Message:","Message supp.:" }, | ||
484 | { "extra Parameters:","Param�tres supp.:" }, | ||
485 | { "HINT: Emails=%1,Attachments=%2","INFO: Emails=%1,Pi�ce jointe=%2" }, | ||
486 | { "External Apps.","Prog.externes" }, | ||
487 | { "+01:00 Europa/Oslo(CET)","+01:00 Europe/Oslo(CET)" }, | ||
488 | { "Used %1 Client","Utiliser comme Client %1" }, | ||
489 | { "No email client installed","Pas de client mail install�" }, | ||
490 | { "Userdefined email client","Client mail ind�fini" }, | ||
491 | { "OM/Pi email client","OM/Pi Client mail" }, | ||
492 | { "Time Zone","Fuseau horaire" }, | ||
477 | { "Monday 19 April 2004: %A %d %B %Y","Lundi 19 Avril 2004: %A %d %B %Y" }, | 493 | { "Monday 19 April 2004: %A %d %B %Y","Lundi 19 Avril 2004: %A %d %B %Y" }, |
478 | { "%A: Monday --- %a: Mon","%A: Lundi --- %a: Lun" }, | 494 | { "%A: Monday --- %a: Mon","%A: Lundi --- %a: Lun" }, |
479 | { "minutely","par min" }, | 495 | { "minutely","par min" }, |
480 | { "hourly","horaire" }, | 496 | { "hourly","horaire" }, |
481 | { "daily","quotidien" }, | 497 | { "daily","quotidien" }, |
482 | { "weekly","hebdomadaire" }, | 498 | { "weekly","hebdomadaire" }, |
483 | { "monthly","mensuel" }, | 499 | { "monthly","mensuel" }, |
484 | { "day-monthly","jour-mois" }, | 500 | { "day-monthly","jour-mois" }, |
485 | { "month-yearly","mois-ann�e" }, | 501 | { "month-yearly","mois-ann�e" }, |
486 | { "day-yearly","jour-ann�e" }, | 502 | { "day-yearly","jour-ann�e" }, |
487 | { "position-yearly","pos-annuel" }, | 503 | { "position-yearly","pos-annuel" }, |
488 | { "Edit item on doubleclick (if not, show)","Double-cliquer pour �diter (sinon, pour voir)" }, | 504 | { "Edit item on doubleclick (if not, show)","Double-cliquer pour �diter (sinon, pour voir)" }, |
489 | { "Highlight current day in agenda","Surligner aujourd'hui dans l'agenda" }, | 505 | { "Highlight current day in agenda","Surligner aujourd'hui dans l'agenda" }, |
490 | { "Use light color for highlight current day","Couleur claire pour surligner aujourd'hui" }, | 506 | { "Use light color for highlight current day","Couleur claire pour surligner aujourd'hui" }, |
491 | { "Highlight selection in Time Edit","Surligner la selection dans le "time edit" " }, | 507 | { "Highlight selection in Time Edit","Surligner la selection dans le "time edit" " }, |
492 | { "Hold fullscreen on view change","Passer en plein �cran au chgt. de vue" }, | 508 | { "Hold fullscreen on view change","Passer en plein �cran au chgt. de vue" }, |
493 | { "Hold non-fullscreen on view change","Quitter le plein �cran au chgt. de vue" }, | 509 | { "Hold non-fullscreen on view change","Quitter le plein �cran au chgt. de vue" }, |
494 | { "Event list view uses full window","Liste des even. en plein �cran" }, | 510 | { "Event list view uses full window","Liste des even. en plein �cran" }, |
495 | { "Set agenda to DayBeginsAt on change","Jour de d�part au chgt. de vue" }, | 511 | { "Set agenda to DayBeginsAt on change","Jour de d�part au chgt. de vue" }, |
496 | { "Set agenda to current time on change","Heure de d�part au chgt. de vue" }, | 512 | { "Set agenda to current time on change","Heure de d�part au chgt. de vue" }, |
497 | { "Listview uses monthly timespan","Vue mensuelle de la liste" }, | 513 | { "Listview uses monthly timespan","Vue mensuelle de la liste" }, |
498 | { "Enable tooltips displaying summary of ev.","Bulles d'information des �v�nements" }, | 514 | { "Enable tooltips displaying summary of ev.","Bulles d'information des �v�nements" }, |
499 | { "ViewChange","Changer Vue" }, | 515 | { "ViewChange","Changer Vue" }, |
500 | { "Default alarm *.wav file:","Sonnerie par d�faut (*.wav):" }, | 516 | { "Default alarm *.wav file:","Sonnerie par d�faut (*.wav):" }, |
501 | { "This setting is useless for 5500 user!","Reglage inutile pour le Z5500" }, | 517 | { "This setting is useless for 5500 user!","Reglage inutile pour le Z5500" }, |
502 | { "File","Fichier" }, | 518 | { "File","Fichier" }, |
503 | { "Clone...","Cloner.." }, | 519 | { "Clone...","Cloner.." }, |
504 | { "Move...","D�placer..." }, | 520 | { "Move...","D�placer..." }, |
505 | { "Beam...","Env par IR..." }, | 521 | { "Beam...","Env par IR..." }, |
506 | { "&Clone...","&Cloner.." }, | 522 | { "&Clone...","&Cloner.." }, |
507 | { "&Move...","&D�placer &M..." }, | 523 | { "&Move...","D�placer..." }, |
508 | { "&Beam...","&Env par IR &B..." }, | 524 | { "&Beam...","&Env par IR &B..." }, |
509 | { "Show Completed","T�ches achev�es" }, | 525 | { "Show Completed","T�ches achev�es" }, |
510 | { "Show Quick Todo","T�ches rapides" }, | 526 | { "Show Quick Todo","T�ches rapides" }, |
511 | { "Unparent Todo","T�che ss d�pendance" }, | 527 | { "Unparent Todo","T�che ss d�pendance" }, |
512 | { "Save selected to file...","Sauver s�lection..." }, | 528 | { "Save selected to file...","Sauver s�lection..." }, |
513 | { "Add Categ. to selected...","Ajout Cat. � la s�lection..." }, | 529 | { "Add Categ. to selected...","Ajout Cat. � la s�lection..." }, |
514 | { "Set Categ. for selected...","Ajout Cat. � la s�lection." }, | 530 | { "Set Categ. for selected...","Ajout Cat. � la s�lection." }, |
515 | { "Beam selected via IR","Env Sel. par IR..." }, | 531 | { "Beam selected via IR","Env Sel. par IR..." }, |
516 | { "Search","Chercher" }, | 532 | { "Search","Chercher" }, |
517 | { "Date Picker","Choix Date" }, | 533 | { "Date Picker","Choix Date" }, |
518 | { "Day View","Vue journ�e" }, | 534 | { "Day View","Vue journ�e" }, |
519 | { "Work Week","Sem de trav" }, | 535 | { "Work Week","Sem de trav" }, |
520 | { "Week","Semaine" }, | 536 | { "Week","Semaine" }, |
521 | { "Month","Mois" }, | 537 | { "Month","Mois" }, |
522 | { "Todo View","Liste des t�ches" }, | 538 | { "Todo View","Liste des t�ches" }, |
523 | { "Journal","Journal" }, | 539 | { "Journal","Journal" }, |
524 | { "Next days","Jours suiv" }, | 540 | { "Next days","Jours suiv" }, |
525 | { "Print agenda selection...","Imprimer la s�lection..." }, | 541 | { "Print agenda selection...","Imprimer la s�lection..." }, |
526 | { "Toggle DateNavigator","Calendrier" }, | 542 | { "Toggle DateNavigator","Calendrier" }, |
527 | { "Toggle FilterView","Filtre" }, | 543 | { "Toggle FilterView","Filtre" }, |
528 | { "Prev. month","Mois pr�ced" }, | 544 | { "Prev. month","Mois pr�ced" }, |
529 | { "Go backward","Retour" }, | 545 | { "Go backward","Retour" }, |
530 | { "Go forward","Suite" }, | 546 | { "Go forward","Suite" }, |
531 | { "Synchronize","Synchroniser" }, | 547 | { "Synchronize","Synchroniser" }, |
532 | { "AgendaSize","Taille Agenda }, | 548 | { "AgendaSize","Taille Agenda }, |
533 | { "Import (*.ics/*.vcs) file","Importer (*.ics,*.vcs)" }, | 549 | { "Import (*.ics/*.vcs) file","Importer (*.ics,*.vcs)" }, |
534 | { "Import last file","Importer dern. fich." }, | 550 | { "Import last file","Importer dern. fich." }, |
535 | { "Import Opie/Qtopia Cal.","Importer Opie/Qtopia cal." }, | 551 | { "Import Opie/Qtopia Cal.","Importer Opie/Qtopia cal." }, |
536 | { "Import Birthdays (KA/Pi)","Importer anniversaires de KAPi" }, | 552 | { "Import Birthdays (KA/Pi)","Importer anniversaires de KAPi" }, |
537 | { "Import from OL","Importer depuis Outlook" }, | 553 | { "Import from OL","Importer depuis Outlook" }, |
538 | { "Load Calendar Backup","Ouvrir une sauvegarde" }, | 554 | { "Load Calendar Backup","Ouvrir une sauvegarde" }, |
539 | { "Save Calendar Backup","Cr�er une sauvegarde" }, | 555 | { "Save Calendar Backup","Cr�er une sauvegarde" }, |
540 | { "Export VCalendar","Exporter vCalendar" }, | 556 | { "Export VCalendar","Exporter vCalendar" }, |
541 | { "Manage new categories...","G�rer les nlles cat�gories" }, | 557 | { "Manage new categories...","G�rer les nlles cat�gories" }, |
542 | { "Beam complete calendar...","Env. tout par IR" }, | 558 | { "Beam complete calendar...","Env. tout par IR" }, |
543 | { "Beam filtered calendar...","Env. don. filtr�es par IR" }, | 559 | { "Beam filtered calendar...","Env. don. filtr�es par IR" }, |
544 | { "Remote via ssh","Distant par ssh" }, | 560 | { "Remote via ssh","Distant par ssh" }, |
545 | { "With local file","Fichier local" }, | 561 | { "With local file","Fichier local" }, |
546 | { "With last file","Dernier fichier" }, | 562 | { "With last file","Dernier fichier" }, |
547 | { "KO/Pi: Ready for beaming","KO/Pi: pr�t a envoyer" }, | 563 | { "KO/Pi: Ready for beaming","KO/Pi: pr�t a envoyer" }, |
548 | { "KO/Pi:Beaming done","KO/Pi: Envoi termin�!" }, | 564 | { "KO/Pi:Beaming done","KO/Pi: Envoi termin�!" }, |
549 | { "Save filename","Enrgister nom" }, | 565 | { "Save filename","Enrgister nom" }, |
550 | { "File already exists!\nOld file from:\n%1\nOverwrite?\n","Fichier d�ja existant!\nEcraser l'ancien fichier de:\n%1?\n" }, | 566 | { "File already exists!\nOld file from:\n%1\nOverwrite?\n","Fichier d�ja existant!\nEcraser l'ancien fichier de:\n%1?\n" }, |
551 | { "KO/Pi: Warning!","KO/Pi: Attention!" }, | 567 | { "KO/Pi: Warning!","KO/Pi: Attention!" }, |
552 | { "Overwrite!","Ecrase!" }, | 568 | { "Overwrite!","Ecrase!" }, |
553 | { "KO/Pi:Saved %1","KO/Pi:%1 Enregistr�" }, | 569 | { "KO/Pi:Saved %1","KO/Pi:%1 Enregistr�" }, |
554 | { "All selected items will be\npermanently deleted.\n(Deleting items will take\nsome time on a PDA)\n","Tous les objets s�lectionn�s\nseront d�finitivements effac�s.\n(l'effacement peut �tre\nlong sur un PDA)\n" }, | 570 | { "All selected items will be\npermanently deleted.\n(Deleting items will take\nsome time on a PDA)\n","Tous les objets s�lectionn�s\nseront d�finitivements effac�s.\n(l'effacement peut �tre\nlong sur un PDA)\n" }, |
555 | { "KO/Pi Confirmation","Confirmation KO/Pi" }, | 571 | { "KO/Pi Confirmation","Confirmation KO/Pi" }, |
556 | { "Close dialog to abort deletion!","Fermer la fen�tre pour annuler l'eff.!" }, | 572 | { "Close dialog to abort deletion!","Fermer la fen�tre pour annuler l'eff.!" }, |
557 | { "Deleting item %d ...","Effacer objet %d ..." }, | 573 | { "Deleting item %d ...","Effacer objet %d ..." }, |
558 | { "%d items remaining in list.","%d objets r�stants." }, | 574 | { "%d items remaining in list.","%d objets r�stants." }, |
559 | { "Size","Taille" }, | 575 | { "Size","Taille" }, |
560 | { "Date","Date" }, | 576 | { "Date","Date" }, |
561 | { "Mime Type","Type mime" }, | 577 | { "Mime Type","Type mime" }, |
562 | { "All Files","Ts les fichiers" }, | 578 | { "All Files","Ts les fichiers" }, |
563 | { "Files","Fichiers" }, | 579 | { "Files","Fichiers" }, |
564 | { "Documents","Documents" }, | 580 | { "Documents","Documents" }, |
565 | { "Select Categories","Selectionner Categ." }, | 581 | { "Select Categories","Selectionner Categ." }, |
566 | { " &Deselect All ","Tout &Des�lectionner" }, | 582 | { " &Deselect All ","Tout &Des�lectionner" }, |
567 | { "A&dd","Ajout &d" }, | 583 | { "A&dd","Ajout &d" }, |
568 | { "&Modify","&Modifier" }, | 584 | { "&Modify","&Modifier" }, |
569 | { "Edit Categories","Editer Catergories" }, | 585 | { "Edit Categories","Editer Catergories" }, |
570 | { " &Edit Categories "," &Editer Catergories " }, | 586 | { " &Edit Categories "," &Editer Catergories " }, |
571 | { "Beam Options","Env Options par IR" }, | 587 | { "Beam Options","Env Options par IR" }, |
572 | { " With timezone "," Avec zone " }, | 588 | { " With timezone "," Avec zone " }, |
573 | { " Local time ", " Heure locale " }, | 589 | { " Local time ", " Heure locale " }, |
574 | { "Manage new Categories","G�rer les nlles Cat�gories" }, | 590 | { "Manage new Categories","G�rer les nlles Cat�gories" }, |
575 | { "Add to category list","Ajouter � la liste" }, | 591 | { "Add to category list","Ajouter � la liste" }, |
576 | { "Remove from Events/Todos","Supprimer des Ev�nements/T�ches" }, | 592 | { "Remove from Events/Todos","Supprimer des Ev�nements/T�ches" }, |
577 | { "After importing/loading/syncing\nthere may be new categories in\nevents or todos\nwhich are not in the category list.\nPlease choose what to do:\n ","Lors de l'Import/Chargement/Synchron\nil peut y avoir des nouvelles Cat�gories\ndans les �v�nements et les t�ches\nQue faire?\n " }, | 593 | { "After importing/loading/syncing\nthere may be new categories in\nevents or todos\nwhich are not in the category list.\nPlease choose what to do:\n ","Lors de l'Import/Chargement/Synchron\nil peut y avoir des nouvelles Cat�gories\ndans les �v�nements et les t�ches\nQue faire?\n " }, |
578 | { "New categories not in list:","Nouvelles cat�gories qui ne sont pas dans la liste:" }, | 594 | { "New categories not in list:","Nouvelles cat�gories qui ne sont pas dans la liste:" }, |
579 | { "File format","Format date" }, | 595 | { "File format","Format date" }, |
580 | { "Time format","Format heure" }, | 596 | { "Time format","Format heure" }, |
581 | { "Delete all\ncompleted To-Dos?","Effacer les\T�ches?" }, | 597 | { "Delete all\ncompleted To-Dos?","Effacer les\T�ches?" }, |
582 | { "KO/Pi:Saving Data to File ...","KO/Pi: Enregistrement ..." }, | 598 | { "KO/Pi:Saving Data to File ...","KO/Pi: Enregistrement ..." }, |
583 | { "KO/Pi:File Saved. Needed %d sec, %d ms","KO/Pi: Fichier enreg en %d sec %d ms" }, | 599 | { "KO/Pi:File Saved. Needed %d sec, %d ms","KO/Pi: Fichier enreg en %d sec %d ms" }, |
584 | { "h","h" }, | 600 | { "h","h" }, |
585 | { "min","Min" }, | 601 | { "min","Min" }, |
586 | { "hou","h" }, | 602 | { "hou","h" }, |
587 | { "day","Jour" }, | 603 | { "day","Jour" }, |
588 | { "French","Fran�ais" }, | 604 | { "French","Fran�ais" }, |
589 | { "Time","Heure" }, | 605 | { "Time","Heure" }, |
590 | { "Event Viewer","Visualisation" }, | 606 | { "Event Viewer","Visualisation" }, |
591 | { "Cancel Sync","Annuler Synchro" }, | 607 | { "Cancel Sync","Annuler Synchro" }, |
592 | { "Remote","Distant" }, | 608 | { "Remote","Distant" }, |
593 | { "Local","Local" }, | 609 | { "Local","Local" }, |
594 | { "Conflict! Please choose entry","Conflit! Chosissez un objet" }, | 610 | { "Conflict! Please choose entry","Conflit! Chosissez un objet" }, |
595 | { "Local: ","Local: " }, | 611 | { "Local: ","Local: " }, |
596 | { "Remote: ","Distant: " }, | 612 | { "Remote: ","Distant: " }, |
597 | { "Last modified: ","Dernier modifi�: " }, | 613 | { "Last modified: ","Dernier modifi�: " }, |
598 | { "Location: ","Lieu: " }, | 614 | { "Location: ","Lieu: " }, |
599 | { "<p><b>From:</b> %1 </p><p><b>To:</b> %2</p>","<p><b>De:</b> %1 </p><p><b>�:</b> %2</p>" }, | 615 | { "<p><b>From:</b> %1 </p><p><b>To:</b> %2</p>","<p><b>De:</b> %1 </p><p><b>�:</b> %2</p>" }, |
600 | { "<p><b>On:</b> %1</p>","<p><b>le:</b> %1</p>" }, | 616 | { "<p><b>On:</b> %1</p>","<p><b>le:</b> %1</p>" }, |
601 | { "<p><b>From:</b> %1</p> ","<p><b>de:</b> %1</p> " }, | 617 | { "<p><b>From:</b> %1</p> ","<p><b>de:</b> %1</p> " }, |
602 | { "<p><b>To:</b> %1</p>","<p><b>�:</b> %1</p>" }, | 618 | { "<p><b>To:</b> %1</p>","<p><b>�:</b> %1</p>" }, |
603 | { "<p><b>On:</b> %1</p> ","<p><b>�:</b> %1</p> " }, | 619 | { "<p><b>On:</b> %1</p> ","<p><b>�:</b> %1</p> " }, |
604 | { "<p><b>From:</b> %1 <b>To:</b> %2</p>","<p><b>de:</b> %1 <b>�:</b> %2</p>" }, | 620 | { "<p><b>From:</b> %1 <b>To:</b> %2</p>","<p><b>de:</b> %1 <b>�:</b> %2</p>" }, |
605 | { "This is a %1 recurring event.","Ceci est un %1 �v�nement r�current." }, | 621 | { "This is a %1 recurring event.","Ceci est un %1 �v�nement r�current." }, |
606 | { "<b>Next recurrence is on:</b>","<b>Prochaine occurence le:</b>" }, | 622 | { "<b>Next recurrence is on:</b>","<b>Prochaine occurence le:</b>" }, |
607 | { "<b>Last recurrence was on:</b>","<b>Derni�re occurence le:</b>" }, | 623 | { "<b>Last recurrence was on:</b>","<b>Derni�re occurence le:</b>" }, |
608 | { "( %1 min before )","( %1 min avant )" }, | 624 | { "( %1 min before )","( %1 min avant )" }, |
609 | { "<b>Alarm on: ","<b>Sonnerie �: " }, | 625 | { "<b>Alarm on: ","<b>Sonnerie �: " }, |
610 | { "<b>Details: </b>","<b>D�tails: </b>" }, | 626 | { "<b>Details: </b>","<b>D�tails: </b>" }, |
611 | { "<p><b>Priority:</b> %2</p>","<p><b>Priorit�:</b> %2</p>" }, | 627 | { "<p><b>Priority:</b> %2</p>","<p><b>Priorit�:</b> %2</p>" }, |
612 | { "<p><i>%1 % completed</i></p>","<p><i>%1 % achev�</i></p>" }, | 628 | { "<p><i>%1 % completed</i></p>","<p><i>%1 % achev�</i></p>" }, |
613 | { "Organizer","Organisateur" }, | 629 | { "Organizer","Organisateur" }, |
614 | { "Save","Enregistrer" }, | 630 | { "Save","Enregistrer" }, |
615 | { "Exit (+save)","Quitter (et Enreg.)" }, | 631 | { "Exit (+save)","Quitter (et Enreg.)" }, |
616 | { "Home","Maison" }, | 632 | { "Home","Maison" }, |
617 | { "Office","Bureau" }, | 633 | { "Office","Bureau" }, |
618 | { "Import Sharp Calendar","Import Sharp Calendar" }, | 634 | { "Import Sharp Calendar","Import Sharp Calendar" }, |
619 | { "This todo has been cancelled!","Cette t�che a �t� annul�e!" }, | 635 | { "This todo has been cancelled!","Cette t�che a �t� annul�e!" }, |
620 | { "This event has been cancelled!","Cet �v�nement � �t� annul�!" }, | 636 | { "This event has been cancelled!","Cet �v�nement � �t� annul�!" }, |
621 | { "Cancelled","Annul�" }, | 637 | { "Cancelled","Annul�" }, |
622 | { "Multiple sync","Synchro Multiple" }, | 638 | { "Multiple sync","Synchro Multiple" }, |
623 | { "Local file","Fichier local" }, | 639 | { "Local file","Fichier local" }, |
624 | { "Last file","Dernier fichier" }, | 640 | { "Last file","Dernier fichier" }, |
625 | { "Keys + Colors...","Touches + Couleur..." }, | 641 | { "Keys + Colors...","Touches + Couleur..." }, |
626 | { "Mini icons in toolbar(nr)","Mini Ic�nes(redem)" }, | 642 | { "Mini icons in toolbar(nr)","Mini Ic�nes(redem)" }, |
627 | { "Quick save(w/o Unicode)","sauvegarde rapide (sans Unicode)" }, | 643 | { "Quick save(w/o Unicode)","sauvegarde rapide (sans Unicode)" }, |
628 | { "Choose...","Choisir..." }, | 644 | { "Choose...","Choisir..." }, |
629 | { "Use colors for application:","Utiliser les couleur pour:" }, | 645 | { "Use colors for application:","Utiliser les couleur pour:" }, |
630 | { "Buttons, menus, etc.:","Boutons, Menus, etc.:" }, | 646 | { "Buttons, menus, etc.:","Boutons, Menus, etc.:" }, |
631 | { "Frames, labels, etc.:","Fen�tres, Etiquettes, etc.:" }, | 647 | { "Frames, labels, etc.:","Fen�tres, Etiquettes, etc.:" }, |
632 | { "Show parent To-Do's in What's Next view","Montrer T�ches primaires dans la vue "A venir..."" }, | 648 | { "Show parent To-Do's in What's Next view","Montrer T�ches primaires dans la vue "A venir..."" }, |
633 | { "Show location in What's Next view","Montrer le Lieu dans la vue "A venir..."" }, | 649 | { "Show location in What's Next view","Montrer le Lieu dans la vue "A venir..."" }, |
634 | { "Show events that recur ","Montrer les �v�nements r�currents" }, | 650 | { "Show events that recur ","Montrer les �v�nements r�currents" }, |
635 | { "Show in every cell ","Montrer dans toutes les cellules" }, | 651 | { "Show in every cell ","Montrer dans toutes les cellules" }, |
636 | { "short month","Mois courts" }, | 652 | { "short month","Mois courts" }, |
637 | { "icons","Ic�nes" }, | 653 | { "icons","Ic�nes" }, |
638 | { "Enable scrollbars in month view cells","Utiliser ascenseurs dans les cellules de la vue mensuelle" }, | 654 | { "Enable scrollbars in month view cells","Utiliser ascenseurs dans les cellules de la vue mensuelle" }, |
639 | { "Show Sat/Sun together","Sam/Dim ensemble" }, | 655 | { "Show Sat/Sun together","Sam/Dim ensemble" }, |
640 | { "Categorie colors are applied to text","Appliquer les couleurs des cat. au texte" }, | 656 | { "Categorie colors are applied to text","Appliquer les couleurs des cat. au texte" }, |
641 | { "Month view uses day colors","Vue Mensuelle en couleurs" }, | 657 | { "Month view uses day colors","Vue Mensuelle en couleurs" }, |
642 | { "Day color odd months","Couleurs des jours des mois pairs" }, | 658 | { "Day color odd months","Couleurs des jours des mois pairs" }, |
643 | { "Day color even months","Couleurs des jours des mois impairs" }, | 659 | { "Day color even months","Couleurs des jours des mois impairs" }, |
644 | { "Color for Sundays + category "Holiday"","Couleur Dimanche et Categorie "F�ri�"" }, | 660 | { "Color for Sundays + category "Holiday"","Couleur Dimanche et Categorie "F�ri�"" }, |
645 | { "To-do view shows complete as 'xx %'","Voir l'avancement comme ' xx % '" }, | 661 | { "To-do view shows complete as 'xx %'","Voir l'avancement comme ' xx % '" }, |
646 | { "Small To-do view uses smaller font","Police plus petite ds la petite liste des t�che" }, | 662 | { "Small To-do view uses smaller font","Police plus petite ds la petite liste des t�che" }, |
647 | { "Colors are applied to text","Colorier le texte" }, | 663 | { "Colors are applied to text","Colorier le texte" }, |
648 | { "Use internal alarm notification","Utiliser l'alarme interne" }, | 664 | { "Use internal alarm notification","Utiliser l'alarme interne" }, |
649 | { "Note: KO/Pi must be running to notify you about an alarm. Recommended for use on Zaurus: Disable this option and install KO/Pi alarm applet.\n","Attention: KO/Pi doit �tre lanc� pour que l'alarme fonctionne... pour le Zaurus, il est conseill� de d�sactiver cette fonction et d'utiliser KO/Pi alarm.\n" }, | 665 | { "Note: KO/Pi must be running to notify you about an alarm. Recommended for use on Zaurus: Disable this option and install KO/Pi alarm applet.\n","Attention: KO/Pi doit �tre lanc� pour que l'alarme fonctionne... pour le Zaurus, il est conseill� de d�sactiver cette fonction et d'utiliser KO/Pi alarm.\n" }, |
650 | { "Play beeps count:","Nombre de bips: " }, | 666 | { "Play beeps count:","Nombre de bips: " }, |
651 | { "Beeps interval in sec:","Interval entre bip: " }, | 667 | { "Beeps interval in sec:","Interval entre bip: " }, |
652 | { "Default suspend time in min:","D�lai de mise en veille standard: " }, | 668 | { "Default suspend time in min:","D�lai de mise en veille standard: " }, |
653 | { "Auto suspend count:","D�compte le la mise en veille" }, | 669 | { "Auto suspend count:","D�compte le la mise en veille" }, |
654 | { "Alarm *.wav file for newly created alarm:","Sonnerie *.wav pour la nouvelle alarme:" }, | 670 | { "Alarm *.wav file for newly created alarm:","Sonnerie *.wav pour la nouvelle alarme:" }, |
655 | { "New profile","Nouveau Profil" }, | 671 | { "New profile","Nouveau Profil" }, |
656 | { "Clone profile","Dupliquer Profil" }, | 672 | { "Clone profile","Dupliquer Profil" }, |
657 | { "Delete profile","Effacer Profil" }, | 673 | { "Delete profile","Effacer Profil" }, |
658 | { "Profile:","Profil:" }, | 674 | { "Profile:","Profil:" }, |
659 | { "Include in multiple sync","Inclure dans les synchro multiples" }, | 675 | { "Include in multiple sync","Inclure dans les synchro multiples" }, |
660 | { "Force: Take local entry always","Force: toujours les objets locaux" }, | 676 | { "Force: Take local entry always","Force: toujours les objets locaux" }, |
661 | { "Force: Take remote entry always","Force: toujours les objets distants" }, | 677 | { "Force: Take remote entry always","Force: toujours les objets distants" }, |
662 | { "Show summary after sync","Afficher un resum� apr�s la synchro" }, | 678 | { "Show summary after sync","Afficher un resum� apr�s la synchro" }, |
663 | { "Write back file","r��crire le fichier" }, | 679 | { "Write back file","r��crire le fichier" }, |
664 | { "Remote file (w down/upload command)","Fichier distant (par telechargement)" }, | 680 | { "Remote file (w down/upload command)","Fichier distant (par telechargement)" }, |
665 | { "Pre sync (download) command:","commande (t�l�chargement) av synchro:" }, | 681 | { "Pre sync (download) command:","commande (t�l�chargement) av synchro:" }, |
666 | { "Local device name:","nom machine locale:" }, | 682 | { "Local device name:","nom machine locale:" }, |
667 | { "Ask for preferences before sync","demander les pr�f�rences avant la synchro." }, | 683 | { "Ask for preferences before sync","demander les pr�f�rences avant la synchro." }, |
668 | { "Sync preferences","Prefs Synchro." }, | 684 | { "Sync preferences","Prefs Synchro." }, |
669 | { "Profile kind","Type de profile" }, | 685 | { "Profile kind","Type de profile" }, |
670 | { "Local file","Fichier local" }, | 686 | { "Local file","Fichier local" }, |
671 | { "Local file:","Fichier local:" }, | 687 | { "Local file:","Fichier local:" }, |
672 | { "Post sync (upload) command:","commande (envoi) apres sync:" }, | 688 | { "Post sync (upload) command:","commande (envoi) apres sync:" }, |
673 | { "Fill in default values for:","remplir les val. par def. pour:" }, | 689 | { "Fill in default values for:","remplir les val. par def. pour:" }, |
674 | { "Hint: Use $PWD$ for placeholder of password!","Truc: utiliser $PWD$ � la place du mdp!" }, | 690 | { "Hint: Use $PWD$ for placeholder of password!","INFO: utiliser $PWD$ � la place du mdp!" }, |
675 | { "Synchronization Preferences","Pr�f�rences de synchronisation"}, | 691 | { "Synchronization Preferences","Pr�f�rences de synchronisation"}, |
676 | { "Device","machine" }, | 692 | { "Device","machine" }, |
677 | { "Sync with file \n...%1\nfrom:\n%2\n","Synchro avec le ficher \n...%1\nde:\n%2\n" }, | 693 | { "Sync with file \n...%1\nfrom:\n%2\n","Synchro avec le ficher \n...%1\nde:\n%2\n" }, |
678 | { "Synchronization summary:\n\n %d items added to local\n %d items added to remote\n %d items updated on local\n %d items updated on remote\n %d items deleted on local\n %d items deleted on remote\n","Bilan de Synchronisation:\n\n %d objets ajout�s en local\n %d objets ajout�s en distant\n %d objets modifi�s en local\n %d objets modifi�s en distant\n %d objets effac�s en local\n %d objets �ffac�s en distant\n" }, | 694 | { "Synchronization summary:\n\n %d items added to local\n %d items added to remote\n %d items updated on local\n %d items updated on remote\n %d items deleted on local\n %d items deleted on remote\n","Bilan de Synchronisation:\n\n %d objets ajout�s en local\n %d objets ajout�s en distant\n %d objets modifi�s en local\n %d objets modifi�s en distant\n %d objets effac�s en local\n %d objets �ffac�s en distant\n" }, |
679 | { "Synchronization successful","Synchronisation r�ussie" }, | 695 | { "Synchronization successful","Synchronisation r�ussie" }, |
680 | { "Sync cancelled or failed. Nothing synced.","Sync annul�e ou erron�e. Rien n'� �t� synchronis�." }, | 696 | { "Sync cancelled or failed. Nothing synced.","Sync annul�e ou erron�e. Rien n'� �t� synchronis�." }, |
681 | { "Sync file \n...%1\ndoes not exist!\nNothing synced!\n","Le fichier de synchro \n...%1\nn'existe pas!\nRien n'� �t� synchronis�!\n" }, | 697 | { "Sync file \n...%1\ndoes not exist!\nNothing synced!\n","Le fichier de synchro \n...%1\nn'existe pas!\nRien n'� �t� synchronis�!\n" }, |
682 | { "Sync filename(*.ics/*.vcs)","Fichier de synchro(*.ics/*.vcs)" }, | 698 | { "Sync filename(*.ics/*.vcs)","Fichier de synchro (*.ics/*.vcs)" }, |
683 | { "Enter password","Mot de Passe" }, | 699 | { "Enter password","Mot de Passe" }, |
684 | { "Do you really want\nto remote sync\nwith profile \n","Confirmer la synchro\ndistante avec le profil: \n" }, | 700 | { "Do you really want\nto remote sync\nwith profile \n","Confirmer la synchro\ndistante avec le profil: \n" }, |
685 | { "Copy remote file to local machine...","Copier le fichier distant en local..." }, | 701 | { "Copy remote file to local machine...","Copier le fichier distant en local..." }, |
686 | { "Sorry, the copy command failed!\nCommand was:\n%1\n \nTry command on console to get more\ndetailed info about the reason.\n","D�sole,la commande:\n %1 \na �chou� \ntestez la commande sur la console\npour plus de detail.\n" }, | 702 | { "Sorry, the copy command failed!\nCommand was:\n%1\n \nTry command on console to get more\ndetailed info about the reason.\n","D�sol�,la commande:\n %1 \na �chou� \ntestez la commande sur la console\npour plus de detail.\n" }, |
687 | { "Writing back file result: ","R��crire le fichier r�sultat: " }, | 703 | { "Writing back file result: ","R��crire le fichier r�sultat: " }, |
688 | { "Syncronization sucessfully completed","Synchronisation r�ussie" }, | 704 | { "Syncronization sucessfully completed","Synchronisation r�ussie" }, |
689 | { "Edit Calendar Filters","Editer les fitres de calendrier" }, | 705 | { "Edit Calendar Filters","Editer les fitres de calendrier" }, |
690 | { "Enter filter name:","Nom du nouv. filtre:" }, | 706 | { "Enter filter name:","Nom du nouv. filtre:" }, |
691 | { "Add Filter","Ajouter Filtre" }, | 707 | { "Add Filter","Ajouter Filtre" }, |
692 | { "Question","Question" }, | 708 | { "Question","Question" }, |
693 | { "Filter position: ","Position du filtre: " }, | 709 | { "Filter position: ","Position du filtre: " }, |
694 | { "Month View","Vue Mensuelle" }, | 710 | { "Month View","Vue Mensuelle" }, |
695 | { "This profil cannot be deleted!\n","Ce profil ne peut\npas �tre effac�!" }, | 711 | { "This profil cannot be deleted!\n","Ce profil ne peut\npas �tre effac�!" }, |
696 | { "KO/Pi config error","Erreur de config KO/Pi" }, | 712 | { "KO/Pi config error","Erreur de config KO/Pi" }, |
697 | { "Local device name undefined!\nPlease define device name!","Machine locale non nomm�e!\nDonnez un nom SVP!" }, | 713 | { "Local device name undefined!\nPlease define device name!","Machine locale non nomm�e!\nDonnez un nom SVP!" }, |
698 | { "Multiple profiles with same name!\nPlease use unique profile names!","Plusieurs profils ont le m�me nom!\nDonnez des noms de profils uniques!" }, | 714 | { "Multiple profiles with same name!\nPlease use unique profile names!","Plusieurs profils ont le m�me nom!\nDonnez des noms de profils uniques!" }, |
699 | { "Access: ","Voir: " }, | 715 | { "Access: ","Voir: " }, |
700 | { "Needs Action","Attente Action" }, | 716 | { "Needs Action","Attente Action" }, |
701 | { "Accepted","Valid�" }, | 717 | { "Accepted","Valid�" }, |
702 | { "Declined","Refus�" }, | 718 | { "Declined","Refus�" }, |
703 | { "Tentative","Essai" }, | 719 | { "Tentative","Essai" }, |
704 | { "Delegated","D�l�gu�" }, | 720 | { "Delegated","D�l�gu�" }, |
705 | { "Completed","Achev�" }, | 721 | { "Completed","Achev�" }, |
706 | { "In Process","En cours" }, | 722 | { "In Process","En cours" }, |
707 | { "Participant","Participant" }, | 723 | { "Participant","Participant" }, |
708 | { "Optional Participant","Participant facultatif" }, | 724 | { "Optional Participant","Participant facultatif" }, |
709 | { "Observer","Observateur" }, | 725 | { "Observer","Observateur" }, |
710 | { "Chair","Conducteur" }, | 726 | { "Chair","Conducteur" }, |
711 | { "Not supported \non desktop!\n","Pas support� en version Desktop" }, | 727 | { "Not supported \non desktop!\n","Pas support� en version Desktop" }, |
712 | { "Nothing selected!\n\nThis prints the full width of the Agenda view as you see it!\n\nTo determine the vertical range of the printing, please select\na vertical range (with the left mouse button down) in one column. ","Pas de selection!\nimpression de la vue Agenda telle que vous la voyez.\nPour se�lectionner une plage d'impression,\nselectionnez (en pointant avec le bouton droit appuy�) une plage de valeur\ndans une colonne. " }, | 728 | { "Nothing selected!\n\nThis prints the full width of the Agenda view as you see it!\n\nTo determine the vertical range of the printing, please select\na vertical range (with the left mouse button down) in one column. ","Pas de selection!\nimpression de la vue Agenda telle que vous la voyez.\nPour se�lectionner une plage d'impression,\nselectionnez (en pointant avec le bouton droit appuy�) une plage de valeur\ndans une colonne. " }, |
713 | { "Date range: ","Plage de dates: " }, | 729 | { "Date range: ","Plage de dates: " }, |
714 | { "Not supported \non PDA!\n","Non support�\nsur le PDA. " }, | 730 | { "Not supported \non PDA!\n","Non support�\nsur le PDA. " }, |
715 | { "Syncing - close to abort!","Synchro en cours - fermer pour annuler." }, | 731 | { "Syncing - close to abort!","Synchro en cours - fermer pour annuler." }, |
716 | { "Add / remove events","Ajout./supp Even." }, | 732 | { "Add / remove events","Ajout./supp Even." }, |
717 | { "File does not exist:\n '%1'.","Pas de fichier:\n '%1'." }, | 733 | { "File does not exist:\n '%1'.","Pas de fichier:\n '%1'." }, |
718 | { "Couldn't load calendar\n '%1'.","Imposs. de charger le calendrier:\n '%1'." }, | 734 | { "Couldn't load calendar\n '%1'.","Imposs. de charger le calendrier:\n '%1'." }, |
719 | { "\nThe file on disk has changed!\nFile size: %1 bytes.\nLast modified: %2\nDo you want to:\n\n - Save and overwrite file?\n - Sync with file, then save?\n - Cancel without saving? \n","\nLe fichier � chang�!\nTaille: %1 octets.\nDerni�re modif: %2\nVoulez vous:\n\n - Enregistrer en �crasant le fichier?\n - Synchroniser avec le fichier, puis enregistrer?\n - Annuler sans enregistrer? \n" }, | 735 | { "\nThe file on disk has changed!\nFile size: %1 bytes.\nLast modified: %2\nDo you want to:\n\n - Save and overwrite file?\n - Sync with file, then save?\n - Cancel without saving? \n","\nLe fichier � chang�!\nTaille: %1 octets.\nDerni�re modif: %2\nVoulez vous:\n\n - Enregistrer en �crasant le fichier?\n - Synchroniser avec le fichier, puis enregistrer?\n - Annuler sans enregistrer? \n" }, |
720 | { "Overwrite","Ecraser" }, | 736 | { "Overwrite","Ecraser" }, |
721 | { "Sync+save","Synchro+Enreg" }, | 737 | { "Sync+save","Synchro+Enreg" }, |
722 | { "Default","Par d�faut" }, | 738 | { "Default","Par d�faut" }, |
723 | { " Categories added to list! "," Cat�gories ajout�es � la liste! " }, | 739 | { " Categories added to list! "," Cat�gories ajout�es � la liste! " }, |
724 | { " %d items?"," %d Objets?" }, | 740 | { " %d items?"," %d Objets?" }, |
725 | { "\nThis event recurs\nover multiple dates.\nAre you sure you want\nto delete this event\nand all its recurrences?","\nCet �v�nement est periodique!.\n�tes vous sur de vouloir \neffacer cet Ev�nement\net toutes ses occurences?" }, | 741 | { "\nThis event recurs\nover multiple dates.\nAre you sure you want\nto delete this event\nand all its recurrences?","\nCet �v�nement est periodique!.\n�tes vous sur de vouloir \neffacer cet Ev�nement\net toutes ses occurences?" }, |
726 | { " ?\n\nDelete:\n"," ?\n\nEffacer:\n" }, | 742 | { " ?\n\nDelete:\n"," ?\n\nEffacer:\n" }, |
727 | { "Current","Courrant" }, | 743 | { "Current","Courrant" }, |
728 | { "\nThis event recurs\nover multiple dates.\nDo you want to delete\nall it's recurrences,\nor only the current one on:\n","\nCet �v�nement est periodique!.\nVoulez vous effacer cet Ev�nement\net toutes ses occurences ou juste l'ocurrence du:\n" }, | 744 | { "\nThis event recurs\nover multiple dates.\nDo you want to delete\nall it's recurrences,\nor only the current one on:\n","\nCet �v�nement est periodique!.\nVoulez vous effacer cet Ev�nement\net toutes ses occurences ou juste l'ocurrence du:\n" }, |
729 | { "All","Tout" }, | 745 | { "All","Tout" }, |
730 | { "Data Loss Warning","Attention: perte de donn�es" }, | 746 | { "Data Loss Warning","Attention: perte de donn�es" }, |
731 | { "Proceed","Executer" }, | 747 | { "Proceed","Executer" }, |
732 | { "The journal entries can not be\nexported to a vCalendar file.","Le journal ne peut �tre exporter\nvers un fichier vCalendar" }, | 748 | { "The journal entries can not be\nexported to a vCalendar file.","Le journal ne peut �tre exporter\nvers un fichier vCalendar" }, |
733 | { "Filter disabled ","Filtre d�sactiv�" }, | 749 | { "Filter disabled ","Filtre d�sactiv�" }, |
734 | { "Filter selected: ","Filtre s�lectionn�: " }, | 750 | { "Filter selected: ","Filtre s�lectionn�: " }, |
735 | { "Toggle Cancel","Annuler autres" }, | 751 | { "Toggle Cancel","Annuler autres" }, |
736 | { "&Toggle Cancel","Annuler au&tres" }, | 752 | { "&Toggle Cancel","Annuler au&tres" }, |
737 | { "Configure Toolbar","Configurer Toolbar" }, | 753 | { "Configure Toolbar","Configurer Toolbar" }, |
738 | { "Stretched TB","R�tr�cir TB" }, | 754 | { "Stretched TB","R�tr�cir TB" }, |
739 | { "Import file \n...%1\ndoes not exist!\nNothing imported!\n","Le fichier d'import \n...%1\nn'existe pas!\nAucun import!\n" }, | 755 | { "Import file \n...%1\ndoes not exist!\nNothing imported!\n","Le fichier d'import \n...%1\nn'existe pas!\nAucun import!\n" }, |
740 | { "Import filename(*.ics/*.vcs)","Fichier d'Import(*.ics/*.vcs)" }, | 756 | { "Import filename(*.ics/*.vcs)","Fichier d'Import(*.ics/*.vcs)" }, |
741 | { "When importing a calendar twice\nduplicated events will be ignored!\nYou can create a backup file with\nFile - Save Calendar Backup\nto revert importing","En cas de double import\nles objets en double seront ignor�s!\nVous pouvez cr�er une sauvegarde avec\nFichier - Cr��r une sauvegarde\npour annuler l'importation.\n" }, | 757 | { "When importing a calendar twice\nduplicated events will be ignored!\nYou can create a backup file with\nFile - Save Calendar Backup\nto revert importing","En cas de double import\nles objets en double seront ignor�s!\nVous pouvez cr�er une sauvegarde avec\nFichier - Cr��r une sauvegarde\npour annuler l'importation.\n" }, |
742 | { "Not supported \non desktop!\n","Uniquement sur le PDA!" }, | 758 | { "Not supported \non desktop!\n","Uniquement sur le PDA!" }, |
743 | { "Imported file successfully","Fichier import� avec succes" }, | 759 | { "Imported file successfully","Fichier import� avec succes" }, |
744 | { "Error importing file","Erreur lors de l'import du fichier" }, | 760 | { "Error importing file","Erreur lors de l'import du fichier" }, |
745 | { "Export vcal filename(*.vcs)","Export vcal (*.vcs)" }, | 761 | { "Export vcal filename(*.vcs)","Export vcal (*.vcs)" }, |
746 | { "Save file\nalready exists!\nOld save file from:\n%1\nOverwrite?\n","Enregistrement\fichier d�ja existant\n fichier du:\n%1\n Ecraser?\n" }, | 762 | { "Save file\nalready exists!\nOld save file from:\n%1\nOverwrite?\n","Enregistrement\fichier d�ja existant\n fichier du:\n%1\n Ecraser?\n" }, |
747 | { "Overwrite!","Ecraser!" }, | 763 | { "Overwrite!","Ecraser!" }, |
748 | { "Import file \n...%1\nfrom:\n%2\nDuplicated entries\nwill not be imported!\n","Import du fichier \n...%1\ndu:\n%2\nLes doublons\nne seront pas import�s!\n" }, | 764 | { "Import file \n...%1\nfrom:\n%2\nDuplicated entries\nwill not be imported!\n","Import du fichier \n...%1\ndu:\n%2\nLes doublons\nne seront pas import�s!\n" }, |
749 | { "Load backup filename","Charger une sauvegarde" }, | 765 | { "Load backup filename","Charger une sauvegarde" }, |
750 | { "Backup file\ndoes not exist!\nNothing loaded!","Le fichier de sauvegarde\nn'existe pas...\nAucun chargement!" }, | 766 | { "Backup file\ndoes not exist!\nNothing loaded!","Le fichier de sauvegarde\nn'existe pas...\nAucun chargement!" }, |
751 | { "KO/Pi:Loaded %1","KO/Pi: %1 Charg�" }, | 767 | { "KO/Pi:Loaded %1","KO/Pi: %1 Charg�" }, |
752 | { "Save backup filename","enregistrer le nom de svgde" }, | 768 | { "Save backup filename","enregistrer le nom de svgde" }, |
753 | { "Backup file\nalready exists!\nOld backup file from:\n%1\nOverwrite?\n","Sauvegarder fichier\nLe fichier existe!\nEffacer les donn�es de:\n%1 ?\n" }, | 769 | { "Backup file\nalready exists!\nOld backup file from:\n%1\nOverwrite?\n","Sauvegarder fichier\nLe fichier existe!\nEffacer les donn�es de:\n%1 ?\n" }, |
754 | { "KO/Pi:Saved %1","KO/Pi: %1 enregistr�" }, | 770 | { "KO/Pi:Saved %1","KO/Pi: %1 enregistr�" }, |
755 | { "Details of attendee","Liste des participants" }, | 771 | { "Details of attendee","Liste des participants" }, |
756 | { "Work phone:\n","Telephone Travail:\n" }, | 772 | { "Work phone:\n","Telephone Travail:\n" }, |
757 | { "Work mobile phone:\n","Portable travail:\n" }, | 773 | { "Work mobile phone:\n","Portable travail:\n" }, |
758 | { "Home phone:\n","Telephoneon priv�:\n" }, | 774 | { "Home phone:\n","Telephoneon priv�:\n" }, |
759 | { "Mobile home phone:\n","Portable priv�:\n" }, | 775 | { "Mobile home phone:\n","Portable priv�:\n" }, |
760 | { "Email:\n","Email:\n" }, | 776 | { "Email:\n","Email:\n" }, |
761 | { "Alarm disabled","Sonnerie d�sactiv�e" }, | 777 | { "Alarm disabled","Sonnerie d�sactiv�e" }, |
762 | { "Audio.Al.: ","Al.sonore: " }, | 778 | { "Audio.Al.: ","Al.sonore: " }, |
763 | { "Proc.Al.: ","Proc.Al.: " }, | 779 | { "Proc.Al.: ","Proc.Al.: " }, |
764 | { "No sound set","Pas de son" }, | 780 | { "No sound set","Pas de son" }, |
765 | { "*.wav|Wav Files","fichiers *.wav|Wav" }, | 781 | { "*.wav|Wav Files","fichiers *.wav|Wav" }, |
766 | { "No program set","Aucun programme" }, | 782 | { "No program set","Aucun programme" }, |
767 | { "Running '%1'","Lancer '%1'" }, | 783 | { "Running '%1'","Lancer '%1'" }, |
768 | { "Playing '%1'","Jouer '%1'" }, | 784 | { "Playing '%1'","Jouer '%1'" }, |
769 | { "Show Sync Events in WN/Agenda view","Voir les even. synchro dans la vue WN/Agenda" }, | 785 | { "Show Sync Events in WN/Agenda view","Voir les even. synchro dans la vue WN/Agenda" }, |
770 | { "User defined (usertranslation.txt)","Personnalis� (usertranslation.txt)" }, | 786 | { "User defined (usertranslation.txt)","Personnalis� (usertranslation.txt)" }, |
771 | { "Load!","Laden!" }, | 787 | { "Load!","Laden!" }, |
772 | { "Backup file from:\n%1\nLoading backup\nfile will delete\nyour current Data!\n","Sauvegarde du:\n%1\nLe chargement va \n�craser les donn�es actuelles!\n" }, | 788 | { "Backup file from:\n%1\nLoading backup\nfile will delete\nyour current Data!\n","Sauvegarde du:\n%1\nLe chargement va \n�craser les donn�es actuelles!\n" }, |
773 | { "KO/Pi Features and hints","KO/Pi fonctionnalit�s et astuces" }, | 789 | { "KO/Pi Features and hints","KO/Pi fonctionnalit�s et astuces" }, |
774 | { "KO/Pi User translation HowTo","KO/Pi cr�ation d'une traduction personnalis�e" }, | 790 | { "KO/Pi User translation HowTo","KO/Pi cr�ation d'une traduction personnalis�e" }, |
775 | { "KO/Pi Synchronization HowTo","KO/Pi Synchronisation HowTo" }, | 791 | { "KO/Pi Synchronization HowTo","KO/Pi Synchronisation HowTo" }, |
776 | { "Features + hints...","Caract�ristiques + Trucs..." }, | 792 | { "Features + hints...","Caract�ristiques + Trucs..." }, |
777 | { "User translation...","Traduction personnalis�e..." }, | 793 | { "User translation...","Traduction personnalis�e..." }, |
778 | { "Sync HowTo...","Synchronisation Mode d'emploi..." }, | 794 | { "Sync HowTo...","Synchronisation Mode d'emploi..." }, |
779 | { "Anniversary","Anniversaire" }, | 795 | { "Anniversary","Anniversaire" }, |
780 | { "When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n","Lors d'un import d'anniversaire en double \nles �v�nnements dupliqu�s seront ignor�s \n� condition qu'il n'y ait pas eu \nde changement dans KO/Pi.\n" }, | 796 | { "When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n","Lors d'un import d'anniversaire en double \nles �v�nnements dupliqu�s seront ignor�s \n� condition qu'il n'y ait pas eu \nde changement dans KO/Pi.\n" }, |
781 | { "Next recurrence is on: ","Prochaine r�p�tition est:" }, | 797 | { "Next recurrence is on: ","Prochaine r�p�tition est:" }, |
782 | { "<b>Alarm on: </b>","<b>Alarme activ�e: </b>" }, | 798 | { "<b>Alarm on: </b>","<b>Alarme activ�e: </b>" }, |
783 | { "<b>Access: </b>","<b>Acc�s: </b>" }, | 799 | { "<b>Access: </b>","<b>Acc�s: </b>" }, |
784 | { "(%1 min before)","(%1 min avant)" }, | 800 | { "(%1 min before)","(%1 min avant)" }, |
785 | { "<b>Categories: </b>","<b>Cat�gories: </b>" }, | 801 | { "<b>Categories: </b>","<b>Cat�gories: </b>" }, |
786 | { "Save Journal/Description...","Sauver Journal/D�tails..." }, | 802 | { "Save Journal/Description...","Sauver Journal/D�tails..." }, |
787 | { "This saves the text/details of selected\nJournals and Events/Todos\nto a text file.","Ceci sauve le texte et d�tails\ndes Journaux/T�ches et Ev�nements choisis,\ndans un fichier texte." }, | 803 | { "This saves the text/details of selected\nJournals and Events/Todos\nto a text file.","Ceci sauve le texte et d�tails\ndes Journaux/T�ches et Ev�nements choisis,\ndans un fichier texte." }, |
788 | { "Continue","Continuer" }, | 804 | { "Continue","Continuer" }, |
789 | { " birthdays/anniversaries added!"," Jours de naissance/anniversaires ajout�s!" }, | 805 | { " birthdays/anniversaries added!"," Jours de naissance/anniversaires ajout�s!" }, |
790 | { "Attendee:","Participant:" }, | 806 | { "Attendee:","Participant:" }, |
791 | { "Click OK to search ->","Pour chercher, cliquer sur OK ->" }, | 807 | { "Click OK to search ->","Pour chercher, cliquer sur OK ->" }, |
792 | { "On day ","Le jour " }, | 808 | { "On day ","Le jour " }, |
793 | { "%1 of ","%1 du mois" }, | 809 | { "%1 of ","%1 du mois" }, |
794 | { "%1 of the year","%1 de l'ann�e" }, | 810 | { "%1 of the year","%1 de l'ann�e" }, |
795 | { "Filter","Filtre" }, | 811 | { "Filter","Filtre" }, |
796 | { "Turn filter on","Filtre activ�" }, | 812 | { "Turn filter on","Filtre activ�" }, |
797 | { "Turn filter off","Filtre d�sactiv�" }, | 813 | { "Turn filter off","Filtre d�sactiv�" }, |
798 | { "Enable Pi-Sync","Activer Pi-Sync" }, | 814 | { "Enable Pi-Sync","Activer Pi-Sync" }, |
799 | { "Export to phone","Exporter vers GSM" }, | 815 | { "Export to phone","Exporter vers GSM" }, |
800 | { "Please read Help-Sync Howto\nto know what settings to use.","Merci de lire l'aide: "Sync Howto"\npour voir quels r�glages utiliser." }, | 816 | { "Please read Help-Sync Howto\nto know what settings to use.","Merci de lire l'aide: "Sync Howto"\npour voir quels r�glages utiliser." }, |
801 | { "I/O device: ","I/O device: " }, | 817 | { "I/O device: ","I/O device: " }, |
802 | { "Connection: ","Connection: " }, | 818 | { "Connection: ","Connection: " }, |
803 | { "Model(opt.): ","Mod�le(opt.): " }, | 819 | { "Model(opt.): ","Mod�le(opt.): " }, |
804 | { "Write back events in future only","R�-�crire les �v�nements futurs seulement" }, | 820 | { "Write back events in future only","R�-�crire les �v�nements futurs seulement" }, |
805 | { "Max. weeks in future: ","Max. de semaines dans le futur: " }, | 821 | { "Max. weeks in future: ","Max. de semaines dans le futur: " }, |
806 | { "NOTE: This will remove all old\ntodo/calendar data on phone!","Attention: cela va effacer toutes les\nanciennes T�ches/Dates du calendrier du GSM!" }, | 822 | { "NOTE: This will remove all old\ntodo/calendar data on phone!","Attention: cela va effacer toutes les\nanciennes T�ches/Dates du calendrier du GSM!" }, |
807 | { "Export to mobile phone!","Exporter vers le GSM!" }, | 823 | { "Export to mobile phone!","Exporter vers le GSM!" }, |
808 | { "Export complete calendar","Exporter le calendrier complet" }, | 824 | { "Export complete calendar","Exporter le calendrier complet" }, |
809 | { "Writing to phone...","Ecriture sur le GSM..." }, | 825 | { "Writing to phone...","Ecriture sur le GSM..." }, |
810 | { " This may take 1-3 minutes!","1-3 Minutes de patience!" }, | 826 | { " This may take 1-3 minutes!","1-3 Minutes de patience!" }, |
811 | { "Retry","Essayer � nouveau" }, | 827 | { "Retry","Essayer � nouveau" }, |
812 | { "KDE/Pim phone access","KDE/Pim contacte le GSM" }, | 828 | { "KDE/Pim phone access","KDE/Pim contacte le GSM" }, |
813 | { "Error accessing device!\nPlease turn on connection\nand retry!","Erreur d'acc�s au p�riph�rique!\nMerci d'activer la connection\net essayer � nouveau!" }, | 829 | { "Error accessing device!\nPlease turn on connection\nand retry!","Erreur d'acc�s au p�riph�rique!\nMerci d'activer la connection\net essayer � nouveau!" }, |
814 | { "Error exporting to phone!","Erreur d'exportation vers le GSM!" }, | 830 | { "Error exporting to phone!","Erreur d'exportation vers le GSM!" }, |
815 | { "Export filtered calendar","Exporter le calendrier filtr�" }, | 831 | { "Export filtered calendar","Exporter le calendrier filtr�" }, |
816 | { "Complete calendar...","Calendrier complet..." }, | 832 | { "Complete calendar...","Calendrier complet..." }, |
817 | { "Filtered calendar...","Calendrier filtr�..." }, | 833 | { "Filtered calendar...","Calendrier filtr�..." }, |
818 | { "Beam complete calendar...","Export calendrier complet via IR" }, | 834 | { "Beam complete calendar...","Export calendrier complet via IR" }, |
819 | { "Beam filtered calendar...","Export calendrier filtr� via IR" }, | 835 | { "Beam filtered calendar...","Export calendrier filtr� via IR" }, |
820 | { "-- Write back (on remote) existing entries only","-- Ecrire en retour (sur source distante) uniquement les entr�es existantes" }, | 836 | { "-- Write back (on remote) existing entries only","-- Ecrire en retour (sur source distante) uniquement les entr�es existantes" }, |
821 | { "-- Write back (calendar) entries in future only","-- Ecrire en retour, uniquement des entr�es futures" }, | 837 | { "-- Write back (calendar) entries in future only","-- Ecrire en retour, uniquement des entr�es futures" }, |
822 | { "---- Max. weeks in future: ","---- Max. de semaines dans le futur: " }, | 838 | { "---- Max. weeks in future: ","---- Max. de semaines dans le futur: " }, |
823 | { "Pi-Sync ( direct Kx/Pi to Kx/Pi sync )","Pi-Sync ( direct Kx/Pi vers Kx/Pi sync )" }, | 839 | { "Pi-Sync ( direct Kx/Pi to Kx/Pi sync )","Pi-Sync ( direct Kx/Pi vers Kx/Pi sync )" }, |
824 | { "Mobile device (cell phone)","Mobile (GSM)" }, | 840 | { "Mobile device (cell phone)","Mobile (GSM)" }, |
825 | { "Include in multiple ","Inclus dans Synchro. Multiple " }, | 841 | { "Include in multiple ","Inclus dans Synchro. Multiple " }, |
826 | { "Unselect","Supprimer" }, | 842 | { "Unselect","Supprimer" }, |
827 | { "Selected","S�lectionn�" }, | 843 | { "Selected","S�lectionn�" }, |
828 | { "Beam receive enabled","R�ception IR activ�e" }, | 844 | { "Beam receive enabled","R�ception IR activ�e" }, |
829 | { "External Apps.","Prog. externes" }, | 845 | { "External Apps.","Prog. externes" }, |
846 | { "Allday:","Journ�e :" }, | ||
847 | { "ToDo:","T�che : " }, | ||
848 | { "Remove sync info","Supprimer infos. synchro." }, | ||
849 | { "For all profiles","Pour tous les profils" }, | ||
850 | { "Okay!","OK" } | ||
830 | { "","" }, | 851 | { "","" }, |
831 | { "","" }, | 852 | { "","" }, |
832 | { "","" }, | 853 | { "","" }, |
833 | { "","" }, | 854 | { "","" }, |
834 | { "","" }, | 855 | { "","" }, |
835 | { "","" }, | 856 | { "","" }, |
836 | { "","" }, | 857 | { "","" }, |
837 | { "","" }, | 858 | { "","" }, |
838 | 859 | ||
diff --git a/kmicromail/composemail.cpp b/kmicromail/composemail.cpp index 49fd14f..976e309 100644 --- a/kmicromail/composemail.cpp +++ b/kmicromail/composemail.cpp | |||
@@ -1,515 +1,519 @@ | |||
1 | // CHANGED 2004-08-06 Lutz Rogowski | 1 | // CHANGED 2004-08-06 Lutz Rogowski |
2 | 2 | ||
3 | 3 | ||
4 | #ifdef DESKTOP_VERSION | 4 | #ifdef DESKTOP_VERSION |
5 | #include <qapplication.h> | 5 | #include <qapplication.h> |
6 | #include <kabc/addresseedialog.h> | 6 | #include <kabc/addresseedialog.h> |
7 | #include <kabc/stdaddressbook.h> | 7 | #include <kabc/stdaddressbook.h> |
8 | #include <kabc/addressee.h> | 8 | #include <kabc/addressee.h> |
9 | #else | ||
10 | #include <qpe/qpeapplication.h> | ||
9 | #endif //DESKTOP_VERSION | 11 | #endif //DESKTOP_VERSION |
10 | #include <libkdepim/externalapphandler.h> | 12 | #include <libkdepim/externalapphandler.h> |
11 | 13 | ||
12 | #include "koprefs.h" | 14 | #include "koprefs.h" |
15 | #include <klocale.h> | ||
16 | #include <kglobal.h> | ||
13 | 17 | ||
14 | #ifdef MINIKDE_KDIALOG_H | 18 | #ifdef MINIKDE_KDIALOG_H |
15 | #undef MINIKDE_KDIALOG_H | 19 | #undef MINIKDE_KDIALOG_H |
16 | #endif | 20 | #endif |
17 | 21 | ||
18 | 22 | ||
19 | #include "composemail.h" | 23 | #include "composemail.h" |
20 | 24 | ||
21 | #include <libmailwrapper/smtpwrapper.h> | 25 | #include <libmailwrapper/smtpwrapper.h> |
22 | #include <libmailwrapper/storemail.h> | 26 | #include <libmailwrapper/storemail.h> |
23 | #include <libmailwrapper/abstractmail.h> | 27 | #include <libmailwrapper/abstractmail.h> |
24 | #include <libmailwrapper/mailtypes.h> | 28 | #include <libmailwrapper/mailtypes.h> |
25 | 29 | ||
26 | /* OPIE */ | 30 | /* OPIE */ |
27 | //#include <opie2/ofiledialog.h> | 31 | //#include <opie2/ofiledialog.h> |
28 | //#include <opie2/odebug.h> | 32 | //#include <opie2/odebug.h> |
29 | #include <kfiledialog.h> | 33 | #include <kfiledialog.h> |
30 | //#include <qpe/resource.h> | 34 | //#include <qpe/resource.h> |
31 | #include <qpe/global.h> | 35 | #include <qpe/global.h> |
32 | //#include <qpe/contact.h> | 36 | //#include <qpe/contact.h> |
33 | 37 | ||
34 | 38 | ||
35 | #include <qcombobox.h> | 39 | #include <qcombobox.h> |
36 | #include <qcheckbox.h> | 40 | #include <qcheckbox.h> |
37 | #include <qiconset.h> | 41 | #include <qiconset.h> |
38 | #include <qtimer.h> | 42 | #include <qtimer.h> |
39 | #include <qmessagebox.h> | 43 | #include <qmessagebox.h> |
40 | #include <qpushbutton.h> | 44 | #include <qpushbutton.h> |
41 | #include <qmultilineedit.h> | 45 | #include <qmultilineedit.h> |
42 | #include <qlabel.h> | 46 | #include <qlabel.h> |
43 | #include <qtabwidget.h> | 47 | #include <qtabwidget.h> |
44 | #include <qlistview.h> | 48 | #include <qlistview.h> |
45 | 49 | ||
46 | //using namespace Opie::Core; | 50 | //using namespace Opie::Core; |
47 | //using namespace Opie::Ui; | 51 | //using namespace Opie::Ui; |
48 | ComposeMail::ComposeMail( Settings *sett, QWidget *parent, const char *name, bool modal ) | 52 | ComposeMail::ComposeMail( Settings *sett, QWidget *parent, const char *name, bool modal ) |
49 | : ComposeMailUI( parent, name, modal ) | 53 | : ComposeMailUI( parent, name, modal ) |
50 | { | 54 | { |
51 | 55 | ||
52 | mPickLineEdit = 0; | 56 | mPickLineEdit = 0; |
53 | mEncoding = KOPrefs::instance()->mCurrentCodeName; | 57 | mEncoding = KOPrefs::instance()->mCurrentCodeName; |
54 | connect(ExternalAppHandler::instance(), SIGNAL(receivedNameEmailUidListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&)), | 58 | connect(ExternalAppHandler::instance(), SIGNAL(receivedNameEmailUidListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&)), |
55 | this, SLOT(insertAttendees(const QString&, const QStringList&, const QStringList&, const QStringList&))); | 59 | this, SLOT(insertAttendees(const QString&, const QStringList&, const QStringList&, const QStringList&))); |
56 | settings = sett; | 60 | settings = sett; |
57 | m_replyid = ""; | 61 | m_replyid = ""; |
58 | if ( KOPrefs::instance()->mUseKapi) { | 62 | if ( KOPrefs::instance()->mUseKapi) { |
59 | KConfig config( locateLocal("config", "kabcrc") ); | 63 | KConfig config( locateLocal("config", "kabcrc") ); |
60 | config.setGroup( "General" ); | 64 | config.setGroup( "General" ); |
61 | QString whoami_uid = config.readEntry( "WhoAmI" ); | 65 | QString whoami_uid = config.readEntry( "WhoAmI" ); |
62 | 66 | ||
63 | if ( whoami_uid.isEmpty() ) { | 67 | if ( whoami_uid.isEmpty() ) { |
64 | QMessageBox::information( 0, i18n( "Hint" ), | 68 | QMessageBox::information( 0, i18n( "Hint" ), |
65 | i18n( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ), | 69 | i18n( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ), |
66 | i18n( "Ok" ) ); | 70 | i18n( "Ok" ) ); |
67 | 71 | ||
68 | 72 | ||
69 | fillSettings(); | 73 | fillSettings(); |
70 | } else | 74 | } else |
71 | ExternalAppHandler::instance()->requestDetailsFromKAPI("", "sendbacklist", whoami_uid); | 75 | ExternalAppHandler::instance()->requestDetailsFromKAPI("", "sendbacklist", whoami_uid); |
72 | 76 | ||
73 | 77 | ||
74 | #ifdef DESKTOP_VERSION | 78 | #ifdef DESKTOP_VERSION |
75 | KABC::Addressee con = KABC::StdAddressBook::self()->whoAmI( ); | 79 | KABC::Addressee con = KABC::StdAddressBook::self()->whoAmI( ); |
76 | QStringList mails = con.emails(); | 80 | QStringList mails = con.emails(); |
77 | QString defmail = con.preferredEmail(); | 81 | QString defmail = con.preferredEmail(); |
78 | if ( mails.count() == 0) | 82 | if ( mails.count() == 0) |
79 | QMessageBox::information( 0, i18n( "Hint" ), | 83 | QMessageBox::information( 0, i18n( "Hint" ), |
80 | i18n( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ), | 84 | i18n( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ), |
81 | i18n( "Ok" ) ); | 85 | i18n( "Ok" ) ); |
82 | if (defmail.length()!=0) { | 86 | if (defmail.length()!=0) { |
83 | fromBox->insertItem(defmail); | 87 | fromBox->insertItem(defmail); |
84 | } | 88 | } |
85 | QStringList::ConstIterator sit = mails.begin(); | 89 | QStringList::ConstIterator sit = mails.begin(); |
86 | for (;sit!=mails.end();++sit) { | 90 | for (;sit!=mails.end();++sit) { |
87 | if ( (*sit)==defmail) | 91 | if ( (*sit)==defmail) |
88 | continue; | 92 | continue; |
89 | fromBox->insertItem((*sit)); | 93 | fromBox->insertItem((*sit)); |
90 | } | 94 | } |
91 | senderNameEdit->setText(con.formattedName()); | 95 | senderNameEdit->setText(con.formattedName()); |
92 | #endif | 96 | #endif |
93 | 97 | ||
94 | } else { | 98 | } else { |
95 | fillSettings(); | 99 | fillSettings(); |
96 | } | 100 | } |
97 | checkBoxLater->setChecked( KOPrefs::instance()->mSendLater ); | 101 | checkBoxLater->setChecked( KOPrefs::instance()->mSendLater ); |
98 | 102 | ||
99 | attList->addColumn( i18n( "Name" ) ); | 103 | attList->addColumn( i18n( "Name" ) ); |
100 | attList->addColumn( i18n( "Size" ) ); | 104 | attList->addColumn( i18n( "Size" ) ); |
101 | QList<Account> accounts = settings->getAccounts(); | 105 | QList<Account> accounts = settings->getAccounts(); |
102 | 106 | ||
103 | if ( QApplication::desktop()->width() < 320 ) | 107 | if ( QApplication::desktop()->width() < 320 ) |
104 | smtpAccountBox->setMaximumWidth( 80 ); | 108 | smtpAccountBox->setMaximumWidth( 80 ); |
105 | Account *it; | 109 | Account *it; |
106 | for ( it = accounts.first(); it; it = accounts.next() ) { | 110 | for ( it = accounts.first(); it; it = accounts.next() ) { |
107 | if ( it->getType()==MAILLIB::A_SMTP ) { | 111 | if ( it->getType()==MAILLIB::A_SMTP ) { |
108 | SMTPaccount *smtp = static_cast<SMTPaccount *>(it); | 112 | SMTPaccount *smtp = static_cast<SMTPaccount *>(it); |
109 | smtpAccountBox->insertItem( smtp->getAccountName() ); | 113 | smtpAccountBox->insertItem( smtp->getAccountName() ); |
110 | smtpAccounts.append( smtp ); | 114 | smtpAccounts.append( smtp ); |
111 | } | 115 | } |
112 | } | 116 | } |
113 | connect( toButton, SIGNAL( clicked() ), SLOT( pickAddressTo() ) ); | 117 | connect( toButton, SIGNAL( clicked() ), SLOT( pickAddressTo() ) ); |
114 | connect( ccButton, SIGNAL( clicked() ), SLOT( pickAddressCC() ) ); | 118 | connect( ccButton, SIGNAL( clicked() ), SLOT( pickAddressCC() ) ); |
115 | connect( bccButton, SIGNAL( clicked() ), SLOT( pickAddressBCC() ) ); | 119 | connect( bccButton, SIGNAL( clicked() ), SLOT( pickAddressBCC() ) ); |
116 | connect( replyButton, SIGNAL( clicked() ), SLOT( pickAddressReply() ) ); | 120 | connect( replyButton, SIGNAL( clicked() ), SLOT( pickAddressReply() ) ); |
117 | connect( addButton, SIGNAL( clicked() ), SLOT( addAttachment() ) ); | 121 | connect( addButton, SIGNAL( clicked() ), SLOT( addAttachment() ) ); |
118 | connect( deleteButton, SIGNAL( clicked() ), SLOT( removeAttachment() ) ); | 122 | connect( deleteButton, SIGNAL( clicked() ), SLOT( removeAttachment() ) ); |
119 | connect( SaveButton, SIGNAL( clicked() ), SLOT( saveAsDraft()) ); | 123 | connect( SaveButton, SIGNAL( clicked() ), SLOT( saveAsDraft()) ); |
120 | mMail = 0; | 124 | mMail = 0; |
121 | warnAttach = true; | 125 | warnAttach = true; |
122 | QIconSet icon; | 126 | QIconSet icon; |
123 | //icon = SmallIcon("fileexport"); | 127 | //icon = SmallIcon("fileexport"); |
124 | icon = SmallIcon("filesave"); | 128 | icon = SmallIcon("filesave"); |
125 | SaveButton->setIconSet (icon ) ; | 129 | SaveButton->setIconSet (icon ) ; |
126 | if ( QApplication::desktop()->width() < 320 ) { | 130 | if ( QApplication::desktop()->width() < 320 ) { |
127 | SaveButton->setText ("") ; | 131 | SaveButton->setText ("") ; |
128 | SaveButton->setMaximumSize ( SaveButton->sizeHint().height(),SaveButton->sizeHint().height()) ; | 132 | SaveButton->setMaximumSize ( SaveButton->sizeHint().height(),SaveButton->sizeHint().height()) ; |
129 | } | 133 | } |
130 | else | 134 | else |
131 | SaveButton->setText (i18n("Save")); | 135 | SaveButton->setText (i18n("Save")); |
132 | #ifndef DESKTOP_VERSION | 136 | #ifndef DESKTOP_VERSION |
133 | QPEApplication::setStylusOperation( message, QPEApplication::RightOnHold ); | 137 | QPEApplication::setStylusOperation( message, QPEApplication::RightOnHold ); |
134 | QPEApplication::setStylusOperation( senderNameEdit, QPEApplication::RightOnHold ); | 138 | QPEApplication::setStylusOperation( senderNameEdit, QPEApplication::RightOnHold ); |
135 | QPEApplication::setStylusOperation( subjectLine, QPEApplication::RightOnHold ); | 139 | QPEApplication::setStylusOperation( subjectLine, QPEApplication::RightOnHold ); |
136 | #endif | 140 | #endif |
137 | message->setFont ( KOPrefs::instance()->mComposeFont ); | 141 | message->setFont ( KOPrefs::instance()->mComposeFont ); |
138 | message->setWordWrap (QMultiLineEdit::WidgetWidth); | 142 | message->setWordWrap (QMultiLineEdit::WidgetWidth); |
139 | if ( smtpAccounts.count() > 0 ) { | 143 | if ( smtpAccounts.count() > 0 ) { |
140 | fillValues( smtpAccountBox->currentItem() ); | 144 | fillValues( smtpAccountBox->currentItem() ); |
141 | } else { | 145 | } else { |
142 | QMessageBox::information( 0, i18n( "Problem" ), | 146 | QMessageBox::information( 0, i18n( "Problem" ), |
143 | i18n( "Please create an\nSMTP account first.\nThe SMTP is needed\nfor sending mail.\n" ), | 147 | i18n( "Please create an\nSMTP account first.\nThe SMTP is needed\nfor sending mail.\n" ), |
144 | i18n( "Ok" ) ); | 148 | i18n( "Ok" ) ); |
145 | return; | 149 | return; |
146 | } | 150 | } |
147 | connect( smtpAccountBox, SIGNAL( activated(int) ), SLOT( fillValues(int) ) ); | 151 | connect( smtpAccountBox, SIGNAL( activated(int) ), SLOT( fillValues(int) ) ); |
148 | 152 | ||
149 | 153 | ||
150 | } | 154 | } |
151 | 155 | ||
152 | void ComposeMail::fillSettings() | 156 | void ComposeMail::fillSettings() |
153 | { | 157 | { |
154 | if ( QApplication::desktop()->width() < 320 ) | 158 | if ( QApplication::desktop()->width() < 320 ) |
155 | fromBox->setMaximumWidth( 100 ); | 159 | fromBox->setMaximumWidth( 100 ); |
156 | QStringList mailList = QStringList::split(";",KOPrefs::instance()->mEmail); | 160 | QStringList mailList = QStringList::split(";",KOPrefs::instance()->mEmail); |
157 | QStringList::ConstIterator sit = mailList.begin(); | 161 | QStringList::ConstIterator sit = mailList.begin(); |
158 | int pref = 0; | 162 | int pref = 0; |
159 | for (;sit!=mailList.end();++sit) { | 163 | for (;sit!=mailList.end();++sit) { |
160 | fromBox->insertItem((*sit)); | 164 | fromBox->insertItem((*sit)); |
161 | } | 165 | } |
162 | senderNameEdit->setText(KOPrefs::instance()->mName); | 166 | senderNameEdit->setText(KOPrefs::instance()->mName); |
163 | } | 167 | } |
164 | 168 | ||
165 | 169 | ||
166 | void ComposeMail::saveAsDraft() | 170 | void ComposeMail::saveAsDraft() |
167 | { | 171 | { |
168 | 172 | ||
169 | Opie::Core::OSmartPointer<Mail> mail= new Mail(); | 173 | Opie::Core::OSmartPointer<Mail> mail= new Mail(); |
170 | mail->setMail(fromBox->currentText()); | 174 | mail->setMail(fromBox->currentText()); |
171 | mail->setTo( toLine->text() ); | 175 | mail->setTo( toLine->text() ); |
172 | mail->setName(senderNameEdit->text()); | 176 | mail->setName(senderNameEdit->text()); |
173 | mail->setCC( ccLine->text() ); | 177 | mail->setCC( ccLine->text() ); |
174 | mail->setBCC( bccLine->text() ); | 178 | mail->setBCC( bccLine->text() ); |
175 | mail->setReply( replyLine->text() ); | 179 | mail->setReply( replyLine->text() ); |
176 | mail->setSubject( subjectLine->text() ); | 180 | mail->setSubject( subjectLine->text() ); |
177 | if (!m_replyid.isEmpty()) { | 181 | if (!m_replyid.isEmpty()) { |
178 | QStringList ids; | 182 | QStringList ids; |
179 | ids.append(m_replyid); | 183 | ids.append(m_replyid); |
180 | mail->setInreply(ids); | 184 | mail->setInreply(ids); |
181 | } | 185 | } |
182 | QString txt = message->text(); | 186 | QString txt = message->text(); |
183 | if ( !sigMultiLine->text().isEmpty() ) { | 187 | if ( !sigMultiLine->text().isEmpty() ) { |
184 | txt.append( "\n--\n" ); | 188 | txt.append( "\n--\n" ); |
185 | txt.append( sigMultiLine->text() ); | 189 | txt.append( sigMultiLine->text() ); |
186 | } | 190 | } |
187 | mail->setMessage( txt ); | 191 | mail->setMessage( txt ); |
188 | mail->setCharset (mEncoding); | 192 | mail->setCharset (mEncoding); |
189 | /* only use the default drafts folder name! */ | 193 | /* only use the default drafts folder name! */ |
190 | Storemail wrapper(AbstractMail::draftFolder()); | 194 | Storemail wrapper(AbstractMail::draftFolder()); |
191 | wrapper.storeMail(mail); | 195 | wrapper.storeMail(mail); |
192 | 196 | ||
193 | AttachViewItem *it = (AttachViewItem *) attList->firstChild(); | 197 | AttachViewItem *it = (AttachViewItem *) attList->firstChild(); |
194 | /* attachments we will ignore! */ | 198 | /* attachments we will ignore! */ |
195 | if ( it != 0 ) { | 199 | if ( it != 0 ) { |
196 | if ( warnAttach ) | 200 | if ( warnAttach ) |
197 | QMessageBox::warning(0,i18n("Store message"), | 201 | QMessageBox::warning(0,i18n("Store message"), |
198 | i18n("<center>Attachments will not be stored in \"Draft\" folder</center>")); | 202 | i18n("<center>Attachments will not be stored in \"Draft\" folder</center>")); |
199 | warnAttach = false; | 203 | warnAttach = false; |
200 | } | 204 | } |
201 | setStatus( i18n("Mail saved as draft!") ); | 205 | setStatus( i18n("Mail saved as draft!") ); |
202 | } | 206 | } |
203 | void ComposeMail::clearStatus() | 207 | void ComposeMail::clearStatus() |
204 | { | 208 | { |
205 | topLevelWidget()->setCaption( i18n("Compose mail") ); | 209 | topLevelWidget()->setCaption( i18n("Compose mail") ); |
206 | } | 210 | } |
207 | void ComposeMail::setStatus( QString status ) | 211 | void ComposeMail::setStatus( QString status ) |
208 | { | 212 | { |
209 | topLevelWidget()->setCaption( status ); | 213 | topLevelWidget()->setCaption( status ); |
210 | QTimer::singleShot ( 10000, this, SLOT( clearStatus() ) ) ; | 214 | QTimer::singleShot ( 10000, this, SLOT( clearStatus() ) ) ; |
211 | } | 215 | } |
212 | void ComposeMail::pickAddress( ) | 216 | void ComposeMail::pickAddress( ) |
213 | { | 217 | { |
214 | 218 | ||
215 | QLineEdit *line = mPickLineEdit; | 219 | QLineEdit *line = mPickLineEdit; |
216 | if ( line == 0 ) | 220 | if ( line == 0 ) |
217 | return; | 221 | return; |
218 | #ifdef DESKTOP_VERSION | 222 | #ifdef DESKTOP_VERSION |
219 | //qDebug(" ComposeMail::pickAddress "); | 223 | //qDebug(" ComposeMail::pickAddress "); |
220 | QString names ;//= AddressPicker::getNames(); | 224 | QString names ;//= AddressPicker::getNames(); |
221 | 225 | ||
222 | KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this); | 226 | KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this); |
223 | uint i=0; | 227 | uint i=0; |
224 | for (i=0; i < list.count(); i++) { | 228 | for (i=0; i < list.count(); i++) { |
225 | if ( !list[i].preferredEmail().isEmpty()) { | 229 | if ( !list[i].preferredEmail().isEmpty()) { |
226 | if ( ! names.isEmpty() ) | 230 | if ( ! names.isEmpty() ) |
227 | names+= ","; | 231 | names+= ","; |
228 | names+= "\""+list[i].realName() +"\"<" +list[i].preferredEmail() +">"; | 232 | names+= "\""+list[i].realName() +"\"<" +list[i].preferredEmail() +">"; |
229 | 233 | ||
230 | } | 234 | } |
231 | } | 235 | } |
232 | 236 | ||
233 | 237 | ||
234 | if ( line->text().isEmpty() ) { | 238 | if ( line->text().isEmpty() ) { |
235 | line->setText( names ); | 239 | line->setText( names ); |
236 | } else if ( !names.isEmpty() ) { | 240 | } else if ( !names.isEmpty() ) { |
237 | line->setText( line->text() + ", " + names ); | 241 | line->setText( line->text() + ", " + names ); |
238 | } | 242 | } |
239 | #else | 243 | #else |
240 | bool res = ExternalAppHandler::instance()->requestNameEmailUidListFromKAPI("QPE/Application/ompi", this->name() /* name is here the unique uid*/); | 244 | bool res = ExternalAppHandler::instance()->requestNameEmailUidListFromKAPI("QPE/Application/ompi", this->name() /* name is here the unique uid*/); |
241 | // the result should now arrive through method insertAttendees | 245 | // the result should now arrive through method insertAttendees |
242 | #endif | 246 | #endif |
243 | } | 247 | } |
244 | //the map includes name/email pairs, that comes from Ka/Pi | 248 | //the map includes name/email pairs, that comes from Ka/Pi |
245 | void ComposeMail::insertAttendees(const QString& uid,const QStringList& nameList,const QStringList& emailList,const QStringList& uidList) | 249 | void ComposeMail::insertAttendees(const QString& uid,const QStringList& nameList,const QStringList& emailList,const QStringList& uidList) |
246 | { | 250 | { |
247 | //qDebug("ComposeMail::insertAttendees "); | 251 | //qDebug("ComposeMail::insertAttendees "); |
248 | raise(); | 252 | raise(); |
249 | 253 | ||
250 | if ( mPickLineEdit == 0 ) { //whoami received | 254 | if ( mPickLineEdit == 0 ) { //whoami received |
251 | QString defmail = uidList[0]; | 255 | QString defmail = uidList[0]; |
252 | if ( emailList.count() == 0 ) | 256 | if ( emailList.count() == 0 ) |
253 | QMessageBox::information( 0, i18n( "Hint" ), | 257 | QMessageBox::information( 0, i18n( "Hint" ), |
254 | i18n( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ), | 258 | i18n( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ), |
255 | i18n( "Ok" ) ); | 259 | i18n( "Ok" ) ); |
256 | if (defmail.length()!=0) { | 260 | if (defmail.length()!=0) { |
257 | fromBox->insertItem(defmail); | 261 | fromBox->insertItem(defmail); |
258 | } | 262 | } |
259 | QStringList::ConstIterator sit = emailList.begin(); | 263 | QStringList::ConstIterator sit = emailList.begin(); |
260 | int pref = 0; | 264 | int pref = 0; |
261 | for (;sit!=emailList.end();++sit) { | 265 | for (;sit!=emailList.end();++sit) { |
262 | if ( (*sit)==defmail) | 266 | if ( (*sit)==defmail) |
263 | continue; | 267 | continue; |
264 | fromBox->insertItem((*sit)); | 268 | fromBox->insertItem((*sit)); |
265 | } | 269 | } |
266 | senderNameEdit->setText(nameList[0]); | 270 | senderNameEdit->setText(nameList[0]); |
267 | return; | 271 | return; |
268 | } | 272 | } |
269 | QString names ; | 273 | QString names ; |
270 | QLineEdit *line = mPickLineEdit; | 274 | QLineEdit *line = mPickLineEdit; |
271 | if (uid == this->name()) | 275 | if (uid == this->name()) |
272 | { | 276 | { |
273 | for ( int i = 0; i < nameList.count(); i++) | 277 | for ( int i = 0; i < nameList.count(); i++) |
274 | { | 278 | { |
275 | QString _name = nameList[i]; | 279 | QString _name = nameList[i]; |
276 | QString _email = emailList[i]; | 280 | QString _email = emailList[i]; |
277 | QString _uid = uidList[i]; | 281 | QString _uid = uidList[i]; |
278 | if ( ! _email.isEmpty() ) { | 282 | if ( ! _email.isEmpty() ) { |
279 | if ( ! names.isEmpty() ) | 283 | if ( ! names.isEmpty() ) |
280 | names+= ","; | 284 | names+= ","; |
281 | names+= "\""+_name +"\"<" +_email +">"; | 285 | names+= "\""+_name +"\"<" +_email +">"; |
282 | } | 286 | } |
283 | } | 287 | } |
284 | } | 288 | } |
285 | if ( line->text().isEmpty() ) { | 289 | if ( line->text().isEmpty() ) { |
286 | line->setText( names ); | 290 | line->setText( names ); |
287 | } else if ( !names.isEmpty() ) { | 291 | } else if ( !names.isEmpty() ) { |
288 | line->setText( line->text() + ", " + names ); | 292 | line->setText( line->text() + ", " + names ); |
289 | } | 293 | } |
290 | } | 294 | } |
291 | 295 | ||
292 | void ComposeMail::setTo( const QString & to ) | 296 | void ComposeMail::setTo( const QString & to ) |
293 | { | 297 | { |
294 | toLine->setText( to ); | 298 | toLine->setText( to ); |
295 | } | 299 | } |
296 | 300 | ||
297 | void ComposeMail::setSubject( const QString & subject ) | 301 | void ComposeMail::setSubject( const QString & subject ) |
298 | { | 302 | { |
299 | subjectLine->setText( subject ); | 303 | subjectLine->setText( subject ); |
300 | } | 304 | } |
301 | 305 | ||
302 | void ComposeMail::setInReplyTo( const QString & messageId ) | 306 | void ComposeMail::setInReplyTo( const QString & messageId ) |
303 | { | 307 | { |
304 | m_replyid = messageId; | 308 | m_replyid = messageId; |
305 | } | 309 | } |
306 | 310 | ||
307 | void ComposeMail::setMessage( const QString & text ) | 311 | void ComposeMail::setMessage( const QString & text ) |
308 | { | 312 | { |
309 | message->setText( text ); | 313 | message->setText( text ); |
310 | } | 314 | } |
311 | 315 | ||
312 | 316 | ||
313 | void ComposeMail::pickAddressTo() | 317 | void ComposeMail::pickAddressTo() |
314 | { | 318 | { |
315 | mPickLineEdit = toLine; | 319 | mPickLineEdit = toLine; |
316 | pickAddress( ); | 320 | pickAddress( ); |
317 | } | 321 | } |
318 | 322 | ||
319 | void ComposeMail::pickAddressCC() | 323 | void ComposeMail::pickAddressCC() |
320 | { | 324 | { |
321 | mPickLineEdit = ccLine; | 325 | mPickLineEdit = ccLine; |
322 | pickAddress( ); | 326 | pickAddress( ); |
323 | } | 327 | } |
324 | 328 | ||
325 | void ComposeMail::pickAddressBCC() | 329 | void ComposeMail::pickAddressBCC() |
326 | { | 330 | { |
327 | mPickLineEdit = bccLine; | 331 | mPickLineEdit = bccLine; |
328 | pickAddress( ); | 332 | pickAddress( ); |
329 | } | 333 | } |
330 | 334 | ||
331 | void ComposeMail::pickAddressReply() | 335 | void ComposeMail::pickAddressReply() |
332 | { | 336 | { |
333 | mPickLineEdit = replyLine; | 337 | mPickLineEdit = replyLine; |
334 | pickAddress( ); | 338 | pickAddress( ); |
335 | } | 339 | } |
336 | 340 | ||
337 | void ComposeMail::fillValues( int ) | 341 | void ComposeMail::fillValues( int ) |
338 | { | 342 | { |
339 | #if 0 | 343 | #if 0 |
340 | SMTPaccount *smtp = smtpAccounts.at( current ); | 344 | SMTPaccount *smtp = smtpAccounts.at( current ); |
341 | ccLine->clear(); | 345 | ccLine->clear(); |
342 | if ( smtp->getUseCC() ) { | 346 | if ( smtp->getUseCC() ) { |
343 | ccLine->setText( smtp->getCC() ); | 347 | ccLine->setText( smtp->getCC() ); |
344 | } | 348 | } |
345 | bccLine->clear(); | 349 | bccLine->clear(); |
346 | if ( smtp->getUseBCC() ) { | 350 | if ( smtp->getUseBCC() ) { |
347 | bccLine->setText( smtp->getBCC() ); | 351 | bccLine->setText( smtp->getBCC() ); |
348 | } | 352 | } |
349 | replyLine->clear(); | 353 | replyLine->clear(); |
350 | if ( smtp->getUseReply() ) { | 354 | if ( smtp->getUseReply() ) { |
351 | replyLine->setText( smtp->getReply() ); | 355 | replyLine->setText( smtp->getReply() ); |
352 | } | 356 | } |
353 | sigMultiLine->setText( smtp->getSignature() ); | 357 | sigMultiLine->setText( smtp->getSignature() ); |
354 | #endif | 358 | #endif |
355 | } | 359 | } |
356 | 360 | ||
357 | void ComposeMail::slotAdjustColumns() | 361 | void ComposeMail::slotAdjustColumns() |
358 | { | 362 | { |
359 | int currPage = tabWidget->currentPageIndex(); | 363 | int currPage = tabWidget->currentPageIndex(); |
360 | 364 | ||
361 | tabWidget->showPage( attachTab ); | 365 | tabWidget->showPage( attachTab ); |
362 | attList->setColumnWidth( 0, attList->visibleWidth() - 80 ); | 366 | attList->setColumnWidth( 0, attList->visibleWidth() - 80 ); |
363 | attList->setColumnWidth( 1, 80 ); | 367 | attList->setColumnWidth( 1, 80 ); |
364 | 368 | ||
365 | tabWidget->setCurrentPage( currPage ); | 369 | tabWidget->setCurrentPage( currPage ); |
366 | } | 370 | } |
367 | 371 | ||
368 | void ComposeMail::addAttachment() | 372 | void ComposeMail::addAttachment() |
369 | { | 373 | { |
370 | QString lnk = KFileDialog::getOpenFileName( "", "Add Attachment", this ); | 374 | QString lnk = KFileDialog::getOpenFileName( "", "Add Attachment", this ); |
371 | if ( !lnk.isEmpty() ) { | 375 | if ( !lnk.isEmpty() ) { |
372 | Attachment *att = new Attachment( lnk ); | 376 | Attachment *att = new Attachment( lnk ); |
373 | (void) new AttachViewItem( attList, att ); | 377 | (void) new AttachViewItem( attList, att ); |
374 | } | 378 | } |
375 | } | 379 | } |
376 | 380 | ||
377 | void ComposeMail::removeAttachment() | 381 | void ComposeMail::removeAttachment() |
378 | { | 382 | { |
379 | if ( !attList->currentItem() ) { | 383 | if ( !attList->currentItem() ) { |
380 | QMessageBox::information( this, i18n( "Error" ), | 384 | QMessageBox::information( this, i18n( "Error" ), |
381 | i18n( "<p>Please select a File.</p>" ), | 385 | i18n( "<p>Please select a File.</p>" ), |
382 | i18n( "Ok" ) ); | 386 | i18n( "Ok" ) ); |
383 | } else { | 387 | } else { |
384 | attList->takeItem( attList->currentItem() ); | 388 | attList->takeItem( attList->currentItem() ); |
385 | } | 389 | } |
386 | } | 390 | } |
387 | 391 | ||
388 | void ComposeMail::accept() | 392 | void ComposeMail::accept() |
389 | { | 393 | { |
390 | if ( smtpAccountBox->count() == 0 ) { | 394 | if ( smtpAccountBox->count() == 0 ) { |
391 | 395 | ||
392 | reject(); | 396 | reject(); |
393 | return; | 397 | return; |
394 | } | 398 | } |
395 | 399 | ||
396 | if (! checkBoxLater->isChecked() ) { | 400 | if (! checkBoxLater->isChecked() ) { |
397 | int yesno = QMessageBox::warning(0,i18n("Stop editing message"), | 401 | int yesno = QMessageBox::warning(0,i18n("Stop editing message"), |
398 | i18n("Send this message?"), | 402 | i18n("Send this message?"), |
399 | i18n("Yes"), | 403 | i18n("Yes"), |
400 | i18n("Cancel")); | 404 | i18n("Cancel")); |
401 | 405 | ||
402 | if (yesno == 1) { | 406 | if (yesno == 1) { |
403 | return; | 407 | return; |
404 | } | 408 | } |
405 | } | 409 | } |
406 | #if 0 | 410 | #if 0 |
407 | odebug << "Sending Mail with " | 411 | odebug << "Sending Mail with " |
408 | << smtpAccounts.at( smtpAccountBox->currentItem() )->getAccountName() << oendl; | 412 | << smtpAccounts.at( smtpAccountBox->currentItem() )->getAccountName() << oendl; |
409 | #endif | 413 | #endif |
410 | Opie::Core::OSmartPointer<Mail> mail=new Mail; | 414 | Opie::Core::OSmartPointer<Mail> mail=new Mail; |
411 | 415 | ||
412 | SMTPaccount *smtp = smtpAccounts.at( smtpAccountBox->currentItem() ); | 416 | SMTPaccount *smtp = smtpAccounts.at( smtpAccountBox->currentItem() ); |
413 | mail->setMail(fromBox->currentText()); | 417 | mail->setMail(fromBox->currentText()); |
414 | 418 | ||
415 | if ( !toLine->text().isEmpty() ) { | 419 | if ( !toLine->text().isEmpty() ) { |
416 | mail->setTo( toLine->text() ); | 420 | mail->setTo( toLine->text() ); |
417 | } else { | 421 | } else { |
418 | QMessageBox::warning(0,i18n("Sending mail"), | 422 | QMessageBox::warning(0,i18n("Sending mail"), |
419 | i18n("No Receiver spezified" ) ); | 423 | i18n("No Receiver spezified" ) ); |
420 | return; | 424 | return; |
421 | } | 425 | } |
422 | 426 | ||
423 | mail->setName(senderNameEdit->text()); | 427 | mail->setName(senderNameEdit->text()); |
424 | mail->setCC( ccLine->text() ); | 428 | mail->setCC( ccLine->text() ); |
425 | mail->setBCC( bccLine->text() ); | 429 | mail->setBCC( bccLine->text() ); |
426 | mail->setReply( replyLine->text() ); | 430 | mail->setReply( replyLine->text() ); |
427 | mail->setSubject( subjectLine->text() ); | 431 | mail->setSubject( subjectLine->text() ); |
428 | if (!m_replyid.isEmpty()) { | 432 | if (!m_replyid.isEmpty()) { |
429 | QStringList ids; | 433 | QStringList ids; |
430 | ids.append(m_replyid); | 434 | ids.append(m_replyid); |
431 | mail->setInreply(ids); | 435 | mail->setInreply(ids); |
432 | } | 436 | } |
433 | QString txt = message->text(); | 437 | QString txt = message->text(); |
434 | if ( !sigMultiLine->text().isEmpty() ) { | 438 | if ( !sigMultiLine->text().isEmpty() ) { |
435 | txt.append( "\n--\n" ); | 439 | txt.append( "\n--\n" ); |
436 | txt.append( sigMultiLine->text() ); | 440 | txt.append( sigMultiLine->text() ); |
437 | } | 441 | } |
438 | mail->setMessage( txt ); | 442 | mail->setMessage( txt ); |
439 | mail->setCharset (mEncoding); | 443 | mail->setCharset (mEncoding); |
440 | AttachViewItem *it = (AttachViewItem *) attList->firstChild(); | 444 | AttachViewItem *it = (AttachViewItem *) attList->firstChild(); |
441 | while ( it != 0 ) { | 445 | while ( it != 0 ) { |
442 | mail->addAttachment( it->getAttachment() ); | 446 | mail->addAttachment( it->getAttachment() ); |
443 | it = (AttachViewItem *) it->nextSibling(); | 447 | it = (AttachViewItem *) it->nextSibling(); |
444 | } | 448 | } |
445 | 449 | ||
446 | SMTPwrapper wrapper( smtp ); | 450 | SMTPwrapper wrapper( smtp ); |
447 | if ( wrapper.sendMail( mail,checkBoxLater->isChecked() ) ) | 451 | if ( wrapper.sendMail( mail,checkBoxLater->isChecked() ) ) |
448 | setStatus( tr ("Mail sent")); | 452 | setStatus( tr ("Mail sent")); |
449 | else { | 453 | else { |
450 | setStatus( tr ("Error: Something went wrong. Nothing sent")); | 454 | setStatus( tr ("Error: Something went wrong. Nothing sent")); |
451 | return; | 455 | return; |
452 | } | 456 | } |
453 | 457 | ||
454 | 458 | ||
455 | QDialog::accept(); | 459 | QDialog::accept(); |
456 | } | 460 | } |
457 | 461 | ||
458 | void ComposeMail::reject() | 462 | void ComposeMail::reject() |
459 | { | 463 | { |
460 | //qDebug("ComposeMail::reject() "); | 464 | //qDebug("ComposeMail::reject() "); |
461 | int yesno = QMessageBox::warning(0,i18n("Store message?"), | 465 | int yesno = QMessageBox::warning(0,i18n("Store message?"), |
462 | i18n("Store message into drafts?\n"), | 466 | i18n("Store message into drafts?\n"), |
463 | i18n("Yes"), | 467 | i18n("Yes"), |
464 | i18n("No")); | 468 | i18n("No")); |
465 | 469 | ||
466 | //qDebug("button %d ", yesno); | 470 | //qDebug("button %d ", yesno); |
467 | if (yesno == 0) { | 471 | if (yesno == 0) { |
468 | if ( toLine->text().isEmpty() ) { | 472 | if ( toLine->text().isEmpty() ) { |
469 | QMessageBox::warning(0,i18n("Sending mail"), | 473 | QMessageBox::warning(0,i18n("Sending mail"), |
470 | i18n("No Receiver spezified" ) ); | 474 | i18n("No Receiver spezified" ) ); |
471 | return; | 475 | return; |
472 | } | 476 | } |
473 | saveAsDraft(); | 477 | saveAsDraft(); |
474 | } | 478 | } |
475 | if (yesno == 2) { | 479 | if (yesno == 2) { |
476 | qDebug("return "); | 480 | qDebug("return "); |
477 | return; | 481 | return; |
478 | } | 482 | } |
479 | QDialog::reject(); | 483 | QDialog::reject(); |
480 | } | 484 | } |
481 | 485 | ||
482 | void ComposeMail::setCharset(const QString& charset) | 486 | void ComposeMail::setCharset(const QString& charset) |
483 | { | 487 | { |
484 | if ( !charset.isEmpty() ) | 488 | if ( !charset.isEmpty() ) |
485 | mEncoding = charset; | 489 | mEncoding = charset; |
486 | qDebug("ComposeMail::setCharset %s ", mEncoding.latin1()); | 490 | qDebug("ComposeMail::setCharset %s ", mEncoding.latin1()); |
487 | } | 491 | } |
488 | ComposeMail::~ComposeMail() | 492 | ComposeMail::~ComposeMail() |
489 | { | 493 | { |
490 | } | 494 | } |
491 | 495 | ||
492 | void ComposeMail::reEditMail(const RecMailP¤t) | 496 | void ComposeMail::reEditMail(const RecMailP¤t) |
493 | { | 497 | { |
494 | RecMailP data = current; | 498 | RecMailP data = current; |
495 | RecBodyP body = data->Wrapper()->fetchBody(current); | 499 | RecBodyP body = data->Wrapper()->fetchBody(current); |
496 | 500 | ||
497 | message->setText(body->Bodytext()); | 501 | message->setText(body->Bodytext()); |
498 | subjectLine->setText( data->getSubject()); | 502 | subjectLine->setText( data->getSubject()); |
499 | toLine->setText(data->To().join(",")); | 503 | toLine->setText(data->To().join(",")); |
500 | ccLine->setText(data->CC().join(",")); | 504 | ccLine->setText(data->CC().join(",")); |
501 | bccLine->setText(data->Bcc().join(",")); | 505 | bccLine->setText(data->Bcc().join(",")); |
502 | replyLine->setText(data->Replyto()); | 506 | replyLine->setText(data->Replyto()); |
503 | setCharset(body->getCharset()); | 507 | setCharset(body->getCharset()); |
504 | } | 508 | } |
505 | 509 | ||
506 | AttachViewItem::AttachViewItem( QListView *parent, Attachment *att ) | 510 | AttachViewItem::AttachViewItem( QListView *parent, Attachment *att ) |
507 | : QListViewItem( parent ) | 511 | : QListViewItem( parent ) |
508 | { | 512 | { |
509 | attachment = att; | 513 | attachment = att; |
510 | if ( !attachment->getPixmap().isNull() ) | 514 | if ( !attachment->getPixmap().isNull() ) |
511 | setPixmap( 0,attachment->getPixmap() ); | 515 | setPixmap( 0,attachment->getPixmap() ); |
512 | setText( 0, att->getName().isEmpty() ? att->getFileName() : att->getName() ); | 516 | setText( 0, att->getName().isEmpty() ? att->getFileName() : att->getName() ); |
513 | setText( 1, QString::number( att->getSize() ) ); | 517 | setText( 1, QString::number( att->getSize() ) ); |
514 | } | 518 | } |
515 | 519 | ||
diff --git a/kmicromail/libmailwrapper/genericwrapper.cpp b/kmicromail/libmailwrapper/genericwrapper.cpp index eac05e5..1ed9f34 100644 --- a/kmicromail/libmailwrapper/genericwrapper.cpp +++ b/kmicromail/libmailwrapper/genericwrapper.cpp | |||
@@ -1,546 +1,548 @@ | |||
1 | // CHANGED 2004-09-31 Lutz Rogowski | 1 | // CHANGED 2004-09-31 Lutz Rogowski |
2 | #include "genericwrapper.h" | 2 | #include "genericwrapper.h" |
3 | #include <libetpan/libetpan.h> | 3 | #include <libetpan/libetpan.h> |
4 | #include "mailtypes.h" | 4 | #include "mailtypes.h" |
5 | 5 | ||
6 | #include <kconfig.h> | 6 | #include <kconfig.h> |
7 | #include <kglobal.h> | 7 | #include <kglobal.h> |
8 | #include <kstandarddirs.h> | 8 | #include <kstandarddirs.h> |
9 | 9 | ||
10 | 10 | ||
11 | using namespace Opie::Core; | 11 | using namespace Opie::Core; |
12 | Genericwrapper::Genericwrapper() | 12 | Genericwrapper::Genericwrapper() |
13 | : AbstractMail() | 13 | : AbstractMail() |
14 | { | 14 | { |
15 | bodyCache.clear(); | 15 | bodyCache.clear(); |
16 | m_storage = 0; | 16 | m_storage = 0; |
17 | m_folder = 0; | 17 | m_folder = 0; |
18 | } | 18 | } |
19 | 19 | ||
20 | Genericwrapper::~Genericwrapper() | 20 | Genericwrapper::~Genericwrapper() |
21 | { | 21 | { |
22 | if (m_folder) { | 22 | if (m_folder) { |
23 | mailfolder_free(m_folder); | 23 | mailfolder_free(m_folder); |
24 | } | 24 | } |
25 | if (m_storage) { | 25 | if (m_storage) { |
26 | mailstorage_free(m_storage); | 26 | mailstorage_free(m_storage); |
27 | } | 27 | } |
28 | cleanMimeCache(); | 28 | cleanMimeCache(); |
29 | } | 29 | } |
30 | const QDateTime Genericwrapper::parseDateTime( mailimf_date_time *date ) | 30 | const QDateTime Genericwrapper::parseDateTime( mailimf_date_time *date ) |
31 | { | 31 | { |
32 | 32 | ||
33 | QDate da (date->dt_year,date->dt_month, date->dt_day ); | 33 | QDate da (date->dt_year,date->dt_month, date->dt_day ); |
34 | QTime ti ( date->dt_hour, date->dt_min, date->dt_sec ); | 34 | QTime ti ( date->dt_hour, date->dt_min, date->dt_sec ); |
35 | QDateTime dt ( da ,ti ); | 35 | QDateTime dt ( da ,ti ); |
36 | int addsec = -date->dt_zone*36; | 36 | int addsec = -date->dt_zone*36; |
37 | //qDebug("adsec1 %d ",addsec ); | 37 | //qDebug("adsec1 %d ",addsec ); |
38 | dt = dt.addSecs( addsec ); | 38 | dt = dt.addSecs( addsec ); |
39 | int off = KGlobal::locale()->localTimeOffset( dt ); | 39 | int off = KGlobal::locale()->localTimeOffset( dt ); |
40 | //qDebug("adsec2 %d ",off*60 ); | 40 | //qDebug("adsec2 %d ",off*60 ); |
41 | 41 | ||
42 | dt = dt.addSecs( off*60 ); | 42 | dt = dt.addSecs( off*60 ); |
43 | return dt; | 43 | return dt; |
44 | #if 0 | 44 | #if 0 |
45 | QString ret; | 45 | QString ret; |
46 | if ( dt.date() == QDate::currentDate () ) | 46 | if ( dt.date() == QDate::currentDate () ) |
47 | ret = KGlobal::locale()->formatTime( dt.time(),true); | 47 | ret = KGlobal::locale()->formatTime( dt.time(),true); |
48 | 48 | ||
49 | else { | 49 | else { |
50 | ret = KGlobal::locale()->formatDateTime( dt,true,true); | 50 | ret = KGlobal::locale()->formatDateTime( dt,true,true); |
51 | } | 51 | } |
52 | #endif | 52 | #endif |
53 | #if 0 | 53 | #if 0 |
54 | if ( off < 0 ) | 54 | if ( off < 0 ) |
55 | ret += " -"; | 55 | ret += " -"; |
56 | else | 56 | else |
57 | ret += " +"; | 57 | ret += " +"; |
58 | ret += QString::number( off / 60 ); | 58 | ret += QString::number( off / 60 ); |
59 | ret += "h"; | 59 | ret += "h"; |
60 | #endif | 60 | #endif |
61 | #if 0 | 61 | #if 0 |
62 | char tmp[23]; | 62 | char tmp[23]; |
63 | 63 | ||
64 | // snprintf( tmp, 23, "%02i.%02i.%04i %02i:%02i:%02i %+05i", | 64 | // snprintf( tmp, 23, "%02i.%02i.%04i %02i:%02i:%02i %+05i", |
65 | // date->dt_day, date->dt_month, date->dt_year, date->dt_hour, date->dt_min, date->dt_sec, date->dt_zone ); | 65 | // date->dt_day, date->dt_month, date->dt_year, date->dt_hour, date->dt_min, date->dt_sec, date->dt_zone ); |
66 | snprintf( tmp, 23, "%04i-%02i-%02i %02i:%02i:%02i %+05i", | 66 | snprintf( tmp, 23, "%04i-%02i-%02i %02i:%02i:%02i %+05i", |
67 | date->dt_year,date->dt_month, date->dt_day, date->dt_hour, date->dt_min, date->dt_sec, date->dt_zone ); | 67 | date->dt_year,date->dt_month, date->dt_day, date->dt_hour, date->dt_min, date->dt_sec, date->dt_zone ); |
68 | 68 | ||
69 | 69 | ||
70 | return QString( tmp ); | 70 | return QString( tmp ); |
71 | #endif | 71 | #endif |
72 | //return ret; | 72 | //return ret; |
73 | } | 73 | } |
74 | 74 | ||
75 | void Genericwrapper::fillSingleBody(RecPartP&target,mailmessage*,mailmime*mime) | 75 | void Genericwrapper::fillSingleBody(RecPartP&target,mailmessage*,mailmime*mime) |
76 | { | 76 | { |
77 | if (!mime) { | 77 | if (!mime) { |
78 | return; | 78 | return; |
79 | } | 79 | } |
80 | mailmime_field*field = 0; | 80 | mailmime_field*field = 0; |
81 | mailmime_single_fields fields; | 81 | mailmime_single_fields fields; |
82 | memset(&fields, 0, sizeof(struct mailmime_single_fields)); | 82 | memset(&fields, 0, sizeof(struct mailmime_single_fields)); |
83 | if (mime->mm_mime_fields != NULL) { | 83 | if (mime->mm_mime_fields != NULL) { |
84 | mailmime_single_fields_init(&fields, mime->mm_mime_fields, | 84 | mailmime_single_fields_init(&fields, mime->mm_mime_fields, |
85 | mime->mm_content_type); | 85 | mime->mm_content_type); |
86 | } | 86 | } |
87 | 87 | ||
88 | mailmime_content*type = fields.fld_content; | 88 | mailmime_content*type = fields.fld_content; |
89 | clistcell*current; | 89 | clistcell*current; |
90 | if (!type) { | 90 | if (!type) { |
91 | target->setType("text"); | 91 | target->setType("text"); |
92 | target->setSubtype("plain"); | 92 | target->setSubtype("plain"); |
93 | } else { | 93 | } else { |
94 | target->setSubtype(type->ct_subtype); | 94 | target->setSubtype(type->ct_subtype); |
95 | switch(type->ct_type->tp_data.tp_discrete_type->dt_type) { | 95 | switch(type->ct_type->tp_data.tp_discrete_type->dt_type) { |
96 | case MAILMIME_DISCRETE_TYPE_TEXT: | 96 | case MAILMIME_DISCRETE_TYPE_TEXT: |
97 | target->setType("text"); | 97 | target->setType("text"); |
98 | break; | 98 | break; |
99 | case MAILMIME_DISCRETE_TYPE_IMAGE: | 99 | case MAILMIME_DISCRETE_TYPE_IMAGE: |
100 | target->setType("image"); | 100 | target->setType("image"); |
101 | break; | 101 | break; |
102 | case MAILMIME_DISCRETE_TYPE_AUDIO: | 102 | case MAILMIME_DISCRETE_TYPE_AUDIO: |
103 | target->setType("audio"); | 103 | target->setType("audio"); |
104 | break; | 104 | break; |
105 | case MAILMIME_DISCRETE_TYPE_VIDEO: | 105 | case MAILMIME_DISCRETE_TYPE_VIDEO: |
106 | target->setType("video"); | 106 | target->setType("video"); |
107 | break; | 107 | break; |
108 | case MAILMIME_DISCRETE_TYPE_APPLICATION: | 108 | case MAILMIME_DISCRETE_TYPE_APPLICATION: |
109 | target->setType("application"); | 109 | target->setType("application"); |
110 | break; | 110 | break; |
111 | case MAILMIME_DISCRETE_TYPE_EXTENSION: | 111 | case MAILMIME_DISCRETE_TYPE_EXTENSION: |
112 | default: | 112 | default: |
113 | if (type->ct_type->tp_data.tp_discrete_type->dt_extension) { | 113 | if (type->ct_type->tp_data.tp_discrete_type->dt_extension) { |
114 | target->setType(type->ct_type->tp_data.tp_discrete_type->dt_extension); | 114 | target->setType(type->ct_type->tp_data.tp_discrete_type->dt_extension); |
115 | } | 115 | } |
116 | break; | 116 | break; |
117 | } | 117 | } |
118 | if (type->ct_parameters) { | 118 | if (type->ct_parameters) { |
119 | fillParameters(target,type->ct_parameters); | 119 | fillParameters(target,type->ct_parameters); |
120 | } | 120 | } |
121 | } | 121 | } |
122 | if (mime->mm_mime_fields && mime->mm_mime_fields->fld_list) { | 122 | if (mime->mm_mime_fields && mime->mm_mime_fields->fld_list) { |
123 | for (current=clist_begin(mime->mm_mime_fields->fld_list);current!=0;current=clist_next(current)) { | 123 | for (current=clist_begin(mime->mm_mime_fields->fld_list);current!=0;current=clist_next(current)) { |
124 | field = (mailmime_field*)current->data; | 124 | field = (mailmime_field*)current->data; |
125 | switch(field->fld_type) { | 125 | switch(field->fld_type) { |
126 | case MAILMIME_FIELD_TRANSFER_ENCODING: | 126 | case MAILMIME_FIELD_TRANSFER_ENCODING: |
127 | target->setEncoding(getencoding(field->fld_data.fld_encoding)); | 127 | target->setEncoding(getencoding(field->fld_data.fld_encoding)); |
128 | break; | 128 | break; |
129 | case MAILMIME_FIELD_ID: | 129 | case MAILMIME_FIELD_ID: |
130 | target->setIdentifier(field->fld_data.fld_id); | 130 | target->setIdentifier(field->fld_data.fld_id); |
131 | break; | 131 | break; |
132 | case MAILMIME_FIELD_DESCRIPTION: | 132 | case MAILMIME_FIELD_DESCRIPTION: |
133 | target->setDescription(field->fld_data.fld_description); | 133 | target->setDescription(field->fld_data.fld_description); |
134 | break; | 134 | break; |
135 | default: | 135 | default: |
136 | break; | 136 | break; |
137 | } | 137 | } |
138 | } | 138 | } |
139 | } | 139 | } |
140 | } | 140 | } |
141 | 141 | ||
142 | void Genericwrapper::fillParameters(RecPartP&target,clist*parameters) | 142 | void Genericwrapper::fillParameters(RecPartP&target,clist*parameters) |
143 | { | 143 | { |
144 | if (!parameters) {return;} | 144 | if (!parameters) {return;} |
145 | clistcell*current=0; | 145 | clistcell*current=0; |
146 | mailmime_parameter*param; | 146 | mailmime_parameter*param; |
147 | for (current=clist_begin(parameters);current!=0;current=clist_next(current)) { | 147 | for (current=clist_begin(parameters);current!=0;current=clist_next(current)) { |
148 | param = (mailmime_parameter*)current->data; | 148 | param = (mailmime_parameter*)current->data; |
149 | if (param) { | 149 | if (param) { |
150 | target->addParameter(QString(param->pa_name).lower(),QString(param->pa_value)); | 150 | target->addParameter(QString(param->pa_name).lower(),QString(param->pa_value)); |
151 | } | 151 | } |
152 | } | 152 | } |
153 | } | 153 | } |
154 | 154 | ||
155 | QString Genericwrapper::getencoding(mailmime_mechanism*aEnc) | 155 | QString Genericwrapper::getencoding(mailmime_mechanism*aEnc) |
156 | { | 156 | { |
157 | QString enc="7bit"; | 157 | QString enc="7bit"; |
158 | if (!aEnc) return enc; | 158 | if (!aEnc) return enc; |
159 | switch(aEnc->enc_type) { | 159 | switch(aEnc->enc_type) { |
160 | case MAILMIME_MECHANISM_7BIT: | 160 | case MAILMIME_MECHANISM_7BIT: |
161 | enc = "7bit"; | 161 | enc = "7bit"; |
162 | break; | 162 | break; |
163 | case MAILMIME_MECHANISM_8BIT: | 163 | case MAILMIME_MECHANISM_8BIT: |
164 | enc = "8bit"; | 164 | enc = "8bit"; |
165 | break; | 165 | break; |
166 | case MAILMIME_MECHANISM_BINARY: | 166 | case MAILMIME_MECHANISM_BINARY: |
167 | enc = "binary"; | 167 | enc = "binary"; |
168 | break; | 168 | break; |
169 | case MAILMIME_MECHANISM_QUOTED_PRINTABLE: | 169 | case MAILMIME_MECHANISM_QUOTED_PRINTABLE: |
170 | enc = "quoted-printable"; | 170 | enc = "quoted-printable"; |
171 | break; | 171 | break; |
172 | case MAILMIME_MECHANISM_BASE64: | 172 | case MAILMIME_MECHANISM_BASE64: |
173 | enc = "base64"; | 173 | enc = "base64"; |
174 | break; | 174 | break; |
175 | case MAILMIME_MECHANISM_TOKEN: | 175 | case MAILMIME_MECHANISM_TOKEN: |
176 | default: | 176 | default: |
177 | if (aEnc->enc_token) { | 177 | if (aEnc->enc_token) { |
178 | enc = QString(aEnc->enc_token); | 178 | enc = QString(aEnc->enc_token); |
179 | } | 179 | } |
180 | break; | 180 | break; |
181 | } | 181 | } |
182 | return enc; | 182 | return enc; |
183 | } | 183 | } |
184 | 184 | ||
185 | void Genericwrapper::traverseBody(RecBodyP&target,mailmessage*message,mailmime*mime,QValueList<int>recList,unsigned int current_rec,int current_count) | 185 | void Genericwrapper::traverseBody(RecBodyP&target,mailmessage*message,mailmime*mime,QValueList<int>recList,unsigned int current_rec,int current_count) |
186 | { | 186 | { |
187 | if (current_rec >= 10) { | 187 | if (current_rec >= 10) { |
188 | ; // odebug << "too deep recursion!" << oendl; | 188 | ; // odebug << "too deep recursion!" << oendl; |
189 | } | 189 | } |
190 | if (!message || !mime) { | 190 | if (!message || !mime) { |
191 | return; | 191 | return; |
192 | } | 192 | } |
193 | int r; | 193 | int r; |
194 | char*data = 0; | 194 | char*data = 0; |
195 | size_t len; | 195 | size_t len; |
196 | clistiter * cur = 0; | 196 | clistiter * cur = 0; |
197 | QString b; | 197 | QString b; |
198 | RecPartP part = new RecPart(); | 198 | RecPartP part = new RecPart(); |
199 | 199 | ||
200 | switch (mime->mm_type) { | 200 | switch (mime->mm_type) { |
201 | case MAILMIME_SINGLE: | 201 | case MAILMIME_SINGLE: |
202 | { | 202 | { |
203 | QValueList<int>countlist = recList; | 203 | QValueList<int>countlist = recList; |
204 | countlist.append(current_count); | 204 | countlist.append(current_count); |
205 | r = mailmessage_fetch_section(message,mime,&data,&len); | 205 | r = mailmessage_fetch_section(message,mime,&data,&len); |
206 | part->setSize(len); | 206 | part->setSize(len); |
207 | part->setPositionlist(countlist); | 207 | part->setPositionlist(countlist); |
208 | b = gen_attachment_id(); | 208 | b = gen_attachment_id(); |
209 | part->setIdentifier(b); | 209 | part->setIdentifier(b); |
210 | fillSingleBody(part,message,mime); | 210 | fillSingleBody(part,message,mime); |
211 | if (part->Type()=="text" && target->Bodytext().isNull()) { | 211 | if (part->Type()=="text" && target->Bodytext().isNull()) { |
212 | encodedString*rs = new encodedString(); | 212 | encodedString*rs = new encodedString(); |
213 | rs->setContent(data,len); | 213 | rs->setContent(data,len); |
214 | encodedString*res = decode_String(rs,part->Encoding()); | 214 | encodedString*res = decode_String(rs,part->Encoding()); |
215 | if (countlist.count()>2) { | 215 | if (countlist.count()>2) { |
216 | bodyCache[b]=rs; | 216 | bodyCache[b]=rs; |
217 | target->addPart(part); | 217 | target->addPart(part); |
218 | } else { | 218 | } else { |
219 | delete rs; | 219 | delete rs; |
220 | } | 220 | } |
221 | b = QString(res->Content()); | 221 | b = QString(res->Content()); |
222 | delete res; | 222 | delete res; |
223 | size_t index = 0; | 223 | size_t index = 0; |
224 | char*resu = 0; | 224 | char*resu = 0; |
225 | int err = MAILIMF_NO_ERROR; | 225 | int err = MAILIMF_NO_ERROR; |
226 | QString charset = part->searchParamter( "charset"); | 226 | QString charset = part->searchParamter( "charset"); |
227 | qDebug("CHARSET %s ",charset.latin1() ); | 227 | qDebug("CHARSET %s ",charset.latin1() ); |
228 | #if 0 | ||
228 | if (false ) { | 229 | if (false ) { |
229 | //if ( !charset.isEmpty() ) { | 230 | //if ( !charset.isEmpty() ) { |
230 | target->setCharset( charset ); | 231 | target->setCharset( charset ); |
231 | err = mailmime_encoded_phrase_parse(charset.latin1(), | 232 | err = mailmime_encoded_phrase_parse(charset.latin1(), |
232 | b.latin1(), b.length(),&index, "utf-8",&resu); | 233 | b.latin1(), b.length(),&index, "utf-8",&resu); |
233 | if (err == MAILIMF_NO_ERROR && resu && strlen(resu)) { | 234 | if (err == MAILIMF_NO_ERROR && resu && strlen(resu)) { |
234 | //qDebug("res %d %s ", index, resu); | 235 | //qDebug("res %d %s ", index, resu); |
235 | b = QString::fromUtf8(resu); | 236 | b = QString::fromUtf8(resu); |
236 | } | 237 | } |
237 | if (resu) free(resu); | 238 | if (resu) free(resu); |
238 | } | 239 | } |
240 | #endif | ||
239 | target->setBodytext(b); | 241 | target->setBodytext(b); |
240 | target->setDescription(part); | 242 | target->setDescription(part); |
241 | } else { | 243 | } else { |
242 | bodyCache[b]=new encodedString(data,len); | 244 | bodyCache[b]=new encodedString(data,len); |
243 | target->addPart(part); | 245 | target->addPart(part); |
244 | } | 246 | } |
245 | } | 247 | } |
246 | break; | 248 | break; |
247 | case MAILMIME_MULTIPLE: | 249 | case MAILMIME_MULTIPLE: |
248 | { | 250 | { |
249 | unsigned int ccount = 1; | 251 | unsigned int ccount = 1; |
250 | mailmime*cbody=0; | 252 | mailmime*cbody=0; |
251 | QValueList<int>countlist = recList; | 253 | QValueList<int>countlist = recList; |
252 | for (cur = clist_begin(mime->mm_data.mm_multipart.mm_mp_list) ; cur != NULL ; cur = clist_next(cur)) { | 254 | for (cur = clist_begin(mime->mm_data.mm_multipart.mm_mp_list) ; cur != NULL ; cur = clist_next(cur)) { |
253 | cbody = (mailmime*)clist_content(cur); | 255 | cbody = (mailmime*)clist_content(cur); |
254 | if (cbody->mm_type==MAILMIME_MULTIPLE) { | 256 | if (cbody->mm_type==MAILMIME_MULTIPLE) { |
255 | RecPartP targetPart = new RecPart(); | 257 | RecPartP targetPart = new RecPart(); |
256 | targetPart->setType("multipart"); | 258 | targetPart->setType("multipart"); |
257 | countlist.append(current_count); | 259 | countlist.append(current_count); |
258 | targetPart->setPositionlist(countlist); | 260 | targetPart->setPositionlist(countlist); |
259 | target->addPart(targetPart); | 261 | target->addPart(targetPart); |
260 | } | 262 | } |
261 | traverseBody(target,message, cbody,countlist,current_rec+1,ccount); | 263 | traverseBody(target,message, cbody,countlist,current_rec+1,ccount); |
262 | if (cbody->mm_type==MAILMIME_MULTIPLE) { | 264 | if (cbody->mm_type==MAILMIME_MULTIPLE) { |
263 | countlist = recList; | 265 | countlist = recList; |
264 | } | 266 | } |
265 | ++ccount; | 267 | ++ccount; |
266 | } | 268 | } |
267 | } | 269 | } |
268 | break; | 270 | break; |
269 | case MAILMIME_MESSAGE: | 271 | case MAILMIME_MESSAGE: |
270 | { | 272 | { |
271 | QValueList<int>countlist = recList; | 273 | QValueList<int>countlist = recList; |
272 | countlist.append(current_count); | 274 | countlist.append(current_count); |
273 | /* the own header is always at recursion 0 - we don't need that */ | 275 | /* the own header is always at recursion 0 - we don't need that */ |
274 | if (current_rec > 0) { | 276 | if (current_rec > 0) { |
275 | part->setPositionlist(countlist); | 277 | part->setPositionlist(countlist); |
276 | r = mailmessage_fetch_section(message,mime,&data,&len); | 278 | r = mailmessage_fetch_section(message,mime,&data,&len); |
277 | part->setSize(len); | 279 | part->setSize(len); |
278 | part->setPositionlist(countlist); | 280 | part->setPositionlist(countlist); |
279 | b = gen_attachment_id(); | 281 | b = gen_attachment_id(); |
280 | part->setIdentifier(b); | 282 | part->setIdentifier(b); |
281 | part->setType("message"); | 283 | part->setType("message"); |
282 | part->setSubtype("rfc822"); | 284 | part->setSubtype("rfc822"); |
283 | bodyCache[b]=new encodedString(data,len); | 285 | bodyCache[b]=new encodedString(data,len); |
284 | target->addPart(part); | 286 | target->addPart(part); |
285 | } | 287 | } |
286 | if (mime->mm_data.mm_message.mm_msg_mime != NULL) { | 288 | if (mime->mm_data.mm_message.mm_msg_mime != NULL) { |
287 | traverseBody(target,message,mime->mm_data.mm_message.mm_msg_mime,countlist,current_rec+1); | 289 | traverseBody(target,message,mime->mm_data.mm_message.mm_msg_mime,countlist,current_rec+1); |
288 | } | 290 | } |
289 | } | 291 | } |
290 | break; | 292 | break; |
291 | } | 293 | } |
292 | } | 294 | } |
293 | 295 | ||
294 | RecBodyP Genericwrapper::parseMail( mailmessage * msg ) | 296 | RecBodyP Genericwrapper::parseMail( mailmessage * msg ) |
295 | { | 297 | { |
296 | int err = MAILIMF_NO_ERROR; | 298 | int err = MAILIMF_NO_ERROR; |
297 | //mailmime_single_fields fields; | 299 | //mailmime_single_fields fields; |
298 | /* is bound to msg and will be freed there */ | 300 | /* is bound to msg and will be freed there */ |
299 | mailmime * mime=0; | 301 | mailmime * mime=0; |
300 | RecBodyP body = new RecBody(); | 302 | RecBodyP body = new RecBody(); |
301 | //memset(&fields, 0, sizeof(struct mailmime_single_fields)); | 303 | //memset(&fields, 0, sizeof(struct mailmime_single_fields)); |
302 | err = mailmessage_get_bodystructure(msg,&mime); | 304 | err = mailmessage_get_bodystructure(msg,&mime); |
303 | QValueList<int>recList; | 305 | QValueList<int>recList; |
304 | traverseBody(body,msg,mime,recList); | 306 | traverseBody(body,msg,mime,recList); |
305 | return body; | 307 | return body; |
306 | } | 308 | } |
307 | 309 | ||
308 | 310 | ||
309 | QString Genericwrapper::parseAddressList( mailimf_address_list *list ) | 311 | QString Genericwrapper::parseAddressList( mailimf_address_list *list ) |
310 | { | 312 | { |
311 | QString result( "" ); | 313 | QString result( "" ); |
312 | 314 | ||
313 | bool first = true; | 315 | bool first = true; |
314 | if (list == 0) return result; | 316 | if (list == 0) return result; |
315 | for ( clistiter *current = clist_begin( list->ad_list ); current != NULL; current = current->next ) { | 317 | for ( clistiter *current = clist_begin( list->ad_list ); current != NULL; current = current->next ) { |
316 | mailimf_address *addr = (mailimf_address *) current->data; | 318 | mailimf_address *addr = (mailimf_address *) current->data; |
317 | 319 | ||
318 | if ( !first ) { | 320 | if ( !first ) { |
319 | result.append( "," ); | 321 | result.append( "," ); |
320 | } else { | 322 | } else { |
321 | first = false; | 323 | first = false; |
322 | } | 324 | } |
323 | 325 | ||
324 | switch ( addr->ad_type ) { | 326 | switch ( addr->ad_type ) { |
325 | case MAILIMF_ADDRESS_MAILBOX: | 327 | case MAILIMF_ADDRESS_MAILBOX: |
326 | result.append( parseMailbox( addr->ad_data.ad_mailbox ) ); | 328 | result.append( parseMailbox( addr->ad_data.ad_mailbox ) ); |
327 | break; | 329 | break; |
328 | case MAILIMF_ADDRESS_GROUP: | 330 | case MAILIMF_ADDRESS_GROUP: |
329 | result.append( parseGroup( addr->ad_data.ad_group ) ); | 331 | result.append( parseGroup( addr->ad_data.ad_group ) ); |
330 | break; | 332 | break; |
331 | default: | 333 | default: |
332 | ; // odebug << "Generic: unkown mailimf address type" << oendl; | 334 | ; // odebug << "Generic: unkown mailimf address type" << oendl; |
333 | break; | 335 | break; |
334 | } | 336 | } |
335 | } | 337 | } |
336 | 338 | ||
337 | return result; | 339 | return result; |
338 | } | 340 | } |
339 | 341 | ||
340 | QString Genericwrapper::parseGroup( mailimf_group *group ) | 342 | QString Genericwrapper::parseGroup( mailimf_group *group ) |
341 | { | 343 | { |
342 | QString result( "" ); | 344 | QString result( "" ); |
343 | 345 | ||
344 | result.append( group->grp_display_name ); | 346 | result.append( group->grp_display_name ); |
345 | result.append( ": " ); | 347 | result.append( ": " ); |
346 | 348 | ||
347 | if ( group->grp_mb_list != NULL ) { | 349 | if ( group->grp_mb_list != NULL ) { |
348 | result.append( parseMailboxList( group->grp_mb_list ) ); | 350 | result.append( parseMailboxList( group->grp_mb_list ) ); |
349 | } | 351 | } |
350 | 352 | ||
351 | result.append( ";" ); | 353 | result.append( ";" ); |
352 | 354 | ||
353 | return result; | 355 | return result; |
354 | } | 356 | } |
355 | 357 | ||
356 | QString Genericwrapper::parseMailbox( mailimf_mailbox *box ) | 358 | QString Genericwrapper::parseMailbox( mailimf_mailbox *box ) |
357 | { | 359 | { |
358 | QString result( "" ); | 360 | QString result( "" ); |
359 | 361 | ||
360 | if ( box->mb_display_name == NULL ) { | 362 | if ( box->mb_display_name == NULL ) { |
361 | result.append( box->mb_addr_spec ); | 363 | result.append( box->mb_addr_spec ); |
362 | } else { | 364 | } else { |
363 | result.append( convert_String(box->mb_display_name) ); | 365 | result.append( convert_String(box->mb_display_name) ); |
364 | result.append( " <" ); | 366 | result.append( " <" ); |
365 | result.append( box->mb_addr_spec ); | 367 | result.append( box->mb_addr_spec ); |
366 | result.append( ">" ); | 368 | result.append( ">" ); |
367 | } | 369 | } |
368 | 370 | ||
369 | return result; | 371 | return result; |
370 | } | 372 | } |
371 | 373 | ||
372 | QString Genericwrapper::parseMailboxList( mailimf_mailbox_list *list ) | 374 | QString Genericwrapper::parseMailboxList( mailimf_mailbox_list *list ) |
373 | { | 375 | { |
374 | QString result( "" ); | 376 | QString result( "" ); |
375 | 377 | ||
376 | bool first = true; | 378 | bool first = true; |
377 | for ( clistiter *current = clist_begin( list->mb_list ); current != NULL; current = current->next ) { | 379 | for ( clistiter *current = clist_begin( list->mb_list ); current != NULL; current = current->next ) { |
378 | mailimf_mailbox *box = (mailimf_mailbox *) current->data; | 380 | mailimf_mailbox *box = (mailimf_mailbox *) current->data; |
379 | 381 | ||
380 | if ( !first ) { | 382 | if ( !first ) { |
381 | result.append( "," ); | 383 | result.append( "," ); |
382 | } else { | 384 | } else { |
383 | first = false; | 385 | first = false; |
384 | } | 386 | } |
385 | 387 | ||
386 | result.append( parseMailbox( box ) ); | 388 | result.append( parseMailbox( box ) ); |
387 | } | 389 | } |
388 | 390 | ||
389 | return result; | 391 | return result; |
390 | } | 392 | } |
391 | 393 | ||
392 | encodedString* Genericwrapper::fetchDecodedPart(const RecMailP&,const RecPartP&part) | 394 | encodedString* Genericwrapper::fetchDecodedPart(const RecMailP&,const RecPartP&part) |
393 | { | 395 | { |
394 | QMap<QString,encodedString*>::ConstIterator it = bodyCache.find(part->Identifier()); | 396 | QMap<QString,encodedString*>::ConstIterator it = bodyCache.find(part->Identifier()); |
395 | if (it==bodyCache.end()) return new encodedString(); | 397 | if (it==bodyCache.end()) return new encodedString(); |
396 | encodedString*t = decode_String(it.data(),part->Encoding()); | 398 | encodedString*t = decode_String(it.data(),part->Encoding()); |
397 | return t; | 399 | return t; |
398 | } | 400 | } |
399 | 401 | ||
400 | encodedString* Genericwrapper::fetchRawPart(const RecMailP&,const RecPartP&part) | 402 | encodedString* Genericwrapper::fetchRawPart(const RecMailP&,const RecPartP&part) |
401 | { | 403 | { |
402 | QMap<QString,encodedString*>::ConstIterator it = bodyCache.find(part->Identifier()); | 404 | QMap<QString,encodedString*>::ConstIterator it = bodyCache.find(part->Identifier()); |
403 | if (it==bodyCache.end()) return new encodedString(); | 405 | if (it==bodyCache.end()) return new encodedString(); |
404 | encodedString*t = it.data(); | 406 | encodedString*t = it.data(); |
405 | return t; | 407 | return t; |
406 | } | 408 | } |
407 | 409 | ||
408 | QString Genericwrapper::fetchTextPart(const RecMailP&mail,const RecPartP&part) | 410 | QString Genericwrapper::fetchTextPart(const RecMailP&mail,const RecPartP&part) |
409 | { | 411 | { |
410 | encodedString*t = fetchDecodedPart(mail,part); | 412 | encodedString*t = fetchDecodedPart(mail,part); |
411 | QString text=t->Content(); | 413 | QString text=t->Content(); |
412 | delete t; | 414 | delete t; |
413 | return text; | 415 | return text; |
414 | } | 416 | } |
415 | 417 | ||
416 | void Genericwrapper::cleanMimeCache() | 418 | void Genericwrapper::cleanMimeCache() |
417 | { | 419 | { |
418 | QMap<QString,encodedString*>::Iterator it = bodyCache.begin(); | 420 | QMap<QString,encodedString*>::Iterator it = bodyCache.begin(); |
419 | for (;it!=bodyCache.end();++it) { | 421 | for (;it!=bodyCache.end();++it) { |
420 | encodedString*t = it.data(); | 422 | encodedString*t = it.data(); |
421 | //it.setValue(0); | 423 | //it.setValue(0); |
422 | if (t) delete t; | 424 | if (t) delete t; |
423 | } | 425 | } |
424 | bodyCache.clear(); | 426 | bodyCache.clear(); |
425 | ; // odebug << "Genericwrapper: cache cleaned" << oendl; | 427 | ; // odebug << "Genericwrapper: cache cleaned" << oendl; |
426 | } | 428 | } |
427 | 429 | ||
428 | QStringList Genericwrapper::parseInreplies(mailimf_in_reply_to * in_replies) | 430 | QStringList Genericwrapper::parseInreplies(mailimf_in_reply_to * in_replies) |
429 | { | 431 | { |
430 | QStringList res; | 432 | QStringList res; |
431 | if (!in_replies || !in_replies->mid_list) return res; | 433 | if (!in_replies || !in_replies->mid_list) return res; |
432 | clistiter * current = 0; | 434 | clistiter * current = 0; |
433 | for ( current = clist_begin( in_replies->mid_list ); current != NULL; current = current->next ) { | 435 | for ( current = clist_begin( in_replies->mid_list ); current != NULL; current = current->next ) { |
434 | QString h((char*)current->data); | 436 | QString h((char*)current->data); |
435 | while (h.length()>0 && h[0]=='<') { | 437 | while (h.length()>0 && h[0]=='<') { |
436 | h.remove(0,1); | 438 | h.remove(0,1); |
437 | } | 439 | } |
438 | while (h.length()>0 && h[h.length()-1]=='>') { | 440 | while (h.length()>0 && h[h.length()-1]=='>') { |
439 | h.remove(h.length()-1,1); | 441 | h.remove(h.length()-1,1); |
440 | } | 442 | } |
441 | if (h.length()>0) { | 443 | if (h.length()>0) { |
442 | res.append(h); | 444 | res.append(h); |
443 | } | 445 | } |
444 | } | 446 | } |
445 | return res; | 447 | return res; |
446 | } | 448 | } |
447 | 449 | ||
448 | void Genericwrapper::parseList(QValueList<Opie::Core::OSmartPointer<RecMail> > &target,mailsession*session,const QString&mailbox,bool mbox_as_to, int maxSizeInKb) | 450 | void Genericwrapper::parseList(QValueList<Opie::Core::OSmartPointer<RecMail> > &target,mailsession*session,const QString&mailbox,bool mbox_as_to, int maxSizeInKb) |
449 | { | 451 | { |
450 | int r; | 452 | int r; |
451 | mailmessage_list * env_list = 0; | 453 | mailmessage_list * env_list = 0; |
452 | r = mailsession_get_messages_list(session,&env_list); | 454 | r = mailsession_get_messages_list(session,&env_list); |
453 | if (r != MAIL_NO_ERROR) { | 455 | if (r != MAIL_NO_ERROR) { |
454 | ; // odebug << "Error message list" << oendl; | 456 | ; // odebug << "Error message list" << oendl; |
455 | return; | 457 | return; |
456 | } | 458 | } |
457 | r = mailsession_get_envelopes_list(session, env_list); | 459 | r = mailsession_get_envelopes_list(session, env_list); |
458 | if (r != MAIL_NO_ERROR) { | 460 | if (r != MAIL_NO_ERROR) { |
459 | ; // odebug << "Error filling message list" << oendl; | 461 | ; // odebug << "Error filling message list" << oendl; |
460 | if (env_list) { | 462 | if (env_list) { |
461 | mailmessage_list_free(env_list); | 463 | mailmessage_list_free(env_list); |
462 | } | 464 | } |
463 | return; | 465 | return; |
464 | } | 466 | } |
465 | mailimf_references * refs = 0; | 467 | mailimf_references * refs = 0; |
466 | mailimf_in_reply_to * in_replies = 0; | 468 | mailimf_in_reply_to * in_replies = 0; |
467 | uint32_t i = 0; | 469 | uint32_t i = 0; |
468 | for(; i < carray_count(env_list->msg_tab) ; ++i) { | 470 | for(; i < carray_count(env_list->msg_tab) ; ++i) { |
469 | mailmessage * msg; | 471 | mailmessage * msg; |
470 | QBitArray mFlags(7); | 472 | QBitArray mFlags(7); |
471 | msg = (mailmessage*)carray_get(env_list->msg_tab, i); | 473 | msg = (mailmessage*)carray_get(env_list->msg_tab, i); |
472 | if (msg->msg_fields == NULL) { | 474 | if (msg->msg_fields == NULL) { |
473 | //; // odebug << "could not fetch envelope of message " << i << "" << oendl; | 475 | //; // odebug << "could not fetch envelope of message " << i << "" << oendl; |
474 | continue; | 476 | continue; |
475 | } | 477 | } |
476 | RecMailP mail = new RecMail(); | 478 | RecMailP mail = new RecMail(); |
477 | mail->setWrapper(this); | 479 | mail->setWrapper(this); |
478 | mail_flags * flag_result = 0; | 480 | mail_flags * flag_result = 0; |
479 | r = mailmessage_get_flags(msg,&flag_result); | 481 | r = mailmessage_get_flags(msg,&flag_result); |
480 | if (r == MAIL_ERROR_NOT_IMPLEMENTED) { | 482 | if (r == MAIL_ERROR_NOT_IMPLEMENTED) { |
481 | mFlags.setBit(FLAG_SEEN); | 483 | mFlags.setBit(FLAG_SEEN); |
482 | } | 484 | } |
483 | mailimf_single_fields single_fields; | 485 | mailimf_single_fields single_fields; |
484 | mailimf_single_fields_init(&single_fields, msg->msg_fields); | 486 | mailimf_single_fields_init(&single_fields, msg->msg_fields); |
485 | mail->setMsgsize(msg->msg_size); | 487 | mail->setMsgsize(msg->msg_size); |
486 | mail->setFlags(mFlags); | 488 | mail->setFlags(mFlags); |
487 | mail->setMbox(mailbox); | 489 | mail->setMbox(mailbox); |
488 | mail->setNumber(msg->msg_index); | 490 | mail->setNumber(msg->msg_index); |
489 | if (single_fields.fld_subject) | 491 | if (single_fields.fld_subject) |
490 | mail->setSubject( convert_String(single_fields.fld_subject->sbj_value)); | 492 | mail->setSubject( convert_String(single_fields.fld_subject->sbj_value)); |
491 | if (single_fields.fld_from) | 493 | if (single_fields.fld_from) |
492 | mail->setFrom(parseMailboxList(single_fields.fld_from->frm_mb_list)); | 494 | mail->setFrom(parseMailboxList(single_fields.fld_from->frm_mb_list)); |
493 | if (!mbox_as_to) { | 495 | if (!mbox_as_to) { |
494 | if (single_fields.fld_to) | 496 | if (single_fields.fld_to) |
495 | mail->setTo( parseAddressList( single_fields.fld_to->to_addr_list ) ); | 497 | mail->setTo( parseAddressList( single_fields.fld_to->to_addr_list ) ); |
496 | } else { | 498 | } else { |
497 | mail->setTo(mailbox); | 499 | mail->setTo(mailbox); |
498 | } | 500 | } |
499 | if (single_fields.fld_cc) | 501 | if (single_fields.fld_cc) |
500 | mail->setCC( parseAddressList( single_fields.fld_cc->cc_addr_list ) ); | 502 | mail->setCC( parseAddressList( single_fields.fld_cc->cc_addr_list ) ); |
501 | if (single_fields.fld_bcc) | 503 | if (single_fields.fld_bcc) |
502 | mail->setBcc( parseAddressList( single_fields.fld_bcc->bcc_addr_list ) ); | 504 | mail->setBcc( parseAddressList( single_fields.fld_bcc->bcc_addr_list ) ); |
503 | if (single_fields.fld_orig_date) { | 505 | if (single_fields.fld_orig_date) { |
504 | QDateTime dt = Genericwrapper::parseDateTime( single_fields.fld_orig_date->dt_date_time ); | 506 | QDateTime dt = Genericwrapper::parseDateTime( single_fields.fld_orig_date->dt_date_time ); |
505 | QString ret; | 507 | QString ret; |
506 | if ( dt.date() == QDate::currentDate () ) | 508 | if ( dt.date() == QDate::currentDate () ) |
507 | ret = KGlobal::locale()->formatTime( dt.time(),true); | 509 | ret = KGlobal::locale()->formatTime( dt.time(),true); |
508 | else { | 510 | else { |
509 | ret = KGlobal::locale()->formatDateTime( dt,true,true); | 511 | ret = KGlobal::locale()->formatDateTime( dt,true,true); |
510 | } | 512 | } |
511 | mail->setDate( ret ); | 513 | mail->setDate( ret ); |
512 | char tmp[20]; | 514 | char tmp[20]; |
513 | snprintf( tmp, 20, "%04i-%02i-%02i %02i:%02i:%02i", | 515 | snprintf( tmp, 20, "%04i-%02i-%02i %02i:%02i:%02i", |
514 | dt.date().year(),dt.date().month(), dt.date().day(), dt.time().hour(), dt.time().minute(), dt.time().second() ); | 516 | dt.date().year(),dt.date().month(), dt.date().day(), dt.time().hour(), dt.time().minute(), dt.time().second() ); |
515 | //qDebug(" iso %s ", tmp); | 517 | //qDebug(" iso %s ", tmp); |
516 | mail->setIsoDate( QString( tmp ) ); | 518 | mail->setIsoDate( QString( tmp ) ); |
517 | } | 519 | } |
518 | // crashes when accessing pop3 account? | 520 | // crashes when accessing pop3 account? |
519 | if (single_fields.fld_message_id) { | 521 | if (single_fields.fld_message_id) { |
520 | mail->setMsgid(QString(single_fields.fld_message_id->mid_value)); | 522 | mail->setMsgid(QString(single_fields.fld_message_id->mid_value)); |
521 | ; // odebug << "Msgid == " << mail->Msgid().latin1() << "" << oendl; | 523 | ; // odebug << "Msgid == " << mail->Msgid().latin1() << "" << oendl; |
522 | } | 524 | } |
523 | if (single_fields.fld_reply_to) { | 525 | if (single_fields.fld_reply_to) { |
524 | QStringList t = parseAddressList(single_fields.fld_reply_to->rt_addr_list); | 526 | QStringList t = parseAddressList(single_fields.fld_reply_to->rt_addr_list); |
525 | if (t.count()>0) { | 527 | if (t.count()>0) { |
526 | mail->setReplyto(t[0]); | 528 | mail->setReplyto(t[0]); |
527 | } | 529 | } |
528 | } | 530 | } |
529 | #if 0 | 531 | #if 0 |
530 | refs = single_fields.fld_references; | 532 | refs = single_fields.fld_references; |
531 | if (refs && refs->mid_list && clist_count(refs->mid_list)) { | 533 | if (refs && refs->mid_list && clist_count(refs->mid_list)) { |
532 | char * text = (char*)refs->mid_list->first->data; | 534 | char * text = (char*)refs->mid_list->first->data; |
533 | mail->setReplyto(QString(text)); | 535 | mail->setReplyto(QString(text)); |
534 | } | 536 | } |
535 | #endif | 537 | #endif |
536 | if (single_fields.fld_in_reply_to && single_fields.fld_in_reply_to->mid_list && | 538 | if (single_fields.fld_in_reply_to && single_fields.fld_in_reply_to->mid_list && |
537 | clist_count(single_fields.fld_in_reply_to->mid_list)) { | 539 | clist_count(single_fields.fld_in_reply_to->mid_list)) { |
538 | mail->setInreply(parseInreplies(single_fields.fld_in_reply_to)); | 540 | mail->setInreply(parseInreplies(single_fields.fld_in_reply_to)); |
539 | } | 541 | } |
540 | if ( maxSizeInKb == 0 || mail->Msgsize()<=maxSizeInKb*1024 ) | 542 | if ( maxSizeInKb == 0 || mail->Msgsize()<=maxSizeInKb*1024 ) |
541 | target.append(mail); | 543 | target.append(mail); |
542 | } | 544 | } |
543 | if (env_list) { | 545 | if (env_list) { |
544 | mailmessage_list_free(env_list); | 546 | mailmessage_list_free(env_list); |
545 | } | 547 | } |
546 | } | 548 | } |
diff --git a/kmicromail/mainwindow.cpp b/kmicromail/mainwindow.cpp index 8c0a4cb..0e4a64f 100644 --- a/kmicromail/mainwindow.cpp +++ b/kmicromail/mainwindow.cpp | |||
@@ -1,354 +1,355 @@ | |||
1 | 1 | ||
2 | // CHANGED 2004-08-06 Lutz Rogowski | 2 | // CHANGED 2004-08-06 Lutz Rogowski |
3 | #include <qlabel.h> | 3 | #include <qlabel.h> |
4 | #include <qvbox.h> | 4 | #include <qvbox.h> |
5 | #include <qheader.h> | 5 | #include <qheader.h> |
6 | #include <qtimer.h> | 6 | #include <qtimer.h> |
7 | #include <qlayout.h> | 7 | #include <qlayout.h> |
8 | //#include <kdialog.h> | 8 | //#include <kdialog.h> |
9 | #include <kiconloader.h> | 9 | #include <kiconloader.h> |
10 | #include <kapplication.h> | 10 | #include <kapplication.h> |
11 | 11 | ||
12 | #ifdef DESKTOP_VERSION | 12 | #ifdef DESKTOP_VERSION |
13 | #include <qapplication.h> | 13 | #include <qapplication.h> |
14 | #include <qstatusbar.h> | 14 | #include <qstatusbar.h> |
15 | #include <kabc/stdaddressbook.h> | 15 | #include <kabc/stdaddressbook.h> |
16 | extern QStatusBar* globalSstatusBarMainWindow; | 16 | extern QStatusBar* globalSstatusBarMainWindow; |
17 | #else | 17 | #else |
18 | #include <qpe/qpeapplication.h> | 18 | #include <qpe/qpeapplication.h> |
19 | #include <klocale.h> | ||
19 | #endif | 20 | #endif |
20 | #include "defines.h" | 21 | #include "defines.h" |
21 | #include "mainwindow.h" | 22 | #include "mainwindow.h" |
22 | #include <KDGanttMinimizeSplitter.h> | 23 | #include <KDGanttMinimizeSplitter.h> |
23 | 24 | ||
24 | #include "koprefs.h" | 25 | #include "koprefs.h" |
25 | 26 | ||
26 | MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) | 27 | MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) |
27 | : QMainWindow( parent, name ) //, flags ) | 28 | : QMainWindow( parent, name ) //, flags ) |
28 | { | 29 | { |
29 | #ifdef DESKTOP_VERSION | 30 | #ifdef DESKTOP_VERSION |
30 | globalSstatusBarMainWindow = statusBar(); | 31 | globalSstatusBarMainWindow = statusBar(); |
31 | #endif | 32 | #endif |
32 | setCaption( i18n( "KOpieMail/Pi" ) ); | 33 | setCaption( i18n( "KOpieMail/Pi" ) ); |
33 | setToolBarsMovable( false ); | 34 | setToolBarsMovable( false ); |
34 | //KABC::StdAddressBook::self(); | 35 | //KABC::StdAddressBook::self(); |
35 | toolBar = new QToolBar( this ); | 36 | toolBar = new QToolBar( this ); |
36 | menuBar = new QPEMenuBar( toolBar ); | 37 | menuBar = new QPEMenuBar( toolBar ); |
37 | mailMenu = new QPopupMenu( menuBar ); | 38 | mailMenu = new QPopupMenu( menuBar ); |
38 | menuBar->insertItem( i18n( "Mail" ), mailMenu ); | 39 | menuBar->insertItem( i18n( "Mail" ), mailMenu ); |
39 | settingsMenu = new QPopupMenu( menuBar ); | 40 | settingsMenu = new QPopupMenu( menuBar ); |
40 | menuBar->insertItem( i18n( "Settings" ), settingsMenu ); | 41 | menuBar->insertItem( i18n( "Settings" ), settingsMenu ); |
41 | 42 | ||
42 | addToolBar( toolBar ); | 43 | addToolBar( toolBar ); |
43 | toolBar->setHorizontalStretchable( true ); | 44 | toolBar->setHorizontalStretchable( true ); |
44 | QAction* getMail = new QAction( i18n( "Get all new mails" ), SmallIcon("enter"), | 45 | QAction* getMail = new QAction( i18n( "Get all new mails" ), SmallIcon("enter"), |
45 | 0, 0, this ); | 46 | 0, 0, this ); |
46 | connect(getMail, SIGNAL( activated() ), | 47 | connect(getMail, SIGNAL( activated() ), |
47 | SLOT( slotGetAllMail() ) ); | 48 | SLOT( slotGetAllMail() ) ); |
48 | getMail->addTo( mailMenu ); | 49 | getMail->addTo( mailMenu ); |
49 | 50 | ||
50 | getMail = new QAction( i18n( "Get new messages" ), SmallIcon("add"), | 51 | getMail = new QAction( i18n( "Get new messages" ), SmallIcon("add"), |
51 | 0, 0, this ); | 52 | 0, 0, this ); |
52 | getMail->addTo( toolBar ); | 53 | getMail->addTo( toolBar ); |
53 | getMail->addTo( mailMenu ); | 54 | getMail->addTo( mailMenu ); |
54 | connect(getMail, SIGNAL( activated() ), | 55 | connect(getMail, SIGNAL( activated() ), |
55 | SLOT( slotGetMail() ) ); | 56 | SLOT( slotGetMail() ) ); |
56 | 57 | ||
57 | composeMail = new QAction( i18n( "Compose new mail" ), SmallIcon("composemail"), | 58 | composeMail = new QAction( i18n( "Compose new mail" ), SmallIcon("composemail"), |
58 | 0, 0, this ); | 59 | 0, 0, this ); |
59 | composeMail->addTo( toolBar ); | 60 | composeMail->addTo( toolBar ); |
60 | composeMail->addTo( mailMenu ); | 61 | composeMail->addTo( mailMenu ); |
61 | 62 | ||
62 | sendQueued = new QAction( i18n( "Send queued mails" ), SmallIcon("sendqueued") , | 63 | sendQueued = new QAction( i18n( "Send queued mails" ), SmallIcon("sendqueued") , |
63 | 0, 0, this ); | 64 | 0, 0, this ); |
64 | sendQueued->addTo( toolBar ); | 65 | sendQueued->addTo( toolBar ); |
65 | sendQueued->addTo( mailMenu ); | 66 | sendQueued->addTo( mailMenu ); |
66 | 67 | ||
67 | /* | 68 | /* |
68 | syncFolders = new QAction( i18n( "Sync mailfolders" ), ICON_SYNC, | 69 | syncFolders = new QAction( i18n( "Sync mailfolders" ), ICON_SYNC, |
69 | 0, 0, this ); | 70 | 0, 0, this ); |
70 | syncFolders->addTo( toolBar ); | 71 | syncFolders->addTo( toolBar ); |
71 | syncFolders->addTo( mailMenu ); | 72 | syncFolders->addTo( mailMenu ); |
72 | */ | 73 | */ |
73 | 74 | ||
74 | showFolders = new QAction( i18n( "Show/Hide folders" ), SmallIcon("showfolders") , | 75 | showFolders = new QAction( i18n( "Show/Hide folders" ), SmallIcon("showfolders") , |
75 | 0, 0, this, 0, true ); | 76 | 0, 0, this, 0, true ); |
76 | showFolders->addTo( toolBar ); | 77 | showFolders->addTo( toolBar ); |
77 | showFolders->addTo( mailMenu ); | 78 | showFolders->addTo( mailMenu ); |
78 | showFolders->setOn( true ); | 79 | showFolders->setOn( true ); |
79 | connect(showFolders, SIGNAL( toggled(bool) ), | 80 | connect(showFolders, SIGNAL( toggled(bool) ), |
80 | SLOT( slotShowFolders(bool) ) ); | 81 | SLOT( slotShowFolders(bool) ) ); |
81 | 82 | ||
82 | /* | 83 | /* |
83 | searchMails = new QAction( i18n( "Search mails" ), SmallIcon("find") ), | 84 | searchMails = new QAction( i18n( "Search mails" ), SmallIcon("find") ), |
84 | 0, 0, this ); | 85 | 0, 0, this ); |
85 | searchMails->addTo( toolBar ); | 86 | searchMails->addTo( toolBar ); |
86 | searchMails->addTo( mailMenu ); | 87 | searchMails->addTo( mailMenu ); |
87 | */ | 88 | */ |
88 | 89 | ||
89 | deleteMails = new QAction(i18n("Delete Mail"), SmallIcon("trash"), 0, 0, this); | 90 | deleteMails = new QAction(i18n("Delete Mail"), SmallIcon("trash"), 0, 0, this); |
90 | deleteMails->addTo( toolBar ); | 91 | deleteMails->addTo( toolBar ); |
91 | deleteMails->addTo( mailMenu ); | 92 | deleteMails->addTo( mailMenu ); |
92 | connect( deleteMails, SIGNAL( activated() ), | 93 | connect( deleteMails, SIGNAL( activated() ), |
93 | SLOT( slotDeleteMail() ) ); | 94 | SLOT( slotDeleteMail() ) ); |
94 | 95 | ||
95 | editSettings = new QAction( i18n( "Edit settings" ), SmallIcon("SettingsIcon") , | 96 | editSettings = new QAction( i18n( "Edit settings" ), SmallIcon("SettingsIcon") , |
96 | 0, 0, this ); | 97 | 0, 0, this ); |
97 | editSettings->addTo( settingsMenu ); | 98 | editSettings->addTo( settingsMenu ); |
98 | connect( editSettings, SIGNAL( activated() ), | 99 | connect( editSettings, SIGNAL( activated() ), |
99 | SLOT( slotEditSettings() ) ); | 100 | SLOT( slotEditSettings() ) ); |
100 | editAccounts = new QAction( i18n( "Configure accounts" ), SmallIcon("editaccounts") , | 101 | editAccounts = new QAction( i18n( "Configure accounts" ), SmallIcon("editaccounts") , |
101 | 0, 0, this ); | 102 | 0, 0, this ); |
102 | editAccounts->addTo( settingsMenu ); | 103 | editAccounts->addTo( settingsMenu ); |
103 | codecMenu = new QPopupMenu( menuBar ); | 104 | codecMenu = new QPopupMenu( menuBar ); |
104 | codecMenu->insertItem( "Western (iso-8859-1)",0,0); | 105 | codecMenu->insertItem( "Western (iso-8859-1)",0,0); |
105 | codecMenu->insertItem( "Cyrillic (iso-8859-5)",1,1); | 106 | codecMenu->insertItem( "Cyrillic (iso-8859-5)",1,1); |
106 | codecMenu->insertItem( "Western (iso-8859-15)",2,2); | 107 | codecMenu->insertItem( "Western (iso-8859-15)",2,2); |
107 | codecMenu->insertItem( "Chinese (big-5)",3,3); | 108 | codecMenu->insertItem( "Chinese (big-5)",3,3); |
108 | codecMenu->insertItem( "Unicode (utf-8)",4,4); | 109 | codecMenu->insertItem( "Unicode (utf-8)",4,4); |
109 | codecMenu->insertItem( "Userdefined ("+KOPrefs::instance()->mSendCodec+")",5,5); | 110 | codecMenu->insertItem( "Userdefined ("+KOPrefs::instance()->mSendCodec+")",5,5); |
110 | //disabled | 111 | //disabled |
111 | //settingsMenu->insertItem( i18n("Codec for new mails"), codecMenu); | 112 | //settingsMenu->insertItem( i18n("Codec for new mails"), codecMenu); |
112 | //setCentralWidget( view ); | 113 | //setCentralWidget( view ); |
113 | 114 | ||
114 | QVBox* wrapperBox = new QVBox( this ); | 115 | QVBox* wrapperBox = new QVBox( this ); |
115 | setCentralWidget( wrapperBox ); | 116 | setCentralWidget( wrapperBox ); |
116 | 117 | ||
117 | // QWidget *view = new QWidget( wrapperBox ); | 118 | // QWidget *view = new QWidget( wrapperBox ); |
118 | KDGanttMinimizeSplitter* split = new KDGanttMinimizeSplitter( Qt::Horizontal, wrapperBox); | 119 | KDGanttMinimizeSplitter* split = new KDGanttMinimizeSplitter( Qt::Horizontal, wrapperBox); |
119 | split->setMinimizeDirection( KDGanttMinimizeSplitter::Left); | 120 | split->setMinimizeDirection( KDGanttMinimizeSplitter::Left); |
120 | //layout = new QBoxLayout ( split, QBoxLayout::LeftToRight ); | 121 | //layout = new QBoxLayout ( split, QBoxLayout::LeftToRight ); |
121 | 122 | ||
122 | folderView = new AccountView( split ); | 123 | folderView = new AccountView( split ); |
123 | folderView->header()->hide(); | 124 | folderView->header()->hide(); |
124 | folderView->setRootIsDecorated( false ); | 125 | folderView->setRootIsDecorated( false ); |
125 | folderView->addColumn( i18n( "Mailbox" ) ); | 126 | folderView->addColumn( i18n( "Mailbox" ) ); |
126 | 127 | ||
127 | //layout->addWidget( folderView ); | 128 | //layout->addWidget( folderView ); |
128 | 129 | ||
129 | mailView = new QListView( split ); | 130 | mailView = new QListView( split ); |
130 | mailView->addColumn( i18n( " " ) ); | 131 | mailView->addColumn( i18n( " " ) ); |
131 | mailView->addColumn( i18n( "Subject" ),QListView::Manual ); | 132 | mailView->addColumn( i18n( "Subject" ),QListView::Manual ); |
132 | mailView->addColumn( i18n( "Sender" ),QListView::Manual ); | 133 | mailView->addColumn( i18n( "Sender" ),QListView::Manual ); |
133 | mailView->addColumn( i18n( "Size" ),QListView::Manual); | 134 | mailView->addColumn( i18n( "Size" ),QListView::Manual); |
134 | mailView->addColumn( i18n( "Date" ),QListView::Manual); | 135 | mailView->addColumn( i18n( "Date" ),QListView::Manual); |
135 | mailView->setAllColumnsShowFocus(true); | 136 | mailView->setAllColumnsShowFocus(true); |
136 | //mailView->setSorting(-1); | 137 | //mailView->setSorting(-1); |
137 | mailView->setRootIsDecorated( false ); | 138 | mailView->setRootIsDecorated( false ); |
138 | statusWidget = new StatusWidget( wrapperBox ); | 139 | statusWidget = new StatusWidget( wrapperBox ); |
139 | statusWidget->hide(); | 140 | statusWidget->hide(); |
140 | 141 | ||
141 | //layout->addWidget( mailView ); | 142 | //layout->addWidget( mailView ); |
142 | //layout->setStretchFactor( folderView, 1 ); | 143 | //layout->setStretchFactor( folderView, 1 ); |
143 | //layout->setStretchFactor( mailView, 2 ); | 144 | //layout->setStretchFactor( mailView, 2 ); |
144 | 145 | ||
145 | slotAdjustLayout(); | 146 | slotAdjustLayout(); |
146 | #ifndef DESKTOP_VERSION | 147 | #ifndef DESKTOP_VERSION |
147 | QPEApplication::setStylusOperation( mailView->viewport(),QPEApplication::RightOnHold); | 148 | QPEApplication::setStylusOperation( mailView->viewport(),QPEApplication::RightOnHold); |
148 | QPEApplication::setStylusOperation( folderView->viewport(),QPEApplication::RightOnHold); | 149 | QPEApplication::setStylusOperation( folderView->viewport(),QPEApplication::RightOnHold); |
149 | #endif | 150 | #endif |
150 | connect( mailView, SIGNAL( doubleClicked (QListViewItem* )),this, | 151 | connect( mailView, SIGNAL( doubleClicked (QListViewItem* )),this, |
151 | SLOT( mailLeftClicked(QListViewItem*) ) ); | 152 | SLOT( mailLeftClicked(QListViewItem*) ) ); |
152 | connect( mailView, SIGNAL( returnPressed (QListViewItem* )),this, | 153 | connect( mailView, SIGNAL( returnPressed (QListViewItem* )),this, |
153 | SLOT( mailLeftClicked(QListViewItem*) ) ); | 154 | SLOT( mailLeftClicked(QListViewItem*) ) ); |
154 | connect( mailView, SIGNAL( mouseButtonPressed(int,QListViewItem*,const QPoint&,int) ),this, | 155 | connect( mailView, SIGNAL( mouseButtonPressed(int,QListViewItem*,const QPoint&,int) ),this, |
155 | SLOT( mailHold(int,QListViewItem*,const QPoint&,int) ) ); | 156 | SLOT( mailHold(int,QListViewItem*,const QPoint&,int) ) ); |
156 | connect(folderView, SIGNAL(refreshMailview(const QValueList<RecMailP>&)), | 157 | connect(folderView, SIGNAL(refreshMailview(const QValueList<RecMailP>&)), |
157 | this,SLOT(refreshMailView(const QValueList<RecMailP>&))); | 158 | this,SLOT(refreshMailView(const QValueList<RecMailP>&))); |
158 | connect( composeMail, SIGNAL( activated() ), SLOT( slotComposeMail() ) ); | 159 | connect( composeMail, SIGNAL( activated() ), SLOT( slotComposeMail() ) ); |
159 | connect( sendQueued, SIGNAL( activated() ), SLOT( slotSendQueued() ) ); | 160 | connect( sendQueued, SIGNAL( activated() ), SLOT( slotSendQueued() ) ); |
160 | // connect( searchMails, SIGNAL( activated() ), SLOT( slotSearchMails() ) ); | 161 | // connect( searchMails, SIGNAL( activated() ), SLOT( slotSearchMails() ) ); |
161 | connect( editAccounts, SIGNAL( activated() ), SLOT( slotEditAccounts() ) ); | 162 | connect( editAccounts, SIGNAL( activated() ), SLOT( slotEditAccounts() ) ); |
162 | //mailView->setMultiSelection ( true ); | 163 | //mailView->setMultiSelection ( true ); |
163 | mailView->setSelectionMode( QListView::Extended ); | 164 | mailView->setSelectionMode( QListView::Extended ); |
164 | QValueList<int> list; | 165 | QValueList<int> list; |
165 | int fw = 100; | 166 | int fw = 100; |
166 | if ( QApplication::desktop()->width() > 320 ) | 167 | if ( QApplication::desktop()->width() > 320 ) |
167 | fw = 50; | 168 | fw = 50; |
168 | list.append( fw ); | 169 | list.append( fw ); |
169 | list.append( 100 ); | 170 | list.append( 100 ); |
170 | split->setSizes( list ); | 171 | split->setSizes( list ); |
171 | QTimer::singleShot( 1000, this, SLOT( slotAdjustColumns() ) ); | 172 | QTimer::singleShot( 1000, this, SLOT( slotAdjustColumns() ) ); |
172 | mailView->setShowSortIndicator ( true ); | 173 | mailView->setShowSortIndicator ( true ); |
173 | QLabel *spacer = new QLabel( toolBar ); | 174 | QLabel *spacer = new QLabel( toolBar ); |
174 | spacer->setBackgroundMode( QWidget::PaletteButton ); | 175 | spacer->setBackgroundMode( QWidget::PaletteButton ); |
175 | toolBar->setStretchableWidget( spacer ); | 176 | toolBar->setStretchableWidget( spacer ); |
176 | 177 | ||
177 | QAction* closeMail = new QAction(i18n("Close"),SmallIcon("exit"), 0, 0, this); | 178 | QAction* closeMail = new QAction(i18n("Close"),SmallIcon("exit"), 0, 0, this); |
178 | connect( closeMail, SIGNAL( activated() ), SLOT( close() ) ); | 179 | connect( closeMail, SIGNAL( activated() ), SLOT( close() ) ); |
179 | if ( QApplication::desktop()->width() > 320 ) | 180 | if ( QApplication::desktop()->width() > 320 ) |
180 | closeMail->addTo(toolBar); | 181 | closeMail->addTo(toolBar); |
181 | closeMail->addTo(mailMenu); | 182 | closeMail->addTo(mailMenu); |
182 | 183 | ||
183 | 184 | ||
184 | QPopupMenu* helpMenu = new QPopupMenu( menuBar ); | 185 | QPopupMenu* helpMenu = new QPopupMenu( menuBar ); |
185 | menuBar->insertItem( i18n( "Help" ), helpMenu ); | 186 | menuBar->insertItem( i18n( "Help" ), helpMenu ); |
186 | QAction* li = new QAction(i18n("About"), QPixmap(), 0, 0, this); | 187 | QAction* li = new QAction(i18n("About"), QPixmap(), 0, 0, this); |
187 | connect( li, SIGNAL( activated() ), SLOT( showAbout()) ); | 188 | connect( li, SIGNAL( activated() ), SLOT( showAbout()) ); |
188 | li->addTo(helpMenu); | 189 | li->addTo(helpMenu); |
189 | li = new QAction(i18n("Licence"),QPixmap(), 0, 0, this); | 190 | li = new QAction(i18n("Licence"),QPixmap(), 0, 0, this); |
190 | connect( li, SIGNAL( activated() ), SLOT( showLicence()) ); | 191 | connect( li, SIGNAL( activated() ), SLOT( showLicence()) ); |
191 | li->addTo(helpMenu); | 192 | li->addTo(helpMenu); |
192 | li = new QAction(i18n("LibEtPan Licence"), QPixmap(), 0, 0, this); | 193 | li = new QAction(i18n("LibEtPan Licence"), QPixmap(), 0, 0, this); |
193 | connect( li, SIGNAL( activated() ), SLOT( showEtpanLicence()) ); | 194 | connect( li, SIGNAL( activated() ), SLOT( showEtpanLicence()) ); |
194 | li->addTo(helpMenu); | 195 | li->addTo(helpMenu); |
195 | connect( codecMenu, SIGNAL( activated(int) ), this, SLOT( slotSetCodec( int )) ); | 196 | connect( codecMenu, SIGNAL( activated(int) ), this, SLOT( slotSetCodec( int )) ); |
196 | slotSetCodec( KOPrefs::instance()->mCurrentCodec ); | 197 | slotSetCodec( KOPrefs::instance()->mCurrentCodec ); |
197 | #ifdef DESKTOP_VERSION | 198 | #ifdef DESKTOP_VERSION |
198 | resize ( 640, 480 ); | 199 | resize ( 640, 480 ); |
199 | #endif | 200 | #endif |
200 | } | 201 | } |
201 | 202 | ||
202 | MainWindow::~MainWindow() | 203 | MainWindow::~MainWindow() |
203 | { | 204 | { |
204 | } | 205 | } |
205 | 206 | ||
206 | void MainWindow::slotSetCodec( int codec ) | 207 | void MainWindow::slotSetCodec( int codec ) |
207 | { | 208 | { |
208 | codecMenu->setItemChecked(KOPrefs::instance()->mCurrentCodec, false ); | 209 | codecMenu->setItemChecked(KOPrefs::instance()->mCurrentCodec, false ); |
209 | //qDebug("codec %d ", codec); | 210 | //qDebug("codec %d ", codec); |
210 | KOPrefs::instance()->mCurrentCodec = codec; | 211 | KOPrefs::instance()->mCurrentCodec = codec; |
211 | KOPrefs::instance()->isDirty = true; | 212 | KOPrefs::instance()->isDirty = true; |
212 | QString name; | 213 | QString name; |
213 | switch ( codec ) { | 214 | switch ( codec ) { |
214 | case 0: | 215 | case 0: |
215 | name = "iso-8859-1"; | 216 | name = "iso-8859-1"; |
216 | break; | 217 | break; |
217 | case 1: | 218 | case 1: |
218 | name = "iso-8859-5"; | 219 | name = "iso-8859-5"; |
219 | break; | 220 | break; |
220 | case 2: | 221 | case 2: |
221 | name = "iso-8859-15"; | 222 | name = "iso-8859-15"; |
222 | break; | 223 | break; |
223 | case 3: | 224 | case 3: |
224 | name = "big-5"; | 225 | name = "big-5"; |
225 | break; | 226 | break; |
226 | case 4: | 227 | case 4: |
227 | name = "utf-8"; | 228 | name = "utf-8"; |
228 | break; | 229 | break; |
229 | case 5: | 230 | case 5: |
230 | name = KOPrefs::instance()->mSendCodec.lower(); | 231 | name = KOPrefs::instance()->mSendCodec.lower(); |
231 | break; | 232 | break; |
232 | } | 233 | } |
233 | KOPrefs::instance()->mCurrentCodeName = name ; | 234 | KOPrefs::instance()->mCurrentCodeName = name ; |
234 | codecMenu->changeItem ( 5, "Userdefined ("+KOPrefs::instance()->mSendCodec+")"); | 235 | codecMenu->changeItem ( 5, "Userdefined ("+KOPrefs::instance()->mSendCodec+")"); |
235 | codecMenu->setItemChecked(KOPrefs::instance()->mCurrentCodec, true ); | 236 | codecMenu->setItemChecked(KOPrefs::instance()->mCurrentCodec, true ); |
236 | } | 237 | } |
237 | void MainWindow::showLicence() | 238 | void MainWindow::showLicence() |
238 | { | 239 | { |
239 | KApplication::showLicence(); | 240 | KApplication::showLicence(); |
240 | } | 241 | } |
241 | void MainWindow::showAbout() | 242 | void MainWindow::showAbout() |
242 | { | 243 | { |
243 | QString version; | 244 | QString version; |
244 | #include <../version> | 245 | #include <../version> |
245 | 246 | ||
246 | QString cap = "About KOpieMail/Pi"; | 247 | QString cap = "About KOpieMail/Pi"; |
247 | QString text =i18n("KOpieMail/Platform-independent\n") + | 248 | QString text =i18n("KOpieMail/Platform-independent\n") + |
248 | "(OM/Pi) " + version + " - " | 249 | "(OM/Pi) " + version + " - " |
249 | 250 | ||
250 | #ifdef DESKTOP_VERSION | 251 | #ifdef DESKTOP_VERSION |
251 | "Desktop Edition\n" | 252 | "Desktop Edition\n" |
252 | #else | 253 | #else |
253 | "PDA-Edition\nfor: Zaurus 5x00 / 7x0 / 8x0\n" | 254 | "PDA-Edition\nfor: Zaurus 5x00 / 7x0 / 8x0\n" |
254 | #endif | 255 | #endif |
255 | "www.pi-sync.net\n\n" | 256 | "www.pi-sync.net\n\n" |
256 | 257 | ||
257 | 258 | ||
258 | 259 | ||
259 | "Copyright (c) 2004 Lutz Rogowski <lutz@pi-sync.net>\n" | 260 | "Copyright (c) 2004 Lutz Rogowski <lutz@pi-sync.net>\n" |
260 | "KOpieMail/Pi is based on Opie Mail\n" | 261 | "KOpieMail/Pi is based on Opie Mail\n" |
261 | "Copyright (c) Rajko Albrecht and the Opie team\n" | 262 | "Copyright (c) Rajko Albrecht and the Opie team\n" |
262 | "KOpieMail/Pi is licensed under the GPL\n" | 263 | "KOpieMail/Pi is licensed under the GPL\n" |
263 | "\n" | 264 | "\n" |
264 | "KOpieMail/Pi uses LibEtPan - a mail stuff library\n" | 265 | "KOpieMail/Pi uses LibEtPan - a mail stuff library\n" |
265 | "Copyright (C) 2001, 2002 - DINH Viet Hoa\n" | 266 | "Copyright (C) 2001, 2002 - DINH Viet Hoa\n" |
266 | "libEtPan has its own licence - see LibEtPan licence\n"; | 267 | "libEtPan has its own licence - see LibEtPan licence\n"; |
267 | 268 | ||
268 | KApplication::showText( cap, text ); | 269 | KApplication::showText( cap, text ); |
269 | } | 270 | } |
270 | void MainWindow::showEtpanLicence() | 271 | void MainWindow::showEtpanLicence() |
271 | { | 272 | { |
272 | KApplication::showFile( "LibEtPan licence", "kdepim/kopiemail/COPYRIGHTlibetpan" ); | 273 | KApplication::showFile( "LibEtPan licence", "kdepim/kopiemail/COPYRIGHTlibetpan" ); |
273 | 274 | ||
274 | } | 275 | } |
275 | void MainWindow::appMessage(const QCString &, const QByteArray &) | 276 | void MainWindow::appMessage(const QCString &, const QByteArray &) |
276 | { | 277 | { |
277 | qDebug("appMessage implemented by subclass"); | 278 | qDebug("appMessage implemented by subclass"); |
278 | } | 279 | } |
279 | 280 | ||
280 | void MainWindow::slotAdjustLayout() { | 281 | void MainWindow::slotAdjustLayout() { |
281 | 282 | ||
282 | /* | 283 | /* |
283 | QWidget *d = QApplication::desktop(); | 284 | QWidget *d = QApplication::desktop(); |
284 | 285 | ||
285 | if ( d->width() < d->height() ) { | 286 | if ( d->width() < d->height() ) { |
286 | layout->setDirection( QBoxLayout::TopToBottom ); | 287 | layout->setDirection( QBoxLayout::TopToBottom ); |
287 | } else { | 288 | } else { |
288 | layout->setDirection( QBoxLayout::LeftToRight ); | 289 | layout->setDirection( QBoxLayout::LeftToRight ); |
289 | } | 290 | } |
290 | */ | 291 | */ |
291 | } | 292 | } |
292 | 293 | ||
293 | void MainWindow::slotAdjustColumns() | 294 | void MainWindow::slotAdjustColumns() |
294 | { | 295 | { |
295 | bool hidden = folderView->isHidden(); | 296 | bool hidden = folderView->isHidden(); |
296 | if ( hidden ) folderView->show(); | 297 | if ( hidden ) folderView->show(); |
297 | folderView->setColumnWidth( 0, folderView->visibleWidth() ); | 298 | folderView->setColumnWidth( 0, folderView->visibleWidth() ); |
298 | if ( hidden ) folderView->hide(); | 299 | if ( hidden ) folderView->hide(); |
299 | 300 | ||
300 | mailView->setColumnWidth( 0, 10 ); | 301 | mailView->setColumnWidth( 0, 10 ); |
301 | mailView->setColumnWidth( 1, 100 ); | 302 | mailView->setColumnWidth( 1, 100 ); |
302 | mailView->setColumnWidth( 2, 100 ); | 303 | mailView->setColumnWidth( 2, 100 ); |
303 | mailView->setColumnWidth( 3, 50 ); | 304 | mailView->setColumnWidth( 3, 50 ); |
304 | mailView->setColumnWidth( 4, 120 ); | 305 | mailView->setColumnWidth( 4, 120 ); |
305 | } | 306 | } |
306 | 307 | ||
307 | void MainWindow::slotEditSettings() | 308 | void MainWindow::slotEditSettings() |
308 | { | 309 | { |
309 | } | 310 | } |
310 | 311 | ||
311 | void MainWindow::slotShowFolders( bool ) | 312 | void MainWindow::slotShowFolders( bool ) |
312 | { | 313 | { |
313 | qDebug("not implemented: "); | 314 | qDebug("not implemented: "); |
314 | } | 315 | } |
315 | 316 | ||
316 | void MainWindow::refreshMailView(const QValueList<RecMailP>&) | 317 | void MainWindow::refreshMailView(const QValueList<RecMailP>&) |
317 | { | 318 | { |
318 | qDebug("not implemented: "); | 319 | qDebug("not implemented: "); |
319 | } | 320 | } |
320 | 321 | ||
321 | void MainWindow::mailLeftClicked(QListViewItem * ) | 322 | void MainWindow::mailLeftClicked(QListViewItem * ) |
322 | { | 323 | { |
323 | qDebug("not implemented: "); | 324 | qDebug("not implemented: "); |
324 | } | 325 | } |
325 | 326 | ||
326 | void MainWindow::displayMail() | 327 | void MainWindow::displayMail() |
327 | { | 328 | { |
328 | qDebug("not implemented: "); | 329 | qDebug("not implemented: "); |
329 | } | 330 | } |
330 | 331 | ||
331 | void MainWindow::slotDeleteMail() | 332 | void MainWindow::slotDeleteMail() |
332 | { | 333 | { |
333 | qDebug("not implemented: "); | 334 | qDebug("not implemented: "); |
334 | } | 335 | } |
335 | 336 | ||
336 | void MainWindow::mailHold(int, QListViewItem *,const QPoint&,int ) | 337 | void MainWindow::mailHold(int, QListViewItem *,const QPoint&,int ) |
337 | { | 338 | { |
338 | qDebug("not implemented: "); | 339 | qDebug("not implemented: "); |
339 | } | 340 | } |
340 | 341 | ||
341 | void MainWindow::slotSendQueued() | 342 | void MainWindow::slotSendQueued() |
342 | { | 343 | { |
343 | qDebug("not implemented: "); | 344 | qDebug("not implemented: "); |
344 | } | 345 | } |
345 | 346 | ||
346 | void MainWindow::slotEditAccounts() | 347 | void MainWindow::slotEditAccounts() |
347 | { | 348 | { |
348 | qDebug("not implemented: "); | 349 | qDebug("not implemented: "); |
349 | } | 350 | } |
350 | 351 | ||
351 | void MainWindow::slotComposeMail() | 352 | void MainWindow::slotComposeMail() |
352 | { | 353 | { |
353 | qDebug("not implemented: "); | 354 | qDebug("not implemented: "); |
354 | } | 355 | } |