X-Git-Url: https://harishankar.org/repos/?p=biaweb_qt.git;a=blobdiff_plain;f=main_window.py;fp=main_window.py;h=b6cb96d3f5fc902674dd119b2ede8e2fa1d1bfe7;hp=5902fbccbc3a362a29036331131c68ca4c4ecb72;hb=7db1961b4f7513f9ad5b6b357a655e16903e7f83;hpb=ef16f33c036bee31ba27eb3bb6ec9486fcb23544 diff --git a/main_window.py b/main_window.py index 5902fbc..b6cb96d 100644 --- a/main_window.py +++ b/main_window.py @@ -14,6 +14,30 @@ class MainWindow (PyQt4.QtGui.QMainWindow, ui_main_window.Ui_MainWindow): self.setupUi (self) self.current_db = None + # refresh the category list + def repopulate_categories (self): + recs = biaweb_db.get_categories (self.current_db) + if recs == False: + PyQt4.QtGui.QMessageBox.critical (self, "Error", "SQLite 3 error in getting the categories") + return + + self.categories.clear () + for (id, name, desc, stub) in recs: + qrow = PyQt4.QtGui.QTreeWidgetItem ([str(id), str(name)]) + self.categories.addTopLevelItem (qrow) + + # refresh the articles list + def repopulate_articles (self, catid=None): + recs = biaweb_db.get_articles (self.current_db, catid) + if recs == False: + PyQt4.QtGui.QMessageBox.critical (self, "Error", "SQLite 3 error in getting the articles") + return + + self.articles.clear () + for item in recs: + qrow = PyQt4.QtGui.QTreeWidgetItem ([str(item[0]), str(item[1])]) + self.articles.addTopLevelItem (qrow) + # category add action def onCategoryAdd (self): # if there is no database @@ -31,9 +55,20 @@ class MainWindow (PyQt4.QtGui.QMainWindow, ui_main_window.Ui_MainWindow): ret = biaweb_db.create_category (self.current_db, cat_name, cat_desc, cat_stub) if ret == True: PyQt4.QtGui.QMessageBox.information (self, "Success", "Category successfully created") + self.repopulate_categories () + self.repopulate_articles () else: PyQt4.QtGui.QMessageBox.critical (self, "Error", "SQLite 3 error in creating category") + # file open menu is clicked + def onFileOpen (self): + filename = PyQt4.QtGui.QFileDialog.getOpenFileName (self, "Open Site Database") + if filename: + self.current_db = str (filename) + self.setWindowTitle ("BiaWeb - " + self.current_db) + self.repopulate_categories () + self.repopulate_articles () + # file new menu is clicked def onFileNew (self): # show the site configuration dialog to get the new site details @@ -58,6 +93,8 @@ class MainWindow (PyQt4.QtGui.QMainWindow, ui_main_window.Ui_MainWindow): if flag == True: PyQt4.QtGui.QMessageBox.information (self, "Success", "New site db successfully created") + self.articles.clear () + self.categories.clear () else: PyQt4.QtGui.QMessageBox.critical (self, "Error", "System or SQLite 3 error in creating database")