[meego-commits] 7560: Changes to Trunk:Handset/meego-handset-calendar
Kaitlin Rupert
no_reply at build.meego.com
Thu Sep 16 17:31:54 UTC 2010
Hi,
I have made the following changes to meego-handset-calendar in project Trunk:Handset. Please review and accept ASAP.
Thank You,
Kaitlin Rupert
[This message was auto-generated]
---
Request #7560:
submit: devel:ux:handset/meego-handset-calendar(r9) -> Trunk:Handset/meego-handset-calendar
Message:
* Wed Sep 15 9 2010 Mika Saha <mika.saha at symbio.com> 0.1
- BMC#6746 fixed, event handling corected
- BMC#6762 fixed, AP/PM times set
- Additional fixes:
Add ability to set an end date for repeating events
Fix error with 12 hour clock display
Add some sanity checks to verify valid dates and times
Fix issue with deleting events
State: new 2010-09-16T10:31:54 krupert
Comment: None
changes files:
--------------
--- meego-handset-calendar.changes
+++ meego-handset-calendar.changes
@@ -0,0 +1,9 @@
+* Wed Sep 15 9 2010 Mika Saha <mika.saha at symbio.com> 0.1
+- BMC#6746 fixed, event handling corected
+- BMC#6762 fixed, AP/PM times set
+- Additional fixes:
+ Add ability to set an end date for repeating events
+ Fix error with 12 hour clock display
+ Add some sanity checks to verify valid dates and times
+ Fix issue with deleting events
+
new:
----
12h_clock_patch.patch
delete_event_fixed.patch
event_modify_fixed.patch
mtextedit_usage_fixed.patch
repeat_related_fixes.patch
some_sanity_checks_added.patch
update_fix_and_calendar_item_fix.patch
spec files:
-----------
--- meego-handset-calendar.spec
+++ meego-handset-calendar.spec
@@ -15,6 +15,13 @@
Source0: %{name}-%{version}.tar.gz
Source100: meego-handset-calendar.yaml
Patch0: desktop_file_fixed.patch
+Patch1: mtextedit_usage_fixed.patch
+Patch2: repeat_related_fixes.patch
+Patch3: delete_event_fixed.patch
+Patch4: 12h_clock_patch.patch
+Patch5: update_fix_and_calendar_item_fix.patch
+Patch6: event_modify_fixed.patch
+Patch7: some_sanity_checks_added.patch
Requires: kcalcore
Requires: mkcal
Requires: timed
@@ -40,6 +47,20 @@
# desktop_file_fixed.patch
%patch0 -p1
+# mtextedit_usage_fixed.patch
+%patch1 -p1
+# repeat_related_fixes.patch
+%patch2 -p1
+# delete_event_fixed.patch
+%patch3 -p1
+# 12h_clock_patch.patch
+%patch4 -p1
+# update_fix_and_calendar_item_fix.patch
+%patch5 -p1
+# event_modify_fixed.patch
+%patch6 -p1
+# some_sanity_checks_added.patch
+%patch7 -p1
# >> setup
# << setup
other changes:
--------------
++++++ 12h_clock_patch.patch (new)
--- 12h_clock_patch.patch
+++ 12h_clock_patch.patch
+diff -Naur second_patch/comingupviewitemmodel.cpp ampm_patch/comingupviewitemmodel.cpp
+--- second_patch/comingupviewitemmodel.cpp 2010-09-14 09:13:46.000000000 +0300
++++ ampm_patch/comingupviewitemmodel.cpp 2010-09-15 13:18:40.000000000 +0300
+@@ -79,7 +79,7 @@
+
+ if ( addEvent ) {
+ modelEventList->append(event);
+- QString dateString = event->StartDate().toString ( "ddd dd MM hh:mm" );
++ QString dateString = event->StartDate().toString ( "ddd dd MM hh:mm AP" );
+ QString alarmsString("alarmOFF");
+ if ( event->Alarm() ) {
+ alarmsString = "alarmON";
+diff -Naur second_patch/mcreatenewdialog.cpp ampm_patch/mcreatenewdialog.cpp
+--- second_patch/mcreatenewdialog.cpp 2010-09-14 09:23:00.000000000 +0300
++++ ampm_patch/mcreatenewdialog.cpp 2010-09-15 13:28:19.000000000 +0300
+@@ -19,8 +19,82 @@
+ #include <MButton>
+ #include <MTextEdit>
+ #include <MComboBox>
++#include <QGraphicsLinearLayout>
++
++MAmPmButton::MAmPmButton() : MButton(),
++state(EPm)
++{
++ setText(tr("PM"));
++ connect( this, SIGNAL(clicked()), this, SLOT(changeState()) );
++}
++
++MAmPmButton::~MAmPmButton()
++{
++}
++
++void MAmPmButton::changeState()
++{
++ if (state == EAm )
++ {
++ state = EPm;
++ setText(tr("PM"));
++ return;
++ }
++ if (state == EPm )
++ {
++ state = EAm;
++ setText(tr("AM"));
++ }
++}
++
++QString MAmPmButton::getState()
++{
++ QString ret;
++ if (state == EAm )
++ {
++ ret = QString(tr("AM"));
++ }
++ if (state == EPm )
++ {
++ ret = QString(tr("PM"));
++ }
++ return ret;
++}
++
++void MAmPmButton::setState( buttonState btState )
++{
++ if (btState == EAm )
++ {
++ state = EAm;
++ setText(tr("AM"));
++ }
++ else //if (btState == EPm )
++ {
++ state = EPm;
++ setText(tr("PM"));
++ }
++}
++
++void MAmPmButton::setState( const QString &m )
++{
++ if (ampm == "AM" )
++ {
++ state = EAm;
++ setText(tr("AM"));
++ }
++ else if (ampm == "PM" )
++ {
++ state = EPm;
++ setText(tr("PM"));
++ }
++ else
++ {
++
++ }
++}
++
++
+
+- #include <QGraphicsLinearLayout>
+
+ MCreateNewdialog::MCreateNewdialog( MViewManager* manager, CalendarEvent* eventToEdit ) : MDialog(),
+ viewManager(manager),
+@@ -144,30 +218,48 @@
+ startTimeNameLabel->setText(tr("Time"));
+ stTimeHourEdit = new MTextEdit();
+ stTimeMinEdit = new MTextEdit();
++ startAmPm = new MAmPmButton();
+ stTimeHourEdit->setContentType(M::NumberContentType);
+- stTimeMinEdit->setContentType(M::NumberContentType);
++ stTimeMinEdit->setContentType(M::NumberContentType);
+ if ( editEvent ) {
+ QDateTime datetime = editEvent->StartDate();
++ QString hourStr = datetime.toString ( "hh" );
++ QString ampm = datetime.toString ( "AP" );
++ int hourInt = hourStr.toInt() % 12;
++ if ( hourInt == 0 )
++ {
++ hourInt = 12;
++ }
+ QTime time = datetime.time();
+ QString hour;
+ QString minute;
+- hour.setNum( time.hour() );
++ hour.setNum( hourInt );
+ minute.setNum( time.minute() );
+ stTimeHourEdit->setText( hour );
+ stTimeMinEdit->setText( minute );
++ startAmPm->setState( ampm );
+ } else {
+ QDateTime datetime = QDateTime::currentDateTime();
++ QString hourStr = datetime.toString ( "hh" );
++ QString ampm = datetime.toString ( "AP" );
++ int hourInt = hourStr.toInt() % 12;
++ if ( hourInt == 0 )
++ {
++ hourInt = 12;
++ }
+ QTime time = datetime.time();
+ QString hour;
+ QString minute;
+- hour.setNum( time.hour() );
++ hour.setNum( hourInt );
+ minute.setNum( time.minute() );
+ stTimeHourEdit->setText( hour );
+ stTimeMinEdit->setText( minute );
++ startAmPm->setState( ampm );
+ }
+ startDtLinLayout->addItem(startTimeNameLabel);
+ startDtLinLayout->addItem(stTimeHourEdit);
+ startDtLinLayout->addItem(stTimeMinEdit);
++ startDtLinLayout->addItem(startAmPm);
+ mainPolicy->addItem(startDtWidget);
+
+ //EEndDate
+@@ -216,30 +308,48 @@
+ endTimeNameLabel->setAlignment(Qt::AlignLeft);
+ endTimeHourEdit = new MTextEdit();
+ endTimeMinEdit = new MTextEdit();
++ endAmPm = new MAmPmButton();
+ endTimeHourEdit->setContentType(M::NumberContentType);
+ endTimeMinEdit->setContentType(M::NumberContentType);
+ if ( editEvent ) {
+ QDateTime datetime = editEvent->EndDate();
++ QString hourStr = datetime.toString ( "hh" );
++ QString ampm = datetime.toString ( "AP" );
++ int hourInt = hourStr.toInt() % 12;
++ if ( hourInt == 0 )
++ {
++ hourInt = 12;
++ }
+ QTime time = datetime.time();
+ QString hour;
+ QString minute;
+- hour.setNum( time.hour() );
++ hour.setNum( hourInt );
+ minute.setNum( time.minute() );
+ endTimeHourEdit->setText( hour );
+ endTimeMinEdit->setText( minute );
++ endAmPm->setState( ampm );
+ } else {
+ QDateTime datetime = QDateTime::currentDateTime().addSecs(30*60);
++ QString hourStr = datetime.toString ( "hh" );
++ QString ampm = datetime.toString ( "AP" );
++ int hourInt = hourStr.toInt() % 12;
++ if ( hourInt == 0 )
++ {
++ hourInt = 12;
++ }
+ QTime time = datetime.time();
+ QString hour;
+ QString minute;
+- hour.setNum( time.hour() );
++ hour.setNum( hourInt );
+ minute.setNum( time.minute() );
+ endTimeHourEdit->setText( hour );
+ endTimeMinEdit->setText( minute );
++ endAmPm->setState( ampm );
+ }
+ endDtLinLayout->addItem(endTimeNameLabel);
+ endDtLinLayout->addItem(endTimeHourEdit);
+ endDtLinLayout->addItem(endTimeMinEdit);
(262 more lines skipped)
++++++ delete_event_fixed.patch (new)
--- delete_event_fixed.patch
+++ delete_event_fixed.patch
+diff -Naur first_patch/mviewmanager.cpp fourth_patch/mviewmanager.cpp
+--- first_patch/mviewmanager.cpp 2010-09-14 09:13:46.000000000 +0300
++++ fourth_patch/mviewmanager.cpp 2010-09-14 14:43:49.000000000 +0300
+@@ -341,6 +341,7 @@
+
+ void MViewManager::deleteEvent(CalendarEvent* calendarEventToRemove)
+ {
++ calendarEngine->removeEvent( *calendarEventToRemove );
+ if ( calendarEventToRemove->Repeat() )
+ {
+ for ( int i=0; i<events->count();i++ )
+@@ -370,7 +371,6 @@
+ }
+ }
+ }
+- calendarEngine->removeEvent( *calendarEventToRemove );
+ }
+
+ void MViewManager::addNewCalendarEvent( CalendarEvent* newCalendarEvent )
++++++ event_modify_fixed.patch (new)
--- event_modify_fixed.patch
+++ event_modify_fixed.patch
+diff -Naur update_patch/calengine.cpp event_modify_fix/calengine.cpp
+--- update_patch/calengine.cpp 2010-09-15 10:31:29.000000000 +0300
++++ event_modify_fix/calengine.cpp 2010-09-15 15:23:57.769909761 +0300
+@@ -355,7 +355,7 @@
+ calendar->deleteEvent( ptr );
+ storage->save();
+ calendar->save();
+- storage->loadNotebookIncidences(notebook->uid());
++ //storage->loadNotebookIncidences(notebook->uid());
+ }
+
+ void CalEngine::modifyEvent( CalendarEvent &event )
++++++ meego-handset-calendar.yaml
--- meego-handset-calendar.yaml
+++ meego-handset-calendar.yaml
@@ -10,6 +10,13 @@
Description: MeeGo Touch Framework based calendar Application
Patches:
- desktop_file_fixed.patch
+ - mtextedit_usage_fixed.patch
+ - repeat_related_fixes.patch
+ - delete_event_fixed.patch
+ - 12h_clock_patch.patch
+ - update_fix_and_calendar_item_fix.patch
+ - event_modify_fixed.patch
+ - some_sanity_checks_added.patch
Requires:
- kcalcore
++++++ mtextedit_usage_fixed.patch (new)
--- mtextedit_usage_fixed.patch
+++ mtextedit_usage_fixed.patch
+diff -Naur first_patch/mcreatenewdialog.cpp second_patch/mcreatenewdialog.cpp
+--- first_patch/mcreatenewdialog.cpp 2010-09-02 11:53:46.000000000 +0300
++++ second_patch/mcreatenewdialog.cpp 2010-09-14 09:23:00.000000000 +0300
+@@ -113,14 +113,26 @@
+ stDtYearEdit->setContentType(M::CustomContentType);
+ if ( editEvent ) {
+ QDate date = editEvent->StartDate().date();
+- stDtDayEdit->setText( QString(date.day()) );
+- stDtMonthEdit->setText( QString(date.month()) );
+- stDtYearEdit->setText( QString(date.year()) );
++ QString day;
++ QString month;
++ QString year;
++ day.setNum( date.day() );
++ month.setNum( date.month() );
++ year.setNum( date.year() );
++ stDtDayEdit->setText( day );
++ stDtMonthEdit->setText( month );
++ stDtYearEdit->setText( year );
+ } else {
+ QDate date = QDate::currentDate();
+- stDtDayEdit->setText( QString(date.day()) );
+- stDtMonthEdit->setText( QString(date.month()) );
+- stDtYearEdit->setText( QString(date.year()) );
++ QString day;
++ QString month;
++ QString year;
++ day.setNum( date.day() );
++ month.setNum( date.month() );
++ year.setNum( date.year() );
++ stDtDayEdit->setText( day );
++ stDtMonthEdit->setText( month );
++ stDtYearEdit->setText( year );
+ }
+ startDtLinLayout->addItem(startDateNameLabel);
+ startDtLinLayout->addItem(stDtDayEdit);
+@@ -137,13 +149,21 @@
+ if ( editEvent ) {
+ QDateTime datetime = editEvent->StartDate();
+ QTime time = datetime.time();
+- stTimeHourEdit->setText( QString(time.hour()) );
+- stTimeMinEdit->setText( QString(time.minute()) );
++ QString hour;
++ QString minute;
++ hour.setNum( time.hour() );
++ minute.setNum( time.minute() );
++ stTimeHourEdit->setText( hour );
++ stTimeMinEdit->setText( minute );
+ } else {
+ QDateTime datetime = QDateTime::currentDateTime();
+ QTime time = datetime.time();
+- stTimeHourEdit->setText( QString(time.hour()) );
+- stTimeMinEdit->setText( QString(time.minute()) );
++ QString hour;
++ QString minute;
++ hour.setNum( time.hour() );
++ minute.setNum( time.minute() );
++ stTimeHourEdit->setText( hour );
++ stTimeMinEdit->setText( minute );
+ }
+ startDtLinLayout->addItem(startTimeNameLabel);
+ startDtLinLayout->addItem(stTimeHourEdit);
+@@ -164,14 +184,26 @@
+ endDtYearEdit->setContentType(M::NumberContentType);
+ if ( editEvent ) {
+ QDate date = editEvent->EndDate().date();
+- endDtDayEdit->setText( QString(date.day()) );
+- endDtMonthEdit->setText( QString(date.month()) );
+- endDtYearEdit->setText( QString(date.year()) );
++ QString day;
++ QString month;
++ QString year;
++ day.setNum( date.day() );
++ month.setNum( date.month() );
++ year.setNum( date.year() );
++ endDtDayEdit->setText( day );
++ endDtMonthEdit->setText( month );
++ endDtYearEdit->setText( year );
+ } else {
+ QDate date = QDate::currentDate();
+- endDtDayEdit->setText( QString(date.day()) );
+- endDtMonthEdit->setText( QString(date.month()) );
+- endDtYearEdit->setText( QString(date.year()) );
++ QString day;
++ QString month;
++ QString year;
++ day.setNum( date.day() );
++ month.setNum( date.month() );
++ year.setNum( date.year() );
++ endDtDayEdit->setText( day );
++ endDtMonthEdit->setText( month );
++ endDtYearEdit->setText( year );
+ }
+ endDtLinLayout->addItem(endDateNameLabel);
+ endDtLinLayout->addItem(endDtDayEdit);
+@@ -189,13 +221,21 @@
+ if ( editEvent ) {
+ QDateTime datetime = editEvent->EndDate();
+ QTime time = datetime.time();
+- endTimeHourEdit->setText( QString(time.hour()) );
+- endTimeMinEdit->setText( QString(time.minute()) );
++ QString hour;
++ QString minute;
++ hour.setNum( time.hour() );
++ minute.setNum( time.minute() );
++ endTimeHourEdit->setText( hour );
++ endTimeMinEdit->setText( minute );
+ } else {
+- QDateTime datetime = QDateTime::currentDateTime();
++ QDateTime datetime = QDateTime::currentDateTime().addSecs(30*60);
+ QTime time = datetime.time();
+- endTimeHourEdit->setText( QString(time.hour()) );
+- endTimeMinEdit->setText( QString(time.minute()) );
++ QString hour;
++ QString minute;
++ hour.setNum( time.hour() );
++ minute.setNum( time.minute() );
++ endTimeHourEdit->setText( hour );
++ endTimeMinEdit->setText( minute );
+ }
+ endDtLinLayout->addItem(endTimeNameLabel);
+ endDtLinLayout->addItem(endTimeHourEdit);
+@@ -276,14 +316,26 @@
+ alarmDtYearEdit->setContentType(M::NumberContentType);
+ if ( editEvent ) {
+ QDate date = editEvent->AlarmDate().date();
+- alarmDtDayEdit->setText( QString(date.day()) );
+- alarmDtMonthEdit->setText( QString(date.month()) );
+- alarmDtYearEdit->setText( QString(date.year()) );
++ QString day;
++ QString month;
++ QString year;
++ day.setNum( date.day() );
++ month.setNum( date.month() );
++ year.setNum( date.year() );
++ alarmDtDayEdit->setText( day );
++ alarmDtMonthEdit->setText( month );
++ alarmDtYearEdit->setText( year );
+ } else {
+ QDate date = QDate::currentDate();
+- alarmDtDayEdit->setText( QString(date.day()) );
+- alarmDtMonthEdit->setText( QString(date.month()) );
+- alarmDtYearEdit->setText( QString(date.year()) );
++ QString day;
++ QString month;
++ QString year;
++ day.setNum( date.day() );
++ month.setNum( date.month() );
++ year.setNum( date.year() );
++ alarmDtDayEdit->setText( day );
++ alarmDtMonthEdit->setText( month );
++ alarmDtYearEdit->setText( year );
+ }
+ alarmDtLinLayout->addItem(alarmDateNameLabel);
+ alarmDtLinLayout->addItem(alarmDtDayEdit);
+@@ -301,13 +353,21 @@
+ if ( editEvent ) {
+ QDateTime datetime = editEvent->AlarmDate();
+ QTime time = datetime.time();
+- alarmTimeHourEdit->setText( QString(time.hour()) );
+- alarmTimeMinEdit->setText( QString(time.minute()) );
++ QString hour;
++ QString minute;
++ hour.setNum( time.hour() );
++ minute.setNum( time.minute() );
++ alarmTimeHourEdit->setText( hour );
++ alarmTimeMinEdit->setText( minute );
+ } else {
+- QDateTime datetime = QDateTime::currentDateTime();
++ QDateTime datetime = QDateTime::currentDateTime().addSecs(-15*60);
+ QTime time = datetime.time();
+- alarmTimeHourEdit->setText( QString(time.hour()) );
+- alarmTimeMinEdit->setText( QString(time.minute()) );
++ QString hour;
++ QString minute;
++ hour.setNum( time.hour() );
++ minute.setNum( time.minute() );
++ alarmTimeHourEdit->setText( hour );
++ alarmTimeMinEdit->setText( minute );
+ }
+ alarmDtLinLayout->addItem(alarmTimeNameLabel);
+ alarmDtLinLayout->addItem(alarmTimeHourEdit);
++++++ repeat_related_fixes.patch (new)
--- repeat_related_fixes.patch
+++ repeat_related_fixes.patch
+diff -Naur second_patch/calendarevent.cpp third_patch/calendarevent.cpp
+--- second_patch/calendarevent.cpp 2010-09-14 09:13:45.000000000 +0300
++++ third_patch/calendarevent.cpp 2010-09-14 09:56:22.000000000 +0300
+@@ -25,6 +25,8 @@
+
+ repeat = false;
+
++ repeatEndDate = new QDateTime( startDate->addYears(50) );
++
+ alarm = qrand()%2;
+ alarmDate = new QDateTime(startDate->addSecs(-900));
+
+@@ -43,6 +45,7 @@
+ const QDateTime& newEndDate,
+ bool newRepeat,
+ int newRepeatType,
++ const QDateTime& newRepeatEndDate,
+ bool newAlarm,
+ const QDateTime& newAlarmDate,
+ const QString& newNotes,
+@@ -56,6 +59,7 @@
+ endDate = new QDateTime(newEndDate);
+ repeat = newRepeat;
+ repeatType = newRepeatType;
++ repeatEndDate = new QDateTime(newRepeatEndDate);
+ alarm = newAlarm;
+ alarmDate = new QDateTime(newAlarmDate);
+ notes = new QString(newNotes);
+@@ -75,6 +79,7 @@
+ delete alarmDate;
+ delete notes;
+ delete repeatId;
++ delete repeatEndDate;
+ }
+
+ CalendarData* CalendarEvent::Calendar()
+@@ -247,3 +252,17 @@
+ {
+ return calCoreEvent;
+ }
++
++
++void CalendarEvent::SetRepeatEndDate(const QDateTime& newRepeatEndDate)
++{
++ if ( repeatEndDate ) {
++ delete repeatEndDate;
++ }
++ repeatEndDate = new QDateTime(newRepeatEndDate);
++}
++
++QDateTime& CalendarEvent::RepeatEndDate()
++{
++ return *repeatEndDate;
++}
+diff -Naur second_patch/calendarevent.h third_patch/calendarevent.h
+--- second_patch/calendarevent.h 2010-09-14 09:13:45.000000000 +0300
++++ third_patch/calendarevent.h 2010-09-14 09:56:01.000000000 +0300
+@@ -33,6 +33,7 @@
+ const QDateTime& newEndDate,
+ bool newRepeat,
+ int newRepeatType,
++ const QDateTime& newRepeatEndDate,
+ bool newAlarm,
+ const QDateTime& newAlarmDate,
+ const QString& newNotes,
+@@ -45,6 +46,7 @@
+ const QDateTime& newEndDate,
+ bool newRepeat,
+ int newRepeatType,
++ const QDateTime& newRepeatEndDate,
+ bool newAlarm,
+ const QDateTime& newAlarmDate,
+ const QString& newNotes,
+@@ -101,6 +103,10 @@
+ */
+ QDateTime& RepeatId();
+ /**
++ QDateTime& RepeatEndDate();
++ */
++ QDateTime& RepeatEndDate();
++ /**
+ bool Alarm();
+ */
+ bool Alarm();
+@@ -159,6 +165,10 @@
+ */
+ void SetRepeatType(int newRepeatType);
+ /**
++ void SetRepeatEndDate(const QDateTime& newRepeatEndDate);
++ */
++ void SetRepeatEndDate(const QDateTime& newRepeatEndDate);
++ /**
+ void SetAlarm(bool newAlarm);
+ */
+ void SetAlarm(bool newAlarm);
+@@ -190,6 +200,7 @@
+ QDateTime* endDate;
+ bool repeat;
+ int repeatType;
++ QDateTime* repeatEndDate;
+ QDateTime* repeatId;
+ bool alarm;
+ QDateTime* alarmDate;
+diff -Naur second_patch/calengine.cpp third_patch/calengine.cpp
+--- second_patch/calengine.cpp 2010-09-14 09:13:46.000000000 +0300
++++ third_patch/calengine.cpp 2010-09-14 10:01:18.000000000 +0300
+@@ -242,7 +242,6 @@
+ Notebook::Ptr nbPtr = nbList.at( event.CalendarType() );
+ Notebook* nb = nbPtr.data();
+
+-
+ newEvent->setAllDay( event.AllDay() );
+
+ if ( &event.Description() && event.Description().length() ) {
+@@ -268,11 +267,10 @@
+
+ if( event.Repeat() )
+ {
+- QDate dt = QDate::currentDate();
+- newRecurrence->setEndDate(dt.addYears(10));
+- QBitArray *qb = new QBitArray(10);
++ newRecurrence->setEndDate( event.RepeatEndDate().date() );
++ QBitArray *qb = new QBitArray(10);
+
+- switch( event.RepeatType() )
++ switch( event.RepeatType() )
+ {
+ case 1: //once
+ newRecurrence->setDaily(1);
+@@ -368,9 +366,9 @@
+ {
+ int recurrenceType = event->recurrenceType();
+ calEvent->SetRepeat( true );
+- if ( recurrenceType == 3 ) {
++ if ( recurrenceType == 3 ) { //3 == daily
+ calEvent->SetRepeatType( 2 );
+- } else if ( recurrenceType == 4 )
++ } else if ( recurrenceType == 4 ) //4 == weekly
+ {
+ QBitArray dayBitArray = event->recurrence()->days();
+ for (int j=0; j<dayBitArray.count();j++)
+@@ -381,6 +379,10 @@
+ break;
+ }
+ }
++ } else if ( recurrenceType == 0 ) //0 == none
++ {
++ calEvent->SetRepeatType( 0 );
++ calEvent->SetRepeat( false );
+ } else {
+ QBitArray dayBitArray = event->recurrence()->days();
+ if ( dayBitArray.count() > 0) {
+diff -Naur second_patch/mcreatenewdialog.cpp third_patch/mcreatenewdialog.cpp
+--- second_patch/mcreatenewdialog.cpp 2010-09-14 09:23:00.000000000 +0300
++++ third_patch/mcreatenewdialog.cpp 2010-09-14 10:04:27.000000000 +0300
+@@ -287,6 +287,45 @@
+
+ mainPolicy->addItem(repeatTypeWidget);
+
++ //ERepeatEndDate
++ repeatEndDtWidget = new QGraphicsWidget;
++ QGraphicsLinearLayout* repeatEndDtLinLayout = new QGraphicsLinearLayout(Qt::Horizontal, repeatEndDtWidget);
++ repeatEndDateNameLabel = new MLabel();
++ repeatEndDateNameLabel->setText(tr("Repeat until"));
++ repeatEndDateNameLabel->setAlignment(Qt::AlignLeft);
++ repeatEndDtDayEdit = new MTextEdit();
++ repeatEndDtMonthEdit = new MTextEdit();
++ repeatEndDtYearEdit = new MTextEdit();
++
++ if ( editEvent ) {
++ QDate date = editEvent->EndDate().date();
++ QString day;
++ QString month;
++ QString year;
++ day.setNum( date.day() );
++ month.setNum( date.month() );
++ year.setNum( date.year() );
++ repeatEndDtDayEdit->setText( day );
++ repeatEndDtMonthEdit->setText( month );
++ repeatEndDtYearEdit->setText( year );
++ } else {
++ QDate date = QDate::currentDate().addYears(50);
++ QString day;
++ QString month;
++ QString year;
++ day.setNum( date.day() );
++ month.setNum( date.month() );
++ year.setNum( date.year() );
++ repeatEndDtDayEdit->setText( day );
++ repeatEndDtMonthEdit->setText( month );
++ repeatEndDtYearEdit->setText( year );
++ }
++ repeatEndDtLinLayout->addItem(repeatEndDateNameLabel);
++ repeatEndDtLinLayout->addItem(repeatEndDtDayEdit);
++ repeatEndDtLinLayout->addItem(repeatEndDtMonthEdit);
++ repeatEndDtLinLayout->addItem(repeatEndDtYearEdit);
++ mainPolicy->addItem(repeatEndDtWidget);
++
(76 more lines skipped)
++++++ some_sanity_checks_added.patch (new)
--- some_sanity_checks_added.patch
+++ some_sanity_checks_added.patch
+diff -Naur update_patch/mcreatenewdialog.cpp sanity_added/mcreatenewdialog.cpp
+--- update_patch/mcreatenewdialog.cpp 2010-09-15 13:28:19.000000000 +0300
++++ sanity_added/mcreatenewdialog.cpp 2010-09-15 17:07:04.406207857 +0300
+@@ -21,6 +21,8 @@
+ #include <MComboBox>
+ #include <QGraphicsLinearLayout>
+
++#include <MMessageBox>
++
+ MAmPmButton::MAmPmButton() : MButton(),
+ state(EPm)
+ {
+@@ -329,7 +331,7 @@
+ endTimeMinEdit->setText( minute );
+ endAmPm->setState( ampm );
+ } else {
+- QDateTime datetime = QDateTime::currentDateTime().addSecs(30*60);
++ QDateTime datetime = QDateTime::currentDateTime().addSecs(60*60);
+ QString hourStr = datetime.toString ( "hh" );
+ QString ampm = datetime.toString ( "AP" );
+ int hourInt = hourStr.toInt() % 12;
+@@ -479,7 +481,7 @@
+ alarmTimeMinEdit->setText( minute );
+ alarmAmPm->setState( ampm );
+ } else {
+- QDateTime datetime = QDateTime::currentDateTime().addSecs(-15*60);
++ QDateTime datetime = QDateTime::currentDateTime().addSecs(-30*60);
+ QString hourStr = datetime.toString ( "hh" );
+ QString ampm = datetime.toString ( "AP" );
+ int hourInt = hourStr.toInt() % 12;
+@@ -550,6 +552,14 @@
+
+ void MCreateNewdialog::dialogAccepted()
+ {
++ if ( !verifyDateTimes() )
++ {
++ MMessageBox *msgBox = new MMessageBox("Check dates/times...");
++ msgBox->exec();
++ delete msgBox;
++ return;
++ }
++
+ if ( editEvent )
+ {
+ QDate startDate( stDtYearEdit->text().toInt(), stDtMonthEdit->text().toInt(), stDtDayEdit->text().toInt() );
+@@ -756,6 +766,116 @@
+ }
+ }
+
++bool MCreateNewdialog::verifyDateTimes()
++{
++ bool retVal = true;
++ QDate startDate( stDtYearEdit->text().toInt(), stDtMonthEdit->text().toInt(), stDtDayEdit->text().toInt() );
++ int startHour = stTimeHourEdit->text().toInt();
++ if ( startAmPm->getState() == "PM" )
++ {
++ startHour += 12;
++ if ( startHour == 24 )
++ {
++ startHour = 0;
++ }
++ }
++ QTime startTime( startHour, stTimeMinEdit->text().toInt() );
++ QDateTime startsDT( startDate, startTime );
++
++ QDate endDate( endDtYearEdit->text().toInt(), endDtMonthEdit->text().toInt(), endDtDayEdit->text().toInt() );
++ int endHour = endTimeHourEdit->text().toInt();
++ if ( endAmPm->getState() == "PM" )
++ {
++ endHour += 12;
++ if ( endHour == 24 )
++ {
++ endHour = 0;
++ }
++ }
++ QTime endTime( endHour, endTimeMinEdit->text().toInt() );
++ QDateTime endsDT( endDate, endTime );
++
++ QDate alarmDate( alarmDtYearEdit->text().toInt(), alarmDtMonthEdit->text().toInt(), alarmDtDayEdit->text().toInt() );
++ int alarmHour = alarmTimeHourEdit->text().toInt();
++ if ( alarmAmPm->getState() == "PM" )
++ {
++ alarmHour += 12;
++ if ( alarmHour == 24 )
++ {
++ alarmHour = 0;
++ }
++ }
++ QTime alarmTime( alarmHour, alarmTimeMinEdit->text().toInt() );
++ QDateTime alarmDT( alarmDate, alarmTime );
++
++ QDate repeatEndDate( repeatEndDtDayEdit->text().toInt(), repeatEndDtMonthEdit->text().toInt(), repeatEndDtYearEdit->text().toInt() );
++ QDateTime repeatEndDT( repeatEndDate, QTime::currentTime() );
++
++ if ( startsDT > endsDT )
++ {
++ //set endsDT = startsDT + 60 minutes
++ QDate date = startsDT.date();
++ QString day;
++ QString month;
++ QString year;
++ day.setNum( date.day() );
++ month.setNum( date.month() );
++ year.setNum( date.year() );
++ endDtDayEdit->setText( day );
++ endDtMonthEdit->setText( month );
++ endDtYearEdit->setText( year );
++
++ QDateTime datetime = startsDT.addSecs(60*60);
++ QString hourStr = datetime.toString ( "hh" );
++ QString ampm = datetime.toString ( "AP" );
++ int hourInt = hourStr.toInt() % 12;
++ if ( hourInt == 0 )
++ {
++ hourInt = 12;
++ }
++ QTime time = datetime.time();
++ QString hour;
++ QString minute;
++ hour.setNum( hourInt );
++ minute.setNum( time.minute() );
++ endTimeHourEdit->setText( hour );
++ endTimeMinEdit->setText( minute );
++ endAmPm->setState( ampm );
++ retVal = false;
++ }
++ if ( alarmDT >= startsDT )
++ {
++ //set alarmDT = startsDT -15 minutes
++ QDate date = startsDT.date();
++ QString day;
++ QString month;
++ QString year;
++ day.setNum( date.day() );
++ month.setNum( date.month() );
++ year.setNum( date.year() );
++ alarmDtDayEdit->setText( day );
++ alarmDtMonthEdit->setText( month );
++ alarmDtYearEdit->setText( year );
+
++ QDateTime datetime = startsDT.addSecs(-30*60);
++ QString hourStr = datetime.toString ( "hh" );
++ QString ampm = datetime.toString ( "AP" );
++ int hourInt = hourStr.toInt() % 12;
++ if ( hourInt == 0 )
++ {
++ hourInt = 12;
++ }
++ QTime time = datetime.time();
++ QString hour;
++ QString minute;
++ hour.setNum( hourInt );
++ minute.setNum( time.minute() );
++ alarmTimeHourEdit->setText( hour );
++ alarmTimeMinEdit->setText( minute );
++ alarmAmPm->setState( ampm );
++ retVal = false;
++ }
++ return retVal;
++}
+
+
+diff -Naur update_patch/mcreatenewdialog.h sanity_added/mcreatenewdialog.h
+--- update_patch/mcreatenewdialog.h 2010-09-15 12:58:43.000000000 +0300
++++ sanity_added/mcreatenewdialog.h 2010-09-15 16:31:39.029131000 +0300
+@@ -78,6 +78,10 @@
+ void updateEvents();
+ */
+ MCreateNewdialog(MViewManager* manager, CalendarEvent* eventToEdit=0);
++ /**
++ bool verifyDateTimes();
++ */
++ bool verifyDateTimes();
+
+ public Q_SLOTS:
+ /**
++++++ update_fix_and_calendar_item_fix.patch (new)
--- update_fix_and_calendar_item_fix.patch
+++ update_fix_and_calendar_item_fix.patch
+diff -Naur ampm_patch/mviewmanager.cpp update_patch/mviewmanager.cpp
+--- ampm_patch/mviewmanager.cpp 2010-09-15 14:31:29.205916690 +0300
++++ update_patch/mviewmanager.cpp 2010-09-15 14:27:24.000000000 +0300
+@@ -136,7 +136,7 @@
+ if( isSameDate( date, events->at(i)->StartDate().date()) )
+ {
+ int secsTo = events->at(i)->StartDate().time().secsTo(events->at(i)->EndDate().time());
+- retVal += secsTo / 3600;
++ retVal += float(secsTo) / float(3600);
+ }
+ }
+ return retVal;
+@@ -394,15 +394,13 @@
+
+ void MViewManager::updateEvents()
+ {
+- MApplicationPage* appPage = pageList[currentViewIndex];
+- if ( currentViewIndex == EComingUpView ) {
+- MComingUpView* comingUpView = (MComingUpView*)appPage;
+- comingUpView->updateEvents();
+- } else if (currentViewIndex == EThreeDayView) {
+- MThreeDayView* threedayView = (MThreeDayView*)appPage;
+- threedayView->updateEvents();
+- } else {
+- MMonthView* monthView = (MMonthView*)appPage;
+- monthView->updateEvents();
+- }
++ MApplicationPage* appPage1 = pageList[EComingUpView];
++ MComingUpView* comingUpView = (MComingUpView*)appPage1;
++ comingUpView->updateEvents();
++ MApplicationPage* appPage2 = pageList[EThreeDayView];
++ MThreeDayView* threedayView = (MThreeDayView*)appPage2;
++ threedayView->updateEvents();
++ MApplicationPage* appPage3 = pageList[EMonthView];
++ MMonthView* monthView = (MMonthView*)appPage3;
++ monthView->updateEvents();
+ }
More information about the MeeGo-commits
mailing list