void MainWindow::closeEvent(QCloseEvent* event) { // Confirmation dialog if (!m_undoManager.isClean()) { switch (fileModifiedDialog()) { case QMessageBox::Save: saveFile(); event->accept(); break; case QMessageBox::Discard: event->accept(); break; case QMessageBox::Cancel: event->ignore(); break; default: event->ignore(); break; } } else { event->accept(); } m_glModelWidget->saveSettings(); // Save some window settings on exit (if requested) if (m_appSettings.value("saveUILayout", true).toBool()) { m_appSettings.setValue("MainWindow/size", size()); m_appSettings.setValue("MainWindow/position", pos()); m_appSettings.setValue("MainWindow/windowState", (int)windowState()); m_appSettings.setValue("MainWindow/widgetsState", saveState()); m_appSettings.setValue("toolbar/visibility", m_toolbar->isVisible()); m_appSettings.setValue("paletteWindow/visibility", m_paletteDocker->isVisible()); m_appSettings.setValue("projectWindow/visibility", m_projectDocker->isVisible()); //m_appSettings.setValue("layersWindow/visibility", m_layersDocker->isVisible()); } if (event->isAccepted()) close_python_console(); }
void close_script() { close_python_console(); Py_XDECREF(py_unregister_plugins); py_unregister_plugins=NULL; Py_XDECREF(py_register_plugins); py_register_plugins=NULL; Py_XDECREF(py_scan_plugins); py_scan_plugins=NULL; Py_XDECREF(py_init_plugin_pathes); py_init_plugin_pathes=NULL; Py_XDECREF(py_save_project); py_save_project=NULL; Py_XDECREF(py_load_project); py_load_project=NULL; qDebug() << "fin py..."; Py_Finalize(); qDebug() << "fin py ok"; }