-rw-r--r-- | bin/kdepim/WhatsNew.txt | 12 | ||||
-rw-r--r-- | bin/kdepim/kaddressbook/germantranslation.txt | 2 | ||||
-rw-r--r-- | bin/kdepim/korganizer/germantranslation.txt | 7 | ||||
-rw-r--r-- | korganizer/koeditorgeneral.cpp | 7 | ||||
-rw-r--r-- | korganizer/koeditorgeneral.h | 2 | ||||
-rw-r--r-- | korganizer/koeventeditor.cpp | 4 | ||||
-rw-r--r-- | korganizer/koeventviewer.cpp | 8 | ||||
-rw-r--r-- | korganizer/koincidenceeditor.cpp | 5 | ||||
-rw-r--r-- | korganizer/koincidenceeditor.h | 3 | ||||
-rw-r--r-- | korganizer/kotodoeditor.cpp | 4 | ||||
-rw-r--r-- | libkdepim/ksyncprefsdialog.cpp | 4 |
11 files changed, 50 insertions, 8 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt index 03bc03b..cd37aac 100644 --- a/bin/kdepim/WhatsNew.txt +++ b/bin/kdepim/WhatsNew.txt | |||
@@ -1,18 +1,30 @@ | |||
1 | Info about the changes in new versions of KDE-Pim/Pi | 1 | Info about the changes in new versions of KDE-Pim/Pi |
2 | 2 | ||
3 | ********** VERSION 2.2.8 ************ | ||
4 | |||
5 | |||
6 | I forgot what I fixed... | ||
7 | |||
8 | Some minor fixes in KA/Pi and KO/Pi. | ||
9 | |||
10 | KA/Pi uses popup menu now for quick category selection in contact edit dialog. | ||
11 | |||
12 | In the Pi-syc mode of KO/Pi it is now possible to define specific resources which can be synced with the remote pi-sync server. | ||
13 | This feature must be considered as unstable - it still needs some more testing. | ||
14 | |||
3 | ********** VERSION 2.2.7 ************ | 15 | ********** VERSION 2.2.7 ************ |
4 | 16 | ||
5 | Added for Desktop Versions (Windows + Linux) the possibility to specify an email client to call if the user clicks on an emailaddress. | 17 | Added for Desktop Versions (Windows + Linux) the possibility to specify an email client to call if the user clicks on an emailaddress. |
6 | (Menu: Config->Global Settings->Extern.Applications: E-mail). | 18 | (Menu: Config->Global Settings->Extern.Applications: E-mail). |
7 | Added as default (and example) Mozilla Thunderbird settings. | 19 | Added as default (and example) Mozilla Thunderbird settings. |
8 | If the path to the binary in this Mozilla Thunderbird example is not matching your environment you can take these settings as an template and configure "User defined email client". | 20 | If the path to the binary in this Mozilla Thunderbird example is not matching your environment you can take these settings as an template and configure "User defined email client". |
9 | 21 | ||
10 | ********** VERSION 2.2.6 ************ | 22 | ********** VERSION 2.2.6 ************ |
11 | 23 | ||
12 | KO/Pi: | 24 | KO/Pi: |
13 | Made navigation in datepicker more userfriendly when using keyboard for scrolling. | 25 | Made navigation in datepicker more userfriendly when using keyboard for scrolling. |
14 | KO/Pi Alarm applet: | 26 | KO/Pi Alarm applet: |
15 | Made font size for the two popup menus with larger font configurable: | 27 | Made font size for the two popup menus with larger font configurable: |
16 | Change size with menu: | 28 | Change size with menu: |
17 | Play Beeps->Font Size | 29 | Play Beeps->Font Size |
18 | Save settings such that it will be restored after next reboot with menu: | 30 | Save settings such that it will be restored after next reboot with menu: |
diff --git a/bin/kdepim/kaddressbook/germantranslation.txt b/bin/kdepim/kaddressbook/germantranslation.txt index 3448dcc..e03dafb 100644 --- a/bin/kdepim/kaddressbook/germantranslation.txt +++ b/bin/kdepim/kaddressbook/germantranslation.txt | |||
@@ -816,21 +816,23 @@ | |||
816 | { "Import Format","Import Format" }, | 816 | { "Import Format","Import Format" }, |
817 | { "Select import format!\nDefault and standard is Utf8.\nLatin1 may be the right\nfor some West Europian languages.","Wähle Import Format!\nDefault und Standard ist Utf8.\nLatin1 kann das richtige für\nWesteuropäische Sprachen sein." }, | 817 | { "Select import format!\nDefault and standard is Utf8.\nLatin1 may be the right\nfor some West Europian languages.","Wähle Import Format!\nDefault und Standard ist Utf8.\nLatin1 kann das richtige für\nWesteuropäische Sprachen sein." }, |
818 | { "Home2","Privat2" }, | 818 | { "Home2","Privat2" }, |
819 | { "Work2","Arbeit2" }, | 819 | { "Work2","Arbeit2" }, |
820 | { "Fax (Work)","Fax (Arbeit)" }, | 820 | { "Fax (Work)","Fax (Arbeit)" }, |
821 | { "Fax (Home)","Fax (Privat)" }, | 821 | { "Fax (Home)","Fax (Privat)" }, |
822 | { "Assistent","Sekretär(in)" }, | 822 | { "Assistent","Sekretär(in)" }, |
823 | { "Company","Firma" }, | 823 | { "Company","Firma" }, |
824 | { "Mobile2","Handy2" }, | 824 | { "Mobile2","Handy2" }, |
825 | { "Callback","Rückruf" }, | 825 | { "Callback","Rückruf" }, |
826 | { "Fax (Other)","Fax (Sonst.)" }, | 826 | { "Fax (Other)","Fax (Sonst.)" }, |
827 | { "Primary","Bevorzugt" }, | 827 | { "Primary","Bevorzugt" }, |
828 | { "Mobile","Handy" }, | 828 | { "Mobile","Handy" }, |
829 | { "Unfiled","Nicht zugeordnet" }, | 829 | { "Unfiled","Nicht zugeordnet" }, |
830 | { "Format.n.:","Format.N.:" }, | 830 | { "Format.n.:","Format.N.:" }, |
831 | { "Other Phone","Sonst. Telefon" }, | 831 | { "Other Phone","Sonst. Telefon" }, |
832 | { "Pi-Sync - all calendars ( direct Kx/Pi to Kx/Pi sync )","Pi-Sync - alle Kalender ( direktes Kx/Pi mit Kx/Pi syncen )" }, | ||
833 | { "Pi-Sync - selected calendars ( direct Kx/Pi to Kx/Pi sync )","Pi-Sync - ausgewählte Kalender ( direktes Kx/Pi mit Kx/Pi syncen )" }, | ||
832 | { "","" }, | 834 | { "","" }, |
833 | { "","" }, | 835 | { "","" }, |
834 | { "","" }, | 836 | { "","" }, |
835 | { "","" }, | 837 | { "","" }, |
836 | { "","" }, \ No newline at end of file | 838 | { "","" }, \ No newline at end of file |
diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt index 767e243..2dec521 100644 --- a/bin/kdepim/korganizer/germantranslation.txt +++ b/bin/kdepim/korganizer/germantranslation.txt | |||
@@ -923,33 +923,32 @@ | |||
923 | { "What's Next View","What's Next Ansicht" }, | 923 | { "What's Next View","What's Next Ansicht" }, |
924 | { "Allday Agenda view shows todos","Ganztag Agenda zeigt Todos" }, | 924 | { "Allday Agenda view shows todos","Ganztag Agenda zeigt Todos" }, |
925 | { "Alarm","Alarm" }, | 925 | { "Alarm","Alarm" }, |
926 | { "Used %1 Client","Benutzter %1 Client" }, | 926 | { "Used %1 Client","Benutzter %1 Client" }, |
927 | { "No email client installed","Kein Email Klient installiert" }, | 927 | { "No email client installed","Kein Email Klient installiert" }, |
928 | { "Userdefined email client","Benutzerdef. Email Klient" }, | 928 | { "Userdefined email client","Benutzerdef. Email Klient" }, |
929 | { "OM/Pi email client","OM/Pi Email Klient" }, | 929 | { "OM/Pi email client","OM/Pi Email Klient" }, |
930 | { "Include in multiple ","Beziehe in multiple " }, | 930 | { "Include in multiple ","Beziehe in multiple " }, |
931 | { "calendar ","Kalender " }, | 931 | { "calendar ","Kalender " }, |
932 | { "addressbook ","Adressbuch " }, | 932 | { "addressbook ","Adressbuch " }, |
933 | { "pwmanager","PWmanager" }, | 933 | { "pwmanager","PWmanager" }, |
934 | { " sync"," Sync ein" }, | 934 | { " sync"," Sync ein" }, |
935 | { "Write back synced data","Schreibe gesyncte Daten zurück" }, | 935 | { "Write back synced data","Schreibe gesyncte Daten zurück" }, |
936 | { "-- Write back (on remote) existing entries only","-- Schreibe nur existierende (entfernte) Einträge zurück" }, | 936 | { "-- Write back (on remote) existing entries only","-- Schreibe nur existierende (entfernte) Einträge zurück" }, |
937 | { "-- Write back (calendar) entries in future only","-- Schreibe nur zukünftige Kalender-Einträge zurück" }, | 937 | { "-- Write back (calendar) entries in future only","-- Schreibe nur zukünftige Kalender-Einträge zurück" }, |
938 | { "---- Max. weeks in future: ","---- Max. wochen in der Zukunft: " }, | 938 | { "---- Max. weeks in future: ","---- Max. wochen in der Zukunft: " }, |
939 | { "Pi-Sync ( direct Kx/Pi to Kx/Pi sync )","Pi-Sync ( direktes Kx/Pi zu Kx/Pi sync )" }, | ||
940 | { "Mobile device (cell phone)","Mobiles Gerät (Handy)" }, | 939 | { "Mobile device (cell phone)","Mobiles Gerät (Handy)" }, |
941 | { "Help...","Hilfe..." }, | 940 | { "Help...","Hilfe..." }, |
942 | { "Local file Cal:","Lokale Datei Kal:" }, | 941 | { "Local file Cal:","Lokale Datei Kal:" }, |
943 | { "Local file ABook:","Lokale Datei ABuch:" }, | 942 | { "Local file ABook:","Lokale Datei ABuch:" }, |
944 | { "Local file PWMgr:","Lokale Datei PWMgr:" }, | 943 | { "Local file PWMgr:","Lokale Datei PWMgr:" }, |
945 | { "Addressbook file (*.vcf) is used by KA/Pi","Adressbuch Datei (*.vcf) wird von KA/Pi genutzt" }, | 944 | { "Addressbook file (*.vcf) is used by KA/Pi","Adressbuch Datei (*.vcf) wird von KA/Pi genutzt" }, |
946 | { "Calendar:","Kalender:" }, | 945 | { "Calendar:","Kalender:" }, |
947 | { "AddressBook:","AdressBuch:" }, | 946 | { "AddressBook:","AdressBuch:" }, |
948 | { "PWManager:","PWManager:" }, | 947 | { "PWManager:","PWManager:" }, |
949 | { "Addressbook file is used by KA/Pi","Adressbuch Datei wird von KA/Pi genutzt" }, | 948 | { "Addressbook file is used by KA/Pi","Adressbuch Datei wird von KA/Pi genutzt" }, |
950 | { "ssh/scp","ssh/scp" }, | 949 | { "ssh/scp","ssh/scp" }, |
951 | { "ftp","ftp" }, | 950 | { "ftp","ftp" }, |
952 | { "Password for remote access: (could be the same for each)","Passwort für entfernten Zugriff: (kann dasselbe sein für alle)" }, | 951 | { "Password for remote access: (could be the same for each)","Passwort für entfernten Zugriff: (kann dasselbe sein für alle)" }, |
953 | { "Remote IP address: (could be the same for each)","Entfernte IP Adresse: (kann dasselbe sein für alle)" }, | 952 | { "Remote IP address: (could be the same for each)","Entfernte IP Adresse: (kann dasselbe sein für alle)" }, |
954 | { "Remote port number: (should be different for each)","Entfernte Port Nummer: (Sollte für alle unterschiedlich sein)" }, | 953 | { "Remote port number: (should be different for each)","Entfernte Port Nummer: (Sollte für alle unterschiedlich sein)" }, |
955 | { "command for downloading remote file to local device","Kommando zum Download der entfernten Datei zum lokalen Gerät" }, | 954 | { "command for downloading remote file to local device","Kommando zum Download der entfernten Datei zum lokalen Gerät" }, |
@@ -1558,23 +1557,29 @@ | |||
1558 | { "Loading calendar files ... please wait","Lade Kalenderdateien ... bitte warten" }, | 1557 | { "Loading calendar files ... please wait","Lade Kalenderdateien ... bitte warten" }, |
1559 | { "Show multiday allday ev. in date nav.","Zeige Multi-Ganzt.Term.in Datums Nav." }, | 1558 | { "Show multiday allday ev. in date nav.","Zeige Multi-Ganzt.Term.in Datums Nav." }, |
1560 | { "Include events which "show as free"","Inklusive Termine mit "Zeige Zeit als frei"" }, | 1559 | { "Include events which "show as free"","Inklusive Termine mit "Zeige Zeit als frei"" }, |
1561 | { "Conflict detection checks an <b>edited event</b> with <b>other events</b> for overlapping.","Konflikterkennung prüft einen <b>bearbeiteten Termin</b> auf Überschneidungen mit <b>anderen Terminen</b>." }, | 1560 | { "Conflict detection checks an <b>edited event</b> with <b>other events</b> for overlapping.","Konflikterkennung prüft einen <b>bearbeiteten Termin</b> auf Überschneidungen mit <b>anderen Terminen</b>." }, |
1562 | { " Yes, close "," Ja, beenden " }, | 1561 | { " Yes, close "," Ja, beenden " }, |
1563 | { "Export All Data","Exportiere alle Daten" }, | 1562 | { "Export All Data","Exportiere alle Daten" }, |
1564 | { "You can save all data\nto another file via\nFile->Export->Export All Data","Sie können alle Daten in\neine andere Datei speichern unter\nDatei->Exportiere->Exportiere alle Daten" }, | 1563 | { "You can save all data\nto another file via\nFile->Export->Export All Data","Sie können alle Daten in\neine andere Datei speichern unter\nDatei->Exportiere->Exportiere alle Daten" }, |
1565 | { "<p><b>Duration:</b> %1 days</p>","<p><b>Dauer:</b> %1 Tage</p>" }, | 1564 | { "<p><b>Duration:</b> %1 days</p>","<p><b>Dauer:</b> %1 Tage</p>" }, |
1566 | { " (Duration: %1 days)"," (Dauer: %1 Tage)" }, | 1565 | { " (Duration: %1 days)"," (Dauer: %1 Tage)" }, |
1567 | { "Autosave enabled!","Auto-Speichern angeschaltet!" }, | 1566 | { "Autosave enabled!","Auto-Speichern angeschaltet!" }, |
1568 | { "Autosave disabled! Save timer stopped!","Auto-Speichern ausgeschaltet! Speicher Timer gestoppt!" }, | 1567 | { "Autosave disabled! Save timer stopped!","Auto-Speichern ausgeschaltet! Speicher Timer gestoppt!" }, |
1569 | { "Autosave disabled!","Auto-Speichern ist ausgeschaltet!" }, | 1568 | { "Autosave disabled!","Auto-Speichern ist ausgeschaltet!" }, |
1570 | { "Yes, Save!","Ja, Speichern!" }, | 1569 | { "Yes, Save!","Ja, Speichern!" }, |
1571 | { "Calendar is modified\nbut Autosave is disabled!\nDo you want\nto save the data?","Der Kalender wurde verändert,\naber Auto-Speichern ist\nabgeschaltet. Möchten Sie\ndie Daten speichern?" }, | 1570 | { "Calendar is modified\nbut Autosave is disabled!\nDo you want\nto save the data?","Der Kalender wurde verändert,\naber Auto-Speichern ist\nabgeschaltet. Möchten Sie\ndie Daten speichern?" }, |
1572 | { "<p><b>C+ctrl</b>: Dis/enable automatic saving</p>\n","<p><b>C+ctrl</b>: Auto-Speichern ab/anschalten</p>\n" }, | 1571 | { "<p><b>C+ctrl</b>: Dis/enable automatic saving</p>\n","<p><b>C+ctrl</b>: Auto-Speichern ab/anschalten</p>\n" }, |
1573 | { "<br>The calendar contains<br><b>%1 events<br>%2 todos<br>%3 journals</b>","<br>Der Kalender enthält<br><b>%1 Termine<br>%2 Todos<br>%3 Journale</b>" }, | 1572 | { "<br>The calendar contains<br><b>%1 events<br>%2 todos<br>%3 journals</b>","<br>Der Kalender enthält<br><b>%1 Termine<br>%2 Todos<br>%3 Journale</b>" }, |
1573 | { "Enable alarm in resource settings","Schalte Alarm in Resourcenansicht wieder an" }, | ||
1574 | { "The alarm for this calendar\nis currently disabled!\nEnable it in resource settings.","Der Alarm für diesen Kalender\nist abgeschaltet.\nSchalten Sie ihn in der\nResourcenansicht ggf. an." }, | ||
1575 | { "Alarm disabled warning","Nichtaktiver Alarm" }, | ||
1576 | { "Pi-Sync - all calendars ( direct Kx/Pi to Kx/Pi sync )","Pi-Sync - alle Kalender ( direktes Kx/Pi mit Kx/Pi syncen )" }, | ||
1577 | { "Pi-Sync - selected calendars ( direct Kx/Pi to Kx/Pi sync )","Pi-Sync - ausgewählte Kalender ( direktes Kx/Pi mit Kx/Pi syncen )" }, | ||
1578 | { "","" }, | ||
1574 | { "","" }, | 1579 | { "","" }, |
1575 | { "","" }, | 1580 | { "","" }, |
1576 | { "","" }, | 1581 | { "","" }, |
1577 | { "","" }, | 1582 | { "","" }, |
1578 | { "","" }, | 1583 | { "","" }, |
1579 | { "","" }, | 1584 | { "","" }, |
1580 | { "","" }, | 1585 | { "","" }, |
diff --git a/korganizer/koeditorgeneral.cpp b/korganizer/koeditorgeneral.cpp index 92e5a0f..21f220c 100644 --- a/korganizer/koeditorgeneral.cpp +++ b/korganizer/koeditorgeneral.cpp | |||
@@ -130,33 +130,32 @@ void KOEditorGeneral::initHeader(QWidget *parent,QBoxLayout *topLayout) | |||
130 | --str; | 130 | --str; |
131 | if ( QApplication::desktop()->width() < 320 ) | 131 | if ( QApplication::desktop()->width() < 320 ) |
132 | --str; | 132 | --str; |
133 | } | 133 | } |
134 | headerLayout->setColStretch( 1, str); | 134 | headerLayout->setColStretch( 1, str); |
135 | headerLayout->setColStretch( 2, 1); | 135 | headerLayout->setColStretch( 2, 1); |
136 | } | 136 | } |
137 | 137 | ||
138 | } | 138 | } |
139 | void KOEditorGeneral::setFocusOn( int i ) | 139 | void KOEditorGeneral::setFocusOn( int i ) |
140 | { | 140 | { |
141 | mNextFocus = i; | 141 | mNextFocus = i; |
142 | QTimer::singleShot( 0, this, SLOT ( slotSetFocusOn() )); | 142 | QTimer::singleShot( 0, this, SLOT ( slotSetFocusOn() )); |
143 | } | 143 | } |
144 | void KOEditorGeneral::slotSetFocusOn() | 144 | void KOEditorGeneral::slotSetFocusOn() |
145 | { | 145 | { |
146 | mNextFocus; | ||
147 | if ( mNextFocus == 1 ) { | 146 | if ( mNextFocus == 1 ) { |
148 | mDescriptionEdit->setFocus(); | 147 | mDescriptionEdit->setFocus(); |
149 | mDescriptionEdit->setCursorPosition( mDescriptionEdit->numLines (), 333); | 148 | mDescriptionEdit->setCursorPosition( mDescriptionEdit->numLines (), 333); |
150 | } | 149 | } |
151 | if ( mNextFocus == 2 ) { | 150 | if ( mNextFocus == 2 ) { |
152 | mSummaryEdit->setFocus(); | 151 | mSummaryEdit->setFocus(); |
153 | } | 152 | } |
154 | } | 153 | } |
155 | void KOEditorGeneral::editCategories() | 154 | void KOEditorGeneral::editCategories() |
156 | { | 155 | { |
157 | // qDebug("KOEditorGeneral::editCategories() "); | 156 | // qDebug("KOEditorGeneral::editCategories() "); |
158 | KPIM::CategorySelectDialog* csd = new KPIM::CategorySelectDialog( KOPrefs::instance(), 0 ); | 157 | KPIM::CategorySelectDialog* csd = new KPIM::CategorySelectDialog( KOPrefs::instance(), 0 ); |
159 | connect(csd,SIGNAL(categoriesSelected(const QString &)), this ,SLOT(setCategories(const QString &))); | 158 | connect(csd,SIGNAL(categoriesSelected(const QString &)), this ,SLOT(setCategories(const QString &))); |
160 | //KOGlobals::fitDialogToScreen( csd ); | 159 | //KOGlobals::fitDialogToScreen( csd ); |
161 | csd->setColorEnabled(); | 160 | csd->setColorEnabled(); |
162 | csd->setSelected( QStringList::split (",", mCategoriesLabel->text()) ); | 161 | csd->setSelected( QStringList::split (",", mCategoriesLabel->text()) ); |
@@ -342,33 +341,33 @@ void KOEditorGeneral::pickAlarmProgram() | |||
342 | mAlarmSoundButton->setOn(false); | 341 | mAlarmSoundButton->setOn(false); |
343 | mAlarmProgramButton->setOn(true); | 342 | mAlarmProgramButton->setOn(true); |
344 | QToolTip::add(mAlarmSoundButton, i18n("No sound set")); | 343 | QToolTip::add(mAlarmSoundButton, i18n("No sound set")); |
345 | } else { | 344 | } else { |
346 | mAlarmProgramButton->setOn(!oldState); | 345 | mAlarmProgramButton->setOn(!oldState); |
347 | mAlarmSoundButton->setOn(oldState); | 346 | mAlarmSoundButton->setOn(oldState); |
348 | } | 347 | } |
349 | 348 | ||
350 | if (mAlarmProgramButton->isOn()) | 349 | if (mAlarmProgramButton->isOn()) |
351 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Proc.Al.: ") + getFittingPath(mAlarmProgram) ); | 350 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Proc.Al.: ") + getFittingPath(mAlarmProgram) ); |
352 | if ( mAlarmSoundButton->isOn()) | 351 | if ( mAlarmSoundButton->isOn()) |
353 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Audio Al.: ") + getFittingPath(mAlarmSound) ); | 352 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Audio Al.: ") + getFittingPath(mAlarmSound) ); |
354 | 353 | ||
355 | } | 354 | } |
356 | 355 | ||
357 | 356 | ||
358 | QString KOEditorGeneral::getFittingPath( const QString s ) | 357 | QString KOEditorGeneral::getFittingPath( const QString & s ) |
359 | { | 358 | { |
360 | int maxlen = 50; | 359 | int maxlen = 50; |
361 | if ( QApplication::desktop()->width() < 640 ) { | 360 | if ( QApplication::desktop()->width() < 640 ) { |
362 | if ( QApplication::desktop()->width() < 320 ) | 361 | if ( QApplication::desktop()->width() < 320 ) |
363 | maxlen = 22; | 362 | maxlen = 22; |
364 | else | 363 | else |
365 | maxlen = 35; | 364 | maxlen = 35; |
366 | } | 365 | } |
367 | if ( s.length() > maxlen ) { | 366 | if ( s.length() > maxlen ) { |
368 | return "..."+s.right(maxlen -3); | 367 | return "..."+s.right(maxlen -3); |
369 | } | 368 | } |
370 | return s; | 369 | return s; |
371 | } | 370 | } |
372 | 371 | ||
373 | void KOEditorGeneral::enableAlarmEdit(bool enable) | 372 | void KOEditorGeneral::enableAlarmEdit(bool enable) |
374 | { | 373 | { |
@@ -607,18 +606,20 @@ void KOEditorGeneral::writeIncidence(Incidence *event) | |||
607 | } | 606 | } |
608 | else if (!mAlarmSound.isEmpty() && mAlarmSoundButton->isOn()) | 607 | else if (!mAlarmSound.isEmpty() && mAlarmSoundButton->isOn()) |
609 | alarm->setAudioAlarm(mAlarmSound); | 608 | alarm->setAudioAlarm(mAlarmSound); |
610 | else | 609 | else |
611 | alarm->setType(Alarm::Invalid); | 610 | alarm->setType(Alarm::Invalid); |
612 | //alarm->setAudioAlarm("default"); | 611 | //alarm->setAudioAlarm("default"); |
613 | // TODO: Deal with multiple alarms | 612 | // TODO: Deal with multiple alarms |
614 | break; // For now, stop after the first alarm | 613 | break; // For now, stop after the first alarm |
615 | } | 614 | } |
616 | } else { | 615 | } else { |
617 | Alarm* alarm = event->alarms().first(); | 616 | Alarm* alarm = event->alarms().first(); |
618 | if ( alarm ) { | 617 | if ( alarm ) { |
619 | alarm->setEnabled(false); | 618 | alarm->setEnabled(false); |
620 | alarm->setType(Alarm::Invalid); | 619 | alarm->setType(Alarm::Invalid); |
621 | } | 620 | } |
622 | } | 621 | } |
623 | event->setCalID( getCalendarID() ); | 622 | int id = getCalendarID(); |
623 | event->setCalID( id ); | ||
624 | event->setAlarmEnabled( KOPrefs::instance()->getCalendar( id )->isAlarmEnabled ); | ||
624 | } | 625 | } |
diff --git a/korganizer/koeditorgeneral.h b/korganizer/koeditorgeneral.h index d8b15af..b10a5d4 100644 --- a/korganizer/koeditorgeneral.h +++ b/korganizer/koeditorgeneral.h | |||
@@ -103,23 +103,23 @@ class KOEditorGeneral : public QObject | |||
103 | QComboBox *mCalendarBox; | 103 | QComboBox *mCalendarBox; |
104 | QLabel *mAlarmBell; | 104 | QLabel *mAlarmBell; |
105 | QCheckBox *mAlarmButton; | 105 | QCheckBox *mAlarmButton; |
106 | QSpinBox *mAlarmTimeEdit; | 106 | QSpinBox *mAlarmTimeEdit; |
107 | QPushButton *mAlarmSoundButton; | 107 | QPushButton *mAlarmSoundButton; |
108 | QPushButton *mAlarmProgramButton; | 108 | QPushButton *mAlarmProgramButton; |
109 | QComboBox *mAlarmIncrCombo; | 109 | QComboBox *mAlarmIncrCombo; |
110 | KTextEdit *mDescriptionEdit; | 110 | KTextEdit *mDescriptionEdit; |
111 | QLabel *mOwnerLabel; | 111 | QLabel *mOwnerLabel; |
112 | QComboBox *mSecrecyCombo; | 112 | QComboBox *mSecrecyCombo; |
113 | QCheckBox *mCancelBox; | 113 | QCheckBox *mCancelBox; |
114 | QPushButton *mCategoriesButton; | 114 | QPushButton *mCategoriesButton; |
115 | QPushButton *mCategoriesLabel; | 115 | QPushButton *mCategoriesLabel; |
116 | 116 | ||
117 | private: | 117 | private: |
118 | QPopupMenu * mCatPopup; | 118 | QPopupMenu * mCatPopup; |
119 | QString getFittingPath( const QString ) ; | 119 | QString getFittingPath( const QString &) ; |
120 | QString mAlarmSound; | 120 | QString mAlarmSound; |
121 | QString mAlarmProgram; | 121 | QString mAlarmProgram; |
122 | QString mAlarmMessage; | 122 | QString mAlarmMessage; |
123 | }; | 123 | }; |
124 | 124 | ||
125 | #endif | 125 | #endif |
diff --git a/korganizer/koeventeditor.cpp b/korganizer/koeventeditor.cpp index 9ede543..3e87197 100644 --- a/korganizer/koeventeditor.cpp +++ b/korganizer/koeventeditor.cpp | |||
@@ -12,32 +12,33 @@ | |||
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13 | GNU General Public License for more details. | 13 | GNU General Public License for more details. |
14 | 14 | ||
15 | You should have received a copy of the GNU General Public License | 15 | You should have received a copy of the GNU General Public License |
16 | along with this program; if not, write to the Free Software | 16 | along with this program; if not, write to the Free Software |
17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
18 | 18 | ||
19 | As a special exception, permission is given to link this program | 19 | As a special exception, permission is given to link this program |
20 | with any edition of Qt, and distribute the resulting executable, | 20 | with any edition of Qt, and distribute the resulting executable, |
21 | without including the source code for Qt in the source distribution. | 21 | without including the source code for Qt in the source distribution. |
22 | */ | 22 | */ |
23 | 23 | ||
24 | #include <qtooltip.h> | 24 | #include <qtooltip.h> |
25 | #include <qframe.h> | 25 | #include <qframe.h> |
26 | #include <qpixmap.h> | 26 | #include <qpixmap.h> |
27 | #include <qhbox.h> | 27 | #include <qhbox.h> |
28 | #include <qtimer.h> | ||
28 | #include <qdir.h> | 29 | #include <qdir.h> |
29 | #include <qlayout.h> | 30 | #include <qlayout.h> |
30 | #include <qwidgetstack.h> | 31 | #include <qwidgetstack.h> |
31 | #include <qapplication.h> | 32 | #include <qapplication.h> |
32 | 33 | ||
33 | #include <kiconloader.h> | 34 | #include <kiconloader.h> |
34 | #include <kstandarddirs.h> | 35 | #include <kstandarddirs.h> |
35 | #include <kdebug.h> | 36 | #include <kdebug.h> |
36 | #include <klocale.h> | 37 | #include <klocale.h> |
37 | #include <kfiledialog.h> | 38 | #include <kfiledialog.h> |
38 | #include <kmessagebox.h> | 39 | #include <kmessagebox.h> |
39 | #include <libkcal/calendarresources.h> | 40 | #include <libkcal/calendarresources.h> |
40 | #include <libkcal/resourcecalendar.h> | 41 | #include <libkcal/resourcecalendar.h> |
41 | #include <kresources/resourceselectdialog.h> | 42 | #include <kresources/resourceselectdialog.h> |
42 | 43 | ||
43 | #include <libkdepim/categoryselectdialog.h> | 44 | #include <libkdepim/categoryselectdialog.h> |
@@ -236,32 +237,35 @@ bool KOEventEditor::processInput( bool emitTime ) | |||
236 | 237 | ||
237 | writeEvent(event); | 238 | writeEvent(event); |
238 | if ( emitTime ) { | 239 | if ( emitTime ) { |
239 | globalFlagBlockAgenda = 1; | 240 | globalFlagBlockAgenda = 1; |
240 | emit showAgendaView( false ); | 241 | emit showAgendaView( false ); |
241 | emit jumpToTime( event->dtStart().date() ); | 242 | emit jumpToTime( event->dtStart().date() ); |
242 | globalFlagBlockAgenda = 2; | 243 | globalFlagBlockAgenda = 2; |
243 | 244 | ||
244 | } | 245 | } |
245 | if (mEvent) { | 246 | if (mEvent) { |
246 | event->setRevision(event->revision()+1); | 247 | event->setRevision(event->revision()+1); |
247 | emit eventChanged(event); | 248 | emit eventChanged(event); |
248 | } else { | 249 | } else { |
249 | mCalendar->addEvent(event); | 250 | mCalendar->addEvent(event); |
250 | mEvent = event; | 251 | mEvent = event; |
251 | emit eventAdded(event); | 252 | emit eventAdded(event); |
253 | if ( event->isAlarmEnabled () && !event->alarmEnabled () ) { | ||
254 | QTimer::singleShot( 0, this, SLOT ( alarmWarning() ) ); | ||
255 | } | ||
252 | } | 256 | } |
253 | 257 | ||
254 | return true; | 258 | return true; |
255 | } | 259 | } |
256 | 260 | ||
257 | void KOEventEditor::deleteEvent() | 261 | void KOEventEditor::deleteEvent() |
258 | { | 262 | { |
259 | kdDebug() << "Delete event" << endl; | 263 | kdDebug() << "Delete event" << endl; |
260 | 264 | ||
261 | if (mEvent) { | 265 | if (mEvent) { |
262 | if (KOPrefs::instance()->mConfirm) { | 266 | if (KOPrefs::instance()->mConfirm) { |
263 | switch (msgItemDelete()) { | 267 | switch (msgItemDelete()) { |
264 | case KMessageBox::Continue: // OK | 268 | case KMessageBox::Continue: // OK |
265 | emit eventToBeDeleted(mEvent); | 269 | emit eventToBeDeleted(mEvent); |
266 | emit dialogClose(mEvent); | 270 | emit dialogClose(mEvent); |
267 | mCalendar->deleteEvent(mEvent); | 271 | mCalendar->deleteEvent(mEvent); |
diff --git a/korganizer/koeventviewer.cpp b/korganizer/koeventviewer.cpp index 02b54da..607e549 100644 --- a/korganizer/koeventviewer.cpp +++ b/korganizer/koeventviewer.cpp | |||
@@ -391,32 +391,36 @@ void KOEventViewer::appendEvent(Event *event, int mode ) | |||
391 | mMailSubject += i18n(" - " )+event->dtStartStr( true ); | 391 | mMailSubject += i18n(" - " )+event->dtStartStr( true ); |
392 | 392 | ||
393 | } | 393 | } |
394 | 394 | ||
395 | 395 | ||
396 | if (event->isAlarmEnabled()) { | 396 | if (event->isAlarmEnabled()) { |
397 | Alarm *alarm =event->alarms().first() ; | 397 | Alarm *alarm =event->alarms().first() ; |
398 | QDateTime t = alarm->time(); | 398 | QDateTime t = alarm->time(); |
399 | QString s =i18n("( %1 before )").arg( alarm->offsetText() ); | 399 | QString s =i18n("( %1 before )").arg( alarm->offsetText() ); |
400 | if(wideScreen ){ | 400 | if(wideScreen ){ |
401 | addTag("p",i18n("<b>Alarm on: ") + s +" </b>"+ KGlobal::locale()->formatDateTime( t, shortDate )); | 401 | addTag("p",i18n("<b>Alarm on: ") + s +" </b>"+ KGlobal::locale()->formatDateTime( t, shortDate )); |
402 | }else{ | 402 | }else{ |
403 | addTag("p",i18n("<b>Alarm on: ") + s +" </b>"); | 403 | addTag("p",i18n("<b>Alarm on: ") + s +" </b>"); |
404 | addTag("p", KGlobal::locale()->formatDateTime( t, shortDate )); | 404 | addTag("p", KGlobal::locale()->formatDateTime( t, shortDate )); |
405 | } | 405 | } |
406 | //addTag("p",s); | 406 | //addTag("p",s); |
407 | if ( !(event->alarmEnabled() ) ) { | ||
408 | addTag("p", "<em>("+i18n("Enable alarm in resource settings") + ")</em>"); | ||
409 | |||
410 | } | ||
407 | } | 411 | } |
408 | 412 | ||
409 | addTag("p","<b>"+i18n("Access: ") + "</b>" + event->secrecyStr()); | 413 | addTag("p","<b>"+i18n("Access: ") + "</b>" + event->secrecyStr()); |
410 | 414 | ||
411 | formatCategories(event); | 415 | formatCategories(event); |
412 | 416 | ||
413 | formatAttendees(event); | 417 | formatAttendees(event); |
414 | 418 | ||
415 | if ( KOPrefs::instance()->mEVshowCreated ) { | 419 | if ( KOPrefs::instance()->mEVshowCreated ) { |
416 | if(wideScreen ){ | 420 | if(wideScreen ){ |
417 | addTag("p",i18n("<b>Created: ") +" </b>"+KGlobal::locale()->formatDateTime( event->created(), shortDate )); | 421 | addTag("p",i18n("<b>Created: ") +" </b>"+KGlobal::locale()->formatDateTime( event->created(), shortDate )); |
418 | }else{ | 422 | }else{ |
419 | addTag("p",i18n("<b>Created: ") +" </b>"); | 423 | addTag("p",i18n("<b>Created: ") +" </b>"); |
420 | addTag("p", KGlobal::locale()->formatDateTime( event->created(), shortDate )); | 424 | addTag("p", KGlobal::locale()->formatDateTime( event->created(), shortDate )); |
421 | } | 425 | } |
422 | 426 | ||
@@ -508,32 +512,36 @@ void KOEventViewer::appendTodo(Todo *event, int mode ) | |||
508 | addTag("p","<b>"+i18n("Location: ")+"</b>"+ deTag(event->location() ) ); | 512 | addTag("p","<b>"+i18n("Location: ")+"</b>"+ deTag(event->location() ) ); |
509 | mMailSubject += i18n(" at ") + event->location(); | 513 | mMailSubject += i18n(" at ") + event->location(); |
510 | } | 514 | } |
511 | mText.append(i18n("<p><b>Priority:</b> %2</p>") | 515 | mText.append(i18n("<p><b>Priority:</b> %2</p>") |
512 | .arg(QString::number(event->priority()))); | 516 | .arg(QString::number(event->priority()))); |
513 | 517 | ||
514 | if (event->isAlarmEnabled()) { | 518 | if (event->isAlarmEnabled()) { |
515 | Alarm *alarm =event->alarms().first() ; | 519 | Alarm *alarm =event->alarms().first() ; |
516 | QDateTime t = alarm->time(); | 520 | QDateTime t = alarm->time(); |
517 | QString s =i18n("( %1 before )").arg( alarm->offsetText() ); | 521 | QString s =i18n("( %1 before )").arg( alarm->offsetText() ); |
518 | if ( wideScreen ) { | 522 | if ( wideScreen ) { |
519 | addTag("p",i18n("<b>Alarm on: ") + s +" </b>"+ KGlobal::locale()->formatDateTime( t, shortDate )); | 523 | addTag("p",i18n("<b>Alarm on: ") + s +" </b>"+ KGlobal::locale()->formatDateTime( t, shortDate )); |
520 | } else { | 524 | } else { |
521 | addTag("p",i18n("<b>Alarm on: ") + s +" </b>"); | 525 | addTag("p",i18n("<b>Alarm on: ") + s +" </b>"); |
522 | addTag("p", KGlobal::locale()->formatDateTime( t, shortDate )); | 526 | addTag("p", KGlobal::locale()->formatDateTime( t, shortDate )); |
523 | } | 527 | } |
528 | if ( !(event->alarmEnabled() ) ) { | ||
529 | addTag("p", "<em>("+i18n("Enable alarm in resource settings") + ")</em>"); | ||
530 | |||
531 | } | ||
524 | } | 532 | } |
525 | 533 | ||
526 | addTag("p","<b>"+i18n("Access: ") + "</b>" + event->secrecyStr()); | 534 | addTag("p","<b>"+i18n("Access: ") + "</b>" + event->secrecyStr()); |
527 | 535 | ||
528 | formatCategories(event); | 536 | formatCategories(event); |
529 | 537 | ||
530 | formatAttendees(event); | 538 | formatAttendees(event); |
531 | 539 | ||
532 | if ( KOPrefs::instance()->mEVshowCreated ) { | 540 | if ( KOPrefs::instance()->mEVshowCreated ) { |
533 | if(wideScreen ){ | 541 | if(wideScreen ){ |
534 | 542 | ||
535 | addTag("p",i18n("<b>Created: ") +" </b>"+KGlobal::locale()->formatDateTime( event->created(), shortDate )); | 543 | addTag("p",i18n("<b>Created: ") +" </b>"+KGlobal::locale()->formatDateTime( event->created(), shortDate )); |
536 | 544 | ||
537 | } else { | 545 | } else { |
538 | addTag("p",i18n("<b>Created: ") +" </b>"); | 546 | addTag("p",i18n("<b>Created: ") +" </b>"); |
539 | addTag("p", KGlobal::locale()->formatDateTime( event->created(), shortDate )); | 547 | addTag("p", KGlobal::locale()->formatDateTime( event->created(), shortDate )); |
diff --git a/korganizer/koincidenceeditor.cpp b/korganizer/koincidenceeditor.cpp index 9bc0302..236f6f9 100644 --- a/korganizer/koincidenceeditor.cpp +++ b/korganizer/koincidenceeditor.cpp | |||
@@ -77,32 +77,37 @@ KOIncidenceEditor::KOIncidenceEditor( const QString &caption, | |||
77 | 77 | ||
78 | KOIncidenceEditor::~KOIncidenceEditor() | 78 | KOIncidenceEditor::~KOIncidenceEditor() |
79 | { | 79 | { |
80 | //delete mCategoryDialog; | 80 | //delete mCategoryDialog; |
81 | } | 81 | } |
82 | 82 | ||
83 | void KOIncidenceEditor::setupAttendeesTab() | 83 | void KOIncidenceEditor::setupAttendeesTab() |
84 | { | 84 | { |
85 | QFrame *topFrame = addPage(i18n("Attendees")); | 85 | QFrame *topFrame = addPage(i18n("Attendees")); |
86 | 86 | ||
87 | QBoxLayout *topLayout = new QVBoxLayout(topFrame); | 87 | QBoxLayout *topLayout = new QVBoxLayout(topFrame); |
88 | 88 | ||
89 | mDetails = new KOEditorDetails(spacingHint()-2,topFrame); | 89 | mDetails = new KOEditorDetails(spacingHint()-2,topFrame); |
90 | topLayout->addWidget(mDetails); | 90 | topLayout->addWidget(mDetails); |
91 | } | 91 | } |
92 | 92 | ||
93 | void KOIncidenceEditor::alarmWarning() | ||
94 | { | ||
95 | KMessageBox::information( 0, i18n("The alarm for this calendar\nis currently disabled!\nEnable it in resource settings."), i18n("Alarm disabled warning")); | ||
96 | |||
97 | } | ||
93 | 98 | ||
94 | void KOIncidenceEditor::slotApply() | 99 | void KOIncidenceEditor::slotApply() |
95 | { | 100 | { |
96 | processInput( false ); | 101 | processInput( false ); |
97 | } | 102 | } |
98 | void KOIncidenceEditor::accept() | 103 | void KOIncidenceEditor::accept() |
99 | { | 104 | { |
100 | slotOk(); | 105 | slotOk(); |
101 | } | 106 | } |
102 | void KOIncidenceEditor::slotOk() | 107 | void KOIncidenceEditor::slotOk() |
103 | { | 108 | { |
104 | if ( processInput( false ) ) QDialog::accept(); | 109 | if ( processInput( false ) ) QDialog::accept(); |
105 | } | 110 | } |
106 | 111 | ||
107 | void KOIncidenceEditor::updateCategoryConfig() | 112 | void KOIncidenceEditor::updateCategoryConfig() |
108 | { | 113 | { |
diff --git a/korganizer/koincidenceeditor.h b/korganizer/koincidenceeditor.h index bfd6cc6..2e4bbf8 100644 --- a/korganizer/koincidenceeditor.h +++ b/korganizer/koincidenceeditor.h | |||
@@ -52,33 +52,34 @@ class KOIncidenceEditor : public KDialogBase | |||
52 | /** Initialize editor. This function creates the tab widgets. */ | 52 | /** Initialize editor. This function creates the tab widgets. */ |
53 | virtual void init() = 0; | 53 | virtual void init() = 0; |
54 | void accept(); | 54 | void accept(); |
55 | virtual void setCategories( QString )= 0; | 55 | virtual void setCategories( QString )= 0; |
56 | 56 | ||
57 | virtual void reload() = 0; | 57 | virtual void reload() = 0; |
58 | 58 | ||
59 | public slots: | 59 | public slots: |
60 | void updateCategoryConfig(); | 60 | void updateCategoryConfig(); |
61 | 61 | ||
62 | signals: | 62 | signals: |
63 | void editCategories(); | 63 | void editCategories(); |
64 | void showAgendaView( bool ); | 64 | void showAgendaView( bool ); |
65 | void dialogClose( Incidence * ); | 65 | void dialogClose( Incidence * ); |
66 | void jumpToTime( const QDate & ); | 66 | void jumpToTime( const QDate & ); |
67 | 67 | ||
68 | protected slots: | 68 | protected slots: |
69 | void alarmWarning(); | ||
69 | void slotApply(); | 70 | void slotApply(); |
70 | void slotOk(); | 71 | void slotOk(); |
71 | void slotCancel(); | 72 | void slotCancel(); |
72 | void slotShowIncidence(); | 73 | void slotShowIncidence(); |
73 | 74 | ||
74 | virtual void slotLoadTemplate(); | 75 | virtual void slotLoadTemplate(); |
75 | virtual void slotSaveTemplate(); | 76 | virtual void slotSaveTemplate(); |
76 | 77 | ||
77 | virtual void saveTemplate( const QString & ) = 0; | 78 | virtual void saveTemplate( const QString & ) = 0; |
78 | 79 | ||
79 | protected: | 80 | protected: |
80 | void setupAttendeesTab(); | 81 | void setupAttendeesTab(); |
81 | 82 | ||
82 | void createSaveTemplateDialog( SaveTemplateDialog::IncidenceType ); | 83 | void createSaveTemplateDialog( SaveTemplateDialog::IncidenceType ); |
83 | 84 | ||
84 | QString loadTemplate( Calendar *cal, const QString &type, | 85 | QString loadTemplate( Calendar *cal, const QString &type, |
diff --git a/korganizer/kotodoeditor.cpp b/korganizer/kotodoeditor.cpp index 682f83b..20a35d2 100644 --- a/korganizer/kotodoeditor.cpp +++ b/korganizer/kotodoeditor.cpp | |||
@@ -14,32 +14,33 @@ | |||
14 | GNU General Public License for more details. | 14 | GNU General Public License for more details. |
15 | 15 | ||
16 | You should have received a copy of the GNU General Public License | 16 | You should have received a copy of the GNU General Public License |
17 | along with this program; if not, write to the Free Software | 17 | along with this program; if not, write to the Free Software |
18 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 18 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
19 | 19 | ||
20 | As a special exception, permission is given to link this program | 20 | As a special exception, permission is given to link this program |
21 | with any edition of Qt, and distribute the resulting executable, | 21 | with any edition of Qt, and distribute the resulting executable, |
22 | without including the source code for Qt in the source distribution. | 22 | without including the source code for Qt in the source distribution. |
23 | */ | 23 | */ |
24 | 24 | ||
25 | #include <qtooltip.h> | 25 | #include <qtooltip.h> |
26 | #include <qframe.h> | 26 | #include <qframe.h> |
27 | #include <qpixmap.h> | 27 | #include <qpixmap.h> |
28 | #include <qlayout.h> | 28 | #include <qlayout.h> |
29 | #include <qhbox.h> | 29 | #include <qhbox.h> |
30 | #include <qtimer.h> | ||
30 | #include <qdir.h> | 31 | #include <qdir.h> |
31 | #include <qdatetime.h> | 32 | #include <qdatetime.h> |
32 | #include <qapplication.h> | 33 | #include <qapplication.h> |
33 | #include <qtabwidget.h> | 34 | #include <qtabwidget.h> |
34 | 35 | ||
35 | #include <kiconloader.h> | 36 | #include <kiconloader.h> |
36 | #include <klocale.h> | 37 | #include <klocale.h> |
37 | #include <kfiledialog.h> | 38 | #include <kfiledialog.h> |
38 | #include <kstandarddirs.h> | 39 | #include <kstandarddirs.h> |
39 | #include <kmessagebox.h> | 40 | #include <kmessagebox.h> |
40 | 41 | ||
41 | #include <libkdepim/categoryselectdialog.h> | 42 | #include <libkdepim/categoryselectdialog.h> |
42 | #include <libkcal/calendarlocal.h> | 43 | #include <libkcal/calendarlocal.h> |
43 | #include <libkcal/calendarresources.h> | 44 | #include <libkcal/calendarresources.h> |
44 | #include <libkcal/resourcecalendar.h> | 45 | #include <libkcal/resourcecalendar.h> |
45 | #include <libkcal/icalformat.h> | 46 | #include <libkcal/icalformat.h> |
@@ -246,32 +247,35 @@ bool KOTodoEditor::processInput( bool emitTime ) | |||
246 | 247 | ||
247 | writeTodo(todo); | 248 | writeTodo(todo); |
248 | if ( emitTime ) { | 249 | if ( emitTime ) { |
249 | globalFlagBlockAgenda = 1; | 250 | globalFlagBlockAgenda = 1; |
250 | emit showAgendaView( false ); | 251 | emit showAgendaView( false ); |
251 | if ( todo->hasDueDate() ) | 252 | if ( todo->hasDueDate() ) |
252 | emit jumpToTime( todo->dtDue().date() ); | 253 | emit jumpToTime( todo->dtDue().date() ); |
253 | globalFlagBlockAgenda = 2; | 254 | globalFlagBlockAgenda = 2; |
254 | } | 255 | } |
255 | if (mTodo) { | 256 | if (mTodo) { |
256 | todo->setRevision(todo->revision()+1); | 257 | todo->setRevision(todo->revision()+1); |
257 | emit todoChanged(todo); | 258 | emit todoChanged(todo); |
258 | } else { | 259 | } else { |
259 | mCalendar->addTodo(todo); | 260 | mCalendar->addTodo(todo); |
260 | mTodo = todo; | 261 | mTodo = todo; |
261 | emit todoAdded(todo); | 262 | emit todoAdded(todo); |
263 | if ( todo->isAlarmEnabled () && !todo->alarmEnabled () ) { | ||
264 | QTimer::singleShot( 0, this, SLOT ( alarmWarning() ) ); | ||
265 | } | ||
262 | } | 266 | } |
263 | 267 | ||
264 | return true; | 268 | return true; |
265 | } | 269 | } |
266 | 270 | ||
267 | void KOTodoEditor::deleteTodo() | 271 | void KOTodoEditor::deleteTodo() |
268 | { | 272 | { |
269 | if (mTodo) { | 273 | if (mTodo) { |
270 | if (KOPrefs::instance()->mConfirm) { | 274 | if (KOPrefs::instance()->mConfirm) { |
271 | switch (msgItemDelete()) { | 275 | switch (msgItemDelete()) { |
272 | case KMessageBox::Continue: // OK | 276 | case KMessageBox::Continue: // OK |
273 | emit todoToBeDeleted(mTodo); | 277 | emit todoToBeDeleted(mTodo); |
274 | emit dialogClose(mTodo); | 278 | emit dialogClose(mTodo); |
275 | mCalendar->deleteTodo(mTodo); | 279 | mCalendar->deleteTodo(mTodo); |
276 | emit todoDeleted(); | 280 | emit todoDeleted(); |
277 | reject(); | 281 | reject(); |
diff --git a/libkdepim/ksyncprefsdialog.cpp b/libkdepim/ksyncprefsdialog.cpp index 1f9afcb..b097277 100644 --- a/libkdepim/ksyncprefsdialog.cpp +++ b/libkdepim/ksyncprefsdialog.cpp | |||
@@ -228,35 +228,35 @@ void KSyncPrefsDialog::setupSyncAlgTab() | |||
228 | new QLabel( i18n(" weeks in the past to ") , gb3 ); | 228 | new QLabel( i18n(" weeks in the past to ") , gb3 ); |
229 | mWriteBackFutureWeeks= new QSpinBox(1,104, 1, gb3); | 229 | mWriteBackFutureWeeks= new QSpinBox(1,104, 1, gb3); |
230 | new QLabel( i18n(" weeks in the future ") , gb3 ); | 230 | new QLabel( i18n(" weeks in the future ") , gb3 ); |
231 | //topLayout->addMultiCellWidget(mWriteBackFutureWeeks, iii,iii,1,1); | 231 | //topLayout->addMultiCellWidget(mWriteBackFutureWeeks, iii,iii,1,1); |
232 | //++iii; | 232 | //++iii; |
233 | gb3->setEnabled( false ); | 233 | gb3->setEnabled( false ); |
234 | connect ( mWriteBackExisting, SIGNAL( toggled ( bool ) ), gb4, SLOT ( setDisabled ( bool ) ) ); | 234 | connect ( mWriteBackExisting, SIGNAL( toggled ( bool ) ), gb4, SLOT ( setDisabled ( bool ) ) ); |
235 | } | 235 | } |
236 | connect ( mWriteBackFile, SIGNAL( toggled ( bool ) ), gb2, SLOT ( setEnabled ( bool ) ) ); | 236 | connect ( mWriteBackFile, SIGNAL( toggled ( bool ) ), gb2, SLOT ( setEnabled ( bool ) ) ); |
237 | 237 | ||
238 | } | 238 | } |
239 | proGr = new QButtonGroup ( 1, Qt::Horizontal, i18n("Profile kind"), topFrame); | 239 | proGr = new QButtonGroup ( 1, Qt::Horizontal, i18n("Profile kind"), topFrame); |
240 | gr = proGr; | 240 | gr = proGr; |
241 | topLayout->addMultiCellWidget(gr, iii,iii,0,1); | 241 | topLayout->addMultiCellWidget(gr, iii,iii,0,1); |
242 | ++iii; | 242 | ++iii; |
243 | mIsLocal = new QRadioButton ( i18n("Local file"), gr ); | 243 | mIsLocal = new QRadioButton ( i18n("Local file"), gr ); |
244 | mIsPi = new QRadioButton ( i18n("Pi-Sync - all resources ( direct Kx/Pi to Kx/Pi sync )"), gr ); | 244 | mIsPi = new QRadioButton ( i18n("Pi-Sync - all calendars ( direct Kx/Pi to Kx/Pi sync )"), gr ); |
245 | connect (mIsPi, SIGNAL( toggled(bool)), this, SLOT (kindChanged(bool) ) ); | 245 | connect (mIsPi, SIGNAL( toggled(bool)), this, SLOT (kindChanged(bool) ) ); |
246 | mIsPiSpecific = new QRadioButton ( i18n("Pi-Sync - selected resources ( direct Kx/Pi to Kx/Pi sync )"), gr ); | 246 | mIsPiSpecific = new QRadioButton ( i18n("Pi-Sync - selected calendars ( direct Kx/Pi to Kx/Pi sync )"), gr ); |
247 | connect (mIsPiSpecific, SIGNAL( toggled(bool)), this, SLOT (kindChanged(bool) ) ); | 247 | connect (mIsPiSpecific, SIGNAL( toggled(bool)), this, SLOT (kindChanged(bool) ) ); |
248 | mIsNotLocal = new QRadioButton ( i18n("Remote file (w down/upload command)"), gr ); | 248 | mIsNotLocal = new QRadioButton ( i18n("Remote file (w down/upload command)"), gr ); |
249 | connect (mIsLocal, SIGNAL( toggled(bool)), this, SLOT (kindChanged(bool) ) ); | 249 | connect (mIsLocal, SIGNAL( toggled(bool)), this, SLOT (kindChanged(bool) ) ); |
250 | mIsPhone = new QRadioButton ( i18n("Mobile device (cell phone)"), gr ); | 250 | mIsPhone = new QRadioButton ( i18n("Mobile device (cell phone)"), gr ); |
251 | connect (mIsPhone, SIGNAL( toggled(bool)), this, SLOT (kindChanged(bool) ) ); | 251 | connect (mIsPhone, SIGNAL( toggled(bool)), this, SLOT (kindChanged(bool) ) ); |
252 | 252 | ||
253 | QVGroupBox* gb1 = new QVGroupBox( i18n("Profile kind specific settings"), topFrame); | 253 | QVGroupBox* gb1 = new QVGroupBox( i18n("Profile kind specific settings"), topFrame); |
254 | topLayout->addMultiCellWidget(gb1, iii,iii,0,1); | 254 | topLayout->addMultiCellWidget(gb1, iii,iii,0,1); |
255 | ++iii; | 255 | ++iii; |
256 | 256 | ||
257 | // ****************************************** | 257 | // ****************************************** |
258 | // Profile kind specific settings | 258 | // Profile kind specific settings |
259 | { | 259 | { |
260 | // *** phone ******************************* | 260 | // *** phone ******************************* |
261 | QVGroupBox* topFrame = gb1; | 261 | QVGroupBox* topFrame = gb1; |
262 | phoneWidget = new QVBox( topFrame); | 262 | phoneWidget = new QVBox( topFrame); |