void SubmitEditorWidget::registerActions(QAction *editorUndoAction, QAction *editorRedoAction, QAction *submitAction, QAction *diffAction) { if (editorUndoAction) { editorUndoAction->setEnabled(d->m_ui.description->document()->isUndoAvailable()); connect(d->m_ui.description, SIGNAL(undoAvailable(bool)), editorUndoAction, SLOT(setEnabled(bool))); connect(editorUndoAction, SIGNAL(triggered()), d->m_ui.description, SLOT(undo())); } if (editorRedoAction) { editorRedoAction->setEnabled(d->m_ui.description->document()->isRedoAvailable()); connect(d->m_ui.description, SIGNAL(redoAvailable(bool)), editorRedoAction, SLOT(setEnabled(bool))); connect(editorRedoAction, SIGNAL(triggered()), d->m_ui.description, SLOT(redo())); } if (submitAction) { if (debug) { int count = 0; if (const QAbstractItemModel *model = d->m_ui.fileView->model()) count = model->rowCount(); qDebug() << Q_FUNC_INFO << submitAction << count << "items"; } d->m_commitEnabled = !canSubmit(); connect(this, SIGNAL(submitActionEnabledChanged(bool)), submitAction, SLOT(setEnabled(bool))); // Wire setText via QActionSetTextSlotHelper. QActionSetTextSlotHelper *actionSlotHelper = submitAction->findChild<QActionSetTextSlotHelper *>(); if (!actionSlotHelper) actionSlotHelper = new QActionSetTextSlotHelper(submitAction); connect(this, SIGNAL(submitActionTextChanged(QString)), actionSlotHelper, SLOT(setText(QString))); d->m_ui.buttonLayout->addWidget(new QActionPushButton(submitAction)); if (!d->m_submitShortcut) d->m_submitShortcut = new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_Return), this); connect(d->m_submitShortcut, SIGNAL(activated()), submitAction, SLOT(trigger())); } if (diffAction) { if (debug) qDebug() << diffAction << d->m_filesSelected; diffAction->setEnabled(d->m_filesSelected); connect(this, SIGNAL(fileSelectionChanged(bool)), diffAction, SLOT(setEnabled(bool))); connect(diffAction, SIGNAL(triggered()), this, SLOT(triggerDiffSelected())); d->m_ui.buttonLayout->addWidget(new QActionPushButton(diffAction)); } }
void SubmitEditorWidget::unregisterActions(QAction *editorUndoAction, QAction *editorRedoAction, QAction *submitAction, QAction *diffAction) { if (editorUndoAction) { disconnect(m_d->m_ui.description, SIGNAL(undoAvailableChanged(bool)), editorUndoAction, SLOT(setEnabled(bool))); disconnect(editorUndoAction, SIGNAL(triggered()), m_d->m_ui.description, SLOT(undo())); } if (editorRedoAction) { disconnect(m_d->m_ui.description, SIGNAL(redoAvailableChanged(bool)), editorRedoAction, SLOT(setEnabled(bool))); disconnect(editorRedoAction, SIGNAL(triggered()), m_d->m_ui.description, SLOT(redo())); } if (submitAction) { disconnect(this, SIGNAL(fileCheckStateChanged(bool)), submitAction, SLOT(setEnabled(bool))); } if (diffAction) { disconnect(this, SIGNAL(fileSelectionChanged(bool)), diffAction, SLOT(setEnabled(bool))); disconnect(diffAction, SIGNAL(triggered()), this, SLOT(triggerDiffSelected())); } }
void SubmitEditorWidget::unregisterActions(QAction *editorUndoAction, QAction *editorRedoAction, QAction *submitAction, QAction *diffAction) { if (editorUndoAction) { disconnect(m_d->m_ui.description, SIGNAL(undoAvailableChanged(bool)), editorUndoAction, SLOT(setEnabled(bool))); disconnect(editorUndoAction, SIGNAL(triggered()), m_d->m_ui.description, SLOT(undo())); } if (editorRedoAction) { disconnect(m_d->m_ui.description, SIGNAL(redoAvailableChanged(bool)), editorRedoAction, SLOT(setEnabled(bool))); disconnect(editorRedoAction, SIGNAL(triggered()), m_d->m_ui.description, SLOT(redo())); } if (submitAction) { disconnect(this, SIGNAL(submitActionEnabledChanged(bool)), submitAction, SLOT(setEnabled(bool))); // Just deactivate the QActionSetTextSlotHelper on the action disconnect(this, SIGNAL(submitActionTextChanged(QString)), 0, 0); } if (diffAction) { disconnect(this, SIGNAL(fileSelectionChanged(bool)), diffAction, SLOT(setEnabled(bool))); disconnect(diffAction, SIGNAL(triggered()), this, SLOT(triggerDiffSelected())); } }
void SubmitEditorWidget::registerActions(QAction *editorUndoAction, QAction *editorRedoAction, QAction *submitAction, QAction *diffAction) { if (editorUndoAction) { editorUndoAction->setEnabled(m_d->m_ui.description->document()->isUndoAvailable()); connect(m_d->m_ui.description, SIGNAL(undoAvailable(bool)), editorUndoAction, SLOT(setEnabled(bool))); connect(editorUndoAction, SIGNAL(triggered()), m_d->m_ui.description, SLOT(undo())); } if (editorRedoAction) { editorRedoAction->setEnabled(m_d->m_ui.description->document()->isRedoAvailable()); connect(m_d->m_ui.description, SIGNAL(redoAvailable(bool)), editorRedoAction, SLOT(setEnabled(bool))); connect(editorRedoAction, SIGNAL(triggered()), m_d->m_ui.description, SLOT(redo())); } if (submitAction) { if (debug) { int count = 0; if (const QAbstractItemModel * model = m_d->m_ui.fileView->model()) { count = model->rowCount(); } qDebug() << Q_FUNC_INFO << submitAction << count << "items" << m_d->m_filesChecked; } submitAction->setEnabled(m_d->m_filesChecked); connect(this, SIGNAL(fileCheckStateChanged(bool)), submitAction, SLOT(setEnabled(bool))); m_d->m_ui.buttonLayout->addWidget(new QActionPushButton(submitAction)); } if (diffAction) { if (debug) { qDebug() << diffAction << m_d->m_filesSelected; } diffAction->setEnabled(m_d->m_filesSelected); connect(this, SIGNAL(fileSelectionChanged(bool)), diffAction, SLOT(setEnabled(bool))); connect(diffAction, SIGNAL(triggered()), this, SLOT(triggerDiffSelected())); m_d->m_ui.buttonLayout->addWidget(new QActionPushButton(diffAction)); } }