void TasksView::stateChanged( State previous ) { switch( Application::instance().state() ) { case Connecting: { // set model on view: ViewFilter* filter = Application::instance().model().taskModel(); m_treeView->setModel( filter ); const QItemSelectionModel* smodel = m_treeView->selectionModel(); connect( smodel, SIGNAL( currentChanged( const QModelIndex&, const QModelIndex& ) ), SLOT( configureUi() ) ); connect( smodel, SIGNAL( selectionChanged( const QItemSelection&, const QItemSelection& ) ), SLOT( configureUi() ) ); connect( filter, SIGNAL( eventActivationNotice( EventId ) ), SLOT( slotEventActivated( EventId ) ) ); connect( filter, SIGNAL( eventDeactivationNotice( EventId ) ), SLOT( slotEventDeactivated( EventId ) ) ); } break; case Connected: //the model is populated when entering Connected, so delay state restore QMetaObject::invokeMethod( this, "restoreGuiState", Qt::QueuedConnection ); break; case Disconnecting: saveGuiState(); break; case ShuttingDown: case Dead: default: break; }; }
void CharmWindow::stateChanged( State ) { switch( ApplicationCore::instance().state() ) { case Connecting: setEnabled( false ); restoreGuiState(); configurationChanged(); break; case Connected: configurationChanged(); ApplicationCore::instance().createFileMenu( menuBar() ); insertEditMenu(); ApplicationCore::instance().createWindowMenu( menuBar() ); ApplicationCore::instance().createHelpMenu( menuBar() ); setEnabled( true ); break; case Disconnecting: setEnabled( false ); saveGuiState(); break; case ShuttingDown: case Dead: default: break; }; }