summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2004-11-07 19:40:36 (UTC)
committer zautrix <zautrix>2004-11-07 19:40:36 (UTC)
commit90e33436f6d1c502a5620760ac6592b9881ee4ab (patch) (unidiff)
treef493a1eeecd3dc8124bb4c0373b7bda9e85e9863
parentd90d17044d7daf6677074b0964d59f94407157d5 (diff)
downloadkdepimpi-90e33436f6d1c502a5620760ac6592b9881ee4ab.zip
kdepimpi-90e33436f6d1c502a5620760ac6592b9881ee4ab.tar.gz
kdepimpi-90e33436f6d1c502a5620760ac6592b9881ee4ab.tar.bz2
compile fixes and translation updates
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/kaddressbook/frenchtranslation.txt741
-rw-r--r--bin/kdepim/kopiemail/frenchtranslation.txt238
-rw-r--r--bin/kdepim/korganizer/frenchtranslation.txt41
-rw-r--r--kmicromail/composemail.cpp4
-rw-r--r--kmicromail/libmailwrapper/genericwrapper.cpp2
-rw-r--r--kmicromail/mainwindow.cpp1
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 dpart 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\npriode 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;
48ComposeMail::ComposeMail( Settings *sett, QWidget *parent, const char *name, bool modal ) 52ComposeMail::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
152void ComposeMail::fillSettings() 156void 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
166void ComposeMail::saveAsDraft() 170void 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}
203void ComposeMail::clearStatus() 207void ComposeMail::clearStatus()
204{ 208{
205 topLevelWidget()->setCaption( i18n("Compose mail") ); 209 topLevelWidget()->setCaption( i18n("Compose mail") );
206} 210}
207void ComposeMail::setStatus( QString status ) 211void 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}
212void ComposeMail::pickAddress( ) 216void 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
245void ComposeMail::insertAttendees(const QString& uid,const QStringList& nameList,const QStringList& emailList,const QStringList& uidList) 249void 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
292void ComposeMail::setTo( const QString & to ) 296void ComposeMail::setTo( const QString & to )
293{ 297{
294 toLine->setText( to ); 298 toLine->setText( to );
295} 299}
296 300
297void ComposeMail::setSubject( const QString & subject ) 301void ComposeMail::setSubject( const QString & subject )
298{ 302{
299 subjectLine->setText( subject ); 303 subjectLine->setText( subject );
300} 304}
301 305
302void ComposeMail::setInReplyTo( const QString & messageId ) 306void ComposeMail::setInReplyTo( const QString & messageId )
303{ 307{
304 m_replyid = messageId; 308 m_replyid = messageId;
305} 309}
306 310
307void ComposeMail::setMessage( const QString & text ) 311void ComposeMail::setMessage( const QString & text )
308{ 312{
309 message->setText( text ); 313 message->setText( text );
310} 314}
311 315
312 316
313void ComposeMail::pickAddressTo() 317void ComposeMail::pickAddressTo()
314{ 318{
315 mPickLineEdit = toLine; 319 mPickLineEdit = toLine;
316 pickAddress( ); 320 pickAddress( );
317} 321}
318 322
319void ComposeMail::pickAddressCC() 323void ComposeMail::pickAddressCC()
320{ 324{
321 mPickLineEdit = ccLine; 325 mPickLineEdit = ccLine;
322 pickAddress( ); 326 pickAddress( );
323} 327}
324 328
325void ComposeMail::pickAddressBCC() 329void ComposeMail::pickAddressBCC()
326{ 330{
327 mPickLineEdit = bccLine; 331 mPickLineEdit = bccLine;
328 pickAddress( ); 332 pickAddress( );
329} 333}
330 334
331void ComposeMail::pickAddressReply() 335void ComposeMail::pickAddressReply()
332{ 336{
333 mPickLineEdit = replyLine; 337 mPickLineEdit = replyLine;
334 pickAddress( ); 338 pickAddress( );
335} 339}
336 340
337void ComposeMail::fillValues( int ) 341void 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
357void ComposeMail::slotAdjustColumns() 361void 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
368void ComposeMail::addAttachment() 372void 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
377void ComposeMail::removeAttachment() 381void 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
388void ComposeMail::accept() 392void 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
458void ComposeMail::reject() 462void 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
482void ComposeMail::setCharset(const QString& charset) 486void 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}
488ComposeMail::~ComposeMail() 492ComposeMail::~ComposeMail()
489{ 493{
490} 494}
491 495
492void ComposeMail::reEditMail(const RecMailP&current) 496void ComposeMail::reEditMail(const RecMailP&current)
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
506AttachViewItem::AttachViewItem( QListView *parent, Attachment *att ) 510AttachViewItem::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
11using namespace Opie::Core; 11using namespace Opie::Core;
12Genericwrapper::Genericwrapper() 12Genericwrapper::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
20Genericwrapper::~Genericwrapper() 20Genericwrapper::~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}
30const QDateTime Genericwrapper::parseDateTime( mailimf_date_time *date ) 30const 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
75void Genericwrapper::fillSingleBody(RecPartP&target,mailmessage*,mailmime*mime) 75void 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
142void Genericwrapper::fillParameters(RecPartP&target,clist*parameters) 142void 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
155QString Genericwrapper::getencoding(mailmime_mechanism*aEnc) 155QString 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
185void Genericwrapper::traverseBody(RecBodyP&target,mailmessage*message,mailmime*mime,QValueList<int>recList,unsigned int current_rec,int current_count) 185void 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
294RecBodyP Genericwrapper::parseMail( mailmessage * msg ) 296RecBodyP 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
309QString Genericwrapper::parseAddressList( mailimf_address_list *list ) 311QString 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
340QString Genericwrapper::parseGroup( mailimf_group *group ) 342QString 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
356QString Genericwrapper::parseMailbox( mailimf_mailbox *box ) 358QString 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
372QString Genericwrapper::parseMailboxList( mailimf_mailbox_list *list ) 374QString 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
392encodedString* Genericwrapper::fetchDecodedPart(const RecMailP&,const RecPartP&part) 394encodedString* 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
400encodedString* Genericwrapper::fetchRawPart(const RecMailP&,const RecPartP&part) 402encodedString* 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
408QString Genericwrapper::fetchTextPart(const RecMailP&mail,const RecPartP&part) 410QString 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
416void Genericwrapper::cleanMimeCache() 418void 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
428QStringList Genericwrapper::parseInreplies(mailimf_in_reply_to * in_replies) 430QStringList 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
448void Genericwrapper::parseList(QValueList<Opie::Core::OSmartPointer<RecMail> > &target,mailsession*session,const QString&mailbox,bool mbox_as_to, int maxSizeInKb) 450void 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>
16extern QStatusBar* globalSstatusBarMainWindow; 16extern 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
26MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) 27MainWindow::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
202MainWindow::~MainWindow() 203MainWindow::~MainWindow()
203{ 204{
204} 205}
205 206
206void MainWindow::slotSetCodec( int codec ) 207void 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}
237void MainWindow::showLicence() 238void MainWindow::showLicence()
238{ 239{
239 KApplication::showLicence(); 240 KApplication::showLicence();
240} 241}
241void MainWindow::showAbout() 242void 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}
270void MainWindow::showEtpanLicence() 271void MainWindow::showEtpanLicence()
271{ 272{
272 KApplication::showFile( "LibEtPan licence", "kdepim/kopiemail/COPYRIGHTlibetpan" ); 273 KApplication::showFile( "LibEtPan licence", "kdepim/kopiemail/COPYRIGHTlibetpan" );
273 274
274} 275}
275void MainWindow::appMessage(const QCString &, const QByteArray &) 276void MainWindow::appMessage(const QCString &, const QByteArray &)
276{ 277{
277 qDebug("appMessage implemented by subclass"); 278 qDebug("appMessage implemented by subclass");
278} 279}
279 280
280void MainWindow::slotAdjustLayout() { 281void 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
293void MainWindow::slotAdjustColumns() 294void 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
307void MainWindow::slotEditSettings() 308void MainWindow::slotEditSettings()
308{ 309{
309} 310}
310 311
311void MainWindow::slotShowFolders( bool ) 312void MainWindow::slotShowFolders( bool )
312{ 313{
313 qDebug("not implemented: "); 314 qDebug("not implemented: ");
314} 315}
315 316
316void MainWindow::refreshMailView(const QValueList<RecMailP>&) 317void MainWindow::refreshMailView(const QValueList<RecMailP>&)
317{ 318{
318 qDebug("not implemented: "); 319 qDebug("not implemented: ");
319} 320}
320 321
321void MainWindow::mailLeftClicked(QListViewItem * ) 322void MainWindow::mailLeftClicked(QListViewItem * )
322{ 323{
323 qDebug("not implemented: "); 324 qDebug("not implemented: ");
324} 325}
325 326
326void MainWindow::displayMail() 327void MainWindow::displayMail()
327{ 328{
328 qDebug("not implemented: "); 329 qDebug("not implemented: ");
329} 330}
330 331
331void MainWindow::slotDeleteMail() 332void MainWindow::slotDeleteMail()
332{ 333{
333 qDebug("not implemented: "); 334 qDebug("not implemented: ");
334} 335}
335 336
336void MainWindow::mailHold(int, QListViewItem *,const QPoint&,int ) 337void MainWindow::mailHold(int, QListViewItem *,const QPoint&,int )
337{ 338{
338 qDebug("not implemented: "); 339 qDebug("not implemented: ");
339} 340}
340 341
341void MainWindow::slotSendQueued() 342void MainWindow::slotSendQueued()
342{ 343{
343 qDebug("not implemented: "); 344 qDebug("not implemented: ");
344} 345}
345 346
346void MainWindow::slotEditAccounts() 347void MainWindow::slotEditAccounts()
347{ 348{
348 qDebug("not implemented: "); 349 qDebug("not implemented: ");
349} 350}
350 351
351void MainWindow::slotComposeMail() 352void MainWindow::slotComposeMail()
352{ 353{
353 qDebug("not implemented: "); 354 qDebug("not implemented: ");
354} 355}