void ActionEditor::deleteAction() { if ( !currentAction ) return; QListViewItemIterator it( listActions ); ActionItem *ai = 0; while ( it.current() ) { ai = (ActionItem*)it.current(); if ( ai->action() == currentAction || ai->actionGroup() == currentAction ) { emit removing( currentAction ); formWindow->actionList().removeRef( currentAction ); delete currentAction; currentAction = 0; delete it.current(); break; } ++it; } if ( formWindow ) { formWindow->setActiveObject( formWindow->mainContainer() ); 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 ); } } }
bb::cascades::VisualNode* NSRLastDocItemFactory::createItem (bb::cascades::ListView* list, const QString& type) { Q_UNUSED (type); NSRLastDocsListView *listView = static_cast<NSRLastDocsListView *> (list); NSRLastDocItem *item = new NSRLastDocItem (); NSRTranslator *translator = item->getTranslator (); ActionSet *actionSet = ActionSet::create (); ActionItem *shareAction = ActionItem::create().title (trUtf8 ("Share")); ActionItem *hideAction = ActionItem::create().title (trUtf8 ("Clear Recent", "Clear recent files")); DeleteActionItem *removeAction = DeleteActionItem::create (); shareAction->setImageSource (QUrl ("asset:///share.png")); hideAction->setImageSource (QUrl ("asset:///list-remove.png")); #if BBNDK_VERSION_AT_LEAST(10,2,0) shareAction->accessibility()->setName (trUtf8 ("Share file with others")); hideAction->accessibility()->setName (trUtf8 ("Remove file from the recent list only")); translator->addTranslatable ((UIObject *) shareAction->accessibility (), NSRTranslator::NSR_TRANSLATOR_TYPE_A11Y, QString ("NSRLastDocItemFactory"), QString ("Share file with others")); translator->addTranslatable ((UIObject *) hideAction->accessibility (), NSRTranslator::NSR_TRANSLATOR_TYPE_A11Y, QString ("NSRLastDocItemFactory"), QString ("Remove file from the recent list only")); #endif bool ok = connect (shareAction, SIGNAL (triggered ()), listView, SLOT (onShareActionTriggered ())); Q_UNUSED (ok); Q_ASSERT (ok); ok = connect (removeAction, SIGNAL (triggered ()), listView, SLOT (onRemoveActionTriggered ())); Q_ASSERT (ok); ok = connect (hideAction, SIGNAL (triggered ()), listView, SLOT (onHideActionTriggered ())); Q_ASSERT (ok); actionSet->add (shareAction); actionSet->add (hideAction); actionSet->add (removeAction); item->addActionSet (actionSet); translator->addTranslatable ((UIObject *) shareAction, NSRTranslator::NSR_TRANSLATOR_TYPE_ACTION, QString ("NSRLastDocItemFactory"), QString ("Share")); translator->addTranslatable ((UIObject *) hideAction, NSRTranslator::NSR_TRANSLATOR_TYPE_ACTION, QString ("NSRLastDocItemFactory"), QString ("Clear Recent")); return item; }
QDragObject *ActionListView::dragObject() { ActionItem *i = (ActionItem*)currentItem(); if ( !i ) return 0; QStoredDrag *drag = 0; if ( i->action() ) { drag = new ActionDrag( i->action(), viewport() ); drag->setPixmap( i->action()->iconSet().pixmap() ); } else { drag = new ActionDrag( i->actionGroup(), viewport() ); drag->setPixmap( i->actionGroup()->iconSet().pixmap() ); } return drag; }
QDragObject *ActionListView::dragObject() { ActionItem *i = (ActionItem*)currentItem(); if ( !i ) return 0; QStoredDrag *drag = 0; if ( i->action() ) { drag = new QStoredDrag( "application/x-designer-actions", viewport() ); QString s = QString::number( (long)i->action() ); // #### huha, that is evil drag->setEncodedData( QCString( s.latin1() ) ); drag->setPixmap( i->action()->iconSet().pixmap() ); } else { drag = new QStoredDrag( "application/x-designer-actiongroup", viewport() ); QString s = QString::number( (long)i->actionGroup() ); // #### huha, that is evil drag->setEncodedData( QCString( s.latin1() ) ); drag->setPixmap( i->actionGroup()->iconSet().pixmap() ); } return drag; }
/** * @todo Figure out the way to minimize code duplication */ bool ActionLog::LookupActionsForFile( const function<void(const Name& name, sqlite3_int64 seq_no, const ActionItem&)>& visitor, const std::string& file, int offset /*=0*/, int limit /*=-1*/) { _LOG_DEBUG("LookupActionsInFolderRecursively: [" << file << "]"); if (file.empty()) return false; if (limit >= 0) limit += 1; // to check if there is more data sqlite3_stmt* stmt; sqlite3_prepare_v2(m_db, "SELECT device_name,seq_no,action,filename,directory,version,strftime('%s', action_timestamp), " " file_hash,strftime('%s', file_mtime),file_chmod,file_seg_num, " " parent_device_name,parent_seq_no " " FROM ActionLog " " WHERE filename=? " " ORDER BY action_timestamp DESC " " LIMIT ? OFFSET ?", -1, &stmt, 0); // there is a small ambiguity with is_prefix matching, but should be ok for now _LOG_DEBUG_COND(sqlite3_errcode(m_db) != SQLITE_OK, sqlite3_errmsg(m_db)); sqlite3_bind_text(stmt, 1, file.c_str(), file.size(), SQLITE_STATIC); _LOG_DEBUG_COND(sqlite3_errcode(m_db) != SQLITE_OK, sqlite3_errmsg(m_db)); sqlite3_bind_int(stmt, 2, limit); sqlite3_bind_int(stmt, 3, offset); _LOG_DEBUG_COND(sqlite3_errcode(m_db) != SQLITE_OK, sqlite3_errmsg(m_db)); while (sqlite3_step(stmt) == SQLITE_ROW) { if (limit == 1) break; ActionItem action; Name device_name(Block(reinterpret_cast<const uint8_t*>(sqlite3_column_blob(stmt, 0)), sqlite3_column_bytes(stmt, 0))); sqlite3_int64 seq_no = sqlite3_column_int64(stmt, 1); action.set_action(static_cast<ActionItem_ActionType>(sqlite3_column_int(stmt, 2))); action.set_filename(reinterpret_cast<const char*>(sqlite3_column_text(stmt, 3)), sqlite3_column_bytes(stmt, 3)); std::string directory(reinterpret_cast<const char*>(sqlite3_column_text(stmt, 4)), sqlite3_column_bytes(stmt, 4)); action.set_version(sqlite3_column_int64(stmt, 5)); action.set_timestamp(sqlite3_column_int64(stmt, 6)); if (action.action() == 0) { action.set_file_hash(sqlite3_column_blob(stmt, 7), sqlite3_column_bytes(stmt, 7)); action.set_mtime(sqlite3_column_int(stmt, 8)); action.set_mode(sqlite3_column_int(stmt, 9)); action.set_seg_num(sqlite3_column_int64(stmt, 10)); } if (sqlite3_column_bytes(stmt, 11) > 0) { action.set_parent_device_name(sqlite3_column_blob(stmt, 11), sqlite3_column_bytes(stmt, 11)); action.set_parent_seq_no(sqlite3_column_int64(stmt, 12)); } visitor(device_name, seq_no, action); limit--; } _LOG_DEBUG_COND(sqlite3_errcode(m_db) != SQLITE_DONE, sqlite3_errmsg(m_db)); sqlite3_finalize(stmt); return (limit == 1); // more data is available }
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 ); }
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(); }
ActionTable* GetEditPolyActions() { TSTR name = GetString (IDS_EDITPOLY_EDIT_POLY); HACCEL hAccel = LoadAccelerators (hInstance, MAKEINTRESOURCE (IDR_ACCEL_EPOLY)); ActionTable* pTab = NULL; pTab = new ActionTable (kEditPolyActionID, kEditPolyActionID, name, hAccel, kNumEPolyActions, epolyActions, hInstance); GetCOREInterface()->GetActionManager()->RegisterActionContext (kEditPolyActionID, name.data()); IActionItemOverrideManager *actionOverrideMan = static_cast<IActionItemOverrideManager*>(GetCOREInterface(IACTIONITEMOVERRIDEMANAGER_INTERFACE )); if(actionOverrideMan) { //register the action items TSTR desc; ActionItem *item = pTab->GetAction(ID_EP_SEL_LEV_OBJ); if(item) { item->GetDescriptionText(desc); actionOverrideMan->RegisterActionItemOverride(item,desc); } /* Kelcey said don't do these guys only the object.. leave in case she changes her mind.. item = pTab->GetAction(ID_EP_SEL_LEV_VERTEX); if(item) { item->GetDescriptionText(desc); actionOverrideMan->RegisterActionItemOverride(item,desc); } item = pTab->GetAction(ID_EP_SEL_LEV_EDGE); if(item) { item->GetDescriptionText(desc); actionOverrideMan->RegisterActionItemOverride(item,desc); } item = pTab->GetAction(ID_EP_SEL_LEV_BORDER); if(item) { item->GetDescriptionText(desc); actionOverrideMan->RegisterActionItemOverride(item,desc); } item = pTab->GetAction(ID_EP_SEL_LEV_FACE); if(item) { item->GetDescriptionText(desc); actionOverrideMan->RegisterActionItemOverride(item,desc); } item = pTab->GetAction(ID_EP_SEL_LEV_ELEMENT); if(item) { item->GetDescriptionText(desc); actionOverrideMan->RegisterActionItemOverride(item,desc); } */ //command overrides item = pTab->GetAction(ID_EP_EDIT_CUT); if(item) { item->GetDescriptionText(desc); actionOverrideMan->RegisterActionItemOverride(item,desc); } //new edit soft selection mode item = pTab->GetAction(ID_EP_EDIT_SS); if(item) { item->GetDescriptionText(desc); actionOverrideMan->RegisterActionItemOverride(item,desc); } item = pTab->GetAction(ID_EP_EDIT_QUICKSLICE); if(item) { item->GetDescriptionText(desc); actionOverrideMan->RegisterActionItemOverride(item,desc); } /* item = pTab->GetAction(ID_EP_EDIT_SLICEPLANE); if(item) { item->GetDescriptionText(desc); actionOverrideMan->RegisterActionItemOverride(item,desc); } */ //face command mdoes item = pTab->GetAction(ID_EP_SUB_BEVEL); if(item) { item->GetDescriptionText(desc); actionOverrideMan->RegisterActionItemOverride(item,desc); } item = pTab->GetAction(ID_EP_SUB_OUTLINE); if(item) { item->GetDescriptionText(desc); actionOverrideMan->RegisterActionItemOverride(item,desc); } item = pTab->GetAction(ID_EP_SUB_INSET); if(item) { item->GetDescriptionText(desc); actionOverrideMan->RegisterActionItemOverride(item,desc); } item = pTab->GetAction(ID_EP_SUB_HINGE); if(item) { item->GetDescriptionText(desc); actionOverrideMan->RegisterActionItemOverride(item,desc); } //less than edge item = pTab->GetAction(ID_EP_SUB_WELD); if(item) { item->GetDescriptionText(desc); actionOverrideMan->RegisterActionItemOverride(item,desc); } //greater edge item = pTab->GetAction(ID_EP_TURN); if(item) { item->GetDescriptionText(desc); actionOverrideMan->RegisterActionItemOverride(item,desc); } item = pTab->GetAction(ID_EP_SURF_EDITTRI); if(item) { item->GetDescriptionText(desc); actionOverrideMan->RegisterActionItemOverride(item,desc); } //chamfer item = pTab->GetAction(ID_EP_SUB_CHAMFER); if(item) { item->GetDescriptionText(desc); actionOverrideMan->RegisterActionItemOverride(item,desc); } //create item = pTab->GetAction(ID_EP_EDIT_CREATE); if(item) { item->GetDescriptionText(desc); actionOverrideMan->RegisterActionItemOverride(item,desc); } //insert item = pTab->GetAction(ID_EP_SUB_INSERTVERT); if(item) { item->GetDescriptionText(desc); actionOverrideMan->RegisterActionItemOverride(item,desc); } //bridge item = pTab->GetAction(ID_EP_SUB_BRIDGE); if(item) { item->GetDescriptionText(desc); actionOverrideMan->RegisterActionItemOverride(item,desc); } //extrude item = pTab->GetAction(ID_EP_SUB_EXTRUDE); if(item) { item->GetDescriptionText(desc); actionOverrideMan->RegisterActionItemOverride(item,desc); } //none constrain item = pTab->GetAction(ID_EP_NONE_CONSTRAINT); if(item) { item->GetDescriptionText(desc); actionOverrideMan->RegisterActionItemOverride(item,desc); } //normal constrain item = pTab->GetAction(ID_EP_NORMAL_CONSTRAINT); if(item) { item->GetDescriptionText(desc); actionOverrideMan->RegisterActionItemOverride(item,desc); } //edge constrain item = pTab->GetAction(ID_EP_EDGE_CONSTRAINT); if(item) { item->GetDescriptionText(desc); actionOverrideMan->RegisterActionItemOverride(item,desc); } //face constrain item = pTab->GetAction(ID_EP_FACE_CONSTRAINT); if(item) { item->GetDescriptionText(desc); actionOverrideMan->RegisterActionItemOverride(item,desc); } //paint item = pTab->GetAction(ID_EP_SS_PAINT); if(item) { item->GetDescriptionText(desc); actionOverrideMan->RegisterActionItemOverride(item,desc); } //paint push/pull item = pTab->GetAction(ID_EP_SS_PAINTPUSHPULL); if(item) { item->GetDescriptionText(desc); actionOverrideMan->RegisterActionItemOverride(item,desc); } //paint relax item = pTab->GetAction(ID_EP_SS_PAINTRELAX); if(item) { item->GetDescriptionText(desc); actionOverrideMan->RegisterActionItemOverride(item,desc); } } return pTab; }