From a2ce73aec07473b53159a5a87dfdea79944afacc Mon Sep 17 00:00:00 2001 From: Giuseppe Sucameli Date: Tue, 25 Aug 2015 00:42:48 +0200 Subject: [PATCH] [DBManager] retrieve and store columns not null value when editing table (fix #13089) --- python/plugins/db_manager/db_plugins/data_model.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/python/plugins/db_manager/db_plugins/data_model.py b/python/plugins/db_manager/db_plugins/data_model.py index 06be1e431b5..3a3fe58e7b6 100644 --- a/python/plugins/db_manager/db_plugins/data_model.py +++ b/python/plugins/db_manager/db_plugins/data_model.py @@ -211,9 +211,8 @@ class TableFieldsModel(SimpleTableModel): def flags(self, index): flags = SimpleTableModel.flags(self, index) - if index.column() == 2: # set Null column as checkable - flags &= ~Qt.ItemIsEditable - flags |= Qt.ItemIsUserCheckable + if index.column() == 2 and flags & Qt.ItemIsEditable: # set Null column as checkable instead of editable + flags = flags & ~Qt.ItemIsEditable | Qt.ItemIsUserCheckable return flags def append(self, fld): @@ -222,6 +221,8 @@ class TableFieldsModel(SimpleTableModel): row = self.rowCount() - 1 self.setData(self.index(row, 0), fld, Qt.UserRole) self.setData(self.index(row, 1), fld.primaryKey, Qt.UserRole) + self.setData(self.index(row, 2), None, Qt.DisplayRole) + self.setData(self.index(row, 2), Qt.Unchecked if fld.notNull else Qt.Checked, Qt.CheckStateRole) def _getNewObject(self): from .plugin import TableField