Add a call to checkAllowClose slot (if it exists) when closing windows

This commit is contained in:
baldurk
2016-11-14 13:46:38 +01:00
parent 54bc2c67ca
commit e65ca2937a
@@ -30,6 +30,7 @@
#include <QEvent>
#include <QApplication>
#include <QDrag>
#include <QMetaMethod>
#include <QMimeData>
#include <QMouseEvent>
#include <QPainter>
@@ -792,6 +793,16 @@ void ToolWindowManager::tabCloseRequested(int index) {
return;
}
int methodIndex = toolWindow->metaObject()->indexOfMethod(QMetaObject::normalizedSignature("checkAllowClose()"));
if(methodIndex >= 0) {
bool ret = true;
toolWindow->metaObject()->method(methodIndex).invoke(toolWindow, Qt::DirectConnection, Q_RETURN_ARG(bool, ret));
if(!ret)
return;
}
if(toolWindowProperties(toolWindow) & ToolWindowManager::HideOnClose)
hideToolWindow(toolWindow);
else