X-Git-Url: https://harishankar.org/repos/?a=blobdiff_plain;f=main_window.py;h=5902fbccbc3a362a29036331131c68ca4c4ecb72;hb=c7e7a2cb5b87c9e8cbf63931b1d38021081cfafe;hp=d19186605a83a3726fc4c2e01a18d6d0ae8ea746;hpb=16ae2cf83fb95a5d87220d3f06608c8560afe5a6;p=biaweb_qt.git diff --git a/main_window.py b/main_window.py index d191866..5902fbc 100644 --- a/main_window.py +++ b/main_window.py @@ -4,16 +4,63 @@ import PyQt4 import ui_main_window import site_configuration_dialog as scd +import category_dialog as catd +import biaweb_db import sys class MainWindow (PyQt4.QtGui.QMainWindow, ui_main_window.Ui_MainWindow): def __init__ (self): PyQt4.QtGui.QMainWindow.__init__ (self) self.setupUi (self) + self.current_db = None + # category add action + def onCategoryAdd (self): + # if there is no database + if self.current_db == None: + PyQt4.QtGui.QMessageBox.critical (self, "Error", + "Cannot add category. You need to create or open a website first.") + else: + # show the category add dialog + dlg = catd.CategoryDialog (self) + # if OK button is pressed + if dlg.exec_ () == PyQt4.QtGui.QDialog.Accepted: + cat_name = str (dlg.category_name.text ()).strip () + cat_desc = str (dlg.category_desc.text ()).strip () + cat_stub = str (dlg.category_stub.text ()).strip () + 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") + else: + PyQt4.QtGui.QMessageBox.critical (self, "Error", "SQLite 3 error in creating category") + + # file new menu is clicked def onFileNew (self): + # show the site configuration dialog to get the new site details dlg = scd.SiteConfigDialog (self) - dlg.exec_ () + # if OK button is pressed + if dlg.exec_ () == PyQt4.QtGui.QDialog.Accepted: + site_title = str (dlg.site_title.text ()).strip () + site_url = str (dlg.site_url.text ()).strip () + keywords = str (dlg.keywords.text ()).strip () + destination = str (dlg.destination.text ()).strip () + description = str (dlg.description.toPlainText ()).strip () + num_rss = dlg.num_rss_items.value () + copyright = str (dlg.copyright.text ()).strip () + + savefilename = PyQt4.QtGui.QFileDialog.getSaveFileName (self, "Save site database to") + + if savefilename: + self.current_db = str (savefilename) + self.setWindowTitle ("BiaWeb - " + self.current_db) + flag = biaweb_db.create_db (self.current_db, site_title, site_url, keywords, description, + copyright, num_rss, destination) + if flag == True: + PyQt4.QtGui.QMessageBox.information (self, "Success", + "New site db successfully created") + else: + PyQt4.QtGui.QMessageBox.critical (self, "Error", "System or SQLite 3 error in creating database") + # file quit is clicked def onFileQuit (self): sys.exit (0)