diff -r 2b40d63a9c3d -r 90517678cc4f qtmobility/examples/notesmanagerplugin/notesmanager.cpp --- a/qtmobility/examples/notesmanagerplugin/notesmanager.cpp Fri Apr 16 15:51:22 2010 +0300 +++ b/qtmobility/examples/notesmanagerplugin/notesmanager.cpp Mon May 03 13:18:40 2010 +0300 @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -9,11 +9,9 @@ ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage ** This file contains pre-release code and may not be distributed. -** You may use this fi -#include le in accordance with the terms and conditions +** You may use this file in accordance with the terms and conditions ** contained in the Technology Preview License Agreement accompanying ** this package. -#include ** ** GNU Lesser General Public License Usage ** Alternatively, this file may be used under the terms of the GNU Lesser @@ -22,8 +20,7 @@ ** packaging of this file. Please review the following information to ** ensure the GNU Lesser General Public License version 2.1 requirements ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -*#include - * +** ** In addition, as a special exception, Nokia gives you certain additional ** rights. These rights are described in the Nokia Qt LGPL Exception ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. @@ -37,10 +34,10 @@ ** ** ** +** ** $QT_END_LICENSE$ ** ****************************************************************************/ - #include #include @@ -49,6 +46,8 @@ NotesManager::NotesManager(QObject *parent) : QObject(parent) { + m_search = ""; + QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("todoDB"); db.open(); @@ -67,8 +66,8 @@ { QSqlQuery alarmQuery("SELECT * FROM todolist WHERE date > DATETIME('now', 'localtime') ORDER BY date"); if (alarmQuery.next()) { - setAlarm(QDateTime::fromString(alarmQuery.value(2).toString(), "yyyy-MM-dd HH:mm:ss")); - setMessage(alarmQuery.value(1).toString()); + setAlarmTime(QDateTime::fromString(alarmQuery.value(2).toString(), "yyyy-MM-dd HH:mm:ss")); + setAlarmMessage(alarmQuery.value(1).toString()); } } @@ -77,31 +76,30 @@ QString currStr = QDateTime::currentDateTime().toString(Qt::ISODate); QDateTime curr = QDateTime::fromString(currStr, Qt::ISODate); - //qDebug() << "CHECKING..." << getAlarm() << " against now " << curr; - if (getAlarm() == curr) - emit soundAlarm(getAlarm()); + if (getAlarmTime() == curr) + emit soundAlarm(getAlarmTime()); nextAlarm(); } -QDateTime NotesManager::getAlarm() const +QDateTime NotesManager::getAlarmTime() const { - return m_alarm; + return m_alarmTime; } -void NotesManager::setAlarm(const QDateTime& alarm) +void NotesManager::setAlarmTime(const QDateTime& alarm) { - m_alarm = alarm; + m_alarmTime = alarm; } -QString NotesManager::getMessage() const +QString NotesManager::getAlarmMessage() const { - return m_message; + return m_alarmMessage; } -void NotesManager::setMessage(const QString& message) +void NotesManager::setAlarmMessage(const QString& message) { - m_message = message; + m_alarmMessage = message; } void NotesManager::addNote(const QString& note, const QDateTime& alarm) @@ -115,24 +113,38 @@ QSqlQuery query("DELETE FROM todolist WHERE id='" + QString::number(id) + "'"); } -QList NotesManager::getNotes(const QString& search) const +void NotesManager::setSearch(const QString& search) { - QList list; + m_search = search; +} + +QList NotesManager::getNotes(const QString& search) +{ + m_notes.clear(); + setSearch(search); QString queryString = "SELECT * FROM todolist"; - if (search != "") queryString += " WHERE notes LIKE '%" + search + "%'"; + if (m_search != "") queryString += " WHERE notes LIKE '%" + m_search + "%'"; queryString += " ORDER BY date"; QSqlQuery query(queryString); while (query.next()) { - Note entry; - entry.index = query.value(0).toInt(); - entry.message = query.value(1).toString(); - entry.alert = QDateTime::fromString(query.value(2).toString(), "yyyy-MM-dd HH:mm:ss"); + Note *entry = new Note(this); + entry->setIndex(query.value(0).toInt()); + entry->setMessage(query.value(1).toString()); + entry->setAlarm(QDateTime::fromString(query.value(2).toString(), "yyyy-MM-dd HH:mm:ss")); - list << entry; + m_notes << entry; } - - return list; + + return m_notes; } + +#ifdef DECLARATIVE +QDeclarativeListProperty NotesManager::noteSet() +{ + m_notes = getNotes(m_search); + return QDeclarativeListProperty(this, m_notes); +} +#endif