summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/korganizer/italiantranslation.txt832
-rw-r--r--korganizer/koprefs.cpp6
-rw-r--r--libkdepim/kcmconfigs/kdepimconfigwidget.cpp1
3 files changed, 837 insertions, 2 deletions
diff --git a/bin/kdepim/korganizer/italiantranslation.txt b/bin/kdepim/korganizer/italiantranslation.txt
new file mode 100644
index 0000000..12af69d
--- a/dev/null
+++ b/bin/kdepim/korganizer/italiantranslation.txt
@@ -0,0 +1,832 @@
+<div class="moz-text-flowed" style="font-family: -moz-fixed">{ "10 minutes","10 Minuti", },
+{ "10th","10." },
+{ "11th","11." },
+{ "Formato 12 pm","12 AM/PM Format" },
+{ "12th","12." },
+{ "13th","13." },
+{ "14th","14." },
+{ "15th","15." },
+{ "16th","16." },
+{ "17th","17." },
+{ "18th","18." },
+{ "19th","19." },
+{ "1 Day","1 Giorno" },
+{ "1 h","1 ora" },
+{ "1 (alto)","1 (hoch)" },
+{ "5 (basso)","5" },
+{ "1st","1." },
+{ "20th","20." },
+{ "21st","21." },
+{ "22nd","22." },
+{ "23rd","23." },
+{ "24:00 Hour Format","24:00 Formato Ore" },
+{ "24th","24." },
+{ "25th","25." },
+{ "26th","26." },
+{ "27th","27." },
+{ "28th","28." },
+{ "29th","29." },
+{ "2nd","2." },
+{ "30 minutes","30 Minuti" },
+{ "30th","30." },
+{ "31st","31." },
+{ "3rd","3." },
+{ "4th","4." },
+{ "5 (lowest)","5 (il più basso)" },
+{ "5th","5." },
+{ "6th","6." },
+{ "7th","7." },
+{ "8th","8." },
+{ "9th","9." },
+{ "About...","A proposito..." },
+{ "&Accept","&Accetta" },
+{ "Accept","Accetta" },
+{ "Accept A&ll","Accetta tutto" },
+{ "Access:","Accesso:" },
+{ "A corresponding event is missing in your calendar!","Manca un evento corrispondente nel tuo calendario!" },
+{ "Actions","Azioni" },
+{ "Add Filter","Aggiungi filtri" },
+{ "&Add","Aggiungi" },
+{ "Add","Aggiungi" },
+{ "Additional email addresses:","Altri indirizzi email:" },
+{ "Additional email address:","Altri indirizzi email:" },
+{ "&Addressbook","Rubrica" },
+{ "Address &Book...","Rubrica..." },
+{ "Agenda Size","Dimensioni agenda" },
+{ "Agenda Size:","Dimensioni agenda:" },
+{ "Agenda view:","Vista agenda:" },
+{ "Agenda view background color:","Colore di sfondo vista agenda:" },
+{ "All attendees","Tutti i partecipanti" },
+{ "AllDayAgenda Height:","Altezza "tutti i giorni" dell'agenda:" },
+{ "Allday","Tutti i giorni" },
+{ "Anonymous","Anonimo" },
+{ "Apply","Rivolgersi" },
+{ "Apr","Apr" },
+{ "April","Aprile" },
+{"Ask for every entry on conflict","Chiedere ogni entrata in conflitto"},
+{ "Ask for preferences before syncing","Chiedere prima di sincronizzare" },
+{ "Ask for quit when closing KO/Pi","Chiedere prima di terminare KO/Pi" },
+{ "Attendees","Partecipanti" },
+{ "Aug","Ago" },
+{ "August","Agosto" },
+{ "Auto-Save","Salvataggio automatico" },
+{ "Auto save delay in minutes:","Salvataggio automatico in ritardo di minuti:" },
+{ "Auto saving...","Salvataggio automatico..." },
+{ "Begin on:","Cominciare con:" },
+{ "Begins on: %1","Comincia con: %1" },
+{ "<b>From:</b> %1 <b>To:</b> %2","<b>Da:</b> %1 <b>A:</b> %2" },
+{ "Bigger","Più grande" },
+{ "Biggest","Massimo" },
+{ "Big","Grande" },
+{ "<b>On:</b> %1","<b>Il:</b> %1" },
+{ "<b>On:</b> %1 <b>From:S</b> %2 <b>To:</b> %3","<b>Il:</b> %1 <b>Da:S</b> %2 <b>A:</b> %3" },
+{ "<b>Original event:</b><p>","<b>evento originale:</b><p>" },
+{ " - both are modified after last sync"," - entrambi saranno modificati dopo l'ultima sincronizzazione" },
+{ "Busy","Occupato" },
+{ "&Cancel","Annulla" },
+{ "Cancel","Annulla" },
+{ "Cannot delete To-Do\nwhich has children.","Impossibile eliminare To-Do\Sono disponibili altre ????? children=bambini, Einträge=registrazioni, note" },
+{ "Cannot delete To-Do which has children.","Impossibile eliminare Todo, sono disponibili altre (vedi sopra)" },
+{ "Can't generate mail:\nNo event selected.","Impossibile inviare mail:\nnessun evento selezionato." },
+{ "Categories...","categorie..." },
+{ "Categories","categorie" },
+{ "Category","categoria" },
+{ "Center View","Vista centrale" },
+{ "Change","Modifica" },
+{ "Cinema","Cinema" },
+{ "Click to add a new Todo","Clicca qui per aggiungere un nuovo Todo" },
+{ "Clone Item","Clona articolo" },
+{ "&Close","&Chiudi" },
+{ "Close","Chiudi" },
+{ "Close this dialog to abort deletion!","Chiudi questa finestra di dialogo per sospendere la cancellazione!" },
+{ "Colors","Colori" },
+{ "completed","Completato" },
+{ "completed on %1","Completato all' %1" },
+{ "Complete","Completo" },
+{ "Confidential","Privato" },
+{ "Configure...","Installazione..." },
+{ "Confirm &deletes","Conferma eliminazione" },
+{ "Couldn't load calendar\n '%1'.","Impossibile caricare calendario\n '%1'." },
+{ "Counter-event Viewer","Vista "conta-eventi"" },
+{ "Daily ending hour:","Ora di chiusura quotidiana:" },
+{ "Daily starting hour:","Ora di apertura quotidiana:" },
+{ "Daily","Quotidianamente" },
+{ "Date Format","Formato data" },
+{ "Date Format:","Formato data:" },
+{ "DateNavigator:(nr)","Esplora data" },
+{ "Dates: ","Data: " },
+{ "Date && Time","Data && ora" },
+{ "Day begins at:","Il giorno comincia alle:" },
+{ "Days in Next-X-Days:","Giorni in Prossimi giorni X" },
+{ "Days in What's Next:","Giorni in Cosa c'è di nuovo:" },
+{ "day(s)","Giorno(i)" },
+{ "Days to show in Next-X-Days view:","Giorni da mostrare nella vista Prossimi giorni X:" },
+{ "day","Giorno" },
+{ "Dec","Dic" },
+{ "December","Dicembre" },
+{ "Default alarm time:","Sveglia standard:" },
+{ "Default appointment time:","Orario appuntamento standard:" },
+{ "Default event color:","Colore appuntamenti standard:" },
+{ "Default","Standard" },
+{ "Def. duration of new app.:","Durata appuntamenti standard:" },
+{ "Delete all completed To-Dos?","Cancellare tutti i Todos completati?" },
+{ "Delete All","Cancella tutto" },
+{ "Delete all selected","Elimina selezione" },
+{ "Delete Current","Elimina attuale" },
+{ "Delete Event...","Elimina attività..." },
+{ "Delete Event","Elimina attività" },
+{ "&Delete","Elimina" },
+{ "Delete...","Elimina..." },
+{ "Delete","Elimina" },
+{ "Delete Todo...","Cancella Todo..." },
+{ "Delete To-Do","Cancella Todo" },
+{ "Deleting item %d ...","Elimina articolo %d..." },
+{ "Descriptions","Descrizioni" },
+{ "Deselect All","Deseleziona tutto" },
+{ "Details","Dettagli" },
+{ "Dinner","Cena" },
+{ "Do you really want\nto close KO/Pi?","Sei sicuro di voler uscire da KO/Pi?" },
+{ "Due Date","In scadenza" },
+{ "Due: ","Scade: "},
+{ "Due Time","Scade alle" },
+{ "Due:","Scade:"},
+{ "Duration: ","Durata: " },
+{ "Edit...","Crea..." },
+{ "Edit","Crea" },
+{ "Edit Event...","Crea evento..." },
+{ "Edit Event","Crea evento" },
+{ "Edit exceptions","Crea eccezioni" },
+{ "EditorBox:","Finestra creazione:" },
+{ "Edit Recurrence Range","Crea promemoria ricorrenze" },
+{ "Edit Todo...","Crea Todo..." },
+{ "Edit To-Do","Crea Todo" },
+{ "E&mail address:","Indirizzo E&mail:" },
+{ "(EmptyEmail)","(Nessuna Email)" },
+{ "(EmptyName)","(Nessun Nome)" },
+{ "Enable Recurrence","Inserisci ricorrenza" },
+{ "End after","Termina dopo"},
+{ "End by:","Termina alle"},
+{ "End Date","Data di fine" },
+{ "End:","Termine:" },
+{ "End Time","Ora di fine" },
+{ "English","Inglese" },
+{ "Event","Evento" },
+{ "Event list","Lista eventi" },
+{ "Events","Eventi" },
+{ "Event Viewer:","Vista eventi:" },
+{ "every","tutti" },
+{ "Exceptions...","Eccezioni..." },
+{ "Exceptions","Eccezioni" },
+{ "Exclude holidays","Escludi vacanze" },
+{ "Exclude Saturdays","Escludi sabato" },
+{ "Feb","Feb" },
+{ "February","Febbraio" },
+{ "&Find","Cerca!" },
+{ "Fonts","Caratteri" },
+{ "Force take local entry always","Erzwinge:selezionare sempre entrate locali" },
+{ "Force take remote entry always","Erzwinge:selezionare sempre entrate remote"},
+{ "Free","libero" },
+{ "Friday","Venerdi" },
+{ "Fri","Ven" },
+{ "From:","Da:" },
+{ "Full &name:","Nome e cognome:" },
+{ "General","Generale" },
+{ "German","Tedesco" },
+{ "Gifts","Regali" },
+{ "Go to Today","vai ad Oggi" },
+{ "Help","Aiuto" },
+{ "Hide Dates","Nascondi date" },
+{ "Highlight color:","Evidenziatore:" },
+{ "Holiday color:","Colore vacanze:" },
+{ "hour(s)","Ora(e)" },
+{ "In %1 days: ","In %1 giorni: " },
+{ "Incomplete Todo:","Todo non completo:" },
+{ "Information","Informazioni" },
+{ "Invalid search expression,\ncannot perform ","Espressione di ricerca non valida\impossibile eseguire" },
+{ "Jan","Gen" },
+{ "January","Gennaio" },
+{ "JournalView:","Vista giornale:" },
+{ "Journals","Giornali" },
+{ "Jul","Lug" },
+{ "July","Luglio" },
+{ "Jump to date","Vai a data" },
+{ "June","Giugno" },
+{ "Jun","Giu" },
+{ "Key Bindings...","Selezione Tasti..." },
+{ "Kids","Bambini" },
+{ "Known Problems...","Problemi conosciuti..." },
+{ "KO/Pi Find ","KO/Pi ricerca " },
+{ "KO/Pi Find: ","KO/Pi ricerca: " },
+{ "KO/Pi is starting ... "," KO/Pi inizia... \n... è il momento di una pausa caffè ..." },
+{ "Language:(needs restart)","Lingua (Reimpostazione!)" },
+{ "Language:","Lingua" },
+{ "Large","Espandi" },
+{ "List View:","Lista viste:" },
+{ "List View","Lista viste" },
+{ "Load/Save","carica/salva" },
+{ "Load Template","carica maschera" },
+{ "Locale","Locale" },
+{ "Local temp file:","Temp file locale:" },
+{ "Location: ",Luogo: " },
+{ "Location:",Luogo:" },
+{ "Mail client","Client di posta" },
+{ "Mail Client","Client di posta" },
+{ "March","Marzo" },
+{ "Mar","Mar" },
+{ "May","Maggio" },
+{ "M. Bains line:","M. Bains Linea:" },
+{ "Medium","Medio" },
+{ "Method","Metodo" },
+{ "minute(s)","Minuto(i)" },
+{ "Monday","Lunedì" },
+{ "Mon","Lun" },
+{ "Monthly","Mensile" },
+{ "Month not long enough","Il mese non è sufficientemente lungo" },
+{ "month(s)","Mese(i)" },
+{ "Month view:","Vista Mesi:" },
+{ "Month view uses category colors","Vista mese utilizza categorie di colori" },
+{ "Todo view uses category colors","Vista To-Do utilizza categorie di colori" },
+{ "Move &Down","sposta in basso" },
+{ "Move &Up","sposta in alto" },
+{ "Name:","Nome:" },
+{ "Name","Nome" },
+{ "\nAre you sure you want\nto delete this event?","\Sei sicuro di voler cancellare questo evento?" },
+{ "%n Days","%n Giorni" },
+{ "Never","Mai" },
+{ "New event...","Nuovo evento..." },
+{ "New event","Nuovo evento" },
+{ "New Event...","Nuovo evento..." },
+{ "New Events/Todos should","Nuovo evento/Todos dovrebbe"},
+{ "&New","&Nuovo" },
+{ "New","Nuovo", },
+{ "New Sub-Todo...","Nuovo Sub-Todo..." },
+{ "New Todo...","Nuovo Todo..." },
+{ "Next Alarm: ","Allarme successivo: ", },
+{ "&Next Day","&Giorno successivo", },
+{ "Next days view uses full window","Vista giorni successiva utilizza finestra intera" },
+{ "Next month","Mese successivo" },
+{ "&Next Week","&Settimana successiva" },
+{ "Next year","Anno successivo" },
+{ "Next Year","Anno successivo" },
+{ "%n h","%n ora" },
+{ "No ending date","Nessuna data di fine", },
+{ "No event, nothing to do.","Nessun appuntamento, niente da fare.", },
+{ "No event selected.","Nessun evento selezionato" },
+{ "No","No" },
+{ "No program set","Nessun programma scelto", },
+{ "Normal","Normale" },
+{ "[No selection]","Nessuna selezione", },
+{ "No sound set","Nessun suono scelto", },
+{ "no time ","No tempo ", },
+{ "no time","No tempo", },
+{ "No Time","No tempo" },
+{ "November","Novembre" },
+{ "Nov","Nov", },
+{ "\nThis event recurs\nover multiple dates.\n","\nQuesto evento si ripete in più giorni.\n" },
+{ "occurrence(s)","Avvenimento(i)" },
+{ "October","Ottobre" },
+{ "Oct","Ott", },
+{ "O-due!","Scade! " },
+{ "&OK","&OK" },
+{ "Ok+Show!","Ok+mostra" },
+{ "Organizer: %1","Organizzatore %1" },
+{ "Organizer","Organizzatore" },
+{ "Owner: ","Proprietario: " },
+{ "Owner:","Proprietario:" },
+{ "<p><b>Priority:</b> %2</p>","<p><b>Priorità:</b> %2</p>" },
+{ "Pick a date to display","Scegli una data da visualizzare" },
+{ "Please specify a valid due date.","Specificare una data di scadenza valida."},
+{ "Please specify a valid end date, for example '%1'.","Specificare una data di fine valida, ad esempio '%1'." },
+{ "Please specify a valid start date.","Specificare una fata di inizio valida." },
+{ "Please specify a valid start date, for example '%1'.","Specificare una fata di inizio valida, ad esempio '%1'." },
+{ "Please specify a valid start time.","Specificare un'ora di inizio valida."},
+{ "Please specify a valid start time, for example '%1'.","Specificare un'ora di inizio valida, ad esempio '%1'." },
+{ "Preferences - some settings need a restart (nr)","Preferiti - alcune impostazioni devono essere riavviate (bn)" },
+{ "&Previous Day","Giorno precedente" },
+{ "Previous month","Mese precedente" },
+{ "Previous Month","Mese precedente" },
+{ "&Previous Week","Settimana precedente" },
+{ "Previous year","Anno precedente" },
+{ "Previous Year","Anno precedente" },
+{ "Printing","Stampa" },
+{ "Priority:","Priorità:" },
+{ "Private","Privato" },
+{ "Proceed","Avanti" },
+{ "Public","Pubblico" },
+{ "Purge","Svuota" },
+{ "Purge Completed","Svuotamento completato" },
+{ "Purge To-Dos","Svuota Todos" },
+{ "read-only","Sola lettura" },
+{ "Recur every","Ripeti sempre" },
+{ "Recur in the month of",">Ripeti nel mese di" },
+{ "Recur on the","Ripeti il" },
+{ "Recur on this day","Ripeti in questo giorno" },
+{ "Recurrence Range...","Periodo ricorrenza..." },
+{ "Recurrence Range","Periodo ricorrenza" },
+{ "Recurrence Rule","Regole di ripetizione" },
+{ "Recurrence","Ripetizione" },
+{ "Recurs","Ripetizioni" },
+{"&Reject","Rifiuta"},
+{ "Reminder:","Promemoria:" },
+{ "Rem.:","Promemoria:" },
+{ "Rem.","Promemoria:" },
+{ "Remote file:","File Remoto:"},
+{ "Remote IP:","IP remoto:" },
+{ "Remote syncing (via ssh/scp) network settings ","Sincronizzazione remota (via ssh/scp) installazione rete " },
+{ "Remote user:","Utente remoto"},
+{ "&Remove","Rimuovi" },
+{ "Remove","Rimuovi" },
+{ "Request response","Risposta richiesta" },
+{ "Role:","Ruolo:" },
+{ "Role","Ruolo" },
+{ "Sat","Sab" },
+{ "Saturday","Sabato" },
+{ "Search for:","Ricerca:" },
+{ "Search In","Cerca in" },
+{ "Search...","Cerca..." },
+{ "Search","Cerca" },
+{ "Select Addresses","Seleziona indirizzi" },
+{ "Select all","Seleziona tutto" },
+{ "Select a month","Seleziona mese" },
+{ "Select a week","Seleziona settimana" },
+{ "Select a year","Seleziona anno" },
+{ "Send directly","Invia direttamente" },
+{ "&Send Messages","&Invia messaggi", },
+{ "Sep","Set" },
+{ "September","Settembre" },
+{ "Shopping","Fare spese" },
+{ "Use short date in (WN/E) view","Utilizza date abbreviate nella vista (WN/Termin)" },
+{ "Show Dates","Mostra date" },
+{ "Show events that recur daily in date nav.","Mostra eventi ripetuti ogni giorno nel nav. data" },
+{ "Show Event...","Mostra evento..." },
+{ "Show ev. that recur weekly in date nav.","Mostra eventi ripetuti settimanalmente nel nav. data" },
+{ "Show Marcus Bains line","Mostra linea Marcus Bains" },
+{ "Show summary after syncing","Mostra riassunto dopo sincronizzazione." },
+{ "Show time as:","Mostra tempo come" },
+{ "Show Todo...","Mostra To-Do" },
+{ "Show topmost todo prios in What's N.:","Mostra todo prioritari in What's N.:"},
+{ "Show topmost todo prios in What's Next:","Mostra todo prioritari in What's Next:"},
+{ "Show vertical screen (Needs restart)","Mostra schermo verticale (Riavvia!)" },
+{ "&Show","Visualizza" },
+{ "Show...","Visualizza..." },
+{ "Show","Visualizza" },
+{ "Small","Piccolo" },
+{ "Sorry","Scusa" },
+{"Sorry, the copy command failed!\nCommand was:\n","Il comando copia è fallito!\nIl comando era:\n"},
+{ "Start:","Inizio:" },
+{ "Start Date","Data di inizio" },
+{ "Start date: %1","Data di inizio: %1" },
+{ "Start Time","Ora di inizio" },
+{ "Status:","Stato:" },
+{ "Status","Stato:" },
+{ "Summaries","Sintesi" },
+{ "Summary:","Sintesi:" },
+{ "Summary","Sintesi" },
+{ "Sunday","Domenica" },
+{ "Sun","Dom" },
+{ "Sync preferences:","Installazione sincronizzazione" },
+{ "Sync Prefs","Installazione sincronizzazione" },
+{ "Syncronize","Sincronizza date" },
+{ "Take local entry on conflict","Prendi entrata locale in conflitto" },
+{ "Take newest entry on conflict","Prendi entrata più recente in conflitto" },
+{ "Take remote entry on conflict","Prendi entrata remota in conflitto" },
+{ "Template '%1' does not contain a valid Todo.","Template '%1' non contiene un To-Do valido" },
+{ "Template does not contain a valid Event.","Template '%1' non contiene un evento valido" },
+{ "Template...","Vorlage..." },
+{ "This day","Questo giorno" },
+{ "This is an experimental feature. ","Caratteristica sperimentale" },
+{ "This item will be\npermanently deleted.","Questo articolo verrà cancellato definitivamente." },
+{ "This item will be permanently deleted.", "Questo articolo verrà cancellato definitivamente." },
+{ "Thu","Gio" },
+{ "Thursday","Giovedì" },
+{ "Time associated","Tempo associato" },
+{ "Time bar:","Barra del tempo:" },
+{ "Time && Date","Ora e data" },
+{ "Time Format","Formato ora" },
+{ "Time Format(nr):","Formato ora(Riavvia!)" },
+{ "Date Labels:","Etichette date:" },
+{ "Time: ","Ora: " },
+{ "Timezone:","Zona ore"},
+{ "Tiny","Minuscolo" },
+{ "To: ","A: " },
+{ "To:","A:" },
+{ "Today: ","Oggi: " },
+{ "Todo due today color:","Colore To-Do's in scadenza oggi" },
+{ "To-do items:","Articoli To-Do:" },
+{ "Todo overdue color:","Colore To-Do scaduti" },
+{ "Todo","Todo" },
+{ "To-do view shows completed Todos","Vista To-do mostra To-do svolti" },
+{ "ToDoView:","Vista Todo:" },
+{ "Toggle Alarm","Modifica allarme" },
+{ "Toggle Allday","Modifica tutto il giorno" },
+{ "Tomorrow: ","Domani: " },
+{ "Tue","Mar" },
+{ "Tuesday","Martedì" },
+{ "Two entries are in conflict, if: ","Due entrate sono in conflitto se:" },
+{ "Unable to find template '%1'.","Impossibile trovare presentazione '%1' ." },
+{ "Unknown","Sconosciuto" },
+{ "Up","Su" },
+{ "Use password (if not, ask when syncing)","Imposta password (altrimenti chiedere per la sincronizzazione)" },
+{ "User defined","Utilizzatore definito" },
+{ "User long date:","Utilizza data estesa:" },
+{ "User short date:","Utilizza data abbreviata:" },
+{ "View","Vista" },
+{ "View Fonts","Vista caratteri" },
+{ "Views","Viste" },
+{ "Wed","Mer" },
+{ "Wednesday","Mercoledì" },
+{ "Week %1","Settimana %1" },
+{ "Weekly","Settimanalmente" },
+{ "Week starts on Sunday","La settimana inizia la domenica" },
+{ "What's Next View:","Vista What's Next" },
+{ "What's next ?","Cosa sarà il prossimo?(What's Next)" },
+{ "Working Hours","Ore lavorative" },
+{ "Working hours color:","Colore ore lavorative:" },
+{ "Write back existing entries only","Riscrivere solo entrate esistenti" },
+{ "Write back synced file","Riscrivere file sincronizzati" },
+{ "Yearly","Annualmente" },
+{ "year(s)","Anno(i)" },
+{ "Yes","Sì" },
+{ "You have %d item(s) selected.\n","Hai selezionato %d articoli.\n" },
+{ "You have to restart KOrganizer for this setting to take effect.","E' necessario riavviare KOrganizer per rendere effettiva l'impostazione." },
+{ "week(s) on:","Settimana(e): " },
+{ "Full menu bar(nr)","Barra menù completa(bn)" },
+{ "Timezone has daylight saving","Ora legale" },
+{ "Actual start/end is the\nsunday before this date.","Inizio/Fine effettivo/a è la domenica precedente a questa data!" },
+{ "The year in the date is ignored.","Nella data l'anno viene ignorato." },
+{ "Daylight start:","Inizio ora legale:" },
+{ "Daylight end:","Fine ora legale:" },
+{ "Time Zone","Zona del tempo" },
+{ "Monday 19 April 2004: %A %d %B %Y","Lunedì 19 aprile 2004: %A %d %B %Y" },
+{ "%A: Monday --- %a: Mon","%A: Lunedì --- %a: Lun" },
+{ "minutely","minutamente" },
+{ "hourly","orario" },
+{ "daily","quotidiano" },
+{ "weekly","settimanale" },
+{ "monthly","mensile" },
+{ "day-monthly","giorno-mensilmente" },
+{ "month-yearly","mese-annualmente" },
+{ "day-yearly","giorno-annualmente" },
+{ "position-yearly","posizione-annualmente" },
+{ "Edit item on doubleclick (if not, show)","... con doppio-click (altrimenti, mostra)" },
+{ "Highlight current day in agenda","Evidenzia giorno corrente nell'agenda" },
+{ "Use light color for highlight current day","utilizza evidenziatore per sottolineare giorno corrente" },
+{ "Highlight selection in Time Edit","Selezione evidenziata nel... tempo" },
+{ "Hold fullscreen on view change","Mantieni schermo esteso durante il cambio della vista" },
+{ "Hold non-fullscreen on view change","Mantieni schermo ridotto durante il cambio della vista." },
+{ "Event list view uses full window","Vista lista eventi richiede schermo esteso" },
+{ "Set agenda to DayBeginsAt on change","Al cambio imposta agenda su GiornoCominciaA" },
+{ "Set agenda to current time on change","Al cambio imposta agenda su Ora Corrente" },
+{ "Listview uses monthly timespan","Lista vista utilizza intervallo mensile" },
+{ "ViewChange","Cambia vista" },
+{ "Default alarm *.wav file:","Allarme Standard file *.wav :" },
+{ "This setting is useless for 5500 user!","Questa impostazione è inutilizzabile da 5500 utenti" },
+{ "File","File" },
+{ "Clone...","Copia.." },
+{ "Move...","Sposta..." },
+{ "Beam...","Trasmetti via IR..." },
+{ "&Clone...","Copia.." },
+{ "&Move...","Sposta..." },
+{ "&Beam...","Trasmetti via IR..." },
+{ "Show Completed","Visualizza Todos completi" },
+{ "Show Quick Todo","Mostra Quick Todo" },
+{ "Unparent Todo","Un-sub Todo" },
+{ "Save selected to file...","Salva file selezionato..." },
+{ "Add Categ. to selected...","Aggiungi a categoria selezionata..." },
+{ "Set Categ. for selected...","Imposta categoria per selezione." },
+{ "Beam selected via IR","Trasmetti selezione via IR..." },
+{ "Search","Cerca" },
+{ "Date Picker","Scelta data" },
+{ "Day View","Vista Giorno" },
+{ "Work Week","Lavoro settimanale" },
+{ "Week","Settimana" },
+{ "Month","Mese" },
+{ "Todo View","Vista Todo" },
+{ "Journal","Giornale" },
+{ "Next days","Prossimi giorni" },
+{ "Print agenda selection...","Stampa selezione agenda..." },
+{ "Toggle DateNavigator","Modifica data Navigatore" },
+{ "Toggle FilterView","Modifica vista filtri" },
+{ "Prev. month","Mese precedente" },
+{ "Go backward","Indietro" },
+{ "Go forward","Avanti" },
+{ "Synchronize","Sincronizza" },
+{ "AgendaSize","Dimensioni agenda" },
+{ "Import (*.ics/*.vcs) file","Importa (*.ics/*.vcs) file" },
+{ "Import last file","Importa ultimo file" },
+{ "Import Opie/Qtopia Cal.","Importa Opie/Qtopia Kal." },
+{ "Load Calendar Backup","carica calendario Backup" },
+{ "Save Calendar Backup","Salva calendario Backup" },
+{ "Export VCalendar","Esporta VCalendario" },
+{ "Manage new categories...","Gestisci nuove categorie..." },
+{ "Beam complete calendar...","Invia calendario completo via IR" },
+{ "Beam filtered calendar...","Invia calendario filtrato via IR" },
+{ "Remote via ssh","Remoto via ssh" },
+{ "With local file","Con file locale" },
+{ "With last file","Con ultimo file" },
+{ "KO/Pi: Ready for beaming","KO/Pi: Pronto per inviare" },
+{ "KO/Pi:Beaming done","KO/Pi: Invio eseguito" },
+{ "Save filename","salva: nomi file" },
+{ "File already exists!\nOld file from:\n%1\nOverwrite?\n","Nome File già esistente!\nvecchio file da:\n%1\nsovrascrivere?\n" },
+{ "KO/Pi: Warning!","KO/Pi: Attenzione!" },
+{ "Overwrite!","Sovrascrivi!" },
+{ "KO/Pi:Saved %1","KO/Pi:Salvato %1" },
+{ "All selected items will be\npermanently deleted.\n(Deleting items will take\nsome time on a PDA)\n","Tutti gli articoli selezionati verranno\ndefinitivamente cancellati.\n(Per Eliminare i dati\nPDA potrebbero essere necessari alcuni minuti)\n" },
+{ "KO/Pi Confirmation","KO/Pi Conferma" },
+{ "Close dialog to abort deletion!","Chiudi finestra di dialogo per annullare eliminazione!" },
+{ "Deleting item %d ...","Eliminazione dati %d ..." },
+{ "%d items remaining in list.","%d Dati rimanenti nella lista." },
+{ "Size","Dimensioni" },
+{ "Date","Data" },
+{ "Mime Type","Tipo file" },
+{ "All Files","Tutti i files" },
+{ "Files","Files" },
+{ "Documents","Documenti" },
+{ "Select Categories","Seleziona categorie" },
+{ " &Deselect All "," Deseleziona tutto" },
+{ "A&dd","Aggiungi" },
+{ "&Modify","Modifica" },
+{ "Edit Categories","Edit categorie" },
+{ " &Edit Categories "," &Edit Categorie " },
+{ "Beam Options","Invia opzioni" },
+{ " With timezone "," Con zona di tempo " },
+{ " Local time ", " Ora locale " },
+{ "Manage new Categories","Gestisci nuove categorie" },
+{ "Add to category list","Aggiungi a lista categorie" },
+{ "Remove from Events/Todos","Rimuovi da eventi/Todos" },
+{ "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 ","Dopo l'importazione/il caricamento/la sincronizzazione\npossono esserci nuove categorie in\neventi o Todos, che non sono\nnella lista categorie.\nScegliere cosa fare:\n " },
+{ "New categories not in list:","Nuove categorie non in lista:" },
+{ "File format","Formato file" },
+{ "Time format","Formato tempo" },
+{ "Delete all\ncompleted To-Dos?","Elimina tutti\n To-Dos completati?" },
+{ "KO/Pi:Saving Data to File ...","KO/Pi: Salvataggio dati nei file ..." },
+{ "KO/Pi:File Saved. Needed %d sec, %d ms","KO/Pi: File salvato. Necessita di %d sec, %d ms" },
+{ "h","Ora" },
+{ "min","Min" },
+{ "hou","Ora" },
+{ "day","Giorno" },
+{ "French(nyi)","Francese (non ancora implementato)" },
+{ "Time","Tempo" },
+{ "Event Viewer","Vista eventi" },
+{ "Cancel Sync","Annulla sincronizzazione" },
+{ "Remote","Remoto" },
+{ "Local","Locale" },
+{ "Conflict! Please choose entry","Conflitto!Scegliere l'entrata" },
+{ "Local: ","Locale: " },
+{ "Remote: ","Remoto: " },
+{ "Last modified: ","Ultima modifica: " },
+{ "Location: ","Posizione: " },
+{ "<p><b>From:</b> %1 </p><p><b>To:</b> %2</p>","<p><b>Da:</b> %1 </p><p><b>A:</b> %2</p>" },
+{ "<p><b>On:</b> %1</p>","<p><b>Il:</b> %1</p>" },
+{ "<p><b>From:</b> %1</p> ","<p><b>Da:</b> %1</p> " },
+{ "<p><b>To:</b> %1</p>","<p><b>A:</b> %1</p>" },
+{ "<p><b>On:</b> %1</p> ","<p><b>Il:</b> %1</p> " },
+{ "<p><b>From:</b> %1 <b>To:</b> %2</p>","<p><b>Da:</b> %1 <b>A:</b> %2</p>" },
+{ "This is a %1 recurring event.","Questo è un %1 evento ripetuto." },
+{ "<b>Next recurrence is on:</b>","<b>Prossima ripetizione il:</b>" },
+{ "<b>Last recurrence was on:</b>","<b>Ultima ripetizione il:</b>" },
+{ "( %1 min before )","( %1 min precedenti )" },
+{ "<b>Alarm on: ","<b>Sveglia il: " },
+{ "<b>Details: </b>","<b>Dettagli: </b>" },
+{ "<p><b>Priority:</b> %2</p>","<p><b>Priorità:</b> %2</p>" },
+{ "<p><i>%1 % completed</i></p>","<p><i>%1 % Completato</i></p>" },
+{ "Organizer","Organizzatore" },
+{ "Save","Salva" },
+{ "Exit (+save)","Esci (+ salva)" },
+{ "Home","Casa" },
+{ "Office","Ufficio" },
+{ "Libary","Libreria" },
+{ "Doctor","Dottore" },
+{ "Beach","Spiaggia" },
+{ "Conference room","Sala conferenze" },
+{ "Drive Home","Guida a casa" },
+{ "Watch TV","Guardare la Tv" },
+{ "Phone call","Telefonare" },
+{ "Pay bill","Pagare il conto" },
+{ "Read book","Leggere il libro" },
+{ "Watering plants","Bagnare le piante" },
+{"Appointment","Appuntamento" },
+{"Birthday","Compleanno" },
+{"Business","Affari" },
+{"Business Travel","Viaggio d'affari" },
+{"Cinema","Cinema" },
+{"Customer","Cliente" },
+{"Pause","Pausa"},
+{"Breakfast","Colazione" },
+{"Competition","Gara" },
+{"Dinner","Cena" },
+{"Education","Insegnamento" },
+{"Family","Famiglia" },
+{"Favorites","Preferiti" },
+{"Festival","Festival" },
+{"Fishing","Pecare" },
+{"Flight","Volo" },
+{"Gifts","Regali" },
+{"Holiday","Vacanze" },
+{"Holiday Cards","Cartoline" },
+{"Hot Contacts","Contatti importanti" },
+{"Hiking","Passeggiare" },
+{"Hunting","Cacciare" },
+{"Key Customer","Clienti importanti" },
+{"Kids","Bambini" },
+{"Lunch","Pranzo" },
+{"Meeting","Incontro" },
+{"Miscellaneous","Varie" },
+{"Partner","Partner" },
+{"Party","Festa" },
+{"Personal","Privato" },
+{"Personal Travel","Viaggio privato"},
+{"PHB","PHB" },
+{"Phone Calls","Telefonare" },
+{"Projects","Progetti" },
+{"Recurring","Ricorrente" },
+{"School","Scuola" },
+{"Shopping","Fare spese" },
+{"Speach","Chiacchierare" },
+{"Special Occasion","Occasione speciale" },
+{"Sports","Sport" },
+{"Talk","Conferenza" },
+{"Travel","Viaggio" },
+{"TV","TV" },
+{"Germany","Germania" },
+{"Sweden","Svezia" },
+{"Forest","Foresta" },
+{ "Desert","Deserto" },
+{ "Kitchen","Cucina" },
+{ "Lake","Lago" },
+{"University","Università"},
+{"Vacation","Vacanze" },
+{"VIP","VIP" },
+{ "Import Sharp Calendar","Calendario Sharp importato" },
+{ "This todo has been cancelled!","Questo todo è stato cancellato!" },
+{ "This event has been cancelled!","Questo evento è stato cancellato!" },
+{ "Cancelled","Cancellato" },
+{ "Multiple sync","Syncronizzazione multipla" },
+{ "Local file","File locale" },
+{ "Last file","Ultimo file" },
+{ "Keys + Colors...","Tasti + Colori..." },
+{ "Mini icons in toolbar(nr)","Mini Icone nella barra degli strumenti(bn)" },
+{ "Quick save(w/o Unicode)","Salvataggio rapido (o Unicode)" },
+{ "Choose...","Scegli..." },
+{ "Use colors for application:","Utilizza colori per programma:" },
+{ "Buttons, menus, etc.:","Tasti, Menu, etc.:" },
+{ "Frames, labels, etc.:","Cornici, etichette, etc.:" },
+{ "Show parent To-Do's in What's Next view",";Mostra Todo superiori nella vista What's Next" },
+{ "Show location in What's Next view","Mostra posizione nella vista What's Next" },
+{ "Show events that recur ","Mostra eventi ripetuti:" },
+{ "Show in every cell ","Mostra in ogni cella" },
+{ "short month","Mese corto" },
+{ "icons","Icone" },
+{ "Show Sat/Sun together","Mostra Sab/dom insieme" },
+{ "Categorie colors are applied to text","Categorie colori applicate al testo" },
+{ "Month view uses day colors","Vista Mese utilizza colori giorni" },
+{ "Day color odd months","Colore giorno mesi dispari" },
+{ "Day color even months","Colore giorno mesi pari" },
+{ "Color for Sundays + category \"Holiday\"","Colori per domenica + categoria\"Vacanza\"" },
+{ "To-do view shows complete as 'xx %'","Visualizza To-do completati al 'xx %'" },
+{ "Small To-do view uses smaller font","Vista To-do piccoli utilizza caratteri più piccoli" },
+{ "Colors are applied to text","Colori applicati al testo" },
+{ "Use internal alarm notification","Notifica allarme interno" },
+{ "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","Attenzione: KO/Pi deve essere attivo per avvisarti di un allarme. Consiglio per l'utilizzo di Zaurus: Disabilitare questa opzione e installare l'applet allarme di KO/Pi.\n" },
+{ "Play beeps count:","Attivare conteggio beep: " },
+{ "Beeps interval in sec:","Intervallo in secondi tra i beep: " },
+{ "Default suspend time in min:","Tempo di sospensione Standard in minuti: " },
+{ "Auto suspend count:","Conteggio sospensione automatica" },
+{ "Alarm *.wav file for newly created alarm:","Allarme *.wav file per nuovo allarme creato:" },
+{ "New profile","Nuovo Profilo" },
+{ "Clone profile","clona Profilo" },
+{ "Delete profile","Elimina Profilo" },
+{ "Profile:","Profilo:" },
+{ "Include in multiple sync","Includi in sincronizzazione multipla" },
+{ "Force: Take local entry always","Forzare: prendere sempre entrata locale" },
+{ "Force: Take remote entry always","Forzare: prendere sempre entrata remota" },
+{ "Show summary after sync","Mostra riassunto dopo sincronizzazione" },
+{ "Write back file","Riscrivere file" },
+{ "Remote file (w down/upload command)","File remoto (via down/upload comando)" },
+{ "Pre sync (download) command:","Comando Pre-Sincronizzazione (download):" },
+{ "Local device name:","Nome periferica locale:" },
+{ "Ask for preferences before sync","Richiedere preferenze prima di sincronizzare" },
+{ "Sync preferences","Sincronizza preferenze" },
+{ "Profile kind","Tipologia Profilo" },
+{ "Local file","File locale" },
+{ "Local file:","File locale:" },
+{ "Post sync (upload) command:","Comando post-sincronizzazione (upload):" },
+{ "Fill in default values for:","Inserisci valute standard per:" },
+{ "Hint: Use $PWD$ for placeholder of password!","Suggerimento: utilizza $PWD$ per proprietari di password!" },
+{ "Synchronization Preferences","preferenze di sincronizzazione"},
+{ "Device","Periferica:" },
+{ "Sync with file \n...%1\nfrom:\n%2\n","Sincronizza con file \n...%1\nda:\n%2\n" },
+{ "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","Resoconto sincronizzazione:\n\n %d articoli aggiunti in locale\n %d articoli aggiunti in remoto\n %d articoli aggiornati in locale\n %d articoli aggiornati in remoto\n %d articoli eliminati in locale\n %d articoli eliminati in remoto\n" },
+{ "Synchronization successful","Sincronizzazione eseguita con successo" },
+eNessun file sincronizzato." },
+{ "Sync file \n...%1\ndoes not exist!\nNothing synced!\n","File sincronizzato\n...%1\non esistente!\nNessun file sincronizzato!\n" },
+{ "Sync filename(*.ics/*.vcs)","Nome file sincronizzato(*.ics/*.vcs)" },
+{ "Enter password","Inserire password" },
+{ "Do you really want\nto remote sync\nwith profile \n","Sei sicuro di voler\nsincronizzare in remoto\nil Profilo? \n" },
+{ "Copy remote file to local machine...","Copia file remoto su macchina locale..." },
+{ "Sorry, the copy command failed!\nCommand was:\n%1\n \nTry command on console to get more\ndetailed info about the reason.\n","Il comando copia è fallito!\nIl comando era:\n%1\n \nVerifica il comando per ottenere maggiori informazioni sul motivo.\n" },
+{ "Writing back file result: ","Risultati riscrittura file: " },
+{ "Syncronization sucessfully completed","Sincronizzazione completata con successo" },
+{ "Edit Calendar Filters","Edit filtri calendario" },
+{ "Enter filter name:","Inserisci nome filtro:" },
+{ "Add Filter","Aggiungi filtro" },
+{ "Question","Domanda" },
+{ "Filter position: ","Filter Position: " },
+{ "Month View","Vista Mese" },
+{ "This profil cannot be deleted!\n","Questo profilo non può essere eliminato!" },
+{ "KO/Pi config error","Errore configurazione KO/Pi" },
+{ "Local device name undefined!\nPlease define device name!","Nome periferica locale non definito!\nPrecisare nome!" },
+{ "Multiple profiles with same name!\nPlease use unique profile names!","Esistono più profili con lo stesso nome!\nScegliere nomi differenziati!" },
+{ "Access: ","Accesso: " },
+{ "Needs Action","Azione necessaria" },
+{ "Accepted","Accettato" },
+{ "Declined","Rifiutato" },
+{ "Tentative","Tentato" },
+{ "Delegated","Delegato" },
+{ "Completed","Completo" },
+{ "In Process","In esecuzione" },
+{ "Participant","Partecipante" },
+{ "Optional Participant","Partecipante opzionale" },
+{ "Observer","Osservatore" },
+{ "Chair","Moderatore" },
+{ "Not supported \non desktop!\n","Non supportato\" },
+{ "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. ","Nessuna zona selezionata!\nQuesto stampa l'intera larghezza della vista agenda, come visualizzato.\nPer determinare il campo verticale da stampare,\nselezionare un campo verticale (con il tasto sinistro del mouse)\n in una colonna. " },
+{ "Date range: ","Intervallo data: " },
+{ "Not supported \non PDA!\n","Non supportato\nin PDA. " },
+{ "Syncing - close to abort!","Sincronizzazione-chiudere per interrompere." },
+{ "Add / remove events","Aggiungi/Elimina eventi" },
+{ "File does not exist:\n '%1'.","File non esistente:\n '%1'." },
+{ "Couldn't load calendar\n '%1'.","Impossibile caricare calendario:\n '%1'." },
+{ "\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","\nIl file su disco è stato modificato!\nDimensioni file: %1 Bytes.\Ultima modifica: %2\nVuoi:\n\n - salvare e sovrascrivere il file?\n - Sincronizzare con il file, poi salvare?\n - Eliminare senza salvare? \n" },
+{ "Overwrite","Sovrascrivi" },
+{ "Sync+save","Sincronizza+salva" },
+{ "Default","Standard" },
+{ " Categories added to list! "," Categorie aggiunte alla lista! " },
+{ " %d items?"," %d articoli?" },
+{ "\nThis event recurs\nover multiple dates.\nAre you sure you want\nto delete this event\nand all its recurrences?","\nQuesto evento\nsi ripete!.\nSei sicuro\ndie voler cancellare questo evento e tutte le sue ripetizioni?" },
+{ " ?\n\nDelete:\n"," ?\n\nEliminato:\n" },
+{ "Current","Corrente" },
+{ "\nThis event recurs\nover multiple dates.\nDo you want to delete\nall it's recurrences,\nor only the current one on:\n","\nQuesto evento si ripete!\nVuoi cancellare tutte le sue ripetizioni o solo quella corrente del:\n" },
+{ "All","Tutto" },
+{ "Data Loss Warning","Attenzione perdita data" },
+{ "Proceed","Avanti" },
+{ "The journal entries can not be\nexported to a vCalendar file.","Le entrate del giornale non possono essere esportate su un file calendario!" },
+{ "Filter disabled ","Filtro disattivato" },
+{ "Filter selected: ","Filtro selezionato: " },
+{ "Toggle Cancel","variazione cancellata" },
+{ "&Toggle Cancel","Variazione cancellata" },
+{ "Configure Toolbar","Configura barra strumenti" },
+{ "Stretched TB","TB Esteso" },
+{ "Import file \n...%1\ndoes not exist!\nNothing imported!\n","File importato\n...%1\nnon esistente!\nNessun file importato!\n" },
+{ "Import filename(*.ics/*.vcs)","Importa nome file(*.ics/*.vcs)" },
+{ "When importing a calendar twice\nduplicated events will be ignored!\nYou can create a backup file with\nFile - Save Calendar Backup\nto revert importing","Con l'importazione di un calendario gli eventi doppi saranno ignorati!\nE' possibile creare un file di backup con\File - Salva calendario in Backup\nper tornare indietro con l'importazione.\n" },
+{ "Not supported \non desktop!\n","Non supportato su PDA!" },
+{ "Imported file successfully","File importato con successo" },
+{ "Error importing file","Errore durante importazione file" },
+{ "Export vcal filename(*.vcs)","Esporta vcal nome file(*.vcs)" },
+{ "Save file\nalready exists!\nOld save file from:\n%1\nOverwrite?\n","Salva file\già esistente!\nFile precedentemente salvato da:\n%1\nsovrascrivere?\n" },
+{ "Overwrite!","Sovrascrivi!" },
+{ "Import file \n...%1\nfrom:\n%2\nDuplicated entries\nwill not be imported!\n","Importa file\n...%1\nda:\n%2\nentrate duplicate\nnon saranno importate!\n" },
+{ "Load backup filename","carica nome file in Backup" },
+{ "Backup file\ndoes not exist!\nNothing loaded!","File in Backup\nnon esistente!\nNessun file caricato!" },
+{ "KO/Pi:Loaded %1","KO/Pi:Caricato %1" },
+{ "Save backup filename","Salva nome file in Backup" },
+{ "Backup file\nalready exists!\nOld backup file from:\n%1\nOverwrite?\n","File in Backup\ngià esistente!\nFile in backup precedente:\n%1\nsovrascrivere?\n" },
+{ "KO/Pi:Saved %1","KO/Pi:Salvato %1" },
+{ "Details of attendee","Dettagli partecipante" },
+{ "Work phone:\n","Telefono lavoro:\n" },
+{ "Work mobile phone:\n","Cellulare lavoro:\n" },
+{ "Home phone:\n","Telefono casa:\n" },
+{ "Mobile home phone:\n","Cellulare privato:\n" },
+{ "Email:\n","E-mail:\n" },
+{ "Alarm disabled","Allarme disattivato" },
+{ "Audio.Al.: ","Audio Allarme: " },
+{ "Proc.Al.: ","Proc.Allarme: " },
+{ "No sound set","nessun suono selezionato" },
+{ "*.wav|Wav Files","*.wav|Wav file" },
+{ "No program set","Nessun programma selezionato" },
+{ "Running '%1'","In corso '%1'" },
+{ "Playing '%1'","Riproduzione '%1'" },
+{ "Show Sync Events in WN/Agenda view","Mostra eventi sincronizzati nella vista WN/Agenda" },
+{ "User defined (usertranslation.txt)","Utente definito (usertranslation.txt)" },
+{ "Load!","Caricamento!" },
+{ "Backup file from:\n%1\nLoading backup\nfile will delete\nyour current Data!\n","File in Backup da:\n%1\nCaricamento file Backup\ncancella le date correnti!\n" },
+{ "KO/Pi Features and hints","KO/Pi Caratteristiche e suggerimenti" },
+{ "KO/Pi User translation HowTo","KO/Pi Traduzione per l'utente HowTo" },
+{ "KO/Pi Synchronization HowTo","KO/Pi Sincronizzazione HowTo" },
+{ "Features + hints...","Caratteristiche + Suggerimenti..." },
+{ "User translation...","Traduzione per l'utente...ut" },
+{ "Sync HowTo..."G,"Sincronizzazione HowTo..." },
+{ "","" },
+{ "","" },
+{ "","" },
+{ "","" },
+{ "","" },
+{ "","" },
+{ "","" },
+{ "","" },
+{ "","" },
+{ "","" },
+{ "","" },
+
+</div> \ No newline at end of file
diff --git a/korganizer/koprefs.cpp b/korganizer/koprefs.cpp
index 13035e0..2cfb382 100644
--- a/korganizer/koprefs.cpp
+++ b/korganizer/koprefs.cpp
@@ -1,570 +1,572 @@
/*
This file is part of KOrganizer.
Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
As a special exception, permission is given to link this program
with any edition of Qt, and distribute the resulting executable,
without including the source code for Qt in the source distribution.
*/
#include <time.h>
#ifndef _WIN32_
#include <unistd.h>
#endif
#include <qdir.h>
#include <qtextstream.h>
#include <qtextcodec.h>
#include <qstring.h>
#include <qregexp.h>
#include <qfont.h>
#include <qcolor.h>
#include <qstringlist.h>
#include <stdlib.h>
#include <kglobal.h>
#include <kconfig.h>
#include <klocale.h>
#include <kdebug.h>
#include <kemailsettings.h>
#include <kstaticdeleter.h>
#include <libkdepim/kpimglobalprefs.h>
#include "koprefs.h"
#include "mainwindow.h"
const char *germanwords[][2] = {
#include "wordsgerman.h"
"", ""
};
KOPrefs *KOPrefs::mInstance = 0;
static KStaticDeleter<KOPrefs> insd;
KOPrefs::KOPrefs() :
KPimPrefs("korganizerrc")
{
mCategoryColors.setAutoDelete(true);
mLocaleDict = 0;
fillMailDefaults();
mDefaultCategoryColor = QColor(175,210,255);//196,196,196);
QColor defaultHolidayColor = QColor(255,0,0);
QColor defaultHighlightColor = QColor(129,112,255);//64,64,255);
QColor defaultAgendaBgColor = QColor(239,241,169);//128,128,128);
QColor defaultWorkingHoursColor = QColor(170,223,150);//160,160,160);
QColor defaultTodoDueTodayColor = QColor(255,220,100);
QColor defaultTodoOverdueColor = QColor(255,153,125);
mTimeBarFont = QFont("helvetica",10);//,QFont::Bold);
mDefaultViewFont = QFont("helvetica",10);
mDefaultMonthViewFont = QFont("helvetica",8);
mMarcusBainsFont= QFont("helvetica",10);
mDateNavigatorFont= QFont("helvetica",10, QFont::Bold);
mEditBoxFont = QFont("helvetica",12);
mJornalViewFont = QFont("helvetica",12);
KPrefs::setCurrentGroup("General");
addItemBool("Enable Group Scheduling",&mEnableGroupScheduling,false);
addItemBool("ShowIconNewTodo",&mShowIconNewTodo,true);
addItemBool("ShowIconNewEvent",&mShowIconNewEvent,true);
addItemBool("ShowIconSearch",&mShowIconSearch,true);
addItemBool("ShowIconList",&mShowIconList,true);
addItemBool("ShowIconDay1",&mShowIconDay1,true);
addItemBool("ShowIconDay5",&mShowIconDay5,true);
addItemBool("ShowIconDay7",&mShowIconDay7,true);
addItemBool("ShowIconMonth",&mShowIconMonth,true);
addItemBool("ShowIconTodoview",&mShowIconTodoview,true);
addItemBool("ShowIconBackFast",&mShowIconBackFast,true);
addItemBool("ShowIconBack",&mShowIconBack,true);
addItemBool("ShowIconToday",&mShowIconToday,true);
addItemBool("ShowIconForward",&mShowIconForward,true);
addItemBool("ShowIconForwardFast",&mShowIconForwardFast,true);
addItemBool("ShowIconWhatsThis",&mShowIconWhatsThis,false);
addItemBool("ShowIconNextDays",&mShowIconNextDays,true);
addItemBool("ShowIconNext",&mShowIconNext,true);
addItemBool("ShowIconJournal",&mShowIconJournal,true);
addItemBool("ShowIconStretch",&mShowIconStretch,true);
addItemBool("LanguageChanged",&mLanguageChanged,false);
addItemBool("AskForQuit",&mAskForQuit,false);
#ifndef DESKTOP_VERSION
addItemBool("ShowFullMenu",&mShowFullMenu,false);
#else
addItemBool("ShowFullMenu",&mShowFullMenu,true);
#endif
addItemBool("ToolBarHor",&mToolBarHor, true );
addItemBool("ToolBarUp",&mToolBarUp, false );
addItemBool("ToolBarMiniIcons",&mToolBarMiniIcons, false );
addItemInt("Whats Next Days",&mWhatsNextDays,3);
addItemInt("Whats Next Prios",&mWhatsNextPrios,1);
addItemBool("ShowTodoInAgenda",&mShowTodoInAgenda,true);
addItemBool("ShowCompletedTodo",&mShowCompletedTodo,true);
addItemInt("AllDay Size",&mAllDaySize,28);
QString defAlarm = KGlobal::iconLoader()->iconPath()+"koalarm.wav";
addItemString("DefaultAlarmFile",&mDefaultAlarmFile,defAlarm );
addItemStringList("LocationDefaults",&mLocationDefaults );
addItemStringList("EventSummary User",&mEventSummaryUser);
addItemStringList("TodoSummary User",&mTodoSummaryUser);
addItemBool("Enable Group Scheduling",&mEnableGroupScheduling,false);
addItemBool("Enable Project View",&mEnableProjectView,false);
addItemBool("Auto Save",&mAutoSave,false);
addItemInt("Auto Save Interval",&mAutoSaveInterval,3);
addItemBool("Confirm Deletes",&mConfirm,true);
addItemString("Archive File",&mArchiveFile);
addItemString("Html Export File",&mHtmlExportFile,
QDir::homeDirPath() + "/" + i18n("Default export file", "calendar.html"));
addItemBool("Html With Save",&mHtmlWithSave,false);
KPrefs::setCurrentGroup("Personal Settings");
addItemInt("Mail Client",&mMailClient,MailClientKMail);
addItemBool("Use Control Center Email",&mEmailControlCenter,false);
addItemBool("Bcc",&mBcc,false);
KPrefs::setCurrentGroup("Time & Date");
// addItemString("Time Zone",&mTimeZone,"+0100");
addItemString("TimeZoneName",&mTimeZoneId,i18n ("+01:00 Europe/Oslo(CET)") );
// addItemInt("TimeZoneOffset",&mTimeZoneOffset,60);
addItemBool("UseDaylightsaving",&mUseDaylightsaving,true);
addItemInt("DaylightsavingStart",&mDaylightsavingStart,90);
addItemInt("DaylightsavingEnd",&mDaylightsavingEnd,304);
addItemInt("Default Start Time",&mStartTime,10);
addItemInt("Default Duration",&mDefaultDuration,2);
addItemInt("Default Alarm Time",&mAlarmTime,3);
addItemInt("Daylight Savings",&mDaylightSavings,0);
KPrefs::setCurrentGroup("AlarmSettings");
addItemInt("AlarmPlayBeeps",&mAlarmPlayBeeps,20);
addItemInt("AlarmSuspendTime",&mAlarmSuspendTime,7);
addItemInt("AlarmSuspendCount",&mAlarmSuspendCount,5);
addItemInt("AlarmBeepInterval",&mAlarmBeepInterval,3);
KPrefs::setCurrentGroup("Calendar");
addItemInt("Default Calendar Format",&mDefaultFormat,FormatICalendar);
KPrefs::setCurrentGroup("Fonts");
// qDebug(" KPrefs::setCurrentGroup(Fonts); ");
addItemFont("TimeBar Font",&mTimeBarFont);
addItemFont("MonthView Font",&mMonthViewFont);
addItemFont("AgendaView Font",&mAgendaViewFont);
addItemFont("MarcusBains Font",&mMarcusBainsFont);
addItemFont("TimeLabels Font",&mTimeLabelsFont);
addItemFont("TodoView Font",&mTodoViewFont);
addItemFont("ListView Font",&mListViewFont);
addItemFont("DateNavigator Font",&mDateNavigatorFont);
addItemFont("EditBox Font",&mEditBoxFont);
addItemFont("JournalView Font",&mJornalViewFont);
addItemFont("WhatsNextView Font",&mWhatsNextFont);
addItemFont("EventView Font",&mEventViewFont);
// KPrefs::setCurrentGroup("SyncProfiles");
// addItemString("LocalMachineName",&mLocalMachineName, "undefined");
// addItemStringList("SyncProfileNames",&mSyncProfileNames);
// addItemStringList("ExternSyncProfiles",&mExternSyncProfileNames);
KPrefs::setCurrentGroup("RemoteSyncing");
// addItemBool("UsePasswd",&mUsePassWd,false);
// addItemBool("WriteBackFile",&mWriteBackFile,true);
// addItemBool("WriteBackExistingOnly",&mWriteBackExistingOnly,false);
// addItemBool("AskForPreferences",&mAskForPreferences,true);
// addItemBool("ShowSyncSummary",&mShowSyncSummary,true);
addItemString("ActiveSyncPort",&mActiveSyncPort,"9197" );
addItemString("ActiveSyncIP",&mActiveSyncIP,"192.168.0.40" );
addItemBool("ShowSyncEvents",&mShowSyncEvents,false);
addItemInt("LastSyncTime",&mLastSyncTime,0);
#ifdef _WIN32_
QString hdp= locateLocal("data","korganizer")+"\\\\";
#else
QString hdp= locateLocal("data","korganizer")+"/";
#endif
// addItemString("RemoteIP",&mRemoteIP, "192.168.0.65");
// addItemString("RemoteUser",&mRemoteUser, "zaurus");
// addItemString("RemotePassWd",&mRemotePassWd, "");
// addItemString("RemoteFile", &mRemoteFile, hdp+"mycalendar.ics");
// addItemString("LocalTempFile",&mLocalTempFile, "/tmp/tempsyncfile.ics" );
KPrefs::setCurrentGroup("LoadSaveFileNames");
addItemString("LastImportFile", &mLastImportFile ,hdp +"import.ics" );
addItemString("LastVcalFile", &mLastVcalFile ,hdp +"export.vcs" );
addItemString("LastSaveFile", &mLastSaveFile ,hdp +"mybackup.ics" );
addItemString("LastLoadFile", &mLastLoadFile ,hdp +"mybackup.ics" );
KPrefs::setCurrentGroup("Locale");
addItemInt("PreferredLanguage",&mPreferredLanguage,0);
addItemInt("PreferredTime",&mPreferredTime,0);
addItemInt("PreferredDate",&mPreferredDate,0);
addItemBool("WeekStartsOnSunday",&mWeekStartsOnSunday,false);
addItemBool("ShortDateInViewer",&mShortDateInViewer,false);
addItemString("UserDateFormatLong", &mUserDateFormatLong, "%A %d %b %y");
addItemString("UserDateFormatShort", &mUserDateFormatShort, "%aK %d.%m.%y");
KPrefs::setCurrentGroup("Colors");
addItemColor("Holiday Color",&mHolidayColor,defaultHolidayColor);
addItemColor("Highlight Color",&mHighlightColor,defaultHighlightColor);
addItemColor("Event Color",&mEventColor,mDefaultCategoryColor);
addItemColor("Agenda Background Color",&mAgendaBgColor,defaultAgendaBgColor);
addItemColor("WorkingHours Color",&mWorkingHoursColor,defaultWorkingHoursColor);
addItemColor("Todo due today Color",&mTodoDueTodayColor,defaultTodoDueTodayColor);
addItemColor("Todo overdue Color",&mTodoOverdueColor,defaultTodoOverdueColor);
addItemColor("MonthViewEvenColor",&mMonthViewEvenColor,QColor( 160,160,255 ));
addItemColor("MonthViewOddColor",&mMonthViewOddColor,QColor( 160,255,160 ));
addItemColor("MonthViewHolidayColor",&mMonthViewHolidayColor,QColor( 255,160,160 ));
addItemBool("MonthViewUsesDayColors",&mMonthViewUsesDayColors,true);
addItemBool("MonthViewSatSunTog",&mMonthViewSatSunTog,true);
addItemBool("HightlightDateTimeEdit",&mHightlightDateTimeEdit,false);
addItemColor("AppColor1",&mAppColor1,QColor( 130,170,255 ));
addItemColor("AppColor2",&mAppColor2,QColor( 174,216,255 ));
addItemBool("UseAppColors",&mUseAppColors,false);
KPrefs::setCurrentGroup("Views");
addItemInt("Hour Size",&mHourSize,8);
addItemBool("Show Daily Recurrences",&mDailyRecur,true);
addItemBool("Show Weekly Recurrences",&mWeeklyRecur,true);
addItemBool("Show Month Daily Recurrences",&mMonthDailyRecur,true);
addItemBool("Show Month Weekly Recurrences",&mMonthWeeklyRecur,true);
addItemBool("ShowShortMonthName",&mMonthShowShort,false);
addItemBool("ShowIconsInMonthCell",&mMonthShowIcons,true);
addItemBool("Enable ToolTips",&mEnableToolTips,false);
addItemBool("Enable MonthView ScrollBars",&mEnableMonthScroll,false);
addItemBool("Marcus Bains shows seconds",&mMarcusBainsShowSeconds,false);
addItemBool("Show Marcus Bains",&mMarcusBainsEnabled,true);
addItemBool("EditOnDoubleClick",&mEditOnDoubleClick,true);
addItemBool("ViewChangeHoldFullscreen",&mViewChangeHoldFullscreen,false);
addItemBool("ViewChangeHoldNonFullscreen",&mViewChangeHoldNonFullscreen,false);
addItemBool("CenterOnCurrentTime",&mCenterOnCurrentTime,false);
addItemBool("SetTimeToDayStartAt",&mSetTimeToDayStartAt,true);
addItemBool("HighlightCurrentDay",&mHighlightCurrentDay,true);
addItemBool("WNViewShowsParents",&mWNViewShowsParents,true);
addItemBool("WNViewShowLocation",&mWNViewShowLocation,false);
addItemBool("UseHighlightLightColor",&mUseHighlightLightColor,false);
addItemBool("ListViewMonthTimespan",&mListViewMonthTimespan,true);
addItemBool("TodoViewUsesCatColors",&mTodoViewUsesCatColors,false);
addItemBool("TodoViewShowsPercentage",&mTodoViewShowsPercentage,false);
addItemBool("TodoViewUsesSmallFont",&mTodoViewUsesSmallFont,false);
addItemBool("TodoViewUsesForegroundColor",&mTodoViewUsesForegroundColor,false);
addItemBool("MonthViewUsesForegroundColor",&mMonthViewUsesForegroundColor,false);
#ifdef DESKTOP_VERSION
addItemBool("UseInternalAlarmNotification",&mUseInternalAlarmNotification,true);
#else
addItemBool("UseInternalAlarmNotification",&mUseInternalAlarmNotification,false);
#endif
addItemInt("Day Begins",&mDayBegins,7);
addItemInt("Working Hours Start",&mWorkingHoursStart,8);
addItemInt("Working Hours End",&mWorkingHoursEnd,17);
addItemBool("Exclude Holidays",&mExcludeHolidays,true);
addItemBool("Exclude Saturdays",&mExcludeSaturdays,true);
addItemBool("Month View Uses Category Color",&mMonthViewUsesCategoryColor,false);
addItemBool("Full View Month",&mFullViewMonth,true);
addItemBool("Full View Todo",&mFullViewTodo,true);
addItemBool("Quick Todo",&mEnableQuickTodo,false);
addItemInt("Next X Days",&mNextXDays,3);
KPrefs::setCurrentGroup("Printer");
KPrefs::setCurrentGroup("Layout");
addItemBool("CompactDialogs",&mCompactDialogs,false);
addItemBool("VerticalScreen",&mVerticalScreen,true);
KPrefs::setCurrentGroup("KOrganizer Plugins");
addItemStringList("SelectedPlugins",&mSelectedPlugins,"holidays");
KPrefs::setCurrentGroup("Group Scheduling");
addItemInt("IMIPScheduler",&mIMIPScheduler,IMIPKMail);
addItemInt("IMIPSend",&mIMIPSend,IMIPdirectsend);
addItemStringList("AdditionalMails",&mAdditionalMails,"");
addItemInt("IMIP auto refresh",&mIMIPAutoRefresh,neverAuto);
addItemInt("IMIP auto insert request",&mIMIPAutoInsertRequest,neverAuto);
addItemInt("IMIP auto insert reply",&mIMIPAutoInsertReply,neverAuto);
addItemInt("IMIP auto FreeBusy",&mIMIPAutoFreeBusy,neverAuto);
addItemInt("IMIP auto save FreeBusy",&mIMIPAutoFreeBusyReply,neverAuto);
KPrefs::setCurrentGroup( "Editors" );
addItemStringList( "EventTemplates", &mEventTemplates );
addItemStringList( "TodoTemplates", &mTodoTemplates );
addItemInt("DestinationPolicy",&mDestination,standardDestination);
}
KOPrefs::~KOPrefs()
{
if (mInstance == this)
mInstance = insd.setObject(0);
setLocaleDict( 0 );
if ( mLocaleDict )
delete mLocaleDict;
//qDebug("KOPrefs::~KOPrefs() ");
}
KOPrefs *KOPrefs::instance()
{
if (!mInstance) {
mInstance = insd.setObject(new KOPrefs());
mInstance->readConfig();
}
return mInstance;
}
void KOPrefs::usrSetDefaults()
{
}
void KOPrefs::fillMailDefaults()
{
if (mName.isEmpty()) mName = i18n("Anonymous");
if (mEmail.isEmpty()) mEmail = i18n("nobody@nowhere");
}
void KOPrefs::setTimeZoneIdDefault()
{
mTimeZoneId = i18n("+01:00 Europe/Oslo(CET)");
}
void KOPrefs::setCategoryDefaults()
{
mCustomCategories.clear();
mCustomCategories = getDefaultList();
QStringList::Iterator it;
for (it = mCustomCategories.begin();it != mCustomCategories.end();++it ) {
setCategoryColor(*it,mDefaultCategoryColor);
}
}
QStringList KOPrefs::getDefaultList()
{
QStringList retval ;
retval << i18n("Anniversary") << i18n("Appointment") << i18n("Birthday") << i18n("Business") << i18n("Business Travel") << i18n("Cinema") << i18n("Customer")
<< i18n("Break")<< i18n("Breakfast")<< i18n("Competition")<< i18n("Dinner")
<< i18n("Education")<< i18n("Family") << i18n("Favorites") << i18n("Festival")<< i18n("Fishing")<< i18n("Flight") << i18n("Gifts")
<< i18n("Holiday") << i18n("Holiday Cards")<< i18n("Hot Contacts") << i18n("Hiking") << i18n("Hunting") << i18n("Key Customer") << i18n("Kids")
<< i18n("Lunch") << i18n("Meeting") << i18n("Miscellaneous") << i18n("Partner")<< i18n("Party") << i18n("Personal") << i18n("Personal Travel")
<< i18n("PHB") << i18n("Phone Calls") << i18n("Projects") << i18n("Recurring") << i18n("School") << i18n("Shopping")
<< i18n("Speach") << i18n("Special Occasion") << i18n("Sports") << i18n("Talk") << i18n("Travel") << i18n("TV")<< i18n("University")
<< i18n("Vacation") << i18n("VIP") << i18n("SyncEvent") ;
retval.sort();
return retval;
}
void KOPrefs::usrReadConfig()
{
mPreferredLanguage = KPimGlobalPrefs::instance()->mPreferredLanguage;
mLocaleDict = 0;
// pending LR fix translation
// qDebug("KOPrefs::usrReadConfig() fix translation ");
if ( mPreferredLanguage > 0 && mPreferredLanguage < 4 ) {
if ( mPreferredLanguage == 1 ) {
mLocaleDict = new QDict<QString>;
int i = 0;
QString fw ( germanwords[i] [0]);
while ( !fw.isEmpty() ) {
mLocaleDict->insert( fw, new QString (germanwords[i] [1] ));
++i;
fw = germanwords[i] [0];
}
setLocaleDict( mLocaleDict );
} else {
QString fileName ;
- if ( mPreferredLanguage == 3 )
+ if ( mPreferredLanguage == 4 )
fileName = MainWindow::resourcePath()+"usertranslation.txt";
else if ( mPreferredLanguage == 2 )
- fileName = MainWindow::resourcePath()+"frenchtranslation.txt";
+ fileName = MainWindow::resourcePath()+"frenchtranslation.txt";
+ else if ( mPreferredLanguage == 3 )
+ fileName = MainWindow::resourcePath()+"italiantranslation.txt";
QFile file( fileName );
if (file.open( IO_ReadOnly ) ) {
QTextStream ts( &file );
ts.setEncoding( QTextStream::Latin1 );
//ts.setCodec( QTextCodec::latin1 );
QString text = ts.read();
file.close();
text.replace( QRegExp("\\\\n"), "\n" );
QString line;
QString we;
QString wt;
int br = 0;
int nbr;
nbr = text.find ( "},", br );
line = text.mid( br, nbr - br );
br = nbr+1;
int se, ee, st, et;
mLocaleDict = new QDict<QString>;
QString end = "{ \"\",\"\" }";
while ( (line != end) && (br > 1) ) {
//qDebug("%d *%s* ", br, line.latin1());
se = line.find("\"")+1;
et = line.findRev("\"",-1);
ee = line.find("\",\"");
st = ee+3;
we = line.mid( se, ee-se );
wt = line.mid( st, et-st );
//qDebug("*%s* *%s* ", we.latin1(), wt.latin1());
mLocaleDict->insert( we, new QString (wt) );
nbr = text.find ( "}", br );
line = text.mid( br, nbr - br );
br = nbr+1;
}
//qDebug("end *%s* ", end.latin1());
setLocaleDict( mLocaleDict );
} else {
qDebug("KO: Cannot find translation file %s",fileName.latin1() );
}
}
}
config()->setGroup("General");
mCustomCategories = config()->readListEntry("Custom Categories");
if ( KOPrefs::instance()->mLanguageChanged ) {
mLocationDefaults.clear();
mEventSummaryUser.clear();
mTodoSummaryUser.clear();
}
if (mLocationDefaults.isEmpty()) {
mLocationDefaults << i18n("Home") << i18n("Office") << i18n("Library") << i18n("School") << i18n("Doctor") << i18n("Beach")
<< i18n("University") << i18n("Restaurant") << i18n("Bar") << i18n("Conference room") << i18n("Cinema") << i18n("Lake") << i18n("Kindergarten")
<< i18n("Germany") << i18n("Sweden") << i18n("Forest") << i18n("Desert") << i18n("Kitchen") ;
// << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("")
mLocationDefaults.sort();
}
if (mEventSummaryUser.isEmpty()) {
mEventSummaryUser = getDefaultList() ;
}
if (mTodoSummaryUser.isEmpty()) {
mTodoSummaryUser = getDefaultList() ;
}
if (mCustomCategories.isEmpty()) setCategoryDefaults();
config()->setGroup("Personal Settings");
mName = config()->readEntry("user_name","");
mEmail = config()->readEntry("user_email","");
fillMailDefaults();
config()->setGroup("Category Colors");
QStringList::Iterator it;
for (it = mCustomCategories.begin();it != mCustomCategories.end();++it ) {
setCategoryColor(*it,config()->readColorEntry(*it,&mDefaultCategoryColor));
}
if (mTimeZoneId.isEmpty()) {
setTimeZoneIdDefault();
}
KPimPrefs::usrReadConfig();
}
void KOPrefs::usrWriteConfig()
{
config()->setGroup("General");
config()->writeEntry("Custom Categories",mCustomCategories);
config()->setGroup("Personal Settings");
config()->writeEntry("user_name",mName);
config()->writeEntry("user_email",mEmail);
config()->setGroup("Category Colors");
QDictIterator<QColor> it(mCategoryColors);
while (it.current()) {
config()->writeEntry(it.currentKey(),*(it.current()));
++it;
}
KPimPrefs::usrWriteConfig();
}
void KOPrefs::setCategoryColor(QString cat,const QColor & color)
{
mCategoryColors.replace(cat,new QColor(color));
}
QColor *KOPrefs::categoryColor(QString cat)
{
QColor *color = 0;
if (!cat.isEmpty()) color = mCategoryColors[cat];
if (color) return color;
else return &mDefaultCategoryColor;
}
void KOPrefs::setFullName(const QString &name)
{
mName = name;
}
void KOPrefs::setEmail(const QString &email)
{
//qDebug(" KOPrefs::setEmai*********** %s",email.latin1() );
mEmail = email;
}
QString KOPrefs::fullName()
{
if (mEmailControlCenter) {
KEMailSettings settings;
return settings.getSetting(KEMailSettings::RealName);
} else {
return mName;
}
}
QString KOPrefs::email()
{
if (mEmailControlCenter) {
KEMailSettings settings;
return settings.getSetting(KEMailSettings::EmailAddress);
} else {
return mEmail;
}
}
KConfig* KOPrefs::getConfig()
{
return config();
}
diff --git a/libkdepim/kcmconfigs/kdepimconfigwidget.cpp b/libkdepim/kcmconfigs/kdepimconfigwidget.cpp
index 03034b4..1eef150 100644
--- a/libkdepim/kcmconfigs/kdepimconfigwidget.cpp
+++ b/libkdepim/kcmconfigs/kdepimconfigwidget.cpp
@@ -1,775 +1,776 @@
/*
This file is part of KdePim/Pi.
Copyright (c) 2004 Ulf Schenk
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
As a special exception, permission is given to link this program
with any edition of Qt, and distribute the resulting executable,
without including the source code for Qt in the source distribution.
*/
/*
Enhanced Version of the file for platform independent KDE tools.
Copyright (c) 2004 Ulf Schenk
$Id$
*/
#include <qlayout.h>
#include <qtabwidget.h>
#include <qcombobox.h>
#include <qgroupbox.h>
#include <qlabel.h>
#include <qlineedit.h>
#include <qbuttongroup.h>
#include <qfile.h>
#include <qregexp.h>
#include <kdialog.h>
#include <klocale.h>
#include <kdateedit.h>
#include <kglobal.h>
#include <stdlib.h>
/*US
#include <qcheckbox.h>
#include <qframe.h>
#include <qpushbutton.h>
#include <qcombobox.h>
#include <qlineedit.h>
#include <qlabel.h>
#include <qfile.h>
#include <kconfig.h>
#include <kdebug.h>
#include <kdialog.h>
#include <klistview.h>
#include <klocale.h>
#include <kglobal.h>
#include <kmessagebox.h>
#include <kstandarddirs.h>
#ifndef KAB_EMBEDDED
#include <ktrader.h>
#else // KAB_EMBEDDED
#include <mergewidget.h>
#include <distributionlistwidget.h>
#endif // KAB_EMBEDDED
#include "addresseewidget.h"
#include "extensionconfigdialog.h"
#include "extensionwidget.h"
*/
#include "qapplication.h"
#include "kpimglobalprefs.h"
#include "kdepimconfigwidget.h"
KDEPIMConfigWidget::KDEPIMConfigWidget(KPimGlobalPrefs *prefs, QWidget *parent, const char *name )
: KPrefsWidget(prefs, parent, name )
{
mExternalAppsMap.insert(ExternalAppHandler::EMAIL, i18n("Email"));
mExternalAppsMap.insert(ExternalAppHandler::PHONE, i18n("Phone"));
mExternalAppsMap.insert(ExternalAppHandler::SMS, i18n("SMS"));
mExternalAppsMap.insert(ExternalAppHandler::FAX, i18n("Fax"));
mExternalAppsMap.insert(ExternalAppHandler::PAGER, i18n("Pager"));
mExternalAppsMap.insert(ExternalAppHandler::SIP, i18n("SIP"));
QVBoxLayout *topLayout = new QVBoxLayout( this, 0,
KDialog::spacingHint() );
tabWidget = new QTabWidget( this );
topLayout->addWidget( tabWidget );
setupLocaleTab();
setupLocaleDateTab();
setupTimeZoneTab();
setupExternalAppTab();
}
void KDEPIMConfigWidget::showTimeZoneTab()
{
tabWidget->setCurrentPage ( 2 ) ;
}
void KDEPIMConfigWidget::setupExternalAppTab()
{
QWidget *externalAppsPage = new QWidget( this );
QVBoxLayout* layout = new QVBoxLayout( externalAppsPage, KDialog::marginHintSmall(),
KDialog::spacingHintSmall() );
mExternalApps = new QComboBox( externalAppsPage );
QMap<ExternalAppHandler::Types, QString>::Iterator it;
for( it = mExternalAppsMap.begin(); it != mExternalAppsMap.end(); ++it )
mExternalApps->insertItem( it.data(), it.key() );
layout->addWidget( mExternalApps );
connect( mExternalApps, SIGNAL( activated( int ) ),
this, SLOT (externalapp_changed( int ) ) );
mExternalAppGroupBox = new QGroupBox( 0, Qt::Vertical, i18n( "Used Mail Client" ), externalAppsPage );
QGridLayout *boxLayout = new QGridLayout( mExternalAppGroupBox->layout(), 4, 2, -1, "gridlayout" );
mClient = new QComboBox( mExternalAppGroupBox );
boxLayout->addMultiCellWidget( mClient, 0, 0, 0, 1 );
connect( mClient, SIGNAL( activated( int ) ),
this, SLOT (client_changed( int ) ) );
QLabel* lab = new QLabel( i18n("Channel:"), mExternalAppGroupBox);
boxLayout->addWidget( lab, 1, 0 );
mChannel = new QLineEdit(mExternalAppGroupBox);
mChannel->setReadOnly(true);
boxLayout->addMultiCellWidget( mChannel, 2 , 2, 0, 1 );
lab = new QLabel( i18n("Message:"), mExternalAppGroupBox);
boxLayout->addWidget( lab, 3, 0 );
mMessage = new QLineEdit(mExternalAppGroupBox);
mMessage->setReadOnly(true);
boxLayout->addWidget( mMessage , 4, 0);
lab = new QLabel( i18n("Parameters:"), mExternalAppGroupBox);
boxLayout->addWidget( lab, 3, 1 );
mParameters = new QLineEdit(mExternalAppGroupBox);
mParameters->setReadOnly(true);
boxLayout->addWidget( mParameters, 4, 1 );
lab = new QLabel( i18n("HINT: Delimiter=; Name=%1,Email=%2"), mExternalAppGroupBox);
boxLayout->addMultiCellWidget( lab, 5, 5, 0, 1 );
lab = new QLabel( i18n("extra Message:"), mExternalAppGroupBox);
boxLayout->addWidget( lab, 6, 0 );
mMessage2 = new QLineEdit(mExternalAppGroupBox);
mMessage2->setReadOnly(true);
boxLayout->addWidget( mMessage2 , 7, 0);
lab = new QLabel( i18n("extra Parameters:"), mExternalAppGroupBox);
boxLayout->addWidget( lab, 6, 1 );
mParameters2 = new QLineEdit(mExternalAppGroupBox);
mParameters2->setReadOnly(true);
boxLayout->addWidget( mParameters2, 7, 1 );
lab = new QLabel( i18n("HINT: Emails=%1,Attachments=%2"), mExternalAppGroupBox);
boxLayout->addMultiCellWidget( lab, 8, 8, 0, 1 );
connect( mChannel, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) );
connect( mMessage, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) );
connect( mParameters, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) );
connect( mMessage2, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) );
connect( mParameters2, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) );
layout->addWidget( mExternalAppGroupBox );
tabWidget->addTab( externalAppsPage, i18n( "External Apps." ) );
}
void KDEPIMConfigWidget::setupLocaleDateTab()
{
QWidget *topFrame = new QWidget( this );
QGridLayout *topLayout = new QGridLayout( topFrame, 3, 2);
topLayout->setSpacing(KDialog::spacingHint());
topLayout->setMargin(KDialog::marginHint());
int iii = 0;
KPrefsWidRadios *syncPrefsGroup =
addWidRadios(i18n("Date Format:"),&(KPimGlobalPrefs::instance()->mPreferredDate),topFrame);
QString format;
if ( QApplication::desktop()->width() < 480 )
format = "(%d.%m.%Y)";
else
format = "(%d.%m.%Y|%A %d %B %Y)";
syncPrefsGroup->addRadio(i18n("24.03.2004 "+format));
if ( QApplication::desktop()->width() < 480 )
format = "(%m.%d.%Y)";
else
format = "(%m.%d.%Y|%A %B %d %Y)";
syncPrefsGroup->addRadio(i18n("03.24.2004 "+format));
if ( QApplication::desktop()->width() < 480 )
format = "(%Y-%m-%d)";
else
format = "(%Y-%m-%d|%A %Y %B %d)";
syncPrefsGroup->addRadio(i18n("2004-03-24 "+format));
syncPrefsGroup->addRadio(i18n("User defined"));
topLayout->addMultiCellWidget( (QWidget*)syncPrefsGroup->groupBox(),iii,iii,0,1);
++iii;
++iii;
QLabel * lab;
mUserDateFormatLong = new QLineEdit(topFrame);
lab = new QLabel(mUserDateFormatLong, i18n("User long date:"), topFrame);
topLayout->addWidget(lab ,iii,0);
topLayout->addWidget(mUserDateFormatLong,iii,1);
++iii;
mUserDateFormatShort = new QLineEdit(topFrame);
lab = new QLabel(mUserDateFormatShort, i18n("User short date:"), topFrame);
topLayout->addWidget(lab ,iii,0);
topLayout->addWidget(mUserDateFormatShort,iii,1);
++iii;
lab = new QLabel( i18n("Monday 19 April 2004: %A %d %B %Y"), topFrame);
topLayout->addMultiCellWidget(lab ,iii,iii,0,1);
++iii;
lab = new QLabel( i18n("Mon 19.04.04: %a %d.%m.%y"), topFrame);
topLayout->addMultiCellWidget(lab ,iii,iii,0,1);
++iii;
lab = new QLabel( i18n("Mon, 19.Apr.04: %a, %d.%b.%y"), topFrame);
topLayout->addMultiCellWidget(lab ,iii,iii,0,1);
++iii;
connect( mUserDateFormatLong, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) );
connect( mUserDateFormatShort, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) );
tabWidget->addTab( topFrame, i18n( "Date Format" ) );
}
void KDEPIMConfigWidget::setupLocaleTab()
{
QWidget *topFrame = new QWidget( this );
QGridLayout *topLayout = new QGridLayout(topFrame,4,2);
topLayout->setSpacing(KDialog::spacingHint());
topLayout->setMargin(KDialog::marginHint());
int iii = 0;
KPrefsWidRadios *syncPrefsGroup =
addWidRadios(i18n("Language:(needs restart)"),&(KPimGlobalPrefs::instance()->mPreferredLanguage),topFrame);
syncPrefsGroup->addRadio(i18n("English"));
syncPrefsGroup->addRadio(i18n("German"));
syncPrefsGroup->addRadio(i18n("French"));
+ syncPrefsGroup->addRadio(i18n("Italian"));
syncPrefsGroup->addRadio(i18n("User defined (usertranslation.txt)"));
if ( QApplication::desktop()->width() < 300 )
;// syncPrefsGroup->groupBox()-> setOrientation (Qt::Vertical);
topLayout->addMultiCellWidget( (QWidget*)syncPrefsGroup->groupBox(),iii,iii,0,1);
++iii;
syncPrefsGroup =
addWidRadios(i18n("Time Format(nr):"),&(KPimGlobalPrefs::instance()->mPreferredTime),topFrame);
if ( QApplication::desktop()->width() > 300 )
syncPrefsGroup->groupBox()->setOrientation (Qt::Vertical);
syncPrefsGroup->addRadio(i18n("24:00"));
syncPrefsGroup->addRadio(i18n("12:00am"));
syncPrefsGroup->groupBox()->setOrientation (Qt::Vertical);
topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1);
++iii;
KPrefsWidBool *sb = addWidBool(i18n("Week starts on Sunday"),
&(KPimGlobalPrefs::instance()->mWeekStartsOnSunday),topFrame);
topLayout->addMultiCellWidget((QWidget*)sb->checkBox(), iii,iii,0,1);
++iii;
tabWidget->addTab( topFrame, i18n( "Locale" ) );
}
void KDEPIMConfigWidget::setupTimeZoneTab()
{
QWidget *topFrame = new QWidget( this );
QGridLayout *topLayout = new QGridLayout( topFrame, 5, 2);
topLayout->setSpacing(KDialog::spacingHint());
topLayout->setMargin(KDialog::marginHint());
QHBox *timeZoneBox = new QHBox( topFrame );
topLayout->addMultiCellWidget( timeZoneBox, 0, 0, 0, 1 );
new QLabel( i18n("Timezone:"), timeZoneBox );
mTimeZoneCombo = new QComboBox( timeZoneBox );
if ( QApplication::desktop()->width() < 300 ) {
mTimeZoneCombo->setMaximumWidth(150);
}
QStringList list;
list = KGlobal::locale()->timeZoneList();
mTimeZoneCombo->insertStringList(list);
// find the currently set time zone and select it
QString sCurrentlySet = KPimGlobalPrefs::instance()->mTimeZoneId;
int nCurrentlySet = 11;
for (int i = 0; i < mTimeZoneCombo->count(); i++)
{
if (mTimeZoneCombo->text(i) == sCurrentlySet)
{
nCurrentlySet = i;
break;
}
}
mTimeZoneCombo->setCurrentItem(nCurrentlySet);
int iii = 1;
KPrefsWidBool *sb =
addWidBool(i18n("Timezone has daylight saving"),
&(KPimGlobalPrefs::instance()->mUseDaylightsaving),topFrame);
topLayout->addMultiCellWidget((QWidget*)sb->checkBox(), iii,iii,0,1);
++iii;
QLabel* lab = new QLabel( i18n("Actual start and end is the\nsunday before this date."), topFrame );
topLayout->addMultiCellWidget(lab, iii,iii,0,1);
++iii;
lab = new QLabel( i18n("The year in the date is ignored."), topFrame );
topLayout->addMultiCellWidget(lab, iii,iii,0,1);
++iii;
lab = new QLabel( i18n("Daylight start:"), topFrame );
topLayout->addWidget(lab, iii,0);
mStartDateSavingEdit = new KDateEdit(topFrame);
topLayout->addWidget(mStartDateSavingEdit, iii,1);
++iii;
lab = new QLabel( i18n("Daylight end:"), topFrame );
topLayout->addWidget(lab, iii,0);
mEndDateSavingEdit = new KDateEdit(topFrame);
topLayout->addWidget(mEndDateSavingEdit, iii,1);
++iii;
QDate current ( 2001, 1,1);
mStartDateSavingEdit->setDate(current.addDays(KPimGlobalPrefs::instance()->mDaylightsavingStart-1));
mEndDateSavingEdit->setDate(current.addDays(KPimGlobalPrefs::instance()->mDaylightsavingEnd-1));
connect( mStartDateSavingEdit, SIGNAL( dateChanged(QDate)), this, SLOT( modified()) );
connect( mEndDateSavingEdit, SIGNAL( dateChanged(QDate)), this, SLOT( modified()) );
connect( mTimeZoneCombo, SIGNAL( activated( int ) ), this, SLOT (modified() ) );
tabWidget->addTab( topFrame, i18n( "Time Zone" ) );
}
void KDEPIMConfigWidget::externalapp_changed( int newApp )
{
// first store the current data
saveEditFieldSettings();
// set mCurrentApp
mCurrentApp = (ExternalAppHandler::Types)newApp;
// set mCurrentClient
switch(mCurrentApp)
{
case(ExternalAppHandler::EMAIL):
mCurrentClient = mEmailClient;
break;
case(ExternalAppHandler::PHONE):
mCurrentClient = mPhoneClient;
break;
case(ExternalAppHandler::SMS):
mCurrentClient = mSMSClient;
break;
case(ExternalAppHandler::FAX):
mCurrentClient = mFaxClient;
break;
case(ExternalAppHandler::PAGER):
mCurrentClient = mPagerClient;
break;
case(ExternalAppHandler::SIP):
mCurrentClient = mSipClient;
break;
default:
return;
}
// and at last update the widgets
updateClientWidgets();
}
void KDEPIMConfigWidget::client_changed( int newClient )
{
if (newClient == mCurrentClient)
return;
// first store the current data
saveEditFieldSettings();
//then reset the clientvariable
mCurrentClient = newClient;
// and at last update the widgets
updateClientWidgets();
KPrefsWidget::modified();
}
void KDEPIMConfigWidget::saveEditFieldSettings()
{
switch(mCurrentApp)
{
case(ExternalAppHandler::EMAIL):
mEmailClient = mClient->currentItem();
break;
case(ExternalAppHandler::PHONE):
mPhoneClient= mClient->currentItem();
break;
case(ExternalAppHandler::SMS):
mSMSClient = mClient->currentItem();
break;
case(ExternalAppHandler::FAX):
mFaxClient = mClient->currentItem();
break;
case(ExternalAppHandler::PAGER):
mPagerClient = mClient->currentItem();
break;
case(ExternalAppHandler::SIP):
mSipClient = mClient->currentItem();
break;
default:
return;
}
//store the current data back to the apropriate membervariables if we had set it to "other"
if ((mCurrentApp == ExternalAppHandler::EMAIL) && (mCurrentClient == KPimGlobalPrefs::OTHER_EMC))
{
mEmailOtherChannel = mChannel->text();
mEmailOtherMessage = mMessage->text();
mEmailOtherMessageParameters = mParameters->text();
mEmailOtherMessage2 = mMessage2->text();
mEmailOtherMessageParameters2 = mParameters2->text();
}
else if ((mCurrentApp == ExternalAppHandler::PHONE) && (mCurrentClient == KPimGlobalPrefs::OTHER_PHC))
{
mPhoneOtherChannel = mChannel->text();
mPhoneOtherMessage = mMessage->text();
mPhoneOtherMessageParameters = mParameters->text();
}
else if ((mCurrentApp == ExternalAppHandler::SMS) && (mCurrentClient == KPimGlobalPrefs::OTHER_SMC))
{
mSMSOtherChannel = mChannel->text();
mSMSOtherMessage = mMessage->text();
mSMSOtherMessageParameters = mParameters->text();
}
else if ((mCurrentApp == ExternalAppHandler::FAX) && (mCurrentClient == KPimGlobalPrefs::OTHER_FAC))
{
mFaxOtherChannel = mChannel->text();
mFaxOtherMessage = mMessage->text();
mFaxOtherMessageParameters = mParameters->text();
}
else if ((mCurrentApp == ExternalAppHandler::PAGER) && (mCurrentClient == KPimGlobalPrefs::OTHER_PAC))
{
mPagerOtherChannel = mChannel->text();
mPagerOtherMessage = mMessage->text();
mPagerOtherMessageParameters = mParameters->text();
}
else if ((mCurrentApp == ExternalAppHandler::SIP) && (mCurrentClient == KPimGlobalPrefs::OTHER_SIC))
{
mSipOtherChannel = mChannel->text();
mSipOtherMessage = mMessage->text();
mSipOtherMessageParameters = mParameters->text();
}
}
void KDEPIMConfigWidget::updateClientWidgets()
{
bool blocked = signalsBlocked();
blockSignals( true );
// at this point we assume, that mCurrentApp and mCurrentClient are set to the values that we want to display
QMap<ExternalAppHandler::Types, QString>::Iterator it = mExternalAppsMap.find ( mCurrentApp );
if (it == mExternalAppsMap.end())
return;
// update group box
mExternalAppGroupBox->setTitle(i18n( "Used %1 Client" ).arg(it.data()));
//update the entries in the client combobox
mClient->clear();
QList<DefaultAppItem> items = ExternalAppHandler::instance()->getAvailableDefaultItems(mCurrentApp);
DefaultAppItem* dai;
for ( dai=items.first(); dai != 0; dai=items.next() )
{
mClient->insertItem( i18n(dai->_label), dai->_id );
if (dai->_id == mCurrentClient)
{
//restore the edit fields with the data of the local membervariables if we had set it to "other".
//Otherwise take the default data from externalapphandler.
mChannel->setText(dai->_channel);
mMessage->setText(dai->_message);
mParameters->setText(dai->_parameters);
mMessage2->setText(dai->_message2);
mParameters2->setText(dai->_parameters2);
if ((mCurrentApp == ExternalAppHandler::EMAIL) && (mCurrentClient == KPimGlobalPrefs::OTHER_EMC))
{
mChannel->setText(mEmailOtherChannel);
mMessage->setText(mEmailOtherMessage);
mParameters->setText(mEmailOtherMessageParameters);
mMessage2->setText(mEmailOtherMessage2);
mParameters2->setText(mEmailOtherMessageParameters2);
}
else if ((mCurrentApp == ExternalAppHandler::PHONE) && (mCurrentClient == KPimGlobalPrefs::OTHER_PHC))
{
mChannel->setText(mPhoneOtherChannel);
mMessage->setText(mPhoneOtherMessage);
mParameters->setText(mPhoneOtherMessageParameters);
}
else if ((mCurrentApp == ExternalAppHandler::SMS) && (mCurrentClient == KPimGlobalPrefs::OTHER_SMC))
{
mChannel->setText(mSMSOtherChannel);
mMessage->setText(mSMSOtherMessage);
mParameters->setText(mSMSOtherMessageParameters);
}
else if ((mCurrentApp == ExternalAppHandler::FAX) && (mCurrentClient == KPimGlobalPrefs::OTHER_FAC))
{
mChannel->setText(mFaxOtherChannel);
mMessage->setText(mFaxOtherMessage);
mParameters->setText(mFaxOtherMessageParameters);
}
else if ((mCurrentApp == ExternalAppHandler::PAGER) && (mCurrentClient == KPimGlobalPrefs::OTHER_PAC))
{
mChannel->setText(mPagerOtherChannel);
mMessage->setText(mPagerOtherMessage);
mParameters->setText(mPagerOtherMessageParameters);
}
else if ((mCurrentApp == ExternalAppHandler::SIP) && (mCurrentClient == KPimGlobalPrefs::OTHER_SIC))
{
mChannel->setText(mSipOtherChannel);
mMessage->setText(mSipOtherMessage);
mParameters->setText(mSipOtherMessageParameters);
}
}
}
bool readonly;
bool enabled;
if ( ((mCurrentApp == ExternalAppHandler::EMAIL) && (mCurrentClient == KPimGlobalPrefs::OTHER_EMC))
||((mCurrentApp == ExternalAppHandler::PHONE) && (mCurrentClient == KPimGlobalPrefs::OTHER_PHC))
||((mCurrentApp == ExternalAppHandler::SMS) && (mCurrentClient == KPimGlobalPrefs::OTHER_SMC))
||((mCurrentApp == ExternalAppHandler::FAX) && (mCurrentClient == KPimGlobalPrefs::OTHER_FAC))
||((mCurrentApp == ExternalAppHandler::PAGER) && (mCurrentClient == KPimGlobalPrefs::OTHER_PAC))
||((mCurrentApp == ExternalAppHandler::SIP) && (mCurrentClient == KPimGlobalPrefs::OTHER_SIC)))
{
readonly = false;
}
else
{
readonly = true;
}
if ( ((mCurrentApp == ExternalAppHandler::EMAIL) && (mCurrentClient == KPimGlobalPrefs::NONE_EMC))
||((mCurrentApp == ExternalAppHandler::PHONE) && (mCurrentClient == KPimGlobalPrefs::NONE_PHC))
||((mCurrentApp == ExternalAppHandler::SMS) && (mCurrentClient == KPimGlobalPrefs::NONE_SMC))
||((mCurrentApp == ExternalAppHandler::FAX) && (mCurrentClient == KPimGlobalPrefs::NONE_FAC))
||((mCurrentApp == ExternalAppHandler::PAGER) && (mCurrentClient == KPimGlobalPrefs::NONE_PAC))
||((mCurrentApp == ExternalAppHandler::SIP) && (mCurrentClient == KPimGlobalPrefs::NONE_SIC)))
{
enabled = false;
}
else
{
enabled = true;
}
mChannel->setReadOnly(readonly);
mMessage->setReadOnly(readonly);
mParameters->setReadOnly(readonly);
mMessage2->setReadOnly(readonly);
mParameters2->setReadOnly(readonly);
mChannel->setEnabled(enabled);
mMessage->setEnabled(enabled);
mParameters->setEnabled(enabled);
mMessage2->setEnabled(enabled);
mParameters2->setEnabled(enabled);
mClient->setCurrentItem(mCurrentClient);
// enable/disable the extra message/parameter field
if (mCurrentApp == ExternalAppHandler::EMAIL)
{
}
else
{
mMessage2->setText( "" );
mParameters2->setText( "" );
}
if (enabled == true) {
mMessage2->setEnabled(mCurrentApp == ExternalAppHandler::EMAIL);
mParameters2->setEnabled(mCurrentApp == ExternalAppHandler::EMAIL);
}
blockSignals( blocked );
}
void KDEPIMConfigWidget::usrReadConfig()
{
KPimGlobalPrefs* prefs = KPimGlobalPrefs::instance();
bool blocked = signalsBlocked();
blockSignals( true );
QString dummy = prefs->mUserDateFormatLong;
mUserDateFormatLong->setText(dummy.replace( QRegExp("K"), QString(",") ));
dummy = prefs->mUserDateFormatShort;
mUserDateFormatShort->setText(dummy.replace( QRegExp("K"), QString(",") ));
QDate current ( 2001, 1,1);
mStartDateSavingEdit->setDate(current.addDays(prefs->mDaylightsavingStart-1));
mEndDateSavingEdit->setDate(current.addDays(prefs->mDaylightsavingEnd-1));
setCombo(mTimeZoneCombo,i18n(prefs->mTimeZoneId));
mEmailClient = prefs->mEmailClient;
mEmailOtherChannel = prefs->mEmailOtherChannel;
mEmailOtherMessage = prefs->mEmailOtherMessage;
mEmailOtherMessageParameters = prefs->mEmailOtherMessageParameters;
mEmailOtherMessage2 = prefs->mEmailOtherMessage2;
mEmailOtherMessageParameters2 = prefs->mEmailOtherMessageParameters2;
mPhoneClient = prefs->mPhoneClient;
mPhoneOtherChannel = prefs->mPhoneOtherChannel;
mPhoneOtherMessage = prefs->mPhoneOtherMessage;
mPhoneOtherMessageParameters = prefs->mPhoneOtherMessageParameters;
mFaxClient = prefs->mFaxClient;
mFaxOtherChannel = prefs->mFaxOtherChannel;
mFaxOtherMessage = prefs->mFaxOtherMessage;
mFaxOtherMessageParameters = prefs->mFaxOtherMessageParameters;
mSMSClient = prefs->mSMSClient;
mSMSOtherChannel = prefs->mSMSOtherChannel;
mSMSOtherMessage = prefs->mSMSOtherMessage;
mSMSOtherMessageParameters = prefs->mSMSOtherMessageParameters;
mPagerClient = prefs->mPagerClient;
mPagerOtherChannel = prefs->mPagerOtherChannel;
mPagerOtherMessage = prefs->mPagerOtherMessage;
mPagerOtherMessageParameters = prefs->mPagerOtherMessageParameters;
mSipClient = prefs->mPagerClient;
mSipOtherChannel = prefs->mSipOtherChannel;
mSipOtherMessage = prefs->mSipOtherMessage;
mSipOtherMessageParameters = prefs->mSipOtherMessageParameters;
mCurrentApp = ExternalAppHandler::EMAIL;
mCurrentClient = mEmailClient;
updateClientWidgets();
blockSignals( blocked );
}
void KDEPIMConfigWidget::usrWriteConfig()
{
KPimGlobalPrefs* prefs = KPimGlobalPrefs::instance();
saveEditFieldSettings();
prefs->mUserDateFormatShort = mUserDateFormatShort->text().replace( QRegExp(","), QString("K") );
prefs->mUserDateFormatLong = mUserDateFormatLong->text().replace( QRegExp(","), QString("K") );
prefs->mTimeZoneId = mTimeZoneCombo->currentText();
QDate date;
date = mStartDateSavingEdit->date();
int sub = 0;
if ( QDate::leapYear( date.year() ) && date.dayOfYear() > 59 )
sub = 1;
prefs->mDaylightsavingStart = date.dayOfYear()-sub;
date = mEndDateSavingEdit->date();
if ( QDate::leapYear( date.year() ) && date.dayOfYear() > 59 )
sub = 1;
else
sub = 0;
prefs->mDaylightsavingEnd = date.dayOfYear()-sub;
prefs->mEmailClient = mEmailClient;
prefs->mEmailOtherChannel = mEmailOtherChannel;
prefs->mEmailOtherMessage = mEmailOtherMessage;
prefs->mEmailOtherMessageParameters = mEmailOtherMessageParameters;
prefs->mEmailOtherMessage2 = mEmailOtherMessage2;
prefs->mEmailOtherMessageParameters2 = mEmailOtherMessageParameters2;
prefs->mPhoneClient = mPhoneClient;
prefs->mPhoneOtherChannel = mPhoneOtherChannel;
prefs->mPhoneOtherMessage = mPhoneOtherMessage;
prefs->mPhoneOtherMessageParameters = mPhoneOtherMessageParameters;
prefs->mFaxClient = mFaxClient;
prefs->mFaxOtherChannel = mFaxOtherChannel;
prefs->mFaxOtherMessage = mFaxOtherMessage;
prefs->mFaxOtherMessageParameters = mFaxOtherMessageParameters;
prefs->mSMSClient = mSMSClient;
prefs->mSMSOtherChannel = mSMSOtherChannel;
prefs->mSMSOtherMessage = mSMSOtherMessage;
prefs->mSMSOtherMessageParameters = mSMSOtherMessageParameters;
prefs->mPagerClient = mPagerClient;
prefs->mPagerOtherChannel = mPagerOtherChannel;
prefs->mPagerOtherMessage = mPagerOtherMessage;
prefs->mPagerOtherMessageParameters = mPagerOtherMessageParameters;
prefs->mSipClient = mSipClient;
prefs->mSipOtherChannel = mSipOtherChannel;
prefs->mSipOtherMessage = mSipOtherMessage;
prefs->mSipOtherMessageParameters = mSipOtherMessageParameters;
//release the cache that other views can access the changed values instantanious
ExternalAppHandler::instance()->loadConfig();
KPimGlobalPrefs::instance()->setGlobalConfig();
}
void KDEPIMConfigWidget::setCombo(QComboBox *combo, const QString & text,
const QStringList *tags)
{
if (tags) {
int i = tags->findIndex(text);
if (i > 0) combo->setCurrentItem(i);
} else {
for(int i=0;i<combo->count();++i) {
if (combo->text(i) == text) {
combo->setCurrentItem(i);
break;
}
}
}
}
void KDEPIMConfigWidget::textChanged( const QString& text )
{
emit changed( true );
}