'Insert item'

@Slot()
def insert_item(self):

    index = self.currentIndex()
    if (not index.isValid()):
        row = self.model.rowCount()
    else:
        row = index.row()
    data = self.model.get_data()
    if isinstance(data, list):
        key = row
        data.insert(row, '')
    elif isinstance(data, dict):
        (key, valid) = QInputDialog.getText(self, _('Insert'), _('Key:'), QLineEdit.Normal)
        if (valid and to_text_string(key)):
            key = try_to_eval(to_text_string(key))
        else:
            return
    else:
        return
    (value, valid) = QInputDialog.getText(self, _('Insert'), _('Value:'), QLineEdit.Normal)
    if (valid and to_text_string(value)):
        self.new_value(key, try_to_eval(to_text_string(value)))
