bool CacheHandle::validate(CacheManager* manager) { if (manager == NULL) return false; if (_cacheManager == manager) return true; if (_cacheManager != NULL) return false; _cacheFrameNo = 0; if (!onValidate()) return false; if (manager) { manager->onHandleValidate(this); _cacheManager = manager; } return true; }
CReservaItem::CReservaItem ( CReserva *_reserva, CSalaList *_salas, CMainWindow *_form ) : QDialog ( _form ), m_reserva ( _reserva ), m_salas ( _salas ), m_form ( _form ) { setupUi ( this ); setAttribute ( Qt::WA_DeleteOnClose ); glayRecorrente = new QGridLayout ( frameRecorrente ); glayRecorrente->addLayout ( hboxLayout5, 0, 0, 1, 1 ); QString dow; #define setDOWCaption(INT) \ dow = QDate::longDayName( INT ); \ cbSemanal ## INT ->setText(dow); \ cbMensalDOW->addItem(dow); setDOWCaption ( 1 ); setDOWCaption ( 2 ); setDOWCaption ( 3 ); setDOWCaption ( 4 ); setDOWCaption ( 5 ); setDOWCaption ( 6 ); setDOWCaption ( 7 ); connect ( this, SIGNAL ( rejected() ), this, SLOT ( cancel() ) ); connect ( this, SIGNAL ( rejected() ), this, SLOT ( onClose() ) ); m_list = _reserva->getOwner(); connect ( okButton, SIGNAL ( clicked() ), this, SLOT ( ok() ) ); connect ( this, SIGNAL ( accepted() ), this, SLOT ( onClose() ) ); connect ( teHoraIN, SIGNAL ( timeChanged ( QTime ) ), this, SLOT ( onValidate() ) ); connect ( teHoraFim, SIGNAL ( timeChanged ( QTime ) ), this, SLOT ( onValidate() ) ); connect ( leAssunto, SIGNAL ( textChanged ( QString ) ), this, SLOT ( onValidate() ) ); connect ( cbSala, SIGNAL ( currentIndexChanged ( int ) ), this, SLOT ( onValidate() ) ); connect ( cbRecorrente, SIGNAL ( clicked() ), this, SLOT ( onValidate() ) ); connect ( cbSemanal1, SIGNAL ( clicked() ), this, SLOT ( onValidate() ) ); connect ( cbSemanal2, SIGNAL ( clicked() ), this, SLOT ( onValidate() ) ); connect ( cbSemanal3, SIGNAL ( clicked() ), this, SLOT ( onValidate() ) ); connect ( cbSemanal4, SIGNAL ( clicked() ), this, SLOT ( onValidate() ) ); connect ( cbSemanal5, SIGNAL ( clicked() ), this, SLOT ( onValidate() ) ); connect ( cbSemanal6, SIGNAL ( clicked() ), this, SLOT ( onValidate() ) ); connect ( cbSemanal7, SIGNAL ( clicked() ), this, SLOT ( onValidate() ) ); connect ( deDataTermino, SIGNAL ( dateChanged ( QDate ) ), this, SLOT ( onValidate() ) ); m_form->setCanRefresh ( false ); PSala sala; CConfig *config = CConfig::getConfig(); CSalaList::TSalaList::iterator it; for ( it = m_salas->m_salas.begin(); it != m_salas->m_salas.end(); ++it ) { sala = *it; if ( ( config->getNivel() == 3 ) || ( config->getUserSalaList()->indexOf ( sala->getSalaID() ) != -1 ) ) cbSala->addItem ( sala->getNome(), sala->getSalaID() ); } cbSala->setCurrentIndex ( cbSala->findData ( sala->getSalaID() ) ); teHoraIN->setTime ( m_reserva->getHORAIN() ); teHoraFim->setTime ( m_reserva->getHORAFIM() ); leAssunto->setText ( m_reserva->getASSUNTO() ); leDepto->setText ( m_reserva->getDEPTO() ); teNotas->document()->setPlainText ( m_reserva->getNOTAS() ); if ( m_reserva->getTIPO() == 'S' ) cbRecorrente->setCheckState ( Qt::Unchecked ); else cbRecorrente->setCheckState ( Qt::Checked ); if ( m_reserva->getTIPO() == 'W' ) { cbSemanal1->setCheckState ( m_reserva->getDOW ( 0 ) ? Qt::Checked : Qt::Unchecked ); cbSemanal2->setCheckState ( m_reserva->getDOW ( 1 ) ? Qt::Checked : Qt::Unchecked ); cbSemanal3->setCheckState ( m_reserva->getDOW ( 2 ) ? Qt::Checked : Qt::Unchecked ); cbSemanal4->setCheckState ( m_reserva->getDOW ( 3 ) ? Qt::Checked : Qt::Unchecked ); cbSemanal5->setCheckState ( m_reserva->getDOW ( 4 ) ? Qt::Checked : Qt::Unchecked ); cbSemanal6->setCheckState ( m_reserva->getDOW ( 5 ) ? Qt::Checked : Qt::Unchecked ); cbSemanal7->setCheckState ( m_reserva->getDOW ( 6 ) ? Qt::Checked : Qt::Unchecked ); cbSemanalSN->setCheckState ( m_reserva->getREVESA() ? Qt::Checked : Qt::Unchecked ); deDataTermino->setDate ( m_reserva->getDATAFIM() ); } else { cbSemanal1->setCheckState ( Qt::Unchecked ); cbSemanal2->setCheckState ( Qt::Unchecked ); cbSemanal3->setCheckState ( Qt::Unchecked ); cbSemanal4->setCheckState ( Qt::Unchecked ); cbSemanal5->setCheckState ( Qt::Unchecked ); cbSemanal6->setCheckState ( Qt::Unchecked ); cbSemanal7->setCheckState ( Qt::Unchecked ); cbSemanalSN->setCheckState ( Qt::Unchecked ); deDataTermino->setDate ( QDate::currentDate().addMonths ( 6 ) ); } if ( m_reserva->getRESERVAID() > 0 ) { cbRecorrente->setEnabled ( false ); cbTipoRecorrencia->setEnabled ( false ); } /* * TODO: Add ReservaMesal support to Database. */ cbTipoRecorrencia->setVisible ( false ); onValidate(); updateRecorrencia(); }