void ControllerTests::initTestCase () { QFileInfo file( m_localPath ); if ( file.exists() ) { qDebug() << "test database file exists, deleting"; QDir dir( file.absoluteDir() ); QVERIFY( dir.remove( file.fileName() ) ); } m_configuration.installationId = 1; m_configuration.user.setId( 1 ); m_configuration.localStorageType = CHARM_SQLITE_BACKEND_DESCRIPTOR; m_configuration.localStorageDatabase = m_localPath; m_configuration.newDatabase = true; auto controller = new Controller; m_controller = controller; // connect( controller, SIGNAL(currentEvents(EventList)), // SLOT(slotCurrentEvents(EventList)) ); connect( controller, SIGNAL(definedTasks(TaskList)), SLOT(slotDefinedTasks(TaskList)) ); connect( controller, SIGNAL(taskAdded(Task)), SLOT(slotTaskAdded(Task)) ); connect( controller, SIGNAL(taskUpdated(Task)), SLOT(slotTaskUpdated(Task)) ); connect( controller, SIGNAL(taskDeleted(Task)), SLOT(slotTaskDeleted(Task)) ); }
bool Controller::modifyTask( const Task& task ) { // find it qDebug() << Q_FUNC_INFO << "committing changes to task" << task.id(); // modify the task itself: bool result = m_storage->modifyTask( task ); Q_ASSERT( result ); if ( ! result ) { qDebug() << Q_FUNC_INFO << "modifyTask failed!"; return result; } updateSubscriptionForTask( task ); emit( taskUpdated( task ) ); return true; }
void connectControllerAndModel( Controller* controller, CharmDataModel* model ) { QObject::connect( controller, SIGNAL(eventAdded(Event)), model, SLOT(addEvent(Event)) ); QObject::connect( controller, SIGNAL(eventModified(Event)), model, SLOT(modifyEvent(Event)) ); QObject::connect( controller, SIGNAL(eventDeleted(Event)), model, SLOT(deleteEvent(Event)) ); QObject::connect( controller, SIGNAL(allEvents(EventList)), model, SLOT(setAllEvents(EventList)) ); QObject::connect( controller, SIGNAL(definedTasks(TaskList)), model, SLOT(setAllTasks(TaskList)) ); QObject::connect( controller, SIGNAL(taskAdded(Task)), model, SLOT(addTask(Task)) ); QObject::connect( controller, SIGNAL(taskUpdated(Task)), model, SLOT(modifyTask(Task)) ); QObject::connect( controller, SIGNAL(taskDeleted(Task)), model, SLOT(deleteTask(Task)) ); }
bool Controller::modifyTask( const Task& task ) { // find it qDebug() << "Controller::modifyTask: committing changes to task" << task.id(); // modify the task itself: bool result = m_storage->modifyTask( task ); Q_ASSERT( result ); Q_UNUSED( result ); if ( ! result ) { qDebug() << "Controller::modifyTask: modifyTask failed!"; return result; } updateSubscriptionForTask( task ); if ( result ) { emit( taskUpdated( task ) ); } else { qDebug() << "Controller::modifyTask: storing subscription state failed."; } return result; }