-rw-r--r-- | korganizer/calendarview.cpp | 8 | ||||
-rw-r--r-- | korganizer/calendarview.h | 1 | ||||
-rw-r--r-- | korganizer/koagendaitem.cpp | 6 | ||||
-rw-r--r-- | korganizer/kofilterview.cpp | 4 | ||||
-rw-r--r-- | korganizer/kofilterview.h | 1 | ||||
-rw-r--r-- | korganizer/komonthview.cpp | 4 | ||||
-rw-r--r-- | korganizer/kotodoview.cpp | 52 | ||||
-rw-r--r-- | korganizer/kotodoviewitem.cpp | 2 | ||||
-rw-r--r-- | korganizer/kowhatsnextview.cpp | 4 |
9 files changed, 49 insertions, 33 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index 07ec459..6e60c56 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp @@ -462,8 +462,11 @@ void CalendarView::init() connect( mCalEditView, SIGNAL( calendarEnabled (int,bool) ),mCalendar, SLOT( setCalendarEnabled(int,bool)) ); connect( mCalEditView, SIGNAL( alarmEnabled(int,bool) ),mCalendar, SLOT( setAlarmEnabled(int,bool)) ); connect( mCalEditView, SIGNAL( calendarReadonly(int,bool) ),mCalendar, SLOT( setReadOnly(int,bool)) ); connect( mCalEditView, SIGNAL( setCalendarDefault(int) ),mCalendar, SLOT( setDefaultCalendar(int)) ); + connect( mCalEditView, SIGNAL( removeCalendar(int) ),mCalendar, SLOT( setCalendarRemove(int)) ); + connect( mCalEditView, SIGNAL( calendarAdded(int) ),this, SLOT( addCalendarId(int)) ); + connect( mCalEditView, SIGNAL( needsUpdate() ),this, SLOT( updateView()) ); mTodoList->setNavigator( mNavigator ); #if 0 if ( QApplication::desktop()->width() < 480 ) { leftFrameLayout->addWidget(mFilterView); @@ -1868,8 +1871,13 @@ bool CalendarView::restoreCalendarSettings() mCalendar->setDefaultCalendar( cal->mCalNumber ); cal = calendars.next(); } } +void CalendarView::addCalendarId( int id ) +{ + KopiCalendarFile * cal = KOPrefs::instance()->getCalendar( id ); + addCalendar( cal ); +} bool CalendarView::addCalendar( KopiCalendarFile * cal ) { if ( mCalendar->addCalendarFile( cal->mFileName, cal->mCalNumber )) diff --git a/korganizer/calendarview.h b/korganizer/calendarview.h index 0144ba4..ec5b7ab 100644 --- a/korganizer/calendarview.h +++ b/korganizer/calendarview.h @@ -226,8 +226,9 @@ class CalendarView : public KOrg::CalendarViewBase, public KCal::Calendar::Obser bool loadCalendars(); bool saveCalendars(); bool restoreCalendarSettings(); bool addCalendar( KopiCalendarFile * ); + void addCalendarId( int id ); bool syncCalendar(QString filename,int mode = 0 ); /** Save calendar data to file. Return true if calendar could be diff --git a/korganizer/koagendaitem.cpp b/korganizer/koagendaitem.cpp index 5a3c4d2..c7bc6eb 100644 --- a/korganizer/koagendaitem.cpp +++ b/korganizer/koagendaitem.cpp @@ -120,14 +120,14 @@ void KOAgendaItem::init ( Incidence *incidence, QDate qd ) if (cat.isEmpty()) { if ( (incidence->typeID() == todoID ) &&((static_cast<Todo*>(incidence))->isCompleted()) ) mBackgroundColor =KOPrefs::instance()->mTodoDoneColor; else - mBackgroundColor =KOPrefs::instance()->mEventColor; + mBackgroundColor =KOPrefs::instance()->defaultColor( incidence->calID() ); } else { mBackgroundColor = *KOPrefs::instance()->categoryColor(cat); if ( (incidence->typeID() == todoID ) &&((static_cast<Todo*>(incidence))->isCompleted()) ) { if ( mBackgroundColor == KOPrefs::instance()->mEventColor ) - mBackgroundColor =KOPrefs::instance()->mTodoDoneColor; + mBackgroundColor = KOPrefs::instance()->mTodoDoneColor; } } } @@ -200,9 +200,9 @@ bool KOAgendaItem::updateIcons(QPainter * p, bool horLayout) ++xOff; else ++yOff; } - if (mIncidence->isAlarmEnabled()) { + if (mIncidence->isAlarmEnabled() && mIncidence->alarmEnabled()) { p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, red ); if ( horLayout ) ++xOff; else diff --git a/korganizer/kofilterview.cpp b/korganizer/kofilterview.cpp index 29a4393..2b16347 100644 --- a/korganizer/kofilterview.cpp +++ b/korganizer/kofilterview.cpp @@ -157,8 +157,9 @@ KOCalEditView::~KOCalEditView() void KOCalEditView::selectCal(int id ,bool b) { KOPrefs::instance()->getCalendar( id )->isEnabled = b; emit calendarEnabled ( id, b ); + emit needsUpdate(); } void KOCalEditView::selectStdCal( int id, bool b ) { @@ -198,18 +199,21 @@ void KOCalEditView::selectStdCal( int id, bool b ) void KOCalEditView::selectCalAlarm(int id ,bool b ) { KOPrefs::instance()->getCalendar( id )->isAlarmEnabled = b; emit alarmEnabled ( id , b ); + emit needsUpdate(); } void KOCalEditView::selectReadOnly(int id ,bool b ) { KOPrefs::instance()->getCalendar( id )->isReadOnly = b; emit calendarReadonly ( id , b ); + emit needsUpdate(); } void KOCalEditView::setColor( const QColor& c, int id ) { KOPrefs::instance()->getCalendar( id )->mDefaultColor = c; + emit needsUpdate(); } void KOCalEditView::deleteCal( int id ) { KopiCalendarFile * kkf = KOPrefs::instance()->getCalendar( id ); diff --git a/korganizer/kofilterview.h b/korganizer/kofilterview.h index aaf0eb6..4a0cd8a 100644 --- a/korganizer/kofilterview.h +++ b/korganizer/kofilterview.h @@ -137,8 +137,9 @@ class KOCalEditView : public QWidget void calendarReadonly ( int cal, bool readonly ); void setCalendarDefault ( int cal ); void removeCalendar ( int cal ); void calendarAdded( int ); + void needsUpdate(); private: QVBoxLayout* ml; QWidget *mw; diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp index c868270..96f2502 100644 --- a/korganizer/komonthview.cpp +++ b/korganizer/komonthview.cpp @@ -747,9 +747,9 @@ int MonthViewCell::insertEvent(Event *event) pal = mStandardPalette ; } item->setPalette( pal ); item->setRecur( event->recurrence()->doesRecur() ); - item->setAlarm( event->isAlarmEnabled() && multiday < 2 ); + item->setAlarm( event->isAlarmEnabled() && multiday < 2 && event->alarmEnabled() ); item->setMoreInfo( event->description().length() > 0 ); #ifdef DESKTOP_VERSION Attendee *me = event->attendeeByMails(KOPrefs::instance()->mAdditionalMails, KOPrefs::instance()->email()); @@ -828,9 +828,9 @@ void MonthViewCell::insertTodo(Todo *todo) pal = mStandardPalette ; } item->setPalette( pal ); item->setRecur( todo->recurrence()->doesRecur() ); - item->setAlarm( todo->isAlarmEnabled() ); + item->setAlarm( todo->isAlarmEnabled() && todo->alarmEnabled() ); item->setMoreInfo( todo->description().length() > 0 ); insertItem( item , count()); #ifdef DESKTOP_VERSION mToolTip.append( text ); diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp index 2602487..35c2a9f 100644 --- a/korganizer/kotodoview.cpp +++ b/korganizer/kotodoview.cpp @@ -700,12 +700,12 @@ void KOTodoView::updateView() while ( todo ) { bool next = true; // qDebug("todo %s ", todo->summary().latin1()); Incidence *incidence = todo->relatedTo(); - while ( incidence ) { + while ( incidence ) { if ( incidence->typeID() == todoID ) { //qDebug("related %s ",incidence->summary().latin1() ); - if ( !(todoList.contains ( ((Todo* )incidence ) ) )) { + if ( !(todoList.contains ( ((Todo* )incidence ) ) ) && incidence->calEnabled() ) { //qDebug("related not found "); todoList.remove( ); todo = todoList.current(); next = false; @@ -835,36 +835,38 @@ void KOTodoView::restoreItemState( QListViewItem *item ) } QMap<Todo *,KOTodoViewItem *>::ConstIterator - KOTodoView::insertTodoItem(Todo *todo) +KOTodoView::insertTodoItem(Todo *todo) { -// kdDebug() << "KOTodoView::insertTodoItem(): " << todo->getSummary() << endl; - // TODO: Check, if dynmaic cast is necessary + // kdDebug() << "KOTodoView::insertTodoItem(): " << todo->getSummary() << endl; + // TODO: Check, if dynmaic cast is necessary pendingSubtodo = 0; - Incidence *incidence = todo->relatedTo(); - if (incidence && incidence->typeID() == todoID ) { - Todo *relatedTodo = static_cast<Todo *>(incidence); - -// kdDebug() << " has Related" << endl; - QMap<Todo *,KOTodoViewItem *>::ConstIterator itemIterator; - itemIterator = mTodoMap.find(relatedTodo); - if (itemIterator == mTodoMap.end()) { -// kdDebug() << " related not yet in list" << endl; - itemIterator = insertTodoItem (relatedTodo); + Incidence *incidence = todo->relatedTo(); + while ( incidence && !incidence->calEnabled() ) + incidence = incidence->relatedTo(); + if (incidence && incidence->typeID() == todoID ) { + Todo *relatedTodo = static_cast<Todo *>(incidence); + + // kdDebug() << " has Related" << endl; + QMap<Todo *,KOTodoViewItem *>::ConstIterator itemIterator; + itemIterator = mTodoMap.find(relatedTodo); + if (itemIterator == mTodoMap.end()) { + // kdDebug() << " related not yet in list" << endl; + itemIterator = insertTodoItem (relatedTodo); + } + // isn't this pretty stupid? We give one Todo to the KOTodoViewItem + // and one into the map. Sure finding is more easy but why? -zecke + KOTodoViewItem *todoItem = new KOTodoViewItem(*itemIterator,todo,this); + return mTodoMap.insert(todo,todoItem); + } else { + // kdDebug() << " no Related" << endl; + // see above -zecke + KOTodoViewItem *todoItem = new KOTodoViewItem(mTodoListView,todo,this); + return mTodoMap.insert(todo,todoItem); } - // isn't this pretty stupid? We give one Todo to the KOTodoViewItem - // and one into the map. Sure finding is more easy but why? -zecke - KOTodoViewItem *todoItem = new KOTodoViewItem(*itemIterator,todo,this); - return mTodoMap.insert(todo,todoItem); - } else { -// kdDebug() << " no Related" << endl; - // see above -zecke - KOTodoViewItem *todoItem = new KOTodoViewItem(mTodoListView,todo,this); - return mTodoMap.insert(todo,todoItem); - } } void KOTodoView::updateConfig() diff --git a/korganizer/kotodoviewitem.cpp b/korganizer/kotodoviewitem.cpp index 8cb6b83..f987b63 100644 --- a/korganizer/kotodoviewitem.cpp +++ b/korganizer/kotodoviewitem.cpp @@ -194,9 +194,9 @@ void KOTodoViewItem::setMyPixmap() p. drawPixmap ( 0, pixSize, pPix); p.end(); pixSize += size; } - if ( mTodo->isAlarmEnabled() ) { + if ( mTodo->isAlarmEnabled() && mTodo->alarmEnabled()) { pixi.resize(size, pixSize+size); pPix.fill( Qt::red ); p.begin( &pixi ); p. drawPixmap ( 0, pixSize, pPix); diff --git a/korganizer/kowhatsnextview.cpp b/korganizer/kowhatsnextview.cpp index e8574a0..221debc 100644 --- a/korganizer/kowhatsnextview.cpp +++ b/korganizer/kowhatsnextview.cpp @@ -594,9 +594,9 @@ bool KOWhatsNextView::appendEvent(Incidence *ev, bool reply, bool notRed, bool a tempText += "<font color=\"#F00000\">[c"; needClose =true; } - if ( ev->isAlarmEnabled() ) { + if ( ev->isAlarmEnabled() && ev->alarmEnabled()) { if ( !needClose) tempText +="["; tempText += "a"; needClose =true; @@ -668,9 +668,9 @@ bool KOWhatsNextView::appendTodo(Incidence *ev, QString ind , bool isSub ) mText += "<font color=\"#F00000\">[c"; needClose =true; } - if ( ev->isAlarmEnabled() ) { + if ( ev->isAlarmEnabled() && ev->alarmEnabled() ) { if ( !needClose) mText +="["; mText += "a"; needClose =true; |