If tableMenuAboutToBeDisplayed signal will always be called from main thread (GUI) and attachVariableMenu SLOT is one of the view that works in the main thread too. It should'nt be necessary to specify Qt::DirectConnection.
@@ -182,10 +182,16 MainWindow::MainWindow(QWidget *parent) | |||||
182 | connect(timeWidget, SIGNAL(timeUpdated(SqpDateTime)), &sqpApp->timeController(), |
|
182 | connect(timeWidget, SIGNAL(timeUpdated(SqpDateTime)), &sqpApp->timeController(), | |
183 | SLOT(onTimeToUpdate(SqpDateTime))); |
|
183 | SLOT(onTimeToUpdate(SqpDateTime))); | |
184 |
|
184 | |||
185 | // Variable |
|
185 | // Widgets / widgets connections | |
186 | qRegisterMetaType<std::shared_ptr<Variable> >(); |
|
186 | qRegisterMetaType<std::shared_ptr<Variable> >(); | |
187 | connect(&sqpApp->visualizationController(), SIGNAL(variableCreated(std::shared_ptr<Variable>)), |
|
187 | ||
188 | m_Ui->view, SLOT(displayVariable(std::shared_ptr<Variable>))); |
|
188 | // For the following connections, we use DirectConnection to allow each widget that can | |
|
189 | // potentially attach a menu to the variable's menu to do so before this menu is displayed. | |||
|
190 | // The order of connections is also important, since it determines the order in which each | |||
|
191 | // widget will attach its menu | |||
|
192 | connect(m_Ui->variableInspectorWidget, | |||
|
193 | SIGNAL(tableMenuAboutToBeDisplayed(QMenu *, std::shared_ptr<Variable>)), m_Ui->view, | |||
|
194 |
SLOT(attachVariableMenu(QMenu *, std::shared_ptr<Variable>)), Qt::DirectConnection);
|
|||
189 |
|
195 | |||
190 | /* QLopGUI::registerMenuBar(menuBar()); |
|
196 | /* QLopGUI::registerMenuBar(menuBar()); | |
191 | this->setWindowIcon(QIcon(":/sciqlopLOGO.svg")); |
|
197 | this->setWindowIcon(QIcon(":/sciqlopLOGO.svg")); |
General Comments 0
You need to be logged in to leave comments.
Login now