summaryrefslogtreecommitdiffabout
path: root/korganizer
Side-by-side diff
Diffstat (limited to 'korganizer') (more/less context) (show whitespace changes)
-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
6 files changed, 60 insertions, 21 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index 8f05276..038da54 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -2184,11 +2184,11 @@ void CalendarView::updateUnmanagedViews()
{
mDateNavigator->updateDayMatrix();
}
-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"));
}
@@ -2887,32 +2887,35 @@ void CalendarView::deleteTodo(Todo *todo)
KNotifyClient::beep();
return;
}
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);
changeTodoDisplay( todo,KOGlobals::EVENTDELETED );
updateView();
}
break;
} // 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);
changeTodoDisplay( todo,KOGlobals::EVENTDELETED );
updateView();
}
- }
+
emit updateSearchDialog();
}
void CalendarView::deleteJournal(Journal *jour)
{
@@ -2920,9 +2923,9 @@ void CalendarView::deleteJournal(Journal *jour)
KNotifyClient::beep();
return;
}
if (KOPrefs::instance()->mConfirm) {
- switch (msgItemDelete()) {
+ switch (msgItemDelete( jour->description().left(20))) {
case KMessageBox::Continue: // OK
calendar()->deleteJournal(jour);
updateView();
break;
@@ -3482,8 +3485,25 @@ void CalendarView::showDates(const DateList &selectedDates)
QString selDates;
selDates = KGlobal::locale()->formatDate( selectedDates.first(), true);
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
@@ -484,9 +484,9 @@ class CalendarView : public KOrg::CalendarViewBase, public KCal::Calendar::Obser
protected:
void schedule(Scheduler::Method, Incidence *incidence = 0);
// returns KMsgBox::OKCandel()
- int msgItemDelete();
+ int msgItemDelete(const QString name);
void showEventEditor();
void showTodoEditor();
void writeLocale();
Todo *selectedTodo();
diff --git a/korganizer/koeditorgeneral.cpp b/korganizer/koeditorgeneral.cpp
index 94e1f4c..b4fe965 100644
--- a/korganizer/koeditorgeneral.cpp
+++ b/korganizer/koeditorgeneral.cpp
@@ -282,8 +282,22 @@ void KOEditorGeneral::pickAlarmProgram()
((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Sound.Al.: ") + mAlarmSound );
}
+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)
{
if ( enable ) {
@@ -296,14 +310,14 @@ void KOEditorGeneral::enableAlarmEdit(bool enable)
mAlarmSound = KOPrefs::instance()->mDefaultAlarmFile;
}
}
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"));
}
mAlarmTimeEdit->setEnabled(enable);
mAlarmSoundButton->setEnabled(enable);
diff --git a/korganizer/koeditorgeneral.h b/korganizer/koeditorgeneral.h
index c58335e..de8edaf 100644
--- a/korganizer/koeditorgeneral.h
+++ b/korganizer/koeditorgeneral.h
@@ -104,8 +104,9 @@ class KOEditorGeneral : public QObject
QPushButton *mCategoriesButton;
QLabel *mCategoriesLabel;
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
@@ -817,16 +817,11 @@ void KOTodoView::showTodo()
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)
{
if (mActiveItem && !mActiveItem->todo()->isReadOnly ()) {
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index 151b55b..7b07a2e 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -1704,8 +1704,17 @@ void MainWindow::setCaptionToDates()
QString selDates;
selDates = KGlobal::locale()->formatDate(mView->startDate(), true);
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 );
}
// parameter item == 0: reinit