void EventOccurrenceEditPage::saveOrNextClicked() { QDateTime start(m_startTimeEdit->dateTime()); QDateTime end(m_endTimeEdit->dateTime()); if (start > end) { QMessageBox::warning(this, "Failed!", "Start date is not before end date"); return; } m_organizerEventOccurrence.setDisplayLabel(m_subjectEdit->text()); m_organizerEventOccurrence.setStartDateTime(start); m_organizerEventOccurrence.setEndDateTime(end); m_listOfEvents.append(m_organizerEventOccurrence); if(m_numOfEntiresToBeCreated > 1){ m_numOfEntiresToBeCreated--; if(m_numOfEntiresToBeCreated == 1){ // For the last entry change the option to Save. m_saveOrNextSoftKey->setText("SaveAll"); } // Clear subject field indicating its a new editor. m_subjectEdit->clear(); } else { if(!m_multipleEntries){ // If single entry m_manager->saveItem(&m_organizerEventOccurrence); } else { // If multiple entries, save asynchronously. m_saveItemRequest->setItems(m_listOfEvents); m_saveItemRequest->setManager(m_manager); m_saveItemRequest->start(); } if (m_manager->error()) QMessageBox::warning(this, "Failed!", QString("Failed to save event occurrence!\n(error code %1)").arg(m_manager->error())); else emit showDayPage(); } }
QTM_USE_NAMESPACE CalendarDemo::CalendarDemo(QWidget *parent) :QMainWindow(parent), m_stackedWidget(0), m_monthPage(0), m_dayPage(0), m_eventEditPage(0), m_eventOccurrenceEditPage(0) { m_stackedWidget = new QStackedWidget(this); m_dayPage = new DayPage(m_stackedWidget); m_monthPage = new MonthPage(m_stackedWidget); m_eventEditPage = new EventEditPage(m_stackedWidget); m_todoEditPage = new TodoEditPage(m_stackedWidget); m_journalEditPage = new JournalEditPage(m_stackedWidget); m_eventOccurrenceEditPage = new EventOccurrenceEditPage(m_stackedWidget); m_addCalendarPage = new AddCalendarPage(m_stackedWidget); m_editCalendarsPage = new EditCalendarsPage(m_stackedWidget); //qRegisterMetaType<QOrganizerManager>("QOrganizerManager"); qRegisterMetaType<QOrganizerItem>("QOrganizerItem"); qRegisterMetaType<QOrganizerItemId>("QOrganizerItemId"); qRegisterMetaType<QOrganizerCollection>("QOrganizerCollection"); qRegisterMetaType<QOrganizerAbstractRequest::State>("QOrganizerAbstractRequest::State"); connect(m_monthPage, SIGNAL(showDayPage(QDate)), this, SLOT(activateDayPage()), Qt::QueuedConnection); connect(m_monthPage, SIGNAL(showEditPage(const QOrganizerItem &)), this, SLOT(activateEditPage(const QOrganizerItem &)), Qt::QueuedConnection); connect(m_monthPage, SIGNAL(addNewEvent()), this, SLOT(addNewEvent()), Qt::QueuedConnection); connect(m_monthPage, SIGNAL(addNewTodo()), this, SLOT(addNewTodo()), Qt::QueuedConnection); connect(m_monthPage, SIGNAL(managerChanged(QOrganizerManager*)), this, SLOT(changeManager(QOrganizerManager*)), Qt::QueuedConnection); connect(m_monthPage, SIGNAL(managerChanged(QOrganizerManager*)), m_dayPage, SLOT(changeManager(QOrganizerManager*)), Qt::QueuedConnection); connect(m_monthPage, SIGNAL(currentDayChanged(QDate)), this, SLOT(updateSelectedDay(QDate))); connect(m_dayPage, SIGNAL(showMonthPage()), this, SLOT(activateMonthPage()), Qt::QueuedConnection); connect(m_dayPage, SIGNAL(showEditPage(const QOrganizerItem &)), this, SLOT(activateEditPage(const QOrganizerItem &)), Qt::QueuedConnection); connect(m_dayPage, SIGNAL(addNewEvent()), this, SLOT(addNewEvent()), Qt::QueuedConnection); connect(m_dayPage, SIGNAL(addNewTodo()), this, SLOT(addNewTodo()), Qt::QueuedConnection); connect(m_eventEditPage, SIGNAL(showDayPage()), this, SLOT(activateDayPage()), Qt::QueuedConnection); connect(m_todoEditPage, SIGNAL(showDayPage()), this, SLOT(activateDayPage()), Qt::QueuedConnection); connect(m_journalEditPage, SIGNAL(showDayPage()), this, SLOT(activateDayPage()), Qt::QueuedConnection); connect(m_eventOccurrenceEditPage, SIGNAL(showDayPage()), this, SLOT(activateDayPage()), Qt::QueuedConnection); connect(m_addCalendarPage, SIGNAL(showPreviousPage()), this, SLOT(activatePreviousPage()), Qt::QueuedConnection); connect(m_editCalendarsPage, SIGNAL(showAddCalendarPage(QOrganizerManager*,QOrganizerCollection*)), this, SLOT(editExistingCalendar(QOrganizerManager*,QOrganizerCollection*)), Qt::QueuedConnection); connect(m_editCalendarsPage, SIGNAL(showPreviousPage()), this, SLOT(activateMonthPage()), Qt::QueuedConnection); connect(m_editCalendarsPage, SIGNAL(addClicked()), this, SLOT(addCalendar()), Qt::QueuedConnection); // Connect to the save and remove request status change signals connect(&m_saveReq, SIGNAL(stateChanged(QOrganizerAbstractRequest::State)), this, SLOT(saveReqStateChanged(QOrganizerAbstractRequest::State))); connect(&m_remReq, SIGNAL(stateChanged(QOrganizerAbstractRequest::State)), this, SLOT(removeReqStateChanged(QOrganizerAbstractRequest::State))); m_monthPage->init(); m_stackedWidget->addWidget(m_monthPage); m_stackedWidget->addWidget(m_dayPage); m_stackedWidget->addWidget(m_eventEditPage); m_stackedWidget->addWidget(m_todoEditPage); m_stackedWidget->addWidget(m_journalEditPage); m_stackedWidget->addWidget(m_eventOccurrenceEditPage); m_stackedWidget->addWidget(m_addCalendarPage); m_stackedWidget->addWidget(m_editCalendarsPage); m_stackedWidget->setCurrentIndex(0); setCentralWidget(m_stackedWidget); buildMenu(); activateMonthPage(); }
void EventOccurrenceEditPage::cancelClicked() { emit showDayPage(); }