X-Git-Url: https://harishankar.org/repos/?p=biaweb_qt.git;a=blobdiff_plain;f=templates_dialog.py;h=20f2e18e76b88d7a4a8021aa31f0392a2310f7ba;hp=efd5bd72e0688b1b989542f8e287b1b0063ee590;hb=3ded989fee52f6804d0f8b5b5c0847a9030c7f04;hpb=b517d55320f54925d862aca9dedb363b6d3b156d diff --git a/templates_dialog.py b/templates_dialog.py index efd5bd7..20f2e18 100644 --- a/templates_dialog.py +++ b/templates_dialog.py @@ -16,15 +16,23 @@ class TemplatesDialog (PyQt4.QtGui.QDialog, ui_templates_dialog.Ui_TemplatesDial # populate the templates tpls = biaweb_db.get_templates (self.current_db) - for tpl_name, tpl_content in tpls: - self.templates.addItem (str (tpl_name)) + # if templates populated + if tpls: + for tpl_name, tpl_content in tpls: + self.templates.addItem (str (tpl_name)) + else: + PyQt4.QtGui.QMessageBox.critical (self, "Error", "SQLite 3 error in retrieving templates") def onEdit (self): # get the currently selected list item - tpl_name = self.templates.currentItem ().data (0).toString () + sel_item = self.templates.currentItem () + # if no item is selected return + if sel_item is None: + return + tpl_name = str (sel_item.data (0).toString ()) # get the template content from the database - tpl_str = biaweb_db.get_template_text (self.current_db, str (tpl_name)) + tpl_str = biaweb_db.get_template_text (self.current_db, tpl_name) # if template string cannot be obtained for some reason if tpl_str == False: @@ -32,4 +40,13 @@ class TemplatesDialog (PyQt4.QtGui.QDialog, ui_templates_dialog.Ui_TemplatesDial else: # open edit dialog with title "template name" and text as the template string edlg = editor_dialog.EditorDialog (self, tpl_name, tpl_str) - edlg.exec_ () + # if editing is confirmed + if edlg.exec_ () == PyQt4.QtGui.QDialog.Accepted: + upd_tpl_str = str (edlg.text.toPlainText ()).strip () + + # update the template with the new template string + ret = biaweb_db.update_template (self.current_db, tpl_name, upd_tpl_str) + # if update failed + if ret == False: + PyQt4.QtGui.QMessageBox.critical (self, "Error", "SQLite 3 error in updating template") +