# class for main window
import PyQt4
+import sys
+
import biacv_mainwindow_ui as bui
import biacv_lang as lang
import biacv_data as data
+import biacv_exporter as exporter
class Biacv_mainwindow (PyQt4.QtGui.QMainWindow, bui.Ui_biacv_mainwindow):
def __init__ (self):
PyQt4.QtGui.QMainWindow.__init__ (self)
+ self.show ()
self.setupUi (self)
self.currentfile = None
self.ismodified = False
self.setWindowTitle ("BiaCV - untitled")
+ # on window closing
+ def closeEvent (self, event):
+ if self.ismodified is True:
+ ans = PyQt4.QtGui.QMessageBox.question (self, lang.CONFIRM, lang.CONFIRM_DISCARD_SAVE,
+ PyQt4.QtGui.QMessageBox.Yes, PyQt4.QtGui.QMessageBox.No)
+ # ignore event if not confirmed
+ if ans <> PyQt4.QtGui.QMessageBox.Yes:
+ event.ignore ()
+
+ # on help about dialog box
+ def on_help_about (self):
+ PyQt4.QtGui.QMessageBox.about (self, lang.ABOUT_TITLE, lang.ABOUT_TEXT)
+
+ # on file exit
+ def on_exit (self):
+ # call the close event
+ self.close()
+
+ # on file export - export current document to any external format based on
+ # a template
+ def on_file_export (self):
+ # get the template directory
+ templatedir = PyQt4.QtGui.QFileDialog.getExistingDirectory (self,
+ lang.OPEN_TEMPLATE_TITLE)
+ if templatedir == "":
+ return
+
+ # get the output file path
+ outputfile = PyQt4.QtGui.QFileDialog.getSaveFileName (self,
+ lang.EXPORT_TITLE)
+
+ if outputfile == "":
+ return
+
+ # create a new exporter object
+ exp = exporter.BiaCVExporter ()
+
+ # set the document data
+ exp.set_data (self.get_document_data ().data)
+
+ # set the template directory
+ exp.set_template_directory (unicode (templatedir.toUtf8(), "utf-8"))
+
+ # set the output file
+ exp.set_output (unicode (outputfile.toUtf8(), "utf-8"))
+
+ # carry out the export function
+ exp.export ()
+
# function to open a file
def on_file_open (self):
# if modified, confirm
# set the window title
self.setWindowTitle ("BiaCV - " + self.currentfile)
+ # function to save a file as a new document
+ def on_file_save_as (self):
+ savefilename = PyQt4.QtGui.QFileDialog.getSaveFileName (self,
+ lang.SAVE_TITLE)
+
+ # if save file name is not none
+ if savefilename <> "":
+ mydata = self.get_document_data ()
+ mydata.save_data (savefilename)
+ self.ismodified = False
+ self.currentfile = savefilename
+ self.setWindowTitle ("BiaCV - " + self.currentfile)
+
# function to save a file
def on_file_save (self):
# only save modified file
if savefilename <> "":
mydata = self.get_document_data ()
- mydata.save_data (self.currentfile)
+ mydata.save_data (savefilename)
self.ismodified = False
self.currentfile = savefilename
self.setWindowTitle ("BiaCV - " + self.currentfile)
unicode (self.area.text ().toUtf8 (), "utf-8"),
unicode (self.city.text ().toUtf8 (), "utf-8"),
unicode (self.areacode.text ().toUtf8 (), "utf-8"),
+ unicode (self.country.text ().toUtf8 (), "utf-8"),
unicode (self.countrycode_landline.text ().toUtf8 (), "utf-8"),
unicode (self.telephone.text ().toUtf8 (), "utf-8"),
unicode (self.countrycode_mobile.text ().toUtf8 (), "utf-8"),
self.mobilenumber.setText (docdata.data["mobile"])
self.email.setText (docdata.data["email"])
self.areacode.setText (docdata.data["areacode"])
+ self.country.setText (docdata.data["country"])
+
if docdata.data["maritalstatus"] is True:
self.married.setChecked (True)
elif docdata.data["maritalstatus"] is False:
PyQt4.QtGui.QMessageBox.critical (self, lang.ERROR_UPDATE, lang.ERROR_REQ_MISSING)
return
# if currently employed in that position, leaving date is to be disabled
- # and set to "current"
+ # and set to empty
if self.currentemployment.isChecked ():
- leavedatestr = "current"
+ leavedatestr = ""
else:
# if the leaving date is < join date
if self.leavedate.date () < self.joindate.date ():
PyQt4.QtGui.QMessageBox.critical (self, lang.ERROR_ADD, lang.ERROR_REQ_MISSING)
return
# if currently employed in that position, leaving date is to be disabled
- # and set to "current"
+ # and set to ""
if self.currentemployment.isChecked ():
- leavedatestr = "current"
+ leavedatestr = ""
else:
# if the leaving date is < join date
if self.leavedate.date () < self.joindate.date ():
selitem = selitems[0]
self.designation.setText (selitem.text (0))
self.joindate.setDate (PyQt4.QtCore.QDate.fromString (selitem.text(1), "dd MMM, yyyy"))
- if selitem.text (2) == "current":
+ if selitem.text (2) == "":
self.leavedate.setEnabled (False)
self.currentemployment.setChecked (True)
else: