File -> New action implemented
authorHarishankar <v.harishankar@gmail.com>
Sun, 4 Dec 2011 11:28:09 +0000 (16:58 +0530)
committerHarishankar <v.harishankar@gmail.com>
Sun, 4 Dec 2011 11:28:09 +0000 (16:58 +0530)
Implemented File -> New action.

biacv_lang.py
biacv_mainwindow.py
biacv_mainwindow.ui
biacv_mainwindow_ui.py

index d999189..5f85c28 100644 (file)
@@ -7,4 +7,5 @@ ERROR_DELETE = "Error deleting"
 ERROR_ADD = "Error adding"
 CONFIRM = "Confirm"
 CONFIRM_DELETE = "Are you sure you wish to delete the selected item?"
 ERROR_ADD = "Error adding"
 CONFIRM = "Confirm"
 CONFIRM_DELETE = "Are you sure you wish to delete the selected item?"
+CONFIRM_DISCARD_SAVE = "There are unsaved changes in current document. Do you wish to discard all changes?"
 ERROR_DATE = "There is a problem with the date range selected."
 ERROR_DATE = "There is a problem with the date range selected."
index 1bd6563..7d577da 100644 (file)
@@ -12,11 +12,90 @@ class Biacv_mainwindow (PyQt4.QtGui.QMainWindow, bui.Ui_biacv_mainwindow):
                self.currentfile = None
                self.ismodified = False
 
                self.currentfile = None
                self.ismodified = False
 
+       # function to reset personal information data in the GUI
+       def reset_personal_info (self):
+               self.nametitle.setEditText ("")
+               self.firstname.setText ("")
+               self.lastname.setText ("")
+               self.dateofbirth.setDate (PyQt4.QtCore.QDate (1970, 1, 1))
+               self.street.setText ("")
+               self.area.setText ("")
+               self.city.setText ("")
+               self.countrycode_landline.setText ("")
+               self.telephone.setText ("")
+               self.countrycode_mobile.setText ("")
+               self.mobilenumber.setText ("")
+               self.email.setText ("")
+               self.areacode.setText ("")
+               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 clear educational qualifications in the GUI
+       def reset_educational_qualifications (self):
+               self.reset_education_fields ()
+               self.educationlist.clear ()
+
+       # function to clear career objectives data in the GUI
+       def reset_career_objectives (self):
+               self.shorttermcareer.setPlainText ("")
+               self.longtermgoals.setPlainText ("")
+
+       # function to clear skill sets data in the GUI
+       def reset_skillsets_info (self):
+               self.reset_skillset_fields ()
+               self.skillslist.clear ()
+
+       # 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 clear all the fields and reset them to defaults
+       def new_document (self):
+               # first clear the individual record fields in the tabs
+               self.reset_language_fields ()
+               self.reset_skillset_fields ()
+
+               # clear document data
+               self.title.setText ("")
+
+               self.reset_personal_info ()
+               self.reset_professional_history ()
+               self.reset_educational_qualifications ()
+               self.reset_career_objectives ()
+               self.reset_skillsets_info ()
+               self.reset_additional_info ()
+
+               # set the page to first page
+               self.pages.setCurrentIndex (0)
+
+               # set current file to none and modified to false
+               self.currentfile = None
+               self.ismodified = False
+
+       # file new action is triggered
+       def on_file_new (self):
+               # if the previous document is modified
+               # as if it should be discarded
+               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 ans == PyQt4.QtGui.QMessageBox.Yes:
+                               self.new_document ()
+               # if not modified then simply create a new document
+               else:
+                       self.new_document ()
+
        # when the document is modified
        def on_document_modified (self):
                # set the document modified flag
                self.ismodified = True
        # when the document is modified
        def on_document_modified (self):
                # set the document modified flag
                self.ismodified = True
-               print "True"
 
        # update a language in the list of languages
        def on_update_lang (self):
 
        # update a language in the list of languages
        def on_update_lang (self):
index 13de132..844088e 100644 (file)
    <slot>on_add_lang()</slot>
    <hints>
     <hint type="sourcelabel">
    <slot>on_add_lang()</slot>
    <hints>
     <hint type="sourcelabel">
-     <x>547</x>
-     <y>155</y>
+     <x>468</x>
+     <y>132</y>
     </hint>
     <hint type="destinationlabel">
      <x>729</x>
     </hint>
     <hint type="destinationlabel">
      <x>729</x>
    <slot>on_delete_lang()</slot>
    <hints>
     <hint type="sourcelabel">
    <slot>on_delete_lang()</slot>
    <hints>
     <hint type="sourcelabel">
-     <x>716</x>
-     <y>155</y>
+     <x>656</x>
+     <y>132</y>
     </hint>
     <hint type="destinationlabel">
      <x>733</x>
     </hint>
     <hint type="destinationlabel">
      <x>733</x>
    <slot>on_select_lang()</slot>
    <hints>
     <hint type="sourcelabel">
    <slot>on_select_lang()</slot>
    <hints>
     <hint type="sourcelabel">
-     <x>112</x>
-     <y>189</y>
+     <x>94</x>
+     <y>160</y>
     </hint>
     <hint type="destinationlabel">
      <x>730</x>
     </hint>
     <hint type="destinationlabel">
      <x>730</x>
    <slot>on_select_lang()</slot>
    <hints>
     <hint type="sourcelabel">
    <slot>on_select_lang()</slot>
    <hints>
     <hint type="sourcelabel">
