[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdepim/korganizer (silent)
From:       Bram Schoenmakers <bramschoenmakers () kde ! nl>
Date:       2005-01-03 19:53:18
Message-ID: 20050103195318.AB92B1CF88 () office ! kde ! org
[Download RAW message or body]

CVS commit by bram: 

CVS_SILENT: Style fix


  M +8 -8      calendarview.cpp   1.324
  M +65 -34    koeditorrecurrence.cpp   1.79
  M +6 -0      koeditorrecurrence.h   1.32


--- kdepim/korganizer/calendarview.cpp  #1.323:1.324
@@ -259,5 +259,5 @@ CalendarView::CalendarView( QWidget *par
   QString s;
   s = i18n( "<p><em>No incidence selected</em></p>"
-           "<p>If you select an event or todo in korganizer's main view, "
+           "<p>If you select an event or todo in KOrganizer's main view, "
            "you will see a preview of that item here.</p>");
 

--- kdepim/korganizer/koeditorrecurrence.cpp  #1.78:1.79
@@ -734,4 +734,5 @@ void RecurrenceRangeWidget::setDefaults(
 {
   mNoEndDateButton->setChecked( true );
+  mRangeType = Infinite;
 
   setDateTimes( from );
@@ -749,4 +750,6 @@ void RecurrenceRangeWidget::setDuration(
     mEndDurationEdit->setValue( duration );
   }
+
+  mRangeType = Duration;
 }
 
@@ -765,8 +768,12 @@ void RecurrenceRangeWidget::setEndDate( 
 {
   mEndDateEdit->setDate( date );
+  mRangeType = EndDate;
 }
 
 QDate RecurrenceRangeWidget::endDate()
 {
+  // TODO: It would be nice to calculate end date from this class, given a
+  //       start date and duration.
+
   return mEndDateEdit->date();
 }
@@ -776,4 +783,11 @@ void RecurrenceRangeWidget::showCurrentR
   mEndDurationEdit->setEnabled( mEndDurationButton->isChecked() );
   mEndDateEdit->setEnabled( mEndDateButton->isChecked() );
+
+  if( mNoEndDateButton->isChecked() )
+    mRangeType = Infinite;
+  else if( mEndDurationButton->isChecked() )
+    mRangeType = Duration;
+  else if( mEndDateButton->isChecked() )
+    mRangeType = EndDate;
 }
 
@@ -785,4 +799,9 @@ void RecurrenceRangeWidget::setDateTimes
 }
 
+int RecurrenceRangeWidget::rangeType()
+{
+  return mRangeType;
+}
+
 ///////////////////////// RecurrenceRangeDialog ///////////////////////////
 
@@ -1370,5 +1389,17 @@ void KOEditorRecurrence::writeIncidence(
     } // end "Yearly"
 
-    incidence->setExDates( mExceptions->dates() );
+    // Remove exception dates which are after end date recurrence
+    if( mRecurrenceRangeWidget->rangeType == mRecurrenceRangeWidget::EndDate ) {
+      DateList dates = mExceptions->dates();
+      DateList::Iterator it = dates.begin();
+
+      while( mRecurrenceRangeWidget->rangeType() ==  && it != dates.end() ) {
+        if( (*it) > mRecurrenceRange->endDate() )
+          it = dates.remove( it );
+        else
+          ++it;
+      }
+      incidence->setExDates( dates );
+    }
 }
 

--- kdepim/korganizer/koeditorrecurrence.h  #1.31:1.32
@@ -231,4 +231,6 @@ class RecurrenceRangeWidget : public QWi
     Q_OBJECT
   public:
+    enum{ Infinite, Duration, EndDate };
+
     RecurrenceRangeWidget( QWidget *parent = 0, const char *name = 0 );
 
@@ -244,4 +246,7 @@ class RecurrenceRangeWidget : public QWi
                        const QDateTime &end = QDateTime() );
 
+    /** Returns which recurrence option is selected. */
+    int rangeType();
+
   protected slots:
     void showCurrentRange();
@@ -255,4 +260,5 @@ class RecurrenceRangeWidget : public QWi
     QRadioButton *mEndDateButton;
     KDateEdit *mEndDateEdit;
+    int mRangeType; // stores which option is selected.
 };
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic