示例#1
0
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();
}
示例#2
0
文件: script.cpp 项目: Nvveen/sproxel
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";
}