From de6c361991922461a6acb1d7b5fe712251f2f7f5 Mon Sep 17 00:00:00 2001 From: Kevin Whitaker Date: Wed, 26 Sep 2018 11:20:12 -0400 Subject: [PATCH] Force model load on start. Make sure loading can handle no data existing. --- OTPListModel.py | 12 ++++++++---- app.py | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/OTPListModel.py b/OTPListModel.py index fc999b3..7d3579b 100644 --- a/OTPListModel.py +++ b/OTPListModel.py @@ -94,12 +94,16 @@ class OPTListModel(QtCore.QAbstractListModel): self._items = list def load(self): - jsonDict = json.loads(keyring.get_password(SERVICE,"__config")) + config = keyring.get_password(SERVICE,"__config") + if(config == None): + return + jsonDict = json.loads(config) size = len(self._items) self._items = [] - for item in jsonDict: - self._items.append(OTPModel(item["name"],item["OTPType"],keyring.get_password(SERVICE,item["name"]),item["icon"],item["timeout"],item["algo"])) - self.dataChanged.emit(self.index(0,0),self.index(size-1,0)) + if(jsonDict != None): + for item in jsonDict: + self._items.append(OTPModel(item["name"],item["OTPType"],keyring.get_password(SERVICE,item["name"]),item["icon"],item["timeout"],item["algo"])) + self.dataChanged.emit(self.index(0,0),self.index(size-1,0)) def save(self): dict=[] diff --git a/app.py b/app.py index d21c52a..5d53e0b 100644 --- a/app.py +++ b/app.py @@ -5,7 +5,7 @@ import OTPListModel qapp = QApplication() app = QQmlApplicationEngine() model = OTPListModel.OPTListModel() - +model.load() app.rootContext().setContextProperty("otpListModel", model) app.load("qml/main.qml") qapp.exec_() -- GitLab