void ActionEditor::newActionGroup() { ActionItem *actionParent = (ActionItem*)listActions->selectedItem(); if ( actionParent ) { if ( !::qt_cast<QActionGroup*>(actionParent->actionGroup()) ) actionParent = (ActionItem*)actionParent->parent(); } ActionItem *i = 0; if ( actionParent ) i = new ActionItem( actionParent, TRUE ); else i = new ActionItem( listActions, TRUE ); QAction *ag = i->actionGroup(); QObject::connect( ag, SIGNAL( destroyed( QObject * ) ), this, SLOT( removeConnections( QObject* ) ) ); MetaDataBase::addEntry( i->actionGroup() ); MetaDataBase::setPropertyChanged( i->actionGroup(), "usesDropDown", TRUE ); QString n = "ActionGroup"; formWindow->unify( i->action(), n, TRUE ); i->setText( 0, n ); i->actionGroup()->setName( n ); i->actionGroup()->setText( i->actionGroup()->name() ); MetaDataBase::setPropertyChanged( i->actionGroup(), "text", TRUE ); MetaDataBase::setPropertyChanged( i->actionGroup(), "name", TRUE ); listActions->setCurrentItem( i ); i->setOpen( TRUE ); if ( !actionParent ) formWindow->actionList().append( i->actionGroup() ); if ( formWindow->formFile() ) formWindow->formFile()->setModified( TRUE ); }
void ActionEditor::setFormWindow( FormWindow *fw ) { listActions->clear(); formWindow = fw; if ( !formWindow || !::qt_cast<QMainWindow*>(formWindow->mainContainer()) ) { setEnabled( FALSE ); } else { setEnabled( TRUE ); for ( QAction *a = formWindow->actionList().first(); a; a = formWindow->actionList().next() ) { ActionItem *i = 0; if ( ::qt_cast<QAction*>(a->parent()) ) continue; i = new ActionItem( listActions, a ); i->setText( 0, a->name() ); i->setPixmap( 0, a->iconSet().pixmap() ); // make sure we don't duplicate the connection QObject::disconnect( a, SIGNAL( destroyed( QObject * ) ), this, SLOT( removeConnections( QObject * ) ) ); QObject::connect( a, SIGNAL( destroyed( QObject * ) ), this, SLOT( removeConnections( QObject* ) ) ); if ( ::qt_cast<QActionGroup*>(a) ) { insertChildActions( i ); } } if ( listActions->firstChild() ) { listActions->setCurrentItem( listActions->firstChild() ); listActions->setSelected( listActions->firstChild(), TRUE ); } } }
QAction *ActionEditor::newActionEx() { ActionItem *i = new ActionItem( listActions, (bool)FALSE ); QAction *a = i->action(); QObject::connect( a, SIGNAL( destroyed( QObject * ) ), this, SLOT( removeConnections( QObject* ) ) ); MetaDataBase::addEntry( i->action() ); QString n = "Action"; formWindow->unify( i->action(), n, TRUE ); i->setText( 0, n ); i->action()->setName( n ); i->action()->setText( i->action()->name() ); MetaDataBase::setPropertyChanged( i->action(), "text", TRUE ); MetaDataBase::setPropertyChanged( i->action(), "name", TRUE ); formWindow->actionList().append( i->action() ); if ( formWindow->formFile() ) formWindow->formFile()->setModified( TRUE ); return i->action(); }