code: def apply_changes(self):
          
          if self.is_modified:
              self.save_to_conf()
              if self.apply_callback is not None:
                  self.apply_callback()
  
              # Since the language cannot be retrieved by CONF and the language
              # is needed before loading CONF, this is an extra method needed to
              # ensure that when changes are applied, they are copied to a
              # specific file storing the language value. This only applies to
              # the main section config.
              if self.CONF_SECTION == u'main':
                  self._save_lang()
  
              for restart_option in self.restart_options:
                  if restart_option in self.changed_options:
                      self.prompt_restart_required()
                      break  # Ensure a single popup is displayed
              self.set_modified(False)
docs: Apply changes callback