DialogShowRecords::DialogShowRecords(QWidget *parent) : QDialog(parent), ui(new Ui::DialogShowRecords) { ui->setupUi(this); ui->dateTimeEdit_to->setDateTime(QDateTime::currentDateTime()); dbl = new KjoMsgDbLayer(); _editDialog = new DialogEditWhere(); // создание меню _menu = new Menu4conditions(); // связь сигнала смены вкладки и слота изменения активности кнопки connect(ui->tabWidget_query_type, SIGNAL(currentChanged(int)), this, SLOT(enableDisableExecButton(int))); // связь пунктов меню с их обработчиками connect(_menu->get_editAct(), SIGNAL(triggered()), this, SLOT(editCondition())); connect(_menu->get_deleteAct(), SIGNAL(triggered()), this, SLOT(deleteCondition())); // связь со окном редактирования условия для отправки условия для изменения connect(this, SIGNAL(editDatCondition(KjoMsgFilter*)), _editDialog, SLOT(receiveCondition(KjoMsgFilter*))); // связь со окном редактирования условия для получения изменённого условия connect(_editDialog, SIGNAL(conditionChanged(KjoMsgFilter*)), this, SLOT(gotChangedCondition(KjoMsgFilter*))); }
void ProcessView::contextMenuEvent( QContextMenuEvent* event ) { Q_UNUSED(event); const QModelIndex idx(this->selectionModel()->currentIndex()); QMenu menu; if (this->isProcessItem(idx)) { QAction* saveCondAction = menu.addAction("Save FEM Conditions..."); QAction* removePCSAction = menu.addAction("Remove process"); connect(saveCondAction, SIGNAL(triggered()), this, SLOT(saveConditions())); connect(removePCSAction, SIGNAL(triggered()), this, SLOT(removeProcess())); } else if (this->isListItem(idx)) { QAction* removeCondAction = menu.addAction("Remove conditions"); connect(removeCondAction, SIGNAL(triggered()), this, SLOT(removeCondition())); } else if (this->isConditionItem(idx)) { QAction* editCondAction = menu.addAction("Edit condition"); connect(editCondAction, SIGNAL(triggered()), this, SLOT(editCondition())); } menu.exec(event->globalPos()); }