-     <x>112</x>
-     <y>189</y>
+     <x>94</x>
+     <y>160</y>
     </hint>
     <hint type="destinationlabel">
      <x>730</x>
     </hint>
     <hint type="destinationlabel">
      <x>730</x>
    <slot>on_update_lang()</slot>
    <hints>
     <hint type="sourcelabel">
    <slot>on_update_lang()</slot>
    <hints>
     <hint type="sourcelabel">
-     <x>644</x>
-     <y>155</y>
+     <x>591</x>
+     <y>132</y>
     </hint>
     <hint type="destinationlabel">
      <x>729</x>
     </hint>
     <hint type="destinationlabel">
      <x>729</x>
    <slot>on_document_modified()</slot>
    <hints>
     <hint type="sourcelabel">
    <slot>on_document_modified()</slot>
    <hints>
     <hint type="sourcelabel">
-     <x>98</x>
-     <y>177</y>
+     <x>99</x>
+     <y>101</y>
     </hint>
     <hint type="destinationlabel">
      <x>0</x>
     </hint>
     <hint type="destinationlabel">
      <x>0</x>
    <slot>on_document_modified()</slot>
    <hints>
     <hint type="sourcelabel">
    <slot>on_document_modified()</slot>
    <hints>
     <hint type="sourcelabel">
-     <x>82</x>
-     <y>350</y>
+     <x>86</x>
+     <y>297</y>
     </hint>
     <hint type="destinationlabel">
      <x>2</x>
     </hint>
     <hint type="destinationlabel">
      <x>2</x>
    <slot>on_document_modified()</slot>
    <hints>
     <hint type="sourcelabel">
    <slot>on_document_modified()</slot>
    <hints>
     <hint type="sourcelabel">
-     <x>86</x>
-     <y>375</y>
+     <x>90</x>
+     <y>333</y>
     </hint>
     <hint type="destinationlabel">
      <x>1</x>
     </hint>
     <hint type="destinationlabel">
      <x>1</x>
     </hint>
    </hints>
   </connection>
     </hint>
    </hints>
   </connection>
+  <connection>
+   <sender>action_New</sender>
+   <signal>triggered()</signal>
+   <receiver>biacv_mainwindow</receiver>
+   <slot>on_file_new()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>-1</x>
+     <y>-1</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>364</x>
+     <y>248</y>
+    </hint>
+   </hints>
+  </connection>
  </connections>
  <slots>
   <slot>on_add_education()</slot>
  </connections>
  <slots>
   <slot>on_add_education()</slot>
   <slot>on_select_lang()</slot>
   <slot>on_update_lang()</slot>
   <slot>on_document_modified()</slot>
   <slot>on_select_lang()</slot>
   <slot>on_update_lang()</slot>
   <slot>on_document_modified()</slot>
+  <slot>on_file_new()</slot>
  </slots>
 </ui>
  </slots>
 </ui>
index 0ae8372..0d88db2 100644 (file)
@@ -2,7 +2,7 @@
 
 # Form implementation generated from reading ui file 'biacv_mainwindow.ui'
 #
 
 # Form implementation generated from reading ui file 'biacv_mainwindow.ui'
 #
-# Created: Sun Dec  4 14:23:51 2011
+# Created: Sun Dec  4 16:35:10 2011
 #      by: PyQt4 UI code generator 4.8.6
 #
 # WARNING! All changes made in this file will be lost!
 #      by: PyQt4 UI code generator 4.8.6
 #
 # WARNING! All changes made in this file will be lost!
@@ -604,6 +604,7 @@ class Ui_biacv_mainwindow(object):
         QtCore.QObject.connect(self.shorttermcareer, QtCore.SIGNAL(_fromUtf8("textChanged()")), biacv_mainwindow.on_document_modified)
         QtCore.QObject.connect(self.longtermgoals, QtCore.SIGNAL(_fromUtf8("textChanged()")), biacv_mainwindow.on_document_modified)
         QtCore.QObject.connect(self.additionalinformation, QtCore.SIGNAL(_fromUtf8("textChanged()")), biacv_mainwindow.on_document_modified)
         QtCore.QObject.connect(self.shorttermcareer, QtCore.SIGNAL(_fromUtf8("textChanged()")), biacv_mainwindow.on_document_modified)
         QtCore.QObject.connect(self.longtermgoals, QtCore.SIGNAL(_fromUtf8("textChanged()")), biacv_mainwindow.on_document_modified)
         QtCore.QObject.connect(self.additionalinformation, QtCore.SIGNAL(_fromUtf8("textChanged()")), biacv_mainwindow.on_document_modified)
+        QtCore.QObject.connect(self.action_New, QtCore.SIGNAL(_fromUtf8("triggered()")), biacv_mainwindow.on_file_new)
         QtCore.QMetaObject.connectSlotsByName(biacv_mainwindow)
 
     def retranslateUi(self, biacv_mainwindow):
         QtCore.QMetaObject.connectSlotsByName(biacv_mainwindow)
 
     def retranslateUi(self, biacv_mainwindow):