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
@@ -1,4 +1,21 @@
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
@@ -87,5 +87,4 @@
{ "Cancel","Abbrechen" },
{ "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." },
{ "Categories...","Kategorien..." },
@@ -800,7 +799,7 @@
{ "Mobile home phone:\n","Mobiltelefon privat:\n" },
{ "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" },
{ "*.wav|Wav Files","*.wav|Wav Dateien" },
@@ -1192,5 +1191,9 @@
{ "private","privat" },
{ "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
@@ -2186,7 +2186,7 @@ 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."),
i18n("KO/Pi Confirmation"),i18n("Delete"));
@@ -2889,10 +2889,17 @@ 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 );
calendar()->deleteTodo(todo);
@@ -2903,8 +2910,4 @@ void CalendarView::deleteTodo(Todo *todo)
} // switch
} else {
- if (!todo->relations().isEmpty()) {
- KMessageBox::sorry(this,i18n("Cannot delete To-Do\nwhich has children."),
- i18n("Delete To-Do"));
- } else {
checkExternalId( todo );
mCalendar->deleteTodo(todo);
@@ -2912,5 +2915,5 @@ void CalendarView::deleteTodo(Todo *todo)
updateView();
}
- }
+
emit updateSearchDialog();
}
@@ -2922,5 +2925,5 @@ void CalendarView::deleteJournal(Journal *jour)
}
if (KOPrefs::instance()->mConfirm) {
- switch (msgItemDelete()) {
+ switch (msgItemDelete( jour->description().left(20))) {
case KMessageBox::Continue: // OK
calendar()->deleteJournal(jour);
@@ -3484,4 +3487,21 @@ void CalendarView::showDates(const DateList &selectedDates)
if (selectedDates.first() < selectedDates.last() )
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
@@ -486,5 +486,5 @@ class CalendarView : public KOrg::CalendarViewBase, public KCal::Calendar::Obser
// returns KMsgBox::OKCandel()
- int msgItemDelete();
+ int msgItemDelete(const QString name);
void showEventEditor();
void showTodoEditor();
diff --git a/korganizer/koeditorgeneral.cpp b/korganizer/koeditorgeneral.cpp
index 94e1f4c..b4fe965 100644
--- a/korganizer/koeditorgeneral.cpp
+++ b/korganizer/koeditorgeneral.cpp
@@ -284,4 +284,18 @@ 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;
+}
void KOEditorGeneral::enableAlarmEdit(bool enable)
@@ -298,10 +312,10 @@ 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
@@ -106,4 +106,5 @@ class KOEditorGeneral : public QObject
private:
+ QString getFittingPath( const QString ) ;
QString mAlarmSound;
QString mAlarmProgram;
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp
index 97b4a03..30adb06 100644
--- a/korganizer/kotodoview.cpp
+++ b/korganizer/kotodoview.cpp
@@ -819,12 +819,7 @@ 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());
}
}
-}
void KOTodoView::setNewPriority(int index)
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index 151b55b..7b07a2e 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -1706,4 +1706,13 @@ void MainWindow::setCaptionToDates()
if (mView->startDate() < mView->endDate() )
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
@@ -203,6 +203,6 @@ void CalendarLocal::deleteTodo( Todo *todo )
// Handle orphaned children
if ( mUndoIncidence ) delete mUndoIncidence;
- mUndoIncidence = todo->clone();
removeRelations( todo );
+ mUndoIncidence = todo->clone();
if ( mTodoList.removeRef( todo ) ) {
diff --git a/microkde/kdatetbl.cpp b/microkde/kdatetbl.cpp
index 146291b..508ce31 100644
--- a/microkde/kdatetbl.cpp
+++ b/microkde/kdatetbl.cpp
@@ -345,4 +345,5 @@ KDateTable::contentsMousePressEvent(QMouseEvent *e)
}
pos=7*(row-1)+col+1;
+#if 0
if(pos+dayoff<=firstday)
{ // this day is in the previous month
@@ -355,6 +356,8 @@ KDateTable::contentsMousePressEvent(QMouseEvent *e)
return;
}
+#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
updateCell(row, col); // Update the selected cell