-rw-r--r-- | bin/kdepim/WhatsNew.txt | 1 | ||||
-rw-r--r-- | bin/kdepim/korganizer/germantranslation.txt | 2 | ||||
-rw-r--r-- | korganizer/calendarview.cpp | 16 | ||||
-rw-r--r-- | korganizer/calendarview.h | 1 | ||||
-rw-r--r-- | korganizer/kofilterview.cpp | 6 | ||||
-rw-r--r-- | korganizer/kofilterview.h | 1 | ||||
-rw-r--r-- | libkcal/calendar.h | 2 | ||||
-rw-r--r-- | libkcal/calendarlocal.cpp | 26 | ||||
-rw-r--r-- | libkcal/calendarlocal.h | 1 |
9 files changed, 52 insertions, 4 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt index 6c1f664..edf7eb1 100644 --- a/bin/kdepim/WhatsNew.txt +++ b/bin/kdepim/WhatsNew.txt @@ -7,2 +7,3 @@ Added possibility to disable auto saving in KO/Pi. How to disable it? Good question! Next question, please? +Added info about count of events/todos/journals to calendar info. diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt index e8b54fd..288ce4b 100644 --- a/bin/kdepim/korganizer/germantranslation.txt +++ b/bin/kdepim/korganizer/germantranslation.txt @@ -1572,3 +1572,3 @@ { "<p><b>C+ctrl</b>: Dis/enable automatic saving</p>\n","<p><b>C+ctrl</b>: Auto-Speichern ab/anschalten</p>\n" }, -{ "","" }, +{ "<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>" }, { "","" }, diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index e31a6e1..28b17a5 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp @@ -479,3 +479,5 @@ void CalendarView::init() connect( mCalEditView, SIGNAL( needsUpdate() ),this, SLOT( updateUnmanagedViews()) ); + connect( mCalEditView, SIGNAL( requestCalendarInfo( int ) ),this, SLOT( displayCalendarInfo( int ) ) ); + mTodoList->setNavigator( mNavigator ); @@ -5160 +5162,15 @@ void CalendarView::showNextAlarms() } + +void CalendarView::displayCalendarInfo( int id ) +{ + int e, t,j; + KopiCalendarFile * kkf = KOPrefs::instance()->getCalendar( id ); + QString name = kkf->mName; + mCalendar->getIncidenceCount( id, e, t, j ); + QString file = KGlobal::formatMessage ( kkf->mFileName ,0 ); + QString mess = i18n("The calendar <b>%1</b> is displaying file <b>%2</b>").arg(name).arg(file); + mess += i18n("<br>The calendar contains<br><b>%1 events<br>%2 todos<br>%3 journals</b>").arg( e ).arg( t ).arg( j ); + KMessageBox::information( this, mess ); + + +} diff --git a/korganizer/calendarview.h b/korganizer/calendarview.h index 8670832..0924f07 100644 --- a/korganizer/calendarview.h +++ b/korganizer/calendarview.h @@ -203,2 +203,3 @@ class CalendarView : public KOrg::CalendarViewBase, public KCal::Calendar::Obser public slots: + void displayCalendarInfo( int id ); void nextConflict( bool all, bool allday ); diff --git a/korganizer/kofilterview.cpp b/korganizer/kofilterview.cpp index ef25fd0..ee9c9f6 100644 --- a/korganizer/kofilterview.cpp +++ b/korganizer/kofilterview.cpp @@ -232,4 +232,6 @@ void KOCalEditView::infoCal( int id ) } - else - KMessageBox::information( this, i18n("The calendar <b>%1</b> is displaying file <b>%2</b>").arg(name).arg(file) ); + else { + emit requestCalendarInfo( id ); + + } } diff --git a/korganizer/kofilterview.h b/korganizer/kofilterview.h index d534dbf..0dd423a 100644 --- a/korganizer/kofilterview.h +++ b/korganizer/kofilterview.h @@ -242,2 +242,3 @@ class KOCalEditView : public QScrollView void checkCalendar(); + void requestCalendarInfo( int id ); diff --git a/libkcal/calendar.h b/libkcal/calendar.h index 3f6895d..4b8b3ff 100644 --- a/libkcal/calendar.h +++ b/libkcal/calendar.h @@ -321,2 +321,4 @@ public: virtual void setCalendarRemove( int id ) = 0; + virtual void getIncidenceCount( int calId, int& events, int & todos, int & journals) = 0; + signals: diff --git a/libkcal/calendarlocal.cpp b/libkcal/calendarlocal.cpp index 1a1c6be..0ddfeca 100644 --- a/libkcal/calendarlocal.cpp +++ b/libkcal/calendarlocal.cpp @@ -454,3 +454,3 @@ Todo *CalendarLocal::todo( const QString &uid ) { - Todo *todo;; + Todo *todo; Todo *retVal = 0; @@ -469,2 +469,26 @@ Todo *CalendarLocal::todo( const QString &uid ) } +void CalendarLocal::getIncidenceCount( int calId, int& events, int & todos, int & journals) +{ + events = 0; + todos = 0; + journals = 0; + { + Todo *todo; + for ( todo = mTodoList.first(); todo; todo = mTodoList.next() ) { + if ( todo->calID() == calId ) + ++todos; + } + } + { + Event *todo; + for ( todo = mEventList.first(); todo; todo = mEventList.next() ) { + if ( todo->calID() == calId ) + ++events; + + } + } + for ( Journal *it = mJournalList.first(); it; it = mJournalList.next() ) + if ( it->calID() == calId ) ++journals; + +} QString CalendarLocal::nextSummary() const diff --git a/libkcal/calendarlocal.h b/libkcal/calendarlocal.h index a7a85c8..ca0bd98 100644 --- a/libkcal/calendarlocal.h +++ b/libkcal/calendarlocal.h @@ -187,2 +187,3 @@ class CalendarLocal : public Calendar Event *event( QString, QString ); + void getIncidenceCount( int calId, int& events, int & todos, int & journals); |