summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--bin/kdepim/WhatsNew.txt17
-rw-r--r--bin/kdepim/korganizer/germantranslation.txt13
-rw-r--r--korganizer/calendarview.cpp44
-rw-r--r--korganizer/calendarview.h2
-rw-r--r--korganizer/koeditorgeneral.cpp20
-rw-r--r--korganizer/koeditorgeneral.h1
-rw-r--r--korganizer/kotodoview.cpp5
-rw-r--r--korganizer/mainwindow.cpp9
-rw-r--r--libkcal/calendarlocal.cpp2
-rw-r--r--microkde/kdatetbl.cpp5
10 files changed, 90 insertions, 28 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt
index fbe16d8..adbfd67 100644
--- a/bin/kdepim/WhatsNew.txt
+++ b/bin/kdepim/WhatsNew.txt
@@ -2,2 +2,19 @@ Info about the changes in new versions of KDE-Pim/Pi
+********** VERSION 1.9.20 ************
+
+KO/Pi:
+Made it possible to delete a Todo, which has sub-todos.
+Fixed two small problems in the todo view.
+Added missing German translation for filter edit and print dialog.
+Made search dialog closeable by cancel key.
+
+Made it possible to select in the date picker the (ligt grey )
+dates of the prev./next month with the mouse.
+
+Added for the "dislplay one day" agenda mode info in the caption:
+Now it is displayed, if the selected day is from "day before yesterday"
+to "day after tomorrow".
+
+
+
********** VERSION 1.9.19 ************
diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt
index 0eb46e8..d260be3 100644
--- a/bin/kdepim/korganizer/germantranslation.txt
+++ b/bin/kdepim/korganizer/germantranslation.txt
@@ -88,3 +88,2 @@
{ "Cannot delete To-Do\nwhich has children.","Kann Todo nicht löschen,\n da noch Einträge vorhanden sind" },
-{ "Cannot delete To-Do which has children.","Kann Todo nicht löschen, da noch Einträge vorhanden sind" },
{ "Can't generate mail:\nNo event selected.","Kann e-Mail nicht erstellen:\nKein Termin ausgewählt." },
@@ -801,5 +800,5 @@
{ "Email:\n","Email:\n" },
-{ "Alarm disabled","Alarm deaktiviert" },
-{ "Audio.Al.: ","Audio Al.: " },
-{ "Proc.Al.: ","Proc.Al.: " },
+{ "Alarm disabled for this item","Alarm deaktiviert für dieses Item" },
+{ "Audio Al.: ","Audio Al.: " },
+{ "Proc.Al.: ","Proz.Al.: " },
{ "No sound set","Kein Sound definiert" },
@@ -1193,3 +1192,7 @@
{ "confidential","vertraulich" },
-{ "","" },
+{ "\nhas sub-todos.\nAll completed sub-todos\nwill be deleted as well!","\nhat Unter-Todos.\nAlle erledigten Unter-Todos\nwerden auch gelöscht!" },
+{ "Yesterday","Gestern" },
+{ "Day after tomorrow","Übermorgen" },
+{ "Tomorrow","Morgen" },
+{ "Day before yesterday","Vorgestern" },
{ "","" },
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index 8f05276..038da54 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -2187,5 +2187,5 @@ void CalendarView::updateUnmanagedViews()
-int CalendarView::msgItemDelete()
+int CalendarView::msgItemDelete(const QString name)
{
- return KMessageBox::warningContinueCancel(this,
+ return KMessageBox::warningContinueCancel(this,name +"\n\n"+
i18n("This item will be\npermanently deleted."),
@@ -2890,8 +2890,15 @@ void CalendarView::deleteTodo(Todo *todo)
if (KOPrefs::instance()->mConfirm) {
- switch (msgItemDelete()) {
+ QString text = todo->summary().left(20);
+ if (!todo->relations().isEmpty()) {
+ text += i18n("\nhas sub-todos.\nAll completed sub-todos\nwill be deleted as well!");
+
+ }
+ switch (msgItemDelete(text)) {
case KMessageBox::Continue: // OK
+ bool deleteT = false;
if (!todo->relations().isEmpty()) {
- KMessageBox::sorry(this,i18n("Cannot delete To-Do\nwhich has children."),
- i18n("Delete To-Do"));
- } else {
+ deleteT = removeCompletedSubTodos( todo );
+ }
+ // deleteT == true: todo already deleted in removeCompletedSubTodos
+ if ( !deleteT ) {
checkExternalId( todo );
@@ -2904,6 +2911,2 @@ void CalendarView::deleteTodo(Todo *todo)
} else {
- if (!todo->relations().isEmpty()) {
- KMessageBox::sorry(this,i18n("Cannot delete To-Do\nwhich has children."),
- i18n("Delete To-Do"));
- } else {
checkExternalId( todo );
@@ -2913,3 +2916,3 @@ void CalendarView::deleteTodo(Todo *todo)
}
- }
+
emit updateSearchDialog();
@@ -2923,3 +2926,3 @@ void CalendarView::deleteJournal(Journal *jour)
if (KOPrefs::instance()->mConfirm) {
- switch (msgItemDelete()) {
+ switch (msgItemDelete( jour->description().left(20))) {
case KMessageBox::Continue: // OK
@@ -3485,2 +3488,19 @@ void CalendarView::showDates(const DateList &selectedDates)
selDates += " - " + KGlobal::locale()->formatDate( selectedDates.last(),true);
+ else {
+ QString addString;
+ if ( selectedDates.first() == QDateTime::currentDateTime().date() )
+ addString = i18n("Today");
+ else if ( selectedDates.first() == QDateTime::currentDateTime().date().addDays(1) )
+ addString = i18n("Tomorrow");
+ else if ( selectedDates.first() == QDateTime::currentDateTime().date().addDays(-1) )
+ addString = i18n("Yesterday");
+ else if ( selectedDates.first() == QDateTime::currentDateTime().date().addDays(-2) )
+ addString = i18n("Day before yesterday");
+ else if ( selectedDates.first() == QDateTime::currentDateTime().date().addDays(2) )
+ addString = i18n("Day after tomorrow");
+ if ( !addString.isEmpty() ) {
+ topLevelWidget()->setCaption( addString+", " + selDates );
+ return;
+ }
+ }
topLevelWidget()->setCaption( i18n("Dates: ") + selDates );
diff --git a/korganizer/calendarview.h b/korganizer/calendarview.h
index e27da9a..c8d6bdd 100644
--- a/korganizer/calendarview.h
+++ b/korganizer/calendarview.h
@@ -487,3 +487,3 @@ class CalendarView : public KOrg::CalendarViewBase, public KCal::Calendar::Obser
// returns KMsgBox::OKCandel()
- int msgItemDelete();
+ int msgItemDelete(const QString name);
void showEventEditor();
diff --git a/korganizer/koeditorgeneral.cpp b/korganizer/koeditorgeneral.cpp
index 94e1f4c..b4fe965 100644
--- a/korganizer/koeditorgeneral.cpp
+++ b/korganizer/koeditorgeneral.cpp
@@ -285,2 +285,16 @@ void KOEditorGeneral::pickAlarmProgram()
+QString KOEditorGeneral::getFittingPath( const QString s )
+{
+ int maxlen = 50;
+ if ( QApplication::desktop()->width() < 640 ) {
+ if ( QApplication::desktop()->width() < 320 )
+ maxlen = 22;
+ else
+ maxlen = 35;
+ }
+ if ( s.length() > maxlen ) {
+ return "..."+s.right(maxlen -3);
+ }
+ return s;
+}
@@ -299,8 +313,8 @@ void KOEditorGeneral::enableAlarmEdit(bool enable)
if (mAlarmProgramButton->isOn())
- ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Proc.Al.: ") + mAlarmProgram );
+ ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Proc.Al.: ") + getFittingPath(mAlarmProgram) );
if (!mAlarmSound.isEmpty() && mAlarmSoundButton->isOn())
- ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Sound.Al.: ") + mAlarmSound );
+ ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Audio Al.: ") + getFittingPath(mAlarmSound) );
}
else {
- ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Alarm disabled"));
+ ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Alarm disabled for this item"));
diff --git a/korganizer/koeditorgeneral.h b/korganizer/koeditorgeneral.h
index c58335e..de8edaf 100644
--- a/korganizer/koeditorgeneral.h
+++ b/korganizer/koeditorgeneral.h
@@ -107,2 +107,3 @@ class KOEditorGeneral : public QObject
private:
+ QString getFittingPath( const QString ) ;
QString mAlarmSound;
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp
index 97b4a03..30adb06 100644
--- a/korganizer/kotodoview.cpp
+++ b/korganizer/kotodoview.cpp
@@ -820,6 +820,2 @@ void KOTodoView::deleteTodo()
if (mActiveItem) {
- if (mActiveItem->childCount()) {
- KMessageBox::sorry(this,i18n("Cannot delete To-Do which has children."),
- i18n("Delete To-Do"));
- } else {
emit deleteTodoSignal(mActiveItem->todo());
@@ -827,3 +823,2 @@ void KOTodoView::deleteTodo()
}
-}
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index 151b55b..7b07a2e 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -1707,2 +1707,11 @@ void MainWindow::setCaptionToDates()
selDates += " - " + KGlobal::locale()->formatDate(mView->endDate(), true);
+ else {
+ QString addString;
+ if ( mView->startDate() == QDateTime::currentDateTime().date() )
+ addString = i18n("Today");
+ else if ( mView->startDate() == QDateTime::currentDateTime().date().addDays(1) )
+ addString = i18n("Tomorrow");
+ if ( !addString.isEmpty() )
+ selDates = addString+", "+selDates ;
+ }
setCaption( i18n("Dates: ") + selDates );
diff --git a/libkcal/calendarlocal.cpp b/libkcal/calendarlocal.cpp
index 12294c0..0eba6a9 100644
--- a/libkcal/calendarlocal.cpp
+++ b/libkcal/calendarlocal.cpp
@@ -204,4 +204,4 @@ void CalendarLocal::deleteTodo( Todo *todo )
if ( mUndoIncidence ) delete mUndoIncidence;
- mUndoIncidence = todo->clone();
removeRelations( todo );
+ mUndoIncidence = todo->clone();
diff --git a/microkde/kdatetbl.cpp b/microkde/kdatetbl.cpp
index 146291b..508ce31 100644
--- a/microkde/kdatetbl.cpp
+++ b/microkde/kdatetbl.cpp
@@ -346,2 +346,3 @@ KDateTable::contentsMousePressEvent(QMouseEvent *e)
pos=7*(row-1)+col+1;
+#if 0
if(pos+dayoff<=firstday)
@@ -356,4 +357,6 @@ KDateTable::contentsMousePressEvent(QMouseEvent *e)
}
+#endif
temp=firstday+date.day()-dayoff-1;
- setDate(QDate(date.year(), date.month(), pos-firstday+dayoff));
+ QDate da = QDate(date.year(), date.month(),1);
+ setDate(da.addDays( pos-firstday+dayoff-1));
updateCell(temp/7+1, temp%7); // Update the previously selected cell