code: def save_state(self):
          
          # Save boolean settings
          for key, check_box in list(self.boolean_settings.items()):
              self.save_boolean_setting(key, check_box)
          # Save text settings
          for key, line_edit in list(self.text_settings.items()):
              self.save_text_setting(key, line_edit)
  
          set_setting(
              'north_arrow_path', self.leNorthArrowPath.text(), self.settings)
          set_setting(
              'organisation_logo_path',
              self.organisation_logo_path_line_edit.text(),
              self.settings)
          set_setting(
              'reportTemplatePath',
              self.leReportTemplatePath.text(),
              self.settings)
          set_setting(
              'reportDisclaimer',
              self.txtDisclaimer.toPlainText(),
              self.settings)
          set_setting(
              'defaultUserDirectory',
              self.leUserDirectoryPath.text(),
              self.settings)
          index = self.earthquake_function.currentIndex()
          value = self.earthquake_function.itemData(index)
          set_setting('earthquake_function', value, qsettings=self.settings)
  
          currency_index = self.currency_combo_box.currentIndex()
          currency_key = self.currency_combo_box.itemData(currency_index)
          set_setting('currency', currency_key, qsettings=self.settings)
  
          # Save InaSAFE default values
          self.save_default_values()
  
          # Save population parameters
          self.save_population_parameters()
docs: Store the options into the user's stored session info.