'Save data'

@Slot()
def save_data(self, filename=None):

    if (filename is None):
        filename = self.filename
        if (filename is None):
            filename = getcwd()
        (filename, _selfilter) = getsavefilename(self, _('Save    data'), filename, iofunctions.save_filters)
        if filename:
            self.filename = filename
        else:
            return False
    QApplication.setOverrideCursor(QCursor(Qt.WaitCursor))
    QApplication.processEvents()
    error_message = self.shellwidget.save_namespace(self.filename)
    self.shellwidget._kernel_reply = None
    QApplication.restoreOverrideCursor()
    QApplication.processEvents()
    if (error_message is not None):
        QMessageBox.critical(self, _('Save    data'), (_('<b>Unable    to    save    current    workspace</b><br><br>Error    message:<br>%s') % error_message))
    self.save_button.setEnabled((self.filename is not None))
