'Save layout dialog'

def quick_layout_save(self):

    get = CONF.get
    set_ = CONF.set
    names = get('quick_layouts', 'names')
    order = get('quick_layouts', 'order')
    active = get('quick_layouts', 'active')
    dlg = self.dialog_layout_save(self, names)
    if dlg.exec_():
        name = dlg.combo_box.currentText()
        if (name in names):
            answer = QMessageBox.warning(self, _('Warning'), (_('Layout    <b>%s</b>    will    be                                                                                                                                                                                                overwritten.    Do    you    want    to                                                                                                                                                                                                continue?') % name), (QMessageBox.Yes | QMessageBox.No))
            index = order.index(name)
        else:
            answer = True
            if (None in names):
                index = names.index(None)
                names[index] = name
            else:
                index = len(names)
                names.append(name)
            order.append(name)
        if (name not in active):
            active.append(name)
        if answer:
            self.save_current_window_settings('layout_{}/'.format(index), section='quick_layouts')
            set_('quick_layouts', 'names', names)
            set_('quick_layouts', 'order', order)
            set_('quick_layouts', 'active', active)
            self.quick_layout_set_menu()
