// Обычное добавление записи в конец списка a = new QAction(tr("Add new"), this); connect(a, SIGNAL(triggered()), this,SLOT(recordview_add_new_context(ADD_NEW_RECORD_TO_END))); menu.addAction(a); // Добавление записи до a = new QAction(tr("Add new before"), this); if((!recordview->selectionModel()->hasSelection()) || (recordview->selectionModel()->selectedRows()).size()!=1 ) a->setEnabled(false); // Пункт активен только если выбрана одна строка списка connect(a, SIGNAL(triggered()), this,SLOT(recordview_add_new_context(ADD_NEW_RECORD_BEFORE))); menu.addAction(a);
QMenu *menu = new QMenu(this);QAction *add = menu->addAction(tr("Add new"));QAction *addBefor = menu->addAction(tr("Add new before"));connect(menu , SIGNAL(triggered(QAction *)), this,SLOT(callAction(QAction *)));
QAction* action = qobject_cast<QAction*>(sender());if(action) (void)action->data();