-rw-r--r-- | bin/kdepim/korganizer/germantranslation.txt | 15 | ||||
-rw-r--r-- | desktop/rpm/kdepim_rpm | 2 | ||||
-rw-r--r-- | korganizer/calendarview.cpp | 11 | ||||
-rw-r--r-- | korganizer/calendarview.h | 1 | ||||
-rw-r--r-- | korganizer/kolistview.cpp | 3 | ||||
-rw-r--r-- | korganizer/kotodoview.cpp | 4 | ||||
-rw-r--r-- | korganizer/mainwindow.cpp | 167 | ||||
-rw-r--r-- | korganizer/mainwindow.h | 1 | ||||
-rw-r--r-- | version | 2 |
9 files changed, 126 insertions, 80 deletions
diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt index 3daf215..2bfdb2f 100644 --- a/bin/kdepim/korganizer/germantranslation.txt +++ b/bin/kdepim/korganizer/germantranslation.txt @@ -264,97 +264,97 @@ { "Next year","Nächstes Jahr" }, { "Next Year","Nächstes Jahr" }, { "%n h","%n Std" }, { "No ending date","Kein End-Datum", }, { "No event, nothing to do.","Kein Termin, nichts zu tun.", }, { "No event selected.","Kein Termin selektiert" }, { "No","Nein" }, { "No program set","Kein Programm ausgewählt", }, { "Normal","Normal" }, { "[No selection]","Keine Selektion", }, { "No sound set","Kein Sound ausgewählt", }, { "no time ","keine Zeit ", }, { "no time","keine Zeit", }, { "No Time","Keine Zeit" }, { "November","November" }, { "Nov","Nov", }, { "\nThis event recurs\nover multiple dates.\n","\nDieser Termin wiederholt sich an mehreren Tagen.\n" }, { "occurrence(s)","Vorkommen" }, { "October","Oktober" }, { "Oct","Okt", }, { "O-due!","Ü-fällig! " }, { "&OK","&OK" }, { "Ok+Show!","Ok+Anzeigen" }, { "Organizer: %1","Organisator %1" }, { "Organizer","Organisator" }, { "Owner: ","Besitzer: " }, { "Owner:","Besitzer:" }, { "<p><b>Priority:</b> %2</p>","<p><b>Priorität:</b> %2</p>" }, { "Pick a date to display","Wähle einen Tag zum anzeigen aus" }, { "Please specify a valid due date.","Bitte gültiges Fälligkeitsdatum angeben."}, { "Please specify a valid end date,\nfor example '%1'.","Bitte gültiges Enddatum angeben,\nz.B.'%1'." }, { "Please specify a valid start date.","Bitte gültiges Startdatum angeben." }, { "Please specify a valid start date,\nfor example '%1'.","Bitte gültiges Startdatum angeben,\nz.B. '%1'." }, { "Please specify a valid start time.","Bitte gültige Startzeit angeben."}, { "Please specify a valid start time,\nfor example '%1'.","Bitte gültige Startzeit angeben,\nz.B. '%1'." }, { "Preferences - some settings need a restart (nr)","Einstellungen - teilweise Neustart erforderlich (bn)" }, { "&Previous Day","Vorheriger Tag" }, { "Previous month","Vorheriger Monat" }, { "Previous Month","Vorheriger Monat" }, { "&Previous Week","Vorherige Woche" }, { "Previous year","Vorheriges Jahr" }, { "Previous Year","Vorheriges Jahr" }, { "Printing","Drucken" }, { "Priority:","Priorität:" }, { "Private","Privat" }, { "Proceed","Weiter" }, { "Public","Öffentlich" }, { "Purge","Entferne" }, -{ "Purge Completed","Entferne erledigte Todos" }, +{ "Purge Completed...","Entferne erledigte Todos..." }, { "Purge Todos","Todos bereinigen" }, { "read-only","schreibgeschützt" }, { "Recur every","Wiederh. alle" }, { "Recur in the month of","Wiederh. im Monat" }, { "Recur on the","Wiederh. am" }, { "Recur on this day","Wiederh. am diesen Tag" }, { "Recurrence Range...","Wiederholungs Zeitraum..." }, { "Recurrence Range","Wiederholungs Zeitraum" }, { "Recurrence Rule","Wiederholungs Regel" }, { "Recurrence","Wiederholung" }, { "Recurs","Wiederholung" }, {"&Reject","Abweisen"}, { "Reminder:","Alarm:" }, { "Rem.:","Alarm:" }, { "Rem.","Alarm:" }, { "Remote file:","Remote Datei:"}, { "Remote IP:","Remote (ferne) IP:" }, { "Remote syncing (via ssh/scp) network settings ","Remote Sync (via ssh/scp) Netzwerk Einstellungen " }, { "Remote user:","Remote Benutzer"}, { "&Remove","Entfe&rnen" }, { "Remove","Entfernen" }, { "Request response","Bemerkung anfordern" }, { "Role:","Rolle:" }, { "Role","Rolle" }, { "Sat","Sa" }, { "Saturday","Samstag" }, { "Search for:","Suche nach:" }, { "Search In","Suche in" }, { "Search...","Suche..." }, { "Search","Suche" }, { "Select Addresses","Wähle Adressen" }, { "Select all","Selektiere Alle" }, { "Select a month","Wähle Monat" }, { "Select a week","Wähle Woche" }, { "Select a year","Wähle Jahr" }, { "Send directly","Sende direkt" }, { "&Send Messages","&Sende Nachrichten", }, { "Sep","Sep" }, { "September","September" }, { "Shopping","Einkaufen" }, { "Show Dates","Zeige Daten" }, { "Show events that recur daily in date nav.","Zeige tägl.wiederh.Term.in Datums Nav." }, { "Show Event...","Zeige Termin..." }, { "Show ev. that recur weekly in date nav.","Zeige wöch.wiederh.Term.in Datums Nav." }, { "Show Marcus Bains line","Zeige Marcus Bains Linie" }, { "Show summary after syncing","Zeige Zusammenfassung nach Sync." }, { "Show time as:","Zeige Zeit als" }, { "Show Todo...","Zeige To-Do" }, @@ -428,169 +428,168 @@ { "Wednesday","Mittwoch" }, { "Week %1","Woche %1" }, { "Weekly","Wöchentlich" }, { "Week starts on Sunday","Woche beginnt Sonntags" }, { "What's Next View:","What's Next Anz." }, { "What's next ?","Was kommt als nächstes?(What's Next)" }, { "Working Hours","Tägliche Arbeitszeit" }, { "Working hours color:","Arbeitszeit in der Agenda Ansicht:" }, { "Write back existing entries only","Nur exisitierende Einträge zurückschreiben" }, { "Write back synced file","Syncronisierte Datei zurückschreiben" }, { "Yearly","Jährlich" }, { "year(s)","Jahr(e)" }, { "Yes","Ja" }, { "You have %d item(s) selected.\n","Sie haben %d Einträge ausgewählt.\n" }, { "You have to restart KOrganizer for this setting to take effect.","Sie müssem Korganizer neu starten, damit diese Einstellung aktiviert wird." }, { "week(s) on:","Woche(n) am: " }, { "Full menu bar(nr)","Volle Menuleiste(bn)" }, { "Timezone has daylight saving","Zeitzone hat Sommerzeit" }, { "Actual start and end is the\nsunday before this date.","Tatsächlicher Beginn/Ende ist der\nSonntag vor diesem Datum!" }, { "The year in the date is ignored.","Das Jahr vom Datum wird ignoriert." }, { "Daylight start:","Sommerzeit Start:" }, { "Daylight end:","Sommerzeit Ende:" }, { "Time Zone","Zeitzone" }, { "Monday 19 April 2004: %A %d %B %Y","Montag 19 April 2004: %A %d %B %Y" }, { "%A: Monday --- %a: Mon","%A: Montag --- %a: Mon" }, { "minutely","minütlich" }, { "hourly","stündlich" }, { "daily","täglich" }, { "weekly","wöchentlich" }, { "monthly","monatlich" }, { "day-monthly","tag-monatlich" }, { "month-yearly","monat-jährlich" }, { "day-yearly","tag-jährlich" }, { "position-yearly","pos-jährlich" }, { "Edit item on doubleclick (if not, show)","Editiere mit Doppelklick(wenn nicht, zeige)" }, { "Highlight current day in agenda","Hebe >>heute<< in Agenda hervor" }, { "Use light color for highlight current day","Helle Farbe für >>heute<< Hervorhebung" }, { "Highlight selection in Time Edit","Hebe Auswahl in Zeit Edit hervor" }, { "Hold fullscreen on view change","Behalte Vollbild bei Ansichswechsel" }, { "Hold non-fullscreen on view change","Behalte Nicht-Vollbild bei Ansichtsw." }, { "Event list view uses full window","Listenansicht nutzt Vollbild" }, { "Set agenda to DayBeginsAt on change","Setze Agenda auf TagBeginntUm bei Wechsel" }, { "Set agenda to current time on change","Setze Agenda auf gegenw.Zeit bei Wechsel" }, { "Listview uses monthly timespan","Listenansicht zeigt monatliche Zeitspanne" }, { "ViewChange","Ansichtswechsel" }, { "Default alarm *.wav file:","Standard Alarm *.wav Datei:" }, { "This setting is useless for 5500 user!","Diese Einst. ist nutzlos für 5500 Nutzer" }, { "File","Datei" }, -{ "Clone...","Dupliziere.." }, +{ "Clone...","Dupliziere..." }, { "Move...","Bewege..." }, { "Beam...","Sende via IR..." }, { "&Clone...","Dupliziere.." }, { "&Move...","Bewege..." }, { "&Beam...","Sende via IR..." }, { "Show Completed","Zeige erledigte Todos" }, { "Show Quick Todo","Zeige Quick Todo" }, { "Unparent Todo","Un-sub Todo" }, { "Save selected to file...","Speichere Selektierte..." }, { "Add Categ. to selected...","Füge zu Selekt. Kateg. hinzu..." }, { "Set Categ. for selected...","Setze Kateg. für Selekt." }, { "Beam selected via IR","Sende Selekt. via IR..." }, { "Search","Suchen" }, { "Date Picker","Datum auswählen" }, { "Day View","Tagesansicht" }, { "Work Week","Arbeitswoche" }, { "Week","Wochenansicht" }, { "Month","Monatsansicht" }, { "Todo View","Todo Liste" }, { "Journal","Journal" }, { "Next days","Nächste Tage" }, { "Print agenda selection...","Drucke Agendaselektion..." }, { "Toggle DateNavigator","Navigator umschalten" }, { "Toggle FilterView","Filteransicht umschalten" }, { "Prev. month","Vorheriger Monat" }, { "Go backward","Gehe zurück" }, { "Go forward","Gehe weiter" }, { "Synchronize","Synchronisieren" }, { "AgendaSize","Agendagröße" }, { "Import (*.ics/*.vcs) file","Importiere (*.ics/*.vcs) Datei" }, { "Import last file","Importiere letzte Datei" }, { "Import Opie/Qtopia Cal.","Importiere Opie/Qtopia Kal." }, { "Load Calendar Backup","Lade Kalender Backup" }, { "Save Calendar Backup","Speichere Kalender Backup" }, { "Export VCalendar","Exportiere VCalendar" }, { "Manage new categories...","Verwalte neue Kategorien..." }, { "Beam complete calendar...","Sende kompletten Kalender via IR" }, { "Beam filtered calendar...","Sende gefilterten Kalender via IR" }, { "Remote via ssh","Über Netzwerk via ssh" }, { "With local file","Mit lokaler Datei" }, { "With last file","Mit letzter Datei" }, { "KO/Pi: Ready for beaming","KO/Pi: Bereit zum Senden" }, { "KO/Pi:Beaming done","KO/Pi: Senden erfolgt" }, { "Save filename","Speichern: Dateinamen wählen" }, { "File already exists!\nOld file from:\n%1\nOverwrite?\n","Dateiname existiert bereits!\nAlte Datei vom:\n%1\nÜberschreiben?\n" }, { "KO/Pi: Warning!","KO/Pi: Warnung!" }, { "Overwrite!","Überschreibe!" }, { "KO/Pi:Saved %1","KO/Pi:Gespeichert %1" }, { "All selected items will be\npermanently deleted.\n(Deleting items will take\nsome time on a PDA)\n","Alle selektierten Einträge werden\nunwiederbringlich gelöscht.\n(Löschen kann auf dem\nPDA einige Zeit dauern)\n" }, { "KO/Pi Confirmation","KO/Pi Bestätigung" }, { "Close dialog to abort deletion!","Schließe Dialog um das Löschen abzubrechen!" }, { "Deleting item %d ...","Lösche Eintrag %d ..." }, { "%d items remaining in list.","%d Einträge sind in der Liste verblieben." }, { "Size","Größe" }, { "Date","Datum" }, { "Mime Type","Datei Typ" }, { "All Files","Alle Dateien" }, { "Files","Dateien" }, { "Documents","DoKumente" }, { "Select Categories","Selektiere Kategorien" }, { " &Deselect All "," Auswahl aufheben " }, { "A&dd","Hinzu" }, { "&Modify","Ändern" }, { "Edit Categories","Editiere Kategorien" }, { " &Edit Categories "," &Editiere Kategorien " }, { "Beam Options","Beam Einstellungen" }, { " With timezone "," Mit Zeitzone " }, { " Local time ", " Lokale Zeit " }, { "Manage new Categories","Verwalte neue Kategorien" }, { "Add to category list","Füge zur Kategorieliste hinzu" }, { "Remove from Events/Todos","Entferne von Terminen/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 ","Nach dem Importieren/Laden/Syncen\nkann es neue Kategorien in den \nTerminen oder Todos geben, die nicht\nin der Kategorieliste enthalten sind.\nBitte wählen Sie, was passieren soll:\n " }, { "New categories not in list:","Kategorien, die nicht in der Liste sind:" }, { "File format","Datei Format" }, { "Time format","Zeit Format" }, { "KO/Pi:Saving Data to File ...","KO/Pi: Speichere Kalender in Datei ..." }, { "KO/Pi:File Saved. Needed %d sec, %d ms","KO/Pi: Abgespeichert in %d sec, %d ms" }, { "h","Std" }, { "min","Min" }, { "hou","Std" }, { "day","Tag" }, { "French","Französich" }, { "Time","Zeit" }, { "Event Viewer","Termin Ansicht" }, { "Cancel Sync","Sync Abbrechen" }, { "Remote","Fern" }, { "Local","Lokal" }, { "Conflict! Please choose entry","Konflikt! Bitte Eintrag wählen" }, { "Local: ","Lokal: " }, { "Remote: ","Fern: " }, { "Last modified: ","Zuletzt geändert: " }, { "Location: ","Ort: " }, { "<p><b>From:</b> %1 </p><p><b>To:</b> %2</p>","<p><b>Von:</b> %1 </p><p><b>Bis:</b> %2</p>" }, { "<p><b>On:</b> %1</p>","<p><b>Am:</b> %1</p>" }, { "<p><b>From:</b> %1</p> ","<p><b>Von:</b> %1</p> " }, { "<p><b>To:</b> %1</p>","<p><b>Bis:</b> %1</p>" }, { "<p><b>On:</b> %1</p> ","<p><b>Am:</b> %1</p> " }, { "<p><b>From:</b> %1 <b>To:</b> %2</p>","<p><b>Von:</b> %1 <b>Bis:</b> %2</p>" }, { "This is a %1 recurring event.","Das ist ein %1 wiederholender Termin." }, { "<b>Next recurrence is on:</b>","<b>Nächste Wiederholung ist am:</b>" }, { "<b>Last recurrence was on:</b>","<b>Letzte Wiederholung war am:</b>" }, { "( %1 min before )","( %1 min vorher )" }, { "<b>Alarm on: ","<b>Alarm am: " }, { "<b>Details: </b>","<b>Details: </b>" }, { "<p><b>Priority:</b> %2</p>","<p><b>Priorität:</b> %2</p>" }, { "<p><i>%1 % completed</i></p>","<p><i>%1 % erledigt</i></p>" }, { "Organizer","Organisator" }, { "Save","Speichern" }, { "Exit (+save)","Beenden (+ speichern)" }, { "Home","Zuhause" }, { "Office","Büro" }, { "Library","Bibliothek" }, { "Doctor","Arzt" }, { "Beach","Strand" }, { "Conference room","Konferenzraum" }, { "Drive Home","Heimfahrt" }, { "Watch TV","Tv gucken" }, { "Phone call","Telefonanruf" }, { "Pay bill","Rechnung bezahlen" }, { "Read book","Buch lesen" }, @@ -1421,52 +1420,62 @@ { " Cancel "," Abbrechen " }, { "Matching items will be added to list","Passende werden zur Liste hinzugefügt" }, { "Matching items will be removed from list","Passende werden von der Liste entfernt" }, { "Search on displayed list only","Suche auf der dargestellten Liste" }, { "List will be cleared before search","Liste wird vor der Suche gelöscht" }, { "<center>%1</center> <center>is not running. Do you want to set\nthe state to running?</center>","<center>%1</center> <center>ist nicht am Laufen. Möchten Sie den Zustand auf "laufend" setzen?</center>" }, { "%1\nis running!","%1\nist am Laufen!" }, { "Additional Comment:","Zusätzlicher Kommentar:" }, { "Stop and save","Stopp und Speichern" }, { "Continue running","Weiter laufen lassen" }, { "Stop - do not save","Stopp - nicht Speichern" }, { "Do you really want to set\nthe state to stopped\nwithout saving the data?","Möchten sie den Zustand\nwirklich auf gestoppt setzen\nohne die Daten abzuspeichern?" }, { "Time mismatch!","Zeiten stimmen nicht!" }, { "The start time is\nafter the end time!","Die Startzeit ist\nhinter der Endzeit!" }, { "Yes, stop todo","Ja, stoppe Todo" }, { "Todo stopped - no data saved because runtime was < 15 sec!","Todo gestoppt - nichts gespeichert da Laufzeit < 15 sec!" }, { "Todo started! Double click again to stop!","Todo gestartet! Doppelklicke um es zu stoppen!" }, { "Please choose the <b>default calendar</b> in this column. Newly created or imported items are added to the default calendar.","Bitte wählen Sie den <b>Default-Kalender</b> in dieser Spalte. Neu angelegte oder importierte Einträge werden dem Default-Kalender hinzugefügt." }, { "Spouse","Ehegatte" }, { "Notes","Notizen" }, { "Messanger","Messanger" }, { "Assistant","Assistent" }, { "Manager","Manager" }, { "Secrecy","Sichtbar" }, { "male","männlich" }, { "female","weiblich" }, { "Hide!","Verbergen!" }, { "Show!","Anzeigen!" }, { "Details","Details" }, { "Profession","Beruf" }, { "Children","Kinder" }, { "Department","Abteilung" }, { "Backup cancelled","Backup abgebrochen" }, { "Backup globally disabled","Backup global abgeschaltet" }, { "Backup succesfully finished","Backup erfolgreich beendet" }, { "(Hint: You can enable automatic backup in the global settings!)","(Hinweis: Sie können ein automatisches Backup in den globalen Einstellungen konfigurieren!)" }, { "This will <b>backup all calendar files</b> to the directory %1 %2","Das schreibt ein <b>Backup aller Kalenderdateien</b> in das Verzeichnis %1 %2" }, { "Birthdays","Geburtstage" }, { "KO/Pi import information!","KO/Pi Import Information!" }, { "Start this todo\nand stop all running","Starte dieses Todo\nund stoppe alle Laufenden" }, { "Cancel - do not start"," Abbrechen - Todo nicht starten" }, { "The timezone has changed!\nShould the calendar be reloaded\nto shift the time of the events?\nPlease read Menu: Help->FAQ:\n"How do I change the timezone?"\nas well!","Die Zeitzone wurde geändert!\nSollen die Kalender neu geladen\nwerden num die Zeiten\nder Termine zu ändern?\nBitte lesen Sie auch\nMenu: Help->FAQ:\n"How do I change the timezone?"" }, { "Reload","Neu laden" }, { "Timezone settings","Zeitzoneneinstellung" }, { "Title: ","Titel: " }, { "Journal from: ","Journal vom: " }, { "Journal: %1 from ","Journal: %1 vom " }, { "<b>Click here to edit categories: </b>","<b>Klicke hier um Kategorien zu ändern: </b>" }, +{ "Selected Item","Ausgewähltes Item" }, +{ "Select Date...","Wähle Datum..." }, +{ "After importing/loading/syncing there may be new categories in events or todos which are not added automatically to the category list. Please choose what to do <b>now</b>:","Nach dem Importieren/Laden/Syncen kann es neue Kategorien in den Terminen oder Todos geben, die nicht automatisch der Kategorieliste hinzugefügt werden. Bitte wählen Sie, was <b>jetzt</b> passieren soll:" }, +{ "Change category list now!","Ändere Kategorieliste jetzt!" }, +{ "Edit category list...","Ändere Kategorieliste..." }, +{ "Toolbar changes needs a restart!","Neustart benötigt für Toolbaränderungen!" }, +{ "","" }, +{ "","" }, +{ "","" }, +{ "","" }, { "","" }, { "","" }, { "","" }, { "","" },
\ No newline at end of file diff --git a/desktop/rpm/kdepim_rpm b/desktop/rpm/kdepim_rpm index 279bbd4..d29ab72 100644 --- a/desktop/rpm/kdepim_rpm +++ b/desktop/rpm/kdepim_rpm @@ -1,51 +1,51 @@ Summary: A collection of PIM programs Name: KDE-Pim-Pi -Version: 2.1.11 +Version: 2.1.12 Release: SuSE_9.2 Copyright:GPL Group: Productivity/Pim Source:http://sourceforge.net/projects/kdepimpi/ URL:http://sourceforge.net/projects/kdepimpi/ Packager: zautrix %description This package contains the platform-independent PIM programs from www.pi-sync.info, compiled for SuSE 9.2: KTimeTacker/Pi KPhone/Pi KAddressbook/Pi KOrganizer/Pi PasswordManager/Pi KOPieMail/Pi These applications do not need anything from the KDE-desktop at all to run on Linux. However, there is a dependency from two KDE libs, because a small command line program is included to make it possible to sync with the KDE-desktop applications. These applications are independent from the KDE-desktop environment. That means, nothing of your existing KDE-desktop setup will be changed, or any data (calendar-addressbook) used by the KDE-desktop applications will be changed or accessed. These applications stores their data and config in $HOME/kdepim/ However, because the same file format is used, an easy exchange of data with the KDE-desktop is possible. A small command line program is included to make it possible to sync with the KDE-desktop applications. You do not need to call this program from the commandline, it is called from the KDE-Pim/Pi apps when you choose there: Sync with KDE_Desktop. If something is going wrong, please start the KDE-Pim/Pi program itself from the console to get detailed output. After installation, you should have a PIM-pi folder in your KDE start menu, where you can start the applications from. These programs makes it possible to sync your Zaurus easily (with the KDE-Pim/Pi programs running on the Zaurus) with the KDE-desktop calendar/addressbook data. diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index d0de233..c0f3be7 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp @@ -71,96 +71,97 @@ #include <libkcal/vcalformat.h> #include <libkcal/scheduler.h> #include <libkcal/calendarlocal.h> #include <libkcal/journal.h> #include <libkcal/calfilter.h> #include <libkcal/attendee.h> #include <libkcal/dndfactory.h> #include <libkcal/freebusy.h> #include <libkcal/filestorage.h> #include <libkcal/calendarresources.h> #include <libkcal/qtopiaformat.h> #include "../kalarmd/alarmdialog.h" #ifndef DESKTOP_VERSION #include <libkcal/sharpformat.h> #include <externalapphandler.h> #endif #include <libkcal/phoneformat.h> #ifndef KORG_NOMAIL #include "komailclient.h" #endif #ifndef KORG_NOPRINTER #include "calprinter.h" #endif #ifndef KORG_NOPLUGINS #include "kocore.h" #endif #include "koeventeditor.h" #include "kotodoeditor.h" #include "koprefs.h" #include "koeventviewerdialog.h" #include "publishdialog.h" #include "kofilterview.h" #include "koglobals.h" #include "koviewmanager.h" #include "koagendaview.h" #include "kodialogmanager.h" #include "outgoingdialog.h" #include "incomingdialog.h" #include "datenavigatorcontainer.h" #include "statusdialog.h" #include "kdatenavigator.h" #include "kotodoview.h" #include "datenavigator.h" #include "resourceview.h" #include "navigatorbar.h" #include "searchdialog.h" #include "mainwindow.h" +#include "categoryeditdialog.h" #include "calendarview.h" #ifndef DESKTOP_VERSION #include <qtopia/alarmserver.h> #endif #ifndef _WIN32_ #include <stdlib.h> #include <stdio.h> #include <unistd.h> #else #include <qprocess.h> #endif #ifdef DESKTOP_VERSION #include <kabc/stdaddressbook.h> #endif using namespace KOrg; using namespace KCal; extern int globalFlagBlockAgenda; extern int globalFlagBlockStartup; MissedAlarmTextBrowser::MissedAlarmTextBrowser(QWidget *parent, QPtrList<Incidence> alarms,QDateTime start ) : QTextBrowser(parent) { mAlarms = alarms; viewport()->setBackgroundColor( QColor( 255, 255, 255 ) ); QString mText = "<table width=\"100%\">\n"; //mText += "<tr bgcolor=\"#3679AD\"><td><h2>"; #ifdef DESKTOP_VERSION mText += "<tr bgcolor=\"#5699CD\"><td align=\"center\"><h2>"; #else mText += "<tr bgcolor=\"#5699CD\"><td align=\"center\"><h3>"; #endif // mText += "<img src=\""; // mText += ipath; // mText += "\">"; //mEventDate = QDate::currentDate(); #ifdef DESKTOP_VERSION mText += "<font color=\"#FFFFFF\"> <em>" + i18n("You missed the alarms for the following events or todos:")+"</em></font></h2>"; #else mText += "<font color=\"#FFFFFF\"> <em>" + i18n("You missed the alarms for the following events or todos:")+"</em></font></h3>"; #endif //mText += "</td></tr>\n<tr bgcolor=\"#FF997D\"><td>"; Incidence * inc = getNextInc( start ); int time = 0; //mText += "<table>"; @@ -268,105 +269,105 @@ void MissedAlarmTextBrowser::setSource(const QString & n) } class KOBeamPrefs : public QDialog { public: KOBeamPrefs( QWidget *parent=0, const char *name=0 ) : QDialog( parent, name, true ) { setCaption( i18n("Beam Options") ); QVBoxLayout* lay = new QVBoxLayout( this ); lay->setSpacing( 3 ); lay->setMargin( 3 ); QButtonGroup* format = new QButtonGroup( 1, Horizontal, i18n("File format"), this ); lay->addWidget( format ); format->setExclusive ( true ) ; QButtonGroup* time = new QButtonGroup(1, Horizontal, i18n("Time format"), this ); lay->addWidget( time ); time->setExclusive ( true ) ; vcal = new QRadioButton(" vCalendar ", format ); ical = new QRadioButton(" iCalendar ", format ); vcal->setChecked( true ); tz = new QRadioButton(i18n(" With timezone "), time ); local = new QRadioButton(i18n(" Local time "), time ); tz->setChecked( true ); QPushButton * ok = new QPushButton( i18n("Beam via IR!"), this ); lay->addWidget( ok ); QPushButton * cancel = new QPushButton( i18n("Cancel"), this ); lay->addWidget( cancel ); connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); resize( 200, 200 ); } bool beamVcal() { return vcal->isChecked(); } bool beamLocal() { return local->isChecked(); } private: QRadioButton* vcal, *ical, *local, *tz; }; class KOCatPrefs : public QDialog { public: KOCatPrefs( QWidget *parent=0, const char *name=0 ) : QDialog( parent, name, true ) { setCaption( i18n("Manage new Categories") ); QVBoxLayout* lay = new QVBoxLayout( this ); lay->setSpacing( 3 ); lay->setMargin( 3 ); - QLabel * lab = new QLabel( i18n("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 "), this ); + QLabel * lab = new QLabel( i18n("After importing/loading/syncing there may be new categories in events or todos which are not added automatically to the category list. Please choose what to do <b>now</b>:"), this ); lay->addWidget( lab ); QButtonGroup* format = new QButtonGroup( 1, Horizontal, i18n("New categories not in list:"), this ); lay->addWidget( format ); format->setExclusive ( true ) ; addCatBut = new QRadioButton(i18n("Add to category list"), format ); new QRadioButton(i18n("Remove from Events/Todos"), format ); addCatBut->setChecked( true ); - QPushButton * ok = new QPushButton( i18n("OK"), this ); + QPushButton * ok = new QPushButton( i18n("Change category list now!"), this ); lay->addWidget( ok ); QPushButton * cancel = new QPushButton( i18n("Cancel"), this ); lay->addWidget( cancel ); connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); resize( 200, 200 ); } bool addCat() { return addCatBut->isChecked(); } private: QRadioButton* addCatBut; }; CalendarView::CalendarView( CalendarResources *calendar, QWidget *parent, const char *name ) : CalendarViewBase( parent, name ), mCalendar( calendar ), mResourceManager( calendar->resourceManager() ) { mEventEditor = 0; mTodoEditor = 0; init(); } CalendarView::CalendarView( Calendar *calendar, QWidget *parent, const char *name ) : CalendarViewBase( parent, name ), mCalendar( calendar ), mResourceManager( 0 ) { mEventEditor = 0; mTodoEditor = 0; init(); } void CalendarView::init() { mNextAlarmDateTime = QDateTime::currentDateTime(); setFocusPolicy ( NoFocus ); mViewerCallerIsSearchDialog = false; mBlockShowDates = false; mDatePickerMode = 0; @@ -2773,96 +2774,102 @@ void CalendarView::slotSelectPickerDate( QDate d) } void CalendarView::removeCategories() { QPtrList<Incidence> incList = mCalendar->rawIncidences(); QStringList catList = KOPrefs::instance()->mCustomCategories; QStringList catIncList; QStringList newCatList; Incidence* inc = incList.first(); int i; int count = 0; while ( inc ) { newCatList.clear(); catIncList = inc->categories() ; for( i = 0; i< catIncList.count(); ++i ) { if ( catList.contains (catIncList[i])) newCatList.append( catIncList[i] ); } newCatList.sort(); inc->setCategories( newCatList.join(",") ); inc = incList.next(); } } int CalendarView::addCategories() { QPtrList<Incidence> incList = mCalendar->rawIncidences(); QStringList catList = KOPrefs::instance()->mCustomCategories; QStringList catIncList; Incidence* inc = incList.first(); int i; int count = 0; while ( inc ) { catIncList = inc->categories() ; for( i = 0; i< catIncList.count(); ++i ) { if ( !catList.contains (catIncList[i])) { catList.append( catIncList[i] ); //qDebug("add cat %s ", catIncList[i].latin1()); ++count; } } inc = incList.next(); } catList.sort(); KOPrefs::instance()->mCustomCategories = catList; return count; } +void CalendarView::editCategories() +{ + qDebug("CalendarView::editCategories() "); + KPIM::CategoryEditDialog ced (KOPrefs::instance(),this ); + ced.exec(); +} void CalendarView::manageCategories() { KOCatPrefs* cp = new KOCatPrefs(); cp->show(); int w =cp->sizeHint().width() ; int h = cp->sizeHint().height() ; int dw = QApplication::desktop()->width(); int dh = QApplication::desktop()->height(); cp->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); if ( !cp->exec() ) { delete cp; return; } int count = 0; if ( cp->addCat() ) { count = addCategories(); if ( count ) { topLevelWidget()->setCaption(QString::number( count )+ i18n(" Categories added to list! ")); writeSettings(); } else topLevelWidget()->setCaption(QString::number( 0 )+ i18n(" Categories added to list! ")); } else { removeCategories(); updateView(); } delete cp; } void CalendarView::beamIncidence(Incidence * Inc) { QPtrList<Incidence> delSel ; delSel.append(Inc); beamIncidenceList( delSel ); } void CalendarView::beamCalendar() { QPtrList<Incidence> delSel = mCalendar->rawIncidences(); //qDebug("beamCalendar() "); beamIncidenceList( delSel ); } void CalendarView::beamFilteredCalendar() { QPtrList<Incidence> delSel = mCalendar->incidences(); //qDebug("beamFilteredCalendar() "); beamIncidenceList( delSel ); } void CalendarView::beamIncidenceList(QPtrList<Incidence> delSel ) { diff --git a/korganizer/calendarview.h b/korganizer/calendarview.h index f7e5366..3323a98 100644 --- a/korganizer/calendarview.h +++ b/korganizer/calendarview.h @@ -440,96 +440,97 @@ class CalendarView : public KOrg::CalendarViewBase, public KCal::Calendar::Obser /** Move the curdatepient view date to today */ void goToday(); /** Move to the next date(s) in the current view */ void goNext(); /** Move to the previous date(s) in the current view */ void goPrevious(); /** Move to the next date(s) in the current view */ void goNextMonth(); /** Move to the previous date(s) in the current view */ void goPreviousMonth(); void toggleExpand(); void toggleDateNavigatorWidget(); void toggleAllDaySize(); void dialogClosing(Incidence *); /** Look for new messages in the inbox */ void lookForIncomingMessages(); /** Look for new messages in the outbox */ void lookForOutgoingMessages(); void processMainViewSelection( Incidence * ); void processTodoListSelection( Incidence * ); void processIncidenceSelection( Incidence * ); void purgeCompleted(); bool removeCompletedSubTodos( Todo* ); void slotCalendarChanged(); bool importBday(); bool addAnniversary( QDate data, QString name, KCal::Attendee* a , bool birthday ); bool importQtopia( const QString &categoriesFile, const QString &datebookFile, const QString &tasklistFile ); void syncExternal( int mode ); void slotSelectPickerDate( QDate ) ; void showDatePicker() ; void showDatePickerPopup() ; void moveIncidence(Incidence *) ; void beamIncidence(Incidence *) ; void beamCalendar() ; void beamFilteredCalendar() ; void beamIncidenceList(QPtrList<Incidence>) ; void manageCategories(); + void editCategories(); int addCategories(); void removeCategories(); void setSyncDevice( QString ); void setSyncName( QString ); void showDay( QDate ); void undo_delete(); protected slots: void resetFocus(); void scrollBarValue(int); void slotViewerClosed(); void timerAlarm(); void suspendAlarm(); void beamDone( Ir *ir ); /** Select a view or adapt the current view to display the specified dates. */ void showDates( const KCal::DateList & ); void selectWeekNum ( int ); public: // show a standard warning // returns KMsgBox::yesNoCancel() int msgCalModified(); virtual bool sync(KSyncManager* manager, QString filename, int mode); virtual bool syncExternal(KSyncManager* manager, QString resource); virtual void removeSyncInfo( QString syncProfile); void setSyncManager(KSyncManager* manager); void setLoadedFileVersion(QDateTime); bool checkFileVersion(QString fn); bool checkAllFileVersions(); bool checkFileChanged(QString fn); Event* getLastSyncEvent(); /** Adapt navigation units correpsonding to step size of navigation of the * current view. */ void adaptNavigationUnits(); bool synchronizeCalendar( Calendar* local, Calendar* remote, int mode ); int takeEvent( Incidence* local, Incidence* remote, int mode, bool full = false ); //Attendee* getYourAttendee(Event *event); void setBlockShowDates( bool b ) { mBlockShowDates = b ;} void setScrollBarStep(int val ); protected: void schedule(Scheduler::Method, Incidence *incidence = 0); // returns KMsgBox::OKCandel() int msgItemDelete(const QString name); void showEventEditor(); void showTodoEditor(); diff --git a/korganizer/kolistview.cpp b/korganizer/kolistview.cpp index 43e1113..517677c 100644 --- a/korganizer/kolistview.cpp +++ b/korganizer/kolistview.cpp @@ -393,97 +393,98 @@ QString KOListView::getWhatsThisText(QPoint p) KOPrefs::instance()->mWTshowChanged); return i18n("That is the list view" ); } void KOListView::setCalendar( int c ) { int result = QMessageBox::warning( this, i18n("KO/Pi: Information!"), i18n("This adds the selected\nitems to the calendar\n%1\nand removes them from\ntheir current calendar!").arg( KOPrefs::instance()->calName( c ) ), i18n("Continue"), i18n("Cancel"), 0, 0, 1 ); if ( result != 0 ) { return; } QPtrList<Incidence> delSel = getSelectedIncidences() ; int icount = delSel.count(); if ( icount ) { Incidence *incidence = delSel.first(); while ( incidence ) { incidence->setCalID( c ); KOListViewItem * item = getItemForEvent( incidence ); if ( item ) { ListItemVisitor v(item, mStartDate ); incidence->accept(v); } incidence = delSel.next(); } } QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars; KopiCalendarFile * cal = calendars.first(); while ( cal ) { mCalendar->setCalendarEnabled( cal->mCalNumber,cal->isEnabled ); mCalendar->setAlarmEnabled( cal->mCalNumber, cal->isAlarmEnabled ); mCalendar->setReadOnly( cal->mCalNumber, cal->isReadOnly ); if ( cal->isStandard ) mCalendar->setDefaultCalendar( cal->mCalNumber ); cal = calendars.next(); } mCalendar->setSyncEventsReadOnly(); mCalendar->reInitAlarmSettings(); } void KOListView::populateCalPopup() { mCalPopup->clear(); KopiCalendarFile * kkf = KOPrefs::instance()->mCalendars.first(); while ( kkf ) { - mCalPopup->insertItem( kkf->mName, kkf->mCalNumber); + int index = mCalPopup->insertItem( kkf->mName, kkf->mCalNumber); + mCalPopup->setItemEnabled( index, !kkf->isReadOnly ); kkf = KOPrefs::instance()->mCalendars.next(); } } void KOListView::updateList() { // qDebug(" KOListView::updateList() "); } void KOListView::clearList() { clear (); } void KOListView::addCat( ) { setCategories( false ); } void KOListView::setCat() { setCategories( true ); } void KOListView::setAlarm() { KOAlarmPrefs kap( this); if ( !kap.exec() ) return; QStringList itemList; QPtrList<KOListViewItem> sel ; QListViewItem *qitem = mListView->firstChild (); while ( qitem ) { if ( qitem->isSelected() ) { Incidence* inc = ((KOListViewItem *) qitem)->data(); if ( inc->typeID() != journalID ) { if ( inc->typeID() == todoID ) { if ( ((Todo*)inc)->hasDueDate() ) sel.append(((KOListViewItem *)qitem)); } else sel.append(((KOListViewItem *)qitem)); } } qitem = qitem->nextSibling(); } int count = 0; KOListViewItem * item, *temp; item = sel.first(); Incidence* inc; while ( item ) { diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp index 873a776..8d354c8 100644 --- a/korganizer/kotodoview.cpp +++ b/korganizer/kotodoview.cpp @@ -556,110 +556,110 @@ KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) : for (int i = 1; i <= 5; i++) { QString label = QString ("%1").arg (i); mPriority[mPriorityPopupMenu->insertItem (label)] = i; } connect (mPriorityPopupMenu, SIGNAL(activated (int)), SLOT (setNewPriority(int))); mPercentageCompletedPopupMenu = new QPopupMenu(this); for (int i = 0; i <= 100; i+=20) { QString label = QString ("%1 %").arg (i); mPercentage[mPercentageCompletedPopupMenu->insertItem (label)] = i; } connect (mPercentageCompletedPopupMenu, SIGNAL (activated (int)), SLOT (setNewPercentage (int))); mItemPopupMenu = new QPopupMenu(this); mItemPopupMenu->insertItem(i18n("Show..."), this, SLOT (showTodo())); mItemPopupMenu->insertItem(i18n("Edit..."), this, SLOT (editTodo())); mItemPopupMenu->insertItem( i18n("Delete"), this, SLOT (deleteTodo())); mItemPopupMenu->insertItem( i18n("Clone..."), this, SLOT (cloneTodo())); mItemPopupMenu->insertItem( i18n("Move..."), this, SLOT (moveTodo())); #ifndef DESKTOP_VERSION mItemPopupMenu->insertItem( i18n("Beam..."), this, SLOT (beamTodo())); #endif mItemPopupMenu->insertItem( i18n("Toggle Cancel"), this, SLOT (cancelTodo())); mItemPopupMenu->insertSeparator(); mItemPopupMenu->insertItem( i18n("Start/Stop todo..."), this, SLOT (toggleRunningItem())); mItemPopupMenu->insertSeparator(); /* mItemPopupMenu->insertItem( i18n("New Todo..."), this, SLOT (newTodo())); */ mItemPopupMenu->insertItem(i18n("New Sub-Todo..."), this, SLOT (newSubTodo())); mItemPopupMenu->insertItem(i18n("Unparent Todo"), this, SLOT (unparentTodo()),0,21); mItemPopupMenu->insertItem(i18n("Reparent Todo"), this, SLOT (reparentTodo()),0,22); mItemPopupMenu->insertSeparator(); #if 0 - mItemPopupMenu->insertItem(i18n("Delete completed To-Dos","Purge Completed"), + mItemPopupMenu->insertItem(i18n("Delete completed To-Dos","Purge Completed..."), this, SLOT( purgeCompleted() ) ); mItemPopupMenu->insertItem(i18n("toggle completed To-Dos","Show Completed"), this, SLOT( toggleCompleted() ),0, 33 ); mItemPopupMenu->insertItem(i18n("toggle quick todo","Show Quick Todo"), this, SLOT( toggleQuickTodo() ),0, 34 ); mItemPopupMenu->insertItem(i18n("toggle running todo","Hide not Running"), this, SLOT( toggleRunning() ),0, 35 ); #endif mPopupMenu = new QPopupMenu(this); mPopupMenu->insertItem(SmallIconSet("todo"), i18n("New Todo..."), this, SLOT (newTodo()),0,1); - mPopupMenu->insertItem(i18n("delete completed To-Dos","Purge Completed"), + mPopupMenu->insertItem(i18n("delete completed To-Dos","Purge Completed..."), this, SLOT(purgeCompleted()),0,2); mPopupMenu->insertItem(i18n("Show Completed"), this, SLOT( toggleCompleted() ),0,3 ); mPopupMenu->insertItem(i18n("toggle running todo","Hide not Running"), this, SLOT( toggleRunning() ),0,5 ); mPopupMenu->insertItem(i18n(" set all open","Display all opened"), this, SLOT( setAllOpen() ),0,6 ); mPopupMenu->insertItem(i18n(" set all close","Display all closed"), this, SLOT( setAllClose() ),0,7 ); mPopupMenu->insertItem(i18n(" set all flat","Display all flat"), this, SLOT( setAllFlat() ),0,8 ); mPopupMenu->insertSeparator(); mPopupMenu->insertItem(i18n("toggle quick todo","Show Quick Todo"), this, SLOT( toggleQuickTodo() ),0,4 ); mDocPrefs = new DocPrefs( name ); mItemPopupMenu->insertItem(i18n("Todo View"),mPopupMenu ); mPopupMenu->setCheckable( true ); mItemPopupMenu->setCheckable( true ); mPopupMenu->setItemChecked( 3,KOPrefs::instance()->mShowCompletedTodo ); mItemPopupMenu->setItemChecked( 33 , KOPrefs::instance()->mShowCompletedTodo ); mPopupMenu->setItemChecked(4,KOPrefs::instance()->mEnableQuickTodo); mItemPopupMenu->setItemChecked( 34 , KOPrefs::instance()->mEnableQuickTodo ); mPopupMenu->setItemChecked(5,KOPrefs::instance()->mHideNonStartedTodos); mItemPopupMenu->setItemChecked( 35 , KOPrefs::instance()->mHideNonStartedTodos ); // Double clicking conflicts with opening/closing the subtree connect( mTodoListView, SIGNAL( doubleClicked( QListViewItem *) ), SLOT( editItem( QListViewItem *) ) ); /* connect( mTodoListView, SIGNAL( rightButtonClicked ( QListViewItem *, const QPoint &,int ) ), SLOT( popupMenu( QListViewItem *, const QPoint & ,int) ) ); */ connect( mTodoListView, SIGNAL( contextRequest ( QListViewItem *, const QPoint &,int ) ), SLOT( popupMenu( QListViewItem *, const QPoint & ,int) ) ); connect( mTodoListView, SIGNAL( clicked( QListViewItem * ) ), SLOT( itemClicked( QListViewItem * ) ) ); connect( mTodoListView, SIGNAL( double_Clicked( QListViewItem * ) ), SLOT( itemDoubleClicked( QListViewItem * ) ) ); connect( mTodoListView, SIGNAL( todoDropped( Todo *, int ) ), SLOT( updateView() ) ); diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp index 23537a6..a5d8824 100644 --- a/korganizer/mainwindow.cpp +++ b/korganizer/mainwindow.cpp @@ -609,96 +609,101 @@ void MainWindow::recieve( const QCString& cmsg, const QByteArray& data ) else if ( msg == "nextView()" ) { mView->viewManager()->showNextView(); } else if ( msg == "-showNextXView" ) { mView->viewManager()->showNextXView(); } } showMaximized(); raise(); } void MainWindow::startMultiSync() { QString question = i18n("Do you really want\nto multiple sync\nwith all checked profiles?\nSyncing takes some\ntime - all profiles\nare synced twice!"); if ( QMessageBox::information( this, i18n("KDE-Pim Sync"), question, i18n("Yes"), i18n("No"), 0, 0 ) != 0 ) { setCaption(i18n("Aborted! Nothing synced!")); return; } mSyncManager->multiSync( false ); #ifndef DESKTOP_VERSION QCopEnvelope e("QPE/Application/kapi", "doRingSync"); #endif } QPixmap MainWindow::loadPixmap( QString name ) { return SmallIcon( name ); } void MainWindow::setUsesBigPixmaps ( bool b ) { qDebug("KO: MainWindow::setUsesBigPixmaps %d called", b); if ( b ) qDebug("KO: BigPixmaps are not supported "); } void MainWindow::initActions() { //KOPrefs::instance()->mShowFullMenu iconToolBar->clear(); KOPrefs *p = KOPrefs::instance(); //QPEMenuBar *menuBar1;// = new QPEMenuBar( iconToolBar ); QPopupMenu *viewMenu = new QPopupMenu( this ); QPopupMenu *actionMenu = new QPopupMenu( this ); +#ifdef DESKTOP_VERSION + mCurrentItemMenu = actionMenu; +#else + mCurrentItemMenu = new QPopupMenu ( this ); +#endif QPopupMenu *importMenu = new QPopupMenu( this ); QPopupMenu *importMenu_X = new QPopupMenu( this ); QPopupMenu *exportMenu_X = new QPopupMenu( this ); QPopupMenu *beamMenu_X = new QPopupMenu( this ); selectFilterMenu = new QPopupMenu( this ); selectFilterMenu->setCheckable( true ); syncMenu = new QPopupMenu( this ); configureAgendaMenu = new QPopupMenu( this ); configureToolBarMenu = new QPopupMenu( this ); QPopupMenu *helpMenu = new QPopupMenu( this ); QIconSet icon; int pixWid = 22, pixHei = 22; QString pathString = ""; if ( !p->mToolBarMiniIcons ) { if ( QApplication::desktop()->width() < 480 /*|| QApplication::desktop()->height() < 320*/) { pathString += "icons16/"; pixWid = 18; pixHei = 16; } } else { pathString += "iconsmini/"; pixWid = 18; pixHei = 16; } if ( KOPrefs::instance()->mShowFullMenu ) { QMenuBar *menuBar1; menuBar1 = menuBar(); menuBar1->insertItem( i18n("File"), importMenu ); menuBar1->insertItem( i18n("View"), viewMenu ); menuBar1->insertItem( i18n("Actions"), actionMenu ); #ifdef DESKTOP_VERSION menuBar1->insertItem( i18n("Synchronize"), syncMenu ); menuBar1->insertItem( i18n("AgendaSize"),configureAgendaMenu ); #else menuBar1->insertItem( i18n("Sync"), syncMenu ); menuBar1->insertItem( i18n("Agenda"),configureAgendaMenu ); #endif //menuBar1->insertItem( i18n("Toolbar"),configureToolBarMenu ); menuBar1->insertItem( i18n("Filter"),selectFilterMenu ); menuBar1->insertItem( i18n("Help"), helpMenu ); } else { QPEMenuBar *menuBar1; menuBar1 = new QPEMenuBar( iconToolBar ); QPopupMenu *menuBar = new QPopupMenu( this ); icon = loadPixmap( pathString + "z_menu" ); menuBar1->insertItem( icon.pixmap(), menuBar); //menuBar1->insertItem( i18n("ME"), menuBar); menuBar->insertItem( i18n("File"), importMenu ); menuBar->insertItem( i18n("View"), viewMenu ); menuBar->insertItem( i18n("Actions"), actionMenu ); @@ -720,193 +725,232 @@ void MainWindow::initActions() icon = mWeekPixmap; mWeekAction = new QAction( i18n("Select week number"),icon, i18n("Select week number"), 0, this ); if ( p-> mShowIconWeekNum ) mWeekAction->addTo( iconToolBar ); mWeekFont = font(); int fontPoint = mWeekFont.pointSize(); QFontMetrics f( mWeekFont ); int fontWid = f.width( "30" ); while ( fontWid > pixWid ) { --fontPoint; mWeekFont.setPointSize( fontPoint ); QFontMetrics f( mWeekFont ); fontWid = f.width( "30" ); //qDebug("dec-- "); } connect( mWeekAction, SIGNAL( activated() ), this, SLOT( weekAction() ) ); connect( this, SIGNAL( selectWeek ( int ) ), mView->dateNavigator(), SLOT( selectWeek ( int ) ) ); if ( p->mShowIconFilterview ) { icon = loadPixmap( pathString + "filter" ); actionFilterMenuTB = new QAction( i18n("Filter selector"), icon, i18n("Filter selector"), 0, this ); connect( actionFilterMenuTB, SIGNAL( activated() ), this, SLOT( fillFilterMenuTB() ) ); actionFilterMenuTB->addTo( iconToolBar ); selectFilterMenuTB = new QPopupMenu( this ); selectFilterMenuTB->setCheckable( true ); connect ( selectFilterMenuTB, SIGNAL( activated ( int ) ), this, SLOT (selectFilter( int ) ) ); } //#endif // ****************** QAction *action; // QPopupMenu *configureMenu= new QPopupMenu( menuBar ); configureToolBarMenu->setCheckable( true ); configureAgendaMenu->setCheckable( true ); int iii ; for ( iii = 1;iii<= 10 ;++iii ){ configureAgendaMenu->insertItem(i18n("Size %1").arg(iii), (iii+1)*2 ); } //configureMenu->insertItem( "AgendaSize",configureAgendaMenu ); connect( configureAgendaMenu, SIGNAL( aboutToShow()), this, SLOT( showConfigureAgenda( ) ) ); + icon = loadPixmap( pathString + "today" ); + QAction* today_action = new QAction( i18n("Go to Today"), icon, i18n("Go to Today"), 0, this ); + today_action->addTo( actionMenu ); + connect( today_action, SIGNAL( activated() ), + mView, SLOT( goToday() ) ); + + icon = loadPixmap( pathString + "picker" ); + QAction* dPickerAction = new QAction( i18n("Select Date..."), icon, i18n("Select Date..."), 0, this ); + dPickerAction->addTo( actionMenu ); + connect( dPickerAction, SIGNAL( activated() ), + mView, SLOT( showDatePicker() ) ); + + icon = loadPixmap( pathString + "search" ); + QAction* search_action = new QAction( i18n("Search"), icon, i18n("Search..."), 0, this ); + search_action->addTo( actionMenu ); + connect( search_action, SIGNAL( activated() ), + mView->dialogManager(), SLOT( showSearchDialog() ) ); - icon = loadPixmap( pathString + "configure" ); - action = new QAction( i18n("Configure"),icon, i18n("Configure KO/Pi..."), 0, this ); - action->addTo( actionMenu ); - connect( action, SIGNAL( activated() ), - mView, SLOT( edit_options() ) ); - icon = loadPixmap( pathString + "configure" ); - action = new QAction( i18n("Configure"),icon, i18n("Global Settings..."), 0, this ); - action->addTo( actionMenu ); - connect( action, SIGNAL( activated() ), - mView, SLOT( edit_global_options() ) ); actionMenu->insertSeparator(); + + action = new QAction( i18n("Undo Delete"), i18n("Undo Delete..."), 0, this ); action->addTo( actionMenu ); connect( action, SIGNAL( activated() ), mView, SLOT( undo_delete() ) ); - actionMenu->insertSeparator(); icon = loadPixmap( pathString + "newevent" ); configureToolBarMenu->insertItem(i18n("Stretched TB"), 5 ); configureToolBarMenu->insertItem(i18n("Only one toolbar"), 6 ); configureToolBarMenu->insertSeparator(); configureToolBarMenu->insertItem(i18n("Filtermenu"), 7 ); configureToolBarMenu->insertSeparator(); configureToolBarMenu->insertItem(i18n("Week Number"), 400); configureToolBarMenu->insertItem(icon, i18n("New Event..."), 10 ); + +#ifndef DESKTOP_VERSION + actionMenu->insertItem ( i18n("Selected Item"), mCurrentItemMenu); +#endif + mShowAction = new QAction( "show_incidence", i18n("Show..."), 0, this ); + mShowAction->addTo( mCurrentItemMenu ); + connect( mShowAction, SIGNAL( activated() ), + mView, SLOT( showIncidence() ) ); + + mEditAction = new QAction( "edit_incidence", i18n("Edit..."), 0, this ); + mEditAction->addTo( mCurrentItemMenu ); + connect( mEditAction, SIGNAL( activated() ), + mView, SLOT( editIncidence() ) ); + + mDeleteAction = new QAction( "delete_incidence", i18n("Delete..."), 0, this ); + mDeleteAction->addTo( mCurrentItemMenu ); + connect( mDeleteAction, SIGNAL( activated() ), + mView, SLOT( deleteIncidence() ) ); + + + mCloneAction = new QAction( "clone_incidence", i18n("Clone..."), 0, this ); + mCloneAction->addTo( mCurrentItemMenu ); + connect( mCloneAction, SIGNAL( activated() ), + mView, SLOT( cloneIncidence() ) ); + mMoveAction = new QAction( "Move_incidence", i18n("Move..."), 0, this ); + mMoveAction->addTo( mCurrentItemMenu ); + connect( mMoveAction, SIGNAL( activated() ), + mView, SLOT( moveIncidence() ) ); + mBeamAction = new QAction( "Beam_incidence", i18n("Beam..."), 0, this ); + mBeamAction->addTo(mCurrentItemMenu ); + connect( mBeamAction, SIGNAL( activated() ), + mView, SLOT( beamIncidence() ) ); + mCancelAction = new QAction( "Cancel_incidence", i18n("Toggle Cancel"), 0, this ); + mCancelAction->addTo( mCurrentItemMenu ); + connect( mCancelAction, SIGNAL( activated() ), + mView, SLOT( toggleCancelIncidence() ) ); +#ifdef DESKTOP_VERSION + actionMenu->insertSeparator(); +#endif + + QAction* ne_action = new QAction( i18n("New Event..."), icon, i18n("New Event..."), 0, this ); ne_action->addTo( actionMenu ); connect( ne_action, SIGNAL( activated() ), mView, SLOT( newEvent() ) ); icon = loadPixmap( pathString + "newtodo" ); configureToolBarMenu->insertItem(icon, i18n("New Todo..."), 20 ); QAction* nt_action = new QAction( i18n("New Todo..."), icon, i18n("New Todo..."), 0, this ); nt_action->addTo( actionMenu ); connect( nt_action, SIGNAL( activated() ), mView, SLOT( newTodo() ) ); - icon = loadPixmap( pathString + "today" ); - QAction* today_action = new QAction( i18n("Go to Today"), icon, i18n("Go to Today"), 0, this ); - today_action->addTo( viewMenu ); - connect( today_action, SIGNAL( activated() ), - mView, SLOT( goToday() ) ); - viewMenu->insertSeparator(); + // *********************** if ( KOPrefs::instance()->mVerticalScreen ) { icon = SmallIcon( "1updownarrow" ); } else { icon = SmallIcon("1leftrightarrow" ); } configureToolBarMenu->insertItem(icon, i18n("Toggle Fullscreen"), 28 ); QAction* FSaction = new QAction( i18n("Toggle Fullscreen"), icon, i18n("Toggle Fullscreen"), 0, this ); FSaction->addTo( viewMenu ); connect( FSaction, SIGNAL( activated() ), mView, SLOT( toggleExpand() )); icon = loadPixmap( pathString + "filter" ); configureToolBarMenu->insertItem(icon, i18n("Filter menu icon"), 26 ); icon = loadPixmap( pathString + "configure" ); action = new QAction( i18n("Toggle Resource View"), icon, i18n("Toggle Resource View"), 0, this ); action->addTo( viewMenu ); connect( action, SIGNAL( activated() ), mView, SLOT( toggleFilter() ) ); mToggleFilter = action; icon = loadPixmap( pathString + "navi" ); configureToolBarMenu->insertItem(icon, i18n("Toggle DateNavigator"), 22 ); action = new QAction( i18n("Toggle DateNavigator"), icon, i18n("Toggle DateNavigator"), 0, this ); action->addTo( viewMenu ); connect( action, SIGNAL( activated() ), mView, SLOT( toggleDateNavigatorWidget() ) ); mToggleNav = action ; icon = loadPixmap( pathString + "allday" ); configureToolBarMenu->insertItem(icon, i18n("Toggle Allday"), 24 ); action = new QAction( i18n("Toggle Allday"), icon,i18n("Toggle Allday"), 0, this ); action->addTo( viewMenu ); connect( action, SIGNAL( activated() ), mView, SLOT( toggleAllDaySize() ) ); mToggleAllday = action; connect( mView->viewManager(), SIGNAL( signalFullScreen( bool ) ), mToggleNav, SLOT( setEnabled ( bool ) ) ); //connect( mView->viewManager(), SIGNAL( signalFullScreen( bool ) ), // mToggleFilter, SLOT( setEnabled ( bool ) ) ); connect( mView->viewManager(), SIGNAL( signalAgendaView( bool ) ), mToggleAllday, SLOT( setEnabled ( bool ) ) ); // connect( mView->viewManager(), SIGNAL( signalAgendaView( bool ) ), // configureAgendaMenu, SLOT( setEnabled ( bool ) ) ); - viewMenu->insertSeparator(); - icon = loadPixmap( pathString + "picker" ); - action = new QAction( i18n("Date Picker"), icon, i18n("Date Picker"), 0, this ); - action->addTo( viewMenu ); - connect( action, SIGNAL( activated() ), - mView, SLOT( showDatePicker() ) ); - action->addTo( iconToolBar ); + + dPickerAction->addTo( iconToolBar ); viewMenu->insertSeparator(); if ( p-> mShowIconToggleFull ) FSaction->addTo( iconToolBar ); if ( p->mShowIconNavigator ) mToggleNav ->addTo( iconToolBar ); //******************** if ( p->mShowIconAllday ) mToggleAllday->addTo( iconToolBar ); icon = loadPixmap( pathString + "whatsnext" ); configureToolBarMenu->insertItem(icon, i18n("What's Next"), 110 ); QAction* whatsnext_action = new QAction( i18n("What's Next"), icon, i18n("What's Next"), 0, this ); whatsnext_action->addTo( viewMenu ); connect( whatsnext_action, SIGNAL( activated() ), mView->viewManager(), SLOT( showWhatsNextView() ) ); icon = loadPixmap( pathString + "xdays" ); configureToolBarMenu->insertItem(icon, i18n("Next days"), 100 ); QAction* xdays_action = new QAction( i18n("Next days"), icon, i18n("Next days"), 0, this ); xdays_action->addTo( viewMenu ); connect( xdays_action, SIGNAL( activated() ), mView->viewManager(), SLOT( showNextXView() ) ); icon = loadPixmap( pathString + "journal" ); configureToolBarMenu->insertItem(icon, i18n("Journal"), 90 ); QAction* viewjournal_action = new QAction( i18n("Journal"), icon, i18n("Journal"), 0, this ); viewjournal_action->addTo( viewMenu ); connect( viewjournal_action, SIGNAL( activated() ), mView->viewManager(), SLOT( showJournalView() ) ); icon = loadPixmap( pathString + "day" ); configureToolBarMenu->insertItem(icon, i18n("Day View"), 40 ); QAction* day1_action = new QAction( i18n("Day View"), icon, i18n("Day View"), 0, this ); day1_action->addTo( viewMenu ); // action->addTo( toolBar ); connect( day1_action, SIGNAL( activated() ), mView->viewManager(), SLOT( showDayView() ) ); icon = loadPixmap( pathString + "workweek" ); configureToolBarMenu->insertItem(icon, i18n("Work Week"), 50 ); QAction* day5_action = new QAction( i18n("Work Week"), icon, i18n("Work Week"), 0, this ); day5_action->addTo( viewMenu ); connect( day5_action, SIGNAL( activated() ), mView->viewManager(), SLOT( showWorkWeekView() ) ); @@ -915,149 +959,130 @@ void MainWindow::initActions() QAction* day7_action = new QAction( i18n("Week"), icon, i18n("Week"), 0, this ); day7_action->addTo( viewMenu ); connect( day7_action, SIGNAL( activated() ), mView->viewManager(), SLOT( showWeekView() ) ); icon = loadPixmap( pathString + "workweek2" ); configureToolBarMenu->insertItem(icon, i18n("List week view"), 75 ); QAction* day6_action = new QAction( i18n("List week"), icon, i18n("List week"), 0, this ); day6_action->addTo( viewMenu ); connect( day6_action, SIGNAL( activated() ), mView->viewManager(), SLOT( showMonthViewWeek() ) ); icon = loadPixmap( pathString + "month" ); configureToolBarMenu->insertItem(icon, i18n("Month"), 70 ); QAction* month_action = new QAction( i18n("Month"), icon, i18n("Month"), 0, this ); month_action->addTo( viewMenu ); connect( month_action, SIGNAL( activated() ), mView->viewManager(), SLOT( showMonthView() ) ); icon = loadPixmap( pathString + "list" ); configureToolBarMenu->insertItem(icon, i18n("List View"), 30 ); QAction* showlist_action = new QAction( i18n("List View"), icon, i18n("List View"), 0, this ); showlist_action->addTo( viewMenu ); connect( showlist_action, SIGNAL( activated() ), mView->viewManager(), SLOT( showListView() ) ); icon = loadPixmap( pathString + "todo" ); configureToolBarMenu->insertItem(icon, i18n("Todo View"), 80 ); QAction* todoview_action = new QAction( i18n("Todo View"), icon, i18n("Todo View"), 0, this ); todoview_action->addTo( viewMenu ); connect( todoview_action, SIGNAL( activated() ), mView->viewManager(), SLOT( showTodoView() ) ); #if 0 action = new QAction( "view_timespan", "Time Span", 0, this ); action->addTo( viewMenu ); connect( action, SIGNAL( activated() ), mView->viewManager(), SLOT( showTimeSpanView() ) ); #endif mNewSubTodoAction = new QAction( "new_subtodo", i18n("New Sub-Todo..."), 0, this ); mNewSubTodoAction->addTo( actionMenu ); connect( mNewSubTodoAction, SIGNAL( activated() ), mView, SLOT( newSubTodo() ) ); - actionMenu->insertSeparator(); - - mShowAction = new QAction( "show_incidence", i18n("Show..."), 0, this ); - mShowAction->addTo( actionMenu ); - connect( mShowAction, SIGNAL( activated() ), - mView, SLOT( showIncidence() ) ); + action = new QAction( "purge_completed", i18n("Purge Completed..."), 0, + this ); + action->addTo( actionMenu ); + connect( action, SIGNAL( activated() ), mView, SLOT( purgeCompleted() ) ); - mEditAction = new QAction( "edit_incidence", i18n("Edit..."), 0, this ); - mEditAction->addTo( actionMenu ); - connect( mEditAction, SIGNAL( activated() ), - mView, SLOT( editIncidence() ) ); - mDeleteAction = new QAction( "delete_incidence", i18n("Delete..."), 0, this ); - mDeleteAction->addTo( actionMenu ); - connect( mDeleteAction, SIGNAL( activated() ), - mView, SLOT( deleteIncidence() ) ); + configureToolBarMenu->insertItem(icon, i18n("Search"), 120 , 5); - mCloneAction = new QAction( "clone_incidence", i18n("Clone..."), 0, this ); - mCloneAction->addTo( actionMenu ); - connect( mCloneAction, SIGNAL( activated() ), - mView, SLOT( cloneIncidence() ) ); - mMoveAction = new QAction( "Move_incidence", i18n("Move..."), 0, this ); - mMoveAction->addTo( actionMenu ); - connect( mMoveAction, SIGNAL( activated() ), - mView, SLOT( moveIncidence() ) ); - mBeamAction = new QAction( "Beam_incidence", i18n("Beam..."), 0, this ); - mBeamAction->addTo( actionMenu ); - connect( mBeamAction, SIGNAL( activated() ), - mView, SLOT( beamIncidence() ) ); - mCancelAction = new QAction( "Cancel_incidence", i18n("Toggle Cancel"), 0, this ); - mCancelAction->addTo( actionMenu ); - connect( mCancelAction, SIGNAL( activated() ), - mView, SLOT( toggleCancelIncidence() ) ); actionMenu->insertSeparator(); - - action = new QAction( "purge_completed", i18n("Purge Completed"), 0, + action = new QAction( "manage cat", i18n("Edit category list..."), 0, this ); action->addTo( actionMenu ); - connect( action, SIGNAL( activated() ), mView, SLOT( purgeCompleted() ) ); - - icon = loadPixmap( pathString + "search" ); - QAction* search_action = new QAction( i18n("Search"), icon, i18n("Search..."), 0, this ); - configureToolBarMenu->insertItem(icon, i18n("Search"), 120 , 5); - search_action->addTo( actionMenu ); - connect( search_action, SIGNAL( activated() ), - mView->dialogManager(), SLOT( showSearchDialog() ) ); + connect( action, SIGNAL( activated() ), mView, SLOT( editCategories() ) ); + action = new QAction( "manage cat", i18n("Manage new categories..."), 0, + this ); + action->addTo( actionMenu ); + connect( action, SIGNAL( activated() ), mView, SLOT( manageCategories() ) ); - if ( KOPrefs::instance()->mShowFullMenu ) { actionMenu->insertSeparator(); + icon = loadPixmap( pathString + "configure" ); + action = new QAction( i18n("Configure"),icon, i18n("Configure KO/Pi..."), 0, this ); + action->addTo( actionMenu ); + connect( action, SIGNAL( activated() ), + mView, SLOT( edit_options() ) ); + icon = loadPixmap( pathString + "configure" ); + action = new QAction( i18n("Configure"),icon, i18n("Global Settings..."), 0, this ); + action->addTo( actionMenu ); + connect( action, SIGNAL( activated() ), + mView, SLOT( edit_global_options() ) ); + if ( KOPrefs::instance()->mShowFullMenu ) { actionMenu->insertItem( i18n("Configure Toolbar"),configureToolBarMenu ); } // actionMenu->insertSeparator(); action = new QAction( "import_qtopia", i18n("Import (*.ics/*.vcs) file"), 0, this ); action->addTo( importMenu_X ); connect( action, SIGNAL( activated() ), SLOT( importIcal() ) ); action = new QAction( "import_quick", i18n("Import last file"), 0, this ); action->addTo( importMenu_X ); connect( action, SIGNAL( activated() ), SLOT( quickImportIcal() ) ); importMenu_X->insertSeparator(); action = new QAction( "import_bday", i18n("Import Birthdays (KA/Pi)"), 0, this ); action->addTo( importMenu_X ); connect( action, SIGNAL( activated() ), SLOT( importBday() ) ); //#ifndef DESKTOP_VERSION importMenu_X->insertSeparator(); action = new QAction( "import_qtopia", i18n("Import Opie/Qtopia Cal."), 0, this ); action->addTo( importMenu_X ); connect( action, SIGNAL( activated() ), SLOT( importQtopia() ) ); //#else #ifdef _OL_IMPORT_ importMenu_X->insertSeparator(); action = new QAction( "import_ol", i18n("Import from OL"), 0, this ); action->addTo( importMenu_X ); connect( action, SIGNAL( activated() ), SLOT( importOL() ) ); #endif //#endif //importMenu->insertSeparator(); #if 0 action = new QAction( "load_cal", i18n("Load Calendar Backup"), 0, this ); action->addTo( importMenu ); connect( action, SIGNAL( activated() ), SLOT( loadCalendar() ) ); #endif action = new QAction( "save_cal", i18n("Save Calendar Backup"), 0, this ); action->addTo( importMenu ); connect( action, SIGNAL( activated() ), SLOT( saveCalendar() ) ); importMenu->insertSeparator(); importMenu->insertItem( i18n("Import"), importMenu_X ); //importMenu->insertSeparator(); action = new QAction( "import_qtopia", i18n("Export VCalendar"), 0, @@ -1079,101 +1104,97 @@ void MainWindow::initActions() brAction = new QAction( "beam toggle", i18n("Beam receive enabled"), 0, this ); brAction->addTo( beamMenu_X ); brAction->setToggleAction (true ) ; connect( brAction, SIGNAL( activated() ), this, SLOT( toggleBeamReceive() ) ); action = new QAction( "beam all", i18n("Beam complete calendar..."), 0, this ); action->addTo( beamMenu_X ); connect( action, SIGNAL( activated() ), mView, SLOT( beamCalendar() ) ); action = new QAction( "beam all", i18n("Beam filtered calendar..."), 0, this ); action->addTo( beamMenu_X ); connect( action, SIGNAL( activated() ), mView, SLOT( beamFilteredCalendar()) ); importMenu->insertItem( i18n("Beam"), beamMenu_X ); #else //importMenu->insertSeparator(); icon = loadPixmap( pathString + "print" ); action = new QAction( i18n("Print calendar..."),icon,i18n("Print calendar..."), 0, this ); action->addTo( beamMenu_X ); connect( action, SIGNAL( activated() ), this, SLOT( printCal() ) ); icon = loadPixmap( pathString + "print" ); action = new QAction( i18n("Print agenda selection..."),icon,i18n("Print agenda selection..."), 0, this ); action->addTo( beamMenu_X ); connect( action, SIGNAL( activated() ), this, SLOT( printSel() ) ); action = new QAction( i18n("Print What's Next View..."),icon,i18n("Print What's Next View..."), 0, this ); action->addTo( beamMenu_X ); connect( action, SIGNAL( activated() ), mView->viewManager(), SLOT( slotprintWNV() ) ); icon = loadPixmap( pathString + "print" ); action = new QAction( i18n("Print List View..."),icon,i18n("Print List View..."), 0, this ); action->addTo( beamMenu_X ); connect( action, SIGNAL( activated() ), this, SLOT( printListView() ) ); action = new QAction( i18n("Print selected event / todo..."),icon,i18n("Print selected event / todo..."), 0, this ); action->addTo( beamMenu_X ); connect( action, SIGNAL( activated() ), mView, SLOT( slotprintSelInc() ) ); importMenu->insertItem( i18n("Print"), beamMenu_X ); #endif - importMenu->insertSeparator(); - action = new QAction( "manage cat", i18n("Manage new categories..."), 0, - this ); - action->addTo( importMenu ); - connect( action, SIGNAL( activated() ), mView, SLOT( manageCategories() ) ); + importMenu->insertSeparator(); action = new QAction( "beam all", i18n("Save"), 0, this ); action->addTo( importMenu ); connect( action, SIGNAL( activated() ), this, SLOT( save() ) ); action = new QAction( "beam all", i18n("Exit (+save)"), 0, this ); action->addTo( importMenu ); connect( action, SIGNAL( activated() ), this, SLOT( close() ) ); //menuBar->insertItem( "Configure",configureMenu ); //configureMenu->insertItem( "Toolbar",configureToolBarMenu ); icon = loadPixmap( "korganizer/korganizer" ); action = new QAction( "Whats New", i18n("What's new?"), 0,this ); action->addTo( helpMenu ); connect( action, SIGNAL( activated() ), SLOT( whatsNew() ) ); action = new QAction( "featureHowto", i18n("Features + hints..."), 0,this ); action->addTo( helpMenu ); connect( action, SIGNAL( activated() ), SLOT( features() ) ); action = new QAction( "Keys + Colors", i18n("Keys + Colors..."), 0, this ); action->addTo( helpMenu ); connect( action, SIGNAL( activated() ), SLOT( keyBindings() ) ); action = new QAction( "Storage Howto", i18n("Storage HowTo..."), 0,this ); action->addTo( helpMenu ); connect( action, SIGNAL( activated() ), SLOT( storagehowto() ) ); action = new QAction( "Timetracking Howto", i18n("Timetracking HowTo..."), 0,this ); action->addTo( helpMenu ); connect( action, SIGNAL( activated() ), SLOT( timetrackinghowto() ) ); action = new QAction( "Sync Howto", i18n("Sync HowTo..."), 0,this ); action->addTo( helpMenu ); connect( action, SIGNAL( activated() ), SLOT( synchowto() ) ); action = new QAction( "KDE Sync Howto", i18n("KDE Sync HowTo..."), 0,this ); action->addTo( helpMenu ); connect( action, SIGNAL( activated() ), SLOT( kdesynchowto() ) ); action = new QAction( "Multi Sync Howto", i18n("Multi Sync HowTo..."), 0,this ); action->addTo( helpMenu ); connect( action, SIGNAL( activated() ), SLOT( multisynchowto() ) ); action = new QAction( "Auto saving", i18n("Auto saving..."), 0, this ); action->addTo( helpMenu ); @@ -1669,104 +1690,109 @@ void MainWindow::processIncidenceSelection( Incidence *incidence ) if ( incidence->dtStart().time() != incidence->dtEnd().time() ) startString = ": "+KGlobal::locale()->formatTime(incidence->dtStart().time())+ "-"+KGlobal::locale()->formatTime(incidence->dtEnd().time()); if ( incidence->isBirthday() || incidence->isAnniversary() ) { bool ok; QDateTime noc = incidence->getNextOccurence( mView->startDate().addDays(-1), &ok ); if ( ok ) { int years = noc.date().year() - incidence->dtStart().date().year(); startString += i18n(" (%1 y.)"). arg( years ); } } else startString +=" "+KGlobal::locale()->formatDate( incidence->dtStart().date(), true); } } else startString = i18n(": (Prio ") +QString::number( (( KCal::Todo*)incidence)->priority() ) +") "+QString::number( (( KCal::Todo*)incidence)->percentComplete() ) +i18n("\% completed"); if ( !incidence->location().isEmpty() ) startString += " (" +incidence->location()+")"; setCaption( incidence->summary()+startString); enableIncidenceActions( true ); if ( incidence->typeID() == eventID ) { mShowAction->setText( i18n("Show Event...") ); mEditAction->setText( i18n("Edit Event...") ); mDeleteAction->setText( i18n("Delete Event...") ); mNewSubTodoAction->setEnabled( false ); } else if ( incidence->typeID() == todoID ) { mShowAction->setText( i18n("Show Todo...") ); mEditAction->setText( i18n("Edit Todo...") ); mDeleteAction->setText( i18n("Delete Todo...") ); mNewSubTodoAction->setEnabled( true ); } else { mShowAction->setText( i18n("Show...") ); mShowAction->setText( i18n("Edit...") ); mShowAction->setText( i18n("Delete...") ); mNewSubTodoAction->setEnabled( false ); } } void MainWindow::enableIncidenceActions( bool enabled ) { + +#ifndef DESKTOP_VERSION + mCurrentItemMenu->setEnabled( enabled ); +#else mShowAction->setEnabled( enabled ); mEditAction->setEnabled( enabled ); mDeleteAction->setEnabled( enabled ); mCloneAction->setEnabled( enabled ); mMoveAction->setEnabled( enabled ); mBeamAction->setEnabled( enabled ); mCancelAction->setEnabled( enabled ); +#endif } void MainWindow::importOL() { #ifdef _OL_IMPORT_ mView->clearAllViews(); KOImportOLdialog *id = new KOImportOLdialog("Import from OL - select folder!" , mView->calendar(),this ); id->exec(); delete id; mView->calendar()->checkAlarmForIncidence( 0, true ); mView->updateView(); #endif } void MainWindow::importBday() { int result = QMessageBox::warning( this, i18n("KO/Pi import information!"), i18n("When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n"), i18n("Import!"), i18n("Cancel"), 0, 0, 1 ); if ( result == 0 ) { mView->importBday(); } } void MainWindow::importQtopia() { //#ifndef DESKTOP_VERSION QString mess = i18n("When importing a calendar twice\nduplicated events will be ignored!\nYou can create a backup file with\nFile - Save Calendar Backup\nto revert importing"); #ifdef DESKTOP_VERSION mess += i18n("The content of the following files will be\nimported (located in your home directory (hd)):\n(hd)/Applications/datebook/datebook.xml\n(hd)/Applications/todolist/todolist.xml\nThe following category file will be used:\n(hd)/Settings/Categories.xml"); #endif int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mess, i18n("Import!"), i18n("Cancel"), 0, 0, 1 ); if ( result == 0 ) { #ifndef DESKTOP_VERSION QString datebook = Global::applicationFileName( "datebook", "datebook.xml"); QString todolist = Global::applicationFileName( "todolist", "todolist.xml"); QString categories = QString( getenv( "HOME" ) ) + "/Settings/Categories.xml"; #else QString datebook = QDir::homeDirPath()+ "/Applications/datebook/datebook.xml"; QString todolist = QDir::homeDirPath()+ "/Applications/todolist/todolist.xml"; QString categories = QDir::homeDirPath()+ "/Settings/Categories.xml"; #endif mView->importQtopia( categories, datebook, todolist ); } @@ -2229,96 +2255,97 @@ void MainWindow::updateFilterToolbar() if ( !mView->filterView()->filtersEnabled() ) { filterMenubar->changeItem( 0, i18n("No Filter") ); } else { CalFilter *curfilter = mView->filterView()->selectedFilter(); if ( curfilter ) { filterMenubar->changeItem( 0, curfilter->name() ); } } } } void MainWindow::selectFilterPopup( int fil ) { selectFilter( fil + 1 ); } void MainWindow::configureToolBar( int item ) { configureToolBarMenu->setItemChecked( item, !configureToolBarMenu-> isItemChecked ( item ) ); KOPrefs *p = KOPrefs::instance(); p-> mShowIconStretch= configureToolBarMenu->isItemChecked( 5 ); p-> mShowIconOnetoolbar = configureToolBarMenu->isItemChecked( 6 ); p-> mShowIconFilter = configureToolBarMenu->isItemChecked( 7 ); p-> mShowIconNewEvent= configureToolBarMenu->isItemChecked( 10 ); p->mShowIconNewTodo = configureToolBarMenu->isItemChecked( 20 ); p->mShowIconNavigator = configureToolBarMenu->isItemChecked( 22 ); p->mShowIconAllday = configureToolBarMenu->isItemChecked( 24 ); p->mShowIconFilterview = configureToolBarMenu->isItemChecked( 26 ); p->mShowIconToggleFull = configureToolBarMenu->isItemChecked( 28 ); p-> mShowIconSearch= configureToolBarMenu->isItemChecked( 120 ); p-> mShowIconList= configureToolBarMenu->isItemChecked( 30 ); p-> mShowIconDay1= configureToolBarMenu->isItemChecked( 40 ); p-> mShowIconDay5= configureToolBarMenu->isItemChecked( 50 ); p-> mShowIconDay6= configureToolBarMenu->isItemChecked( 75 ); p-> mShowIconDay7= configureToolBarMenu->isItemChecked( 60 ); p-> mShowIconMonth= configureToolBarMenu->isItemChecked( 70 ); p-> mShowIconTodoview= configureToolBarMenu->isItemChecked( 80 ); p-> mShowIconBackFast= configureToolBarMenu->isItemChecked( 200 ); p-> mShowIconBack = configureToolBarMenu->isItemChecked( 210 ); p-> mShowIconToday= configureToolBarMenu->isItemChecked( 130 ); p-> mShowIconForward= configureToolBarMenu->isItemChecked( 220 ); p-> mShowIconForwardFast= configureToolBarMenu->isItemChecked( 230 ); p-> mShowIconNextDays= configureToolBarMenu->isItemChecked( 100 ); p-> mShowIconNext= configureToolBarMenu->isItemChecked( 110 ); p-> mShowIconJournal= configureToolBarMenu->isItemChecked( 90 ); p-> mShowIconWhatsThis= configureToolBarMenu->isItemChecked( 300 ); p-> mShowIconWeekNum= configureToolBarMenu->isItemChecked( 400 ); // initActions(); + setCaption ( i18n("Toolbar changes needs a restart!") ); } void MainWindow::setCaption ( const QString & c ) { QString cap = c; cap.replace( QRegExp("\n"), " " ); cap = cap.stripWhiteSpace(); if ( cap.isEmpty() ) cap = "KO/Pi"; QWidget::setCaption( cap ); } void MainWindow::setCaptionToDates() { QString selDates; QDate date = mView->startDate(); if ( ! date.isValid() ) { setCaption(""); return; } selDates = KGlobal::locale()->formatDate( date, true); if (mView->startDate() < mView->endDate() ) selDates += " - " + KGlobal::locale()->formatDate(mView->endDate(), true); else { QString addString; if ( date == QDateTime::currentDateTime().date() ) addString = i18n("Today"); else if ( date == QDateTime::currentDateTime().date().addDays(1) ) addString = i18n("Tomorrow"); if ( !addString.isEmpty() ) selDates = addString+", "+selDates ; } setCaption( i18n("Dates: ") + selDates ); } void MainWindow::showConfigureAgenda( ) { int iii; for ( iii = 1;iii<= 10 ;++iii ){ configureAgendaMenu->setItemChecked( (iii+1)*2, false ); } configureAgendaMenu->setItemChecked( (KOPrefs::instance()->mHourSize/2)*2, true ); } void MainWindow::configureAgenda( int item ) { if ( KOPrefs::instance()->mHourSize == item ) return; KOPrefs::instance()->mHourSize=item; mView->viewManager()->agendaView()->updateConfig(); } diff --git a/korganizer/mainwindow.h b/korganizer/mainwindow.h index a4d0523..953774f 100644 --- a/korganizer/mainwindow.h +++ b/korganizer/mainwindow.h @@ -84,88 +84,89 @@ class MainWindow : public QMainWindow void save(); void backupAllFiles(); void saveStopTimer(); void configureToolBar( int ); void printSel(); void printCal(); void printListView(); void saveCalendar(); void loadCalendar(); void exportVCalendar(); void fillFilterMenu(); void fillFilterMenuTB(); void selectFilter( int ); void fillFilterMenuPopup(); void selectFilterPopup( int ); void exportToPhone( int ); void toggleBeamReceive(); void disableBR(bool); signals: void selectWeek ( int ); private slots: void showConfigureAgenda(); void getFile( bool ); void syncFileRequest(); protected: void hideEvent ( QHideEvent * ); QString sentSyncFile(); void displayText( QString, QString); void enableIncidenceActions( bool ); private: bool mBRdisabled; #ifndef DESKTOP_VERSION QCopChannel* infrared; #endif QAction* brAction; KSyncManager* mSyncManager; bool mClosed; void saveOnClose(); bool mFlagKeyPressed; bool mBlockAtStartup; QPEToolBar *iconToolBar; QPEToolBar *viewToolBar; QPEToolBar *navigatorToolBar; QPEToolBar *filterToolBar; QMenuBar *filterMenubar; QPopupMenu * filterPopupMenu; + QPopupMenu * mCurrentItemMenu; void initActions(); void setDefaultPreferences(); void resizeEvent( QResizeEvent* e); void keyPressEvent ( QKeyEvent * ) ; void keyReleaseEvent ( QKeyEvent * ) ; QPopupMenu *configureToolBarMenu; QPopupMenu *selectFilterMenu; QPopupMenu *selectFilterMenuTB; QPopupMenu *configureAgendaMenu, *syncMenu; CalendarLocal *mCalendar; CalendarView *mView; QAction *mNewSubTodoAction; QAction *mWeekAction; QFont mWeekFont; QPixmap mWeekPixmap; QColor mWeekBgColor; QAction *mShowAction; QAction *mEditAction; QAction *mDeleteAction; QAction *mCloneAction; QAction *mMoveAction; QAction *mBeamAction; QAction *mCancelAction; QAction *mToggleNav; QAction *mToggleFilter; QAction *mToggleAllday; QAction *actionFilterMenuTB; void closeEvent( QCloseEvent* ce ); QTimer mSaveTimer; //bool mBlockSaveFlag; bool mCalendarModifiedFlag; QPixmap loadPixmap( QString ); QPixmap listviewPix, listviewPix0, listviewPix20, listviewPix40, listviewPix60, listviewPix80; }; #endif @@ -1 +1 @@ -version = "2.1.11"; +version = "2.1.12"; |