X-Git-Url: https://harishankar.org/repos/?p=biaweb_qt.git;a=blobdiff_plain;f=main_window.py;h=bf223101d1426a150adb830ab9ab144e0806c517;hp=6f033d6af2cb88fd19500cc268dc41f5b3aa6f6b;hb=9321b80905bca48d49a6b12a4d463c268736b166;hpb=e897998f0634d3518f069846c62592fe43dc63bf diff --git a/main_window.py b/main_window.py index 6f033d6..bf22310 100644 --- a/main_window.py +++ b/main_window.py @@ -2,12 +2,15 @@ # Main Window class import PyQt4 +import sys + import ui_main_window import site_configuration_dialog as scd import category_dialog as catd import article_dialog as artd +import templates_dialog as tpld +import generate_dialog as gend import biaweb_db -import sys class MainWindow (PyQt4.QtGui.QMainWindow, ui_main_window.Ui_MainWindow): def __init__ (self): @@ -18,7 +21,9 @@ class MainWindow (PyQt4.QtGui.QMainWindow, ui_main_window.Ui_MainWindow): # refresh the category list def repopulate_categories (self): recs = biaweb_db.get_categories (self.current_db) - if not recs: + + # check with False because None is returned when no records exist + if recs == False: PyQt4.QtGui.QMessageBox.critical (self, "Error", "SQLite 3 error in getting the categories") return @@ -30,7 +35,9 @@ class MainWindow (PyQt4.QtGui.QMainWindow, ui_main_window.Ui_MainWindow): # refresh the articles list def repopulate_articles (self, catid=None): recs = biaweb_db.get_articles (self.current_db, catid) - if not recs: + + # check with False because None is returned when no records exist + if recs == False: PyQt4.QtGui.QMessageBox.critical (self, "Error", "SQLite 3 error in getting the articles") return @@ -172,7 +179,7 @@ class MainWindow (PyQt4.QtGui.QMainWindow, ui_main_window.Ui_MainWindow): catid = self.get_selected_item_id (self.categories) self.repopulate_articles (catid) - # when configuration menu is activated + # when configuration menu is triggered def onConfiguration (self): if self.current_db is None: PyQt4.QtGui.QMessageBox.critical (self, "Error", @@ -210,6 +217,15 @@ class MainWindow (PyQt4.QtGui.QMainWindow, ui_main_window.Ui_MainWindow): PyQt4.QtGui.QMessageBox.critical (self, "Error", "SQLite 3 error in updating configuration") + # when templates menu is triggered + def onTemplates (self): + if self.current_db is None: + PyQt4.QtGui.QMessageBox.critical (self, "Error", + "Cannot edit templates. You need to create or open a website first") + else: + tdlg = tpld.TemplatesDialog (self, self.current_db) + tdlg.exec_ () + # function to get the category or article ID from current selected item in a tree widget def get_selected_item_id (self, twidget): selitems = twidget.selectedItems () @@ -347,6 +363,16 @@ class MainWindow (PyQt4.QtGui.QMainWindow, ui_main_window.Ui_MainWindow): else: PyQt4.QtGui.QMessageBox.critical (self, "Error", "System or SQLite 3 error in creating database") + # when generate site menu is triggered + def onGenerateSite (self): + if self.current_db is None: + PyQt4.QtGui.QMessageBox.critical (self, "Error", + "Cannot generate site. You need to create or open a website first") + else: + # run the generate site dialog + gendlg = gend.GenerateDialog (self, self.current_db) + gendlg.exec_ () + # file quit is clicked def onFileQuit (self): sys.exit (0)