예제 #1
0
bool CalendarEvent::operator==(const CalendarEvent &other) const
{
    // Storing a QDateTime to QSettings seems to lose time zone information. Lets ignore the time zone when
    // comparing or we'll never find ourselves again.
    QDateTime thisStartTime = m_startTime;
    if (other.startTime().timeSpec() == Qt::TimeZone)
        thisStartTime.setTimeZone(other.startTime().timeZone());
    QDateTime thisEndTime = m_endTime;
    if (other.endTime().timeSpec() == Qt::TimeZone)
        thisEndTime.setTimeZone(other.endTime().timeZone());
    QDateTime thisReminder = m_reminder;
        if (other.reminder().timeSpec() == Qt::TimeZone)
    thisReminder.setTimeZone(other.reminder().timeZone());
    return m_id == other.id()
            && m_title == other.title()
            && m_description == other.description()
            && thisStartTime == other.startTime()
            && thisEndTime == other.endTime()
            && thisReminder == other.reminder()
            && m_location == other.location()
            && m_calendar == other.calendar()
            && m_comment == other.comment()
            && m_guests == other.guests()
            && m_recurring == other.recurring()
            && m_isAllDay == other.isAllDay();
}
예제 #2
0
void CalendarEvent::diff(const CalendarEvent &other) const {
    QDateTime thisStartTime = m_startTime;
    if (other.startTime().timeSpec() == Qt::TimeZone)
        thisStartTime.setTimeZone(other.startTime().timeZone());
    QDateTime thisEndTime = m_endTime;
    if (other.endTime().timeSpec() == Qt::TimeZone)
        thisEndTime.setTimeZone(other.endTime().timeZone());
    QDateTime thisReminder = m_reminder;
        if (other.reminder().timeSpec() == Qt::TimeZone)
    thisReminder.setTimeZone(other.reminder().timeZone());

    if (m_id != other.id()) qDebug() << "id: " << m_id << " <> " << other.id();
    if (m_title != other.title()) qDebug() << "title: " << m_title << " <> " << other.title();
    if (m_description != other.description()) qDebug() << "description: " << m_description << " <> " << other.description();
    if (thisStartTime != other.startTime()) qDebug() << "startTime: " << thisStartTime << " <> " << other.startTime();
    if (thisEndTime != other.endTime()) qDebug() << "endTime: " << thisEndTime << " <> " << other.endTime();
    if (thisReminder != other.reminder()) qDebug() << "reminder: " << thisReminder << " <> " << other.reminder();
    if (m_location != other.location()) qDebug() << "location: " << m_location << " <> " << other.location();
    if (m_calendar != other.calendar()) qDebug() << "calendar: " << m_calendar << " <> " << other.calendar();
    if (m_comment != other.comment()) qDebug() << "comment: " << m_comment << " <> " << other.comment();
    if (m_guests != other.guests()) qDebug() << "guests: " << m_guests << " <> " << other.guests();
    if (m_recurring != other.recurring()) qDebug() << "recurring: " << m_recurring << " <> " << other.recurring();
    if (m_isAllDay != other.isAllDay()) qDebug() << "isAllDay: " << m_isAllDay << " <> " << other.isAllDay();
}
예제 #3
0
	// Iterate over the list of events
	foreach (const CalendarEvent &event, events2) {
		// Copy the data into a model entry
		QVariantMap entry;
		entry["myType"] = QVariant(trUtf8("tomorrow"));
		entry["eventId"] = event.id();
		entry["accountId"] = event.accountId();
		entry["subject"] = event.subject().replace('&', "&amp;").replace('<', "&lt;").replace('>', "&gt;").replace('"', "&quot;");
		entry["order"] = order++;
		entry["startTime"] = event.startTime();
		entry["endTime"] = event.endTime();
		entry["timeString"] = "";
		entry["account"] = event.accountId();

		std::stringstream keyStream;
		keyStream << event.accountId() << event.folderId();
		std::string key = keyStream.str();
		entry["color24"] = QString::number(accountColor[key], 16);

		qDebug() << "FMI ######### key:" <<  QString::fromStdString(key) << "=" << accountColor[key];
		qDebug() << "FMI #########    id:" << event.id() << " subject" << event.subject() << " startTime:" << event.startTime().toString(Qt::DefaultLocaleShortDate);
		entries.append(entry);
	}
예제 #4
0
//! [2]
void EventEditor::loadEvent(const EventKey &eventKey)
{
    m_eventKey = eventKey;

    // Load the event from the persistent storage
    const CalendarEvent event = m_calendarService->event(m_eventKey.accountId(), m_eventKey.eventId());

    // Update the properties with the data from the event
    m_subject = event.subject();
    m_location = event.location();
    m_startTime = event.startTime();
    m_endTime = event.endTime();
    m_folderId = event.folderId();
    m_accountId = event.accountId();

    // Emit the change notifications
    emit subjectChanged();
    emit locationChanged();
    emit startTimeChanged();
    emit endTimeChanged();
    emit folderIdChanged();
    emit accountIdChanged();
}