self.setupUi (self)
self.currentfile = None
self.ismodified = False
+ self.setWindowTitle ("BiaCV - untitled")
+
+ # function to open a file
+ def on_file_open (self):
+ # if modified, confirm
+ 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)
+ # if no, then don't open the file
+ if ans <> PyQt4.QtGui.QMessageBox.Yes:
+ return
+
+ # open file dialog
+ openfilename = PyQt4.QtGui.QFileDialog.getOpenFileName (self, lang.OPEN_TITLE)
+ # if no open file name then return
+ if openfilename == "":
+ return
+
+ # load the document data from open file name
+ docdata = data.BiaCVData ()
+ docdata.load_data (openfilename)
+
+ # set the title
+ self.title.setText (docdata.data["title"])
+
+ # set the personal information fields from document data
+ self.set_personal_info (docdata)
+
+ # set the educational qualifications
+ self.set_educational_qualifications (docdata)
+
+ # set the professional history
+ self.set_professional_history (docdata)
+
+ # set the career objectives
+ self.set_career_objectives (docdata)
+
+ # set the skills list
+ self.set_skillsets_info (docdata)
+
+ # set the additional information
+ self.set_additional_info (docdata)
+
+ # set the current document
+ self.currentfile = openfilename
+ self.ismodified = False
+
+ # set the window title
+ self.setWindowTitle ("BiaCV - " + self.currentfile)
# function to save a file
def on_file_save (self):
# if no current file get file name from file save dialog
if self.currentfile is None:
- self.currentfile = PyQt4.QtGui.QFileDialog.getSaveFileName (self,
+ savefilename = PyQt4.QtGui.QFileDialog.getSaveFileName (self,
lang.SAVE_TITLE)
- if self.currentfile <> "":
+ if savefilename <> "":
mydata = self.get_document_data ()
mydata.save_data (self.currentfile)
self.ismodified = False
- else:
- self.currentfile = None
+ self.currentfile = savefilename
+ self.setWindowTitle ("BiaCV - " + self.currentfile)
else:
mydata = self.get_document_data ()
mydata.save_data (self.currentfile)
self.areacode.setText ("")
self.unspecified.setChecked (True)
+ # function to set personal information data in the GUI from document data
+ def set_personal_info (self, docdata):
+ self.nametitle.setEditText (docdata.data["nametitle"])
+ self.firstname.setText (docdata.data["firstname"])
+ self.lastname.setText (docdata.data["lastname"])
+ self.dateofbirth.setDate (PyQt4.QtCore.QDate.fromString (docdata.data["dateofbirth"], "dd MMM, yyyy"))
+ self.street.setText (docdata.data["street"])
+ self.area.setText (docdata.data["area"])
+ self.city.setText (docdata.data["city"])
+ self.countrycode_landline.setText (docdata.data["countrycode_landline"])
+ self.telephone.setText (docdata.data["landline"])
+ self.countrycode_mobile.setText (docdata.data["countrycode_mobile"])
+ self.mobilenumber.setText (docdata.data["mobile"])
+ self.email.setText (docdata.data["email"])
+ self.areacode.setText (docdata.data["areacode"])
+ if docdata.data["maritalstatus"] is True:
+ self.married.setChecked (True)
+ elif docdata.data["maritalstatus"] is False:
+ self.single.setChecked (True)
+ else:
+ self.unspecified.setChecked (True)
+
# function to clear professional history in the GUI
def reset_professional_history (self):
self.reset_profession_fields ()
self.professionlist.clear ()
+ # function to set the professional history in the GUI from the document data
+ def set_professional_history (self, docdata):
+ # reset the professional history
+ self.reset_professional_history ()
+
+ # add the professional history items to list
+ for item in docdata.data["professionalhistory"]:
+ professionitem = PyQt4.QtGui.QTreeWidgetItem (
+ [
+ item["jobtitle"],
+ item["joindate"],
+ item["leavedate"],
+ item["organization"],
+ item["additionalinfo"]
+ ]
+ )
+ self.professionlist.addTopLevelItem (professionitem)
+
# function to clear educational qualifications in the GUI
def reset_educational_qualifications (self):
self.reset_education_fields ()
self.educationlist.clear ()
+ # function to set education qualifications in the GUI from document data
+ def set_educational_qualifications (self, docdata):
+ # reset the educational qualifications
+ self.reset_educational_qualifications ()
+
+ # add education items to list
+ for item in docdata.data["educationalqualifications"]:
+ educationitem = PyQt4.QtGui.QTreeWidgetItem (
+ [
+ item["degree"],
+ item["graduation"],
+ item["institution"],
+ item["university"],
+ item["grade"],
+ str (item["percentage"])
+ ]
+ )
+ self.educationlist.addTopLevelItem (educationitem)
+
# function to clear career objectives data in the GUI
def reset_career_objectives (self):
self.shorttermcareer.setPlainText ("")
self.longtermgoals.setPlainText ("")
+ # function to set career objectives data in the GUI from document data
+ def set_career_objectives (self, docdata):
+ self.shorttermcareer.setPlainText (u'\n'.join (docdata.data["shorttermobjectives"]))
+ self.longtermgoals.setPlainText (u'\n'.join (docdata.data["longtermgoals"]))
+
# function to clear skill sets data in the GUI
def reset_skillsets_info (self):
self.reset_skillset_fields ()
self.skillslist.clear ()
+ # function to set the skill sets data in the GUI from document data
+ def set_skillsets_info (self, docdata):
+ # clear the skill sets information
+ self.reset_skillsets_info ()
+
+ for item in docdata.data["skillsets"]:
+ skillitem = PyQt4.QtGui.QTreeWidgetItem (
+ [
+ item["skilltitle"],
+ item["skilldesc"]
+ ]
+ )
+ self.skillslist.addTopLevelItem (skillitem)
+
+
# function to clear additional information data in the GUI
def reset_additional_info (self):
self.reset_language_fields ()
self.languageslist.clear ()
self.additionalinformation.setPlainText ("")
+ # function to set additional information data in the GUI from the document data
+ def set_additional_info (self, docdata):
+ # clear the additional information
+ self.reset_additional_info ()
+
+ # set the languages list
+ for item in docdata.data["languagesknown"]:
+ langitem = PyQt4.QtGui.QTreeWidgetItem (
+ [
+ item["language"],
+ str (item["canspeak"]),
+ str (item["canreadwrite"]),
+ str (item["isproficient"])
+ ]
+ )
+ self.languageslist.addTopLevelItem (langitem)
+
+ self.additionalinformation.setPlainText (docdata.data["additionalinformation"])
+
# function to clear all the fields and reset them to defaults
def new_document (self):
# first clear the individual record fields in the tabs
self.currentfile = None
self.ismodified = False
+ # set the window title
+ self.setWindowTitle ("BiaCV - untitled")
+
# file new action is triggered
def on_file_new (self):
# if the previous document is modified